@chayns-components/emoji-input 5.0.0-beta.81 → 5.0.0-beta.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,6 +23,7 @@ const EmojiPickerEmojis = _ref => {
23
23
  searchString,
24
24
  selectedCategory
25
25
  } = _ref;
26
+ const [shouldPreventScroll, setShouldPreventScroll] = (0, _react.useState)(false);
26
27
  const {
27
28
  addOrUpdateEmojiInHistory,
28
29
  historyEmojis
@@ -63,6 +64,7 @@ const EmojiPickerEmojis = _ref => {
63
64
  emoji: emoji,
64
65
  isSkinToneSupported: skin_tone_support,
65
66
  key: name,
67
+ onPopupVisibilityChange: setShouldPreventScroll,
66
68
  onSelect: e => handleSelect({
67
69
  emoji: e,
68
70
  name,
@@ -83,6 +85,7 @@ const EmojiPickerEmojis = _ref => {
83
85
  return /*#__PURE__*/_react.default.createElement(_Emoji.default, {
84
86
  emoji: emoji,
85
87
  key: name,
88
+ onPopupVisibilityChange: setShouldPreventScroll,
86
89
  onSelect: e => handleSelect({
87
90
  emoji: e,
88
91
  name,
@@ -107,6 +110,7 @@ const EmojiPickerEmojis = _ref => {
107
110
  emoji: emoji,
108
111
  isSkinToneSupported: skin_tone_support,
109
112
  key: name,
113
+ onPopupVisibilityChange: setShouldPreventScroll,
110
114
  onSelect: e => handleSelect({
111
115
  emoji: e,
112
116
  name,
@@ -115,7 +119,11 @@ const EmojiPickerEmojis = _ref => {
115
119
  });
116
120
  });
117
121
  }, [handleSelect, historyEmojis, searchString, selectedCategory]);
118
- return /*#__PURE__*/_react.default.createElement(_EmojiPickerEmojis.StyledEmojiPickerEmojis, null, emojis);
122
+ const shouldShowNoContentInfo = !emojis || emojis.length === 0;
123
+ return /*#__PURE__*/_react.default.createElement(_EmojiPickerEmojis.StyledEmojiPickerEmojis, {
124
+ shouldPreventScroll: shouldPreventScroll,
125
+ shouldShowNoContentInfo: shouldShowNoContentInfo
126
+ }, emojis, shouldShowNoContentInfo && /*#__PURE__*/_react.default.createElement(_EmojiPickerEmojis.StyledEmojiPickerEmojisNoContentInfo, null, "Hier werden die zuletzt verwendeten Emojis angezeigt, die \xFCber diese Auswahl gew\xE4hlt wurden."));
119
127
  };
120
128
  EmojiPickerEmojis.displayName = 'EmojiPickerEmojis';
121
129
  var _default = EmojiPickerEmojis;
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPickerEmojis.js","names":["_emojilib","_interopRequireDefault","require","_react","_interopRequireWildcard","_dataByEmoji","_dataByGroup","_emojiDeDE","_emojiHistory","_Emoji","_EmojiPickerEmojis","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EmojiPickerEmojis","_ref","accessToken","onSelect","personId","searchString","selectedCategory","addOrUpdateEmojiInHistory","historyEmojis","useEmojiHistory","handleSelect","useCallback","_ref2","emoji","name","skin_tone_support","emojis","useMemo","_emojiCategories$find","trim","lowerSearchString","toLowerCase","searchResults","entries","emojiList","forEach","_ref3","keywords","emojiLib","germanKeywords","germanEmojiLib","includes","some","keyword","push","createElement","isSkinToneSupported","e","map","_ref4","emojiCategories","find","_ref5","slug","_ref6","StyledEmojiPickerEmojis","displayName","_default","exports"],"sources":["../../../../src/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.tsx"],"sourcesContent":["import emojiLib from 'emojilib';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport emojiList from 'unicode-emoji-json/data-by-emoji.json';\nimport emojiCategories from 'unicode-emoji-json/data-by-group.json';\nimport germanEmojiLib from '../../../constants/emoji-de-DE.json';\nimport { useEmojiHistory } from '../../../hooks/emojiHistory';\nimport type { Category } from '../../../types/category';\nimport Emoji from './emoji/Emoji';\nimport { StyledEmojiPickerEmojis } from './EmojiPickerEmojis.styles';\n\nexport type EmojiPickerEmojisProps = {\n accessToken?: string;\n onSelect: (emoji: string) => void;\n personId?: string;\n searchString: string;\n selectedCategory: Category;\n};\n\nconst EmojiPickerEmojis: FC<EmojiPickerEmojisProps> = ({\n accessToken,\n onSelect,\n personId,\n searchString,\n selectedCategory,\n}) => {\n const { addOrUpdateEmojiInHistory, historyEmojis } = useEmojiHistory({\n accessToken,\n personId,\n selectedCategory,\n });\n\n const handleSelect = useCallback(\n ({\n emoji,\n name,\n skin_tone_support,\n }: {\n emoji: string;\n name: string;\n skin_tone_support: boolean;\n }) => {\n onSelect(emoji);\n\n void addOrUpdateEmojiInHistory({ emoji, name, skin_tone_support });\n },\n [addOrUpdateEmojiInHistory, onSelect]\n );\n\n const emojis = useMemo(() => {\n if (searchString.trim() !== '') {\n const lowerSearchString = searchString.toLowerCase();\n\n const searchResults: JSX.Element[] = [];\n\n Object.entries(emojiList).forEach(([emoji, { name, skin_tone_support }]) => {\n // @ts-expect-error: Type is correct here\n const keywords = emojiLib[emoji] as string[] | undefined;\n // @ts-expect-error: Type is correct here\n const germanKeywords = germanEmojiLib[emoji] as string[] | undefined;\n\n if (\n name.includes(lowerSearchString) ||\n keywords?.some((keyword) => keyword.includes(lowerSearchString)) ||\n germanKeywords?.some((keyword) => keyword.includes(lowerSearchString))\n ) {\n searchResults.push(\n <Emoji\n emoji={emoji}\n isSkinToneSupported={skin_tone_support}\n key={name}\n onSelect={(e) => handleSelect({ emoji: e, name, skin_tone_support })}\n />\n );\n }\n });\n\n return searchResults;\n }\n\n if (selectedCategory === 'history') {\n return historyEmojis.map(({ emoji, name, skin_tone_support }) => (\n <Emoji\n emoji={emoji}\n key={name}\n onSelect={(e) => handleSelect({ emoji: e, name, skin_tone_support })}\n isSkinToneSupported={false}\n />\n ));\n }\n\n return emojiCategories\n .find(({ slug }) => slug === selectedCategory)\n ?.emojis.map(({ emoji, name, skin_tone_support }) => (\n <Emoji\n emoji={emoji}\n isSkinToneSupported={skin_tone_support}\n key={name}\n onSelect={(e) => handleSelect({ emoji: e, name, skin_tone_support })}\n />\n ));\n }, [handleSelect, historyEmojis, searchString, selectedCategory]);\n\n return <StyledEmojiPickerEmojis>{emojis}</StyledEmojiPickerEmojis>;\n};\n\nEmojiPickerEmojis.displayName = 'EmojiPickerEmojis';\n\nexport default EmojiPickerEmojis;\n"],"mappings":"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"}
1
+ {"version":3,"file":"EmojiPickerEmojis.js","names":["_emojilib","_interopRequireDefault","require","_react","_interopRequireWildcard","_dataByEmoji","_dataByGroup","_emojiDeDE","_emojiHistory","_Emoji","_EmojiPickerEmojis","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EmojiPickerEmojis","_ref","accessToken","onSelect","personId","searchString","selectedCategory","shouldPreventScroll","setShouldPreventScroll","useState","addOrUpdateEmojiInHistory","historyEmojis","useEmojiHistory","handleSelect","useCallback","_ref2","emoji","name","skin_tone_support","emojis","useMemo","_emojiCategories$find","trim","lowerSearchString","toLowerCase","searchResults","entries","emojiList","forEach","_ref3","keywords","emojiLib","germanKeywords","germanEmojiLib","includes","some","keyword","push","createElement","isSkinToneSupported","onPopupVisibilityChange","e","map","_ref4","emojiCategories","find","_ref5","slug","_ref6","shouldShowNoContentInfo","length","StyledEmojiPickerEmojis","StyledEmojiPickerEmojisNoContentInfo","displayName","_default","exports"],"sources":["../../../../src/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.tsx"],"sourcesContent":["import emojiLib from 'emojilib';\nimport React, { FC, useCallback, useMemo, useState } from 'react';\nimport emojiList from 'unicode-emoji-json/data-by-emoji.json';\nimport emojiCategories from 'unicode-emoji-json/data-by-group.json';\nimport germanEmojiLib from '../../../constants/emoji-de-DE.json';\nimport { useEmojiHistory } from '../../../hooks/emojiHistory';\nimport type { Category } from '../../../types/category';\nimport Emoji from './emoji/Emoji';\nimport {\n StyledEmojiPickerEmojis,\n StyledEmojiPickerEmojisNoContentInfo,\n} from './EmojiPickerEmojis.styles';\n\nexport type EmojiPickerEmojisProps = {\n accessToken?: string;\n onSelect: (emoji: string) => void;\n personId?: string;\n searchString: string;\n selectedCategory: Category;\n};\n\nconst EmojiPickerEmojis: FC<EmojiPickerEmojisProps> = ({\n accessToken,\n onSelect,\n personId,\n searchString,\n selectedCategory,\n}) => {\n const [shouldPreventScroll, setShouldPreventScroll] = useState(false);\n\n const { addOrUpdateEmojiInHistory, historyEmojis } = useEmojiHistory({\n accessToken,\n personId,\n selectedCategory,\n });\n\n const handleSelect = useCallback(\n ({\n emoji,\n name,\n skin_tone_support,\n }: {\n emoji: string;\n name: string;\n skin_tone_support: boolean;\n }) => {\n onSelect(emoji);\n\n void addOrUpdateEmojiInHistory({ emoji, name, skin_tone_support });\n },\n [addOrUpdateEmojiInHistory, onSelect]\n );\n\n const emojis = useMemo(() => {\n if (searchString.trim() !== '') {\n const lowerSearchString = searchString.toLowerCase();\n\n const searchResults: JSX.Element[] = [];\n\n Object.entries(emojiList).forEach(([emoji, { name, skin_tone_support }]) => {\n // @ts-expect-error: Type is correct here\n const keywords = emojiLib[emoji] as string[] | undefined;\n // @ts-expect-error: Type is correct here\n const germanKeywords = germanEmojiLib[emoji] as string[] | undefined;\n\n if (\n name.includes(lowerSearchString) ||\n keywords?.some((keyword) => keyword.includes(lowerSearchString)) ||\n germanKeywords?.some((keyword) => keyword.includes(lowerSearchString))\n ) {\n searchResults.push(\n <Emoji\n emoji={emoji}\n isSkinToneSupported={skin_tone_support}\n key={name}\n onPopupVisibilityChange={setShouldPreventScroll}\n onSelect={(e) => handleSelect({ emoji: e, name, skin_tone_support })}\n />\n );\n }\n });\n\n return searchResults;\n }\n\n if (selectedCategory === 'history') {\n return historyEmojis.map(({ emoji, name, skin_tone_support }) => (\n <Emoji\n emoji={emoji}\n key={name}\n onPopupVisibilityChange={setShouldPreventScroll}\n onSelect={(e) => handleSelect({ emoji: e, name, skin_tone_support })}\n isSkinToneSupported={false}\n />\n ));\n }\n\n return emojiCategories\n .find(({ slug }) => slug === selectedCategory)\n ?.emojis.map(({ emoji, name, skin_tone_support }) => (\n <Emoji\n emoji={emoji}\n isSkinToneSupported={skin_tone_support}\n key={name}\n onPopupVisibilityChange={setShouldPreventScroll}\n onSelect={(e) => handleSelect({ emoji: e, name, skin_tone_support })}\n />\n ));\n }, [handleSelect, historyEmojis, searchString, selectedCategory]);\n\n const shouldShowNoContentInfo = !emojis || emojis.length === 0;\n\n return (\n <StyledEmojiPickerEmojis\n shouldPreventScroll={shouldPreventScroll}\n shouldShowNoContentInfo={shouldShowNoContentInfo}\n >\n {emojis}\n {shouldShowNoContentInfo && (\n <StyledEmojiPickerEmojisNoContentInfo>\n Hier werden die zuletzt verwendeten Emojis angezeigt, die über diese Auswahl\n gewählt wurden.\n </StyledEmojiPickerEmojisNoContentInfo>\n )}\n </StyledEmojiPickerEmojis>\n );\n};\n\nEmojiPickerEmojis.displayName = 'EmojiPickerEmojis';\n\nexport default EmojiPickerEmojis;\n"],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  export declare const StyledEmojiPickerEmojis: import("styled-components").StyledComponent<"div", any, {
2
+ shouldPreventScroll: boolean;
3
+ shouldShowNoContentInfo: boolean;
4
+ } & {
2
5
  theme: import("@chayns-components/core/lib/components/color-scheme-provider/ColorSchemeProvider").Theme;
3
6
  }, never>;
7
+ export declare const StyledEmojiPickerEmojisNoContentInfo: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -3,18 +3,39 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.StyledEmojiPickerEmojis = void 0;
7
- var _styledComponents = _interopRequireDefault(require("styled-components"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
+ exports.StyledEmojiPickerEmojisNoContentInfo = exports.StyledEmojiPickerEmojis = void 0;
7
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
9
10
  const StyledEmojiPickerEmojis = _styledComponents.default.div`
10
- display: grid;
11
+ align-items: center;
12
+ display: ${_ref => {
13
+ let {
14
+ shouldShowNoContentInfo
15
+ } = _ref;
16
+ return shouldShowNoContentInfo ? 'flex' : 'grid';
17
+ }};
11
18
  flex: 1 1 auto;
12
19
  grid-template-columns: repeat(auto-fill, minmax(48px, 1fr));
13
20
  grid-template-rows: min-content;
14
- overflow-y: scroll;
15
- padding: 10px 0;
21
+ overflow-y: ${_ref2 => {
22
+ let {
23
+ shouldPreventScroll
24
+ } = _ref2;
25
+ return shouldPreventScroll ? 'hidden' : 'scroll';
26
+ }};
27
+ padding: 5px 0 5px 5px;
16
28
  position: relative;
17
29
 
30
+ ${_ref3 => {
31
+ let {
32
+ shouldPreventScroll
33
+ } = _ref3;
34
+ return shouldPreventScroll && (0, _styledComponents.css)`
35
+ padding-right: 5px;
36
+ `;
37
+ }}
38
+
18
39
  // Styles for custom scrollbar
19
40
  ::-webkit-scrollbar {
20
41
  width: 5px;
@@ -31,10 +52,10 @@ const StyledEmojiPickerEmojis = _styledComponents.default.div`
31
52
 
32
53
  ::-webkit-scrollbar-thumb {
33
54
  background-color: rgba(
34
- ${_ref => {
55
+ ${_ref4 => {
35
56
  let {
36
57
  theme
37
- } = _ref;
58
+ } = _ref4;
38
59
  return theme['text-rgb'];
39
60
  }},
40
61
  0.15
@@ -46,10 +67,10 @@ const StyledEmojiPickerEmojis = _styledComponents.default.div`
46
67
  // only supported in Firefox:
47
68
  * {
48
69
  scrollbar-color: rgba(
49
- ${_ref2 => {
70
+ ${_ref5 => {
50
71
  let {
51
72
  theme
52
- } = _ref2;
73
+ } = _ref5;
53
74
  return theme['text-rgb'];
54
75
  }},
55
76
  0.15
@@ -59,4 +80,11 @@ const StyledEmojiPickerEmojis = _styledComponents.default.div`
59
80
  }
60
81
  `;
61
82
  exports.StyledEmojiPickerEmojis = StyledEmojiPickerEmojis;
83
+ const StyledEmojiPickerEmojisNoContentInfo = _styledComponents.default.div`
84
+ font-size: 85%;
85
+ opacity: 0.85;
86
+ padding: 0 12.5%;
87
+ text-align: center;
88
+ `;
89
+ exports.StyledEmojiPickerEmojisNoContentInfo = StyledEmojiPickerEmojisNoContentInfo;
62
90
  //# sourceMappingURL=EmojiPickerEmojis.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPickerEmojis.styles.js","names":["_styledComponents","_interopRequireDefault","require","obj","__esModule","default","StyledEmojiPickerEmojis","styled","div","_ref","theme","_ref2","exports"],"sources":["../../../../src/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport styled from 'styled-components';\n\ntype StyledEmojiPickerEmojisProps = WithTheme<unknown>;\n\nexport const StyledEmojiPickerEmojis = styled.div<StyledEmojiPickerEmojisProps>`\n display: grid;\n flex: 1 1 auto;\n grid-template-columns: repeat(auto-fill, minmax(48px, 1fr));\n grid-template-rows: min-content;\n overflow-y: scroll;\n padding: 10px 0;\n position: relative;\n\n // Styles for custom scrollbar\n ::-webkit-scrollbar {\n width: 5px;\n }\n\n ::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n ::-webkit-scrollbar-button {\n background-color: transparent;\n height: 5px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: rgba(\n ${({ theme }: StyledEmojiPickerEmojisProps) => theme['text-rgb']},\n 0.15\n );\n border-radius: 20px;\n }\n\n // Scrollbar styles for Firefox. The above styles are not supported in Firefox, these styles are\n // only supported in Firefox:\n * {\n scrollbar-color: rgba(\n ${({ theme }: StyledEmojiPickerEmojisProps) => theme['text-rgb']},\n 0.15\n )\n transparent;\n scrollbar-width: thin;\n }\n`;\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAIhC,MAAMG,uBAAuB,GAAGC,yBAAM,CAACC,GAAkC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcC,IAAA;EAAA,IAAC;IAAEC;EAAoC,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAAC,UAAU,CAAC;AAAA,CAAC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBC,KAAA;EAAA,IAAC;IAAED;EAAoC,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK,CAAC,UAAU,CAAC;AAAA,CAAC;AACjF;AACA;AACA;AACA;AACA;AACA,CAAC;AAACE,OAAA,CAAAN,uBAAA,GAAAA,uBAAA"}
1
+ {"version":3,"file":"EmojiPickerEmojis.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","StyledEmojiPickerEmojis","styled","div","_ref","shouldShowNoContentInfo","_ref2","shouldPreventScroll","_ref3","css","_ref4","theme","_ref5","exports","StyledEmojiPickerEmojisNoContentInfo"],"sources":["../../../../src/components/emoji-picker/emoji-picker-emojis/EmojiPickerEmojis.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport styled, { css } from 'styled-components';\n\ntype StyledEmojiPickerEmojisProps = WithTheme<{\n shouldPreventScroll: boolean;\n shouldShowNoContentInfo: boolean;\n}>;\n\nexport const StyledEmojiPickerEmojis = styled.div<StyledEmojiPickerEmojisProps>`\n align-items: center;\n display: ${({ shouldShowNoContentInfo }) => (shouldShowNoContentInfo ? 'flex' : 'grid')};\n flex: 1 1 auto;\n grid-template-columns: repeat(auto-fill, minmax(48px, 1fr));\n grid-template-rows: min-content;\n overflow-y: ${({ shouldPreventScroll }) => (shouldPreventScroll ? 'hidden' : 'scroll')};\n padding: 5px 0 5px 5px;\n position: relative;\n\n ${({ shouldPreventScroll }) =>\n shouldPreventScroll &&\n css`\n padding-right: 5px;\n `}\n\n // Styles for custom scrollbar\n ::-webkit-scrollbar {\n width: 5px;\n }\n\n ::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n ::-webkit-scrollbar-button {\n background-color: transparent;\n height: 5px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: rgba(\n ${({ theme }: StyledEmojiPickerEmojisProps) => theme['text-rgb']},\n 0.15\n );\n border-radius: 20px;\n }\n\n // Scrollbar styles for Firefox. The above styles are not supported in Firefox, these styles are\n // only supported in Firefox:\n * {\n scrollbar-color: rgba(\n ${({ theme }: StyledEmojiPickerEmojisProps) => theme['text-rgb']},\n 0.15\n )\n transparent;\n scrollbar-width: thin;\n }\n`;\n\nexport const StyledEmojiPickerEmojisNoContentInfo = styled.div`\n font-size: 85%;\n opacity: 0.85;\n padding: 0 12.5%;\n text-align: center;\n`;\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAOzC,MAAMW,uBAAuB,GAAGC,yBAAM,CAACC,GAAkC;AAChF;AACA,eAAeC,IAAA;EAAA,IAAC;IAAEC;EAAwB,CAAC,GAAAD,IAAA;EAAA,OAAMC,uBAAuB,GAAG,MAAM,GAAG,MAAM;AAAA,CAAE;AAC5F;AACA;AACA;AACA,kBAAkBC,KAAA;EAAA,IAAC;IAAEC;EAAoB,CAAC,GAAAD,KAAA;EAAA,OAAMC,mBAAmB,GAAG,QAAQ,GAAG,QAAQ;AAAA,CAAE;AAC3F;AACA;AACA;AACA,MAAMC,KAAA;EAAA,IAAC;IAAED;EAAoB,CAAC,GAAAC,KAAA;EAAA,OACtBD,mBAAmB,IACnB,IAAAE,qBAAG,CAAC;AACZ;AACA,SAAS;AAAA,CAAC;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcC,KAAA;EAAA,IAAC;IAAEC;EAAoC,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK,CAAC,UAAU,CAAC;AAAA,CAAC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBC,KAAA;EAAA,IAAC;IAAED;EAAoC,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK,CAAC,UAAU,CAAC;AAAA,CAAC;AACjF;AACA;AACA;AACA;AACA;AACA,CAAC;AAACE,OAAA,CAAAZ,uBAAA,GAAAA,uBAAA;AAEK,MAAMa,oCAAoC,GAAGZ,yBAAM,CAACC,GAAI;AAC/D;AACA;AACA;AACA;AACA,CAAC;AAACU,OAAA,CAAAC,oCAAA,GAAAA,oCAAA"}
@@ -2,6 +2,7 @@ import { FC } from 'react';
2
2
  export type EmojiProps = {
3
3
  emoji: string;
4
4
  isSkinToneSupported: boolean;
5
+ onPopupVisibilityChange: (isVisible: boolean) => void;
5
6
  onSelect: (emoji: string) => void;
6
7
  };
7
8
  declare const Emoji: FC<EmojiProps>;
@@ -17,11 +17,15 @@ const Emoji = _ref => {
17
17
  let {
18
18
  emoji,
19
19
  isSkinToneSupported,
20
+ onPopupVisibilityChange,
20
21
  onSelect
21
22
  } = _ref;
22
23
  const [shouldShowPopup, setShouldShowPopup] = (0, _react.useState)(false);
23
24
  const [skinTonePopupAnchorAlignment, setSkinTonePopupAnchorAlignment] = (0, _react.useState)(_alignment.AnchorAlignment.Top);
24
25
  const [skinTonePopupAnchorOffset, setSkinTonePopupAnchorOffset] = (0, _react.useState)(0);
26
+ const [skinTonePopupOverlayPosition, setSkinTonePopupOverlayPosition] = (0, _react.useState)({
27
+ top: 0
28
+ });
25
29
  const [skinTonePopupPosition, setSkinTonePopupPosition] = (0, _react.useState)({
26
30
  left: 0,
27
31
  top: 0
@@ -57,7 +61,7 @@ const Emoji = _ref => {
57
61
  let anchorAlignment = _alignment.AnchorAlignment.Top;
58
62
  let anchorOffset = 0;
59
63
  let left = elementLeft - parentLeft - _SkinTonePopup2.skinTonePopupContentSize.width / 2 + elementWidth / 2;
60
- let top = elementTop - parentTop + elementHeight;
64
+ let top = elementTop - parentTop + elementHeight + scrollTop;
61
65
  const maxLeft = parentWidth - _SkinTonePopup2.skinTonePopupContentSize.width - 12;
62
66
  const minLeft = 12;
63
67
  if (left < minLeft) {
@@ -78,11 +82,17 @@ const Emoji = _ref => {
78
82
  left,
79
83
  top
80
84
  });
85
+ setSkinTonePopupOverlayPosition({
86
+ top: scrollTop
87
+ });
81
88
  setShouldShowPopup(true);
82
89
  }
83
90
  }
84
91
  }, [isSkinToneSupported]);
85
92
  const handleHidePopup = (0, _react.useCallback)(() => setShouldShowPopup(false), []);
93
+ (0, _react.useEffect)(() => {
94
+ onPopupVisibilityChange(shouldShowPopup);
95
+ }, [onPopupVisibilityChange, shouldShowPopup]);
86
96
  return /*#__PURE__*/_react.default.createElement(_Emoji.StyledEmoji, {
87
97
  className: "prevent-lose-focus",
88
98
  onClick: handleClick,
@@ -96,6 +106,7 @@ const Emoji = _ref => {
96
106
  key: emoji,
97
107
  onHidePopup: handleHidePopup,
98
108
  onSelect: onSelect,
109
+ overlayPosition: skinTonePopupOverlayPosition,
99
110
  position: skinTonePopupPosition
100
111
  })));
101
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Emoji.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_alignment","_Emoji","_SkinTonePopup","_interopRequireDefault","_SkinTonePopup2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Emoji","_ref","emoji","isSkinToneSupported","onSelect","shouldShowPopup","setShouldShowPopup","useState","skinTonePopupAnchorAlignment","setSkinTonePopupAnchorAlignment","AnchorAlignment","Top","skinTonePopupAnchorOffset","setSkinTonePopupAnchorOffset","skinTonePopupPosition","setSkinTonePopupPosition","left","top","handleClick","useCallback","handleContextMenu","event","preventDefault","stopPropagation","currentTarget","element","parentElement","height","elementHeight","elementLeft","elementTop","width","elementWidth","getBoundingClientRect","parentHeight","parentLeft","parentTop","parentWidth","scrollTop","anchorAlignment","anchorOffset","skinTonePopupContentSize","maxLeft","minLeft","Bottom","handleHidePopup","createElement","StyledEmoji","className","onClick","onContextMenu","AnimatePresence","initial","onHidePopup","position","displayName","_default","exports"],"sources":["../../../../../src/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, { FC, MouseEvent, useCallback, useState } from 'react';\nimport { AnchorAlignment } from '../../../../constants/alignment';\nimport { StyledEmoji } from './Emoji.styles';\nimport SkinTonePopup, { SkinTonePopupProps } from './skin-tone-popup/SkinTonePopup';\nimport { skinTonePopupContentSize } from './skin-tone-popup/SkinTonePopup.styles';\n\nexport type EmojiProps = {\n emoji: string;\n isSkinToneSupported: boolean;\n onSelect: (emoji: string) => void;\n};\n\nconst Emoji: FC<EmojiProps> = ({ emoji, isSkinToneSupported, onSelect }) => {\n const [shouldShowPopup, setShouldShowPopup] = useState(false);\n const [skinTonePopupAnchorAlignment, setSkinTonePopupAnchorAlignment] = useState(\n AnchorAlignment.Top\n );\n const [skinTonePopupAnchorOffset, setSkinTonePopupAnchorOffset] = useState(0);\n const [skinTonePopupPosition, setSkinTonePopupPosition] = useState<\n SkinTonePopupProps['position']\n >({ left: 0, top: 0 });\n\n const handleClick = useCallback(() => {\n onSelect(emoji);\n }, [emoji, onSelect]);\n\n const handleContextMenu = useCallback(\n (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n const {\n currentTarget: element,\n currentTarget: { parentElement },\n } = event;\n\n if (parentElement) {\n const {\n height: elementHeight,\n left: elementLeft,\n top: elementTop,\n width: elementWidth,\n } = element.getBoundingClientRect();\n\n const {\n height: parentHeight,\n left: parentLeft,\n top: parentTop,\n width: parentWidth,\n } = parentElement.getBoundingClientRect();\n\n const { scrollTop } = parentElement;\n\n let anchorAlignment = AnchorAlignment.Top;\n let anchorOffset = 0;\n\n let left =\n elementLeft -\n parentLeft -\n skinTonePopupContentSize.width / 2 +\n elementWidth / 2;\n\n let top = elementTop - parentTop + elementHeight;\n\n const maxLeft = parentWidth - skinTonePopupContentSize.width - 12;\n const minLeft = 12;\n\n if (left < minLeft) {\n anchorOffset = left - minLeft;\n left = minLeft;\n } else if (left > maxLeft) {\n anchorOffset = left - maxLeft;\n left = maxLeft;\n }\n\n if (top + skinTonePopupContentSize.height > parentHeight + scrollTop) {\n anchorAlignment = AnchorAlignment.Bottom;\n top -= elementHeight + skinTonePopupContentSize.height;\n }\n\n if (isSkinToneSupported) {\n setSkinTonePopupAnchorAlignment(anchorAlignment);\n setSkinTonePopupAnchorOffset(anchorOffset);\n setSkinTonePopupPosition({ left, top });\n setShouldShowPopup(true);\n }\n }\n },\n [isSkinToneSupported]\n );\n\n const handleHidePopup = useCallback(() => setShouldShowPopup(false), []);\n\n return (\n <StyledEmoji\n className=\"prevent-lose-focus\"\n onClick={handleClick}\n onContextMenu={handleContextMenu}\n >\n {emoji}\n <AnimatePresence initial={false}>\n {shouldShowPopup && (\n <SkinTonePopup\n anchorAlignment={skinTonePopupAnchorAlignment}\n anchorOffset={skinTonePopupAnchorOffset}\n emoji={emoji}\n key={emoji}\n onHidePopup={handleHidePopup}\n onSelect={onSelect}\n position={skinTonePopupPosition}\n />\n )}\n </AnimatePresence>\n </StyledEmoji>\n );\n};\n\nEmoji.displayName = 'Emoji';\n\nexport default Emoji;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Emoji.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_alignment","_Emoji","_SkinTonePopup","_interopRequireDefault","_SkinTonePopup2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Emoji","_ref","emoji","isSkinToneSupported","onPopupVisibilityChange","onSelect","shouldShowPopup","setShouldShowPopup","useState","skinTonePopupAnchorAlignment","setSkinTonePopupAnchorAlignment","AnchorAlignment","Top","skinTonePopupAnchorOffset","setSkinTonePopupAnchorOffset","skinTonePopupOverlayPosition","setSkinTonePopupOverlayPosition","top","skinTonePopupPosition","setSkinTonePopupPosition","left","handleClick","useCallback","handleContextMenu","event","preventDefault","stopPropagation","currentTarget","element","parentElement","height","elementHeight","elementLeft","elementTop","width","elementWidth","getBoundingClientRect","parentHeight","parentLeft","parentTop","parentWidth","scrollTop","anchorAlignment","anchorOffset","skinTonePopupContentSize","maxLeft","minLeft","Bottom","handleHidePopup","useEffect","createElement","StyledEmoji","className","onClick","onContextMenu","AnimatePresence","initial","onHidePopup","overlayPosition","position","displayName","_default","exports"],"sources":["../../../../../src/components/emoji-picker/emoji-picker-emojis/emoji/Emoji.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, { FC, MouseEvent, useCallback, useEffect, useState } from 'react';\nimport { AnchorAlignment } from '../../../../constants/alignment';\nimport { StyledEmoji } from './Emoji.styles';\nimport SkinTonePopup, { SkinTonePopupProps } from './skin-tone-popup/SkinTonePopup';\nimport { skinTonePopupContentSize } from './skin-tone-popup/SkinTonePopup.styles';\n\nexport type EmojiProps = {\n emoji: string;\n isSkinToneSupported: boolean;\n onPopupVisibilityChange: (isVisible: boolean) => void;\n onSelect: (emoji: string) => void;\n};\n\nconst Emoji: FC<EmojiProps> = ({\n emoji,\n isSkinToneSupported,\n onPopupVisibilityChange,\n onSelect,\n}) => {\n const [shouldShowPopup, setShouldShowPopup] = useState(false);\n const [skinTonePopupAnchorAlignment, setSkinTonePopupAnchorAlignment] = useState(\n AnchorAlignment.Top\n );\n const [skinTonePopupAnchorOffset, setSkinTonePopupAnchorOffset] = useState(0);\n const [skinTonePopupOverlayPosition, setSkinTonePopupOverlayPosition] = useState<\n SkinTonePopupProps['overlayPosition']\n >({ top: 0 });\n const [skinTonePopupPosition, setSkinTonePopupPosition] = useState<\n SkinTonePopupProps['position']\n >({ left: 0, top: 0 });\n\n const handleClick = useCallback(() => {\n onSelect(emoji);\n }, [emoji, onSelect]);\n\n const handleContextMenu = useCallback(\n (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n const {\n currentTarget: element,\n currentTarget: { parentElement },\n } = event;\n\n if (parentElement) {\n const {\n height: elementHeight,\n left: elementLeft,\n top: elementTop,\n width: elementWidth,\n } = element.getBoundingClientRect();\n\n const {\n height: parentHeight,\n left: parentLeft,\n top: parentTop,\n width: parentWidth,\n } = parentElement.getBoundingClientRect();\n\n const { scrollTop } = parentElement;\n\n let anchorAlignment = AnchorAlignment.Top;\n let anchorOffset = 0;\n\n let left =\n elementLeft -\n parentLeft -\n skinTonePopupContentSize.width / 2 +\n elementWidth / 2;\n\n let top = elementTop - parentTop + elementHeight + scrollTop;\n\n const maxLeft = parentWidth - skinTonePopupContentSize.width - 12;\n const minLeft = 12;\n\n if (left < minLeft) {\n anchorOffset = left - minLeft;\n left = minLeft;\n } else if (left > maxLeft) {\n anchorOffset = left - maxLeft;\n left = maxLeft;\n }\n\n if (top + skinTonePopupContentSize.height > parentHeight + scrollTop) {\n anchorAlignment = AnchorAlignment.Bottom;\n top -= elementHeight + skinTonePopupContentSize.height;\n }\n\n if (isSkinToneSupported) {\n setSkinTonePopupAnchorAlignment(anchorAlignment);\n setSkinTonePopupAnchorOffset(anchorOffset);\n setSkinTonePopupPosition({ left, top });\n setSkinTonePopupOverlayPosition({ top: scrollTop });\n setShouldShowPopup(true);\n }\n }\n },\n [isSkinToneSupported]\n );\n\n const handleHidePopup = useCallback(() => setShouldShowPopup(false), []);\n\n useEffect(() => {\n onPopupVisibilityChange(shouldShowPopup);\n }, [onPopupVisibilityChange, shouldShowPopup]);\n\n return (\n <StyledEmoji\n className=\"prevent-lose-focus\"\n onClick={handleClick}\n onContextMenu={handleContextMenu}\n >\n {emoji}\n <AnimatePresence initial={false}>\n {shouldShowPopup && (\n <SkinTonePopup\n anchorAlignment={skinTonePopupAnchorAlignment}\n anchorOffset={skinTonePopupAnchorOffset}\n emoji={emoji}\n key={emoji}\n onHidePopup={handleHidePopup}\n onSelect={onSelect}\n overlayPosition={skinTonePopupOverlayPosition}\n position={skinTonePopupPosition}\n />\n )}\n </AnimatePresence>\n </StyledEmoji>\n );\n};\n\nEmoji.displayName = 'Emoji';\n\nexport default Emoji;\n"],"mappings":"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"}
@@ -6,6 +6,9 @@ export type SkinTonePopupProps = {
6
6
  emoji: string;
7
7
  onHidePopup: VoidFunction;
8
8
  onSelect: (emojiWithSkinTone: string) => void;
9
+ overlayPosition: {
10
+ top: number;
11
+ };
9
12
  position: {
10
13
  left: number;
11
14
  top: number;
@@ -18,6 +18,7 @@ const SkinTonePopup = _ref => {
18
18
  emoji,
19
19
  onHidePopup,
20
20
  onSelect,
21
+ overlayPosition,
21
22
  position
22
23
  } = _ref;
23
24
  const handleOverlayClick = (0, _react.useCallback)(event => {
@@ -63,7 +64,8 @@ const SkinTonePopup = _ref => {
63
64
  anchorOffset: anchorOffset,
64
65
  style: position
65
66
  }, emojis), /*#__PURE__*/_react.default.createElement(_SkinTonePopup.StyledSkinTonePopupOverlay, {
66
- onClick: handleOverlayClick
67
+ onClick: handleOverlayClick,
68
+ style: overlayPosition
67
69
  }));
68
70
  };
69
71
  SkinTonePopup.displayName = 'SkinTonePopup';
@@ -1 +1 @@
1
- {"version":3,"file":"SkinTonePopup.js","names":["_react","_interopRequireWildcard","require","_dataEmojiComponents","_interopRequireDefault","_emoji","_SkinTonePopup","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SkinTonePopup","_ref","anchorAlignment","anchorOffset","emoji","onHidePopup","onSelect","position","handleOverlayClick","useCallback","event","preventDefault","stopPropagation","emojis","useMemo","result","entries","emojiComponents","forEach","_ref2","value","includes","emojiWithSkinTone","addSkinToneToEmoji","handleClick","push","createElement","StyledSkinTonePopupContentEmoji","onClick","StyledMotionSkinTonePopup","animate","opacity","exit","initial","transition","duration","StyledSkinTonePopupContent","style","StyledSkinTonePopupOverlay","displayName","_default","exports"],"sources":["../../../../../../src/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.tsx"],"sourcesContent":["import React, { FC, MouseEvent, useCallback, useMemo } from 'react';\nimport emojiComponents from 'unicode-emoji-json/data-emoji-components.json';\nimport type { AnchorAlignment } from '../../../../../constants/alignment';\nimport { addSkinToneToEmoji } from '../../../../../utils/emoji';\nimport {\n StyledMotionSkinTonePopup,\n StyledSkinTonePopupContent,\n StyledSkinTonePopupContentEmoji,\n StyledSkinTonePopupOverlay,\n} from './SkinTonePopup.styles';\n\nexport type SkinTonePopupProps = {\n anchorAlignment: AnchorAlignment;\n anchorOffset: number;\n emoji: string;\n onHidePopup: VoidFunction;\n onSelect: (emojiWithSkinTone: string) => void;\n position: { left: number; top: number };\n};\n\nconst SkinTonePopup: FC<SkinTonePopupProps> = ({\n anchorAlignment,\n anchorOffset,\n emoji,\n onHidePopup,\n onSelect,\n position,\n}) => {\n const handleOverlayClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n onHidePopup();\n },\n [onHidePopup]\n );\n\n const emojis = useMemo(() => {\n const result: JSX.Element[] = [];\n\n Object.entries(emojiComponents).forEach(([key, value]) => {\n if (key.includes('skin_tone')) {\n const emojiWithSkinTone = addSkinToneToEmoji(emoji, value);\n\n const handleClick = (event: MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n onSelect(emojiWithSkinTone);\n\n onHidePopup();\n };\n\n result.push(\n <StyledSkinTonePopupContentEmoji key={key} onClick={handleClick}>\n {emojiWithSkinTone}\n </StyledSkinTonePopupContentEmoji>\n );\n }\n });\n\n return result;\n }, [emoji, onHidePopup, onSelect]);\n\n return (\n <StyledMotionSkinTonePopup\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n initial={{ opacity: 0 }}\n transition={{ duration: 0.1 }}\n >\n <StyledSkinTonePopupContent\n anchorAlignment={anchorAlignment}\n anchorOffset={anchorOffset}\n style={position}\n >\n {emojis}\n </StyledSkinTonePopupContent>\n <StyledSkinTonePopupOverlay onClick={handleOverlayClick} />\n </StyledMotionSkinTonePopup>\n );\n};\n\nSkinTonePopup.displayName = 'SkinTonePopup';\n\nexport default SkinTonePopup;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SkinTonePopup.js","names":["_react","_interopRequireWildcard","require","_dataEmojiComponents","_interopRequireDefault","_emoji","_SkinTonePopup","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SkinTonePopup","_ref","anchorAlignment","anchorOffset","emoji","onHidePopup","onSelect","overlayPosition","position","handleOverlayClick","useCallback","event","preventDefault","stopPropagation","emojis","useMemo","result","entries","emojiComponents","forEach","_ref2","value","includes","emojiWithSkinTone","addSkinToneToEmoji","handleClick","push","createElement","StyledSkinTonePopupContentEmoji","onClick","StyledMotionSkinTonePopup","animate","opacity","exit","initial","transition","duration","StyledSkinTonePopupContent","style","StyledSkinTonePopupOverlay","displayName","_default","exports"],"sources":["../../../../../../src/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.tsx"],"sourcesContent":["import React, { FC, MouseEvent, useCallback, useMemo } from 'react';\nimport emojiComponents from 'unicode-emoji-json/data-emoji-components.json';\nimport type { AnchorAlignment } from '../../../../../constants/alignment';\nimport { addSkinToneToEmoji } from '../../../../../utils/emoji';\nimport {\n StyledMotionSkinTonePopup,\n StyledSkinTonePopupContent,\n StyledSkinTonePopupContentEmoji,\n StyledSkinTonePopupOverlay,\n} from './SkinTonePopup.styles';\n\nexport type SkinTonePopupProps = {\n anchorAlignment: AnchorAlignment;\n anchorOffset: number;\n emoji: string;\n onHidePopup: VoidFunction;\n onSelect: (emojiWithSkinTone: string) => void;\n overlayPosition: { top: number };\n position: { left: number; top: number };\n};\n\nconst SkinTonePopup: FC<SkinTonePopupProps> = ({\n anchorAlignment,\n anchorOffset,\n emoji,\n onHidePopup,\n onSelect,\n overlayPosition,\n position,\n}) => {\n const handleOverlayClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n onHidePopup();\n },\n [onHidePopup]\n );\n\n const emojis = useMemo(() => {\n const result: JSX.Element[] = [];\n\n Object.entries(emojiComponents).forEach(([key, value]) => {\n if (key.includes('skin_tone')) {\n const emojiWithSkinTone = addSkinToneToEmoji(emoji, value);\n\n const handleClick = (event: MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n onSelect(emojiWithSkinTone);\n\n onHidePopup();\n };\n\n result.push(\n <StyledSkinTonePopupContentEmoji key={key} onClick={handleClick}>\n {emojiWithSkinTone}\n </StyledSkinTonePopupContentEmoji>\n );\n }\n });\n\n return result;\n }, [emoji, onHidePopup, onSelect]);\n\n return (\n <StyledMotionSkinTonePopup\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n initial={{ opacity: 0 }}\n transition={{ duration: 0.1 }}\n >\n <StyledSkinTonePopupContent\n anchorAlignment={anchorAlignment}\n anchorOffset={anchorOffset}\n style={position}\n >\n {emojis}\n </StyledSkinTonePopupContent>\n <StyledSkinTonePopupOverlay onClick={handleOverlayClick} style={overlayPosition} />\n </StyledMotionSkinTonePopup>\n );\n};\n\nSkinTonePopup.displayName = 'SkinTonePopup';\n\nexport default SkinTonePopup;\n"],"mappings":"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"}
@@ -93,12 +93,11 @@ const StyledSkinTonePopupContentEmoji = _styledComponents.default.div`
93
93
  `;
94
94
  exports.StyledSkinTonePopupContentEmoji = StyledSkinTonePopupContentEmoji;
95
95
  const StyledSkinTonePopupOverlay = _styledComponents.default.div`
96
- bottom: 0;
97
96
  cursor: default;
97
+ height: 100%;
98
98
  left: 0;
99
99
  position: absolute;
100
- right: 0;
101
- top: 0;
100
+ width: 100%;
102
101
  z-index: 1;
103
102
  `;
104
103
  exports.StyledSkinTonePopupOverlay = StyledSkinTonePopupOverlay;
@@ -1 +1 @@
1
- {"version":3,"file":"SkinTonePopup.styles.js","names":["_framerMotion","require","_styledComponents","_interopRequireWildcard","_alignment","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","StyledMotionSkinTonePopup","styled","motion","div","exports","skinTonePopupContentSize","height","width","StyledSkinTonePopupContent","_ref","theme","_ref2","anchorAlignment","anchorOffset","AnchorAlignment","Bottom","css","Top","undefined","StyledSkinTonePopupContentEmoji","StyledSkinTonePopupOverlay"],"sources":["../../../../../../src/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\nimport { AnchorAlignment } from '../../../../../constants/alignment';\nimport type { SkinTonePopupProps } from './SkinTonePopup';\n\nexport const StyledMotionSkinTonePopup = styled(motion.div)`\n z-index: 1;\n`;\n\nexport const skinTonePopupContentSize = {\n height: 48,\n width: 200,\n};\n\ntype StyledSkinTonePopupContentProps = WithTheme<\n Pick<SkinTonePopupProps, 'anchorAlignment' | 'anchorOffset'>\n>;\n\nexport const StyledSkinTonePopupContent = styled.div<StyledSkinTonePopupContentProps>`\n align-items: stretch;\n background-color: ${({ theme }: StyledSkinTonePopupContentProps) => theme['001']};\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 3px;\n box-shadow: 1px 3px 8px rgb(0 0 0 / 30%);\n display: flex;\n height: ${skinTonePopupContentSize.height}px;\n justify-content: stretch;\n position: absolute;\n width: ${skinTonePopupContentSize.width}px;\n z-index: 2;\n\n ::after {\n background-color: inherit;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n border-bottom-right-radius: 3px;\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 2px 2px 8px rgb(4 3 4 / 10%);\n content: '';\n height: 14px;\n position: absolute;\n width: 14px;\n z-index: -2;\n\n ${({ anchorAlignment, anchorOffset }) => {\n switch (anchorAlignment) {\n case AnchorAlignment.Bottom:\n return css`\n bottom: -7px;\n left: calc(50% - 7px + ${anchorOffset}px);\n transform: rotate(45deg);\n `;\n case AnchorAlignment.Top:\n return css`\n top: -7px;\n left: calc(50% - 7px + ${anchorOffset}px);\n transform: rotate(225deg);\n `;\n default:\n return undefined;\n }\n }}\n }\n\n ::before {\n background-color: inherit;\n bottom: 0;\n content: '';\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: -1;\n }\n`;\n\nexport const StyledSkinTonePopupContentEmoji = styled.div`\n align-items: center;\n display: flex;\n flex: 1 1 auto;\n font-size: 24px;\n justify-content: center;\n`;\n\nexport const StyledSkinTonePopupOverlay = styled.div`\n bottom: 0;\n cursor: default;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n`;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SkinTonePopup.styles.js","names":["_framerMotion","require","_styledComponents","_interopRequireWildcard","_alignment","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","StyledMotionSkinTonePopup","styled","motion","div","exports","skinTonePopupContentSize","height","width","StyledSkinTonePopupContent","_ref","theme","_ref2","anchorAlignment","anchorOffset","AnchorAlignment","Bottom","css","Top","undefined","StyledSkinTonePopupContentEmoji","StyledSkinTonePopupOverlay"],"sources":["../../../../../../src/components/emoji-picker/emoji-picker-emojis/emoji/skin-tone-popup/SkinTonePopup.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\nimport { AnchorAlignment } from '../../../../../constants/alignment';\nimport type { SkinTonePopupProps } from './SkinTonePopup';\n\nexport const StyledMotionSkinTonePopup = styled(motion.div)`\n z-index: 1;\n`;\n\nexport const skinTonePopupContentSize = {\n height: 48,\n width: 200,\n};\n\ntype StyledSkinTonePopupContentProps = WithTheme<\n Pick<SkinTonePopupProps, 'anchorAlignment' | 'anchorOffset'>\n>;\n\nexport const StyledSkinTonePopupContent = styled.div<StyledSkinTonePopupContentProps>`\n align-items: stretch;\n background-color: ${({ theme }: StyledSkinTonePopupContentProps) => theme['001']};\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 3px;\n box-shadow: 1px 3px 8px rgb(0 0 0 / 30%);\n display: flex;\n height: ${skinTonePopupContentSize.height}px;\n justify-content: stretch;\n position: absolute;\n width: ${skinTonePopupContentSize.width}px;\n z-index: 2;\n\n ::after {\n background-color: inherit;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n border-bottom-right-radius: 3px;\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 2px 2px 8px rgb(4 3 4 / 10%);\n content: '';\n height: 14px;\n position: absolute;\n width: 14px;\n z-index: -2;\n\n ${({ anchorAlignment, anchorOffset }) => {\n switch (anchorAlignment) {\n case AnchorAlignment.Bottom:\n return css`\n bottom: -7px;\n left: calc(50% - 7px + ${anchorOffset}px);\n transform: rotate(45deg);\n `;\n case AnchorAlignment.Top:\n return css`\n top: -7px;\n left: calc(50% - 7px + ${anchorOffset}px);\n transform: rotate(225deg);\n `;\n default:\n return undefined;\n }\n }}\n }\n\n ::before {\n background-color: inherit;\n bottom: 0;\n content: '';\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n z-index: -1;\n }\n`;\n\nexport const StyledSkinTonePopupContentEmoji = styled.div`\n align-items: center;\n display: flex;\n flex: 1 1 auto;\n font-size: 24px;\n justify-content: center;\n`;\n\nexport const StyledSkinTonePopupOverlay = styled.div`\n cursor: default;\n height: 100%;\n left: 0;\n position: absolute;\n width: 100%;\n z-index: 1;\n`;\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAAqE,SAAAI,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAG9D,MAAMW,yBAAyB,GAAG,IAAAC,yBAAM,EAACC,oBAAM,CAACC,GAAG,CAAE;AAC5D;AACA,CAAC;AAACC,OAAA,CAAAJ,yBAAA,GAAAA,yBAAA;AAEK,MAAMK,wBAAwB,GAAG;EACpCC,MAAM,EAAE,EAAE;EACVC,KAAK,EAAE;AACX,CAAC;AAACH,OAAA,CAAAC,wBAAA,GAAAA,wBAAA;AAMK,MAAMG,0BAA0B,GAAGP,yBAAM,CAACE,GAAqC;AACtF;AACA,wBAAwBM,IAAA;EAAA,IAAC;IAAEC;EAAuC,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AACrF;AACA;AACA;AACA;AACA,cAAcL,wBAAwB,CAACC,MAAO;AAC9C;AACA;AACA,aAAaD,wBAAwB,CAACE,KAAM;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAUI,KAAA,IAAuC;EAAA,IAAtC;IAAEC,eAAe;IAAEC;EAAa,CAAC,GAAAF,KAAA;EAChC,QAAQC,eAAe;IACnB,KAAKE,0BAAe,CAACC,MAAM;MACvB,OAAO,IAAAC,qBAAG,CAAC;AAC/B;AACA,iDAAiDH,YAAa;AAC9D;AACA,qBAAqB;IACL,KAAKC,0BAAe,CAACG,GAAG;MACpB,OAAO,IAAAD,qBAAG,CAAC;AAC/B;AACA,iDAAiDH,YAAa;AAC9D;AACA,qBAAqB;IACL;MACI,OAAOK,SAAS;EAAC;AAE7B,CAAE;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAACd,OAAA,CAAAI,0BAAA,GAAAA,0BAAA;AAEK,MAAMW,+BAA+B,GAAGlB,yBAAM,CAACE,GAAI;AAC1D;AACA;AACA;AACA;AACA;AACA,CAAC;AAACC,OAAA,CAAAe,+BAAA,GAAAA,+BAAA;AAEK,MAAMC,0BAA0B,GAAGnB,yBAAM,CAACE,GAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAACC,OAAA,CAAAgB,0BAAA,GAAAA,0BAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/emoji-input",
3
- "version": "5.0.0-beta.81",
3
+ "version": "5.0.0-beta.82",
4
4
  "description": "Input field that supports HTML elements and emojis",
5
5
  "keywords": [
6
6
  "chayns",
@@ -68,5 +68,5 @@
68
68
  "publishConfig": {
69
69
  "access": "public"
70
70
  },
71
- "gitHead": "1d43cf557944911ef9403684c83d844501f02857"
71
+ "gitHead": "fee2ae8bc8006e282900a6e4a77c6de062bedbd7"
72
72
  }