Commit Graph

393 Commits (48cd10cd0c70d3396da8be01d3d8006be4874881)

Author SHA1 Message Date
Scott Dodge 4c6f8c54c1 Add emoji prop change check to Emoji component 2017-01-17 23:58:43 -06:00
Etienne Lemay 7e2adc60a2 Merge pull request #29 from savardc/master
Fix issue with operator in skin tone logic
2017-01-16 16:42:47 -05:00
Trevor Rundell c3aae4fb04 wrap localStorage access in try-catch
Many browsers may support localStorage, but disable access to it in certain situations. For example, Safari private browsing mode will raise an exception if you try to access localStorage from a third-party domain, resulting in unhandled errors like...

> QuotaExceededError: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota.

The easiest way to handle this for optional features is to simply try-catch all access to localStorage.
2017-01-15 10:52:54 -05:00
Christian Savard 0db181e301 Fix issue with operator in skin tone logic 2016-12-12 21:33:06 -05:00
Etienne Lemay 672a6a4dfc 💄 2016-12-07 20:57:42 -05:00
Etienne Lemay 0295f673b1 Merge pull request #27 from anri-asaturov/master
Allow custom namespace for store
2016-12-07 20:56:43 -05:00
Christian Savard 771b1e48f3 Use children passed through props 2016-12-07 15:04:39 -05:00
Anri Asaturov b3752574b2 Allow custom namespace for store 2016-12-07 01:23:35 +02:00
Etienne Lemay 462ba0cd26 Use dynamic version of emoji-datasource for the default sheet URL 2016-11-30 20:59:56 -05:00
Etienne Lemay 0d39e10a71 Don’t check for backgroundImageFn change in Category#shouldComponentUpdate
If the Fn is an anonymous function, it would always re-render the categories even when no other props change.
2016-11-30 20:31:02 -05:00
Marco Munizaga a4be90aa6e Add backgroundImageFn to allow local image sheets 2016-11-30 15:16:47 -08:00
Etienne Lemay dad72bc0fb Add `native` prop to Emoji 2016-11-01 11:54:25 -04:00
Etienne Lemay f3c1e94213 Export `unifiedToNative` utils 2016-11-01 11:51:55 -04:00
Etienne Lemay c4604741d9 Support :colons: syntax
i.e. 👍, 👍:skin-tone-3:
2016-11-01 11:51:19 -04:00
Etienne Lemay 1dfa58239f 💄 2016-10-26 23:27:55 -04:00
Etienne Lemay 4bc68419b2 Add i18n prop to Picker [Close #20] 2016-10-26 23:23:49 -04:00
Etienne Lemay 86ac1d4ac8 Add sheetSize prop to Picker & Emoji [Close #18] 2016-10-26 21:47:21 -04:00
Etienne Lemay afe882560e Set Emoji.propTypes.skin as an enum 2016-10-26 21:11:29 -04:00
Etienne Lemay ecc086260a Set Emoji.propTypes.set as an enum 2016-10-26 20:59:21 -04:00
Etienne Lemay 4f2b204c0e Remove “sheetURL” props & add “set” props
- Use sheets from emoji-data repo (from a CDN)
- Easier to setup/use
- Remove sheets from the repo
2016-10-18 21:21:56 -04:00
Etienne Lemay 35a992118a Use hasOwnProperty to detect if emoji exists
Fixes a bug in Firefox where “watch” emoji would throw because apparently `_emojiData = data.emojis['watch']` returns a function instead of the value of the watch key
2016-10-18 19:00:51 -04:00
Etienne Lemay 996c46cd9c Also split search terms at “-” & “_”
Like we do when building the search string in `build-data.js`
2016-10-14 15:56:17 -04:00
Etienne Lemay 44f9914b25 Handle “-1” search 2016-10-14 15:43:18 -04:00
Etienne Lemay dc93357137 Fix “Recent” category showing up when clicking an emoji for the first time while searching 2016-10-13 21:38:24 -04:00
Etienne Lemay 2aece93395 Support all short_names when getting emoji data [Fix #15] 2016-10-13 16:19:46 -04:00
Etienne Lemay 8f64b3c7d1 Handle unknown emojis [Fix #14] 2016-10-12 20:26:10 -04:00
Etienne Lemay 903395e31f 💄 2016-10-03 21:16:35 -04:00
Etienne Lemay f31a359f78 Add support for server-side rendering [Fix #7] 2016-10-03 21:16:20 -04:00
Etienne Lemay 7028383509 Update webpack React externals [Fix #11, Fix #8] 2016-09-29 21:02:05 -04:00
Etienne Lemay 9648c7d8e2 🏬 Emoji Mart™ 2016-07-27 11:35:12 -04:00
Etienne Lemay f7fd6e7d05 Sort search results by score [Close #1] 2016-07-26 15:31:27 -04:00
Etienne Lemay 2b734d8ef6 Export frequently util 2016-07-26 14:53:53 -04:00
Etienne Lemay 65f046b5f3 Force “-” search to only return “-1” emoji 2016-07-22 16:29:05 -04:00
Etienne Lemay 5721f5f694 Support searching for multiple (2) terms 2016-07-22 16:05:14 -04:00
Etienne Lemay 7e9835dd80 utils#intersect 2016-07-22 16:04:30 -04:00
Etienne Lemay be1e6705c3 Use custom search index instead of lunr
Builds the index as the user search
Supports substring search
2016-07-22 14:32:11 -04:00
Etienne Lemay 8da2aa3744 Remove unused fields from data 2016-07-22 12:23:47 -04:00
Etienne Lemay 2d3f789079 Make anchors color customizable 2016-07-21 15:33:18 -04:00
Etienne Lemay 4006308614 Pass native event to mouse handlers 2016-07-21 15:10:33 -04:00
Etienne Lemay c1c604e8f1 Export sanitized list of emojis in emoji-index 2016-07-20 14:50:44 -04:00
Etienne Lemay 0ebd5c4a5e Fix circular dependencies 2016-07-20 14:50:44 -04:00
Etienne Lemay 1f5c8dd885 Don’t fallback to `skin: 1` for emojis without skin variations 2016-07-20 14:50:44 -04:00
Etienne Lemay 813f61c3d4 Expose store 2016-07-20 14:50:44 -04:00
Etienne Lemay e15e5e5bd8 Export emoticons list as an object with emoji id 2016-07-20 14:50:44 -04:00
Etienne Lemay a51626ae79 Move some reusable logic into utils 2016-07-20 14:50:44 -04:00
Etienne Lemay ae8dfb4e60 Fix search results when rendering emojis from object 2016-07-18 15:14:46 -04:00
Etienne Lemay b07e598a8a Return emoji object in search results 2016-07-18 15:13:23 -04:00
Etienne Lemay 87d3228d0d Clear search results when unmounting Picker 2016-07-18 14:42:21 -04:00
Etienne Lemay c3dca431ef Build and expose a list of all emoticons in emoji-index 2016-07-18 14:33:06 -04:00
Etienne Lemay 2d05276dc4 Fix tokenization of +1/-1 emojis 2016-07-18 14:23:28 -04:00
Etienne Lemay b0893c39be Make picker’s title and emoji customizable 2016-07-15 12:50:06 -04:00
Etienne Lemay 2feae02477 Do not use deprecated `isMounted` 2016-07-15 12:31:22 -04:00
Etienne Lemay 9eb8f0b6ac Only render first 3 categories on first render 2016-07-15 12:24:50 -04:00
Etienne Lemay f843ad5776 Use <div> instead of <span> w/ <br> 2016-07-12 16:52:18 -04:00
Etienne Lemay d9f5cd3101 Fix external React lib name 2016-07-11 15:21:13 -04:00
Etienne Lemay 820bb3d966 Do not generate .map files 2016-07-11 15:04:58 -04:00
Etienne Lemay 12878d7d92 Expose emojiIndex 2016-07-11 14:21:44 -04:00
Etienne Lemay 042c381d3e Support inline picker style 2016-07-11 14:08:41 -04:00
Etienne Lemay 5ebf4464ea Move search index logic out of search component 2016-07-11 11:28:44 -04:00
Etienne Lemay 510d4b30fd Add maxResults to Search component 2016-07-08 17:05:26 -04:00
Etienne Lemay dba6d60a08 Completely hide categories with no emojis 2016-07-08 17:03:41 -04:00
Etienne Lemay 1a3f2525b9 Clear search results when clicking a category anchor 2016-07-08 16:28:43 -04:00
Etienne Lemay 47f2341f53 Refactor search 2016-07-08 14:48:24 -04:00
Etienne Lemay 49ec3b9efe Normalize emoticons when building data 2016-07-07 17:22:40 -04:00
Etienne Lemay 9e57de33ce Add emoticons to search index 2016-07-07 17:12:45 -04:00
Etienne Lemay 573ef818f5 List emoticons in emoji preview
Ignore when same but lowercase/uppercase
2016-07-07 17:05:37 -04:00
Etienne Lemay 19eea428b8 Manually tokenize search terms and emoji indexes 2016-07-07 17:05:15 -04:00
Etienne Lemay 6237fb7fac Use category labels based on Apple’s 2016-07-07 14:43:01 -04:00
Etienne Lemay de98e7a729 Add emojis to recent category on click 2016-07-07 14:33:53 -04:00
Etienne Lemay a922dbb8c5 Add frequently utils
Store and returns frequently used emojis.
If not already in the frequently used, last used emoji will always be added to the array.
2016-07-07 14:33:53 -04:00
Etienne Lemay 75535b7a30 Store skin and use as default
Never use `props.skin` once skin is stored
2016-07-07 14:33:53 -04:00
Etienne Lemay 8a022b69fa Add store utils 2016-07-07 14:33:53 -04:00
Etienne Lemay 122afc07ce Move raf-polyfill into src/vendor 2016-07-06 15:47:39 -04:00
Etienne Lemay f202a0282e Simplify emojis `background-size` and `background-position` 2016-07-06 11:25:13 -04:00
Etienne Lemay f8165922b5 Add skin picker 2016-06-08 20:22:29 -04:00
Etienne Lemay 5b250ce1db Scroll to category on anchor click 2016-06-02 14:58:19 -04:00
Etienne Lemay 9d10aa635b Add index.js to folders 2016-06-02 13:21:31 -04:00
Etienne Lemay bb70daf89a Add categories anchors 2016-06-02 11:30:30 -04:00
Etienne Lemay d9ec7c0352 Add categories SVGs
EmojiOne SVGs cleaned up with SVGO cli tool
2016-06-02 11:30:29 -04:00
Etienne Lemay 05857bc8d5 💄 2016-06-01 15:26:19 -04:00
Etienne Lemay 49b8c2d6be DRY preview/title 2016-06-01 15:25:45 -04:00
Etienne Lemay ecd2eb5e74 Add “No emoji found” to empty search results 2016-06-01 11:38:11 -04:00
Etienne Lemay 4964d642cf Update preview default state 2016-06-01 11:05:19 -04:00
Etienne Lemay 030251f2dc Format emoji data on click 2016-06-01 11:01:59 -04:00
Etienne Lemay 035653cbca Add skin support to picker 2016-06-01 10:09:15 -04:00
Etienne Lemay e23d5ce53e <Emoji /> can either receive an emoji object or short_name 2016-06-01 10:09:15 -04:00
Etienne Lemay 9f99155031 Update Picker default emojiSize 2016-06-01 10:09:15 -04:00
Etienne Lemay a14ee48c6d Reset preview when not hovering emojis anymore 2016-06-01 10:09:14 -04:00
Etienne Lemay fed3733eb4 💄 2016-06-01 10:09:14 -04:00
Etienne Lemay 895a31fecd Force picker width in px 2016-06-01 10:09:13 -04:00
Etienne Lemay c3f1c6c661 Implement search 2016-06-01 10:09:11 -04:00
Etienne Lemay 21bb9eb63e Sticky categories label 2016-06-01 10:08:39 -04:00
Etienne Lemay e108b00768 Initial commit 2016-06-01 10:07:23 -04:00