Commit Graph

393 Commits (48cd10cd0c70d3396da8be01d3d8006be4874881)

Author SHA1 Message Date
Nolan Lawson 59c4d87839 fix: fix preact compatibility
fixes #254
2019-03-10 09:14:47 -07:00
Nolan Lawson e77c63bc9a fix: make categories into accessible nav buttons
fixes #219
2019-03-09 13:59:09 -08:00
Nolan Lawson b0fee348c0 s/let/const/ 2019-03-09 13:35:48 -08:00
Nolan Lawson 5052ecd399 fix: improve search/clear a11y
fixes #221
2019-03-09 13:03:00 -08:00
Nolan Lawson 28c05b2861 fix: fix babel-runtime not found
fixes #228
2019-03-08 09:00:10 -08:00
Nolan Lawson a871cacbf2
Merge pull request #277 from kayleemann/master
Support case where showPreview is false but showSkinTones is true. Also add prepare script.
2019-03-08 07:32:23 -08:00
Kaylee Mann caba7d0b34 Show preview panel when showPreview is false but showSkinTones is true.
This is necessary in order to be able to show skin tone picker even when
one desires for the mouseover preview to be invisible. This is an
important case because mouseover displays must be disabled in order to
enable single click emoji typing on iOS without disabling the skin tone
picker.
2019-03-08 14:00:50 +09:00
Nolan Lawson c27e62456f
Merge pull request #258 from nolanlawson/remove-proptypes
fix: allow prop-types to be removed in production
2019-03-07 18:18:53 -08:00
Nolan Lawson f60220870e fix: allow prop-types to be removed in production
fixes #257
2019-03-07 18:12:37 -08:00
Nolan Lawson 420e2c7e86
Merge pull request #270 from dwijesingheWR/master
Fixed bug where selecting the first emoji search result with the ENTER KEY ignores skin tone selection
2019-03-07 17:35:22 -08:00
Dimitri Wijesinghe 17db4cc913 Fixed bug where selecting the first emoji search result with the ENTER key ignores skin-tone selection. 2019-02-13 14:56:42 -05:00
Ryann 9b9410e70c forces emoji's not to break line
closes issue #252
2019-01-17 09:25:22 -06:00
kennybll 94baec171d Add sprite support 2018-11-30 09:17:45 -05:00
Peder Johnsen 1c7a5d6ec6 Add `getEmojiDataFromNative` util function to get emoji data from native 2018-11-29 16:08:30 +00:00
Etienne Lemay 7186a10d4f Revert "fix(a11y): ability to tab through different categories"
This reverts commit 937e33534d.
2018-11-14 08:54:13 -05:00
Etienne Lemay 21b3e92bb2
Get rid of components index
Import all components directly, similar to #245
2018-11-13 09:41:57 -05:00
Etienne Lemay a09730d6a8
Merge pull request #226 from hozefaj/master [Close #219]
fix(a11y): ability to tab through different categories
2018-11-13 08:48:59 -05:00
Ross Khanas c0a418fa57
Update category.js 2018-11-13 19:21:37 +09:00
Ross Khanas be27ba5779
Update preview.js 2018-11-13 19:21:07 +09:00
Ross Khanas 9cad93d015
Update nimble-picker.js 2018-11-13 19:19:16 +09:00
hozefaj 937e33534d fix(a11y): ability to tab through different categories 2018-08-25 21:00:48 -07:00
Justine De Caires c6b36947d3 Fixes display of non-52x52 sheets in the preview bar 2018-08-14 22:29:20 -07:00
Etienne Lemay 2c060c56bc
Rename “skinIcon” => “skinEmoji”
More consistent with other props
2018-08-10 14:11:28 -04:00
Etienne Lemay 757f1b023c
Merge branch 'master' into rena/customskin 2018-08-10 14:06:41 -04:00
Etienne Lemay 9b523425c6
💄 2018-08-10 14:02:33 -04:00
Justine De Caires 385cb8f8c2 Add sheetColumns and sheetRows props for non-square sprite sheets 2018-08-06 14:31:02 -07:00
Rena Ryumae f1d5bc0095 Custom emoji for skin tone selector
Currently, the skin tone selector
is a row of colored dots

We propose creating a skinIcon field
that uses the emoji-mart dots on
default but otherwise uses the emoji
passed in by the user
2018-08-02 10:42:46 -04:00
Etienne Lemay 58ceb30d3d
Use ES6 export everywhere in /src 2018-07-31 15:29:11 -04:00
Etienne Lemay 0021d6ff38
Merge branch 'master' into rena/categoryiconprops 2018-07-31 15:01:34 -04:00
Etienne Lemay 2cea3df86a
Call fallback when emoji name isn’t recognized [Fix #199] 2018-07-31 14:05:25 -04:00
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