Commit Graph

300 Commits (e2694b544b7711d06e8b4d9e00f2501cea1ce44a)

Author SHA1 Message Date
Etienne Lemay d2e37cad6d Functional Emoji component 2017-05-27 11:15:51 -04:00
Etienne Lemay 92985ecf29 Merge branch 'master' into emoji4 2017-05-27 11:03:41 -04:00
Etienne Lemay a4d0b6b410 Use emoji-datasource subpackages for sheets 2017-05-27 10:54:55 -04:00
Etienne Lemay b2d9311c87 Fix getting `skin_variations` data 2017-05-27 10:54:34 -04:00
Etienne Lemay 4a42680380 Merge branch 'master' into updateReact 2017-05-27 10:37:54 -04:00
Jakob Krigovsky 346e398d6e Guard sanitize() against undefined `short_names`
This is important when hovering over a custom emoji while searching.
2017-05-26 12:34:07 +02:00
Jakob Krigovsky 153998ca2c Add icon for custom category 2017-05-26 12:34:07 +02:00
Jakob Krigovsky 2fdd9fee34 Pass custom emojis to EmojiPicker#search 2017-05-26 12:34:07 +02:00
Jakob Krigovsky e10a779150 Add support for custom emojis to EmojiIndex#search 2017-05-26 12:34:07 +02:00
Jakob Krigovsky 289fc0ffc0 Pass custom emoji data directly to <Preview />
<Preview /> calls getData() itself which will fail for custom emojis because there is no universally available data source for custom emojis. To work around this, we pass the custom emoji data (which <Picker /> received via the `custom` prop) directly to <Preview />.
2017-05-26 12:12:59 +02:00
Jakob Krigovsky d237edc268 Add support for custom emojis to <Picker /> 2017-05-26 12:12:13 +02:00
Jakob Krigovsky d181379480 Add support for custom emojis to <Emoji /> 2017-05-26 12:06:28 +02:00
Jakob Krigovsky a28f04326a Add support for custom emojis to sanitize() 2017-05-26 12:06:28 +02:00
Jakob Krigovsky 2f7d6eb0d8 Guard buildSearch() against undefined properties
This is important if custom emojis don’t specify any emoticons, for example.
2017-05-26 09:43:11 +02:00
Sam Kelleher 95be21383d
Allow the fallback emoji to be optional, will display nothing. 2017-05-25 18:27:30 +01:00
Jakob Krigovsky 15c7b27ba9 Add support for custom emojis to getData() 2017-05-24 18:37:16 +02:00
Jakob Krigovsky d9c0139d73 Split out generation of search property 2017-05-24 18:34:10 +02:00
Christian Savard 52359b2688 Update react and remove react-addons-test-utils 2017-05-17 16:56:24 -04:00
Christian Savard 3373997cd6 Revert default sheetSize to 64px 2017-05-17 16:33:43 -04:00
Christian Savard 946737cc97 Merge branch 'master' into emoji4 2017-05-17 14:57:39 -04:00
Christian Savard 496ce3ee85 Update to latest emoji-datasource 2017-05-09 11:06:18 -04:00
nsarafa ed5a6f1777 update components from React.PropTypes to PropTypes package to avoid
warning message
2017-05-04 21:38:03 -04:00
Etienne Lemay 46cf7542c3 Update default frequently used 2017-04-24 04:28:39 +02:00
Justin 956fb94656 Add default frequently used defaults (closes #63) 2017-04-19 14:30:56 +01:00
Etienne Lemay f07c0c0638 Update “No Emoji Found” layout 2017-04-18 11:20:17 -04:00
Etienne Lemay b1d5c70bd2 Remove “No emoji found” hover [Close #59] 2017-04-18 11:07:43 -04:00
Etienne Lemay ebd3c6f6f0 Handle include/exclude in search results 2017-04-18 11:00:20 -04:00
Etienne Lemay 6a3b05d85e Slice search results only when necessary 2017-04-18 10:29:02 -04:00
Etienne Lemay 4a9497df0e Don’t call useless `emojisToShowFilter` when undefined 2017-04-18 10:22:32 -04:00
Etienne Lemay 046d489d7f Add “No emoji found” to i18n [Close #52] 2017-04-18 09:50:38 -04:00
Etienne Lemay c1bd9ea52c Support including/excluding the recent category 2017-04-08 09:08:42 -04:00
Etienne Lemay 81badd784f Sort categories by `include` props when defined 2017-04-07 16:54:07 -04:00
Etienne Lemay 4926b7bd43 💄 2017-04-04 12:00:32 -04:00
Etienne Lemay bb538ff9a3 Use lowercase category names in include/exclude [Ref #53] 2017-04-04 11:56:08 -04:00
Etienne Lemay 23cd1ea550 Fix specs since 83b1c02 2017-04-04 11:54:14 -04:00
Vincent Taverna a4419720e8 add prop to autofocus search input 2017-04-04 11:07:48 -04:00
Mads Hargreave 5602d3a3e4 Added `include` and `exclude` props to filter emoji categories 2017-04-01 16:02:55 +07:00
Etienne Lemay 83b1c02897 Include unified in sanitized data [Close #51] 2017-03-17 09:02:53 -04:00
Etienne Lemay 2de83100a0 Delete empty arrays from data file 2017-03-10 12:11:05 -05:00
Etienne Lemay f5ae64d07c Use variations at runtime instead of overriding data
Fixes a bug for emojis having both variations and skin variations
2017-02-17 12:50:20 -05:00
Etienne Lemay 1f88be1e8b Handle native change in shouldComponentUpdate 2017-02-17 10:48:57 -05:00
Etienne Lemay fc14f939c1 Fix native emojis size 2017-02-17 10:36:50 -05:00
Etienne Lemay d8f094e455 Rename “displayNative” => “native” for consistency w/ Emoji props 2017-02-17 10:13:59 -05:00
Thomas Osugi 6c2d1e4bf1 Honor perLine with for real
Signed-off-by: Chad Wagner <cwagner@pivotal.io>
2017-02-17 10:10:55 -05:00
Thomas Osugi 8e6c393ab7 [#138343455] Allow picker to display emoji natively rather than from spritesheet
Signed-off-by: Eric Dattore <edattore@pivotal.io>
2017-02-17 10:09:25 -05:00
Etienne Lemay 5c27f17154 Uncomment PR #43 specs 2017-02-17 09:47:14 -05:00
Etienne Lemay 82da9f2c7c Merge pull request #44 from pivotaltracker/add-testing-framework
Add karma/jasmine + tests for emoji-index and picker
2017-02-17 06:41:55 -08:00
Etienne Lemay a957fe196e Merge pull request #45 from smeijer/patch-1
allow style overrides from user
2017-02-17 06:40:40 -08:00
Etienne Lemay 3a554449f5 Merge pull request #46 from pivotaltracker/fix-ie-categories
Fix categories on IE11
2017-02-17 06:40:31 -08:00
Eric Dattore d3c1ab0828 [#139977619] fix regression in search with emoji mart picker 2017-02-16 10:09:10 -07:00
Eric Dattore 07b7bc2c50 [#138880131] fix issue with ie11 picker categories after searching
Signed-off-by: Devin Brown <debrown@pivotal.io>
2017-02-15 15:37:27 -07:00
Stephan Meijer ca27f3af06 allow style overrides from user
Change order of object merge, so the width can be overridden to for example '100%'
2017-02-04 12:00:22 +01:00
Thomas Osugi b9cb654761 Add karma/jasmine + tests for emoji-index and picker 2017-02-02 11:52:07 -07:00
Devin Brown 1a6e0e0fd3 add emojisToShow filter
Signed-off-by: Thomas Osugi <tosugi@pivotal.io>
2017-02-02 10:44:36 -07:00
Etienne Lemay 626d5b1ab4 Merge pull request #41 from pivotaltracker/preserve-svg-height-width
Preserve height and width on svgs
2017-01-27 06:16:08 -08:00
Thomas Osugi 9aab00c702 Preserve height and width on svgs
Signed-off-by: Eric Dattore <edattore@pivotal.io>
2017-01-26 17:18:14 -07:00
Frugality e8b6e27d33 Category: export from index.js 2017-01-24 16:58:18 -08:00
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