Commit Graph

90 Commits (637e456a1f2d280b46e3313f03dd91025bc0edfe)

Author SHA1 Message Date
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
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