Commit Graph

363 Commits (nolan/dark-mode-rebased)

Author SHA1 Message Date
Rena Ryumae 31cc0ab215 Customizable Category Icons
Currently, the default emoji-mart
category icons cannot be changed.

We propose creating a categories
object that uses the emoji-mart
category icons on default but
otherwise uses custom imgs/svgs
passed in by the user
2018-07-31 11:09:38 -04:00
Etienne Lemay 767b2fdcc6
Merge pull request #206 from Rena-Ryumae/rena/customnotfound
Not Found Component for emoji search
2018-07-30 17:11:44 -04:00
Etienne Lemay 4bb41b9796
Add notFoundEmoji props to Picker 2018-07-30 17:06:23 -04:00
Etienne Lemay 3dc3e2fd95
Don’t apply `emoji-mart-no-results` class when using custom notFound component 2018-07-30 16:52:15 -04:00
Rena Ryumae 8e6d363d8b Not Found Component for emoji search
If a user's search returns no results,
the sleuth_or_spy emoji appears. We would
instead like for a custom image to appear.

We propose creating a NotFound component
that uses the the sleuth_or_spy emoji
on default when a user's search returns
no results but otherwise uses what the
user passes through
2018-07-13 13:58:17 -04:00
Rena Ryumae 5e03ee3e16 Adding search icon in search input field
Currently, there is no visual indication
for when the user is searching for an
emoji nor is there an easy way to clear
the input field after the user's search

Our change proposes to add a small magnifying
glass icon to the right hand side of the
search input bar which becomes an x delete
icon when the user types in the search input
bar.

The x delete icon is tabbable and will clear
the search input field with the return (enter)
key, spacebar, and mouse click. The
magnifying glass icon is not tabbable.
2018-07-13 13:18:06 -04:00
Etienne Lemay f9d47e9b13
Merge pull request #183 from savardc/missing-on-select-prop
Add missing onSelect to shared props
2018-05-08 08:25:25 -04:00
Etienne Lemay f2b5035f12
Merge pull request #187 from Kovensky/patch-1
Correct NimbleEmojiIndex reexport
2018-05-08 08:25:04 -04:00
Diogo Franco c2f11adec3
Correct NimbleEmojiIndex reexport 2018-05-08 10:59:21 +09:00
Christian Savard 8df31b1c42 Fix typo 2018-05-03 12:40:14 -04:00
Christian Savard 0fff524ed7 Add missing proptype and default value 2018-04-30 10:41:31 -04:00
Etienne Lemay 2e97b1faa6
Restructure data and components 2018-04-29 21:06:32 -04:00
Etienne Lemay 2f5fe6164e
Export NimblePicker, NimbleEmoji and NimbleCategory 2018-04-29 11:41:06 -04:00
Etienne Lemay 0f37b428f6
Rename data.short_names => data.aliases 2018-04-26 16:31:16 -04:00
Etienne Lemay 446fdf9544
Export NimbleEmojiIndex 2018-04-26 15:34:03 -04:00
Etienne Lemay a8b81f1858
Restructure components 2018-04-26 12:10:52 -04:00
Etienne Lemay d17594315c
Make parent Emoji component a functional component
Just like NimbleEmoji.

Read more: https://medium.com/missive-app/45-faster-react-functional-components-now-3509a668e69f
2018-04-26 11:16:21 -04:00
Etienne Lemay 8660a146e2
💄 Prettier 2018-04-26 10:36:54 -04:00
Dave Cilley 892096ea27 Add data property to any components that import data.js, and use that under the hood 2018-03-28 17:30:47 -04:00
Etienne Lemay c113dc5e3b
💄 Add prettier.config.js 2018-03-27 14:52:31 -04:00
Etienne Lemay a71280f14e
Merge pull request #175 from savardc/keyboardSelect
Select first emoji in list with `enter`
2018-03-27 14:45:03 -04:00
Etienne Lemay 4467fbd021
Fix pressing enter when no search results 2018-03-27 14:43:02 -04:00
Etienne Lemay f879348e2e
Fix undefined SEARCH_CATEGORY 2018-03-27 14:41:45 -04:00
Christian Savard 0765bf56f7 Add keyboard selection with enter 2018-03-15 18:42:16 -04:00
vcervellera bf8ffe5413 Clearing custom emojis from index and pool when necessary 2018-03-12 13:35:38 -04:00
Etienne Lemay 88b1045ff7
💄 Prettier 2018-03-02 15:10:04 -05:00
Etienne Lemay c010035015
Add `showSkinTones` prop to Picker [Ref #165] 2018-03-02 15:08:52 -05:00
Etienne Lemay af2fdc71a1
Add `defaultSkin` prop to Picker and allow forcing skin tone with `skin` prop [Ref #165] 2018-03-02 13:45:33 -05:00
Etienne Lemay b0753769fb
Add `onSkinChange` prop to Picker [Close #165] 2018-03-02 13:33:14 -05:00
Etienne Lemay fed9a89c78
Set RECENT_CATEGORY, CUSTOM_CATEGORY and SEARCH_CATEGORY on Picker instances [Fix #166] 2018-03-02 13:25:39 -05:00
vcervellera 88d7e2f506 Emptying custom category when custom prop is cleared 2018-02-22 09:58:10 -05:00
syokenz 6e4dd6765c change to return -1 in Categories sort compareFunction 2018-02-15 22:39:17 +09:00
Etienne Lemay e5441d637e
Merge pull request #159 from scttcper/master
remove unused name
2018-01-15 17:03:42 -05:00
Scott Cooper 8e83059f58 remove unused name 2018-01-10 22:41:50 -08:00
Andrew Beaven 238b2d2ff2 Remove Emoji fallback defaultProp 2018-01-11 10:45:02 +13:00
Andrew Beaven 4008363e73 Don't render fallback inside an emoji `<span>` 2018-01-10 11:38:30 +13:00
Andrew Beaven 818b4a1600 Emoji fallback shouldn't apply styling #157 2018-01-10 11:24:51 +13:00
Etienne Lemay 68a4711658 💄 2018-01-09 15:20:18 -05:00
Etienne Lemay 6d095a072c Add `html` props to Emoji component [Ref #79] 2018-01-09 15:16:59 -05:00
Etienne Lemay 3fa0331d60 Support providing a fallback to unsupported emojis [Fix #157] 2018-01-09 15:16:59 -05:00
Etienne Lemay d17c8a5c4b
Merge pull request #153 from savardc/fix-search-with-custom
Fix search with custom data and filter
2018-01-09 15:16:26 -05:00
Mark Wadden 3c924a1619 Bug fix to ensure that the category ids are not dropped aftering being filtered. 2017-12-21 22:24:36 -05:00
Christian Savard b644e3d2d3 Use pool to lookup emoji data 2017-12-20 11:33:15 -05:00
Etienne Lemay e78609b5c0 💄 2017-12-15 15:31:49 -05:00
Etienne Lemay 1119d60b6e Use categories id in SVGs 2017-12-15 15:30:58 -05:00
Etienne Lemay 8f63c38308 Use 256-color indexed sheets by default
Reduces sheets size by half
2017-12-15 15:23:15 -05:00
Etienne Lemay e4977e4f0d Update emoji-datasource to 4.0.2 2017-12-15 15:12:50 -05:00
Etienne Lemay 453f723d5e Fix include / exclude [Fix #149]
Since fdf3c2d
2017-12-15 15:09:46 -05:00
Etienne Lemay 992cd65e81 Sheets now have 51 columns
Since emoji-datasource 4.0.0
2017-12-08 13:37:35 -05:00
Etienne Lemay fdf3c2d3a3 Fix getting category names from i18n
Since the Category names update in emoji-data (4.0.0)
2017-12-08 12:45:31 -05:00
Vierkantor 66f9776583 Update category names
The new emoji data for Unicode 10.0 has changed the category names. Both
the script to build the data.js file and the SVG icons in the picker
have to be updated to reflect that.
2017-12-06 15:51:35 +00:00
Etienne Lemay 0d18995c3d Handle invalid emoji name in `Emoji` component [Fix #143] 2017-11-09 17:04:13 -08:00
Etienne Lemay 56be88ed41 Move spec out of src 2017-11-08 22:41:57 -08:00
Etienne Lemay cecb92bb9f Reduce svgs/index.js size 10% 2017-11-08 22:34:35 -08:00
Etienne Lemay 810c472917 Provide more data to `emojisToShowFilter` in search [Fix #141] 2017-11-08 09:48:35 -08:00
Etienne Lemay b24b0ccee5 💄 2017-11-07 19:09:40 -08:00
Etienne Lemay 9cd6494c39 Handle using custom storage instead of localStorage 2017-11-07 19:02:32 -08:00
Etienne Lemay 9fda2d9803 Early return `measureScrollbar` when document isn’t defined [Fix #136] 2017-11-07 19:02:32 -08:00
Eugen Rochko 8df1c418d3 Filter invalid emojis from recent category 2017-10-09 20:23:28 +02:00
Eugen Rochko d781320498 Fix #129 - Passing down a `recent` prop instead of localStorage 2017-10-07 16:26:09 +02:00
Etienne Lemay 3021758115 Prettier 💄 2017-10-07 00:02:29 -04:00
Etienne Lemay bb874f4517 Add tooltip (title) props to both Picker & Emoji 2017-10-06 23:34:06 -04:00
Etienne Lemay 57cc2ea4a5 Intersect search results [Fix #131] 2017-10-06 17:23:04 -04:00
Etienne Lemay b0e1d44d6e Fix spec syntax error 2017-10-06 17:22:57 -04:00
Nolan Lawson 9b6ddf0c9c Add test for thinking_face/woman-facepalming 2017-10-06 17:19:01 -04:00
Nolan Lawson fdc91d0733 Build as ES module as well as CommonJS 2017-10-01 08:05:18 -07:00
Etienne Lemay 3024f9e190 Merge branch 'master' into fix-useless-rerenders 2017-09-30 11:38:34 -04:00
Etienne Lemay 22d1a0375d Revert Emoji back to a functional component 2017-09-30 11:37:02 -04:00
Etienne Lemay 045c77631d use `background-size: contain` for custom emojis 2017-09-30 11:01:03 -04:00
Etienne Lemay 45215092e5 Fix headless search with custom emojis [Fix #118] 2017-09-30 10:37:13 -04:00
Etienne Lemay ac709e5cf3 Fix include sorting [Fix #116] 2017-09-29 19:45:52 -04:00
Etienne Lemay 274d8b3862 Set `background-size: cover` for custom emojis [Fix #117] 2017-09-29 19:26:13 -04:00
Etienne Lemay 1a2d400362 Signify custom emoji elements with class [Ref #117] 2017-09-29 19:26:04 -04:00
Etienne Lemay 922ae30a0f Fix TypeError on emoji click when picker has been unmounted [Fix #126]
`isMounted` is being deprecated, so we test against scroll ref being defined
2017-09-29 19:14:24 -04:00
Etienne Lemay 81f39b138a Use SVGs inline 2017-09-29 14:33:08 -04:00
Eugen Rochko fdb88daa31 Remove function binds in render wherever possible, use PureComponent 2017-09-29 16:46:29 +02:00
Etienne Lemay 620576d5a2 Use measure-scrollbar locally instead of a dependency
So that Babel doesn’t become a dependency just for that (lib is using export).
Giving credit to original author.
2017-09-28 20:04:24 -04:00
Etienne Lemay e8dc29bfaa Move data in src
So that it’s then compiled into dist
2017-09-28 20:03:23 -04:00
Etienne Lemay c607fd8864 Add showPreview props to Picker [Fix #42] 2017-09-27 22:07:34 -04:00
Etienne Lemay 9f49499240 Merge branch 'master' into feature-react-16 2017-09-27 20:00:37 -04:00
Eugen Rochko a381b554b6 Upgrade Webpack to 3.6 2017-09-27 21:47:41 +02:00
Eugen Rochko d13e3b5e03 Upgrade to React 16, do not use deprecated ref syntax 2017-09-27 21:27:52 +02:00
Etienne Lemay b5552be2c4 Fix activeCategory when scroll is above minTop 2017-09-25 21:15:07 -04:00
Etienne Lemay 2f77b6ac40 💄 2017-09-25 20:11:52 -04:00
Igor Lobanov 4dc05ef8da Size reduced from 87.35 KB to 79.43 KB 2017-09-17 12:06:42 +03:00
Igor Lobanov ce77166134 Webpack update 1.12.14 -> 3.6.0 2017-09-17 10:33:59 +03:00
Andrey Sitnik a3ec9493d7 Reduce size by removeing unnecessary util module 2017-09-11 14:38:37 +10:00
Etienne Lemay 6d60239998 Don’t use BundleAnalyzerPlugin in tests 2017-08-17 10:31:32 -04:00
Andrey Sitnik 4f9320a51f Add package size profiling tools 2017-08-16 15:33:24 -07:00
Etienne Lemay 4d57436bbe Fix search with include/exclude [Fix #89] 2017-06-27 17:05:05 -04:00
Etienne Lemay b90ca821bc Merge pull request #92 from MeisterLabs/ie-support
Improve support for Internet Explorer
2017-06-23 09:38:21 -04:00
Jakob Krigovsky 385408b51c Include scrollbar width in total picker width 2017-06-23 12:26:30 +02:00
Jakob Krigovsky 164e9d06ed Avoid Array.prototype.find() 2017-06-23 11:47:21 +02:00
Jakob Krigovsky 435250f319 Avoid Array.prototype.fill() 2017-06-23 11:47:21 +02:00
Sam Kelleher 30fa05f3c5
Switch default for simpler code. 2017-05-29 12:36:49 +01:00
Sam Kelleher 32a5206453
Flip wrong way round flag. 2017-05-29 12:30:04 +01:00
Sam Kelleher 184f2824f5
Do not store recent if recent category is hidden. 2017-05-29 12:29:11 +01:00
Etienne Lemay 1d57c216f5 Use svg-jsx for anchors
Fixes a React warning when using svg-inline-react
2017-05-27 14:52:38 -04:00
Etienne Lemay 3332c525d4 Add messenger & facebook sets 2017-05-27 14:15:56 -04:00
Etienne Lemay 33bcbda3d7 Do not render emoji when not supported in set 2017-05-27 13:52:12 -04:00
Etienne Lemay 7d014966e6 Unselect categories when searching 2017-05-27 13:40:54 -04:00
Etienne Lemay 98f2a95913 Use emoji object in `emojisToShowFilter`
So that custom emojis can also be filtered if need be
2017-05-27 13:26:02 -04:00
Etienne Lemay e95f515268 Add “Frequently Used” support to custom emojis 2017-05-27 13:17:21 -04:00
Etienne Lemay e28dc4da55 Make sure last category is selected when scrolled to bottom 2017-05-27 12:58:46 -04:00
Etienne Lemay d8b4c81534 Add include/exclude support to custom emojis 2017-05-27 12:27:47 -04:00
Etienne Lemay 1b77cb8244 Merge branch 'master' into custom-emojis 2017-05-27 11:26:59 -04:00
Etienne Lemay f4bbee1ecd Do not set skin when selecting the same 2017-05-27 11:16:54 -04:00
Etienne Lemay 81ccfbca03 Reset search index when changing include/exclude 2017-05-27 11:16:54 -04:00
Etienne Lemay b00572dfaf Fix search results for “-” not returning “-1” since 996c46cd 2017-05-27 11:16:54 -04:00
Etienne Lemay b149e37aad Update frequently defaults quantity when still unchanged 2017-05-27 11:16:54 -04:00
Etienne Lemay 2c35d5a8a8 Handle empty include/exclude arrays 2017-05-27 11:16:54 -04:00
Etienne Lemay 357653bb37 Do not include search input in the scroll container [Close #58] 2017-05-27 11:16:54 -04:00
Etienne Lemay 0736c65580 Use Emoji function instead of using JSX
So React doesn’t have to mount/unmount functional components
2017-05-27 11:16:54 -04:00
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