@bigbinary/neeto-molecules 5.2.31 → 5.2.33

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 (47) hide show
  1. package/dist/{ConfigureView-Bq_aqEgi.js → ConfigureView-D-2SQf3j.js} +2 -1
  2. package/dist/ConfigureView-D-2SQf3j.js.map +1 -0
  3. package/dist/cjs/{ConfigureView-Dk4x1_mS.js → ConfigureView-CNWEfiae.js} +2 -1
  4. package/dist/cjs/ConfigureView-CNWEfiae.js.map +1 -0
  5. package/dist/cjs/v2/Builder.js +21 -11
  6. package/dist/cjs/v2/Builder.js.map +1 -1
  7. package/dist/cjs/v2/ConfigurePageSidebar.js +4 -1
  8. package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
  9. package/dist/cjs/v2/FinderModal.js +2 -2
  10. package/dist/cjs/v2/FinderModal.js.map +1 -1
  11. package/dist/cjs/v2/KeyboardShortcuts.js +1 -0
  12. package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
  13. package/dist/cjs/v2/MoreDropdown.js +1 -0
  14. package/dist/cjs/v2/MoreDropdown.js.map +1 -1
  15. package/dist/cjs/v2/ProductEmbed.js +3 -0
  16. package/dist/cjs/v2/ProductEmbed.js.map +1 -1
  17. package/dist/cjs/v2/ResponsiveDevicePicker.js +19 -26
  18. package/dist/cjs/v2/ResponsiveDevicePicker.js.map +1 -1
  19. package/dist/cjs/v2/Search.js +1 -0
  20. package/dist/cjs/v2/Search.js.map +1 -1
  21. package/dist/cjs/v2/ShareViaLink.js +2 -0
  22. package/dist/cjs/v2/ShareViaLink.js.map +1 -1
  23. package/dist/cjs/v2/Sidebar.js +6 -1
  24. package/dist/cjs/v2/Sidebar.js.map +1 -1
  25. package/dist/v2/Builder.js +21 -11
  26. package/dist/v2/Builder.js.map +1 -1
  27. package/dist/v2/ConfigurePageSidebar.js +4 -1
  28. package/dist/v2/ConfigurePageSidebar.js.map +1 -1
  29. package/dist/v2/FinderModal.js +2 -2
  30. package/dist/v2/FinderModal.js.map +1 -1
  31. package/dist/v2/KeyboardShortcuts.js +1 -0
  32. package/dist/v2/KeyboardShortcuts.js.map +1 -1
  33. package/dist/v2/MoreDropdown.js +1 -0
  34. package/dist/v2/MoreDropdown.js.map +1 -1
  35. package/dist/v2/ProductEmbed.js +3 -0
  36. package/dist/v2/ProductEmbed.js.map +1 -1
  37. package/dist/v2/ResponsiveDevicePicker.js +19 -26
  38. package/dist/v2/ResponsiveDevicePicker.js.map +1 -1
  39. package/dist/v2/Search.js +1 -0
  40. package/dist/v2/Search.js.map +1 -1
  41. package/dist/v2/ShareViaLink.js +2 -0
  42. package/dist/v2/ShareViaLink.js.map +1 -1
  43. package/dist/v2/Sidebar.js +6 -1
  44. package/dist/v2/Sidebar.js.map +1 -1
  45. package/package.json +7 -7
  46. package/dist/ConfigureView-Bq_aqEgi.js.map +0 -1
  47. package/dist/cjs/ConfigureView-Dk4x1_mS.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/arrow-down.mjs","../../../node_modules/lucide-react/dist/esm/icons/zap.mjs","../../../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.24.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.mjs';\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.mjs.map\n","/**\n * @license lucide-react v1.24.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.mjs';\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.mjs.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 // z-[101] only where the panel is a fixed slide-in over a backdrop\n // (mobile). At larger widths it's an in-flow column; keeping z-[101]\n // there creates a stacking context that traps portaled overlays\n // (dropdowns/popovers, which sit at z-50) behind the panel.\n \"relative 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]:z-[101] 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 // z-[101] only where the panel is a fixed slide-in over a backdrop\n // (below 1280px). As an in-flow column it must not create a stacking\n // context, or portaled overlays (dropdowns/popovers at z-50) render\n // behind the panel.\n \"border-border relative 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]:z-[101] 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","createLucideIcon","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]}
1
+ {"version":3,"file":"Builder.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/arrow-down.mjs","../../../node_modules/lucide-react/dist/esm/icons/zap.mjs","../../../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.24.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.mjs';\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.mjs.map\n","/**\n * @license lucide-react v1.24.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.mjs';\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.mjs.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=\"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 && (\n <Icon\n className=\"text-muted-foreground size-5\"\n data-testid=\"form-icon\"\n />\n )}\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=\"mt-0.5\"\n color=\"muted\"\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 && (\n <Typography\n className=\"mt-5 mb-2\"\n color=\"muted\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n )}\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=\"h5\"\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-3 px-6\">\n <Typography className=\"mb-3\" color=\"muted\" 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-3 pe-1 transition-all duration-300 ease-in-out\",\n {\n \"border-primary! [outline:0.5px_solid_var(--primary)]\": isActive,\n },\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 className=\"text-muted-foreground size-5\" />\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 dropdownProps={{ className: \"w-max\" }}\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=\"h5\"\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\" color=\"muted\" 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 // z-[101] only where the panel is a fixed slide-in over a backdrop\n // (mobile). At larger widths it's an in-flow column; keeping z-[101]\n // there creates a stacking context that traps portaled overlays\n // (dropdowns/popovers, which sit at z-50) behind the panel.\n \"relative 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]:z-[101] 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 // z-[101] only where the panel is a fixed slide-in over a backdrop\n // (below 1280px). As an in-flow column it must not create a stacking\n // context, or portaled overlays (dropdowns/popovers at z-50) render\n // behind the panel.\n \"border-border relative 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]:z-[101] 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","createLucideIcon","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","color","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","dropdownProps","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]}
@@ -6,7 +6,7 @@ var primitives = require('@bigbinary/neeto-atoms/primitives');
6
6
  var classnames = require('classnames');
7
7
  var reactRouterDom = require('react-router-dom');
8
8
  require('./configure-page-sidebar.js');
9
- var ConfigureView = require('../ConfigureView-Dk4x1_mS.js');
9
+ var ConfigureView = require('../ConfigureView-CNWEfiae.js');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
  require('../inject-css-B6qYtOJe.js');
12
12
  require('@babel/runtime/helpers/defineProperty');
@@ -37,6 +37,7 @@ var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
37
37
  history.push(configurePageRoute);
38
38
  };
39
39
  return /*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarProvider, {
40
+ "data-testid": "configure-page-sidebar-container",
40
41
  open: !isSidebarCollapsed,
41
42
  className: classnames("!w-auto", {
42
43
  "neeto-configure-page-sidebar--embedded": isEmbedded
@@ -46,6 +47,7 @@ var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
46
47
  },
47
48
  children: [/*#__PURE__*/jsxRuntime.jsx(primitives.Sidebar, {
48
49
  collapsible: "offcanvas",
50
+ "data-testid": "configure-page-sidebar",
49
51
  side: document.documentElement.dir === "rtl" ? "right" : "left",
50
52
  children: /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarContent, {
51
53
  children: /*#__PURE__*/jsxRuntime.jsx(ConfigureView.ConfigureView, {
@@ -59,6 +61,7 @@ var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
59
61
  })
60
62
  })
61
63
  }), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
64
+ "data-testid": "configure-page-neeto-molecules-sidebar-toggler",
62
65
  className: classnames({
63
66
  "bg-background hover:bg-accent size-9 rounded-full border shadow-sm": isSidebarCollapsed
64
67
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurePageSidebar.js","sources":["../../../src/v2/components/ConfigurePageSidebar.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport {\n Sidebar,\n SidebarContent,\n SidebarProvider,\n SidebarTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useHistory } from \"react-router-dom\";\n\nimport \"./configure-page-sidebar.css\";\nimport ConfigureView from \"./Sidebar/Components/ConfigureView\";\n\nconst ConfigurePageSidebar = ({\n label,\n navLinks: items,\n configurePageRoute,\n isEmbedded = false,\n showBackButton = true,\n}) => {\n const history = useHistory();\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false);\n\n const handleConfigureLinkClick = () => {\n history.push(configurePageRoute);\n };\n\n return (\n <SidebarProvider\n open={!isSidebarCollapsed}\n className={classnames(\"!w-auto\", {\n \"neeto-configure-page-sidebar--embedded\": isEmbedded,\n })}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <Sidebar\n collapsible=\"offcanvas\"\n side={document.documentElement.dir === \"rtl\" ? \"right\" : \"left\"}\n >\n <SidebarContent>\n <ConfigureView\n {...{ showBackButton }}\n isConfigureSidebar\n handleGoBack={handleConfigureLinkClick}\n navLink={{ label, items }}\n />\n </SidebarContent>\n </Sidebar>\n <SidebarTrigger\n className={classnames({\n \"bg-background hover:bg-accent size-9 rounded-full border shadow-sm\":\n isSidebarCollapsed,\n })}\n />\n </SidebarProvider>\n );\n};\n\nConfigurePageSidebar.propTypes = {\n configurePageRoute: PropTypes.string,\n label: PropTypes.string,\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, to: PropTypes.string })\n ),\n })\n ),\n // Renders the sidebar inline within the page (flows as a flex item, collapse\n // reclaims space, trigger docks alongside the content) instead of the default\n // fixed full-height overlay. Use when the sidebar is nested inside a page that\n // already has its own header/sidebar.\n isEmbedded: PropTypes.bool,\n // Show the back chevron on the title that navigates to configurePageRoute.\n showBackButton: PropTypes.bool,\n};\n\nexport default ConfigurePageSidebar;\n"],"names":["ConfigurePageSidebar","_ref","label","items","navLinks","configurePageRoute","_ref$isEmbedded","isEmbedded","_ref$showBackButton","showBackButton","history","useHistory","_useState","useState","_useState2","_slicedToArray","isSidebarCollapsed","setIsSidebarCollapsed","handleConfigureLinkClick","push","_jsxs","SidebarProvider","open","className","classnames","onOpenChange","children","_jsx","Sidebar","collapsible","side","document","documentElement","dir","SidebarContent","ConfigureView","isConfigureSidebar","handleGoBack","navLink","SidebarTrigger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAMpB;AAAA,EAAA,IALJC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACKC,KAAK,GAAAF,IAAA,CAAfG,QAAQ;IACRC,kBAAkB,GAAAJ,IAAA,CAAlBI,kBAAkB;IAAAC,eAAA,GAAAL,IAAA,CAClBM,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,mBAAA,GAAAP,IAAA,CAClBQ,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;AAErB,EAAA,IAAME,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAAC,SAAA,GAAoDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5DI,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAS;AACrCR,IAAAA,OAAO,CAACS,IAAI,CAACd,kBAAkB,CAAC;EAClC,CAAC;EAED,oBACEe,eAAA,CAACC,0BAAe,EAAA;IACdC,IAAI,EAAE,CAACN,kBAAmB;AAC1BO,IAAAA,SAAS,EAAEC,UAAU,CAAC,SAAS,EAAE;AAC/B,MAAA,wCAAwC,EAAEjB;AAC5C,KAAC,CAAE;AACHkB,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAEH,IAAI,EAAA;AAAA,MAAA,OAAIL,qBAAqB,CAAC,CAACK,IAAI,CAAC;IAAA,CAAC;IAAAI,QAAA,EAAA,cAEnDC,cAAA,CAACC,kBAAO,EAAA;AACNC,MAAAA,WAAW,EAAC,WAAW;MACvBC,IAAI,EAAEC,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK,GAAG,OAAO,GAAG,MAAO;MAAAP,QAAA,eAEhEC,cAAA,CAACO,yBAAc,EAAA;QAAAR,QAAA,eACbC,cAAA,CAACQ,2BAAa,EAAA;AACN1B,UAAAA,cAAc,EAAdA,cAAc;UACpB2B,kBAAkB,EAAA,IAAA;AAClBC,UAAAA,YAAY,EAAEnB,wBAAyB;AACvCoB,UAAAA,OAAO,EAAE;AAAEpC,YAAAA,KAAK,EAALA,KAAK;AAAEC,YAAAA,KAAK,EAALA;AAAM;SACzB;OACa;AAAC,KACV,CAAC,eACVwB,cAAA,CAACY,yBAAc,EAAA;MACbhB,SAAS,EAAEC,UAAU,CAAC;AACpB,QAAA,oEAAoE,EAClER;OACH;AAAE,KACJ,CAAC;AAAA,GACa,CAAC;AAEtB;;;;"}
1
+ {"version":3,"file":"ConfigurePageSidebar.js","sources":["../../../src/v2/components/ConfigurePageSidebar.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport {\n Sidebar,\n SidebarContent,\n SidebarProvider,\n SidebarTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useHistory } from \"react-router-dom\";\n\nimport \"./configure-page-sidebar.css\";\nimport ConfigureView from \"./Sidebar/Components/ConfigureView\";\n\nconst ConfigurePageSidebar = ({\n label,\n navLinks: items,\n configurePageRoute,\n isEmbedded = false,\n showBackButton = true,\n}) => {\n const history = useHistory();\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false);\n\n const handleConfigureLinkClick = () => {\n history.push(configurePageRoute);\n };\n\n return (\n <SidebarProvider\n data-testid=\"configure-page-sidebar-container\"\n open={!isSidebarCollapsed}\n className={classnames(\"!w-auto\", {\n \"neeto-configure-page-sidebar--embedded\": isEmbedded,\n })}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <Sidebar\n collapsible=\"offcanvas\"\n data-testid=\"configure-page-sidebar\"\n side={document.documentElement.dir === \"rtl\" ? \"right\" : \"left\"}\n >\n <SidebarContent>\n <ConfigureView\n {...{ showBackButton }}\n isConfigureSidebar\n handleGoBack={handleConfigureLinkClick}\n navLink={{ label, items }}\n />\n </SidebarContent>\n </Sidebar>\n <SidebarTrigger\n data-testid=\"configure-page-neeto-molecules-sidebar-toggler\"\n className={classnames({\n \"bg-background hover:bg-accent size-9 rounded-full border shadow-sm\":\n isSidebarCollapsed,\n })}\n />\n </SidebarProvider>\n );\n};\n\nConfigurePageSidebar.propTypes = {\n configurePageRoute: PropTypes.string,\n label: PropTypes.string,\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, to: PropTypes.string })\n ),\n })\n ),\n // Renders the sidebar inline within the page (flows as a flex item, collapse\n // reclaims space, trigger docks alongside the content) instead of the default\n // fixed full-height overlay. Use when the sidebar is nested inside a page that\n // already has its own header/sidebar.\n isEmbedded: PropTypes.bool,\n // Show the back chevron on the title that navigates to configurePageRoute.\n showBackButton: PropTypes.bool,\n};\n\nexport default ConfigurePageSidebar;\n"],"names":["ConfigurePageSidebar","_ref","label","items","navLinks","configurePageRoute","_ref$isEmbedded","isEmbedded","_ref$showBackButton","showBackButton","history","useHistory","_useState","useState","_useState2","_slicedToArray","isSidebarCollapsed","setIsSidebarCollapsed","handleConfigureLinkClick","push","_jsxs","SidebarProvider","open","className","classnames","onOpenChange","children","_jsx","Sidebar","collapsible","side","document","documentElement","dir","SidebarContent","ConfigureView","isConfigureSidebar","handleGoBack","navLink","SidebarTrigger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAMpB;AAAA,EAAA,IALJC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACKC,KAAK,GAAAF,IAAA,CAAfG,QAAQ;IACRC,kBAAkB,GAAAJ,IAAA,CAAlBI,kBAAkB;IAAAC,eAAA,GAAAL,IAAA,CAClBM,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,mBAAA,GAAAP,IAAA,CAClBQ,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;AAErB,EAAA,IAAME,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAAC,SAAA,GAAoDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5DI,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAS;AACrCR,IAAAA,OAAO,CAACS,IAAI,CAACd,kBAAkB,CAAC;EAClC,CAAC;EAED,oBACEe,eAAA,CAACC,0BAAe,EAAA;AACd,IAAA,aAAA,EAAY,kCAAkC;IAC9CC,IAAI,EAAE,CAACN,kBAAmB;AAC1BO,IAAAA,SAAS,EAAEC,UAAU,CAAC,SAAS,EAAE;AAC/B,MAAA,wCAAwC,EAAEjB;AAC5C,KAAC,CAAE;AACHkB,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAEH,IAAI,EAAA;AAAA,MAAA,OAAIL,qBAAqB,CAAC,CAACK,IAAI,CAAC;IAAA,CAAC;IAAAI,QAAA,EAAA,cAEnDC,cAAA,CAACC,kBAAO,EAAA;AACNC,MAAAA,WAAW,EAAC,WAAW;AACvB,MAAA,aAAA,EAAY,wBAAwB;MACpCC,IAAI,EAAEC,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK,GAAG,OAAO,GAAG,MAAO;MAAAP,QAAA,eAEhEC,cAAA,CAACO,yBAAc,EAAA;QAAAR,QAAA,eACbC,cAAA,CAACQ,2BAAa,EAAA;AACN1B,UAAAA,cAAc,EAAdA,cAAc;UACpB2B,kBAAkB,EAAA,IAAA;AAClBC,UAAAA,YAAY,EAAEnB,wBAAyB;AACvCoB,UAAAA,OAAO,EAAE;AAAEpC,YAAAA,KAAK,EAALA,KAAK;AAAEC,YAAAA,KAAK,EAALA;AAAM;SACzB;OACa;AAAC,KACV,CAAC,eACVwB,cAAA,CAACY,yBAAc,EAAA;AACb,MAAA,aAAA,EAAY,gDAAgD;MAC5DhB,SAAS,EAAEC,UAAU,CAAC;AACpB,QAAA,oEAAoE,EAClER;OACH;AAAE,KACJ,CAAC;AAAA,GACa,CAAC;AAEtB;;;;"}
@@ -267,11 +267,11 @@ var FinderModal = function FinderModal(_ref2) {
267
267
  }), onLoadMore && hasMore && /*#__PURE__*/jsxRuntime.jsx("div", {
268
268
  "aria-hidden": "true",
269
269
  className: "h-px w-full",
270
- "data-testid": "nm-finder-modal-sentinel",
270
+ "data-testid": "neeto-molecules-finder-modal-sentinel",
271
271
  ref: setSentinelEl
272
272
  }), isFetchingMore && /*#__PURE__*/jsxRuntime.jsx("div", {
273
273
  className: "flex items-center justify-center py-3",
274
- "data-testid": "nm-finder-modal-loading-more",
274
+ "data-testid": "neeto-molecules-finder-modal-loading-more",
275
275
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Spinner, {
276
276
  size: "small"
277
277
  })
@@ -1 +1 @@
1
- {"version":3,"file":"FinderModal.js","sources":["../../../src/v2/components/FinderModal/Footer.jsx","../../../src/v2/components/FinderModal/utils.jsx","../../../src/v2/components/FinderModal/index.jsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ModalFooter = ({ enableAdvancedSearch }) => {\n const { t } = useTranslation();\n\n const shortcuts = [\n {\n label: t(\"neetoMolecules.finderModal.advancedSearch\"),\n keys: [\"Cmd/Ctrl\", \"Return\"],\n isVisible: enableAdvancedSearch,\n },\n {\n label: t(\"neetoMolecules.common.actions.open\"),\n keys: [\"Return\"],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.move\"),\n keys: [\n <ChevronUp className=\"text-muted-foreground\" key=\"up\" size={12} />,\n <ChevronDown className=\"text-muted-foreground\" key=\"down\" size={12} />,\n ],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.close\"),\n keys: [\"Esc\"],\n isVisible: true,\n },\n ];\n\n return (\n <div className=\"border-border bg-muted/40 nm-finder-modal__footer border-t px-4 py-2.5\">\n <div className=\"text-muted-foreground flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs\">\n {shortcuts.filter(prop(\"isVisible\")).map(({ label, keys }, index) => (\n <div className=\"flex items-center gap-1\" key={index}>\n {keys.map((key, keyIndex) => (\n <kbd\n className=\"border-border bg-background text-foreground inline-flex h-4 min-w-4 items-center justify-center rounded border px-1 font-sans text-[10px] leading-none\"\n key={keyIndex}\n >\n {key}\n </kbd>\n ))}\n <span>{label}</span>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default ModalFooter;\n","import React from \"react\";\n\nexport const htmlToText = html => {\n if (!html) return null;\n\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n\nexport const highlightMatch = (text, searchTerm) => {\n if (!searchTerm) return text;\n\n const regex = new RegExp(`(${searchTerm})`, \"gi\");\n\n return text.split(regex).map((part, index) =>\n part?.toLowerCase() === searchTerm.toLowerCase() ? (\n <mark className=\"rounded-sm bg-yellow-200 text-yellow-900\" key={index}>\n {part}\n </mark>\n ) : (\n part\n )\n );\n};\n\nexport const filterAndHighlightContent = (bodyContent, searchTerm) => {\n if (!searchTerm) return bodyContent;\n\n if (!bodyContent) return null;\n\n return bodyContent\n .split(/(.{1,130}(?:\\s|$))/g)\n .filter(line => line.trim())\n .filter(line => line.toLowerCase().includes(searchTerm.toLowerCase()))\n .map((line, index) => (\n <React.Fragment key={index}>\n {highlightMatch(line, searchTerm)}\n <br />\n </React.Fragment>\n ));\n};\n","import { Fragment, useEffect, useRef, useState } from \"react\";\n\nimport { Empty, Spinner } from \"@bigbinary/neeto-atoms\";\nimport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { Search } from \"lucide-react\";\nimport { humanize, isNotEmpty, noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ModalFooter from \"./Footer\";\nimport { filterAndHighlightContent, highlightMatch, htmlToText } from \"./utils\";\n\nconst toRelativePath = url => {\n const { pathname, search } = new URL(url);\n\n return `${pathname}${search}`;\n};\n\nconst navigateToItem = ({ history, onClose, relativePath }) => {\n onClose?.();\n const currentPath = `${history.location.pathname}${history.location.search}`;\n if (currentPath !== relativePath) {\n history.push(relativePath);\n }\n};\n\nconst handleAnchorClick = event => {\n const isModified =\n event.metaKey || event.ctrlKey || event.shiftKey || event.button !== 0;\n if (isModified) {\n // Let the browser open the href natively (new tab, new window, etc.);\n // don't let cmdk's bubble handler also navigate the current tab.\n event.stopPropagation();\n\n return;\n }\n // Suppress the default browser navigation so cmdk's onSelect (fired via\n // the bubbled click) drives the SPA push exactly once.\n event.preventDefault();\n};\n\nconst FinderModal = ({\n enableAdvancedSearch = true,\n data = {},\n isFetching,\n isOpen,\n searchTerm = \"\",\n setSearchTerm,\n onClose,\n onGoToAdvanced = noop,\n onLoadMore,\n hasMore = false,\n isFetchingMore = false,\n ...props\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [sentinelEl, setSentinelEl] = useState(null);\n const onLoadMoreRef = useRef(onLoadMore || noop);\n\n const categories = Object.keys(data).filter(key => isNotEmpty(data[key]));\n const isDataEmpty = isEmpty(categories);\n\n const handleOpenChange = open => {\n if (!open) onClose?.();\n };\n\n useHotkeys([\"ctrl+enter\", \"command+enter\"], onGoToAdvanced, {\n mode: \"global\",\n enabled: isOpen && enableAdvancedSearch,\n });\n\n useEffect(() => {\n onLoadMoreRef.current = onLoadMore || noop;\n }, [onLoadMore]);\n\n const isPaginationEnabled = Boolean(onLoadMore);\n\n useEffect(() => {\n if (!sentinelEl || !isPaginationEnabled || !hasMore || isFetchingMore) {\n return undefined;\n }\n\n const root = sentinelEl.closest(\".nm-finder-modal__body\");\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) onLoadMoreRef.current();\n },\n { root, rootMargin: \"120px\" }\n );\n observer.observe(sentinelEl);\n\n return () => observer.disconnect();\n }, [sentinelEl, isPaginationEnabled, hasMore, isFetchingMore]);\n\n return (\n <CommandDialog\n {...props}\n className=\"nm-finder-modal !top-1/4 !max-w-[calc(100%-2rem)] sm:!max-w-xl\"\n open={isOpen}\n title={t(\"neetoMolecules.common.actions.search\")}\n onOpenChange={handleOpenChange}\n >\n <Command className=\"!p-0\" shouldFilter={false}>\n <div className=\"border-border flex items-center gap-2 border-b px-3 py-2 [&_[data-slot=command-input-wrapper]]:!p-0\">\n <div className=\"min-w-0 flex-1\">\n <CommandInput\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n value={searchTerm}\n onValueChange={setSearchTerm}\n />\n </div>\n {isFetching && <Spinner size=\"small\" />}\n {enableAdvancedSearch && (\n <button\n className=\"border-border bg-background text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 shrink-0 items-center gap-2 rounded-md border px-2 text-xs whitespace-nowrap transition-colors\"\n type=\"button\"\n onClick={onGoToAdvanced}\n >\n <span>{t(\"neetoMolecules.finderModal.advancedSearch\")}</span>\n <kbd className=\"border-border bg-muted inline-flex h-4 items-center rounded border px-1 font-sans text-[10px] leading-none\">\n ⌘⏎\n </kbd>\n </button>\n )}\n </div>\n <CommandList className=\"nm-finder-modal__body max-h-[min(24rem,55vh)] min-h-[min(12rem,40vh)] p-2\">\n {isDataEmpty && !isFetching && (\n <CommandEmpty className=\"!py-8\">\n <Empty\n description={t(\"neetoMolecules.finderModal.noDataDesc\")}\n icon={Search}\n title={t(\"neetoMolecules.finderModal.noDataTitle\")}\n />\n </CommandEmpty>\n )}\n {categories.map((category, index) => (\n <Fragment key={category}>\n <CommandGroup heading={humanize(category)}>\n {data[category].map(item => {\n const name = htmlToText(item.name);\n const body = htmlToText(item.body);\n const filteredBody = filterAndHighlightContent(\n body,\n searchTerm\n );\n\n const relativePath = toRelativePath(item.url);\n\n return (\n <CommandItem\n className=\"!p-0\"\n key={`${category}-${item.id}`}\n value={`${category}-${item.id}`}\n onSelect={() =>\n navigateToItem({ history, onClose, relativePath })\n }\n >\n <a\n className=\"flex min-w-0 flex-1 flex-col gap-1.5 px-3 py-2.5 no-underline outline-none\"\n href={relativePath}\n onClick={handleAnchorClick}\n >\n {name && (\n <span className=\"text-foreground line-clamp-1 text-sm font-medium\">\n {highlightMatch(name, searchTerm)}\n </span>\n )}\n {body && (\n <span className=\"text-muted-foreground line-clamp-1 text-xs\">\n {filteredBody || body}\n </span>\n )}\n </a>\n </CommandItem>\n );\n })}\n </CommandGroup>\n {index < categories.length - 1 && (\n <CommandSeparator className=\"my-1\" />\n )}\n </Fragment>\n ))}\n {onLoadMore && hasMore && (\n <div\n aria-hidden=\"true\"\n className=\"h-px w-full\"\n data-testid=\"nm-finder-modal-sentinel\"\n ref={setSentinelEl}\n />\n )}\n {isFetchingMore && (\n <div\n className=\"flex items-center justify-center py-3\"\n data-testid=\"nm-finder-modal-loading-more\"\n >\n <Spinner size=\"small\" />\n </div>\n )}\n </CommandList>\n <ModalFooter {...{ enableAdvancedSearch }} />\n </Command>\n </CommandDialog>\n );\n};\n\nFinderModal.propTypes = {\n enableAdvancedSearch: PropTypes.bool,\n data: PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n })\n )\n ),\n isFetching: PropTypes.bool,\n isOpen: PropTypes.bool,\n searchTerm: PropTypes.string,\n setSearchTerm: PropTypes.func,\n onClose: PropTypes.func,\n onGoToAdvanced: PropTypes.func,\n onLoadMore: PropTypes.func,\n hasMore: PropTypes.bool,\n isFetchingMore: PropTypes.bool,\n};\n\nexport default FinderModal;\n"],"names":["ModalFooter","_ref","enableAdvancedSearch","_useTranslation","useTranslation","t","shortcuts","label","keys","isVisible","_jsx","ChevronUp","className","size","ChevronDown","children","filter","prop","map","_ref2","index","_jsxs","key","keyIndex","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","concat","split","part","toLowerCase","filterAndHighlightContent","bodyContent","line","trim","includes","React","Fragment","toRelativePath","url","_URL","URL","pathname","search","navigateToItem","history","onClose","relativePath","currentPath","location","push","handleAnchorClick","event","isModified","metaKey","ctrlKey","shiftKey","button","stopPropagation","preventDefault","FinderModal","_ref2$enableAdvancedS","_ref2$data","data","isFetching","isOpen","_ref2$searchTerm","setSearchTerm","_ref2$onGoToAdvanced","onGoToAdvanced","noop","onLoadMore","_ref2$hasMore","hasMore","_ref2$isFetchingMore","isFetchingMore","props","_objectWithoutProperties","_excluded","useHistory","_useState","useState","_useState2","_slicedToArray","sentinelEl","setSentinelEl","onLoadMoreRef","useRef","categories","Object","isNotEmpty","isDataEmpty","isEmpty","handleOpenChange","open","useHotkeys","mode","enabled","useEffect","current","isPaginationEnabled","Boolean","undefined","root","closest","observer","IntersectionObserver","_ref3","_ref4","entry","isIntersecting","rootMargin","observe","disconnect","CommandDialog","_objectSpread","title","onOpenChange","Command","shouldFilter","CommandInput","placeholder","value","onValueChange","Spinner","type","onClick","CommandList","CommandEmpty","Empty","description","icon","Search","category","CommandGroup","heading","humanize","item","name","body","filteredBody","CommandItem","id","onSelect","href","length","CommandSeparator","ref"],"mappings":"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"}
1
+ {"version":3,"file":"FinderModal.js","sources":["../../../src/v2/components/FinderModal/Footer.jsx","../../../src/v2/components/FinderModal/utils.jsx","../../../src/v2/components/FinderModal/index.jsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ModalFooter = ({ enableAdvancedSearch }) => {\n const { t } = useTranslation();\n\n const shortcuts = [\n {\n label: t(\"neetoMolecules.finderModal.advancedSearch\"),\n keys: [\"Cmd/Ctrl\", \"Return\"],\n isVisible: enableAdvancedSearch,\n },\n {\n label: t(\"neetoMolecules.common.actions.open\"),\n keys: [\"Return\"],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.move\"),\n keys: [\n <ChevronUp className=\"text-muted-foreground\" key=\"up\" size={12} />,\n <ChevronDown className=\"text-muted-foreground\" key=\"down\" size={12} />,\n ],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.close\"),\n keys: [\"Esc\"],\n isVisible: true,\n },\n ];\n\n return (\n <div className=\"border-border bg-muted/40 nm-finder-modal__footer border-t px-4 py-2.5\">\n <div className=\"text-muted-foreground flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs\">\n {shortcuts.filter(prop(\"isVisible\")).map(({ label, keys }, index) => (\n <div className=\"flex items-center gap-1\" key={index}>\n {keys.map((key, keyIndex) => (\n <kbd\n className=\"border-border bg-background text-foreground inline-flex h-4 min-w-4 items-center justify-center rounded border px-1 font-sans text-[10px] leading-none\"\n key={keyIndex}\n >\n {key}\n </kbd>\n ))}\n <span>{label}</span>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default ModalFooter;\n","import React from \"react\";\n\nexport const htmlToText = html => {\n if (!html) return null;\n\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n\nexport const highlightMatch = (text, searchTerm) => {\n if (!searchTerm) return text;\n\n const regex = new RegExp(`(${searchTerm})`, \"gi\");\n\n return text.split(regex).map((part, index) =>\n part?.toLowerCase() === searchTerm.toLowerCase() ? (\n <mark className=\"rounded-sm bg-yellow-200 text-yellow-900\" key={index}>\n {part}\n </mark>\n ) : (\n part\n )\n );\n};\n\nexport const filterAndHighlightContent = (bodyContent, searchTerm) => {\n if (!searchTerm) return bodyContent;\n\n if (!bodyContent) return null;\n\n return bodyContent\n .split(/(.{1,130}(?:\\s|$))/g)\n .filter(line => line.trim())\n .filter(line => line.toLowerCase().includes(searchTerm.toLowerCase()))\n .map((line, index) => (\n <React.Fragment key={index}>\n {highlightMatch(line, searchTerm)}\n <br />\n </React.Fragment>\n ));\n};\n","import { Fragment, useEffect, useRef, useState } from \"react\";\n\nimport { Empty, Spinner } from \"@bigbinary/neeto-atoms\";\nimport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { Search } from \"lucide-react\";\nimport { humanize, isNotEmpty, noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ModalFooter from \"./Footer\";\nimport { filterAndHighlightContent, highlightMatch, htmlToText } from \"./utils\";\n\nconst toRelativePath = url => {\n const { pathname, search } = new URL(url);\n\n return `${pathname}${search}`;\n};\n\nconst navigateToItem = ({ history, onClose, relativePath }) => {\n onClose?.();\n const currentPath = `${history.location.pathname}${history.location.search}`;\n if (currentPath !== relativePath) {\n history.push(relativePath);\n }\n};\n\nconst handleAnchorClick = event => {\n const isModified =\n event.metaKey || event.ctrlKey || event.shiftKey || event.button !== 0;\n if (isModified) {\n // Let the browser open the href natively (new tab, new window, etc.);\n // don't let cmdk's bubble handler also navigate the current tab.\n event.stopPropagation();\n\n return;\n }\n // Suppress the default browser navigation so cmdk's onSelect (fired via\n // the bubbled click) drives the SPA push exactly once.\n event.preventDefault();\n};\n\nconst FinderModal = ({\n enableAdvancedSearch = true,\n data = {},\n isFetching,\n isOpen,\n searchTerm = \"\",\n setSearchTerm,\n onClose,\n onGoToAdvanced = noop,\n onLoadMore,\n hasMore = false,\n isFetchingMore = false,\n ...props\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [sentinelEl, setSentinelEl] = useState(null);\n const onLoadMoreRef = useRef(onLoadMore || noop);\n\n const categories = Object.keys(data).filter(key => isNotEmpty(data[key]));\n const isDataEmpty = isEmpty(categories);\n\n const handleOpenChange = open => {\n if (!open) onClose?.();\n };\n\n useHotkeys([\"ctrl+enter\", \"command+enter\"], onGoToAdvanced, {\n mode: \"global\",\n enabled: isOpen && enableAdvancedSearch,\n });\n\n useEffect(() => {\n onLoadMoreRef.current = onLoadMore || noop;\n }, [onLoadMore]);\n\n const isPaginationEnabled = Boolean(onLoadMore);\n\n useEffect(() => {\n if (!sentinelEl || !isPaginationEnabled || !hasMore || isFetchingMore) {\n return undefined;\n }\n\n const root = sentinelEl.closest(\".nm-finder-modal__body\");\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) onLoadMoreRef.current();\n },\n { root, rootMargin: \"120px\" }\n );\n observer.observe(sentinelEl);\n\n return () => observer.disconnect();\n }, [sentinelEl, isPaginationEnabled, hasMore, isFetchingMore]);\n\n return (\n <CommandDialog\n {...props}\n className=\"nm-finder-modal !top-1/4 !max-w-[calc(100%-2rem)] sm:!max-w-xl\"\n open={isOpen}\n title={t(\"neetoMolecules.common.actions.search\")}\n onOpenChange={handleOpenChange}\n >\n <Command className=\"!p-0\" shouldFilter={false}>\n <div className=\"border-border flex items-center gap-2 border-b px-3 py-2 [&_[data-slot=command-input-wrapper]]:!p-0\">\n <div className=\"min-w-0 flex-1\">\n <CommandInput\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n value={searchTerm}\n onValueChange={setSearchTerm}\n />\n </div>\n {isFetching && <Spinner size=\"small\" />}\n {enableAdvancedSearch && (\n <button\n className=\"border-border bg-background text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 shrink-0 items-center gap-2 rounded-md border px-2 text-xs whitespace-nowrap transition-colors\"\n type=\"button\"\n onClick={onGoToAdvanced}\n >\n <span>{t(\"neetoMolecules.finderModal.advancedSearch\")}</span>\n <kbd className=\"border-border bg-muted inline-flex h-4 items-center rounded border px-1 font-sans text-[10px] leading-none\">\n ⌘⏎\n </kbd>\n </button>\n )}\n </div>\n <CommandList className=\"nm-finder-modal__body max-h-[min(24rem,55vh)] min-h-[min(12rem,40vh)] p-2\">\n {isDataEmpty && !isFetching && (\n <CommandEmpty className=\"!py-8\">\n <Empty\n description={t(\"neetoMolecules.finderModal.noDataDesc\")}\n icon={Search}\n title={t(\"neetoMolecules.finderModal.noDataTitle\")}\n />\n </CommandEmpty>\n )}\n {categories.map((category, index) => (\n <Fragment key={category}>\n <CommandGroup heading={humanize(category)}>\n {data[category].map(item => {\n const name = htmlToText(item.name);\n const body = htmlToText(item.body);\n const filteredBody = filterAndHighlightContent(\n body,\n searchTerm\n );\n\n const relativePath = toRelativePath(item.url);\n\n return (\n <CommandItem\n className=\"!p-0\"\n key={`${category}-${item.id}`}\n value={`${category}-${item.id}`}\n onSelect={() =>\n navigateToItem({ history, onClose, relativePath })\n }\n >\n <a\n className=\"flex min-w-0 flex-1 flex-col gap-1.5 px-3 py-2.5 no-underline outline-none\"\n href={relativePath}\n onClick={handleAnchorClick}\n >\n {name && (\n <span className=\"text-foreground line-clamp-1 text-sm font-medium\">\n {highlightMatch(name, searchTerm)}\n </span>\n )}\n {body && (\n <span className=\"text-muted-foreground line-clamp-1 text-xs\">\n {filteredBody || body}\n </span>\n )}\n </a>\n </CommandItem>\n );\n })}\n </CommandGroup>\n {index < categories.length - 1 && (\n <CommandSeparator className=\"my-1\" />\n )}\n </Fragment>\n ))}\n {onLoadMore && hasMore && (\n <div\n aria-hidden=\"true\"\n className=\"h-px w-full\"\n data-testid=\"neeto-molecules-finder-modal-sentinel\"\n ref={setSentinelEl}\n />\n )}\n {isFetchingMore && (\n <div\n className=\"flex items-center justify-center py-3\"\n data-testid=\"neeto-molecules-finder-modal-loading-more\"\n >\n <Spinner size=\"small\" />\n </div>\n )}\n </CommandList>\n <ModalFooter {...{ enableAdvancedSearch }} />\n </Command>\n </CommandDialog>\n );\n};\n\nFinderModal.propTypes = {\n enableAdvancedSearch: PropTypes.bool,\n data: PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n })\n )\n ),\n isFetching: PropTypes.bool,\n isOpen: PropTypes.bool,\n searchTerm: PropTypes.string,\n setSearchTerm: PropTypes.func,\n onClose: PropTypes.func,\n onGoToAdvanced: PropTypes.func,\n onLoadMore: PropTypes.func,\n hasMore: PropTypes.bool,\n isFetchingMore: PropTypes.bool,\n};\n\nexport default FinderModal;\n"],"names":["ModalFooter","_ref","enableAdvancedSearch","_useTranslation","useTranslation","t","shortcuts","label","keys","isVisible","_jsx","ChevronUp","className","size","ChevronDown","children","filter","prop","map","_ref2","index","_jsxs","key","keyIndex","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","concat","split","part","toLowerCase","filterAndHighlightContent","bodyContent","line","trim","includes","React","Fragment","toRelativePath","url","_URL","URL","pathname","search","navigateToItem","history","onClose","relativePath","currentPath","location","push","handleAnchorClick","event","isModified","metaKey","ctrlKey","shiftKey","button","stopPropagation","preventDefault","FinderModal","_ref2$enableAdvancedS","_ref2$data","data","isFetching","isOpen","_ref2$searchTerm","setSearchTerm","_ref2$onGoToAdvanced","onGoToAdvanced","noop","onLoadMore","_ref2$hasMore","hasMore","_ref2$isFetchingMore","isFetchingMore","props","_objectWithoutProperties","_excluded","useHistory","_useState","useState","_useState2","_slicedToArray","sentinelEl","setSentinelEl","onLoadMoreRef","useRef","categories","Object","isNotEmpty","isDataEmpty","isEmpty","handleOpenChange","open","useHotkeys","mode","enabled","useEffect","current","isPaginationEnabled","Boolean","undefined","root","closest","observer","IntersectionObserver","_ref3","_ref4","entry","isIntersecting","rootMargin","observe","disconnect","CommandDialog","_objectSpread","title","onOpenChange","Command","shouldFilter","CommandInput","placeholder","value","onValueChange","Spinner","type","onClick","CommandList","CommandEmpty","Empty","description","icon","Search","category","CommandGroup","heading","humanize","item","name","body","filteredBody","CommandItem","id","onSelect","href","length","CommandSeparator","ref"],"mappings":"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"}
@@ -164,6 +164,7 @@ var HotKey$1 = function HotKey(_ref3) {
164
164
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
165
165
  as: "span",
166
166
  className: "min-w-0 flex-grow break-words",
167
+ "data-testid": "hotkey-description",
167
168
  children: description
168
169
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
169
170
  className: "flex flex-shrink-0 items-center gap-1",