@mongodb-js/compass-components 0.12.0 → 0.15.0

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 (160) hide show
  1. package/lib/compass-font-sizes.d.ts +1 -0
  2. package/lib/compass-font-sizes.d.ts.map +1 -1
  3. package/lib/compass-font-sizes.js +2 -1
  4. package/lib/compass-font-sizes.js.map +1 -1
  5. package/lib/compass-ui-colors.d.ts +2 -0
  6. package/lib/compass-ui-colors.d.ts.map +1 -1
  7. package/lib/compass-ui-colors.js +3 -1
  8. package/lib/compass-ui-colors.js.map +1 -1
  9. package/lib/components/accordion.d.ts +5 -3
  10. package/lib/components/accordion.d.ts.map +1 -1
  11. package/lib/components/accordion.js +21 -9
  12. package/lib/components/accordion.js.map +1 -1
  13. package/lib/components/bson-value.d.ts +40 -0
  14. package/lib/components/bson-value.d.ts.map +1 -0
  15. package/lib/components/bson-value.js +208 -0
  16. package/lib/components/bson-value.js.map +1 -0
  17. package/lib/components/cancel-loader.d.ts.map +1 -1
  18. package/lib/components/cancel-loader.js +15 -48
  19. package/lib/components/cancel-loader.js.map +1 -1
  20. package/lib/components/checkbox.d.ts +1 -1
  21. package/lib/components/checkbox.d.ts.map +1 -1
  22. package/lib/components/checkbox.js +2 -6
  23. package/lib/components/checkbox.js.map +1 -1
  24. package/lib/components/confirmation-modal.d.ts +1 -1
  25. package/lib/components/confirmation-modal.d.ts.map +1 -1
  26. package/lib/components/confirmation-modal.js +2 -5
  27. package/lib/components/confirmation-modal.js.map +1 -1
  28. package/lib/components/document-list/auto-focus-context.d.ts +9 -0
  29. package/lib/components/document-list/auto-focus-context.d.ts.map +1 -0
  30. package/lib/components/document-list/auto-focus-context.js +10 -0
  31. package/lib/components/document-list/auto-focus-context.js.map +1 -0
  32. package/lib/components/document-list/document-actions-group.d.ts +16 -0
  33. package/lib/components/document-list/document-actions-group.d.ts.map +1 -0
  34. package/lib/components/document-list/document-actions-group.js +95 -0
  35. package/lib/components/document-list/document-actions-group.js.map +1 -0
  36. package/lib/components/document-list/document-fields-toggle-group.d.ts +11 -0
  37. package/lib/components/document-list/document-fields-toggle-group.d.ts.map +1 -0
  38. package/lib/components/document-list/document-fields-toggle-group.js +69 -0
  39. package/lib/components/document-list/document-fields-toggle-group.js.map +1 -0
  40. package/lib/components/document-list/document.d.ts +12 -0
  41. package/lib/components/document-list/document.d.ts.map +1 -0
  42. package/lib/components/document-list/document.js +90 -0
  43. package/lib/components/document-list/document.js.map +1 -0
  44. package/lib/components/document-list/element-actions.d.ts +16 -0
  45. package/lib/components/document-list/element-actions.d.ts.map +1 -0
  46. package/lib/components/document-list/element-actions.js +94 -0
  47. package/lib/components/document-list/element-actions.js.map +1 -0
  48. package/lib/components/document-list/element-editors.d.ts +33 -0
  49. package/lib/components/document-list/element-editors.d.ts.map +1 -0
  50. package/lib/components/document-list/element-editors.js +143 -0
  51. package/lib/components/document-list/element-editors.js.map +1 -0
  52. package/lib/components/document-list/element.d.ts +12 -0
  53. package/lib/components/document-list/element.d.ts.map +1 -0
  54. package/lib/components/document-list/element.js +347 -0
  55. package/lib/components/document-list/element.js.map +1 -0
  56. package/lib/components/document-list/font-awesome-icon.d.ts +14 -0
  57. package/lib/components/document-list/font-awesome-icon.d.ts.map +1 -0
  58. package/lib/components/document-list/font-awesome-icon.js +29 -0
  59. package/lib/components/document-list/font-awesome-icon.js.map +1 -0
  60. package/lib/components/document-list/index.d.ts +4 -0
  61. package/lib/components/document-list/index.d.ts.map +1 -0
  62. package/lib/components/document-list/index.js +13 -0
  63. package/lib/components/document-list/index.js.map +1 -0
  64. package/lib/components/document-list/use-force-update.d.ts +2 -0
  65. package/lib/components/document-list/use-force-update.d.ts.map +1 -0
  66. package/lib/components/document-list/use-force-update.js +13 -0
  67. package/lib/components/document-list/use-force-update.js.map +1 -0
  68. package/lib/components/document-list/use-previous.d.ts +2 -0
  69. package/lib/components/document-list/use-previous.d.ts.map +1 -0
  70. package/lib/components/document-list/use-previous.js +13 -0
  71. package/lib/components/document-list/use-previous.js.map +1 -0
  72. package/lib/components/editor.d.ts +31 -0
  73. package/lib/components/editor.d.ts.map +1 -0
  74. package/lib/components/editor.js +62 -0
  75. package/lib/components/editor.js.map +1 -0
  76. package/lib/components/error-boundary.d.ts +2 -10
  77. package/lib/components/error-boundary.d.ts.map +1 -1
  78. package/lib/components/error-boundary.js +7 -3
  79. package/lib/components/error-boundary.js.map +1 -1
  80. package/lib/components/error-warning-summary.d.ts +22 -0
  81. package/lib/components/error-warning-summary.d.ts.map +1 -0
  82. package/lib/components/error-warning-summary.js +84 -0
  83. package/lib/components/error-warning-summary.js.map +1 -0
  84. package/lib/components/file-input.d.ts +16 -15
  85. package/lib/components/file-input.d.ts.map +1 -1
  86. package/lib/components/file-input.js +21 -13
  87. package/lib/components/file-input.js.map +1 -1
  88. package/lib/components/inline-definition.js +2 -2
  89. package/lib/components/inline-definition.js.map +1 -1
  90. package/lib/components/inline-info-link.js +3 -4
  91. package/lib/components/inline-info-link.js.map +1 -1
  92. package/lib/components/leafygreen.d.ts +63 -0
  93. package/lib/components/leafygreen.d.ts.map +1 -0
  94. package/lib/components/leafygreen.js +116 -0
  95. package/lib/components/leafygreen.js.map +1 -0
  96. package/lib/components/modal-title.d.ts +5 -0
  97. package/lib/components/modal-title.d.ts.map +1 -0
  98. package/lib/components/modal-title.js +18 -0
  99. package/lib/components/modal-title.js.map +1 -0
  100. package/lib/components/modal.d.ts +1 -1
  101. package/lib/components/modal.d.ts.map +1 -1
  102. package/lib/components/modal.js +2 -5
  103. package/lib/components/modal.js.map +1 -1
  104. package/lib/components/radio-box-group.d.ts +1 -1
  105. package/lib/components/radio-box-group.d.ts.map +1 -1
  106. package/lib/components/radio-box-group.js +2 -2
  107. package/lib/components/radio-box-group.js.map +1 -1
  108. package/lib/components/resize-handle.d.ts.map +1 -1
  109. package/lib/components/resize-handle.js +1 -0
  110. package/lib/components/resize-handle.js.map +1 -1
  111. package/lib/components/tab-nav-bar.d.ts +14 -0
  112. package/lib/components/tab-nav-bar.d.ts.map +1 -0
  113. package/lib/components/tab-nav-bar.js +47 -0
  114. package/lib/components/tab-nav-bar.js.map +1 -0
  115. package/lib/components/toggle.d.ts +1 -1
  116. package/lib/components/toggle.d.ts.map +1 -1
  117. package/lib/components/toggle.js +2 -2
  118. package/lib/components/toggle.js.map +1 -1
  119. package/lib/components/toolbar.d.ts +10 -0
  120. package/lib/components/toolbar.d.ts.map +1 -0
  121. package/lib/components/toolbar.js +25 -0
  122. package/lib/components/toolbar.js.map +1 -0
  123. package/lib/components/tooltip.d.ts +1 -1
  124. package/lib/components/tooltip.d.ts.map +1 -1
  125. package/lib/components/tooltip.js +2 -5
  126. package/lib/components/tooltip.js.map +1 -1
  127. package/lib/components/virtual-grid.d.ts +3 -2
  128. package/lib/components/virtual-grid.d.ts.map +1 -1
  129. package/lib/components/virtual-grid.js +5 -7
  130. package/lib/components/virtual-grid.js.map +1 -1
  131. package/lib/components/workspace-container.d.ts +8 -0
  132. package/lib/components/workspace-container.d.ts.map +1 -0
  133. package/lib/components/workspace-container.js +31 -0
  134. package/lib/components/workspace-container.js.map +1 -0
  135. package/lib/components/workspace-tabs/tab.d.ts +16 -0
  136. package/lib/components/workspace-tabs/tab.d.ts.map +1 -0
  137. package/lib/components/workspace-tabs/tab.js +223 -0
  138. package/lib/components/workspace-tabs/tab.js.map +1 -0
  139. package/lib/components/workspace-tabs/workspace-tabs.d.ts +24 -0
  140. package/lib/components/workspace-tabs/workspace-tabs.d.ts.map +1 -0
  141. package/lib/components/workspace-tabs/workspace-tabs.js +175 -0
  142. package/lib/components/workspace-tabs/workspace-tabs.js.map +1 -0
  143. package/lib/hooks/use-default-action.d.ts.map +1 -1
  144. package/lib/hooks/use-default-action.js +1 -5
  145. package/lib/hooks/use-default-action.js.map +1 -1
  146. package/lib/hooks/use-theme.d.ts +6 -2
  147. package/lib/hooks/use-theme.d.ts.map +1 -1
  148. package/lib/hooks/use-theme.js +15 -2
  149. package/lib/hooks/use-theme.js.map +1 -1
  150. package/lib/hooks/use-virtual-grid.d.ts +3 -6
  151. package/lib/hooks/use-virtual-grid.d.ts.map +1 -1
  152. package/lib/hooks/use-virtual-grid.js +72 -42
  153. package/lib/hooks/use-virtual-grid.js.map +1 -1
  154. package/lib/hooks/use-virtual-grid.test.js +7 -6
  155. package/lib/hooks/use-virtual-grid.test.js.map +1 -1
  156. package/lib/index.d.ts +19 -22
  157. package/lib/index.d.ts.map +1 -1
  158. package/lib/index.js +29 -60
  159. package/lib/index.js.map +1 -1
  160. package/package.json +28 -16
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useAutoFocusContext = exports.AutoFocusContext = void 0;
4
+ const react_1 = require("react");
5
+ exports.AutoFocusContext = (0, react_1.createContext)(null);
6
+ function useAutoFocusContext() {
7
+ return (0, react_1.useContext)(exports.AutoFocusContext);
8
+ }
9
+ exports.useAutoFocusContext = useAutoFocusContext;
10
+ //# sourceMappingURL=auto-focus-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-focus-context.js","sourceRoot":"","sources":["../../../src/components/document-list/auto-focus-context.tsx"],"names":[],"mappings":";;;AAAA,iCAAkD;AAOrC,QAAA,gBAAgB,GAAG,IAAA,qBAAa,EAAgB,IAAI,CAAC,CAAC;AAEnE,SAAgB,mBAAmB;IACjC,OAAO,IAAA,kBAAU,EAAC,wBAAgB,CAAC,CAAC;AACtC,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ declare const DocumentActionsGroup: React.FunctionComponent<{
3
+ onEdit?: () => void;
4
+ onCopy?: () => void;
5
+ onClone?: () => void;
6
+ onRemove?: () => void;
7
+ onlyShowOnHover?: boolean;
8
+ } & ({
9
+ onExpand?: never;
10
+ expanded?: never;
11
+ } | {
12
+ onExpand: () => void;
13
+ expanded: boolean;
14
+ })>;
15
+ export default DocumentActionsGroup;
16
+ //# sourceMappingURL=document-actions-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-actions-group.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/document-actions-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAqD3D,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,iBAAiB,CACjD;IACE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,CACA;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GACtC;IAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAC9C,CAkHF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const react_1 = __importStar(require("react"));
23
+ const emotion_1 = require("@leafygreen-ui/emotion");
24
+ const tokens_1 = require("@leafygreen-ui/tokens");
25
+ const leafygreen_1 = require("../leafygreen");
26
+ const actionsGroupContainer = (0, emotion_1.css)({
27
+ position: 'absolute',
28
+ display: 'flex',
29
+ gap: tokens_1.spacing[2],
30
+ width: '100%',
31
+ top: tokens_1.spacing[3],
32
+ paddingLeft: tokens_1.spacing[3],
33
+ paddingRight: tokens_1.spacing[3],
34
+ pointerEvents: 'none',
35
+ });
36
+ const actionsGroupItem = (0, emotion_1.css)({
37
+ flex: 'none',
38
+ pointerEvents: 'all',
39
+ });
40
+ const actionsGroupItemSeparator = (0, emotion_1.css)({
41
+ flex: '1 0 auto',
42
+ });
43
+ function useElementParentHoverState(ref) {
44
+ const [isHovered, setIsHovered] = (0, react_1.useState)(false);
45
+ (0, react_1.useEffect)(() => {
46
+ var _a;
47
+ const node = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.parentElement;
48
+ const onMouseEnter = () => {
49
+ setIsHovered(true);
50
+ };
51
+ const onMouseLeave = () => {
52
+ setIsHovered(false);
53
+ };
54
+ node === null || node === void 0 ? void 0 : node.addEventListener('mouseenter', onMouseEnter);
55
+ node === null || node === void 0 ? void 0 : node.addEventListener('mouseleave', onMouseLeave);
56
+ return () => {
57
+ node === null || node === void 0 ? void 0 : node.removeEventListener('mouseenter', onMouseEnter);
58
+ node === null || node === void 0 ? void 0 : node.removeEventListener('mouseleave', onMouseLeave);
59
+ };
60
+ }, [ref]);
61
+ return isHovered;
62
+ }
63
+ const DocumentActionsGroup = ({ onEdit, onCopy, onClone, onRemove, onExpand, expanded, onlyShowOnHover = true, }) => {
64
+ const conatinerRef = (0, react_1.useRef)(null);
65
+ const isHovered = useElementParentHoverState(conatinerRef);
66
+ const [showCopyButtonTooltip, setShowCopyButtonTooltip] = (0, react_1.useState)(false);
67
+ (0, react_1.useEffect)(() => {
68
+ if (showCopyButtonTooltip === true) {
69
+ const tid = setTimeout(() => {
70
+ setShowCopyButtonTooltip(false);
71
+ }, 1200);
72
+ return () => {
73
+ clearTimeout(tid);
74
+ };
75
+ }
76
+ }, [showCopyButtonTooltip]);
77
+ return (react_1.default.createElement("div", { ref: conatinerRef, className: actionsGroupContainer, style: {
78
+ display: onlyShowOnHover ? (isHovered ? 'flex' : 'none') : 'flex',
79
+ } },
80
+ onExpand && (react_1.default.createElement(leafygreen_1.Button, { size: "xsmall", rightGlyph: react_1.default.createElement(leafygreen_1.Icon, { role: "presentation", glyph: expanded ? 'CaretDown' : 'CaretRight' }), title: expanded ? 'Collapse all' : 'Expand all', "aria-label": expanded ? 'Collapse all' : 'Expand all', "aria-pressed": expanded, "data-testid": "expand-document-button", onClick: onExpand, className: actionsGroupItem })),
81
+ react_1.default.createElement("span", { className: actionsGroupItemSeparator }),
82
+ onEdit && (react_1.default.createElement(leafygreen_1.Button, { size: "xsmall", rightGlyph: react_1.default.createElement(leafygreen_1.Icon, { role: "presentation", glyph: "Edit" }), title: "Edit document", "aria-label": "Edit document", "data-testid": "edit-document-button", onClick: onEdit, className: actionsGroupItem })),
83
+ onCopy && (react_1.default.createElement(leafygreen_1.Tooltip, { open: showCopyButtonTooltip, trigger: ({ children }) => {
84
+ return (react_1.default.createElement("div", null,
85
+ react_1.default.createElement(leafygreen_1.Button, { size: "xsmall", rightGlyph: react_1.default.createElement(leafygreen_1.Icon, { role: "presentation", glyph: "Copy" }), title: "Copy document", "aria-label": "Copy document", "data-testid": "copy-document-button", onClick: () => {
86
+ setShowCopyButtonTooltip(true);
87
+ onCopy();
88
+ }, className: actionsGroupItem }),
89
+ children));
90
+ }, justify: "middle", darkMode: true }, "Copied!")),
91
+ onClone && (react_1.default.createElement(leafygreen_1.Button, { size: "xsmall", rightGlyph: react_1.default.createElement(leafygreen_1.Icon, { role: "presentation", glyph: "Clone" }), title: "Clone document", "aria-label": "Clone document", "data-testid": "clone-document-button", onClick: onClone, className: actionsGroupItem })),
92
+ onRemove && (react_1.default.createElement(leafygreen_1.Button, { size: "xsmall", rightGlyph: react_1.default.createElement(leafygreen_1.Icon, { role: "presentation", glyph: "Trash" }), title: "Remove document", "aria-label": "Remove document", "data-testid": "remove-document-button", onClick: onRemove, className: actionsGroupItem }))));
93
+ };
94
+ exports.default = DocumentActionsGroup;
95
+ //# sourceMappingURL=document-actions-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-actions-group.js","sourceRoot":"","sources":["../../../src/components/document-list/document-actions-group.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ declare const DocumentFieldsToggleGroup: React.FunctionComponent<{
3
+ showHideButton?: boolean;
4
+ currentSize: number;
5
+ totalSize: number;
6
+ minSize?: number;
7
+ step?: number;
8
+ onSizeChange(newSize: number): void;
9
+ }>;
10
+ export default DocumentFieldsToggleGroup;
11
+ //# sourceMappingURL=document-fields-toggle-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-fields-toggle-group.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/document-fields-toggle-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAiBpD,QAAA,MAAM,yBAAyB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CA8DA,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const react_1 = __importStar(require("react"));
23
+ const emotion_1 = require("@leafygreen-ui/emotion");
24
+ const tokens_1 = require("@leafygreen-ui/tokens");
25
+ const leafygreen_1 = require("../leafygreen");
26
+ const container = (0, emotion_1.css)({
27
+ display: 'flex',
28
+ gap: tokens_1.spacing[2],
29
+ paddingTop: tokens_1.spacing[3],
30
+ paddingLeft: tokens_1.spacing[3],
31
+ paddingRight: tokens_1.spacing[3],
32
+ });
33
+ const button = (0, emotion_1.css)({
34
+ flex: 'none',
35
+ });
36
+ const DocumentFieldsToggleGroup = ({ showHideButton = true, currentSize, totalSize, minSize = 25, step = 1000, onSizeChange, }) => {
37
+ const showSizeDiff = (0, react_1.useMemo)(() => {
38
+ return Math.min(totalSize - currentSize, step);
39
+ }, [currentSize, step, totalSize]);
40
+ const hideSizeDiff = (0, react_1.useMemo)(() => {
41
+ return Math.max(currentSize - minSize, 0);
42
+ }, [currentSize, minSize]);
43
+ const isShowButtonVisible = (0, react_1.useMemo)(() => {
44
+ return showSizeDiff > 0;
45
+ }, [showSizeDiff]);
46
+ const isHideButtonVisible = (0, react_1.useMemo)(() => {
47
+ return showHideButton && hideSizeDiff > 0;
48
+ }, [hideSizeDiff, showHideButton]);
49
+ const onShowClick = (0, react_1.useCallback)(() => {
50
+ onSizeChange(currentSize + showSizeDiff);
51
+ }, [currentSize, onSizeChange, showSizeDiff]);
52
+ const onHideClick = (0, react_1.useCallback)(() => {
53
+ onSizeChange(currentSize - hideSizeDiff);
54
+ }, [currentSize, hideSizeDiff, onSizeChange]);
55
+ if (!isShowButtonVisible && !isHideButtonVisible) {
56
+ return null;
57
+ }
58
+ return (react_1.default.createElement("div", { className: container },
59
+ isShowButtonVisible && (react_1.default.createElement(leafygreen_1.Button, { size: "xsmall", leftGlyph: react_1.default.createElement(leafygreen_1.Icon, { glyph: "ArrowDown" }), onClick: onShowClick, className: button, "data-testid": "show-more-fields-button" },
60
+ "Show ",
61
+ showSizeDiff,
62
+ " more fields")),
63
+ isHideButtonVisible && (react_1.default.createElement(leafygreen_1.Button, { size: "xsmall", leftGlyph: react_1.default.createElement(leafygreen_1.Icon, { glyph: "ArrowUp" }), onClick: onHideClick, className: button, "data-testid": "hide-fields-button" },
64
+ "Hide ",
65
+ hideSizeDiff,
66
+ " fields"))));
67
+ };
68
+ exports.default = DocumentFieldsToggleGroup;
69
+ //# sourceMappingURL=document-fields-toggle-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-fields-toggle-group.js","sourceRoot":"","sources":["../../../src/components/document-list/document-fields-toggle-group.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,oDAA6C;AAC7C,kDAAgD;AAChD,8CAA6C;AAE7C,MAAM,SAAS,GAAG,IAAA,aAAG,EAAC;IACpB,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,gBAAO,CAAC,CAAC,CAAC;IACf,UAAU,EAAE,gBAAO,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,gBAAO,CAAC,CAAC,CAAC;IACvB,YAAY,EAAE,gBAAO,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAA,aAAG,EAAC;IACjB,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAO1B,CAAC,EACJ,cAAc,GAAG,IAAI,EACrB,WAAW,EACX,SAAS,EACT,OAAO,GAAG,EAAE,EACZ,IAAI,GAAG,IAAI,EACX,YAAY,GACb,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,MAAM,mBAAmB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvC,OAAO,YAAY,GAAG,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,mBAAmB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvC,OAAO,cAAc,IAAI,YAAY,GAAG,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACnC,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACnC,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,EAAE;QAChD,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,uCAAK,SAAS,EAAE,SAAS;QACtB,mBAAmB,IAAI,CACtB,8BAAC,mBAAM,IACL,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,8BAAC,iBAAI,IAAC,KAAK,EAAC,WAAW,GAAQ,EAC1C,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,iBACL,yBAAyB;;YAE/B,YAAY;2BACX,CACV;QACA,mBAAmB,IAAI,CACtB,8BAAC,mBAAM,IACL,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,8BAAC,iBAAI,IAAC,KAAK,EAAC,SAAS,GAAQ,EACxC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,iBACL,oBAAoB;;YAE1B,YAAY;sBACX,CACV,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,yBAAyB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { default as HadronDocumentType } from 'hadron-document';
3
+ declare const HadronDocument: React.FunctionComponent<{
4
+ value: HadronDocumentType;
5
+ visibleFieldsCount?: number;
6
+ expanded?: boolean;
7
+ editable?: boolean;
8
+ editing?: boolean;
9
+ onEditStart?: () => void;
10
+ }>;
11
+ export default HadronDocument;
12
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/document.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EACV,OAAO,IAAI,kBAAkB,EAE9B,MAAM,iBAAiB,CAAC;AA4DzB,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC5C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B,CA2DA,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const react_1 = __importStar(require("react"));
23
+ const emotion_1 = require("@leafygreen-ui/emotion");
24
+ const hadron_document_1 = require("hadron-document");
25
+ const tokens_1 = require("@leafygreen-ui/tokens");
26
+ const auto_focus_context_1 = require("./auto-focus-context");
27
+ const use_force_update_1 = require("./use-force-update");
28
+ const element_1 = require("./element");
29
+ const use_previous_1 = require("./use-previous");
30
+ function useHadronDocument(doc) {
31
+ const prevDoc = (0, use_previous_1.usePrevious)(doc);
32
+ const forceUpdate = (0, use_force_update_1.useForceUpdate)();
33
+ const onDocumentFieldsAddedOrRemoved = (0, react_1.useCallback)((_el, parentEl) => {
34
+ if (doc === parentEl) {
35
+ forceUpdate();
36
+ }
37
+ }, [doc, forceUpdate]);
38
+ (0, react_1.useEffect)(() => {
39
+ if (prevDoc && prevDoc !== doc) {
40
+ forceUpdate();
41
+ }
42
+ }, [prevDoc, doc, forceUpdate]);
43
+ (0, react_1.useEffect)(() => {
44
+ doc.on(hadron_document_1.ElementEvents.Added, onDocumentFieldsAddedOrRemoved);
45
+ doc.on(hadron_document_1.ElementEvents.Removed, onDocumentFieldsAddedOrRemoved);
46
+ return () => {
47
+ doc.off(hadron_document_1.ElementEvents.Added, onDocumentFieldsAddedOrRemoved);
48
+ doc.off(hadron_document_1.ElementEvents.Removed, onDocumentFieldsAddedOrRemoved);
49
+ };
50
+ }, [doc, onDocumentFieldsAddedOrRemoved]);
51
+ return {
52
+ elements: [...doc.elements],
53
+ };
54
+ }
55
+ const hadronDocument = (0, emotion_1.css)({
56
+ position: 'relative',
57
+ fontFamily: tokens_1.fontFamilies.code,
58
+ fontSize: '12px',
59
+ lineHeight: `${tokens_1.spacing[3]}px`,
60
+ counterReset: 'line-number',
61
+ });
62
+ const HadronDocument = ({ value: document, visibleFieldsCount, expanded = false, editable = false, editing = false, onEditStart, }) => {
63
+ const { elements } = useHadronDocument(document);
64
+ const visibleElements = (0, react_1.useMemo)(() => {
65
+ return elements.filter(Boolean).slice(0, visibleFieldsCount);
66
+ }, [elements, visibleFieldsCount]);
67
+ const [autoFocus, setAutoFocus] = (0, react_1.useState)(null);
68
+ (0, react_1.useEffect)(() => {
69
+ if (!editing) {
70
+ setAutoFocus(null);
71
+ }
72
+ }, [editing]);
73
+ return (react_1.default.createElement("div", { className: hadronDocument, "data-testid": "hadron-document", "data-id": document.uuid },
74
+ react_1.default.createElement(auto_focus_context_1.AutoFocusContext.Provider, { value: autoFocus }, visibleElements.map((el, idx) => {
75
+ return (react_1.default.createElement(element_1.HadronElement, { key: idx, value: el, editable: editable, editingEnabled: editing, allExpanded: expanded, onEditStart: editable
76
+ ? (id, type) => {
77
+ setAutoFocus({ id, type });
78
+ onEditStart === null || onEditStart === void 0 ? void 0 : onEditStart();
79
+ }
80
+ : undefined, lineNumberSize: visibleElements.length, onAddElement: (el) => {
81
+ var _a;
82
+ setAutoFocus({
83
+ id: el.uuid,
84
+ type: ((_a = el.parent) === null || _a === void 0 ? void 0 : _a.currentType) === 'Array' ? 'value' : 'key',
85
+ });
86
+ } }));
87
+ }))));
88
+ };
89
+ exports.default = HadronDocument;
90
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/components/document-list/document.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { TypeCastTypes } from 'hadron-type-checker';
3
+ export declare const EditActions: React.FunctionComponent<{
4
+ onRemove?: (() => void) | null;
5
+ onRevert?: (() => void) | null;
6
+ editing?: boolean;
7
+ }>;
8
+ export declare const AddFieldActions: React.FunctionComponent<{
9
+ type: TypeCastTypes;
10
+ parentType?: TypeCastTypes;
11
+ editing?: boolean;
12
+ keyName: string;
13
+ onAddFieldToElement?: () => void;
14
+ onAddFieldAfterElement: () => void;
15
+ }>;
16
+ //# sourceMappingURL=element-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-actions.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/element-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAazD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAChD,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CA+BA,CAAC;AAgBF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACpD,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC,CAsEA,CAAC"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.AddFieldActions = exports.EditActions = void 0;
23
+ const react_1 = __importStar(require("react"));
24
+ const menu_1 = require("@leafygreen-ui/menu");
25
+ const emotion_1 = require("@leafygreen-ui/emotion");
26
+ const tokens_1 = require("@leafygreen-ui/tokens");
27
+ const font_awesome_icon_1 = require("./font-awesome-icon");
28
+ const buttonReset = (0, emotion_1.css)({
29
+ margin: 0,
30
+ padding: 0,
31
+ border: 'none',
32
+ background: 'none',
33
+ });
34
+ const EditActions = ({ editing, onRemove, onRevert }) => {
35
+ return (react_1.default.createElement(react_1.default.Fragment, null, editing &&
36
+ (onRevert ? (react_1.default.createElement("button", { "data-testid": "hadron-document-revert", className: buttonReset, "aria-label": "Revert changes", onClick: (evt) => {
37
+ evt.stopPropagation();
38
+ onRevert();
39
+ } },
40
+ react_1.default.createElement(font_awesome_icon_1.FontAwesomeIcon, { icon: "revert" }))) : onRemove ? (react_1.default.createElement("button", { "data-testid": "hadron-document-remove", className: buttonReset, "aria-label": "Remove field", onClick: (evt) => {
41
+ evt.stopPropagation();
42
+ onRemove();
43
+ } },
44
+ react_1.default.createElement(font_awesome_icon_1.FontAwesomeIcon, { icon: "remove" }))) : null)));
45
+ };
46
+ exports.EditActions = EditActions;
47
+ const addFieldButton = (0, emotion_1.css)({
48
+ display: 'block',
49
+ width: tokens_1.spacing[3],
50
+ height: tokens_1.spacing[3],
51
+ marginLeft: 'auto',
52
+ boxShadow: `inset 0 0 0 1px currentColor`,
53
+ borderRadius: '2px',
54
+ userSelect: 'none',
55
+ });
56
+ const menu = (0, emotion_1.css)({
57
+ width: 'auto',
58
+ });
59
+ const AddFieldActions = ({ editing, type, parentType, keyName, onAddFieldToElement, onAddFieldAfterElement, }) => {
60
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
61
+ if (!editing) {
62
+ return null;
63
+ }
64
+ return (react_1.default.createElement(menu_1.Menu, { open: isOpen, setOpen: setIsOpen, usePortal: false, popoverZIndex: 999999, align: "bottom", justify: "start", className: menu, trigger: ({ children, onClick, ...props }) => {
65
+ return (react_1.default.createElement(react_1.default.Fragment, null,
66
+ react_1.default.createElement("button", { "data-testid": "hadron-document-add-element", className: (0, emotion_1.cx)(buttonReset, addFieldButton), onClick: (evt) => {
67
+ evt.stopPropagation();
68
+ onClick === null || onClick === void 0 ? void 0 : onClick(evt);
69
+ }, ...props }, "+"),
70
+ children));
71
+ } },
72
+ onAddFieldToElement && (react_1.default.createElement(menu_1.MenuItem, { "data-testid": "hadron-document-add-child", onClick: () => {
73
+ setIsOpen(false);
74
+ onAddFieldToElement();
75
+ } },
76
+ react_1.default.createElement(font_awesome_icon_1.FontAwesomeIcon, { icon: "addChild" }),
77
+ "\u00A0Add",
78
+ ' ',
79
+ type === 'Array' ? 'item' : 'field',
80
+ " to ",
81
+ react_1.default.createElement("b", null, keyName))),
82
+ react_1.default.createElement(menu_1.MenuItem, { "data-testid": "hadron-document-add-sibling", onClick: () => {
83
+ setIsOpen(false);
84
+ onAddFieldAfterElement();
85
+ } },
86
+ react_1.default.createElement(font_awesome_icon_1.FontAwesomeIcon, { icon: "addSibling" }),
87
+ "\u00A0Add",
88
+ ' ',
89
+ parentType === 'Array' ? 'item' : 'field',
90
+ " after ",
91
+ react_1.default.createElement("b", null, keyName))));
92
+ };
93
+ exports.AddFieldActions = AddFieldActions;
94
+ //# sourceMappingURL=element-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-actions.js","sourceRoot":"","sources":["../../../src/components/document-list/element-actions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import type { Element as HadronElementType } from 'hadron-document';
3
+ import type { TypeCastMap } from 'hadron-type-checker';
4
+ export declare const KeyEditor: React.FunctionComponent<{
5
+ editing?: boolean;
6
+ onEditStart(): void;
7
+ value: string;
8
+ valid: boolean;
9
+ validationMessage: string | null;
10
+ onChange(newVal: string): void;
11
+ autoFocus?: boolean;
12
+ }>;
13
+ export declare const ValueEditor: React.FunctionComponent<{
14
+ editing?: boolean;
15
+ onEditStart(): void;
16
+ type: string;
17
+ value: string;
18
+ valid: boolean;
19
+ validationMessage: string | null;
20
+ originalValue: TypeCastMap[keyof TypeCastMap];
21
+ autoFocus?: boolean;
22
+ onChange(newVal: string): void;
23
+ onFocus(): void;
24
+ onBlur(): void;
25
+ }>;
26
+ export declare const TypeEditor: React.FunctionComponent<{
27
+ editing?: boolean;
28
+ autoFocus?: boolean;
29
+ type: HadronElementType['type'];
30
+ onChange(newVal: HadronElementType['type']): void;
31
+ visuallyActive?: boolean;
32
+ }>;
33
+ //# sourceMappingURL=element-editors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-editors.d.ts","sourceRoot":"","sources":["../../../src/components/document-list/element-editors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAuCvD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,IAAI,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CA8EA,CAAC;AA0BF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,IAAI,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,IAAI,IAAI,CAAC;CAChB,CAoIA,CAAC;AAyBF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAkCA,CAAC"}