@pnp/spfx-controls-react 3.16.0-beta.6691242 → 3.16.0-beta.6739476

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.
Files changed (58) hide show
  1. package/lib/common/telemetry/version.js +1 -1
  2. package/lib/controls/HoverReactionsBar/HoverReactionsBar.d.ts +4 -0
  3. package/lib/controls/HoverReactionsBar/HoverReactionsBar.d.ts.map +1 -0
  4. package/lib/controls/HoverReactionsBar/HoverReactionsBar.js +27 -0
  5. package/lib/controls/HoverReactionsBar/HoverReactionsBar.js.map +1 -0
  6. package/lib/controls/HoverReactionsBar/IHoverReactionsBarProps.d.ts +11 -0
  7. package/lib/controls/HoverReactionsBar/IHoverReactionsBarProps.d.ts.map +1 -0
  8. package/lib/controls/HoverReactionsBar/IHoverReactionsBarProps.js +2 -0
  9. package/lib/controls/HoverReactionsBar/IHoverReactionsBarProps.js.map +1 -0
  10. package/lib/controls/HoverReactionsBar/components/hoverReactionbarControl/HoverReactionBarControl.d.ts +4 -0
  11. package/lib/controls/HoverReactionsBar/components/hoverReactionbarControl/HoverReactionBarControl.d.ts.map +1 -0
  12. package/lib/controls/HoverReactionsBar/components/hoverReactionbarControl/HoverReactionBarControl.js +58 -0
  13. package/lib/controls/HoverReactionsBar/components/hoverReactionbarControl/HoverReactionBarControl.js.map +1 -0
  14. package/lib/controls/HoverReactionsBar/components/hoverReactionbarControl/useHoverReactionsStyles.d.ts +2 -0
  15. package/lib/controls/HoverReactionsBar/components/hoverReactionbarControl/useHoverReactionsStyles.d.ts.map +1 -0
  16. package/lib/controls/HoverReactionsBar/components/hoverReactionbarControl/useHoverReactionsStyles.js +38 -0
  17. package/lib/controls/HoverReactionsBar/components/hoverReactionbarControl/useHoverReactionsStyles.js.map +1 -0
  18. package/lib/controls/HoverReactionsBar/components/reactionPicker/ReactionGroups.d.ts +8 -0
  19. package/lib/controls/HoverReactionsBar/components/reactionPicker/ReactionGroups.d.ts.map +1 -0
  20. package/lib/controls/HoverReactionsBar/components/reactionPicker/ReactionGroups.js +21 -0
  21. package/lib/controls/HoverReactionsBar/components/reactionPicker/ReactionGroups.js.map +1 -0
  22. package/lib/controls/HoverReactionsBar/components/reactionPicker/ReactionPicker.d.ts +11 -0
  23. package/lib/controls/HoverReactionsBar/components/reactionPicker/ReactionPicker.d.ts.map +1 -0
  24. package/lib/controls/HoverReactionsBar/components/reactionPicker/ReactionPicker.js +149 -0
  25. package/lib/controls/HoverReactionsBar/components/reactionPicker/ReactionPicker.js.map +1 -0
  26. package/lib/controls/HoverReactionsBar/components/reactionPicker/RenderEmoji.d.ts +9 -0
  27. package/lib/controls/HoverReactionsBar/components/reactionPicker/RenderEmoji.d.ts.map +1 -0
  28. package/lib/controls/HoverReactionsBar/components/reactionPicker/RenderEmoji.js +31 -0
  29. package/lib/controls/HoverReactionsBar/components/reactionPicker/RenderEmoji.js.map +1 -0
  30. package/lib/controls/HoverReactionsBar/components/reactionPicker/useReactionPickerStyle.d.ts +2 -0
  31. package/lib/controls/HoverReactionsBar/components/reactionPicker/useReactionPickerStyle.d.ts.map +1 -0
  32. package/lib/controls/HoverReactionsBar/components/reactionPicker/useReactionPickerStyle.js +79 -0
  33. package/lib/controls/HoverReactionsBar/components/reactionPicker/useReactionPickerStyle.js.map +1 -0
  34. package/lib/controls/HoverReactionsBar/data/fluentEmojis.json +41922 -0
  35. package/lib/controls/HoverReactionsBar/data/fluentEmojisGroups.json +34 -0
  36. package/lib/controls/HoverReactionsBar/hooks/useFluentEmojis.d.ts +11 -0
  37. package/lib/controls/HoverReactionsBar/hooks/useFluentEmojis.d.ts.map +1 -0
  38. package/lib/controls/HoverReactionsBar/hooks/useFluentEmojis.js +233 -0
  39. package/lib/controls/HoverReactionsBar/hooks/useFluentEmojis.js.map +1 -0
  40. package/lib/controls/HoverReactionsBar/hooks/useOnClickOutside.d.ts +2 -0
  41. package/lib/controls/HoverReactionsBar/hooks/useOnClickOutside.d.ts.map +1 -0
  42. package/lib/controls/HoverReactionsBar/hooks/useOnClickOutside.js +21 -0
  43. package/lib/controls/HoverReactionsBar/hooks/useOnClickOutside.js.map +1 -0
  44. package/lib/controls/HoverReactionsBar/index.d.ts +2 -0
  45. package/lib/controls/HoverReactionsBar/index.d.ts.map +1 -0
  46. package/lib/controls/HoverReactionsBar/index.js +2 -0
  47. package/lib/controls/HoverReactionsBar/index.js.map +1 -0
  48. package/lib/controls/HoverReactionsBar/models/IEmoji.d.ts +13 -0
  49. package/lib/controls/HoverReactionsBar/models/IEmoji.d.ts.map +1 -0
  50. package/lib/controls/HoverReactionsBar/models/IEmoji.js +2 -0
  51. package/lib/controls/HoverReactionsBar/models/IEmoji.js.map +1 -0
  52. package/lib/controls/HoverReactionsBar/models/IFluentEmoji.d.ts +34 -0
  53. package/lib/controls/HoverReactionsBar/models/IFluentEmoji.d.ts.map +1 -0
  54. package/lib/controls/HoverReactionsBar/models/IFluentEmoji.js +2 -0
  55. package/lib/controls/HoverReactionsBar/models/IFluentEmoji.js.map +1 -0
  56. package/lib/loc/en-us.js +1 -0
  57. package/lib/loc/en-us.js.map +1 -1
  58. package/package.json +4 -1
@@ -1,2 +1,2 @@
1
- export var version = "3.16.0-beta.6691242";
1
+ export var version = "3.16.0-beta.6739476";
2
2
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import { IHoverReactionsBarProps } from './IHoverReactionsBarProps';
3
+ export declare const HoverReactionsBar: React.FunctionComponent<IHoverReactionsBarProps>;
4
+ //# sourceMappingURL=HoverReactionsBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverReactionsBar.d.ts","sourceRoot":"","sources":["../../../src/controls/HoverReactionsBar/HoverReactionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,CAgB9E,CAAC"}
@@ -0,0 +1,27 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import * as React from 'react';
13
+ import { useTheme } from '@fluentui/react';
14
+ import { FluentProvider, } from '@fluentui/react-components';
15
+ import { createV9Theme } from '@fluentui/react-migration-v8-v9';
16
+ import { HoverReactionsBarControl, } from './components/hoverReactionbarControl/HoverReactionBarControl';
17
+ export var HoverReactionsBar = function (props) {
18
+ var themeV8 = props.themeV8;
19
+ var theme = themeV8 !== null && themeV8 !== void 0 ? themeV8 : useTheme();
20
+ var setTheme = React.useCallback(function () {
21
+ return createV9Theme(theme);
22
+ }, [theme]);
23
+ return (React.createElement(React.Fragment, null,
24
+ React.createElement(FluentProvider, { theme: setTheme() },
25
+ React.createElement(HoverReactionsBarControl, __assign({}, props)))));
26
+ };
27
+ //# sourceMappingURL=HoverReactionsBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverReactionsBar.js","sourceRoot":"","sources":["../../../src/controls/HoverReactionsBar/HoverReactionsBar.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,cAAc,GAEf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EACL,wBAAwB,GACzB,MAAM,8DAA8D,CAAC;AAGtE,MAAM,CAAC,IAAM,iBAAiB,GAAqD,UACjF,KAAuD;IAE/C,IAAA,OAAO,GAAK,KAAK,QAAV,CAAW;IAC1B,IAAM,KAAK,GAAI,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,EAAE,CAAC;IACrC,IAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC;QACjC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL;QACE,oBAAC,cAAc,IAAC,KAAK,EAAE,QAAQ,EAAE;YAC/B,oBAAC,wBAAwB,eAAK,KAAK,EAAI,CACxB,CAChB,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Theme } from 'office-ui-fabric-react';
2
+ import { IEmojiInfo } from './models/IFluentEmoji';
3
+ export interface IHoverReactionsBarProps {
4
+ onSelect: (emoji: string | undefined, emojiInfo?: IEmojiInfo) => void;
5
+ isOpen: boolean;
6
+ onDismiss: () => void;
7
+ top4Reactions?: string[];
8
+ target: HTMLDivElement;
9
+ themeV8?: Theme;
10
+ }
11
+ //# sourceMappingURL=IHoverReactionsBarProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHoverReactionsBarProps.d.ts","sourceRoot":"","sources":["../../../src/controls/HoverReactionsBar/IHoverReactionsBarProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAE;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IHoverReactionsBarProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHoverReactionsBarProps.js","sourceRoot":"","sources":["../../../src/controls/HoverReactionsBar/IHoverReactionsBarProps.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import { IHoverReactionsBarProps } from '../../IHoverReactionsBarProps';
3
+ export declare const HoverReactionsBarControl: React.FunctionComponent<IHoverReactionsBarProps>;
4
+ //# sourceMappingURL=HoverReactionBarControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverReactionBarControl.d.ts","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/hoverReactionbarControl/HoverReactionBarControl.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAMxE,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,CAqFrF,CAAC"}
@@ -0,0 +1,58 @@
1
+ /* eslint-disable no-unused-expressions */
2
+ /* eslint-disable @rushstack/no-new-null */
3
+ import * as React from 'react';
4
+ import { Card } from '@fluentui/react-components';
5
+ import { Icon } from '@iconify/react';
6
+ import { useFluentEmojis } from '../../hooks/useFluentEmojis';
7
+ import { useOnClickOutside } from '../../hooks/useOnClickOutside';
8
+ import { ReactionPicker } from '../reactionPicker/ReactionPicker';
9
+ import { RenderEmoji } from '../reactionPicker/RenderEmoji';
10
+ import { useHoverReactionsStyles } from './useHoverReactionsStyles';
11
+ export var HoverReactionsBarControl = function (props) {
12
+ var onSelect = props.onSelect, isOpen = props.isOpen, onDismiss = props.onDismiss, top4Reactions = props.top4Reactions, target = props.target;
13
+ var _a = React.useState(false), showEmojiPicker = _a[0], setShowEmojiPicker = _a[1];
14
+ var getFluentEmojiByName = useFluentEmojis().getFluentEmojiByName;
15
+ var styles = useHoverReactionsStyles();
16
+ var _b = React.useState([]), renderEmoji = _b[0], setRenderEmoji = _b[1];
17
+ var defaultTop4Reactions = ["Thumbs up", "Red heart", "grinning face with big eyes", "Face with open mouth"];
18
+ var toolbarRef = React.useRef(null);
19
+ var onClose = React.useCallback(function () {
20
+ onDismiss();
21
+ }, [onDismiss]);
22
+ useOnClickOutside(true, toolbarRef, onClose);
23
+ var loadEmoji = React.useCallback(function () {
24
+ var topReaction = top4Reactions && (top4Reactions === null || top4Reactions === void 0 ? void 0 : top4Reactions.length) > 0 ? top4Reactions : defaultTop4Reactions;
25
+ var renderEmoji = [];
26
+ for (var _i = 0, topReaction_1 = topReaction; _i < topReaction_1.length; _i++) {
27
+ var emojii = topReaction_1[_i];
28
+ var emojiInfo = getFluentEmojiByName(emojii);
29
+ if (emojiInfo) {
30
+ renderEmoji.push(React.createElement(RenderEmoji, { key: emojii, className: styles.emojiImage, emoji: emojiInfo, onSelect: function (emoji, emojiInfo) {
31
+ onSelect(emoji, emojiInfo);
32
+ } }));
33
+ }
34
+ }
35
+ renderEmoji.push(React.createElement(Icon, { key: "add", className: styles.emojiImage, icon: "fluent:emoji-add-16-regular", width: 30, height: 30, onClick: function (ev) {
36
+ ev.preventDefault();
37
+ ev.stopPropagation();
38
+ setShowEmojiPicker(true);
39
+ } }));
40
+ setRenderEmoji(renderEmoji);
41
+ }, [getFluentEmojiByName, onSelect, onDismiss, top4Reactions, defaultTop4Reactions]);
42
+ React.useEffect(function () {
43
+ setRenderEmoji([]);
44
+ loadEmoji();
45
+ }, [isOpen]);
46
+ return (React.createElement(React.Fragment, null,
47
+ React.createElement(Card, { className: styles.card, style: {
48
+ display: isOpen ? "block" : "none",
49
+ top: (target === null || target === void 0 ? void 0 : target.offsetTop) - 55,
50
+ left: target === null || target === void 0 ? void 0 : target.offsetLeft,
51
+ }, ref: toolbarRef },
52
+ React.createElement("div", { className: styles.cardContent },
53
+ React.createElement("div", { className: styles.emojiList }, renderEmoji)),
54
+ showEmojiPicker && (React.createElement(ReactionPicker, { returnType: "image", isOpen: showEmojiPicker, onDismiss: function () {
55
+ setShowEmojiPicker(false);
56
+ }, onSelect: onSelect, target: toolbarRef === null || toolbarRef === void 0 ? void 0 : toolbarRef.current })))));
57
+ };
58
+ //# sourceMappingURL=HoverReactionBarControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverReactionBarControl.js","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/hoverReactionbarControl/HoverReactionBarControl.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const useHoverReactionsStyles: () => Record<"card" | "emoji" | "searchBox" | "emojiList" | "cardContent" | "emojiRoot" | "emojiImage", string>;
2
+ //# sourceMappingURL=useHoverReactionsStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHoverReactionsStyles.d.ts","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/hoverReactionbarControl/useHoverReactionsStyles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB,iHAiDlC,CAAC"}
@@ -0,0 +1,38 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { makeStyles, shorthands, } from '@fluentui/react-components';
13
+ export var useHoverReactionsStyles = makeStyles({
14
+ emojiList: __assign(__assign({ display: "flex", flexDirection: "row", justifyContent: "flex-start", alignItems: "center", height: "30px" }, shorthands.gap("10px")), { width: "100%" }),
15
+ card: __assign(__assign(__assign({ position: "absolute" }, shorthands.borderRadius("4px")), { width: "160px" }), shorthands.padding("5px")),
16
+ cardContent: __assign(__assign(__assign({ display: "flex", width: "100%" }, shorthands.flex("1")), { flexDirection: "column", justifyContent: "center", alignItems: "center" }), shorthands.gap("10px")),
17
+ searchBox: {
18
+ width: "100%",
19
+ },
20
+ emojiRoot: {
21
+ /* ...shorthands.margin("10px"), */
22
+ cursor: "pointer",
23
+ },
24
+ emoji: {
25
+ fontSize: "30px",
26
+ },
27
+ emojiImage: {
28
+ with: "20px",
29
+ height: "20px",
30
+ cursor: "pointer",
31
+ '&:hover': {
32
+ transform: "scale(1.2)",
33
+ with: "25px",
34
+ height: "25px",
35
+ },
36
+ }
37
+ });
38
+ //# sourceMappingURL=useHoverReactionsStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHoverReactionsStyles.js","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/hoverReactionbarControl/useHoverReactionsStyles.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EACL,UAAU,EACV,UAAU,GACX,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAU,CAAC;IAChD,SAAS,sBACR,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,EACnB,cAAc,EAAE,YAAY,EAC5B,UAAU,EAAE,QAAQ,EACrB,MAAM,EAAE,MAAM,IACX,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KACxB,KAAK,EAAE,MAAM,GACd;IACD,IAAI,+BACF,QAAQ,EAAC,UAAU,IAChB,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,KACjC,KAAK,EAAE,OAAO,KAEX,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;IACD,WAAW,+BACT,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,IACV,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KACvB,aAAa,EAAE,QAAQ,EACvB,cAAc,EAAE,QAAQ,EACxB,UAAU,EAAE,QAAQ,KAEjB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAC1B;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;KACd;IACD,SAAS,EAAE;QAEX,qCAAqC;QACnC,MAAM,EAAE,SAAS;KAClB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM;KAEjB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE;YACT,SAAS,EAAE,YAAY;YACxB,IAAI,EAAE,MAAM;YACX,MAAM,EAAE,MAAM;SACf;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ export interface IReactionGroupsProps {
3
+ selectedGroup: string;
4
+ groups: string[];
5
+ onSelectedGroup: (group: string) => void;
6
+ }
7
+ export declare const ReactionGroups: React.FunctionComponent<IReactionGroupsProps>;
8
+ //# sourceMappingURL=ReactionGroups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactionGroups.d.ts","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/reactionPicker/ReactionGroups.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAOD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CAqCxE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { Button, Divider, mergeClasses, } from '@fluentui/react-components';
3
+ import fluentEmojiGroups from '../../data/fluentEmojisGroups.json';
4
+ import { useReactionPickerStyles } from './useReactionPickerStyle';
5
+ export var ReactionGroups = function (props) {
6
+ var onSelectedGroup = props.onSelectedGroup, selectedGroup = props.selectedGroup;
7
+ var styles = useReactionPickerStyles();
8
+ return (React.createElement(React.Fragment, null,
9
+ React.createElement(Divider, null),
10
+ React.createElement("div", { className: styles.emojiGroupContainer }, fluentEmojiGroups.map(function (group, index) {
11
+ var groupName = group.groupName, emoji = group.emoji;
12
+ return (React.createElement(Button, { className: styles.groupButton, key: index, onClick: function (ev) {
13
+ ev.preventDefault();
14
+ onSelectedGroup(groupName);
15
+ }, appearance: "subtle", icon: React.createElement("div", { className: mergeClasses(styles.emojiImageGroup, selectedGroup === groupName ? styles.emojiSelected : ""), title: groupName, style: {
16
+ WebkitMaskImage: "url(".concat(emoji, ")"),
17
+ maskImage: "url(".concat(emoji, ")"),
18
+ } }) }));
19
+ }))));
20
+ };
21
+ //# sourceMappingURL=ReactionGroups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactionGroups.js","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/reactionPicker/ReactionGroups.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,MAAM,EACN,OAAO,EACP,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAanE,MAAM,CAAC,IAAM,cAAc,GAAkD,UAC3E,KAAoD;IAE1C,IAAA,eAAe,GAAoB,KAAK,gBAAzB,EAAE,aAAa,GAAK,KAAK,cAAV,CAAW;IACnD,IAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;IACzC,OAAO,CACL;QACE,oBAAC,OAAO,OAAG;QACX,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,IACvC,iBAAiB,CAAC,GAAG,CAAC,UAAC,KAAY,EAAE,KAAK;YACjC,IAAA,SAAS,GAAY,KAAK,UAAjB,EAAE,KAAK,GAAK,KAAK,MAAV,CAAW;YACnC,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAE,MAAM,CAAC,WAAW,EAC7B,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,UAAC,EAAE;oBACV,EAAE,CAAC,cAAc,EAAE,CAAC;oBACpB,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC,EACD,UAAU,EAAC,QAAQ,EACnB,IAAI,EACF,6BACE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EACxG,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE;wBACL,eAAe,EAAE,cAAO,KAAK,MAAG;wBAChC,SAAS,EAAE,cAAO,KAAK,MAAG;qBAE3B,GACD,GAEJ,CACH,CAAC;QACJ,CAAC,CAAC,CACE,CACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import { IEmojiInfo } from '../../models/IFluentEmoji';
3
+ export interface IReactionProps {
4
+ onSelect: (emoji: string | undefined, emojiInfo?: IEmojiInfo) => void;
5
+ isOpen: boolean;
6
+ onDismiss: () => void;
7
+ returnType?: "emoji" | "image";
8
+ target?: HTMLDivElement;
9
+ }
10
+ export declare const ReactionPicker: React.FunctionComponent<IReactionProps>;
11
+ //# sourceMappingURL=ReactionPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactionPicker.d.ts","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/reactionPicker/ReactionPicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAID,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAsKlE,CAAC"}
@@ -0,0 +1,149 @@
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ /* eslint-disable @typescript-eslint/no-explicit-any */
11
+ /* eslint-disable no-unused-expressions */
12
+ import * as React from 'react';
13
+ import strings from 'ControlStrings';
14
+ import { Card, Input, tokens, } from '@fluentui/react-components';
15
+ import { Icon } from '@iconify/react';
16
+ import emojiList from '../../data/fluentEmojis.json';
17
+ import { useFluentEmojis } from '../../hooks/useFluentEmojis';
18
+ import { useOnClickOutside } from '../../hooks/useOnClickOutside';
19
+ import { ReactionGroups } from './ReactionGroups';
20
+ import { RenderEmoji } from './RenderEmoji';
21
+ import { useReactionPickerStyles } from './useReactionPickerStyle';
22
+ var PICKER_WIDTH = 350;
23
+ var PICKER_HEIGHT = 420;
24
+ var DEFAULT_GROUP = "Smileys & Emotion";
25
+ export var ReactionPicker = function (props) {
26
+ var onSelect = props.onSelect, isOpen = props.isOpen, onDismiss = props.onDismiss, returnType = props.returnType, target = props.target;
27
+ var pickerRef = React.useRef(null);
28
+ var styles = useReactionPickerStyles();
29
+ var _a = React.useState([]), renderEmoji = _a[0], setRenderEmoji = _a[1];
30
+ var _b = React.useState(""), searchValue = _b[0], setSearchValue = _b[1];
31
+ var _c = React.useState(), groups = _c[0], setGroups = _c[1];
32
+ var _d = React.useState(DEFAULT_GROUP), selectedGroup = _d[0], setSelectedGroup = _d[1];
33
+ var groupsRef = React.useRef();
34
+ var _e = React.useState(), pickerStyles = _e[0], setStyles = _e[1];
35
+ var isSearchingRef = React.useRef(false);
36
+ var _f = useFluentEmojis(), getFluentEmojisByGroup = _f.getFluentEmojisByGroup, getFluentEmojis = _f.getFluentEmojis;
37
+ var onClose = React.useCallback(function () {
38
+ onDismiss();
39
+ }, [onDismiss]);
40
+ useOnClickOutside(true, pickerRef, onClose);
41
+ var loadEmoji = React.useCallback(function (selectedGroup) {
42
+ isSearchingRef.current = false;
43
+ setSearchValue("");
44
+ if (!(groupsRef === null || groupsRef === void 0 ? void 0 : groupsRef.current)) {
45
+ return;
46
+ }
47
+ var emojiList = selectedGroup ? groupsRef.current[selectedGroup] : groups[DEFAULT_GROUP];
48
+ setRenderEmoji([]);
49
+ var _loop_1 = function (index) {
50
+ var emojiInfo = emojiList[index];
51
+ if (emojiInfo) {
52
+ setRenderEmoji(function (emojis) {
53
+ return __spreadArray(__spreadArray([], emojis, true), [
54
+ React.createElement(RenderEmoji, { key: index, emoji: emojiInfo, onSelect: function (emoji) {
55
+ document.body.style.pointerEvents = "";
56
+ onSelect(emoji, emojiInfo);
57
+ onDismiss();
58
+ } }),
59
+ ], false);
60
+ });
61
+ }
62
+ };
63
+ for (var index = 0; index < emojiList.length; index++) {
64
+ _loop_1(index);
65
+ }
66
+ }, [emojiList, onSelect, onDismiss, groups, returnType]);
67
+ React.useEffect(function () {
68
+ var countainerBounds = target === null || target === void 0 ? void 0 : target.getBoundingClientRect();
69
+ var pickerTopPosition = 0;
70
+ var pickerLeftPosition = 0;
71
+ if ((countainerBounds === null || countainerBounds === void 0 ? void 0 : countainerBounds.top) + PICKER_HEIGHT > window.innerHeight) {
72
+ pickerTopPosition = countainerBounds.top - PICKER_HEIGHT - 10;
73
+ if (pickerTopPosition < 0) {
74
+ pickerTopPosition = 0;
75
+ }
76
+ }
77
+ else {
78
+ pickerTopPosition = (countainerBounds === null || countainerBounds === void 0 ? void 0 : countainerBounds.bottom) + 10;
79
+ if (pickerTopPosition < 0) {
80
+ pickerTopPosition = 0;
81
+ }
82
+ }
83
+ if ((countainerBounds === null || countainerBounds === void 0 ? void 0 : countainerBounds.left) + PICKER_WIDTH > window.innerWidth) {
84
+ pickerLeftPosition = (countainerBounds === null || countainerBounds === void 0 ? void 0 : countainerBounds.left) - PICKER_WIDTH;
85
+ }
86
+ else {
87
+ pickerLeftPosition = countainerBounds === null || countainerBounds === void 0 ? void 0 : countainerBounds.left;
88
+ }
89
+ setStyles({
90
+ top: "".concat(pickerTopPosition, "px"),
91
+ left: "".concat(pickerLeftPosition, "px"),
92
+ zIndex: "1000000",
93
+ display: isOpen ? "block" : "none",
94
+ });
95
+ }, [target, isOpen, pickerRef]);
96
+ React.useEffect(function () {
97
+ var listByGroup = getFluentEmojisByGroup();
98
+ groupsRef.current = listByGroup;
99
+ setGroups(listByGroup);
100
+ }, []);
101
+ React.useEffect(function () {
102
+ setRenderEmoji([]);
103
+ setSearchValue("");
104
+ loadEmoji(DEFAULT_GROUP);
105
+ }, [isOpen]);
106
+ var searchEmoji = React.useCallback(function (searchText) {
107
+ isSearchingRef.current = true;
108
+ var mewlist = getFluentEmojis().filter(function (emojiInfo) {
109
+ var _a;
110
+ if (emojiInfo) {
111
+ return (_a = emojiInfo.keywords) === null || _a === void 0 ? void 0 : _a.some(function (keyword) { return keyword.includes(searchText); });
112
+ }
113
+ return false;
114
+ });
115
+ setRenderEmoji([]);
116
+ var _loop_2 = function (index) {
117
+ var emojiInfo = mewlist[index];
118
+ if (emojiInfo) {
119
+ setRenderEmoji(function (emojis) {
120
+ return __spreadArray(__spreadArray([], emojis, true), [
121
+ React.createElement(RenderEmoji, { key: index, emoji: emojiInfo, onSelect: function (emoji) {
122
+ onSelect(emoji, emojiInfo);
123
+ onDismiss();
124
+ } }),
125
+ ], false);
126
+ });
127
+ }
128
+ };
129
+ for (var index = 0; index < mewlist.length; index++) {
130
+ _loop_2(index);
131
+ }
132
+ }, [onSelect, onDismiss, groups, returnType]);
133
+ return (React.createElement(React.Fragment, null,
134
+ React.createElement(Card, { className: styles.card, style: pickerStyles, ref: pickerRef },
135
+ React.createElement("div", { className: styles.cardContent },
136
+ React.createElement(Input, { value: searchValue, placeholder: strings.HoverReactionBarSearchEmojiPlaceholder, onChange: function (ev, data) {
137
+ var _a;
138
+ setSearchValue((data === null || data === void 0 ? void 0 : data.value) || "");
139
+ !((_a = ev.currentTarget) === null || _a === void 0 ? void 0 : _a.value) ? loadEmoji(selectedGroup) : searchEmoji(ev.currentTarget.value);
140
+ }, type: "search", className: styles.searchBox, contentBefore: React.createElement(Icon, { icon: "fluent:search-20-regular", color: tokens.colorBrandForeground1 }), onKeyDown: function (ev) {
141
+ ev.key === "Enter" ? searchEmoji(ev.currentTarget.value) : null;
142
+ } }),
143
+ React.createElement("div", { className: styles.emojiList }, renderEmoji),
144
+ isSearchingRef.current ? null : (React.createElement(ReactionGroups, { selectedGroup: selectedGroup, groups: groups, onSelectedGroup: function (groupName) {
145
+ setSelectedGroup(groupName);
146
+ loadEmoji(groupName);
147
+ } }))))));
148
+ };
149
+ //# sourceMappingURL=ReactionPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactionPicker.js","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/reactionPicker/ReactionPicker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { IEmojiInfo } from '../../models/IFluentEmoji';
3
+ export interface IRenderEmojiProps {
4
+ emoji: IEmojiInfo;
5
+ onSelect?: (emoji: string | undefined, emojiInfo?: IEmojiInfo) => void;
6
+ className?: string;
7
+ }
8
+ export declare const RenderEmoji: React.FunctionComponent<IRenderEmojiProps>;
9
+ //# sourceMappingURL=RenderEmoji.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderEmoji.d.ts","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/reactionPicker/RenderEmoji.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,UAAU,EAEX,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAuClE,CAAC"}
@@ -0,0 +1,31 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import * as React from 'react';
3
+ import { useReactionPickerStyles } from './useReactionPickerStyle';
4
+ export var RenderEmoji = function (props) {
5
+ var emoji = props.emoji, onSelect = props.onSelect, className = props.className;
6
+ var styles = useReactionPickerStyles();
7
+ var imageUrl = React.useMemo(function () {
8
+ try {
9
+ var _a = emoji || {}, styles_1 = _a.styles, skintones = _a.skintones;
10
+ var Default = (skintones || {}).Default;
11
+ var image = styles_1 ? styles_1.Color : undefined;
12
+ if (!image) {
13
+ image = Default ? Default.Color : "";
14
+ }
15
+ return image;
16
+ }
17
+ catch (error) {
18
+ console.log(error);
19
+ }
20
+ }, [emoji, styles]);
21
+ if (!emoji) {
22
+ return null;
23
+ }
24
+ return (React.createElement(React.Fragment, null,
25
+ React.createElement("img", { src: imageUrl, alt: emoji.cldr, className: className !== null && className !== void 0 ? className : styles.emojiImage, onClick: function () {
26
+ if (onSelect) {
27
+ onSelect(emoji.glyph, emoji);
28
+ }
29
+ } })));
30
+ };
31
+ //# sourceMappingURL=RenderEmoji.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderEmoji.js","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/reactionPicker/RenderEmoji.tsx"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAQnE,MAAM,CAAC,IAAM,WAAW,GAA+C,UACrE,KAAiD;IAEzC,IAAA,KAAK,GAA0B,KAAK,MAA/B,EAAE,QAAQ,GAAgB,KAAK,SAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IAC7C,IAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;IAEzC,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI;YACI,IAAA,KAAwB,KAAK,IAAK,EAAiB,EAAjD,QAAM,YAAA,EAAE,SAAS,eAAgC,CAAC;YAClD,IAAA,OAAO,GAAK,CAAA,SAAS,IAAK,EAAgB,CAAA,QAAnC,CAAoC;YACnD,IAAI,KAAK,GAAG,QAAM,CAAC,CAAC,CAAC,QAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE;gBACV,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC;YAED,OAAO,KAAK,CAAC;SACd;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpB;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpB,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL;QACE,6BACE,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,MAAM,CAAC,UAAU,EACzC,OAAO,EAAE;gBACP,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBAC9B;YACH,CAAC,GACD,CACD,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const useReactionPickerStyles: () => Record<"card" | "emoji" | "searchBox" | "emojiList" | "cardContent" | "emojiRoot" | "emojiImage" | "emojiGroupContainer" | "emojiImageGroup" | "emojiSelected" | "groupButton", string>;
2
+ //# sourceMappingURL=useReactionPickerStyle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReactionPickerStyle.d.ts","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/reactionPicker/useReactionPickerStyle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,+LAuFlC,CAAC"}
@@ -0,0 +1,79 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { makeStyles, shorthands, tokens } from "@fluentui/react-components";
13
+ export var useReactionPickerStyles = makeStyles({
14
+ emojiList: {
15
+ display: "grid",
16
+ gridTemplateColumns: "repeat(auto-fill, minmax(min(100%, 30px), 1fr))",
17
+ columnGap: "15px",
18
+ rowGap: "0.5em",
19
+ overflowY: "auto",
20
+ overflowX: "hidden",
21
+ marginTop: "20px",
22
+ maxHeight: "280px",
23
+ width: "100%",
24
+ "scrollbar-color": tokens.colorNeutralBackground1,
25
+ "scrollbar-width": "thin",
26
+ "::-webkit-scrollbar-thumb": __assign(__assign({ backgroundColor: tokens === null || tokens === void 0 ? void 0 : tokens.colorNeutralBackground3 }, shorthands.borderRadius("10px")), shorthands.borderWidth("1px")),
27
+ "::-webkit-scrollbar": {
28
+ width: "7px",
29
+ },
30
+ },
31
+ card: __assign(__assign(__assign({ backgroundColor: tokens.colorNeutralBackground2 }, shorthands.borderRadius("8px")), { width: "350px", height: "420px", position: "fixed", bottom: "10px", zIndex: 9000 }), shorthands.padding("20px")),
32
+ cardContent: __assign({ display: "flex", width: "100%", flexDirection: "column", justifyContent: "center", alignItems: "center" }, shorthands.gap("10px")),
33
+ searchBox: {
34
+ width: "100%",
35
+ },
36
+ emojiRoot: {
37
+ height: "fit-content",
38
+ /* ...shorthands.margin("10px"), */
39
+ cursor: "pointer",
40
+ },
41
+ emoji: {
42
+ fontSize: "30px",
43
+ },
44
+ emojiImage: {
45
+ width: "30px",
46
+ height: "30px",
47
+ cursor: "pointer",
48
+ },
49
+ emojiGroupContainer: {
50
+ position: "absolute",
51
+ display: "grid",
52
+ gridTemplateColumns: "repeat(auto-fit, minmax(min(100%, 30px), 1fr))",
53
+ width: "90%",
54
+ bottom: "10px",
55
+ paddingLeft: "10px",
56
+ paddingRight: "10px",
57
+ },
58
+ emojiImageGroup: {
59
+ width: "20px",
60
+ height: "20px",
61
+ display: "inline-block",
62
+ WebkitMaskSize: "20px",
63
+ WebkitMaskPositionY: "0%",
64
+ backgroundColor: tokens.colorNeutralForeground3,
65
+ "&:hover": {
66
+ backgroundColor: tokens.colorBrandBackground,
67
+ WebkitMaskPositionY: "100%",
68
+ },
69
+ },
70
+ emojiSelected: {
71
+ backgroundColor: tokens.colorBrandBackground,
72
+ WebkitMaskPositionY: "100%",
73
+ },
74
+ groupButton: {
75
+ paddingLeft: "10px",
76
+ paddingRight: "10px",
77
+ },
78
+ });
79
+ //# sourceMappingURL=useReactionPickerStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReactionPickerStyle.js","sourceRoot":"","sources":["../../../../../src/controls/HoverReactionsBar/components/reactionPicker/useReactionPickerStyle.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE5E,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAU,CAAC;IAChD,SAAS,EAAE;QACT,OAAO,EAAE,MAAM;QACf,mBAAmB,EAAE,iDAAiD;QACtE,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,OAAO;QAClB,KAAK,EAAE,MAAM;QACb,iBAAiB,EAAE,MAAM,CAAC,uBAAuB;QACjD,iBAAiB,EAAE,MAAM;QACzB,2BAA2B,sBACzB,eAAe,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,uBAAuB,IAC7C,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,GAC/B,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CACjC;QACD,qBAAqB,EAAE;YACrB,KAAK,EAAE,KAAK;SACb;KACF;IACD,IAAI,+BACF,eAAe,EAAE,MAAM,CAAC,uBAAuB,IAC5C,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,KACjC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,IAAI,KACT,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAC9B;IACD,WAAW,aACT,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAEb,aAAa,EAAE,QAAQ,EACvB,cAAc,EAAE,QAAQ,EACxB,UAAU,EAAE,QAAQ,IAEjB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAC1B;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;KACd;IACD,SAAS,EAAE;QACT,MAAM,EAAE,aAAa;QACrB,qCAAqC;QACrC,MAAM,EAAE,SAAS;KAClB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM;KACjB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,SAAS;KAClB;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,MAAM;QACf,mBAAmB,EAAE,gDAAgD;QACrE,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,MAAM;KACrB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,cAAc;QACvB,cAAc,EAAE,MAAM;QACtB,mBAAmB,EAAE,IAAI;QACzB,eAAe,EAAE,MAAM,CAAC,uBAAuB;QAC/C,SAAS,EAAE;YACT,eAAe,EAAE,MAAM,CAAC,oBAAoB;YAC5C,mBAAmB,EAAE,MAAM;SAC5B;KACF;IACD,aAAa,EAAE;QACb,eAAe,EAAE,MAAM,CAAC,oBAAoB;QAC5C,mBAAmB,EAAE,MAAM;KAC5B;IACD,WAAW,EAAE;QACX,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,MAAM;KACrB;CACF,CAAC,CAAC"}