@bigbinary/neeto-molecules 5.1.19 → 5.1.21

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 (166) hide show
  1. package/dist/FinderModal.js +56 -9
  2. package/dist/FinderModal.js.map +1 -1
  3. package/dist/IpRestriction.js +2 -3175
  4. package/dist/IpRestriction.js.map +1 -1
  5. package/dist/MadeWith.js +3 -74
  6. package/dist/MadeWith.js.map +1 -1
  7. package/dist/NeetoWidget.js +3 -1958
  8. package/dist/NeetoWidget.js.map +1 -1
  9. package/dist/Onboarding.js +3 -400
  10. package/dist/Onboarding.js.map +1 -1
  11. package/dist/chevron-up-B2_LTx_h.js +15 -0
  12. package/dist/chevron-up-B2_LTx_h.js.map +1 -0
  13. package/dist/cjs/FinderModal.js +54 -7
  14. package/dist/cjs/FinderModal.js.map +1 -1
  15. package/dist/cjs/IpRestriction.js +21 -3194
  16. package/dist/cjs/IpRestriction.js.map +1 -1
  17. package/dist/cjs/MadeWith.js +17 -88
  18. package/dist/cjs/MadeWith.js.map +1 -1
  19. package/dist/cjs/NeetoWidget.js +4 -1959
  20. package/dist/cjs/NeetoWidget.js.map +1 -1
  21. package/dist/cjs/Onboarding.js +3 -400
  22. package/dist/cjs/Onboarding.js.map +1 -1
  23. package/dist/cjs/chevron-up-CpzhFWzM.js +17 -0
  24. package/dist/cjs/chevron-up-CpzhFWzM.js.map +1 -0
  25. package/dist/cjs/copy-CerjTcLL.js +20 -0
  26. package/dist/cjs/copy-CerjTcLL.js.map +1 -0
  27. package/dist/cjs/globe-DawgK2Dx.js +21 -0
  28. package/dist/cjs/globe-DawgK2Dx.js.map +1 -0
  29. package/dist/cjs/index-ARGXqXxG.js +78 -0
  30. package/dist/cjs/index-ARGXqXxG.js.map +1 -0
  31. package/dist/cjs/index-BeqE2JWC.js +3180 -0
  32. package/dist/cjs/index-BeqE2JWC.js.map +1 -0
  33. package/dist/cjs/panel-left-close-CLoRPBWH.js +21 -0
  34. package/dist/cjs/panel-left-close-CLoRPBWH.js.map +1 -0
  35. package/dist/cjs/phone-number-Bza7WGZm.js +315 -0
  36. package/dist/cjs/phone-number-Bza7WGZm.js.map +1 -0
  37. package/dist/cjs/prism-tomorrow-BMFuJ5o1.js +1963 -0
  38. package/dist/cjs/prism-tomorrow-BMFuJ5o1.js.map +1 -0
  39. package/dist/cjs/react-confetti-DdGoyZ0y.js +405 -0
  40. package/dist/cjs/react-confetti-DdGoyZ0y.js.map +1 -0
  41. package/dist/cjs/smartphone-ChvEvl-o.js +36 -0
  42. package/dist/cjs/smartphone-ChvEvl-o.js.map +1 -0
  43. package/dist/cjs/trash-2-CotPjU5n.js +23 -0
  44. package/dist/cjs/trash-2-CotPjU5n.js.map +1 -0
  45. package/dist/cjs/triangle-alert-De-qkUXK.js +27 -0
  46. package/dist/cjs/triangle-alert-De-qkUXK.js.map +1 -0
  47. package/dist/cjs/v2/AuditLogs.js +4 -18
  48. package/dist/cjs/v2/AuditLogs.js.map +1 -1
  49. package/dist/cjs/v2/Builder.js +4 -18
  50. package/dist/cjs/v2/Builder.js.map +1 -1
  51. package/dist/cjs/v2/Codeblock.js +1 -0
  52. package/dist/cjs/v2/Codeblock.js.map +1 -1
  53. package/dist/cjs/v2/CopyToClipboardButton.js +3 -16
  54. package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
  55. package/dist/cjs/v2/FinderModal.js +48 -14
  56. package/dist/cjs/v2/FinderModal.js.map +1 -1
  57. package/dist/cjs/v2/FloatingActionMenu.js +1 -0
  58. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  59. package/dist/cjs/v2/Insights.js +344 -0
  60. package/dist/cjs/v2/Insights.js.map +1 -0
  61. package/dist/cjs/v2/IntegrationCard.js +222 -0
  62. package/dist/cjs/v2/IntegrationCard.js.map +1 -0
  63. package/dist/cjs/v2/IpRestriction.js +525 -0
  64. package/dist/cjs/v2/IpRestriction.js.map +1 -0
  65. package/dist/cjs/v2/MadeWith.js +73 -0
  66. package/dist/cjs/v2/MadeWith.js.map +1 -0
  67. package/dist/cjs/v2/Metadata.js +215 -0
  68. package/dist/cjs/v2/Metadata.js.map +1 -0
  69. package/dist/cjs/v2/NavigationHeader.js +1 -0
  70. package/dist/cjs/v2/NavigationHeader.js.map +1 -1
  71. package/dist/cjs/v2/NeetoWidget.js +855 -0
  72. package/dist/cjs/v2/NeetoWidget.js.map +1 -0
  73. package/dist/cjs/v2/Onboarding.js +323 -0
  74. package/dist/cjs/v2/Onboarding.js.map +1 -0
  75. package/dist/cjs/v2/OptionFields.js +1291 -0
  76. package/dist/cjs/v2/OptionFields.js.map +1 -0
  77. package/dist/cjs/v2/PhoneNumber.js +20 -307
  78. package/dist/cjs/v2/PhoneNumber.js.map +1 -1
  79. package/dist/cjs/v2/ProductEmbed.js +1870 -0
  80. package/dist/cjs/v2/ProductEmbed.js.map +1 -0
  81. package/dist/cjs/v2/PublishBlock.js +6 -22
  82. package/dist/cjs/v2/PublishBlock.js.map +1 -1
  83. package/dist/cjs/v2/PublishYourItem.js +60 -0
  84. package/dist/cjs/v2/PublishYourItem.js.map +1 -0
  85. package/dist/cjs/v2/ResponsiveDevicePicker.js +88 -0
  86. package/dist/cjs/v2/ResponsiveDevicePicker.js.map +1 -0
  87. package/dist/cjs/v2/SessionEnvironment.js +479 -0
  88. package/dist/cjs/v2/SessionEnvironment.js.map +1 -0
  89. package/dist/copy-DhbOoOav.js +18 -0
  90. package/dist/copy-DhbOoOav.js.map +1 -0
  91. package/dist/globe-rBiI1CjO.js +19 -0
  92. package/dist/globe-rBiI1CjO.js.map +1 -0
  93. package/dist/index-0jnA7dx6.js +3178 -0
  94. package/dist/index-0jnA7dx6.js.map +1 -0
  95. package/dist/index-DF5MKxql.js +76 -0
  96. package/dist/index-DF5MKxql.js.map +1 -0
  97. package/dist/panel-left-close-37jik3GB.js +19 -0
  98. package/dist/panel-left-close-37jik3GB.js.map +1 -0
  99. package/dist/phone-number-CGZtDB_n.js +291 -0
  100. package/dist/phone-number-CGZtDB_n.js.map +1 -0
  101. package/dist/prism-tomorrow-ZUb2Ikm9.js +1961 -0
  102. package/dist/prism-tomorrow-ZUb2Ikm9.js.map +1 -0
  103. package/dist/react-confetti-BnGq_LBE.js +403 -0
  104. package/dist/react-confetti-BnGq_LBE.js.map +1 -0
  105. package/dist/smartphone-B-jv1y8j.js +33 -0
  106. package/dist/smartphone-B-jv1y8j.js.map +1 -0
  107. package/dist/trash-2-N0F6K63L.js +21 -0
  108. package/dist/trash-2-N0F6K63L.js.map +1 -0
  109. package/dist/triangle-alert-Pkh6pc42.js +25 -0
  110. package/dist/triangle-alert-Pkh6pc42.js.map +1 -0
  111. package/dist/v2/AuditLogs.js +3 -17
  112. package/dist/v2/AuditLogs.js.map +1 -1
  113. package/dist/v2/Builder.js +3 -17
  114. package/dist/v2/Builder.js.map +1 -1
  115. package/dist/v2/Codeblock.js +1 -0
  116. package/dist/v2/Codeblock.js.map +1 -1
  117. package/dist/v2/CopyToClipboardButton.js +2 -15
  118. package/dist/v2/CopyToClipboardButton.js.map +1 -1
  119. package/dist/v2/FinderModal.js +49 -15
  120. package/dist/v2/FinderModal.js.map +1 -1
  121. package/dist/v2/FloatingActionMenu.js +1 -0
  122. package/dist/v2/FloatingActionMenu.js.map +1 -1
  123. package/dist/v2/Insights.js +342 -0
  124. package/dist/v2/Insights.js.map +1 -0
  125. package/dist/v2/IntegrationCard.js +220 -0
  126. package/dist/v2/IntegrationCard.js.map +1 -0
  127. package/dist/v2/IpRestriction.js +504 -0
  128. package/dist/v2/IpRestriction.js.map +1 -0
  129. package/dist/v2/MadeWith.js +52 -0
  130. package/dist/v2/MadeWith.js.map +1 -0
  131. package/dist/v2/Metadata.js +213 -0
  132. package/dist/v2/Metadata.js.map +1 -0
  133. package/dist/v2/NavigationHeader.js +1 -0
  134. package/dist/v2/NavigationHeader.js.map +1 -1
  135. package/dist/v2/NeetoWidget.js +834 -0
  136. package/dist/v2/NeetoWidget.js.map +1 -0
  137. package/dist/v2/Onboarding.js +321 -0
  138. package/dist/v2/Onboarding.js.map +1 -0
  139. package/dist/v2/OptionFields.js +1289 -0
  140. package/dist/v2/OptionFields.js.map +1 -0
  141. package/dist/v2/PhoneNumber.js +20 -287
  142. package/dist/v2/PhoneNumber.js.map +1 -1
  143. package/dist/v2/ProductEmbed.js +1868 -0
  144. package/dist/v2/ProductEmbed.js.map +1 -0
  145. package/dist/v2/PublishBlock.js +5 -21
  146. package/dist/v2/PublishBlock.js.map +1 -1
  147. package/dist/v2/PublishYourItem.js +58 -0
  148. package/dist/v2/PublishYourItem.js.map +1 -0
  149. package/dist/v2/ResponsiveDevicePicker.js +86 -0
  150. package/dist/v2/ResponsiveDevicePicker.js.map +1 -0
  151. package/dist/v2/SessionEnvironment.js +477 -0
  152. package/dist/v2/SessionEnvironment.js.map +1 -0
  153. package/package.json +3 -3
  154. package/types/v2/Insights.d.ts +69 -0
  155. package/types/v2/IntegrationCard.d.ts +30 -0
  156. package/types/v2/IpRestriction.d.ts +5 -0
  157. package/types/v2/MadeWith.d.ts +8 -0
  158. package/types/v2/Metadata.d.ts +26 -0
  159. package/types/v2/MobilePreviewHeader.d.ts +8 -0
  160. package/types/v2/NeetoWidget.d.ts +19 -0
  161. package/types/v2/Onboarding.d.ts +22 -0
  162. package/types/v2/OptionFields.d.ts +55 -0
  163. package/types/v2/ProductEmbed.d.ts +90 -0
  164. package/types/v2/PublishYourItem.d.ts +8 -0
  165. package/types/v2/ResponsiveDevicePicker.d.ts +11 -0
  166. package/types/v2/SessionEnvironment.d.ts +34 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sources":["../../node_modules/lucide-react/dist/esm/icons/arrow-down.js","../../node_modules/lucide-react/dist/esm/icons/panel-left-close.js","../../node_modules/lucide-react/dist/esm/icons/zap.js","../../src/v2/components/Builder/constants.js","../../src/v2/components/Builder/ElementsPanel/ElementsList/NoResults.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/Element.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/Section.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../../src/v2/components/Builder/Body.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/index.jsx","../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../../src/v2/components/Builder/ElementsPanel/index.jsx","../../src/v2/components/Builder/PropertiesPanel/EmptyProperty.jsx","../../src/v2/components/Builder/PropertiesPanel/Skeleton.jsx","../../src/v2/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n];\nconst ArrowDown = createLucideIcon(\"arrow-down\", __iconNode);\n\nexport { __iconNode, ArrowDown as default };\n//# sourceMappingURL=arrow-down.js.map\n","/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }],\n [\"path\", { d: \"m16 15-3-3 3-3\", key: \"14y99z\" }]\n];\nconst PanelLeftClose = createLucideIcon(\"panel-left-close\", __iconNode);\n\nexport { __iconNode, PanelLeftClose as default };\n//# sourceMappingURL=panel-left-close.js.map\n","/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n];\nconst Zap = createLucideIcon(\"zap\", __iconNode);\n\nexport { __iconNode, Zap as default };\n//# sourceMappingURL=zap.js.map\n","export const PANEL_TYPES = { SUMMARY: \"summary\", ELEMENTS: \"elements\" };\n\nexport const SELECTED_ELEMENTS_LIST_DROPPABLE_ID =\n \"droppable-selected-element-container\";\n\nexport const ELEMENTS_LIST_DROPPABLE_ID = \"droppable-element-container\";\n\nexport const PREVIEW_CONTAINER_DROPPABLE_ID =\n \"droppable-form-preview-container\";\n\nexport const DROPPABLE_TYPES = {\n ELEMENT: \"element\",\n SELECTED_ELEMENT: \"selected_element\",\n};\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst NoResults = withT(({ t }) => (\n <Typography\n className=\"text-foreground flex h-full items-center justify-center text-base\"\n weight=\"bold\"\n >\n {t(\"neetoMolecules.builderSidebar.noElements\")}\n </Typography>\n));\n\nexport default memo(NoResults);\n","import { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\n\nconst Element = ({\n label,\n description,\n tooltip,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n isDraggingOver,\n isAddingNewElement,\n}) => {\n const handleClick = event => {\n if (!isCreatable || isAddingNewElement) {\n event.preventDefault();\n\n return;\n }\n\n onClick(event);\n };\n\n const tooltipContent = isCreatable\n ? tooltip\n : disabledElementTooltip?.(label);\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={isDraggingOver || !tooltipContent}\n position=\"top\"\n >\n <div\n data-testid={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"border-border bg-background hover:bg-muted relative mb-2 flex items-center gap-2 rounded-lg border p-3 transition-all duration-300 ease-in-out\",\n {\n \"bg-muted cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n \"h-10\": !description,\n }\n )}\n onClick={handleClick}\n >\n {!isDragDisabled && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && <Icon data-testid=\"form-icon\" />}\n <div className=\"flex min-w-0 flex-col\">\n <Typography className=\"leading-4\" variant=\"body2\">\n {label}\n </Typography>\n {description && (\n <Typography\n className=\"text-muted-foreground mt-0.5\"\n data-testid=\"element-description\"\n variant=\"body3\"\n >\n {description}\n </Typography>\n )}\n </div>\n </div>\n </div>\n </Tooltip>\n );\n};\n\nexport default Element;\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { noop } from \"neetocist\";\n\nimport Element from \"./Element\";\n\nconst ElementContainer = ({\n index,\n isDragDisabled,\n element,\n disabledElementTooltip,\n isCreatable,\n onSelect,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n}) => {\n const isCreatableElement =\n typeof isCreatable === \"function\" ? isCreatable(element.value) : true;\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n );\n }\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.value}\n key={element.label}\n isDragDisabled={\n isDragDisabled || !isCreatableElement || isAddingNewElement\n }\n >\n {(provided, snapshot) => (\n <>\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={{\n ...provided.draggableProps.style,\n ...(!snapshot.isDragging && { transform: \"none\" }),\n }}\n >\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n isDraggingOver,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{ ...element, isAddingNewElement, setVisiblePanel }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isEmpty } from \"ramda\";\n\nimport ElementContainer from \"./ElementContainer\";\n\nconst Section = ({\n title,\n elements,\n onSelect,\n isCreatable,\n disabledElementTooltip,\n isDragElementsDisabled: isDragDisabled,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && <Typography className=\"mt-1 mb-3\">{title}</Typography>}\n {elements.map(element => (\n <ElementContainer\n {...{\n disabledElementTooltip,\n element,\n isAddingNewElement,\n isCreatable,\n isDragDisabled,\n isDraggingOver,\n onSelect,\n setVisiblePanel,\n }}\n index={element.elementIndex}\n key={element.label}\n />\n ))}\n </>\n );\n};\n\nexport default Section;\n","import { Droppable } from \"@hello-pangea/dnd\";\nimport { isEmpty } from \"ramda\";\n\nimport NoResults from \"./NoResults\";\nimport Section from \"./Section\";\n\nimport { DROPPABLE_TYPES, ELEMENTS_LIST_DROPPABLE_ID } from \"../../constants\";\n\nconst SectionsContainer = ({\n isDragElementsDisabled,\n filteredSections,\n isAddingNewElement,\n onSelect,\n setVisiblePanel,\n}) => {\n if (isEmpty(filteredSections)) {\n return <NoResults />;\n }\n\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n ...section,\n }}\n key={section.key}\n />\n ))}\n </>\n );\n }\n\n return (\n <Droppable\n droppableId={ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.ELEMENT}\n >\n {(provided, snapshot) => (\n <div ref={provided.innerRef}>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n ...section,\n }}\n isDraggingOver={snapshot.isDraggingOver}\n key={section.key}\n />\n ))}\n </div>\n )}\n </Droppable>\n );\n};\n\nexport default SectionsContainer;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(({ t, setVisiblePanel }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n className=\"leading-normal\"\n data-testid=\"elements-list-title\"\n variant=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n <Button\n data-testid=\"cancel-button\"\n icon={X}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\n />\n </div>\n));\n\nexport default TitleBar;\n","import classnames from \"classnames\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"min-h-0 w-full grow overflow-y-auto px-6 pt-0 pb-2\",\n size === \"small\"\n ? \"h-[calc(100%_-_4.375rem_-_2.5rem)]\"\n : \"h-[calc(100%_-_4.375rem)]\"\n )}\n />\n);\n\nexport default Body;\n","import { useMemo, useState } from \"react\";\n\nimport { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils/general\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nimport Body from \"../../Body\";\n\nconst ElementList = ({\n setVisiblePanel,\n elementSections = [],\n onSelect,\n isDragElementsDisabled,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n const query = searchString.toLowerCase();\n\n const matchesSearch = element => {\n if (!query) return true;\n\n const label = element.label?.toLowerCase() ?? \"\";\n const description = element.description?.toLowerCase() ?? \"\";\n const aliases = (element.aliases ?? []).map(alias => alias.toLowerCase());\n\n return (\n label.includes(query) ||\n description.includes(query) ||\n aliases.some(alias => alias.includes(query))\n );\n };\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(matchesSearch)\n .map(element => assoc(\"elementIndex\", elementIndex++, element)),\n }))\n .filter(section =>\n isPresent(searchString) ? isNotEmpty(section.elements) : true\n );\n }, [searchString, elementSections]);\n\n return (\n <>\n <TitleBar {...{ setVisiblePanel }} />\n <div className=\"mb-1 px-6\">\n <Typography className=\"mb-3\" variant=\"body3\">\n {t(\"neetoMolecules.builderSidebar.addNewElementDescription\")}\n </Typography>\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n type=\"search\"\n value={searchString}\n onChange={withEventTargetValue(setSearchString)}\n />\n </div>\n <Body data-testid=\"elements-container\" size=\"small\">\n <SectionsContainer\n {...{\n filteredSections,\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\nimport { noop, findById, isNotEmpty, hyphenate, isPresent } from \"neetocist\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"../../../MoreDropdown\";\n\nconst SelectedElement = ({\n element,\n isActive,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n handleSelectElement,\n isSelectable = true,\n errors = [],\n actions = [],\n isDraggable = false,\n ...props\n}) => {\n const Icon = element.icon;\n const rootElementRef = useRef();\n\n const onClick = () => handleSelectElement(element);\n\n const shouldShowDropdown = isNotEmpty(actions);\n\n const menuItems =\n typeof actions === \"function\"\n ? actions(element)\n : actions.map(action =>\n mergeRight(action, {\n onClick: () => {\n action.onClick(element);\n },\n })\n );\n\n useEffect(() => {\n const rootElement = rootElementRef.current;\n\n if (\n !rootElement ||\n !isActive ||\n typeof rootElement?.scrollIntoView !== \"function\"\n ) {\n return;\n }\n rootElement.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\n }, [isActive, rootElementRef]);\n\n const error = findById(element.id, errors);\n\n return (\n <div\n data-testid={props[\"data-testid\"]}\n ref={rootElementRef}\n className={classnames(\n \"border-border bg-background hover:bg-muted relative mb-2 flex h-10 cursor-pointer items-center gap-2 rounded-lg border py-3 ps-4 pe-3 transition-all duration-300 ease-in-out\",\n { \"!border-primary ring-primary ring-1\": isActive },\n { \"bg-destructive/10 hover:bg-destructive/10\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-testid=\"new-element-field\"\n >\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon />\n </div>\n )}\n <Typography\n className=\"truncate leading-snug\"\n data-testid={`${hyphenate(element.label, \"new-element\")}-label`}\n variant=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n isDisabled={element.isPending || isSelectedElementActionsDisabled}\n dropdownButtonProps={{\n onClick: e => e.stopPropagation(),\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n loading: element.isPending,\n ...(isPresent(selectedElementActionsTooltipProps) && {\n tooltipProps: selectedElementActionsTooltipProps,\n }),\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Plus, Zap } from \"lucide-react\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = ({\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n}) => {\n const { t } = useTranslation();\n\n const handleAddNewElementClick = () => {\n if (typeof addNewElement === \"function\") addNewElement();\n else setVisiblePanel(PANEL_TYPES.ELEMENTS);\n };\n\n return (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n className=\"leading-normal\"\n data-testid=\"elements-title\"\n variant=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between gap-x-2\">\n <Button\n data-testid=\"add-element-button\"\n disabled={isLoading}\n icon={Plus}\n iconPosition=\"left\"\n loading={isAddingNewElement}\n size=\"sm\"\n variant=\"link\"\n label={\n addNewElementLabel ||\n t(\"neetoMolecules.builderSidebar.addNewElement\")\n }\n onClick={handleAddNewElementClick}\n />\n {showElementsFillButton && (\n <Button\n data-testid=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Zap}\n loading={isAddingAllElements}\n size=\"icon-sm\"\n variant=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\nimport Body from \"../../Body\";\nimport {\n DROPPABLE_TYPES,\n SELECTED_ELEMENTS_LIST_DROPPABLE_ID,\n} from \"../../constants\";\n\nconst SelectedElementsList = ({\n handleSelectElement,\n isReorderDisabled,\n isElementVisible,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n fixedLastElement,\n fixedFirstElement,\n anchoredElementIds,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n renderElementsCount,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n index,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-testid={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n const { t } = useTranslation();\n\n const checkIsVisible = element => isElementVisible?.(element) ?? true;\n const visibleCount =\n typeof renderElementsCount === \"function\"\n ? (selectedElements ?? []).filter(checkIsVisible).length\n : 0;\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n isAddingAllElements,\n isAddingNewElement,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n <Typography className=\"mb-3\" variant=\"body3\">\n {t(\"neetoMolecules.builderSidebar.elementsReorderDescription\")}\n </Typography>\n {typeof renderElementsCount === \"function\" &&\n renderElementsCount(visibleCount)}\n {Array.isArray(fixedFirstElement)\n ? isNotEmpty(fixedFirstElement) &&\n fixedFirstElement.map(renderSelectedElement)\n : isPresent(fixedFirstElement) &&\n renderSelectedElement(fixedFirstElement)}\n <Droppable\n droppableId={SELECTED_ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.SELECTED_ELEMENT}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div\n ref={innerRef}\n {...droppableProps}\n data-testid=\"selected-elements-droppable-container\"\n >\n {selectedElements\n ?.filter(checkIsVisible)\n .map((element, index) => {\n const isAnchoredElement = anchoredElementIds.includes(\n element.id\n );\n\n const isDragDisabled = isReorderDisabled || isAnchoredElement;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index, isDragDisabled }}\n draggableId={element.id ?? `element-${index}`}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isDragDisabled}\n key={element.id ?? index}\n />\n </div>\n )}\n </Draggable>\n );\n })}\n {placeholder}\n </div>\n )}\n </Droppable>\n {isPresent(fixedLastElement) && (\n <SelectedElement\n {...{\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={fixedLastElement.actions}\n data-testid=\"submit-button-element\"\n element={fixedLastElement}\n isActive={selectedElementId === fixedLastElement.id}\n />\n )}\n </Body>\n </>\n );\n};\n\nexport default SelectedElementsList;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport { noop } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport { PANEL_TYPES } from \"../constants\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement,\n fixedLastElement,\n anchoredElementIds = [],\n isReorderDisabled = true,\n isDragElementsDisabled = true,\n handleSelectElement,\n selectedElementId,\n selectedElementActions,\n addAllElements = noop,\n isAddingAllElements = false,\n showElementsFillButton = false,\n isAddingNewElement = false,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled = false,\n selectedElementActionsTooltipProps = {},\n renderElementsCount,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(PANEL_TYPES.SUMMARY);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"fixed inset-0 z-[101] hidden bg-black/40 max-[767px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"relative z-[101] h-full w-[360px] min-w-[360px] transition-all duration-150 motion-reduce:transition-none max-[767px]:fixed max-[767px]:start-0 max-[767px]:top-0 max-[767px]:transition-none max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]\",\n { \"w-0 max-w-0 min-w-0\": isElementsPanelCollapsed }\n )}\n >\n <div className=\"h-full w-full overflow-hidden\">\n <div\n className={classnames(\n \"border-border flex h-full w-[360px] min-w-[360px] flex-col border-e max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-6 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]\",\n visiblePanel === PANEL_TYPES.SUMMARY\n ? \"bg-background\"\n : \"bg-muted/40\"\n )}\n onClick={event => event.stopPropagation()}\n >\n {visiblePanel === PANEL_TYPES.SUMMARY ? (\n <SelectedElementsList\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n anchoredElementIds,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n isSelectedElementActionsDisabled,\n renderElementsCount,\n selectedElementActions,\n selectedElementActionsTooltipProps,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute start-[calc(100%_+_8px)] top-2 shrink-0 transition-[color] duration-300 motion-reduce:transition-none max-[576px]:start-auto max-[576px]:end-6 min-[1024px]:pointer-events-none min-[1024px]:opacity-0\",\n isElementsPanelCollapsed\n ? \"-scale-x-100 max-[767px]:top-[109px] max-[576px]:start-2 max-[576px]:end-auto rtl:scale-x-100\"\n : \"rtl:-scale-x-100\"\n )}\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nElementsPanel.propTypes = {\n /**\n * List of supported elements to be rendered in the ElementsList panel.\n */\n elementSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n icon: PropTypes.elementType,\n /**\n * Optional inline description rendered below the element label.\n * Also considered by the elements-panel search filter.\n */\n description: PropTypes.string,\n /**\n * Optional hover tooltip shown on the element row when it is\n * creatable. Use this when the helper text should not affect\n * card height (descriptions render as a subtitle and can vary\n * row heights across element types).\n */\n tooltip: PropTypes.string,\n /**\n * Optional search aliases. The elements-panel search filter\n * matches these in addition to the label and description, so\n * legacy terms (e.g. \"paragraph\" for an element now called\n * \"Instructions\") continue to surface the correct element.\n */\n aliases: PropTypes.arrayOf(PropTypes.string),\n })\n ),\n key: PropTypes.string,\n isCreatable: PropTypes.func,\n disabledElementTooltip: PropTypes.func,\n })\n ),\n /**\n * List of selected elements.\n */\n selectedElements: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n isPending: PropTypes.bool,\n label: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n /**\n * Callback that will be triggered when an element is clicked from the elements list.\n */\n handleAddElement: PropTypes.func,\n /**\n * Function that will be used to check whether the element is visible.\n * The callback will be triggered with element info at the time of render.\n */\n isElementVisible: PropTypes.func,\n /**\n * The record that's to be rendered as first record.\n * This won't be draggable.\n */\n fixedFirstElement: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n })\n ),\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n }),\n ]),\n /**\n * The record that's to be rendered as the last record.\n * This won't be draggable.\n */\n fixedLastElement: PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n }),\n /**\n * List of ids of elements that cannot be dragged.\n * Some specific elements can be dragged and dropped over them.\n */\n anchoredElementIds: PropTypes.arrayOf(PropTypes.string),\n /**\n * Boolean to mention that the drag and order selected elements feature should be disabled.\n */\n isReorderDisabled: PropTypes.bool,\n /**\n * Boolean to mention that the drag and drop elements to the preview container is enabled.\n */\n isDragElementsDisabled: PropTypes.bool,\n /**\n * The callback that will be triggered when an element is clicked from the elements list.\n */\n handleSelectElement: PropTypes.func,\n /**\n * Id of the current selected element.\n */\n selectedElementId: PropTypes.string,\n /**\n * Actions to be rendered on the selected elements.\n */\n selectedElementActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n\n /**\n * Function that will be called when clicked on the add all elements button.\n */\n addAllElements: PropTypes.func,\n /**\n * Boolean to notate whether all elements are being added.\n */\n isAddingAllElements: PropTypes.bool,\n /**\n * Boolean to control the visibility of add all elements button.\n */\n showElementsFillButton: PropTypes.bool,\n /**\n * Boolean to notate whether an element is being added.\n */\n isAddingNewElement: PropTypes.bool,\n /**\n * Prop to customize the label of the \"Add new element\" button.\n */\n addNewElementLabel: PropTypes.string,\n /**\n * Function that will be called when clicking on add new element button. If not provided, will default to showing the elements panel.\n */\n addNewElement: PropTypes.func,\n /**\n * Boolean to disable the selected element actions.\n */\n isSelectedElementActionsDisabled: PropTypes.bool,\n /**\n * Props to be passed to the tooltip component for selected element actions.\n */\n selectedElementActionsTooltipProps: PropTypes.object,\n /**\n * Render prop called with the visible elements count. When provided, its return value is rendered\n * below the reorder description (e.g. (count) => <Typography>{t('key', { count })}</Typography>).\n */\n renderElementsCount: PropTypes.func,\n};\n\nexport default ElementsPanel;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"bg-muted text-muted-foreground flex w-full flex-col items-center justify-center gap-y-2 rounded-lg px-16 py-8\">\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"build-page-text-label\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"bg-muted h-40 w-full rounded-lg\" />\n <div className=\"bg-muted h-72 w-full rounded-lg\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ArrowDown } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"bg-muted h-12 w-full rounded-lg\" />\n <div className=\"bg-muted text-muted-foreground flex w-full flex-col items-center justify-center gap-y-2 rounded-lg px-16 py-8\">\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"build-page-text-label\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <ArrowDown />\n </div>\n <div className=\"bg-muted h-40 w-full rounded-lg\" />\n <div className=\"bg-muted h-72 w-full rounded-lg\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nconst PropertiesPanel = ({ id, children, onClose }) => {\n const { isSize } = useBreakpoints(window => ({\n largeDesktop: window.innerWidth >= 1280,\n }));\n const isLargerScreen = isSize(\"largeDesktop\");\n const [isPropertiesPanelCollapsed, setIsPropertiesPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsPropertiesPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n useEffect(() => {\n if (!id) return;\n setIsPropertiesPanelCollapsed(false);\n }, [id]);\n\n const handleCollapsePanel = () => {\n setIsPropertiesPanelCollapsed(!isPropertiesPanelCollapsed);\n onClose?.(id);\n };\n\n return (\n <>\n {!isPropertiesPanelCollapsed && (\n <div\n className=\"fixed inset-0 z-[101] hidden bg-black/40 max-[1279px]:block\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n \"border-border relative z-[101] h-full w-[420px] min-w-[420px] border-s transition-all duration-150 motion-reduce:transition-none max-[1279px]:fixed max-[1279px]:end-0 max-[1279px]:top-0 max-[1279px]:transition-none max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0\",\n { \"w-0 max-w-0 min-w-0\": isPropertiesPanelCollapsed }\n )}\n >\n <div\n className=\"bg-background flex h-full w-full min-w-0 flex-col overflow-y-auto p-6 max-[1279px]:pt-12\"\n data-testid=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"pointer-events-none absolute end-2 top-2 opacity-0 max-[1279px]:pointer-events-auto max-[1279px]:opacity-100\"\n icon={X}\n size=\"icon\"\n variant=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["__iconNode","PANEL_TYPES","SUMMARY","ELEMENTS","SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","NoResults","withT","_ref","t","_jsx","Typography","className","weight","children","memo","Element","label","description","tooltip","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","isAddingNewElement","handleClick","event","preventDefault","tooltipContent","Tooltip","content","disabled","position","_jsxs","concat","joinHyphenCase","classnames","GripVertical","size","variant","ElementContainer","index","element","onSelect","setVisiblePanel","isCreatableElement","value","_objectSpread","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","style","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","Button","X","Body","props","_objectWithoutProperties","_excluded","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","query","toLowerCase","matchesSearch","_element$label$toLowe","_element$label","_element$description$","_element$description","_element$aliases","aliases","alias","includes","some","filter","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","isSelectedElementActionsDisabled","selectedElementActionsTooltipProps","handleSelectElement","_ref$isSelectable","isSelectable","_ref$errors","errors","_ref$actions","actions","_ref$isDraggable","isDraggable","rootElementRef","useRef","shouldShowDropdown","menuItems","action","mergeRight","useEffect","rootElement","current","scrollIntoView","behavior","block","error","findById","id","hyphenate","MoreDropdown","isDisabled","isPending","dropdownButtonProps","e","stopPropagation","loading","tooltipProps","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","addNewElement","addNewElementLabel","handleAddNewElementClick","PLURAL","Plus","iconPosition","Zap","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","anchoredElementIds","selectedElementActions","renderElementsCount","renderSelectedElement","arguments","length","undefined","Array","isArray","checkIsVisible","_isElementVisible","visibleCount","_ref2","droppableProps","_element$id","_element$id2","isAnchoredElement","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$anchoredElementI","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","_ref$isSelectedElemen","_ref$selectedElementA","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","PanelLeftClose","EmptyProperty","Skeleton","ArrowDown","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAMA,YAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC5C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,QAAQ,EAAE;AACjD,CAAC;AACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,EAAEA,YAAU,CAAC;;ACb5D;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAMA,YAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACjF,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,QAAQ,EAAE;AACjD,CAAC;AACD,MAAM,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,EAAEA,YAAU,CAAC;;ACdvE;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE;AACF,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,CAAC,EAAE,6JAA6J;AACtK,MAAM,GAAG,EAAE;AACX;AACA;AACA,CAAC;AACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;;AClBxC,IAAMC,WAAW,GAAG;AAAEC,EAAAA,OAAO,EAAE,SAAS;AAAEC,EAAAA,QAAQ,EAAE;AAAW;AAE/D,IAAMC,mCAAmC,GAC9C;AAEK,IAAMC,0BAA0B,GAAG;AAEnC,IAAMC,8BAA8B,GACzC;AAEK,IAAMC,eAAe,GAAG;AAC7BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,gBAAgB,EAAE;AACpB;;ACRA,IAAMC,SAAS,GAAGC,KAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;EAAA,oBAC1BC,GAAA,CAACC,UAAU,EAAA;AACTC,IAAAA,SAAS,EAAC,mEAAmE;AAC7EC,IAAAA,MAAM,EAAC,MAAM;IAAAC,QAAA,EAEZL,CAAC,CAAC,0CAA0C;AAAC,GACpC,CAAC;AAAA,CACd,CAAC;AAEF,kBAAA,aAAeM,IAAI,CAACT,SAAS,CAAC;;ACT9B,IAAMU,OAAO,GAAG,SAAVA,OAAOA,CAAAR,IAAA,EAYP;AAAA,EAAA,IAXJS,KAAK,GAAAT,IAAA,CAALS,KAAK;IACLC,WAAW,GAAAV,IAAA,CAAXU,WAAW;IACXC,OAAO,GAAAX,IAAA,CAAPW,OAAO;IACDC,IAAI,GAAAZ,IAAA,CAAVa,IAAI;IAAAC,gBAAA,GAAAd,IAAA,CACJe,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,gBAAA;IAClBE,OAAO,GAAAhB,IAAA,CAAPgB,OAAO;IAAAC,mBAAA,GAAAjB,IAAA,CACPkB,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,mBAAA;IACtBE,sBAAsB,GAAAnB,IAAA,CAAtBmB,sBAAsB;IACtBC,aAAa,GAAApB,IAAA,CAAboB,aAAa;IACbC,cAAc,GAAArB,IAAA,CAAdqB,cAAc;IACdC,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;AAElB,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAI;AAC3B,IAAA,IAAI,CAACT,WAAW,IAAIO,kBAAkB,EAAE;MACtCE,KAAK,CAACC,cAAc,EAAE;AAEtB,MAAA;AACF,IAAA;IAEAT,OAAO,CAACQ,KAAK,CAAC;EAChB,CAAC;AAED,EAAA,IAAME,cAAc,GAAGX,WAAW,GAC9BJ,OAAO,GACPQ,sBAAsB,KAAA,IAAA,IAAtBA,sBAAsB,KAAA,MAAA,GAAA,MAAA,GAAtBA,sBAAsB,CAAGV,KAAK,CAAC;EAEnC,oBACEP,GAAA,CAACyB,OAAO,EAAA;AACNC,IAAAA,OAAO,EAAEF,cAAe;AACxBG,IAAAA,QAAQ,EAAER,cAAc,IAAI,CAACK,cAAe;AAC5CI,IAAAA,QAAQ,EAAC,KAAK;AAAAxB,IAAAA,QAAA,eAEdyB,IAAA,CAAA,KAAA,EAAA;AACE,MAAA,aAAA,EAAA,MAAA,CAAAC,MAAA,CAAoBC,cAAc,CAACxB,KAAK,CAAC,EAAA,UAAA,CAAW;AACpDL,MAAAA,SAAS,EAAE8B,UAAU,CACnB,gJAAgJ,EAChJ;QACE,6BAA6B,EAAE,CAACnB,WAAW;AAC3C,QAAA,gBAAgB,EAAEA,WAAW;AAC7B,QAAA,YAAY,EAAEK,aAAa;AAC3B,QAAA,MAAM,EAAE,CAACV;AACX,OACF,CAAE;AACFM,MAAAA,OAAO,EAAEO,WAAY;AAAAjB,MAAAA,QAAA,EAAA,CAEpB,CAACY,cAAc,iBACdhB,GAAA,CAAA,MAAA,EAAA;AACEE,QAAAA,SAAS,EAAC,6EAA6E;AACvF,QAAA,aAAA,EAAY,aAAa;QAAAE,QAAA,eAEzBJ,GAAA,CAACiC,YAAY,EAAA;AACX/B,UAAAA,SAAS,EAAC,qFAAqF;AAC/FgC,UAAAA,IAAI,EAAE;SACP;OACG,CACP,eACDL,IAAA,CAAA,KAAA,EAAA;AAAK3B,QAAAA,SAAS,EAAC,mCAAmC;AAAAE,QAAAA,QAAA,EAAA,CAC/CM,IAAI,iBAAIV,GAAA,CAACU,IAAI,EAAA;UAAC,aAAA,EAAY;SAAa,CAAC,eACzCmB,IAAA,CAAA,KAAA,EAAA;AAAK3B,UAAAA,SAAS,EAAC,uBAAuB;UAAAE,QAAA,EAAA,cACpCJ,GAAA,CAACC,UAAU,EAAA;AAACC,YAAAA,SAAS,EAAC,WAAW;AAACiC,YAAAA,OAAO,EAAC,OAAO;AAAA/B,YAAAA,QAAA,EAC9CG;AAAK,WACI,CAAC,EACZC,WAAW,iBACVR,GAAA,CAACC,UAAU,EAAA;AACTC,YAAAA,SAAS,EAAC,8BAA8B;AACxC,YAAA,aAAA,EAAY,qBAAqB;AACjCiC,YAAAA,OAAO,EAAC,OAAO;AAAA/B,YAAAA,QAAA,EAEdI;AAAW,WACF,CACb;AAAA,SACE,CAAC;AAAA,OACH,CAAC;KACH;AAAC,GACC,CAAC;AAEd,CAAC;;;;AC7ED,IAAM4B,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAtC,IAAA,EAUhB;AAAA,EAAA,IATJuC,KAAK,GAAAvC,IAAA,CAALuC,KAAK;IACLrB,cAAc,GAAAlB,IAAA,CAAdkB,cAAc;IACdsB,OAAO,GAAAxC,IAAA,CAAPwC,OAAO;IACPrB,sBAAsB,GAAAnB,IAAA,CAAtBmB,sBAAsB;IACtBJ,WAAW,GAAAf,IAAA,CAAXe,WAAW;IACX0B,QAAQ,GAAAzC,IAAA,CAARyC,QAAQ;IACRpB,cAAc,GAAArB,IAAA,CAAdqB,cAAc;IACdC,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;IAClBoB,eAAe,GAAA1C,IAAA,CAAf0C,eAAe;AAEf,EAAA,IAAMC,kBAAkB,GACtB,OAAO5B,WAAW,KAAK,UAAU,GAAGA,WAAW,CAACyB,OAAO,CAACI,KAAK,CAAC,GAAG,IAAI;AAEvE,EAAA,IAAI1B,cAAc,EAAE;AAClB,IAAA,oBACEhB,GAAA,CAACM,OAAO,EAAAqC,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAEDL,OAAO,CAAA,EAAA,EAAA,EAAA;AACVrB,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBG,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBJ,MAAAA,cAAc,EAAdA,cAAc;AACdwB,MAAAA,eAAe,EAAfA;AAAe,KAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AAEjB3B,MAAAA,WAAW,EAAE4B,kBAAmB;MAChC3B,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQyB,QAAQ,CAACD,OAAO,CAAC;AAAA,MAAA;AAAC,KAAA,CAClC,CAAC;AAEN,EAAA;EAEA,oBACEM,aAAA,CAACC,SAAS,EAAA;AACFR,IAAAA,KAAK,EAALA,KAAK;IACXS,WAAW,EAAER,OAAO,CAACI,KAAM;IAC3BK,GAAG,EAAET,OAAO,CAAC/B,KAAM;AACnBS,IAAAA,cAAc,EACZA,cAAc,IAAI,CAACyB,kBAAkB,IAAIrB;GAC1C,EAEA,UAAC4B,QAAQ,EAAEC,QAAQ,EAAA;IAAA,oBAClBpB,IAAA,CAAAqB,QAAA,EAAA;AAAA9C,MAAAA,QAAA,gBACEJ,GAAA,CAAA,KAAA,EAAA2C,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;QACEQ,GAAG,EAAEH,QAAQ,CAACI;AAAS,OAAA,EACnBJ,QAAQ,CAACK,cAAc,CAAA,EACvBL,QAAQ,CAACM,eAAe,CAAA,EAAA,EAAA,EAAA;AAC5BC,QAAAA,KAAK,EAAAZ,eAAA,CAAAA,eAAA,KACAK,QAAQ,CAACK,cAAc,CAACE,KAAK,CAAA,EAC5B,CAACN,QAAQ,CAACO,UAAU,IAAI;AAAEC,UAAAA,SAAS,EAAE;AAAO,SAAC,CACjD;AAAArD,QAAAA,QAAA,eAEFJ,GAAA,CAACM,OAAO,EAAAqC,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,KAEDL,OAAO,CAAA,EAAA,EAAA,EAAA;AACVrB,UAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBG,UAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBJ,UAAAA,cAAc,EAAdA,cAAc;AACdG,UAAAA,cAAc,EAAdA,cAAc;AACdqB,UAAAA,eAAe,EAAfA;AAAe,SAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AAEjB3B,UAAAA,WAAW,EAAE4B,kBAAmB;UAChC3B,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQyB,QAAQ,CAACD,OAAO,CAAC;AAAA,UAAA;SAAC,CAClC;AAAC,OAAA,CACC,CAAC,EACLW,QAAQ,CAACO,UAAU,iBAClBxD,GAAA,CAACM,OAAO,EAAAqC,eAAA,CAAAA,eAAA,CAAA;AACN1B,QAAAA,sBAAsB,EAAE;AAAK,OAAA,EAAA0B,eAAA,CAAAA,eAAA,CAAA,EAAA,EACpBL,OAAO,CAAA,EAAA,EAAA,EAAA;AAAElB,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAAEoB,QAAAA,eAAe,EAAfA;AAAe,OAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACrD3B,QAAAA,WAAW,EAAE,KAAM;AACnBC,QAAAA,OAAO,EAAE4C;AAAK,OAAA,CACf,CACF;AAAA,KACD,CAAC;AAAA,EAAA,CAEI,CAAC;AAEhB,CAAC;;AC3ED,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA7D,IAAA,EAUP;AAAA,EAAA,IATJ8D,KAAK,GAAA9D,IAAA,CAAL8D,KAAK;IACLC,QAAQ,GAAA/D,IAAA,CAAR+D,QAAQ;IACRtB,QAAQ,GAAAzC,IAAA,CAARyC,QAAQ;IACR1B,WAAW,GAAAf,IAAA,CAAXe,WAAW;IACXI,sBAAsB,GAAAnB,IAAA,CAAtBmB,sBAAsB;IACED,cAAc,GAAAlB,IAAA,CAAtCgE,sBAAsB;IACtB3C,cAAc,GAAArB,IAAA,CAAdqB,cAAc;IACdC,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;IAClBoB,eAAe,GAAA1C,IAAA,CAAf0C,eAAe;AAEf,EAAA,IAAIuB,OAAO,CAACF,QAAQ,CAAC,EAAE;AACrB,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,oBACEhC,IAAA,CAAAqB,QAAA,EAAA;AAAA9C,IAAAA,QAAA,EAAA,CACGwD,KAAK,iBAAI5D,GAAA,CAACC,UAAU,EAAA;AAACC,MAAAA,SAAS,EAAC,WAAW;AAAAE,MAAAA,QAAA,EAAEwD;AAAK,KAAa,CAAC,EAC/DC,QAAQ,CAACG,GAAG,CAAC,UAAA1B,OAAO,EAAA;MAAA,oBACnBM,aAAA,CAACR,gBAAgB,EAAA;AAEbnB,QAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBqB,QAAAA,OAAO,EAAPA,OAAO;AACPlB,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBP,QAAAA,WAAW,EAAXA,WAAW;AACXG,QAAAA,cAAc,EAAdA,cAAc;AACdG,QAAAA,cAAc,EAAdA,cAAc;AACdoB,QAAAA,QAAQ,EAARA,QAAQ;AACRC,QAAAA,eAAe,EAAfA,eAAe;QAEjBH,KAAK,EAAEC,OAAO,CAAC2B,YAAa;QAC5BlB,GAAG,EAAET,OAAO,CAAC/B;AAAM,OACpB,CAAC;AAAA,IAAA,CACH,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;;;ACjCD,IAAM2D,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAApE,IAAA,EAMjB;AAAA,EAAA,IALJgE,sBAAsB,GAAAhE,IAAA,CAAtBgE,sBAAsB;IACtBK,gBAAgB,GAAArE,IAAA,CAAhBqE,gBAAgB;IAChB/C,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;IAClBmB,QAAQ,GAAAzC,IAAA,CAARyC,QAAQ;IACRC,eAAe,GAAA1C,IAAA,CAAf0C,eAAe;AAEf,EAAA,IAAIuB,OAAO,CAACI,gBAAgB,CAAC,EAAE;AAC7B,IAAA,oBAAOnE,GAAA,CAACJ,WAAS,EAAA,EAAE,CAAC;AACtB,EAAA;AAEA,EAAA,IAAIkE,sBAAsB,EAAE;IAC1B,oBACE9D,GAAA,CAAAkD,QAAA,EAAA;AAAA9C,MAAAA,QAAA,EACG+D,gBAAgB,CAACH,GAAG,CAAC,UAAAI,OAAO,EAAA;QAAA,oBAC3BxB,aAAA,CAACe,OAAO,EAAAhB,eAAA,CAAAA,eAAA,KAAAA,eAAA,CAAA;AAEJvB,UAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB0C,UAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBvB,UAAAA,QAAQ,EAARA,QAAQ;AACRC,UAAAA,eAAe,EAAfA;AAAe,SAAA,EACZ4B,OAAO,CAAA,CAAA,EAAA,EAAA,EAAA;UAEZrB,GAAG,EAAEqB,OAAO,CAACrB;AAAI,SAAA,CAClB,CAAC;MAAA,CACH;AAAC,KACF,CAAC;AAEP,EAAA;EAEA,oBACE/C,GAAA,CAACqE,SAAS,EAAA;AACRC,IAAAA,WAAW,EAAE/E,0BAA2B;IACxCgF,IAAI,EAAE9E,eAAe,CAACC,OAAQ;AAAAU,IAAAA,QAAA,EAE7B,SAAAA,QAAAA,CAAC4C,QAAQ,EAAEC,QAAQ,EAAA;AAAA,MAAA,oBAClBjD,GAAA,CAAA,KAAA,EAAA;QAAKmD,GAAG,EAAEH,QAAQ,CAACI,QAAS;AAAAhD,QAAAA,QAAA,EACzB+D,gBAAgB,CAACH,GAAG,CAAC,UAAAI,OAAO,EAAA;UAAA,oBAC3BxB,aAAA,CAACe,OAAO,EAAAhB,eAAA,CAAAA,eAAA,KAAAA,eAAA,CAAA;AAEJvB,YAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB0C,YAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBvB,YAAAA,QAAQ,EAARA,QAAQ;AACRC,YAAAA,eAAe,EAAfA;AAAe,WAAA,EACZ4B,OAAO,CAAA,CAAA,EAAA,EAAA,EAAA;YAEZjD,cAAc,EAAE8B,QAAQ,CAAC9B,cAAe;YACxC4B,GAAG,EAAEqB,OAAO,CAACrB;AAAI,WAAA,CAClB,CAAC;QAAA,CACH;AAAC,OACC,CAAC;AAAA,IAAA;AACP,GACQ,CAAC;AAEhB,CAAC;;ACxDD,IAAMyB,UAAQ,GAAG3E,KAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAEyC,eAAe,GAAA1C,IAAA,CAAf0C,eAAe;AAAA,EAAA,oBAC1CX,IAAA,CAAA,KAAA,EAAA;AACE3B,IAAAA,SAAS,EAAC,4CAA4C;AACtD,IAAA,aAAA,EAAY,sBAAsB;IAAAE,QAAA,EAAA,cAElCJ,GAAA,CAACC,UAAU,EAAA;AACTC,MAAAA,SAAS,EAAC,gBAAgB;AAC1B,MAAA,aAAA,EAAY,qBAAqB;AACjCiC,MAAAA,OAAO,EAAC,IAAI;AACZhC,MAAAA,MAAM,EAAC,UAAU;MAAAC,QAAA,EAEhBL,CAAC,CAAC,6CAA6C;AAAC,KACvC,CAAC,eACbC,GAAA,CAACyE,MAAM,EAAA;AACL,MAAA,aAAA,EAAY,eAAe;AAC3B9D,MAAAA,IAAI,EAAE+D,CAAE;AACRxC,MAAAA,IAAI,EAAC,MAAM;AACXC,MAAAA,OAAO,EAAC,OAAO;MACfrB,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQ0B,eAAe,CAACrD,WAAW,CAACC,OAAO,CAAC;AAAA,MAAA;AAAC,KACrD,CAAC;AAAA,GACC,CAAC;AAAA,CACP,CAAC;;;;;ACzBF,IAAMuF,IAAI,GAAG,SAAPA,IAAIA,CAAA7E,IAAA,EAAA;AAAA,EAAA,IAAMoC,IAAI,GAAApC,IAAA,CAAJoC,IAAI;AAAK0C,IAAAA,KAAK,GAAAC,wBAAA,CAAA/E,IAAA,EAAAgF,WAAA,CAAA;AAAA,EAAA,oBAC5B9E,GAAA,CAAA,KAAA,EAAA2C,eAAA,CAAAA,eAAA,KACMiC,KAAK,CAAA,EAAA,EAAA,EAAA;IACT1E,SAAS,EAAE8B,UAAU,CACnB,oDAAoD,EACpDE,IAAI,KAAK,OAAO,GACZ,oCAAoC,GACpC,2BACN;AAAE,GAAA,CACH,CAAC;AAAA,CACH;;;;ACED,IAAM6C,WAAW,GAAG,SAAdA,WAAWA,CAAAjF,IAAA,EAMX;AAAA,EAAA,IALJ0C,eAAe,GAAA1C,IAAA,CAAf0C,eAAe;IAAAwC,oBAAA,GAAAlF,IAAA,CACfmF,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IACpBzC,QAAQ,GAAAzC,IAAA,CAARyC,QAAQ;IACRuB,sBAAsB,GAAAhE,IAAA,CAAtBgE,sBAAsB;IACtB1C,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;AAElB,EAAA,IAAA8D,eAAA,GAAcC,cAAc,EAAE;IAAtBpF,CAAC,GAAAmF,eAAA,CAADnF,CAAC;AACT,EAAA,IAAAqF,SAAA,GAAwCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA7CI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAMnB,gBAAgB,GAAGuB,OAAO,CAAC,YAAM;IACrC,IAAIzB,YAAY,GAAG,CAAC;AACpB,IAAA,IAAM0B,KAAK,GAAGH,YAAY,CAACI,WAAW,EAAE;AAExC,IAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGvD,OAAO,EAAI;MAAA,IAAAwD,qBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,gBAAA;AAC/B,MAAA,IAAI,CAACP,KAAK,EAAE,OAAO,IAAI;MAEvB,IAAMpF,KAAK,IAAAuF,qBAAA,GAAA,CAAAC,cAAA,GAAGzD,OAAO,CAAC/B,KAAK,MAAA,IAAA,IAAAwF,cAAA,uBAAbA,cAAA,CAAeH,WAAW,EAAE,cAAAE,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE;MAChD,IAAMtF,WAAW,IAAAwF,qBAAA,GAAA,CAAAC,oBAAA,GAAG3D,OAAO,CAAC9B,WAAW,MAAA,IAAA,IAAAyF,oBAAA,uBAAnBA,oBAAA,CAAqBL,WAAW,EAAE,cAAAI,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE;AAC5D,MAAA,IAAMG,OAAO,GAAG,CAAA,CAAAD,gBAAA,GAAC5D,OAAO,CAAC6D,OAAO,MAAA,IAAA,IAAAD,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,EAAE,EAAElC,GAAG,CAAC,UAAAoC,KAAK,EAAA;AAAA,QAAA,OAAIA,KAAK,CAACR,WAAW,EAAE;MAAA,CAAA,CAAC;AAEzE,MAAA,OACErF,KAAK,CAAC8F,QAAQ,CAACV,KAAK,CAAC,IACrBnF,WAAW,CAAC6F,QAAQ,CAACV,KAAK,CAAC,IAC3BQ,OAAO,CAACG,IAAI,CAAC,UAAAF,KAAK,EAAA;AAAA,QAAA,OAAIA,KAAK,CAACC,QAAQ,CAACV,KAAK,CAAC;MAAA,CAAA,CAAC;IAEhD,CAAC;AAED,IAAA,OAAOV,eAAe,CACnBjB,GAAG,CAAC,UAAAI,OAAO,EAAA;AAAA,MAAA,OAAAzB,eAAA,CAAAA,eAAA,CAAA,EAAA,EACPyB,OAAO,CAAA,EAAA,EAAA,EAAA;AACVP,QAAAA,QAAQ,EAAEO,OAAO,CAACP,QAAQ,CACvB0C,MAAM,CAACV,aAAa,CAAC,CACrB7B,GAAG,CAAC,UAAA1B,OAAO,EAAA;UAAA,OAAIkE,KAAK,CAAC,cAAc,EAAEvC,YAAY,EAAE,EAAE3B,OAAO,CAAC;AAAA,QAAA,CAAA;AAAC,OAAA,CAAA;AAAA,IAAA,CACjE,CAAC,CACFiE,MAAM,CAAC,UAAAnC,OAAO,EAAA;AAAA,MAAA,OACbqC,SAAS,CAACjB,YAAY,CAAC,GAAGkB,UAAU,CAACtC,OAAO,CAACP,QAAQ,CAAC,GAAG,IAAI;AAAA,IAAA,CAC/D,CAAC;AACL,EAAA,CAAC,EAAE,CAAC2B,YAAY,EAAEP,eAAe,CAAC,CAAC;EAEnC,oBACEpD,IAAA,CAAAqB,QAAA,EAAA;IAAA9C,QAAA,EAAA,cACEJ,GAAA,CAACwE,UAAQ,EAAA;AAAOhC,MAAAA,eAAe,EAAfA;KAAoB,CAAC,eACrCX,IAAA,CAAA,KAAA,EAAA;AAAK3B,MAAAA,SAAS,EAAC,WAAW;MAAAE,QAAA,EAAA,cACxBJ,GAAA,CAACC,UAAU,EAAA;AAACC,QAAAA,SAAS,EAAC,MAAM;AAACiC,QAAAA,OAAO,EAAC,OAAO;QAAA/B,QAAA,EACzCL,CAAC,CAAC,wDAAwD;AAAC,OAClD,CAAC,eACbC,GAAA,CAAC2G,KAAK,EAAA;QACJC,SAAS,EAAA,IAAA;AACT,QAAA,aAAA,EAAY,6BAA6B;AACzCC,QAAAA,WAAW,EAAE9G,CAAC,CAAC,8CAA8C,CAAE;AAC/D+G,QAAAA,MAAM,eAAE9G,GAAA,CAAC+G,MAAM,IAAE,CAAE;AACnBxC,QAAAA,IAAI,EAAC,QAAQ;AACb7B,QAAAA,KAAK,EAAE8C,YAAa;QACpBwB,QAAQ,EAAEC,oBAAoB,CAACxB,eAAe;AAAE,OACjD,CAAC;AAAA,KACC,CAAC,eACNzF,GAAA,CAAC2E,IAAI,EAAA;AAAC,MAAA,aAAA,EAAY,oBAAoB;AAACzC,MAAAA,IAAI,EAAC,OAAO;MAAA9B,QAAA,eACjDJ,GAAA,CAACkE,iBAAiB,EAAA;AAEdC,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB/C,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB0C,QAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBvB,QAAAA,QAAQ,EAARA,QAAQ;AACRC,QAAAA,eAAe,EAAfA;OAEH;AAAC,KACE,CAAC;AAAA,GACP,CAAC;AAEP,CAAC;;;;;AC1ED,IAAM0E,eAAe,GAAG,SAAlBA,eAAeA,CAAApH,IAAA,EAWf;AAAA,EAAA,IAVJwC,OAAO,GAAAxC,IAAA,CAAPwC,OAAO;IACP6E,QAAQ,GAAArH,IAAA,CAARqH,QAAQ;IACRC,gCAAgC,GAAAtH,IAAA,CAAhCsH,gCAAgC;IAChCC,kCAAkC,GAAAvH,IAAA,CAAlCuH,kCAAkC;IAClCC,mBAAmB,GAAAxH,IAAA,CAAnBwH,mBAAmB;IAAAC,iBAAA,GAAAzH,IAAA,CACnB0H,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,iBAAA;IAAAE,WAAA,GAAA3H,IAAA,CACnB4H,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;IAAAE,YAAA,GAAA7H,IAAA,CACX8H,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,gBAAA,GAAA/H,IAAA,CACZgI,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;AAChBjD,IAAAA,KAAK,GAAAC,wBAAA,CAAA/E,IAAA,EAAAgF,SAAA,CAAA;AAER,EAAA,IAAMpE,IAAI,GAAG4B,OAAO,CAAC3B,IAAI;AACzB,EAAA,IAAMoH,cAAc,GAAGC,MAAM,EAAE;AAE/B,EAAA,IAAMlH,OAAO,GAAG,SAAVA,OAAOA,GAAA;IAAA,OAASwG,mBAAmB,CAAChF,OAAO,CAAC;AAAA,EAAA,CAAA;AAElD,EAAA,IAAM2F,kBAAkB,GAAGvB,UAAU,CAACkB,OAAO,CAAC;AAE9C,EAAA,IAAMM,SAAS,GACb,OAAON,OAAO,KAAK,UAAU,GACzBA,OAAO,CAACtF,OAAO,CAAC,GAChBsF,OAAO,CAAC5D,GAAG,CAAC,UAAAmE,MAAM,EAAA;IAAA,OAChBC,UAAU,CAACD,MAAM,EAAE;AACjBrH,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACbqH,QAAAA,MAAM,CAACrH,OAAO,CAACwB,OAAO,CAAC;AACzB,MAAA;AACF,KAAC,CAAC;AAAA,EAAA,CACJ,CAAC;AAEP+F,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,WAAW,GAAGP,cAAc,CAACQ,OAAO;AAE1C,IAAA,IACE,CAACD,WAAW,IACZ,CAACnB,QAAQ,IACT,QAAOmB,WAAW,KAAA,IAAA,IAAXA,WAAW,uBAAXA,WAAW,CAAEE,cAAc,CAAA,KAAK,UAAU,EACjD;AACA,MAAA;AACF,IAAA;IACAF,WAAW,CAACE,cAAc,CAAC;AAAEC,MAAAA,QAAQ,EAAE,QAAQ;AAAEC,MAAAA,KAAK,EAAE;AAAU,KAAC,CAAC;AACtE,EAAA,CAAC,EAAE,CAACvB,QAAQ,EAAEY,cAAc,CAAC,CAAC;EAE9B,IAAMY,KAAK,GAAGC,QAAQ,CAACtG,OAAO,CAACuG,EAAE,EAAEnB,MAAM,CAAC;AAE1C,EAAA,oBACE7F,IAAA,CAAA,KAAA,EAAA;IACE,aAAA,EAAa+C,KAAK,CAAC,aAAa,CAAE;AAClCzB,IAAAA,GAAG,EAAE4E,cAAe;AACpB7H,IAAAA,SAAS,EAAE8B,UAAU,CACnB,+KAA+K,EAC/K;AAAE,MAAA,qCAAqC,EAAEmF;AAAS,KAAC,EACnD;AAAE,MAAA,2CAA2C,EAAEwB;AAAM,KACvD,CAAE;AACF7H,IAAAA,OAAO,EAAE0G,YAAY,GAAG1G,OAAO,GAAG4C,IAAK;IAAAtD,QAAA,EAAA,CAEtC0H,WAAW,iBACV9H,GAAA,CAAA,MAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,6EAA6E;AACvF,MAAA,aAAA,EAAY,aAAa;MAAAE,QAAA,eAEzBJ,GAAA,CAACiC,YAAY,EAAA;AACX/B,QAAAA,SAAS,EAAC,qFAAqF;AAC/FgC,QAAAA,IAAI,EAAE;OACP;KACG,CACP,eACDL,IAAA,CAAA,KAAA,EAAA;AACE3B,MAAAA,SAAS,EAAC,mDAAmD;AAC7D,MAAA,aAAA,EAAY,mBAAmB;MAAAE,QAAA,EAAA,CAE9BM,IAAI,iBACHV,GAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,eAAe;AAAAE,QAAAA,QAAA,eAC5BJ,GAAA,CAACU,IAAI,EAAA,EAAE;AAAC,OACL,CACN,eACDV,GAAA,CAACC,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,uBAAuB;QACjC,aAAA,EAAA,EAAA,CAAA4B,MAAA,CAAgBgH,SAAS,CAACxG,OAAO,CAAC/B,KAAK,EAAE,aAAa,CAAC,EAAA,QAAA,CAAS;AAChE4B,QAAAA,OAAO,EAAC,OAAO;QAAA/B,QAAA,EAEdkC,OAAO,CAAC/B;AAAK,OACJ,CAAC;AAAA,KACV,CAAC,EACL0H,kBAAkB,iBACjBjI,GAAA,CAAC+I,YAAY,EAAA;AACLb,MAAAA,SAAS,EAATA,SAAS;AACfc,MAAAA,UAAU,EAAE1G,OAAO,CAAC2G,SAAS,IAAI7B,gCAAiC;AAClE8B,MAAAA,mBAAmB,EAAAvG,eAAA,CAAA;AACjB7B,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEqI,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAACC,eAAe,EAAE;AAAA,QAAA,CAAA;AACjClJ,QAAAA,SAAS,EAAE,uBAAuB;QAClC,aAAa,EAAA,EAAA,CAAA4B,MAAA,CAAKgH,SAAS,CAACxG,OAAO,CAAC/B,KAAK,CAAC,EAAA,gBAAA,CAAgB;QAC1D8I,OAAO,EAAE/G,OAAO,CAAC2G;AAAS,OAAA,EACtBxC,SAAS,CAACY,kCAAkC,CAAC,IAAI;AACnDiC,QAAAA,YAAY,EAAEjC;OACf;AACD,KACH,CACF;AAAA,GACE,CAAC;AAEV,CAAC;AAED,wBAAA,aAAehH,IAAI,CAAC6G,eAAe,CAAC;;AC1GpC,IAAM1C,QAAQ,GAAG,SAAXA,QAAQA,CAAA1E,IAAA,EASR;AAAA,EAAA,IARJ0C,eAAe,GAAA1C,IAAA,CAAf0C,eAAe;IACf+G,SAAS,GAAAzJ,IAAA,CAATyJ,SAAS;IACTC,sBAAsB,GAAA1J,IAAA,CAAtB0J,sBAAsB;IACtBC,mBAAmB,GAAA3J,IAAA,CAAnB2J,mBAAmB;IACnBC,cAAc,GAAA5J,IAAA,CAAd4J,cAAc;IACdtI,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;IAClBuI,aAAa,GAAA7J,IAAA,CAAb6J,aAAa;IACbC,kBAAkB,GAAA9J,IAAA,CAAlB8J,kBAAkB;AAElB,EAAA,IAAA1E,eAAA,GAAcC,cAAc,EAAE;IAAtBpF,CAAC,GAAAmF,eAAA,CAADnF,CAAC;AAET,EAAA,IAAM8J,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAS;AACrC,IAAA,IAAI,OAAOF,aAAa,KAAK,UAAU,EAAEA,aAAa,EAAE,CAAC,KACpDnH,eAAe,CAACrD,WAAW,CAACE,QAAQ,CAAC;EAC5C,CAAC;AAED,EAAA,oBACEwC,IAAA,CAAA,KAAA,EAAA;AACE3B,IAAAA,SAAS,EAAC,4CAA4C;AACtD,IAAA,aAAA,EAAY,yBAAyB;IAAAE,QAAA,EAAA,cAErCJ,GAAA,CAACC,UAAU,EAAA;AACTC,MAAAA,SAAS,EAAC,gBAAgB;AAC1B,MAAA,aAAA,EAAY,gBAAgB;AAC5BiC,MAAAA,OAAO,EAAC,IAAI;AACZhC,MAAAA,MAAM,EAAC,UAAU;AAAAC,MAAAA,QAAA,EAEhBL,CAAC,CAAC,uCAAuC,EAAE+J,MAAM;KACxC,CAAC,eACbjI,IAAA,CAAA,KAAA,EAAA;AAAK3B,MAAAA,SAAS,EAAC,2CAA2C;MAAAE,QAAA,EAAA,cACxDJ,GAAA,CAACyE,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,oBAAoB;AAChC9C,QAAAA,QAAQ,EAAE4H,SAAU;AACpB5I,QAAAA,IAAI,EAAEoJ,IAAK;AACXC,QAAAA,YAAY,EAAC,MAAM;AACnBX,QAAAA,OAAO,EAAEjI,kBAAmB;AAC5Bc,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,OAAO,EAAC,MAAM;AACd5B,QAAAA,KAAK,EACHqJ,kBAAkB,IAClB7J,CAAC,CAAC,6CAA6C,CAChD;AACDe,QAAAA,OAAO,EAAE+I;AAAyB,OACnC,CAAC,EACDL,sBAAsB,iBACrBxJ,GAAA,CAACyE,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,yBAAyB;AACrC9C,QAAAA,QAAQ,EAAE8H,mBAAoB;AAC9B9I,QAAAA,IAAI,EAAEsJ,GAAI;AACVZ,QAAAA,OAAO,EAAEI,mBAAoB;AAC7BvH,QAAAA,IAAI,EAAC,SAAS;AACdC,QAAAA,OAAO,EAAC,WAAW;AACnBmH,QAAAA,YAAY,EAAE;UACZ5H,OAAO,EAAE3B,CAAC,CAAC,8CAA8C;SACzD;AACFe,QAAAA,OAAO,EAAE4I;AAAe,OACzB,CACF;AAAA,KACE,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;;;ACtDD,IAAMQ,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAApK,IAAA,EAoBpB;AAAA,EAAA,IAnBJwH,mBAAmB,GAAAxH,IAAA,CAAnBwH,mBAAmB;IACnB6C,iBAAiB,GAAArK,IAAA,CAAjBqK,iBAAiB;IACjBC,gBAAgB,GAAAtK,IAAA,CAAhBsK,gBAAgB;IAChBC,iBAAiB,GAAAvK,IAAA,CAAjBuK,iBAAiB;IACjBC,gBAAgB,GAAAxK,IAAA,CAAhBwK,gBAAgB;IAChB9H,eAAe,GAAA1C,IAAA,CAAf0C,eAAe;IACf+H,gBAAgB,GAAAzK,IAAA,CAAhByK,gBAAgB;IAChBC,iBAAiB,GAAA1K,IAAA,CAAjB0K,iBAAiB;IACjBC,kBAAkB,GAAA3K,IAAA,CAAlB2K,kBAAkB;IAClBC,sBAAsB,GAAA5K,IAAA,CAAtB4K,sBAAsB;IACtBhB,cAAc,GAAA5J,IAAA,CAAd4J,cAAc;IACdD,mBAAmB,GAAA3J,IAAA,CAAnB2J,mBAAmB;IACnBD,sBAAsB,GAAA1J,IAAA,CAAtB0J,sBAAsB;IACtBpI,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;IAClBuI,aAAa,GAAA7J,IAAA,CAAb6J,aAAa;IACbC,kBAAkB,GAAA9J,IAAA,CAAlB8J,kBAAkB;IAClBxC,gCAAgC,GAAAtH,IAAA,CAAhCsH,gCAAgC;IAChCC,kCAAkC,GAAAvH,IAAA,CAAlCuH,kCAAkC;IAClCsD,mBAAmB,GAAA7K,IAAA,CAAnB6K,mBAAmB;AAEnB,EAAA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAItI,OAAO,EAAA;AAAA,IAAA,IAAED,KAAK,GAAAwI,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;IAAA,oBAC/CjI,aAAA,CAACsE,iBAAe,EAAA;AAEZ5E,MAAAA,OAAO,EAAPA,OAAO;AACPgF,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBjF,MAAAA,KAAK,EAALA,KAAK;AACL+E,MAAAA,gCAAgC,EAAhCA,gCAAgC;AAChCC,MAAAA,kCAAkC,EAAlCA,kCAAkC;MAEpCG,YAAY,EAAA,IAAA;MACZI,OAAO,EAAEtF,OAAO,CAACsF,OAAQ;AACzBT,MAAAA,QAAQ,EAAEkD,iBAAiB,KAAK/H,OAAO,CAACuG,EAAG;AAC3C9F,MAAAA,GAAG,EAAET,OAAO,CAACuG,EAAE,IAAIxG,KAAM;AACzB,MAAA,aAAA,EAAA,iBAAA,CAAAP,MAAA,CACEkJ,KAAK,CAACC,OAAO,CAACT,iBAAiB,CAAC,GAAA,GAAA,CAAA1I,MAAA,CAAOO,KAAK,GAAG,CAAC,IAAK,EAAE;AACtD,KACJ,CAAC;EAAA,CACH;AAED,EAAA,IAAA6C,eAAA,GAAcC,cAAc,EAAE;IAAtBpF,CAAC,GAAAmF,eAAA,CAADnF,CAAC;AAET,EAAA,IAAMmL,cAAc,GAAG,SAAjBA,cAAcA,CAAG5I,OAAO,EAAA;AAAA,IAAA,IAAA6I,iBAAA;AAAA,IAAA,OAAA,CAAAA,iBAAA,GAAIf,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAG9H,OAAO,CAAC,MAAA,IAAA,IAAA6I,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAI,IAAI;AAAA,EAAA,CAAA;EACrE,IAAMC,YAAY,GAChB,OAAOT,mBAAmB,KAAK,UAAU,GACrC,CAACL,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAI,EAAE,EAAE/D,MAAM,CAAC2E,cAAc,CAAC,CAACJ,MAAM,GACtD,CAAC;EAEP,oBACEjJ,IAAA,CAAAqB,QAAA,EAAA;IAAA9C,QAAA,EAAA,cACEJ,GAAA,CAACwE,QAAQ,EAAA;AAELkF,MAAAA,cAAc,EAAdA,cAAc;AACdC,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBH,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBrI,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBoB,MAAAA,eAAe,EAAfA,eAAe;AACfgH,MAAAA,sBAAsB,EAAtBA;AAAsB,KAEzB,CAAC,eACF3H,IAAA,CAAC8C,IAAI,EAAA;AAAC,MAAA,aAAA,EAAY,6BAA6B;MAAAvE,QAAA,EAAA,cAC7CJ,GAAA,CAACC,UAAU,EAAA;AAACC,QAAAA,SAAS,EAAC,MAAM;AAACiC,QAAAA,OAAO,EAAC,OAAO;QAAA/B,QAAA,EACzCL,CAAC,CAAC,0DAA0D;AAAC,OACpD,CAAC,EACZ,OAAO4K,mBAAmB,KAAK,UAAU,IACxCA,mBAAmB,CAACS,YAAY,CAAC,EAClCJ,KAAK,CAACC,OAAO,CAACT,iBAAiB,CAAC,GAC7B9D,UAAU,CAAC8D,iBAAiB,CAAC,IAC7BA,iBAAiB,CAACxG,GAAG,CAAC4G,qBAAqB,CAAC,GAC5CnE,SAAS,CAAC+D,iBAAiB,CAAC,IAC5BI,qBAAqB,CAACJ,iBAAiB,CAAC,eAC5CxK,GAAA,CAACqE,SAAS,EAAA;AACRC,QAAAA,WAAW,EAAEhF,mCAAoC;QACjDiF,IAAI,EAAE9E,eAAe,CAACE,gBAAiB;QAAAS,QAAA,EAEtC,SAAAA,QAAAA,CAAAiL,KAAA,EAAA;AAAA,UAAA,IAAGjI,QAAQ,GAAAiI,KAAA,CAARjI,QAAQ;YAAEkI,cAAc,GAAAD,KAAA,CAAdC,cAAc;YAAEzE,WAAW,GAAAwE,KAAA,CAAXxE,WAAW;AAAA,UAAA,oBACvChF,IAAA,CAAA,KAAA,EAAAc,aAAA,CAAAA,aAAA,CAAA;AACEQ,YAAAA,GAAG,EAAEC;AAAS,WAAA,EACVkI,cAAc,CAAA,EAAA,EAAA,EAAA;AAClB,YAAA,aAAA,EAAY,uCAAuC;AAAAlL,YAAAA,QAAA,GAElDkK,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CACb/D,MAAM,CAAC2E,cAAc,CAAC,CACvBlH,GAAG,CAAC,UAAC1B,OAAO,EAAED,KAAK,EAAK;cAAA,IAAAkJ,WAAA,EAAAC,YAAA;cACvB,IAAMC,iBAAiB,GAAGhB,kBAAkB,CAACpE,QAAQ,CACnD/D,OAAO,CAACuG,EACV,CAAC;AAED,cAAA,IAAM7H,cAAc,GAAGmJ,iBAAiB,IAAIsB,iBAAiB;cAE7D,IAAM1I,GAAG,IAAAwI,WAAA,GACPjJ,OAAO,CAACuG,EAAE,cAAA0C,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAA,UAAA,CAAAzJ,MAAA,CAAeC,cAAc,CAACO,OAAO,CAAC/B,KAAK,CAAC,CAAE;cAE1D,oBACEqC,aAAA,CAACC,SAAS,EAAA;AACFR,gBAAAA,KAAK,EAALA,KAAK;AAAErB,gBAAAA,cAAc,EAAdA,cAAc;AAC3B8B,gBAAAA,WAAW,EAAA,CAAA0I,YAAA,GAAElJ,OAAO,CAACuG,EAAE,MAAA,IAAA,IAAA2C,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAA,UAAA,CAAA1J,MAAA,CAAeO,KAAK,CAAG;AAC9CU,gBAAAA,GAAG,EAAEA;AAAI,eAAA,EAER,UAAA2I,KAAA,EAAA;AAAA,gBAAA,IAAAC,YAAA;AAAA,gBAAA,IAAGvI,QAAQ,GAAAsI,KAAA,CAARtI,QAAQ;kBAAEC,cAAc,GAAAqI,KAAA,CAAdrI,cAAc;kBAAEC,eAAe,GAAAoI,KAAA,CAAfpI,eAAe;AAAA,gBAAA,oBAC3CtD,GAAA,CAAA,KAAA,EAAA2C,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACEQ,kBAAAA,GAAG,EAAEC;iBAAS,EACVC,cAAc,GACdC,eAAe,CAAA,EAAA,EAAA,EAAA;kBAAAlD,QAAA,eAEnBwC,aAAA,CAACsE,iBAAe,EAAA;AAEZ5E,oBAAAA,OAAO,EAAPA,OAAO;AACPgF,oBAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBF,oBAAAA,gCAAgC,EAAhCA,gCAAgC;AAChCC,oBAAAA,kCAAkC,EAAlCA,kCAAkC;oBAEpCG,YAAY,EAAA,IAAA;AACZI,oBAAAA,OAAO,EAAE8C,sBAAuB;AAChCvD,oBAAAA,QAAQ,EAAEkD,iBAAiB,KAAK/H,OAAO,CAACuG,EAAG;oBAC3Cf,WAAW,EAAE,CAAC9G,cAAe;oBAC7B+B,GAAG,EAAA,CAAA4I,YAAA,GAAErJ,OAAO,CAACuG,EAAE,MAAA,IAAA,IAAA8C,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAItJ;mBACpB;AAAC,iBAAA,CACC,CAAC;AAAA,cAAA,CAEC,CAAC;YAEhB,CAAC,CAAC,EACHwE,WAAW;AAAA,WAAA,CACT,CAAC;AAAA,QAAA;OAEC,CAAC,EACXJ,SAAS,CAAC8D,gBAAgB,CAAC,iBAC1BvK,GAAA,CAACkH,iBAAe,EAAA;AAEZI,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBF,QAAAA,gCAAgC,EAAhCA,gCAAgC;AAChCC,QAAAA,kCAAkC,EAAlCA,kCAAkC;QAEpCG,YAAY,EAAA,IAAA;QACZI,OAAO,EAAE2C,gBAAgB,CAAC3C,OAAQ;AAClC,QAAA,aAAA,EAAY,uBAAuB;AACnCtF,QAAAA,OAAO,EAAEiI,gBAAiB;AAC1BpD,QAAAA,QAAQ,EAAEkD,iBAAiB,KAAKE,gBAAgB,CAAC1B;AAAG,OACrD,CACF;AAAA,KACG,CAAC;AAAA,GACP,CAAC;AAEP,CAAC;;AClJD,IAAM+C,aAAa,GAAG,SAAhBA,aAAaA,CAAA9L,IAAA,EAsBb;AAAA,EAAA,IArBJmF,eAAe,GAAAnF,IAAA,CAAfmF,eAAe;IAAA4G,qBAAA,GAAA/L,IAAA,CACfwK,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAuB,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACrBC,gBAAgB,GAAAhM,IAAA,CAAhBgM,gBAAgB;IAChB1B,gBAAgB,GAAAtK,IAAA,CAAhBsK,gBAAgB;IAChBI,iBAAiB,GAAA1K,IAAA,CAAjB0K,iBAAiB;IACjBD,gBAAgB,GAAAzK,IAAA,CAAhByK,gBAAgB;IAAAwB,qBAAA,GAAAjM,IAAA,CAChB2K,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAsB,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAlM,IAAA,CACvBqK,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA6B,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAC,qBAAA,GAAAnM,IAAA,CACxBgE,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAmI,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAC7B3E,mBAAmB,GAAAxH,IAAA,CAAnBwH,mBAAmB;IACnB+C,iBAAiB,GAAAvK,IAAA,CAAjBuK,iBAAiB;IACjBK,sBAAsB,GAAA5K,IAAA,CAAtB4K,sBAAsB;IAAAwB,mBAAA,GAAApM,IAAA,CACtB4J,cAAc;AAAdA,IAAAA,cAAc,GAAAwC,mBAAA,KAAA,MAAA,GAAGxI,IAAI,GAAAwI,mBAAA;IAAAC,qBAAA,GAAArM,IAAA,CACrB2J,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAA0C,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAAtM,IAAA,CAC3B0J,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAA4C,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAAvM,IAAA,CAC9BsB,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAiL,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAC1B1C,aAAa,GAAA7J,IAAA,CAAb6J,aAAa;IACbC,kBAAkB,GAAA9J,IAAA,CAAlB8J,kBAAkB;IAAA0C,qBAAA,GAAAxM,IAAA,CAClBsH,gCAAgC;AAAhCA,IAAAA,gCAAgC,GAAAkF,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAAzM,IAAA,CACxCuH,kCAAkC;AAAlCA,IAAAA,kCAAkC,GAAAkF,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACvC5B,mBAAmB,GAAA7K,IAAA,CAAnB6K,mBAAmB;AAEnB,EAAA,IAAAvF,SAAA,GAAwCC,QAAQ,CAAClG,WAAW,CAACC,OAAO,CAAC;IAAAkG,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9DoH,IAAAA,YAAY,GAAAlH,UAAA,CAAA,CAAA,CAAA;AAAE9C,IAAAA,eAAe,GAAA8C,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAmH,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC;AAExC,EAAA,IAAAE,UAAA,GACExH,QAAQ,CAAC,CAACuH,cAAc,CAAC;IAAAE,UAAA,GAAAvH,cAAA,CAAAsH,UAAA,EAAA,CAAA,CAAA;AADpBE,IAAAA,wBAAwB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,2BAA2B,GAAAF,UAAA,CAAA,CAAA,CAAA;AAG5DzE,EAAAA,SAAS,CAAC,YAAM;IACd2E,2BAA2B,CAAC,CAACJ,cAAc,CAAC;AAC9C,EAAA,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,oBACE/K,IAAA,CAAAqB,QAAA,EAAA;AAAA9C,IAAAA,QAAA,EAAA,CACG,CAAC2M,wBAAwB,iBACxB/M,GAAA,CAAA,KAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,4DAA4D;AACtEY,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACbkM,2BAA2B,CAAC,CAACD,wBAAwB,CAAC;AACxD,MAAA;KACD,CACF,eACDlL,IAAA,CAAA,KAAA,EAAA;AACE3B,MAAAA,SAAS,EAAE8B,UAAU,CACnB,0VAA0V,EAC1V;AAAE,QAAA,qBAAqB,EAAE+K;AAAyB,OACpD,CAAE;AAAA3M,MAAAA,QAAA,gBAEFJ,GAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,+BAA+B;AAAAE,QAAAA,QAAA,eAC5CJ,GAAA,CAAA,KAAA,EAAA;AACEE,UAAAA,SAAS,EAAE8B,UAAU,CACnB,uMAAuM,EACvMwK,YAAY,KAAKrN,WAAW,CAACC,OAAO,GAChC,eAAe,GACf,aACN,CAAE;AACF0B,UAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEQ,KAAK,EAAA;AAAA,YAAA,OAAIA,KAAK,CAAC8H,eAAe,EAAE;UAAA,CAAC;UAAAhJ,QAAA,EAEzCoM,YAAY,KAAKrN,WAAW,CAACC,OAAO,gBACnCY,GAAA,CAACkK,oBAAoB,EAAA;AAEjBR,YAAAA,cAAc,EAAdA,cAAc;AACdC,YAAAA,aAAa,EAAbA,aAAa;AACbC,YAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBa,YAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBD,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBD,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBjD,YAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBmC,YAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBrI,YAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBgJ,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB/C,YAAAA,gCAAgC,EAAhCA,gCAAgC;AAChCuD,YAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBD,YAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBrD,YAAAA,kCAAkC,EAAlCA,kCAAkC;AAClCgD,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB9H,YAAAA,eAAe,EAAfA,eAAe;AACfgH,YAAAA,sBAAsB,EAAtBA;AAAsB,WAEzB,CAAC,gBAEFxJ,GAAA,CAAC+E,WAAW,EAAA;AAERE,YAAAA,eAAe,EAAfA,eAAe;AACf7D,YAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB0C,YAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBtB,YAAAA,eAAe,EAAfA,eAAe;AAEjBD,YAAAA,QAAQ,EAAEuJ;WACX;SAEA;AAAC,OACH,CAAC,eACN9L,GAAA,CAACyE,MAAM,EAAA;AACL9D,QAAAA,IAAI,EAAEsM,cAAe;AACrB/K,QAAAA,IAAI,EAAC,MAAM;AACXC,QAAAA,OAAO,EAAC,WAAW;QACnBjC,SAAS,EAAE8B,UAAU,CACnB,iNAAiN,EACjN+K,wBAAwB,GACpB,+FAA+F,GAC/F,kBACN,CAAE;AACFjM,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACbkM,2BAA2B,CAAC,CAACD,wBAAwB,CAAC;AACxD,QAAA;AAAE,OACH,CAAC;AAAA,KACC,CAAC;AAAA,GACN,CAAC;AAEP;;AC7HA,IAAMG,aAAa,GAAGrN,KAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;AAAA,EAAA,oBAC9B8B,IAAA,CAAA,KAAA,EAAA;AAAK3B,IAAAA,SAAS,EAAC,uBAAuB;AAAAE,IAAAA,QAAA,gBACpCJ,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,+GAA+G;MAAAE,QAAA,eAC5HJ,GAAA,CAACC,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,4BAA4B;AACtC,QAAA,aAAA,EAAY,uBAAuB;AACnCiC,QAAAA,OAAO,EAAC,OAAO;QAAA/B,QAAA,EAEdL,CAAC,CAAC,oDAAoD;OAC7C;KACT,CAAC,eACNC,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC;KAAmC,CAAC,eACnDF,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC;AAAiC,KAAE,CAAC;AAAA,GAChD,CAAC;AAAA,CACP,CAAC;;ACbF,IAAMiN,QAAQ,GAAGtN,KAAK,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;AAAA,EAAA,oBACzB8B,IAAA,CAAA,KAAA,EAAA;AAAK3B,IAAAA,SAAS,EAAC,uBAAuB;AAAAE,IAAAA,QAAA,gBACpCJ,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC;KAAmC,CAAC,eACnD2B,IAAA,CAAA,KAAA,EAAA;AAAK3B,MAAAA,SAAS,EAAC,+GAA+G;MAAAE,QAAA,EAAA,cAC5HJ,GAAA,CAACC,UAAU,EAAA;AACTC,QAAAA,SAAS,EAAC,4BAA4B;AACtC,QAAA,aAAA,EAAY,uBAAuB;AACnCiC,QAAAA,OAAO,EAAC,OAAO;QAAA/B,QAAA,EAEdL,CAAC,CAAC,uDAAuD;AAAC,OACjD,CAAC,eACbC,GAAA,CAACoN,SAAS,IAAE,CAAC;KACV,CAAC,eACNpN,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC;KAAmC,CAAC,eACnDF,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC;AAAiC,KAAE,CAAC;AAAA,GAChD,CAAC;AAAA,CACP,CAAC;;ACVF,IAAMmN,eAAe,GAAG,SAAlBA,eAAeA,CAAAvN,IAAA,EAAkC;AAAA,EAAA,IAA5B+I,EAAE,GAAA/I,IAAA,CAAF+I,EAAE;IAAEzI,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IAAEkN,OAAO,GAAAxN,IAAA,CAAPwN,OAAO;AAC9C,EAAA,IAAAb,eAAA,GAAmBC,cAAc,CAAC,UAAAa,MAAM,EAAA;MAAA,OAAK;AAC3CC,QAAAA,YAAY,EAAED,MAAM,CAACE,UAAU,IAAI;OACpC;AAAA,IAAA,CAAC,CAAC;IAFKd,MAAM,GAAAF,eAAA,CAANE,MAAM;AAGd,EAAA,IAAMC,cAAc,GAAGD,MAAM,CAAC,cAAc,CAAC;AAC7C,EAAA,IAAAvH,SAAA,GACEC,QAAQ,CAAC,CAACuH,cAAc,CAAC;IAAAtH,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AADpBsI,IAAAA,0BAA0B,GAAApI,UAAA,CAAA,CAAA,CAAA;AAAEqI,IAAAA,6BAA6B,GAAArI,UAAA,CAAA,CAAA,CAAA;AAGhE+C,EAAAA,SAAS,CAAC,YAAM;IACdsF,6BAA6B,CAAC,CAACf,cAAc,CAAC;AAChD,EAAA,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;AAEpBvE,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACQ,EAAE,EAAE;IACT8E,6BAA6B,CAAC,KAAK,CAAC;AACtC,EAAA,CAAC,EAAE,CAAC9E,EAAE,CAAC,CAAC;AAER,EAAA,IAAM+E,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAChCD,6BAA6B,CAAC,CAACD,0BAA0B,CAAC;AAC1DJ,IAAAA,OAAO,aAAPA,OAAO,KAAA,MAAA,IAAPA,OAAO,CAAGzE,EAAE,CAAC;EACf,CAAC;EAED,oBACEhH,IAAA,CAAAqB,QAAA,EAAA;AAAA9C,IAAAA,QAAA,EAAA,CACG,CAACsN,0BAA0B,iBAC1B1N,GAAA,CAAA,KAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,6DAA6D;AACvEY,MAAAA,OAAO,EAAE8M;KACV,CACF,eACD/L,IAAA,CAAA,KAAA,EAAA;AACE3B,MAAAA,SAAS,EAAE8B,UAAU,CACnB,ySAAyS,EACzS;AAAE,QAAA,qBAAqB,EAAE0L;AAA2B,OACtD,CAAE;AAAAtN,MAAAA,QAAA,gBAEFJ,GAAA,CAAA,KAAA,EAAA;AACEE,QAAAA,SAAS,EAAC,0FAA0F;AACpG,QAAA,aAAA,EAAY,kBAAkB;QAAAE,QAAA,EAE7BA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAARA,QAAQ,gBAAIJ,GAAA,CAACmN,QAAQ,EAAA,EAAE;AAAC,OACtB,CAAC,EACL,CAACO,0BAA0B,iBAC1B1N,GAAA,CAACyE,MAAM,EAAA;AACLvE,QAAAA,SAAS,EAAC,8GAA8G;AACxHS,QAAAA,IAAI,EAAE+D,CAAE;AACRxC,QAAAA,IAAI,EAAC,MAAM;AACXC,QAAAA,OAAO,EAAC,WAAW;AACnBrB,QAAAA,OAAO,EAAE8M;AAAoB,OAC9B,CACF;AAAA,KACE,CAAC;AAAA,GACN,CAAC;AAEP;AAEAP,eAAe,CAACH,aAAa,GAAGA,aAAa;;;;","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"Builder.js","sources":["../../node_modules/lucide-react/dist/esm/icons/arrow-down.js","../../node_modules/lucide-react/dist/esm/icons/zap.js","../../src/v2/components/Builder/constants.js","../../src/v2/components/Builder/ElementsPanel/ElementsList/NoResults.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/Element.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/Section.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../../src/v2/components/Builder/Body.jsx","../../src/v2/components/Builder/ElementsPanel/ElementsList/index.jsx","../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../../src/v2/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../../src/v2/components/Builder/ElementsPanel/index.jsx","../../src/v2/components/Builder/PropertiesPanel/EmptyProperty.jsx","../../src/v2/components/Builder/PropertiesPanel/Skeleton.jsx","../../src/v2/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n];\nconst ArrowDown = createLucideIcon(\"arrow-down\", __iconNode);\n\nexport { __iconNode, ArrowDown as default };\n//# sourceMappingURL=arrow-down.js.map\n","/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n];\nconst Zap = createLucideIcon(\"zap\", __iconNode);\n\nexport { __iconNode, Zap as default };\n//# sourceMappingURL=zap.js.map\n","export const PANEL_TYPES = { SUMMARY: \"summary\", ELEMENTS: \"elements\" };\n\nexport const SELECTED_ELEMENTS_LIST_DROPPABLE_ID =\n \"droppable-selected-element-container\";\n\nexport const ELEMENTS_LIST_DROPPABLE_ID = \"droppable-element-container\";\n\nexport const PREVIEW_CONTAINER_DROPPABLE_ID =\n \"droppable-form-preview-container\";\n\nexport const DROPPABLE_TYPES = {\n ELEMENT: \"element\",\n SELECTED_ELEMENT: \"selected_element\",\n};\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst NoResults = withT(({ t }) => (\n <Typography\n className=\"text-foreground flex h-full items-center justify-center text-base\"\n weight=\"bold\"\n >\n {t(\"neetoMolecules.builderSidebar.noElements\")}\n </Typography>\n));\n\nexport default memo(NoResults);\n","import { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\n\nconst Element = ({\n label,\n description,\n tooltip,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n isDraggingOver,\n isAddingNewElement,\n}) => {\n const handleClick = event => {\n if (!isCreatable || isAddingNewElement) {\n event.preventDefault();\n\n return;\n }\n\n onClick(event);\n };\n\n const tooltipContent = isCreatable\n ? tooltip\n : disabledElementTooltip?.(label);\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={isDraggingOver || !tooltipContent}\n position=\"top\"\n >\n <div\n data-testid={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"border-border bg-background hover:bg-muted relative mb-2 flex items-center gap-2 rounded-lg border p-3 transition-all duration-300 ease-in-out\",\n {\n \"bg-muted cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n \"h-10\": !description,\n }\n )}\n onClick={handleClick}\n >\n {!isDragDisabled && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && <Icon data-testid=\"form-icon\" />}\n <div className=\"flex min-w-0 flex-col\">\n <Typography className=\"leading-4\" variant=\"body2\">\n {label}\n </Typography>\n {description && (\n <Typography\n className=\"text-muted-foreground mt-0.5\"\n data-testid=\"element-description\"\n variant=\"body3\"\n >\n {description}\n </Typography>\n )}\n </div>\n </div>\n </div>\n </Tooltip>\n );\n};\n\nexport default Element;\n","import { Draggable } from \"@hello-pangea/dnd\";\nimport { noop } from \"neetocist\";\n\nimport Element from \"./Element\";\n\nconst ElementContainer = ({\n index,\n isDragDisabled,\n element,\n disabledElementTooltip,\n isCreatable,\n onSelect,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n}) => {\n const isCreatableElement =\n typeof isCreatable === \"function\" ? isCreatable(element.value) : true;\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n );\n }\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.value}\n key={element.label}\n isDragDisabled={\n isDragDisabled || !isCreatableElement || isAddingNewElement\n }\n >\n {(provided, snapshot) => (\n <>\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n style={{\n ...provided.draggableProps.style,\n ...(!snapshot.isDragging && { transform: \"none\" }),\n }}\n >\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n isDraggingOver,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{ ...element, isAddingNewElement, setVisiblePanel }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isEmpty } from \"ramda\";\n\nimport ElementContainer from \"./ElementContainer\";\n\nconst Section = ({\n title,\n elements,\n onSelect,\n isCreatable,\n disabledElementTooltip,\n isDragElementsDisabled: isDragDisabled,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && <Typography className=\"mt-1 mb-3\">{title}</Typography>}\n {elements.map(element => (\n <ElementContainer\n {...{\n disabledElementTooltip,\n element,\n isAddingNewElement,\n isCreatable,\n isDragDisabled,\n isDraggingOver,\n onSelect,\n setVisiblePanel,\n }}\n index={element.elementIndex}\n key={element.label}\n />\n ))}\n </>\n );\n};\n\nexport default Section;\n","import { Droppable } from \"@hello-pangea/dnd\";\nimport { isEmpty } from \"ramda\";\n\nimport NoResults from \"./NoResults\";\nimport Section from \"./Section\";\n\nimport { DROPPABLE_TYPES, ELEMENTS_LIST_DROPPABLE_ID } from \"../../constants\";\n\nconst SectionsContainer = ({\n isDragElementsDisabled,\n filteredSections,\n isAddingNewElement,\n onSelect,\n setVisiblePanel,\n}) => {\n if (isEmpty(filteredSections)) {\n return <NoResults />;\n }\n\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n ...section,\n }}\n key={section.key}\n />\n ))}\n </>\n );\n }\n\n return (\n <Droppable\n droppableId={ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.ELEMENT}\n >\n {(provided, snapshot) => (\n <div ref={provided.innerRef}>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n ...section,\n }}\n isDraggingOver={snapshot.isDraggingOver}\n key={section.key}\n />\n ))}\n </div>\n )}\n </Droppable>\n );\n};\n\nexport default SectionsContainer;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(({ t, setVisiblePanel }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n className=\"leading-normal\"\n data-testid=\"elements-list-title\"\n variant=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n <Button\n data-testid=\"cancel-button\"\n icon={X}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\n />\n </div>\n));\n\nexport default TitleBar;\n","import classnames from \"classnames\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"min-h-0 w-full grow overflow-y-auto px-6 pt-0 pb-2\",\n size === \"small\"\n ? \"h-[calc(100%_-_4.375rem_-_2.5rem)]\"\n : \"h-[calc(100%_-_4.375rem)]\"\n )}\n />\n);\n\nexport default Body;\n","import { useMemo, useState } from \"react\";\n\nimport { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils/general\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nimport Body from \"../../Body\";\n\nconst ElementList = ({\n setVisiblePanel,\n elementSections = [],\n onSelect,\n isDragElementsDisabled,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n const query = searchString.toLowerCase();\n\n const matchesSearch = element => {\n if (!query) return true;\n\n const label = element.label?.toLowerCase() ?? \"\";\n const description = element.description?.toLowerCase() ?? \"\";\n const aliases = (element.aliases ?? []).map(alias => alias.toLowerCase());\n\n return (\n label.includes(query) ||\n description.includes(query) ||\n aliases.some(alias => alias.includes(query))\n );\n };\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(matchesSearch)\n .map(element => assoc(\"elementIndex\", elementIndex++, element)),\n }))\n .filter(section =>\n isPresent(searchString) ? isNotEmpty(section.elements) : true\n );\n }, [searchString, elementSections]);\n\n return (\n <>\n <TitleBar {...{ setVisiblePanel }} />\n <div className=\"mb-1 px-6\">\n <Typography className=\"mb-3\" variant=\"body3\">\n {t(\"neetoMolecules.builderSidebar.addNewElementDescription\")}\n </Typography>\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n type=\"search\"\n value={searchString}\n onChange={withEventTargetValue(setSearchString)}\n />\n </div>\n <Body data-testid=\"elements-container\" size=\"small\">\n <SectionsContainer\n {...{\n filteredSections,\n isAddingNewElement,\n isDragElementsDisabled,\n onSelect,\n setVisiblePanel,\n }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { GripVertical } from \"lucide-react\";\nimport { noop, findById, isNotEmpty, hyphenate, isPresent } from \"neetocist\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"../../../MoreDropdown\";\n\nconst SelectedElement = ({\n element,\n isActive,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n handleSelectElement,\n isSelectable = true,\n errors = [],\n actions = [],\n isDraggable = false,\n ...props\n}) => {\n const Icon = element.icon;\n const rootElementRef = useRef();\n\n const onClick = () => handleSelectElement(element);\n\n const shouldShowDropdown = isNotEmpty(actions);\n\n const menuItems =\n typeof actions === \"function\"\n ? actions(element)\n : actions.map(action =>\n mergeRight(action, {\n onClick: () => {\n action.onClick(element);\n },\n })\n );\n\n useEffect(() => {\n const rootElement = rootElementRef.current;\n\n if (\n !rootElement ||\n !isActive ||\n typeof rootElement?.scrollIntoView !== \"function\"\n ) {\n return;\n }\n rootElement.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\n }, [isActive, rootElementRef]);\n\n const error = findById(element.id, errors);\n\n return (\n <div\n data-testid={props[\"data-testid\"]}\n ref={rootElementRef}\n className={classnames(\n \"border-border bg-background hover:bg-muted relative mb-2 flex h-10 cursor-pointer items-center gap-2 rounded-lg border py-3 ps-4 pe-3 transition-all duration-300 ease-in-out\",\n { \"!border-primary ring-primary ring-1\": isActive },\n { \"bg-destructive/10 hover:bg-destructive/10\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <GripVertical\n className=\"text-muted-foreground hover:text-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-testid=\"new-element-field\"\n >\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon />\n </div>\n )}\n <Typography\n className=\"truncate leading-snug\"\n data-testid={`${hyphenate(element.label, \"new-element\")}-label`}\n variant=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n isDisabled={element.isPending || isSelectedElementActionsDisabled}\n dropdownButtonProps={{\n onClick: e => e.stopPropagation(),\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n loading: element.isPending,\n ...(isPresent(selectedElementActionsTooltipProps) && {\n tooltipProps: selectedElementActionsTooltipProps,\n }),\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Plus, Zap } from \"lucide-react\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = ({\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n}) => {\n const { t } = useTranslation();\n\n const handleAddNewElementClick = () => {\n if (typeof addNewElement === \"function\") addNewElement();\n else setVisiblePanel(PANEL_TYPES.ELEMENTS);\n };\n\n return (\n <div\n className=\"flex items-center justify-between p-6 pb-1\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n className=\"leading-normal\"\n data-testid=\"elements-title\"\n variant=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between gap-x-2\">\n <Button\n data-testid=\"add-element-button\"\n disabled={isLoading}\n icon={Plus}\n iconPosition=\"left\"\n loading={isAddingNewElement}\n size=\"sm\"\n variant=\"link\"\n label={\n addNewElementLabel ||\n t(\"neetoMolecules.builderSidebar.addNewElement\")\n }\n onClick={handleAddNewElementClick}\n />\n {showElementsFillButton && (\n <Button\n data-testid=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Zap}\n loading={isAddingAllElements}\n size=\"icon-sm\"\n variant=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\nimport Body from \"../../Body\";\nimport {\n DROPPABLE_TYPES,\n SELECTED_ELEMENTS_LIST_DROPPABLE_ID,\n} from \"../../constants\";\n\nconst SelectedElementsList = ({\n handleSelectElement,\n isReorderDisabled,\n isElementVisible,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n fixedLastElement,\n fixedFirstElement,\n anchoredElementIds,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n renderElementsCount,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n index,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-testid={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n const { t } = useTranslation();\n\n const checkIsVisible = element => isElementVisible?.(element) ?? true;\n const visibleCount =\n typeof renderElementsCount === \"function\"\n ? (selectedElements ?? []).filter(checkIsVisible).length\n : 0;\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n isAddingAllElements,\n isAddingNewElement,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n <Typography className=\"mb-3\" variant=\"body3\">\n {t(\"neetoMolecules.builderSidebar.elementsReorderDescription\")}\n </Typography>\n {typeof renderElementsCount === \"function\" &&\n renderElementsCount(visibleCount)}\n {Array.isArray(fixedFirstElement)\n ? isNotEmpty(fixedFirstElement) &&\n fixedFirstElement.map(renderSelectedElement)\n : isPresent(fixedFirstElement) &&\n renderSelectedElement(fixedFirstElement)}\n <Droppable\n droppableId={SELECTED_ELEMENTS_LIST_DROPPABLE_ID}\n type={DROPPABLE_TYPES.SELECTED_ELEMENT}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div\n ref={innerRef}\n {...droppableProps}\n data-testid=\"selected-elements-droppable-container\"\n >\n {selectedElements\n ?.filter(checkIsVisible)\n .map((element, index) => {\n const isAnchoredElement = anchoredElementIds.includes(\n element.id\n );\n\n const isDragDisabled = isReorderDisabled || isAnchoredElement;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index, isDragDisabled }}\n draggableId={element.id ?? `element-${index}`}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{\n element,\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isDragDisabled}\n key={element.id ?? index}\n />\n </div>\n )}\n </Draggable>\n );\n })}\n {placeholder}\n </div>\n )}\n </Droppable>\n {isPresent(fixedLastElement) && (\n <SelectedElement\n {...{\n handleSelectElement,\n isSelectedElementActionsDisabled,\n selectedElementActionsTooltipProps,\n }}\n isSelectable\n actions={fixedLastElement.actions}\n data-testid=\"submit-button-element\"\n element={fixedLastElement}\n isActive={selectedElementId === fixedLastElement.id}\n />\n )}\n </Body>\n </>\n );\n};\n\nexport default SelectedElementsList;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { PanelLeftClose } from \"lucide-react\";\nimport { noop } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport { PANEL_TYPES } from \"../constants\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement,\n fixedLastElement,\n anchoredElementIds = [],\n isReorderDisabled = true,\n isDragElementsDisabled = true,\n handleSelectElement,\n selectedElementId,\n selectedElementActions,\n addAllElements = noop,\n isAddingAllElements = false,\n showElementsFillButton = false,\n isAddingNewElement = false,\n addNewElement,\n addNewElementLabel,\n isSelectedElementActionsDisabled = false,\n selectedElementActionsTooltipProps = {},\n renderElementsCount,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(PANEL_TYPES.SUMMARY);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"fixed inset-0 z-[101] hidden bg-black/40 max-[767px]:block\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"relative z-[101] h-full w-[360px] min-w-[360px] transition-all duration-150 motion-reduce:transition-none max-[767px]:fixed max-[767px]:start-0 max-[767px]:top-0 max-[767px]:transition-none max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]\",\n { \"w-0 max-w-0 min-w-0\": isElementsPanelCollapsed }\n )}\n >\n <div className=\"h-full w-full overflow-hidden\">\n <div\n className={classnames(\n \"border-border flex h-full w-[360px] min-w-[360px] flex-col border-e max-[576px]:w-full max-[576px]:min-w-0 max-[576px]:pt-6 min-[768px]:max-[1279px]:w-[288px] min-[768px]:max-[1279px]:min-w-[288px]\",\n visiblePanel === PANEL_TYPES.SUMMARY\n ? \"bg-background\"\n : \"bg-muted/40\"\n )}\n onClick={event => event.stopPropagation()}\n >\n {visiblePanel === PANEL_TYPES.SUMMARY ? (\n <SelectedElementsList\n {...{\n addAllElements,\n addNewElement,\n addNewElementLabel,\n anchoredElementIds,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n isSelectedElementActionsDisabled,\n renderElementsCount,\n selectedElementActions,\n selectedElementActionsTooltipProps,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n icon={PanelLeftClose}\n size=\"icon\"\n variant=\"secondary\"\n className={classnames(\n \"absolute start-[calc(100%_+_8px)] top-2 shrink-0 transition-[color] duration-300 motion-reduce:transition-none max-[576px]:start-auto max-[576px]:end-6 min-[1024px]:pointer-events-none min-[1024px]:opacity-0\",\n isElementsPanelCollapsed\n ? \"-scale-x-100 max-[767px]:top-[109px] max-[576px]:start-2 max-[576px]:end-auto rtl:scale-x-100\"\n : \"rtl:-scale-x-100\"\n )}\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nElementsPanel.propTypes = {\n /**\n * List of supported elements to be rendered in the ElementsList panel.\n */\n elementSections: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n icon: PropTypes.elementType,\n /**\n * Optional inline description rendered below the element label.\n * Also considered by the elements-panel search filter.\n */\n description: PropTypes.string,\n /**\n * Optional hover tooltip shown on the element row when it is\n * creatable. Use this when the helper text should not affect\n * card height (descriptions render as a subtitle and can vary\n * row heights across element types).\n */\n tooltip: PropTypes.string,\n /**\n * Optional search aliases. The elements-panel search filter\n * matches these in addition to the label and description, so\n * legacy terms (e.g. \"paragraph\" for an element now called\n * \"Instructions\") continue to surface the correct element.\n */\n aliases: PropTypes.arrayOf(PropTypes.string),\n })\n ),\n key: PropTypes.string,\n isCreatable: PropTypes.func,\n disabledElementTooltip: PropTypes.func,\n })\n ),\n /**\n * List of selected elements.\n */\n selectedElements: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n isPending: PropTypes.bool,\n label: PropTypes.string,\n icon: PropTypes.elementType,\n })\n ),\n /**\n * Callback that will be triggered when an element is clicked from the elements list.\n */\n handleAddElement: PropTypes.func,\n /**\n * Function that will be used to check whether the element is visible.\n * The callback will be triggered with element info at the time of render.\n */\n isElementVisible: PropTypes.func,\n /**\n * The record that's to be rendered as first record.\n * This won't be draggable.\n */\n fixedFirstElement: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n })\n ),\n PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n actions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n }),\n ]),\n /**\n * The record that's to be rendered as the last record.\n * This won't be draggable.\n */\n fixedLastElement: PropTypes.shape({\n id: PropTypes.string,\n kind: PropTypes.string,\n position: PropTypes.number,\n label: PropTypes.string,\n icon: PropTypes.node,\n }),\n /**\n * List of ids of elements that cannot be dragged.\n * Some specific elements can be dragged and dropped over them.\n */\n anchoredElementIds: PropTypes.arrayOf(PropTypes.string),\n /**\n * Boolean to mention that the drag and order selected elements feature should be disabled.\n */\n isReorderDisabled: PropTypes.bool,\n /**\n * Boolean to mention that the drag and drop elements to the preview container is enabled.\n */\n isDragElementsDisabled: PropTypes.bool,\n /**\n * The callback that will be triggered when an element is clicked from the elements list.\n */\n handleSelectElement: PropTypes.func,\n /**\n * Id of the current selected element.\n */\n selectedElementId: PropTypes.string,\n /**\n * Actions to be rendered on the selected elements.\n */\n selectedElementActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n key: PropTypes.string,\n onClick: PropTypes.func,\n isVisible: PropTypes.bool,\n })\n ),\n PropTypes.func,\n ]),\n\n /**\n * Function that will be called when clicked on the add all elements button.\n */\n addAllElements: PropTypes.func,\n /**\n * Boolean to notate whether all elements are being added.\n */\n isAddingAllElements: PropTypes.bool,\n /**\n * Boolean to control the visibility of add all elements button.\n */\n showElementsFillButton: PropTypes.bool,\n /**\n * Boolean to notate whether an element is being added.\n */\n isAddingNewElement: PropTypes.bool,\n /**\n * Prop to customize the label of the \"Add new element\" button.\n */\n addNewElementLabel: PropTypes.string,\n /**\n * Function that will be called when clicking on add new element button. If not provided, will default to showing the elements panel.\n */\n addNewElement: PropTypes.func,\n /**\n * Boolean to disable the selected element actions.\n */\n isSelectedElementActionsDisabled: PropTypes.bool,\n /**\n * Props to be passed to the tooltip component for selected element actions.\n */\n selectedElementActionsTooltipProps: PropTypes.object,\n /**\n * Render prop called with the visible elements count. When provided, its return value is rendered\n * below the reorder description (e.g. (count) => <Typography>{t('key', { count })}</Typography>).\n */\n renderElementsCount: PropTypes.func,\n};\n\nexport default ElementsPanel;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"bg-muted text-muted-foreground flex w-full flex-col items-center justify-center gap-y-2 rounded-lg px-16 py-8\">\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"build-page-text-label\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"bg-muted h-40 w-full rounded-lg\" />\n <div className=\"bg-muted h-72 w-full rounded-lg\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ArrowDown } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"bg-muted h-12 w-full rounded-lg\" />\n <div className=\"bg-muted text-muted-foreground flex w-full flex-col items-center justify-center gap-y-2 rounded-lg px-16 py-8\">\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"build-page-text-label\"\n variant=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <ArrowDown />\n </div>\n <div className=\"bg-muted h-40 w-full rounded-lg\" />\n <div className=\"bg-muted h-72 w-full rounded-lg\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nconst PropertiesPanel = ({ id, children, onClose }) => {\n const { isSize } = useBreakpoints(window => ({\n largeDesktop: window.innerWidth >= 1280,\n }));\n const isLargerScreen = isSize(\"largeDesktop\");\n const [isPropertiesPanelCollapsed, setIsPropertiesPanelCollapsed] =\n useState(!isLargerScreen);\n\n useEffect(() => {\n setIsPropertiesPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n useEffect(() => {\n if (!id) return;\n setIsPropertiesPanelCollapsed(false);\n }, [id]);\n\n const handleCollapsePanel = () => {\n setIsPropertiesPanelCollapsed(!isPropertiesPanelCollapsed);\n onClose?.(id);\n };\n\n return (\n <>\n {!isPropertiesPanelCollapsed && (\n <div\n className=\"fixed inset-0 z-[101] hidden bg-black/40 max-[1279px]:block\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n \"border-border relative z-[101] h-full w-[420px] min-w-[420px] border-s transition-all duration-150 motion-reduce:transition-none max-[1279px]:fixed max-[1279px]:end-0 max-[1279px]:top-0 max-[1279px]:transition-none max-[576px]:h-full max-[576px]:w-full max-[576px]:max-w-full max-[576px]:min-w-0\",\n { \"w-0 max-w-0 min-w-0\": isPropertiesPanelCollapsed }\n )}\n >\n <div\n className=\"bg-background flex h-full w-full min-w-0 flex-col overflow-y-auto p-6 max-[1279px]:pt-12\"\n data-testid=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"pointer-events-none absolute end-2 top-2 opacity-0 max-[1279px]:pointer-events-auto max-[1279px]:opacity-100\"\n icon={X}\n size=\"icon\"\n variant=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["__iconNode","PANEL_TYPES","SUMMARY","ELEMENTS","SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","NoResults","withT","_ref","t","_jsx","Typography","className","weight","children","memo","Element","label","description","tooltip","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","isAddingNewElement","handleClick","event","preventDefault","tooltipContent","Tooltip","content","disabled","position","_jsxs","concat","joinHyphenCase","classnames","GripVertical","size","variant","ElementContainer","index","element","onSelect","setVisiblePanel","isCreatableElement","value","_objectSpread","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","style","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","Button","X","Body","props","_objectWithoutProperties","_excluded","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","query","toLowerCase","matchesSearch","_element$label$toLowe","_element$label","_element$description$","_element$description","_element$aliases","aliases","alias","includes","some","filter","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","isSelectedElementActionsDisabled","selectedElementActionsTooltipProps","handleSelectElement","_ref$isSelectable","isSelectable","_ref$errors","errors","_ref$actions","actions","_ref$isDraggable","isDraggable","rootElementRef","useRef","shouldShowDropdown","menuItems","action","mergeRight","useEffect","rootElement","current","scrollIntoView","behavior","block","error","findById","id","hyphenate","MoreDropdown","isDisabled","isPending","dropdownButtonProps","e","stopPropagation","loading","tooltipProps","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","addNewElement","addNewElementLabel","handleAddNewElementClick","PLURAL","Plus","iconPosition","Zap","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","anchoredElementIds","selectedElementActions","renderElementsCount","renderSelectedElement","arguments","length","undefined","Array","isArray","checkIsVisible","_isElementVisible","visibleCount","_ref2","droppableProps","_element$id","_element$id2","isAnchoredElement","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$anchoredElementI","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","_ref$isSelectedElemen","_ref$selectedElementA","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","PanelLeftClose","EmptyProperty","Skeleton","ArrowDown","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -14,6 +14,7 @@ import '@bigbinary/neeto-commons-frontend/v2/utils/general';
14
14
  import 'react-i18next';
15
15
  import '../check-DvxzqR83.js';
16
16
  import '../createLucideIcon-mNMhCCpf.js';
17
+ import '../copy-DhbOoOav.js';
17
18
 
18
19
  var _excluded = ["label"];
19
20
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -1 +1 @@
1
- {"version":3,"file":"Codeblock.js","sources":["../../src/v2/components/Codeblock.jsx"],"sourcesContent":["import useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/prism/javascript\";\nimport CodeBlock from \"react-syntax-highlighter/dist/esm/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyToClipboardButton from \"./CopyToClipboardButton\";\n\n// `prism-light` ships no languages by default; register the one we render so\n// the code is actually syntax-highlighted (otherwise it renders as plain text).\nCodeBlock.registerLanguage(\"javascript\", javascript);\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = {},\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const { label: copyLabel = \"Copy\", ...restCopyButtonProps } = copyButtonProps;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-testid\": \"code-block-content\" }}\n data-testid=\"code-block\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"absolute top-2 right-2\"\n size=\"sm\"\n value={code}\n variant=\"secondary\"\n {...restCopyButtonProps}\n label={isLargerScreen ? copyLabel : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["CodeBlock","registerLanguage","javascript","Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_copyButtonProps$labe","label","copyLabel","restCopyButtonProps","_objectWithoutProperties","_excluded","_jsxs","className","children","_jsx","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyToClipboardButton","size","value","variant"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUAA,SAAS,CAACC,gBAAgB,CAAC,YAAY,EAAEC,UAAU,CAAC;AAEpD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;AAEpB,EAAA,IAAAE,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC;AAExC,EAAA,IAAAE,qBAAA,GAA8DL,eAAe,CAArEM,KAAK;AAAEC,IAAAA,SAAS,GAAAF,qBAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,qBAAA;AAAKG,IAAAA,mBAAmB,GAAAC,wBAAA,CAAKT,eAAe,EAAAU,SAAA,CAAA;AAE7E,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,GAAA,CAACxB,SAAS,EAAAyB,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTJ,MAAAA,SAAS,EAAC,8CAA8C;AACxDK,MAAAA,YAAY,EAAE;AAAE,QAAA,aAAa,EAAE;OAAuB;AACtD,MAAA,aAAA,EAAY,YAAY;AACxBC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC;AAAQ,KAAA,EACXtB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAe,MAAAA,QAAA,EAEjBlB;KAAI,CACI,CAAC,EACXE,cAAc,iBACbiB,GAAA,CAACO,qBAAqB,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACpBH,MAAAA,SAAS,EAAC,wBAAwB;AAClCU,MAAAA,IAAI,EAAC,IAAI;AACTC,MAAAA,KAAK,EAAE5B,IAAK;AACZ6B,MAAAA,OAAO,EAAC;AAAW,KAAA,EACfhB,mBAAmB,CAAA,EAAA,EAAA,EAAA;AACvBF,MAAAA,KAAK,EAAEF,cAAc,GAAGG,SAAS,GAAG;AAAG,KAAA,CACxC,CACF;AAAA,GACE,CAAC;AAEV;;;;"}
1
+ {"version":3,"file":"Codeblock.js","sources":["../../src/v2/components/Codeblock.jsx"],"sourcesContent":["import useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/prism/javascript\";\nimport CodeBlock from \"react-syntax-highlighter/dist/esm/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyToClipboardButton from \"./CopyToClipboardButton\";\n\n// `prism-light` ships no languages by default; register the one we render so\n// the code is actually syntax-highlighted (otherwise it renders as plain text).\nCodeBlock.registerLanguage(\"javascript\", javascript);\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = {},\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const { label: copyLabel = \"Copy\", ...restCopyButtonProps } = copyButtonProps;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-testid\": \"code-block-content\" }}\n data-testid=\"code-block\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"absolute top-2 right-2\"\n size=\"sm\"\n value={code}\n variant=\"secondary\"\n {...restCopyButtonProps}\n label={isLargerScreen ? copyLabel : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["CodeBlock","registerLanguage","javascript","Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_copyButtonProps$labe","label","copyLabel","restCopyButtonProps","_objectWithoutProperties","_excluded","_jsxs","className","children","_jsx","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyToClipboardButton","size","value","variant"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAUAA,SAAS,CAACC,gBAAgB,CAAC,YAAY,EAAEC,UAAU,CAAC;AAEpD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;AAEpB,EAAA,IAAAE,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC;AAExC,EAAA,IAAAE,qBAAA,GAA8DL,eAAe,CAArEM,KAAK;AAAEC,IAAAA,SAAS,GAAAF,qBAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,qBAAA;AAAKG,IAAAA,mBAAmB,GAAAC,wBAAA,CAAKT,eAAe,EAAAU,SAAA,CAAA;AAE7E,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,GAAA,CAACxB,SAAS,EAAAyB,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTJ,MAAAA,SAAS,EAAC,8CAA8C;AACxDK,MAAAA,YAAY,EAAE;AAAE,QAAA,aAAa,EAAE;OAAuB;AACtD,MAAA,aAAA,EAAY,YAAY;AACxBC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC;AAAQ,KAAA,EACXtB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAe,MAAAA,QAAA,EAEjBlB;KAAI,CACI,CAAC,EACXE,cAAc,iBACbiB,GAAA,CAACO,qBAAqB,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACpBH,MAAAA,SAAS,EAAC,wBAAwB;AAClCU,MAAAA,IAAI,EAAC,IAAI;AACTC,MAAAA,KAAK,EAAE5B,IAAK;AACZ6B,MAAAA,OAAO,EAAC;AAAW,KAAA,EACfhB,mBAAmB,CAAA,EAAA,EAAA,EAAA;AACvBF,MAAAA,KAAK,EAAEF,cAAc,GAAGG,SAAS,GAAG;AAAG,KAAA,CACxC,CACF;AAAA,GACE,CAAC;AAEV;;;;"}
@@ -8,21 +8,8 @@ import { copyToClipboard } from '@bigbinary/neeto-commons-frontend/v2/utils/gene
8
8
  import { useTranslation } from 'react-i18next';
9
9
  import { jsx } from 'react/jsx-runtime';
10
10
  import { C as Check } from '../check-DvxzqR83.js';
11
- import { c as createLucideIcon } from '../createLucideIcon-mNMhCCpf.js';
12
-
13
- /**
14
- * @license lucide-react v1.7.0 - ISC
15
- *
16
- * This source code is licensed under the ISC license.
17
- * See the LICENSE file in the root directory of this source tree.
18
- */
19
-
20
-
21
- const __iconNode = [
22
- ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
23
- ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
24
- ];
25
- const Copy = createLucideIcon("copy", __iconNode);
11
+ import { C as Copy } from '../copy-DhbOoOav.js';
12
+ import '../createLucideIcon-mNMhCCpf.js';
26
13
 
27
14
  var TIME_OUT = 2000;
28
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboardButton.js","sources":["../../node_modules/lucide-react/dist/esm/icons/copy.js","../../src/v2/components/CopyToClipboardButton/constants.js","../../src/v2/components/CopyToClipboardButton/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n];\nconst Copy = createLucideIcon(\"copy\", __iconNode);\n\nexport { __iconNode, Copy as default };\n//# sourceMappingURL=copy.js.map\n","const TIME_OUT = 2000;\n\nexport { TIME_OUT };\n","import { useState, useEffect, useLayoutEffect, useRef } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Copy, Check } from \"lucide-react\";\nimport { copyToClipboard } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TIME_OUT } from \"./constants\";\n\nconst CopyToClipboardButton = ({\n className,\n icon: Icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n variant = \"outline\",\n size,\n tooltipProps,\n onClick,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n const timerRef = useRef();\n\n const resolvedSize = size || (label ? \"default\" : \"icon\");\n\n const onHandleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if (onClick) onClick(event);\n else copyToClipboard(value, { showToastr: false });\n\n clearTimeout(timerRef.current);\n setIsChecked(true);\n timerRef.current = setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT);\n };\n\n useEffect(() => () => clearTimeout(timerRef.current), []);\n\n useLayoutEffect(() => {\n if (!ref.current) return;\n ref.current.style.minWidth = \"\";\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, [resolvedSize, label]);\n\n const currentTooltipContent = isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copy\");\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const ButtonIcon = isChecked ? Check : Icon;\n\n const button = (\n <Button\n {...{ ref }}\n className={classnames(isChecked && \"nv-copy-button-active\", className)}\n data-testid=\"copy-to-clipboard-button\"\n icon={ButtonIcon}\n iconPosition=\"left\"\n label={buttonLabel || undefined}\n size={resolvedSize}\n variant={isChecked ? \"default\" : variant}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n\n if (label) return button;\n\n return (\n <Tooltip content={currentTooltipContent} position=\"top\" {...tooltipProps}>\n {button}\n </Tooltip>\n );\n};\n\nCopyToClipboardButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n successLabel: PropTypes.string,\n value: PropTypes.string,\n variant: PropTypes.string,\n size: PropTypes.string,\n tooltipContent: PropTypes.string,\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["TIME_OUT","CopyToClipboardButton","_ref","className","_ref$icon","icon","Icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","_ref$variant","variant","size","tooltipProps","onClick","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","timerRef","resolvedSize","onHandleClick","event","preventDefault","stopPropagation","copyToClipboard","showToastr","clearTimeout","current","setTimeout","useEffect","useLayoutEffect","style","minWidth","buttonWidth","clientWidth","concat","currentTooltipContent","buttonLabel","ButtonIcon","Check","button","_jsx","Button","_objectSpread","classnames","iconPosition","undefined","Tooltip","content","position","children"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"CopyToClipboardButton.js","sources":["../../src/v2/components/CopyToClipboardButton/constants.js","../../src/v2/components/CopyToClipboardButton/index.jsx"],"sourcesContent":["const TIME_OUT = 2000;\n\nexport { TIME_OUT };\n","import { useState, useEffect, useLayoutEffect, useRef } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Copy, Check } from \"lucide-react\";\nimport { copyToClipboard } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TIME_OUT } from \"./constants\";\n\nconst CopyToClipboardButton = ({\n className,\n icon: Icon = Copy,\n label = \"\",\n successLabel,\n tooltipContent,\n successTooltipContent,\n value,\n variant = \"outline\",\n size,\n tooltipProps,\n onClick,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const ref = useRef();\n const timerRef = useRef();\n\n const resolvedSize = size || (label ? \"default\" : \"icon\");\n\n const onHandleClick = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if (onClick) onClick(event);\n else copyToClipboard(value, { showToastr: false });\n\n clearTimeout(timerRef.current);\n setIsChecked(true);\n timerRef.current = setTimeout(() => {\n setIsChecked(false);\n }, TIME_OUT);\n };\n\n useEffect(() => () => clearTimeout(timerRef.current), []);\n\n useLayoutEffect(() => {\n if (!ref.current) return;\n ref.current.style.minWidth = \"\";\n const buttonWidth = ref.current.clientWidth;\n ref.current.style.minWidth = `${buttonWidth}px`;\n }, [resolvedSize, label]);\n\n const currentTooltipContent = isChecked\n ? successTooltipContent || t(\"neetoMolecules.common.copied\")\n : tooltipContent || t(\"neetoMolecules.common.copy\");\n\n const buttonLabel =\n isChecked && label\n ? successLabel || t(\"neetoMolecules.common.copied\")\n : label;\n const ButtonIcon = isChecked ? Check : Icon;\n\n const button = (\n <Button\n {...{ ref }}\n className={classnames(isChecked && \"nv-copy-button-active\", className)}\n data-testid=\"copy-to-clipboard-button\"\n icon={ButtonIcon}\n iconPosition=\"left\"\n label={buttonLabel || undefined}\n size={resolvedSize}\n variant={isChecked ? \"default\" : variant}\n onClick={onHandleClick}\n {...otherProps}\n />\n );\n\n if (label) return button;\n\n return (\n <Tooltip content={currentTooltipContent} position=\"top\" {...tooltipProps}>\n {button}\n </Tooltip>\n );\n};\n\nCopyToClipboardButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n successLabel: PropTypes.string,\n value: PropTypes.string,\n variant: PropTypes.string,\n size: PropTypes.string,\n tooltipContent: PropTypes.string,\n successTooltipContent: PropTypes.string,\n};\n\nexport default CopyToClipboardButton;\n"],"names":["TIME_OUT","CopyToClipboardButton","_ref","className","_ref$icon","icon","Icon","Copy","_ref$label","label","successLabel","tooltipContent","successTooltipContent","value","_ref$variant","variant","size","tooltipProps","onClick","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","ref","useRef","timerRef","resolvedSize","onHandleClick","event","preventDefault","stopPropagation","copyToClipboard","showToastr","clearTimeout","current","setTimeout","useEffect","useLayoutEffect","style","minWidth","buttonWidth","clientWidth","concat","currentTooltipContent","buttonLabel","ButtonIcon","Check","button","_jsx","Button","_objectSpread","classnames","iconPosition","undefined","Tooltip","content","position","children"],"mappings":"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"}
@@ -1,28 +1,19 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
- import React__default, { Fragment } from 'react';
4
+ import React__default, { useState, useRef, useEffect, Fragment } from 'react';
4
5
  import { Spinner, Empty } from '@bigbinary/neeto-atoms';
5
6
  import { CommandDialog, Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandSeparator } from '@bigbinary/neeto-atoms/primitives';
6
- import { isNotEmpty, noop, humanize } from '@bigbinary/neeto-cist';
7
+ import { noop, isNotEmpty, humanize } from '@bigbinary/neeto-cist';
7
8
  import useHotkeys from '@bigbinary/neeto-hotkeys';
8
9
  import { prop, isEmpty } from 'ramda';
9
10
  import { useTranslation } from 'react-i18next';
10
11
  import { useHistory } from 'react-router-dom';
11
12
  import { jsx, jsxs } from 'react/jsx-runtime';
12
- import { c as createLucideIcon } from '../createLucideIcon-mNMhCCpf.js';
13
+ import { C as ChevronUp } from '../chevron-up-B2_LTx_h.js';
13
14
  import { C as ChevronDown } from '../chevron-down-BMerqYpK.js';
14
15
  import { S as Search } from '../search-DCgpNjip.js';
15
-
16
- /**
17
- * @license lucide-react v1.7.0 - ISC
18
- *
19
- * This source code is licensed under the ISC license.
20
- * See the LICENSE file in the root directory of this source tree.
21
- */
22
-
23
-
24
- const __iconNode = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
25
- const ChevronUp = createLucideIcon("chevron-up", __iconNode);
16
+ import '../createLucideIcon-mNMhCCpf.js';
26
17
 
27
18
  var ModalFooter = function ModalFooter(_ref) {
28
19
  var enableAdvancedSearch = _ref.enableAdvancedSearch;
@@ -104,7 +95,7 @@ var filterAndHighlightContent = function filterAndHighlightContent(bodyContent,
104
95
  });
105
96
  };
106
97
 
107
- var _excluded = ["enableAdvancedSearch", "data", "isFetching", "isOpen", "searchTerm", "setSearchTerm", "onClose", "onGoToAdvanced"];
98
+ var _excluded = ["enableAdvancedSearch", "data", "isFetching", "isOpen", "searchTerm", "setSearchTerm", "onClose", "onGoToAdvanced", "onLoadMore", "hasMore", "isFetchingMore"];
108
99
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
109
100
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
110
101
  var toRelativePath = function toRelativePath(url) {
@@ -148,10 +139,20 @@ var FinderModal = function FinderModal(_ref2) {
148
139
  onClose = _ref2.onClose,
149
140
  _ref2$onGoToAdvanced = _ref2.onGoToAdvanced,
150
141
  onGoToAdvanced = _ref2$onGoToAdvanced === void 0 ? noop : _ref2$onGoToAdvanced,
142
+ onLoadMore = _ref2.onLoadMore,
143
+ _ref2$hasMore = _ref2.hasMore,
144
+ hasMore = _ref2$hasMore === void 0 ? false : _ref2$hasMore,
145
+ _ref2$isFetchingMore = _ref2.isFetchingMore,
146
+ isFetchingMore = _ref2$isFetchingMore === void 0 ? false : _ref2$isFetchingMore,
151
147
  props = _objectWithoutProperties(_ref2, _excluded);
152
148
  var _useTranslation = useTranslation(),
153
149
  t = _useTranslation.t;
154
150
  var history = useHistory();
151
+ var _useState = useState(null),
152
+ _useState2 = _slicedToArray(_useState, 2),
153
+ sentinelEl = _useState2[0],
154
+ setSentinelEl = _useState2[1];
155
+ var onLoadMoreRef = useRef(onLoadMore || noop);
155
156
  var categories = Object.keys(data).filter(function (key) {
156
157
  return isNotEmpty(data[key]);
157
158
  });
@@ -163,6 +164,28 @@ var FinderModal = function FinderModal(_ref2) {
163
164
  mode: "global",
164
165
  enabled: isOpen && enableAdvancedSearch
165
166
  });
167
+ useEffect(function () {
168
+ onLoadMoreRef.current = onLoadMore || noop;
169
+ }, [onLoadMore]);
170
+ var isPaginationEnabled = Boolean(onLoadMore);
171
+ useEffect(function () {
172
+ if (!sentinelEl || !isPaginationEnabled || !hasMore || isFetchingMore) {
173
+ return undefined;
174
+ }
175
+ var root = sentinelEl.closest(".nm-finder-modal__body");
176
+ var observer = new IntersectionObserver(function (_ref3) {
177
+ var _ref4 = _slicedToArray(_ref3, 1),
178
+ entry = _ref4[0];
179
+ if (entry.isIntersecting) onLoadMoreRef.current();
180
+ }, {
181
+ root: root,
182
+ rootMargin: "120px"
183
+ });
184
+ observer.observe(sentinelEl);
185
+ return function () {
186
+ return observer.disconnect();
187
+ };
188
+ }, [sentinelEl, isPaginationEnabled, hasMore, isFetchingMore]);
166
189
  return /*#__PURE__*/jsx(CommandDialog, _objectSpread(_objectSpread({}, props), {}, {
167
190
  className: "nm-finder-modal !max-w-[calc(100%-2rem)] sm:!max-w-xl",
168
191
  open: isOpen,
@@ -239,6 +262,17 @@ var FinderModal = function FinderModal(_ref2) {
239
262
  className: "my-1"
240
263
  })]
241
264
  }, category);
265
+ }), onLoadMore && hasMore && /*#__PURE__*/jsx("div", {
266
+ "aria-hidden": "true",
267
+ className: "h-px w-full",
268
+ "data-testid": "nm-finder-modal-sentinel",
269
+ ref: setSentinelEl
270
+ }), isFetchingMore && /*#__PURE__*/jsx("div", {
271
+ className: "flex items-center justify-center py-3",
272
+ "data-testid": "nm-finder-modal-loading-more",
273
+ children: /*#__PURE__*/jsx(Spinner, {
274
+ size: "small"
275
+ })
242
276
  })]
243
277
  }), /*#__PURE__*/jsx(ModalFooter, {
244
278
  enableAdvancedSearch: enableAdvancedSearch