@bigbinary/neeto-molecules 3.9.6 → 3.9.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sources":["../../src/components/Builder/constants.js","../../src/components/Builder/Body.jsx","../../src/components/Builder/DragIcon.jsx","../../src/components/Builder/ElementsPanel/ElementsList/Element.jsx","../../src/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../../src/components/Builder/ElementsPanel/ElementsList/Section.jsx","../../src/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../../src/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../../src/components/Builder/ElementsPanel/ElementsList/index.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../../src/components/Builder/ElementsPanel/index.jsx","../../src/components/Builder/PropertiesPanel/EmptyProperty.jsx","../../src/components/Builder/PropertiesPanel/Skeleton.jsx","../../src/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["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 classnames from \"classnames\";\n\nimport \"./styles.scss\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"neeto-molecules-builder-questions-list-panel__scroll\",\n {\n \"neeto-molecules-builder-questions-list-panel__scroll--small\":\n size === \"small\",\n }\n )}\n />\n);\n\nexport default Body;\n","const DragIcon = ({ size = 16, ...otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"M360-160q-33 0-56.5-23.5T280-240q0-33 23.5-56.5T360-320q33 0 56.5 23.5T440-240q0 33-23.5 56.5T360-160zm240 0q-33 0-56.5-23.5T520-240q0-33 23.5-56.5T600-320q33 0 56.5 23.5T680-240q0 33-23.5 56.5T600-160zM360-400q-33 0-56.5-23.5T280-480q0-33 23.5-56.5T360-560q33 0 56.5 23.5T440-480q0 33-23.5 56.5T360-400zm240 0q-33 0-56.5-23.5T520-480q0-33 23.5-56.5T600-560q33 0 56.5 23.5T680-480q0 33-23.5 56.5T600-400zM360-640q-33 0-56.5-23.5T280-720q0-33 23.5-56.5T360-800q33 0 56.5 23.5T440-720q0 33-23.5 56.5T360-640zm240 0q-33 0-56.5-23.5T520-720q0-33 23.5-56.5T600-800q33 0 56.5 23.5T680-720q0 33-23.5 56.5T600-640z\" />\n </svg>\n);\n\nexport default DragIcon;\n","import classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport DragIcon from \"components/Builder/DragIcon\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst Element = ({\n label,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n isPrimaryPanel,\n}) => {\n const handleClick = event => {\n if (!isCreatable || isAddingNewElement) {\n event.preventDefault();\n\n return;\n }\n\n onClick(event);\n !isPrimaryPanel && setVisiblePanel(PANEL_TYPES.SUMMARY);\n };\n\n return (\n <Tooltip\n content={disabledElementTooltip?.(label)}\n disabled={!disabledElementTooltip || isCreatable || isDraggingOver}\n position=\"top\"\n touch={[\"hold\", 500]}\n >\n <div\n data-cy={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex h-10 items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-bg-gray-300 cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n }\n )}\n onClick={handleClick}\n >\n {!isDragDisabled && (\n <span className=\"absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab\">\n <DragIcon size={16} />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && <Icon data-cy=\"form-icon\" />}\n <Typography className=\"leading-4\" style=\"body2\">\n {label}\n </Typography>\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 isPrimaryPanel,\n}) => {\n const isCreatableElement = isCreatable(element.value);\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n isPrimaryPanel,\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 isPrimaryPanel,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{\n ...element,\n isAddingNewElement,\n isPrimaryPanel,\n setVisiblePanel,\n }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"neetoui\";\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 isPrimaryPanel,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && (\n <Typography className=\"py-3\" style=\"h6\" textTransform=\"uppercase\">\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 isPrimaryPanel,\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\";\n\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 isPrimaryPanel,\n}) => {\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n isPrimaryPanel,\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 isPrimaryPanel,\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 { withT } from \"neetocommons/react-utils\";\nimport { Button, Typography } from \"neetoui\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(\n ({ t, setVisiblePanel, isSelectedElementsEmpty, isPrimaryPanel }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-4\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n data-cy=\"elements-list-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n {!isSelectedElementsEmpty && (\n <Button\n data-cy=\"cancel-button\"\n size=\"small\"\n style=\"secondary\"\n label={\n isPrimaryPanel\n ? t(\"neetoMolecules.builderSidebar.summary\")\n : t(\"neetoMolecules.common.actions.cancel\")\n }\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\n />\n )}\n </div>\n )\n);\n\nexport default TitleBar;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Search } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nconst ElementList = ({\n setVisiblePanel,\n elementSections = [],\n onSelect,\n isSelectedElementsEmpty,\n isDragElementsDisabled,\n isPrimaryPanel,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(element =>\n element.label.toLowerCase().includes(searchString.toLowerCase())\n )\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\n {...{ isPrimaryPanel, isSelectedElementsEmpty, setVisiblePanel }}\n />\n <div className=\"mb-2 px-6\">\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<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 isPrimaryPanel,\n onSelect,\n setVisiblePanel,\n }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, findById, isNotEmpty, hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport DragIcon from \"../../DragIcon\";\n\nconst SelectedElement = ({\n element,\n isActive,\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 \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex h-10 cursor-pointer items-center gap-2 border py-3 pl-4 pr-3 transition-all duration-300 ease-in-out\",\n { \"neeto-molecules-builder-element--active\": isActive },\n { \"hover:neeto-ui-bg-error-100 neeto-ui-bg-error-100\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span className=\"absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab\">\n <DragIcon size={16} />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-cy=\"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-cy={`${hyphenate(element.label, \"new-element\")}-label`}\n style=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n isDisabled={element.isPending}\n dropdownButtonProps={{\n onClick: e => e.stopPropagation(),\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n \"data-cy\": `${hyphenate(\n element.label,\n \"new-element\"\n )}-more-dropdown`,\n loading: element.isPending,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { PLURAL } from \"neetocommons/constants\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Flash } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(\n ({\n t,\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n isPrimaryPanel,\n }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-4\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n data-cy=\"elements-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between space-x-2\">\n <Button\n data-cy=\"add-element-button\"\n data-testid=\"add-element-button\"\n disabled={isLoading}\n loading={isAddingNewElement}\n size=\"small\"\n style=\"secondary\"\n label={\n isPrimaryPanel\n ? t(\"neetoMolecules.builderSidebar.addNewElement\")\n : t(\"neetoMolecules.common.actions.close\")\n }\n onClick={() => setVisiblePanel(PANEL_TYPES.ELEMENTS)}\n />\n {showElementsFillButton && (\n <Button\n data-cy=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Flash}\n loading={isAddingAllElements}\n size=\"small\"\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n touch: [\"hold\", 500],\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n )\n);\n\nexport default TitleBar;\n","import { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\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 isPrimaryPanel,\n fixedLastElement,\n fixedFirstElement,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{ element, handleSelectElement, index }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-cy={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n data-testid={`welcome-record${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n isAddingAllElements,\n isAddingNewElement,\n isPrimaryPanel,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\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?.map((element, index) => {\n const isVisible = isElementVisible?.(element) ?? true;\n\n if (!isVisible) return null;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.id ?? `element-${index}`}\n isDragDisabled={isReorderDisabled}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{ element, handleSelectElement }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isReorderDisabled}\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 {...{ handleSelectElement }}\n isSelectable\n actions={fixedLastElement.actions}\n data-cy=\"submit-button-element\"\n data-testid=\"submit-button-record\"\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 classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport { PANEL_TYPES } from \"../constants\";\nimport \"../styles.scss\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement = [],\n fixedLastElement,\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 primaryPanel = PANEL_TYPES.ELEMENTS,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(primaryPanel);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-elements-list-panel__wrapper\",\n {\n \"neeto-molecules-builder-elements-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n }\n )}\n >\n <div className=\"neeto-molecules-builder-elements-list-panel__container\">\n <div\n className=\"neeto-molecules-builder-elements-list-panel neeto-ui-bg-white\"\n onClick={event => event.stopPropagation()}\n >\n {visiblePanel === PANEL_TYPES.SUMMARY ? (\n <SelectedElementsList\n {...{\n addAllElements,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n selectedElementActions,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n showElementsFillButton,\n }}\n isPrimaryPanel={primaryPanel === PANEL_TYPES.SUMMARY}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n isPrimaryPanel={primaryPanel === PANEL_TYPES.ELEMENTS}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-builder-elements-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\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 ),\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 * 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 set the summary panel or elements panel as the primary panel.\n * The primary panel will be the panel that's visible by default and\n * sets the button labels and title based on the set primary panel.\n * The default value is `elements`.\n */\n primaryPanel: PropTypes.oneOf(Object.values(PANEL_TYPES)),\n};\n\nexport default ElementsPanel;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { Typography } from \"neetoui\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"space-y-4 pb-6 pr-6\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-cy=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { DownArrow } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"space-y-4 pb-6 pr-6\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-12 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-cy=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <DownArrow />\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nimport \"../styles.scss\";\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] = useState(\n !isLargerScreen\n );\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=\"neeto-molecules-builder-panel__backdrop neeto-molecules-builder-panel__backdrop--extended\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-element-properties-panel__wrapper\",\n {\n \"neeto-molecules-builder-element-properties-panel__wrapper--collapsed\":\n isPropertiesPanelCollapsed,\n }\n )}\n >\n <div\n className=\"neeto-molecules-builder-element-properties-panel neeto-ui-bg-white\"\n data-cy=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"neeto-molecules-builder-properties-panel__close\"\n icon={Close}\n style=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["PANEL_TYPES","SUMMARY","ELEMENTS","SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","Body","_ref","size","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","classnames","DragIcon","_ref$size","otherProps","fill","height","viewBox","width","xmlns","children","d","Element","label","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","isAddingNewElement","setVisiblePanel","isPrimaryPanel","handleClick","event","preventDefault","Tooltip","content","disabled","position","touch","_jsxs","concat","joinHyphenCase","Typography","style","ElementContainer","index","element","onSelect","isCreatableElement","value","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","textTransform","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","withT","t","isSelectedElementsEmpty","lineHeight","weight","Button","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","filter","toLowerCase","includes","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","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","memo","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","PLURAL","Flash","tooltipProps","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","selectedElementActions","renderSelectedElement","arguments","length","undefined","Array","isArray","_ref2","droppableProps","_isElementVisible","_element$id","_element$id2","isVisible","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$fixedFirstElemen","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","_ref$primaryPanel","primaryPanel","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","Collapse","EmptyProperty","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel","Close"],"mappings":"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"}
1
+ {"version":3,"file":"Builder.js","sources":["../../src/components/Builder/constants.js","../../src/components/Builder/Body.jsx","../../src/components/Builder/DragIcon.jsx","../../src/components/Builder/ElementsPanel/ElementsList/Element.jsx","../../src/components/Builder/ElementsPanel/ElementsList/ElementContainer.jsx","../../src/components/Builder/ElementsPanel/ElementsList/Section.jsx","../../src/components/Builder/ElementsPanel/ElementsList/SectionsContainer.jsx","../../src/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../../src/components/Builder/ElementsPanel/ElementsList/index.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/SelectedElement.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/TitleBar.jsx","../../src/components/Builder/ElementsPanel/SelectedElementsList/index.jsx","../../src/components/Builder/ElementsPanel/index.jsx","../../src/components/Builder/PropertiesPanel/EmptyProperty.jsx","../../src/components/Builder/PropertiesPanel/Skeleton.jsx","../../src/components/Builder/PropertiesPanel/index.jsx"],"sourcesContent":["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 classnames from \"classnames\";\n\nimport \"./styles.scss\";\n\nconst Body = ({ size, ...props }) => (\n <div\n {...props}\n className={classnames(\n \"neeto-molecules-builder-questions-list-panel__scroll\",\n {\n \"neeto-molecules-builder-questions-list-panel__scroll--small\":\n size === \"small\",\n }\n )}\n />\n);\n\nexport default Body;\n","const DragIcon = ({ size = 16, ...otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"M360-160q-33 0-56.5-23.5T280-240q0-33 23.5-56.5T360-320q33 0 56.5 23.5T440-240q0 33-23.5 56.5T360-160zm240 0q-33 0-56.5-23.5T520-240q0-33 23.5-56.5T600-320q33 0 56.5 23.5T680-240q0 33-23.5 56.5T600-160zM360-400q-33 0-56.5-23.5T280-480q0-33 23.5-56.5T360-560q33 0 56.5 23.5T440-480q0 33-23.5 56.5T360-400zm240 0q-33 0-56.5-23.5T520-480q0-33 23.5-56.5T600-560q33 0 56.5 23.5T680-480q0 33-23.5 56.5T600-400zM360-640q-33 0-56.5-23.5T280-720q0-33 23.5-56.5T360-800q33 0 56.5 23.5T440-720q0 33-23.5 56.5T360-640zm240 0q-33 0-56.5-23.5T520-720q0-33 23.5-56.5T600-800q33 0 56.5 23.5T680-720q0 33-23.5 56.5T600-640z\" />\n </svg>\n);\n\nexport default DragIcon;\n","import classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport DragIcon from \"components/Builder/DragIcon\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst Element = ({\n label,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n isDraggingOver,\n isAddingNewElement,\n setVisiblePanel,\n isPrimaryPanel,\n}) => {\n const handleClick = event => {\n if (!isCreatable || isAddingNewElement) {\n event.preventDefault();\n\n return;\n }\n\n onClick(event);\n !isPrimaryPanel && setVisiblePanel(PANEL_TYPES.SUMMARY);\n };\n\n return (\n <Tooltip\n content={disabledElementTooltip?.(label)}\n disabled={!disabledElementTooltip || isCreatable || isDraggingOver}\n position=\"top\"\n touch={[\"hold\", 500]}\n >\n <div\n data-cy={`add-${joinHyphenCase(label)}-element`}\n className={classnames(\n \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex h-10 items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-bg-gray-300 cursor-not-allowed\": !isCreatable,\n \"cursor-pointer\": isCreatable,\n \"opacity-50\": isPlaceholder,\n }\n )}\n onClick={handleClick}\n >\n {!isDragDisabled && (\n <span className=\"absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab\">\n <DragIcon size={16} />\n </span>\n )}\n <div className=\"flex flex-grow items-center gap-2\">\n {Icon && <Icon data-cy=\"form-icon\" />}\n <Typography className=\"leading-4\" style=\"body2\">\n {label}\n </Typography>\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 isPrimaryPanel,\n}) => {\n const isCreatableElement = isCreatable(element.value);\n\n if (isDragDisabled) {\n return (\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isAddingNewElement,\n isDragDisabled,\n isPrimaryPanel,\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 isPrimaryPanel,\n setVisiblePanel,\n }}\n isCreatable={isCreatableElement}\n onClick={() => onSelect(element)}\n />\n </div>\n {snapshot.isDragging && (\n <Element\n disabledElementTooltip={null}\n {...{\n ...element,\n isAddingNewElement,\n isPrimaryPanel,\n setVisiblePanel,\n }}\n isCreatable={false}\n onClick={noop}\n />\n )}\n </>\n )}\n </Draggable>\n );\n};\n\nexport default ElementContainer;\n","import { Typography } from \"neetoui\";\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 isPrimaryPanel,\n}) => {\n if (isEmpty(elements)) {\n return null;\n }\n\n return (\n <>\n {title && (\n <Typography className=\"py-3\" style=\"h6\" textTransform=\"uppercase\">\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 isPrimaryPanel,\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\";\n\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 isPrimaryPanel,\n}) => {\n if (isDragElementsDisabled) {\n return (\n <>\n {filteredSections.map(section => (\n <Section\n {...{\n isAddingNewElement,\n isDragElementsDisabled,\n isPrimaryPanel,\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 isPrimaryPanel,\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 { withT } from \"neetocommons/react-utils\";\nimport { Button, Typography } from \"neetoui\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(\n ({ t, setVisiblePanel, isSelectedElementsEmpty, isPrimaryPanel }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-4\"\n data-testid=\"elements-panel-title\"\n >\n <Typography\n data-cy=\"elements-list-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.addNewElement\")}\n </Typography>\n {!isSelectedElementsEmpty && (\n <Button\n data-cy=\"cancel-button\"\n size=\"small\"\n style=\"secondary\"\n label={\n isPrimaryPanel\n ? t(\"neetoMolecules.builderSidebar.summary\")\n : t(\"neetoMolecules.common.actions.cancel\")\n }\n onClick={() => setVisiblePanel(PANEL_TYPES.SUMMARY)}\n />\n )}\n </div>\n )\n);\n\nexport default TitleBar;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Search } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SectionsContainer from \"./SectionsContainer\";\nimport TitleBar from \"./TitleBar\";\n\nconst ElementList = ({\n setVisiblePanel,\n elementSections = [],\n onSelect,\n isSelectedElementsEmpty,\n isDragElementsDisabled,\n isPrimaryPanel,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(() => {\n let elementIndex = 0;\n\n return elementSections\n .map(section => ({\n ...section,\n elements: section.elements\n .filter(element =>\n element.label.toLowerCase().includes(searchString.toLowerCase())\n )\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\n {...{ isPrimaryPanel, isSelectedElementsEmpty, setVisiblePanel }}\n />\n <div className=\"mb-2 px-6\">\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoMolecules.builderSidebar.searchElements\")}\n prefix={<Search />}\n value={searchString}\n onChange={withEventTargetValue(setSearchString)}\n />\n </div>\n <Body\n data-cy=\"elements-container\"\n data-testid=\"elements-container\"\n size=\"small\"\n >\n <SectionsContainer\n {...{\n filteredSections,\n isAddingNewElement,\n isDragElementsDisabled,\n isPrimaryPanel,\n onSelect,\n setVisiblePanel,\n }}\n />\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import { memo, useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, findById, isNotEmpty, hyphenate } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport DragIcon from \"../../DragIcon\";\n\nconst SelectedElement = ({\n element,\n isActive,\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 \"neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative mb-2 flex h-10 cursor-pointer items-center gap-2 border py-3 pl-4 pr-3 transition-all duration-300 ease-in-out\",\n { \"neeto-molecules-builder-element--active\": isActive },\n { \"hover:neeto-ui-bg-error-100 neeto-ui-bg-error-100\": error }\n )}\n onClick={isSelectable ? onClick : noop}\n >\n {isDraggable && (\n <span className=\"absolute right-full top-1/2 flex-shrink-0 -translate-y-1/2 cursor-grab\">\n <DragIcon size={16} />\n </span>\n )}\n <div\n className=\"flex flex-grow items-center gap-2 overflow-hidden\"\n data-cy=\"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-cy={`${hyphenate(element.label, \"new-element\")}-label`}\n style=\"body2\"\n >\n {element.label}\n </Typography>\n </div>\n {shouldShowDropdown && (\n <MoreDropdown\n {...{ menuItems }}\n isDisabled={element.isPending}\n dropdownButtonProps={{\n onClick: e => e.stopPropagation(),\n className: \"min-h-0 flex-shrink-0\",\n \"data-testid\": `${hyphenate(element.label)}-more-dropdown`,\n \"data-cy\": `${hyphenate(\n element.label,\n \"new-element\"\n )}-more-dropdown`,\n loading: element.isPending,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default memo(SelectedElement);\n","import { PLURAL } from \"neetocommons/constants\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Flash } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport { PANEL_TYPES } from \"../../constants\";\n\nconst TitleBar = withT(\n ({\n t,\n setVisiblePanel,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n isPrimaryPanel,\n }) => (\n <div\n className=\"flex items-center justify-between p-6 pb-4\"\n data-testid=\"selected-elements-title\"\n >\n <Typography\n data-cy=\"elements-title\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.builderSidebar.element\", PLURAL)}\n </Typography>\n <div className=\"flex items-center justify-between space-x-2\">\n <Button\n data-cy=\"add-element-button\"\n data-testid=\"add-element-button\"\n disabled={isLoading}\n loading={isAddingNewElement}\n size=\"small\"\n style=\"secondary\"\n label={\n isPrimaryPanel\n ? t(\"neetoMolecules.builderSidebar.addNewElement\")\n : t(\"neetoMolecules.common.actions.close\")\n }\n onClick={() => setVisiblePanel(PANEL_TYPES.ELEMENTS)}\n />\n {showElementsFillButton && (\n <Button\n data-cy=\"add-all-elements-button\"\n disabled={isAddingAllElements}\n icon={Flash}\n loading={isAddingAllElements}\n size=\"small\"\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoMolecules.builderSidebar.addAllElements\"),\n touch: [\"hold\", 500],\n }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n )\n);\n\nexport default TitleBar;\n","import { Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\n\nimport Body from \"components/Builder/Body\";\n\nimport SelectedElement from \"./SelectedElement\";\nimport TitleBar from \"./TitleBar\";\n\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 isPrimaryPanel,\n fixedLastElement,\n fixedFirstElement,\n selectedElementActions,\n addAllElements,\n isAddingAllElements,\n showElementsFillButton,\n isAddingNewElement,\n}) => {\n const renderSelectedElement = (element, index = 0) => (\n <SelectedElement\n {...{ element, handleSelectElement, index }}\n isSelectable\n actions={element.actions}\n isActive={selectedElementId === element.id}\n key={element.id || index}\n data-cy={`welcome-element${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n data-testid={`welcome-record${\n Array.isArray(fixedFirstElement) ? `-${index + 1}` : \"\"\n }`}\n />\n );\n\n return (\n <>\n <TitleBar\n {...{\n addAllElements,\n isAddingAllElements,\n isAddingNewElement,\n isPrimaryPanel,\n setVisiblePanel,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\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?.map((element, index) => {\n const isVisible = isElementVisible?.(element) ?? true;\n\n if (!isVisible) return null;\n\n const key =\n element.id ?? `element-${joinHyphenCase(element.label)}`;\n\n return (\n <Draggable\n {...{ index }}\n draggableId={element.id ?? `element-${index}`}\n isDragDisabled={isReorderDisabled}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{ element, handleSelectElement }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isReorderDisabled}\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 {...{ handleSelectElement }}\n isSelectable\n actions={fixedLastElement.actions}\n data-cy=\"submit-button-element\"\n data-testid=\"submit-button-record\"\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 classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport { PANEL_TYPES } from \"../constants\";\nimport \"../styles.scss\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement = [],\n fixedLastElement,\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 primaryPanel = PANEL_TYPES.ELEMENTS,\n}) => {\n const [visiblePanel, setVisiblePanel] = useState(primaryPanel);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n useEffect(() => {\n setIsElementsPanelCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n return (\n <>\n {!isElementsPanelCollapsed && (\n <div\n className=\"neeto-molecules-builder-panel__backdrop\"\n onClick={() => {\n setIsElementsPanelCollapsed(!isElementsPanelCollapsed);\n }}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-elements-list-panel__wrapper\",\n {\n \"neeto-molecules-builder-elements-list-panel__wrapper--collapsed\":\n isElementsPanelCollapsed,\n }\n )}\n >\n <div className=\"neeto-molecules-builder-elements-list-panel__container\">\n <div\n className=\"neeto-molecules-builder-elements-list-panel neeto-ui-bg-white\"\n onClick={event => event.stopPropagation()}\n >\n {visiblePanel === PANEL_TYPES.SUMMARY ? (\n <SelectedElementsList\n {...{\n addAllElements,\n fixedFirstElement,\n fixedLastElement,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isElementVisible,\n isReorderDisabled,\n selectedElementActions,\n selectedElementId,\n selectedElements,\n setVisiblePanel,\n showElementsFillButton,\n }}\n isPrimaryPanel={primaryPanel === PANEL_TYPES.SUMMARY}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isAddingNewElement,\n isDragElementsDisabled,\n setVisiblePanel,\n }}\n isPrimaryPanel={primaryPanel === PANEL_TYPES.ELEMENTS}\n onSelect={handleAddElement}\n />\n )}\n </div>\n </div>\n <Button\n className=\"neeto-molecules-builder-elements-list-panel__toggler\"\n icon={Collapse}\n style=\"secondary\"\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 ),\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 * 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 set the summary panel or elements panel as the primary panel.\n * The primary panel will be the panel that's visible by default and\n * sets the button labels and title based on the set primary panel.\n * The default value is `elements`.\n */\n primaryPanel: PropTypes.oneOf(Object.values(PANEL_TYPES)),\n};\n\nexport default ElementsPanel;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { Typography } from \"neetoui\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"space-y-4 pb-6 pr-6\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-cy=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.noQuestionProperties\")}\n </Typography>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default EmptyProperty;\n","import withT from \"neetocommons/react-utils/withT\";\nimport { DownArrow } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nconst Skeleton = withT(({ t }) => (\n <div className=\"space-y-4 pb-6 pr-6\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-12 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-text-gray-600 neeto-ui-rounded-lg flex w-full flex-col items-center justify-center space-y-2 px-16 py-8\">\n <Typography\n className=\"text-center\"\n data-cy=\"build-page-text-label\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.builderSidebar.emptyQuestionProperties\")}\n </Typography>\n <DownArrow />\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-40 w-full\" />\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-72 w-full\" />\n </div>\n));\n\nexport default Skeleton;\n","import { useEffect, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nimport \"../styles.scss\";\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] = useState(\n !isLargerScreen\n );\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=\"neeto-molecules-builder-panel__backdrop neeto-molecules-builder-panel__backdrop--extended\"\n onClick={handleCollapsePanel}\n />\n )}\n <div\n className={classnames(\n \"neeto-molecules-builder-element-properties-panel__wrapper\",\n {\n \"neeto-molecules-builder-element-properties-panel__wrapper--collapsed\":\n isPropertiesPanelCollapsed,\n }\n )}\n >\n <div\n className=\"neeto-molecules-builder-element-properties-panel neeto-ui-bg-white\"\n data-cy=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n {!isPropertiesPanelCollapsed && (\n <Button\n className=\"neeto-molecules-builder-properties-panel__close\"\n icon={Close}\n style=\"secondary\"\n onClick={handleCollapsePanel}\n />\n )}\n </div>\n </>\n );\n};\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["PANEL_TYPES","SUMMARY","ELEMENTS","SELECTED_ELEMENTS_LIST_DROPPABLE_ID","ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","DROPPABLE_TYPES","ELEMENT","SELECTED_ELEMENT","Body","_ref","size","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","classnames","DragIcon","_ref$size","otherProps","fill","height","viewBox","width","xmlns","children","d","Element","label","Icon","icon","_ref$isCreatable","isCreatable","onClick","_ref$isDragDisabled","isDragDisabled","disabledElementTooltip","isPlaceholder","isDraggingOver","isAddingNewElement","setVisiblePanel","isPrimaryPanel","handleClick","event","preventDefault","Tooltip","content","disabled","position","touch","_jsxs","concat","joinHyphenCase","Typography","style","ElementContainer","index","element","onSelect","isCreatableElement","value","_createElement","Draggable","draggableId","key","provided","snapshot","_Fragment","ref","innerRef","draggableProps","dragHandleProps","isDragging","transform","noop","Section","title","elements","isDragElementsDisabled","isEmpty","textTransform","map","elementIndex","SectionsContainer","filteredSections","section","Droppable","droppableId","type","TitleBar","withT","t","isSelectedElementsEmpty","lineHeight","weight","Button","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","useMemo","filter","toLowerCase","includes","assoc","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","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","memo","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","PLURAL","Flash","tooltipProps","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","selectedElementActions","renderSelectedElement","arguments","length","undefined","Array","isArray","_ref2","droppableProps","_isElementVisible","_element$id","_element$id2","isVisible","_ref3","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$fixedFirstElemen","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","_ref$primaryPanel","primaryPanel","visiblePanel","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","Collapse","EmptyProperty","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel","Close"],"mappings":"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"}
@@ -13,7 +13,7 @@ var reactI18next = require('react-i18next');
13
13
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
14
14
  var Delete = require('@bigbinary/neeto-icons/Delete');
15
15
  var Edit = require('@bigbinary/neeto-icons/Edit');
16
- var Reorder = require('@bigbinary/neeto-icons/Reorder');
16
+ var Drag = require('@bigbinary/neeto-icons/Drag');
17
17
  var jsxRuntime = require('react/jsx-runtime');
18
18
  var Modal = require('@bigbinary/neetoui/Modal');
19
19
  var Textarea = require('@bigbinary/neetoui/Textarea');
@@ -26,12 +26,12 @@ function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
26
26
  function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27
27
  var DragHandle = function DragHandle(props) {
28
28
  return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$4(_objectSpread$4({
29
- className: "neeto-ui-text-gray-400 absolute bottom-0 left-0 top-0 my-auto -ml-6 h-6 cursor-grab opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100",
29
+ className: "neeto-ui-text-gray-500 flex h-8 flex-shrink-0 cursor-grab items-center",
30
30
  "data-cy": "drag-handle",
31
31
  "data-testid": "drag-handle"
32
32
  }, props), {}, {
33
- children: /*#__PURE__*/jsxRuntime.jsx(Reorder, {
34
- size: 24,
33
+ children: /*#__PURE__*/jsxRuntime.jsx(Drag, {
34
+ size: 16,
35
35
  strokeWidth: 2
36
36
  })
37
37
  }));
@@ -332,7 +332,7 @@ var InputOption = function InputOption(_ref) {
332
332
  }, _objectSpread$1(_objectSpread$1({}, draggableProps), dragHandleProps)), {}, {
333
333
  "data-cy": "form-block-options",
334
334
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
335
- className: "nf-input-options group relative mb-2 flex items-center gap-2",
335
+ className: "nf-input-options group relative mb-2 flex items-start gap-1",
336
336
  children: [/*#__PURE__*/jsxRuntime.jsx(DragHandle, _objectSpread$1({}, dragHandleProps)), isPictureChoice && /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
337
337
  children: index === 0 ? /*#__PURE__*/jsxRuntime.jsx("img", {
338
338
  className: "neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover",
@@ -1 +1 @@
1
- {"version":3,"file":"OptionFields.js","sources":["../../src/components/OptionFields/DragHandle.jsx","../../src/components/OptionFields/BlockOption.jsx","../../src/components/OptionFields/BulkOptionModal.jsx","../../src/components/OptionFields/constants.js","../../src/components/OptionFields/utils.js","../../src/components/OptionFields/hooks/useOptionFields.js","../../src/components/OptionFields/InputOption.jsx","../../src/components/OptionFields/index.jsx"],"sourcesContent":["import { Reorder } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-400 absolute bottom-0 left-0 top-0 my-auto -ml-6 h-6 cursor-grab opacity-0 transition-opacity duration-300 ease-in-out group-hover:opacity-100\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Reorder size={24} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n index,\n onEdit,\n handleDeleteClick,\n id,\n }) => (\n <div ref={innerRef} {...draggableProps} {...dragHandleProps}>\n <div\n className=\"neeto-ui-border-gray-400 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-sm shadow-xs group relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-colors duration-300 ease-in-out\"\n data-cy=\"address-field-block\"\n >\n <DragHandle {...dragHandleProps} />\n <Typography\n className=\"flex-grow leading-4\"\n data-cy=\"address-text-field\"\n data-testid=\"address-text-field\"\n style=\"body2\"\n >\n {label}\n </Typography>\n <div className=\"flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100\">\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-edit-button\"\n data-testid=\"address-field-edit-button\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.edit\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onEdit(index)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid=\"address-field-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => handleDeleteClick({ index, id })}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","import { useState } from \"react\";\n\nimport { Button, Modal, Textarea, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst BulkOptionModal = ({\n isOpen,\n onClose,\n handleBulkAdd,\n bulkAddHelpDocUrl,\n}) => {\n const { t } = useTranslation();\n const [optionsString, setOptionsString] = useState(\"\");\n\n const handleSave = () => {\n handleBulkAdd(optionsString);\n handleClose();\n };\n\n const handleClose = () => {\n setOptionsString(\"\");\n onClose();\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h3\">\n {t(\"neetoMolecules.optionFields.bulkOption.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Textarea\n className=\"my-2\"\n data-cy=\"bulk-add-options-textarea\"\n data-testid=\"bulk-add-options-textarea\"\n label={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n placeholder={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n rows={8}\n value={optionsString}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.optionFields.bulkOption.helpText\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={bulkAddHelpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n onChange={e => setOptionsString(e.target.value)}\n />\n </Modal.Body>\n <Modal.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"bulk-add-options-done-button\"\n data-testid=\"bulk-add-options-done-button\"\n label={t(\"neetoMolecules.common.actions.submit\")}\n onClick={handleSave}\n />\n <Button\n data-cy=\"bulk-add-options-cancel-button\"\n data-testid=\"bulk-add-options-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default BulkOptionModal;\n","import i18next from \"i18next\";\n\nexport const DEFAULT_OPTION_LABEL = i18next.t(\n \"neetoMolecules.optionFields.defaultOption\"\n);\n","import { prop, reject } from \"ramda\";\n\nexport const getOrderedVisibleOptions = (options = []) =>\n options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = reject(prop(\"deleted\"));\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n","import { useRef, useState } from \"react\";\n\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { pluck, append, assocPath, move, remove, isEmpty, prop } from \"ramda\";\n\nimport { DEFAULT_OPTION_LABEL } from \"../constants\";\nimport { filterDeletedRecords, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n itemLabel = DEFAULT_OPTION_LABEL,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n const editingOptionDetailsRef = useRef({ id: \"\", value: \"\" });\n\n const handleChange = (id, value, isOnBlur = false) => {\n // Ignores onBlur events if the value in the input field is not cleared.\n // The value will be reset to the initial value if user clicks outside after clearing the value.\n if (isOnBlur && !isEmpty(value)) return;\n\n const index = findIndexById(id, options);\n if (editingOptionDetailsRef.current.id !== id) {\n editingOptionDetailsRef.current = {\n id,\n value: options[index].label,\n };\n }\n\n // Resets the value to initial value if the user cleared and blurred the input field.\n const valueToUpdate = isOnBlur\n ? editingOptionDetailsRef.current.value\n : value;\n\n onChange(assocPath([index, \"label\"], valueToUpdate, options));\n };\n\n const generateLabel = (opts, count) => {\n const labelCount = count || opts.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", opts).includes(tempLabel);\n\n return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;\n };\n\n const handleDelete = (_, id) => {\n let nextOptions;\n\n const indexToDelete = findIndexById(id, options);\n if (shouldDestroy) {\n nextOptions = assocPath([indexToDelete, \"deleted\"], true, options);\n } else {\n nextOptions = attachPosition(remove(indexToDelete, 1, options));\n }\n onChange(nextOptions);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const deletedOptions = options.filter(prop(\"deleted\"));\n const filteredOptions = filterDeletedRecords(options);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n onChange([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: generateLabel(options, null),\n position: options.length,\n };\n setShouldFocus(true);\n onChange(append(newOption, options));\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = filterDeletedRecords(options).length;\n const newOptions = optionsString\n .trim()\n .split(/\\r?\\n|,/)\n .filter(isNotEmpty)\n .map((option, index) => ({\n id: `draft-${randomId()}`,\n altId: `alt-${randomId()}`,\n label: option.trim(),\n position: position + index,\n }));\n onChange([...options, ...newOptions]);\n };\n\n const handleKeyDown = () => event => {\n if (event.key !== \"Enter\") return;\n const form = event.target.form;\n const inputs = Array.from(form.querySelectorAll(\"input\"));\n const currentInput = inputs.indexOf(event.target);\n\n if (currentInput >= inputs.length - 1) {\n handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { ImageUpload, Delete } from \"neetoicons\";\nimport { Button, Input, Textarea } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n label,\n index,\n disabled,\n isTextArea,\n id,\n}) => {\n const { t } = useTranslation();\n\n const Component = isTextArea ? Textarea : Input;\n\n return (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-center gap-2\">\n <DragHandle {...dragHandleProps} />\n {isPictureChoice && (\n <>\n {index === 0 ? (\n <img\n className=\"neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover\"\n data-testid=\"picture-choice-option\"\n src=\"https://i.pravatar.cc/300\"\n />\n ) : (\n <div className=\"hover:neeto-ui-bg-gray-100 neeto-ui-border-primary-600 neeto-ui-text-primary-800 neeto-ui-rounded-sm flex h-8 w-8 cursor-pointer items-center justify-center border border-dashed transition-all duration-300 ease-in-out\">\n <ImageUpload size={16} />\n </div>\n )}\n </>\n )}\n <Component\n {...{ disabled }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${index}`}\n data-testid={isTextArea ? \"textarea-option\" : \"input-option\"}\n placeholder={t(\"neetoMolecules.optionFields.optionName\")}\n value={label}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${index}`}\n data-testid=\"delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete({ index, id })}\n />\n )\n }\n onBlur={({ target }) => onChange(id, target.value, true)}\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onKeyDown={onKeyDown(index)}\n />\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { slugify, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BlockOption from \"./BlockOption\";\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport InputOption from \"./InputOption\";\nimport { getOrderedVisibleOptions } from \"./utils\";\n\nconst OptionFields = ({\n options,\n error,\n onChange,\n name,\n onDelete,\n itemLabel,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n itemLabel,\n });\n\n // Temporarily disables the modifications to options when changed are getting saved to server\n // This condition only needed for server id generated types\n let isEditable = true;\n if (shouldDestroy) {\n isEditable =\n options.every(prop(\"id\") || error) && !options.some(prop(\"_destroy\"));\n }\n\n const handleDeleteClick = ({ index, id }) => {\n const deleteFunction = onDelete ?? handleDelete;\n deleteFunction(index, id);\n };\n const orderedVisibleOptions = getOrderedVisibleOptions(options);\n const hideDeleteOption = orderedVisibleOptions.length <= minOptions;\n\n const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label);\n\n return (\n <form onSubmit={e => e.preventDefault()}>\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable\n droppableId={`neeto-molecules-option-fields-${name}`}\n isDropDisabled={!draggable}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {orderedVisibleOptions.map((option, index) => (\n <Draggable\n {...{ index }}\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n isDragDisabled={!draggable}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) =>\n editable ? (\n <InputOption\n {...{\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n index,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n shouldFocus,\n }}\n disabled={!isEditable}\n id={option.id}\n label={option.label}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n index,\n innerRef,\n onEdit,\n }}\n id={option.id}\n label={option.label}\n />\n )\n }\n </Draggable>\n ))}\n {error && (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n )}\n {placeholder}\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\n <Button\n data-cy=\"add-option-link\"\n data-testid=\"add-option-link\"\n disabled={!isEditable}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.optionFields.addOption\")}\n size=\"small\"\n style=\"link\"\n onClick={handleAddOption}\n {...buttonProps}\n />\n {bulkActionProps.enabled && (\n <Button\n data-cy=\"add-bulk-option-link\"\n data-testid=\"add-bulk-option-link\"\n disabled={!isEditable}\n label={t(\"neetoMolecules.optionFields.addBulk\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsBulkOptionModalOpen(true)}\n />\n )}\n </div>\n </DragDropContext>\n <BulkOptionModal\n bulkAddHelpDocUrl={bulkActionProps.bulkAddHelpDocUrl}\n handleBulkAdd={handleBulkAddOption}\n isOpen={isBulkOptionModalOpen}\n onClose={() => setIsBulkOptionModalOpen(false)}\n />\n </form>\n );\n};\n\nOptionFields.propTypes = {\n /**\n * Props to be passed to the add option button\n */\n buttonProps: PropTypes.object,\n\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to destroy options\n * */\n shouldDestroy: PropTypes.bool,\n\n /**\n * Prop to set the item label\n * */\n\n itemLabel: PropTypes.string,\n\n /**\n * Props for bulk action\n */\n bulkActionProps: PropTypes.shape({\n enabled: PropTypes.bool,\n bulkAddHelpDocUrl: PropTypes.string,\n }),\n};\nexport default OptionFields;\n"],"names":["DragHandle","props","_jsx","_objectSpread","className","children","Reorder","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","id","ref","_jsxs","Typography","style","Button","icon","Edit","tooltipProps","content","position","touch","onClick","Delete","BulkOptionModal","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","Modal","Header","Body","Textarea","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","href","target","onChange","e","Footer","DEFAULT_OPTION_LABEL","i18next","getOrderedVisibleOptions","options","arguments","length","undefined","filter","option","deleted","sort","a","b","filterDeletedRecords","reject","prop","randomId","Math","random","toString","substring","attachPosition","map","useOptionFields","shouldDestroy","_ref$itemLabel","itemLabel","shouldFocus","setShouldFocus","editingOptionDetailsRef","useRef","handleChange","isOnBlur","isEmpty","findIndexById","current","valueToUpdate","assocPath","generateLabel","opts","count","labelCount","tempLabel","concat","isDuplicateLabel","pluck","includes","handleDelete","_","nextOptions","indexToDelete","remove","handleDragEnd","_ref2","source","destination","deletedOptions","filteredOptions","move","finalOptions","_toConsumableArray","handleAddOption","newOption","altId","append","handleBulkAddOption","newOptions","trim","split","isNotEmpty","handleKeyDown","event","key","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","InputOption","isPictureChoice","onKeyDown","onDelete","disabled","isTextArea","Component","Input","_Fragment","src","ImageUpload","autoFocus","suffix","onBlur","_ref3","onFocus","_ref4","select","OptionFields","error","name","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","draggable","_ref$editable","editable","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","_useOptionFields","isEditable","every","some","deleteFunction","orderedVisibleOptions","getUniqueOptionId","_option$id","_option$position","slugify","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","droppableProps","_createElement","Draggable","dataKey","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":"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"}
1
+ {"version":3,"file":"OptionFields.js","sources":["../../src/components/OptionFields/DragHandle.jsx","../../src/components/OptionFields/BlockOption.jsx","../../src/components/OptionFields/BulkOptionModal.jsx","../../src/components/OptionFields/constants.js","../../src/components/OptionFields/utils.js","../../src/components/OptionFields/hooks/useOptionFields.js","../../src/components/OptionFields/InputOption.jsx","../../src/components/OptionFields/index.jsx"],"sourcesContent":["import { Drag } from \"neetoicons\";\n\nconst DragHandle = props => (\n <div\n className=\"neeto-ui-text-gray-500 flex h-8 flex-shrink-0 cursor-grab items-center\"\n data-cy=\"drag-handle\"\n data-testid=\"drag-handle\"\n {...props}\n >\n <Drag size={16} strokeWidth={2} />\n </div>\n);\n\nexport default DragHandle;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Delete, Edit } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst BlockOption = withT(\n ({\n t,\n innerRef,\n hideDeleteOption = false,\n draggableProps,\n dragHandleProps,\n label,\n index,\n onEdit,\n handleDeleteClick,\n id,\n }) => (\n <div ref={innerRef} {...draggableProps} {...dragHandleProps}>\n <div\n className=\"neeto-ui-border-gray-400 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-sm shadow-xs group relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-colors duration-300 ease-in-out\"\n data-cy=\"address-field-block\"\n >\n <DragHandle {...dragHandleProps} />\n <Typography\n className=\"flex-grow leading-4\"\n data-cy=\"address-text-field\"\n data-testid=\"address-text-field\"\n style=\"body2\"\n >\n {label}\n </Typography>\n <div className=\"flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100\">\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-edit-button\"\n data-testid=\"address-field-edit-button\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.edit\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onEdit(index)}\n />\n {!hideDeleteOption && (\n <Button\n className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-400 p-1\"\n data-cy=\"address-field-delete-button\"\n data-testid=\"address-field-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => handleDeleteClick({ index, id })}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nexport default BlockOption;\n","import { useState } from \"react\";\n\nimport { Button, Modal, Textarea, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nconst BulkOptionModal = ({\n isOpen,\n onClose,\n handleBulkAdd,\n bulkAddHelpDocUrl,\n}) => {\n const { t } = useTranslation();\n const [optionsString, setOptionsString] = useState(\"\");\n\n const handleSave = () => {\n handleBulkAdd(optionsString);\n handleClose();\n };\n\n const handleClose = () => {\n setOptionsString(\"\");\n onClose();\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h3\">\n {t(\"neetoMolecules.optionFields.bulkOption.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Textarea\n className=\"my-2\"\n data-cy=\"bulk-add-options-textarea\"\n data-testid=\"bulk-add-options-textarea\"\n label={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n placeholder={t(\"neetoMolecules.optionFields.bulkOption.label\")}\n rows={8}\n value={optionsString}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.optionFields.bulkOption.helpText\"\n components={{\n Link: (\n <Button\n className=\"text-xs\"\n href={bulkAddHelpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n onChange={e => setOptionsString(e.target.value)}\n />\n </Modal.Body>\n <Modal.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"bulk-add-options-done-button\"\n data-testid=\"bulk-add-options-done-button\"\n label={t(\"neetoMolecules.common.actions.submit\")}\n onClick={handleSave}\n />\n <Button\n data-cy=\"bulk-add-options-cancel-button\"\n data-testid=\"bulk-add-options-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default BulkOptionModal;\n","import i18next from \"i18next\";\n\nexport const DEFAULT_OPTION_LABEL = i18next.t(\n \"neetoMolecules.optionFields.defaultOption\"\n);\n","import { prop, reject } from \"ramda\";\n\nexport const getOrderedVisibleOptions = (options = []) =>\n options\n .filter(option => !option.deleted)\n .sort((a, b) => a.position - b.position);\n\nexport const filterDeletedRecords = reject(prop(\"deleted\"));\n\nexport const randomId = () => Math.random().toString(36).substring(2, 13);\n","import { useRef, useState } from \"react\";\n\nimport { isNotEmpty, findIndexById } from \"neetocist\";\nimport { pluck, append, assocPath, move, remove, isEmpty, prop } from \"ramda\";\n\nimport { DEFAULT_OPTION_LABEL } from \"../constants\";\nimport { filterDeletedRecords, randomId } from \"../utils\";\n\nconst attachPosition = options =>\n options.map((option, index) => ({ ...option, position: index }));\n\nconst useOptionFields = ({\n options,\n onChange,\n shouldDestroy,\n itemLabel = DEFAULT_OPTION_LABEL,\n}) => {\n const [shouldFocus, setShouldFocus] = useState(false);\n const editingOptionDetailsRef = useRef({ id: \"\", value: \"\" });\n\n const handleChange = (id, value, isOnBlur = false) => {\n // Ignores onBlur events if the value in the input field is not cleared.\n // The value will be reset to the initial value if user clicks outside after clearing the value.\n if (isOnBlur && !isEmpty(value)) return;\n\n const index = findIndexById(id, options);\n if (editingOptionDetailsRef.current.id !== id) {\n editingOptionDetailsRef.current = {\n id,\n value: options[index].label,\n };\n }\n\n // Resets the value to initial value if the user cleared and blurred the input field.\n const valueToUpdate = isOnBlur\n ? editingOptionDetailsRef.current.value\n : value;\n\n onChange(assocPath([index, \"label\"], valueToUpdate, options));\n };\n\n const generateLabel = (opts, count) => {\n const labelCount = count || opts.length + 1;\n const tempLabel = `${itemLabel} ${labelCount}`;\n const isDuplicateLabel = pluck(\"label\", opts).includes(tempLabel);\n\n return isDuplicateLabel ? generateLabel(opts, labelCount + 1) : tempLabel;\n };\n\n const handleDelete = (_, id) => {\n let nextOptions;\n\n const indexToDelete = findIndexById(id, options);\n if (shouldDestroy) {\n nextOptions = assocPath([indexToDelete, \"deleted\"], true, options);\n } else {\n nextOptions = attachPosition(remove(indexToDelete, 1, options));\n }\n onChange(nextOptions);\n };\n\n const handleDragEnd = ({ source, destination }) => {\n // When dragged outside of draggable\n if (destination === null) return;\n\n const deletedOptions = options.filter(prop(\"deleted\"));\n const filteredOptions = filterDeletedRecords(options);\n const nextOptions = move(source.index, destination.index, filteredOptions);\n const finalOptions = attachPosition(nextOptions);\n onChange([...deletedOptions, ...finalOptions]);\n };\n\n const handleAddOption = () => {\n const id = randomId();\n const newOption = {\n id: `draft-${id}`,\n altId: `alt-${id}`,\n label: generateLabel(options, null),\n position: options.length,\n };\n setShouldFocus(true);\n onChange(append(newOption, options));\n };\n\n const handleBulkAddOption = optionsString => {\n setShouldFocus(true);\n const position = filterDeletedRecords(options).length;\n const newOptions = optionsString\n .trim()\n .split(/\\r?\\n|,/)\n .filter(isNotEmpty)\n .map((option, index) => ({\n id: `draft-${randomId()}`,\n altId: `alt-${randomId()}`,\n label: option.trim(),\n position: position + index,\n }));\n onChange([...options, ...newOptions]);\n };\n\n const handleKeyDown = () => event => {\n if (event.key !== \"Enter\") return;\n const form = event.target.form;\n const inputs = Array.from(form.querySelectorAll(\"input\"));\n const currentInput = inputs.indexOf(event.target);\n\n if (currentInput >= inputs.length - 1) {\n handleAddOption();\n } else {\n inputs[currentInput + 1]?.focus();\n event.preventDefault();\n }\n event.stopPropagation();\n };\n\n return {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n };\n};\n\nexport default useOptionFields;\n","import { ImageUpload, Delete } from \"neetoicons\";\nimport { Button, Input, Textarea } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DragHandle from \"./DragHandle\";\n\nconst InputOption = ({\n shouldFocus,\n hideDeleteOption = false,\n innerRef,\n draggableProps,\n dragHandleProps,\n isPictureChoice,\n onKeyDown,\n onDelete,\n onChange,\n label,\n index,\n disabled,\n isTextArea,\n id,\n}) => {\n const { t } = useTranslation();\n\n const Component = isTextArea ? Textarea : Input;\n\n return (\n <div\n ref={innerRef}\n {...{ ...draggableProps, ...dragHandleProps }}\n data-cy=\"form-block-options\"\n >\n <div className=\"nf-input-options group relative mb-2 flex items-start gap-1\">\n <DragHandle {...dragHandleProps} />\n {isPictureChoice && (\n <>\n {index === 0 ? (\n <img\n className=\"neeto-ui-rounded-sm h-8 w-8 cursor-pointer overflow-hidden object-cover\"\n data-testid=\"picture-choice-option\"\n src=\"https://i.pravatar.cc/300\"\n />\n ) : (\n <div className=\"hover:neeto-ui-bg-gray-100 neeto-ui-border-primary-600 neeto-ui-text-primary-800 neeto-ui-rounded-sm flex h-8 w-8 cursor-pointer items-center justify-center border border-dashed transition-all duration-300 ease-in-out\">\n <ImageUpload size={16} />\n </div>\n )}\n </>\n )}\n <Component\n {...{ disabled }}\n autoFocus={shouldFocus}\n data-cy={`option-input-${index}`}\n data-testid={isTextArea ? \"textarea-option\" : \"input-option\"}\n placeholder={t(\"neetoMolecules.optionFields.optionName\")}\n value={label}\n suffix={\n !hideDeleteOption && (\n <Button\n {...{ disabled }}\n className=\"p-0.5\"\n data-cy={`delete-option-button-${index}`}\n data-testid=\"delete-option-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.delete\"),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n onClick={() => onDelete({ index, id })}\n />\n )\n }\n onBlur={({ target }) => onChange(id, target.value, true)}\n onChange={({ target }) => onChange(id, target.value)}\n onFocus={({ target }) => target.select()}\n onKeyDown={onKeyDown(index)}\n />\n </div>\n </div>\n );\n};\n\nexport default InputOption;\n","import { useState } from \"react\";\n\nimport { DragDropContext, Droppable, Draggable } from \"@hello-pangea/dnd\";\nimport { slugify, noop } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BlockOption from \"./BlockOption\";\nimport BulkOptionModal from \"./BulkOptionModal\";\nimport useOptionFields from \"./hooks/useOptionFields\";\nimport InputOption from \"./InputOption\";\nimport { getOrderedVisibleOptions } from \"./utils\";\n\nconst OptionFields = ({\n options,\n error,\n onChange,\n name,\n onDelete,\n itemLabel,\n onEdit = noop,\n buttonProps = {},\n minOptions = 0,\n draggable = false,\n editable = true,\n isPictureChoice = false,\n isTextArea = false,\n shouldDestroy = false,\n bulkActionProps = { enabled: false, bulkAddHelpDocUrl: \"\" },\n}) => {\n const { t } = useTranslation();\n const [isBulkOptionModalOpen, setIsBulkOptionModalOpen] = useState(false);\n\n const {\n shouldFocus,\n handleAddOption,\n handleBulkAddOption,\n handleChange,\n handleKeyDown,\n handleDelete,\n handleDragEnd,\n } = useOptionFields({\n options,\n onChange,\n shouldDestroy,\n itemLabel,\n });\n\n // Temporarily disables the modifications to options when changed are getting saved to server\n // This condition only needed for server id generated types\n let isEditable = true;\n if (shouldDestroy) {\n isEditable =\n options.every(prop(\"id\") || error) && !options.some(prop(\"_destroy\"));\n }\n\n const handleDeleteClick = ({ index, id }) => {\n const deleteFunction = onDelete ?? handleDelete;\n deleteFunction(index, id);\n };\n const orderedVisibleOptions = getOrderedVisibleOptions(options);\n const hideDeleteOption = orderedVisibleOptions.length <= minOptions;\n\n const getUniqueOptionId = option =>\n option.altId ||\n option.id?.toString() ||\n option.position?.toString() ||\n slugify(option.label);\n\n return (\n <form onSubmit={e => e.preventDefault()}>\n <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable\n droppableId={`neeto-molecules-option-fields-${name}`}\n isDropDisabled={!draggable}\n >\n {({ innerRef, droppableProps, placeholder }) => (\n <div ref={innerRef} {...droppableProps}>\n {orderedVisibleOptions.map((option, index) => (\n <Draggable\n {...{ index }}\n dataKey={getUniqueOptionId(option)}\n draggableId={getUniqueOptionId(option)}\n isDragDisabled={!draggable}\n key={getUniqueOptionId(option)}\n >\n {({ innerRef, draggableProps, dragHandleProps }) =>\n editable ? (\n <InputOption\n {...{\n dragHandleProps,\n draggableProps,\n hideDeleteOption,\n index,\n innerRef,\n isPictureChoice,\n isTextArea,\n name,\n shouldFocus,\n }}\n disabled={!isEditable}\n id={option.id}\n label={option.label}\n onChange={handleChange}\n onDelete={handleDeleteClick}\n onKeyDown={handleKeyDown}\n />\n ) : (\n <BlockOption\n {...{\n dragHandleProps,\n draggableProps,\n handleDeleteClick,\n hideDeleteOption,\n index,\n innerRef,\n onEdit,\n }}\n id={option.id}\n label={option.label}\n />\n )\n }\n </Draggable>\n ))}\n {error && (\n <Typography\n className=\"neeto-ui-input__error\"\n data-testid=\"validation-error-container\"\n style=\"body3\"\n >\n {error}\n </Typography>\n )}\n {placeholder}\n </div>\n )}\n </Droppable>\n <div className=\"mt-4 flex items-center justify-between\">\n <Button\n data-cy=\"add-option-link\"\n data-testid=\"add-option-link\"\n disabled={!isEditable}\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.optionFields.addOption\")}\n size=\"small\"\n style=\"link\"\n onClick={handleAddOption}\n {...buttonProps}\n />\n {bulkActionProps.enabled && (\n <Button\n data-cy=\"add-bulk-option-link\"\n data-testid=\"add-bulk-option-link\"\n disabled={!isEditable}\n label={t(\"neetoMolecules.optionFields.addBulk\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsBulkOptionModalOpen(true)}\n />\n )}\n </div>\n </DragDropContext>\n <BulkOptionModal\n bulkAddHelpDocUrl={bulkActionProps.bulkAddHelpDocUrl}\n handleBulkAdd={handleBulkAddOption}\n isOpen={isBulkOptionModalOpen}\n onClose={() => setIsBulkOptionModalOpen(false)}\n />\n </form>\n );\n};\n\nOptionFields.propTypes = {\n /**\n * Props to be passed to the add option button\n */\n buttonProps: PropTypes.object,\n\n /**\n * Enable drag and drop functionality\n */\n draggable: PropTypes.bool,\n\n /**\n * Enable edit functionality\n */\n editable: PropTypes.bool,\n\n /**\n * Error message to be displayed\n */\n error: PropTypes.string,\n\n /**\n * The field name in Formik state.\n */\n name: PropTypes.string,\n\n /**\n * Function to handle option deletion\n */\n onDelete: PropTypes.func,\n\n /**\n * Function to handle option edit\n *\n */\n onEdit: PropTypes.func,\n\n /**\n * Minimum number of options required\n */\n minOptions: PropTypes.number,\n\n /**\n * Options array\n */\n options: PropTypes.array,\n\n /**\n * Prop to switch between Input and Textarea\n */\n isTextArea: PropTypes.bool,\n\n /**\n * Function to handle options change\n */\n onChange: PropTypes.func,\n\n /**\n * Prop to switch between PictureChoice and normal options\n * */\n isPictureChoice: PropTypes.bool,\n\n /**\n * Prop to destroy options\n * */\n shouldDestroy: PropTypes.bool,\n\n /**\n * Prop to set the item label\n * */\n\n itemLabel: PropTypes.string,\n\n /**\n * Props for bulk action\n */\n bulkActionProps: PropTypes.shape({\n enabled: PropTypes.bool,\n bulkAddHelpDocUrl: PropTypes.string,\n }),\n};\nexport default OptionFields;\n"],"names":["DragHandle","props","_jsx","_objectSpread","className","children","Drag","size","strokeWidth","BlockOption","withT","_ref","t","innerRef","_ref$hideDeleteOption","hideDeleteOption","draggableProps","dragHandleProps","label","index","onEdit","handleDeleteClick","id","ref","_jsxs","Typography","style","Button","icon","Edit","tooltipProps","content","position","touch","onClick","Delete","BulkOptionModal","isOpen","onClose","handleBulkAdd","bulkAddHelpDocUrl","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","optionsString","setOptionsString","handleSave","handleClose","Modal","Header","Body","Textarea","placeholder","rows","value","helpText","Trans","i18nKey","components","Link","href","target","onChange","e","Footer","DEFAULT_OPTION_LABEL","i18next","getOrderedVisibleOptions","options","arguments","length","undefined","filter","option","deleted","sort","a","b","filterDeletedRecords","reject","prop","randomId","Math","random","toString","substring","attachPosition","map","useOptionFields","shouldDestroy","_ref$itemLabel","itemLabel","shouldFocus","setShouldFocus","editingOptionDetailsRef","useRef","handleChange","isOnBlur","isEmpty","findIndexById","current","valueToUpdate","assocPath","generateLabel","opts","count","labelCount","tempLabel","concat","isDuplicateLabel","pluck","includes","handleDelete","_","nextOptions","indexToDelete","remove","handleDragEnd","_ref2","source","destination","deletedOptions","filteredOptions","move","finalOptions","_toConsumableArray","handleAddOption","newOption","altId","append","handleBulkAddOption","newOptions","trim","split","isNotEmpty","handleKeyDown","event","key","form","inputs","Array","from","querySelectorAll","currentInput","indexOf","_inputs","focus","preventDefault","stopPropagation","InputOption","isPictureChoice","onKeyDown","onDelete","disabled","isTextArea","Component","Input","_Fragment","src","ImageUpload","autoFocus","suffix","onBlur","_ref3","onFocus","_ref4","select","OptionFields","error","name","_ref$onEdit","noop","_ref$buttonProps","buttonProps","_ref$minOptions","minOptions","_ref$draggable","draggable","_ref$editable","editable","_ref$isPictureChoice","_ref$isTextArea","_ref$shouldDestroy","_ref$bulkActionProps","bulkActionProps","enabled","isBulkOptionModalOpen","setIsBulkOptionModalOpen","_useOptionFields","isEditable","every","some","deleteFunction","orderedVisibleOptions","getUniqueOptionId","_option$id","_option$position","slugify","onSubmit","DragDropContext","onDragEnd","Droppable","droppableId","isDropDisabled","droppableProps","_createElement","Draggable","dataKey","draggableId","isDragDisabled","Plus","iconPosition"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAGC,KAAK,EAAA;AAAA,EAAA,oBACtBC,cAAA,CAAA,KAAA,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACEC,IAAAA,SAAS,EAAC,wEAAwE;AAClF,IAAA,SAAA,EAAQ,aAAa;IACrB,aAAY,EAAA,aAAA;AAAa,GAAA,EACrBH,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAI,QAAA,eAETH,cAAA,CAACI,IAAI,EAAA;AAACC,MAAAA,IAAI,EAAE,EAAG;AAACC,MAAAA,WAAW,EAAE,CAAA;KAAI,CAAA;AAAC,GAAA,CAC/B,CAAC,CAAA;AAAA,CACP;;;;ACLD,IAAMC,WAAW,GAAGC,gBAAK,CACvB,UAAAC,IAAA,EAAA;AAAA,EAAA,IACEC,CAAC,GAAAD,IAAA,CAADC,CAAC;IACDC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,qBAAA,GAAAH,IAAA,CACRI,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACxBE,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,eAAe,GAAAN,IAAA,CAAfM,eAAe;IACfC,KAAK,GAAAP,IAAA,CAALO,KAAK;IACLC,KAAK,GAAAR,IAAA,CAALQ,KAAK;IACLC,MAAM,GAAAT,IAAA,CAANS,MAAM;IACNC,iBAAiB,GAAAV,IAAA,CAAjBU,iBAAiB;IACjBC,EAAE,GAAAX,IAAA,CAAFW,EAAE,CAAA;AAAA,EAAA,oBAEFpB,cAAA,CAAAC,KAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;AAAKoB,IAAAA,GAAG,EAAEV,QAAAA;GAAcG,EAAAA,cAAc,GAAMC,eAAe,CAAA,EAAA,EAAA,EAAA;AAAAZ,IAAAA,QAAA,eACzDmB,eAAA,CAAA,KAAA,EAAA;AACEpB,MAAAA,SAAS,EAAC,yMAAyM;AACnN,MAAA,SAAA,EAAQ,qBAAqB;AAAAC,MAAAA,QAAA,EAE7BH,cAAAA,cAAA,CAACF,UAAU,EAAAG,eAAA,CAAKc,EAAAA,EAAAA,eAAe,CAAG,CAAC,eACnCf,cAAA,CAACuB,UAAU,EAAA;AACTrB,QAAAA,SAAS,EAAC,qBAAqB;AAC/B,QAAA,SAAA,EAAQ,oBAAoB;AAC5B,QAAA,aAAA,EAAY,oBAAoB;AAChCsB,QAAAA,KAAK,EAAC,OAAO;AAAArB,QAAAA,QAAA,EAEZa,KAAAA;OACS,CAAC,eACbM,eAAA,CAAA,KAAA,EAAA;AAAKpB,QAAAA,SAAS,EAAC,uEAAuE;QAAAC,QAAA,EAAA,cACpFH,cAAA,CAACyB,MAAM,EAAA;AACLvB,UAAAA,SAAS,EAAC,iDAAiD;AAC3D,UAAA,SAAA,EAAQ,2BAA2B;AACnC,UAAA,aAAA,EAAY,2BAA2B;AACvCwB,UAAAA,IAAI,EAAEC,IAAK;AACXtB,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;AACZI,UAAAA,YAAY,EAAE;AACZC,YAAAA,OAAO,EAAEnB,CAAC,CAAC,oCAAoC,CAAC;AAChDoB,YAAAA,QAAQ,EAAE,KAAK;AACfC,YAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;WACnB;UACFC,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQd,MAAM,CAACD,KAAK,CAAC,CAAA;AAAA,WAAA;AAAC,SAC9B,CAAC,EACD,CAACJ,gBAAgB,iBAChBb,cAAA,CAACyB,MAAM,EAAA;AACLvB,UAAAA,SAAS,EAAC,iDAAiD;AAC3D,UAAA,SAAA,EAAQ,6BAA6B;AACrC,UAAA,aAAA,EAAY,6BAA6B;AACzCwB,UAAAA,IAAI,EAAEO,MAAO;AACb5B,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;AACZI,UAAAA,YAAY,EAAE;AACZC,YAAAA,OAAO,EAAEnB,CAAC,CAAC,sCAAsC,CAAC;AAClDoB,YAAAA,QAAQ,EAAE,KAAK;AACfC,YAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;WACnB;UACFC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQb,iBAAiB,CAAC;AAAEF,cAAAA,KAAK,EAALA,KAAK;AAAEG,cAAAA,EAAE,EAAFA,EAAAA;AAAG,aAAC,CAAC,CAAA;AAAA,WAAA;AAAC,SACjD,CACF,CAAA;AAAA,OACE,CAAC,CAAA;KACH,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAAA,CAEV,CAAC;;AC/DD,IAAMc,eAAe,GAAG,SAAlBA,eAAeA,CAAAzB,IAAA,EAKf;AAAA,EAAA,IAJJ0B,MAAM,GAAA1B,IAAA,CAAN0B,MAAM;IACNC,OAAO,GAAA3B,IAAA,CAAP2B,OAAO;IACPC,aAAa,GAAA5B,IAAA,CAAb4B,aAAa;IACbC,iBAAiB,GAAA7B,IAAA,CAAjB6B,iBAAiB,CAAA;AAEjB,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AACT,EAAA,IAAA+B,SAAA,GAA0CC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,EAAA,IAAMI,UAAU,GAAG,SAAbA,UAAUA,GAAS;IACvBV,aAAa,CAACQ,aAAa,CAAC,CAAA;AAC5BG,IAAAA,WAAW,EAAE,CAAA;GACd,CAAA;AAED,EAAA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,GAAS;IACxBF,gBAAgB,CAAC,EAAE,CAAC,CAAA;AACpBV,IAAAA,OAAO,EAAE,CAAA;GACV,CAAA;EAED,oBACEd,eAAA,CAAC2B,KAAK,EAAA;AAAOd,IAAAA,MAAM,EAANA,MAAM;AAAIC,IAAAA,OAAO,EAAEY,WAAY;AAAA7C,IAAAA,QAAA,EAC1CH,cAAAA,cAAA,CAACiD,KAAK,CAACC,MAAM,EAAA;MAAA/C,QAAA,eACXH,cAAA,CAACuB,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;QAAArB,QAAA,EACnBO,CAAC,CAAC,8CAA8C,CAAA;OACvC,CAAA;AAAC,KACD,CAAC,eACfV,cAAA,CAACiD,KAAK,CAACE,IAAI,EAAA;MAAAhD,QAAA,eACTH,cAAA,CAACoD,QAAQ,EAAA;AACPlD,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,2BAA2B;AACnC,QAAA,aAAA,EAAY,2BAA2B;AACvCc,QAAAA,KAAK,EAAEN,CAAC,CAAC,8CAA8C,CAAE;AACzD2C,QAAAA,WAAW,EAAE3C,CAAC,CAAC,8CAA8C,CAAE;AAC/D4C,QAAAA,IAAI,EAAE,CAAE;AACRC,QAAAA,KAAK,EAAEV,aAAc;QACrBW,QAAQ,eACNxD,cAAA,CAACyD,kBAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,iDAAiD;AACzDC,UAAAA,UAAU,EAAE;YACVC,IAAI,eACF5D,cAAA,CAACyB,MAAM,EAAA;AACLvB,cAAAA,SAAS,EAAC,SAAS;AACnB2D,cAAAA,IAAI,EAAEvB,iBAAkB;AACxBd,cAAAA,KAAK,EAAC,MAAM;AACZsC,cAAAA,MAAM,EAAC,QAAA;aACR,CAAA;AAEL,WAAA;AAAE,SACH,CACF;AACDC,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,CAAC,EAAA;AAAA,UAAA,OAAIlB,gBAAgB,CAACkB,CAAC,CAACF,MAAM,CAACP,KAAK,CAAC,CAAA;AAAA,SAAA;OAChD,CAAA;AAAC,KACQ,CAAC,eACbjC,eAAA,CAAC2B,KAAK,CAACgB,MAAM,EAAA;AAAC/D,MAAAA,SAAS,EAAC,SAAS;MAAAC,QAAA,EAAA,cAC/BH,cAAA,CAACyB,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,8BAA8B;AACtC,QAAA,aAAA,EAAY,8BAA8B;AAC1CT,QAAAA,KAAK,EAAEN,CAAC,CAAC,sCAAsC,CAAE;AACjDsB,QAAAA,OAAO,EAAEe,UAAAA;AAAW,OACrB,CAAC,eACF/C,cAAA,CAACyB,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,gCAAgC;AACxC,QAAA,aAAA,EAAY,gCAAgC;AAC5CT,QAAAA,KAAK,EAAEN,CAAC,CAAC,sCAAsC,CAAE;AACjDc,QAAAA,KAAK,EAAC,MAAM;AACZQ,QAAAA,OAAO,EAAEgB,WAAAA;AAAY,OACtB,CAAC,CAAA;AAAA,KACU,CAAC,CAAA;AAAA,GACV,CAAC,CAAA;AAEZ,CAAC;;ACzEM,IAAMkB,oBAAoB,GAAGC,OAAO,CAACzD,CAAC,CAC3C,2CACF,CAAC;;ACFM,IAAM0D,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAA;AAAA,EAAA,IAAIC,OAAO,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,OACnDD,OAAO,CACJI,MAAM,CAAC,UAAAC,MAAM,EAAA;IAAA,OAAI,CAACA,MAAM,CAACC,OAAO,CAAA;AAAA,GAAA,CAAC,CACjCC,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;AAAA,IAAA,OAAKD,CAAC,CAAC/C,QAAQ,GAAGgD,CAAC,CAAChD,QAAQ,CAAA;GAAC,CAAA,CAAA;AAAA,CAAA,CAAA;AAErC,IAAMiD,oBAAoB,GAAGC,YAAM,CAACC,UAAI,CAAC,SAAS,CAAC,CAAC,CAAA;AAEpD,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAA;AAAA,EAAA,OAASC,IAAI,CAACC,MAAM,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAAA,CAAA;;;;ACDzE,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGlB,OAAO,EAAA;AAAA,EAAA,OAC5BA,OAAO,CAACmB,GAAG,CAAC,UAACd,MAAM,EAAEzD,KAAK,EAAA;AAAA,IAAA,OAAAhB,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAWyE,MAAM,CAAA,EAAA,EAAA,EAAA;AAAE5C,MAAAA,QAAQ,EAAEb,KAAAA;AAAK,KAAA,CAAA,CAAA;AAAA,GAAG,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAMwE,eAAe,GAAG,SAAlBA,eAAeA,CAAAhF,IAAA,EAKf;AAAA,EAAA,IAJJ4D,OAAO,GAAA5D,IAAA,CAAP4D,OAAO;IACPN,QAAQ,GAAAtD,IAAA,CAARsD,QAAQ;IACR2B,aAAa,GAAAjF,IAAA,CAAbiF,aAAa;IAAAC,cAAA,GAAAlF,IAAA,CACbmF,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGzB,KAAAA,CAAAA,GAAAA,oBAAoB,GAAAyB,cAAA,CAAA;AAEhC,EAAA,IAAAlD,SAAA,GAAsCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9CoD,IAAAA,WAAW,GAAAlD,UAAA,CAAA,CAAA,CAAA;AAAEmD,IAAAA,cAAc,GAAAnD,UAAA,CAAA,CAAA,CAAA,CAAA;EAClC,IAAMoD,uBAAuB,GAAGC,YAAM,CAAC;AAAE5E,IAAAA,EAAE,EAAE,EAAE;AAAEmC,IAAAA,KAAK,EAAE,EAAA;AAAG,GAAC,CAAC,CAAA;EAE7D,IAAM0C,YAAY,GAAG,SAAfA,YAAYA,CAAI7E,EAAE,EAAEmC,KAAK,EAAuB;AAAA,IAAA,IAArB2C,QAAQ,GAAA5B,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK,CAAA;AAC/C;AACA;AACA,IAAA,IAAI4B,QAAQ,IAAI,CAACC,aAAO,CAAC5C,KAAK,CAAC,EAAE,OAAA;AAEjC,IAAA,IAAMtC,KAAK,GAAGmF,uBAAa,CAAChF,EAAE,EAAEiD,OAAO,CAAC,CAAA;AACxC,IAAA,IAAI0B,uBAAuB,CAACM,OAAO,CAACjF,EAAE,KAAKA,EAAE,EAAE;MAC7C2E,uBAAuB,CAACM,OAAO,GAAG;AAChCjF,QAAAA,EAAE,EAAFA,EAAE;AACFmC,QAAAA,KAAK,EAAEc,OAAO,CAACpD,KAAK,CAAC,CAACD,KAAAA;OACvB,CAAA;AACH,KAAA;;AAEA;IACA,IAAMsF,aAAa,GAAGJ,QAAQ,GAC1BH,uBAAuB,CAACM,OAAO,CAAC9C,KAAK,GACrCA,KAAK,CAAA;AAETQ,IAAAA,QAAQ,CAACwC,eAAS,CAAC,CAACtF,KAAK,EAAE,OAAO,CAAC,EAAEqF,aAAa,EAAEjC,OAAO,CAAC,CAAC,CAAA;GAC9D,CAAA;EAED,IAAMmC,cAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAI,EAAEC,KAAK,EAAK;IACrC,IAAMC,UAAU,GAAGD,KAAK,IAAID,IAAI,CAAClC,MAAM,GAAG,CAAC,CAAA;IAC3C,IAAMqC,SAAS,MAAAC,MAAA,CAAMjB,SAAS,EAAAiB,GAAAA,CAAAA,CAAAA,MAAA,CAAIF,UAAU,CAAE,CAAA;AAC9C,IAAA,IAAMG,gBAAgB,GAAGC,WAAK,CAAC,OAAO,EAAEN,IAAI,CAAC,CAACO,QAAQ,CAACJ,SAAS,CAAC,CAAA;IAEjE,OAAOE,gBAAgB,GAAGN,cAAa,CAACC,IAAI,EAAEE,UAAU,GAAG,CAAC,CAAC,GAAGC,SAAS,CAAA;GAC1E,CAAA;EAED,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAC,EAAE9F,EAAE,EAAK;AAC9B,IAAA,IAAI+F,WAAW,CAAA;AAEf,IAAA,IAAMC,aAAa,GAAGhB,uBAAa,CAAChF,EAAE,EAAEiD,OAAO,CAAC,CAAA;AAChD,IAAA,IAAIqB,aAAa,EAAE;AACjByB,MAAAA,WAAW,GAAGZ,eAAS,CAAC,CAACa,aAAa,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE/C,OAAO,CAAC,CAAA;AACpE,KAAC,MAAM;MACL8C,WAAW,GAAG5B,cAAc,CAAC8B,YAAM,CAACD,aAAa,EAAE,CAAC,EAAE/C,OAAO,CAAC,CAAC,CAAA;AACjE,KAAA;IACAN,QAAQ,CAACoD,WAAW,CAAC,CAAA;GACtB,CAAA;AAED,EAAA,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAAgC;AAAA,IAAA,IAA1BC,MAAM,GAAAD,KAAA,CAANC,MAAM;MAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW,CAAA;AAC1C;IACA,IAAIA,WAAW,KAAK,IAAI,EAAE,OAAA;IAE1B,IAAMC,cAAc,GAAGrD,OAAO,CAACI,MAAM,CAACQ,UAAI,CAAC,SAAS,CAAC,CAAC,CAAA;AACtD,IAAA,IAAM0C,eAAe,GAAG5C,oBAAoB,CAACV,OAAO,CAAC,CAAA;AACrD,IAAA,IAAM8C,WAAW,GAAGS,UAAI,CAACJ,MAAM,CAACvG,KAAK,EAAEwG,WAAW,CAACxG,KAAK,EAAE0G,eAAe,CAAC,CAAA;AAC1E,IAAA,IAAME,YAAY,GAAGtC,cAAc,CAAC4B,WAAW,CAAC,CAAA;IAChDpD,QAAQ,CAAA,EAAA,CAAA8C,MAAA,CAAAiB,kBAAA,CAAKJ,cAAc,CAAA,EAAAI,kBAAA,CAAKD,YAAY,CAAA,CAAC,CAAC,CAAA;GAC/C,CAAA;AAED,EAAA,IAAME,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC5B,IAAA,IAAM3G,EAAE,GAAG8D,QAAQ,EAAE,CAAA;AACrB,IAAA,IAAM8C,SAAS,GAAG;AAChB5G,MAAAA,EAAE,EAAAyF,QAAAA,CAAAA,MAAA,CAAWzF,EAAE,CAAE;AACjB6G,MAAAA,KAAK,EAAApB,MAAAA,CAAAA,MAAA,CAASzF,EAAE,CAAE;AAClBJ,MAAAA,KAAK,EAAEwF,cAAa,CAACnC,OAAO,EAAE,IAAI,CAAC;MACnCvC,QAAQ,EAAEuC,OAAO,CAACE,MAAAA;KACnB,CAAA;IACDuB,cAAc,CAAC,IAAI,CAAC,CAAA;AACpB/B,IAAAA,QAAQ,CAACmE,YAAM,CAACF,SAAS,EAAE3D,OAAO,CAAC,CAAC,CAAA;GACrC,CAAA;AAED,EAAA,IAAM8D,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGtF,aAAa,EAAI;IAC3CiD,cAAc,CAAC,IAAI,CAAC,CAAA;AACpB,IAAA,IAAMhE,QAAQ,GAAGiD,oBAAoB,CAACV,OAAO,CAAC,CAACE,MAAM,CAAA;IACrD,IAAM6D,UAAU,GAAGvF,aAAa,CAC7BwF,IAAI,EAAE,CACNC,KAAK,CAAC,SAAS,CAAC,CAChB7D,MAAM,CAAC8D,oBAAU,CAAC,CAClB/C,GAAG,CAAC,UAACd,MAAM,EAAEzD,KAAK,EAAA;MAAA,OAAM;AACvBG,QAAAA,EAAE,WAAAyF,MAAA,CAAW3B,QAAQ,EAAE,CAAE;AACzB+C,QAAAA,KAAK,SAAApB,MAAA,CAAS3B,QAAQ,EAAE,CAAE;AAC1BlE,QAAAA,KAAK,EAAE0D,MAAM,CAAC2D,IAAI,EAAE;QACpBvG,QAAQ,EAAEA,QAAQ,GAAGb,KAAAA;OACtB,CAAA;AAAA,KAAC,CAAC,CAAA;IACL8C,QAAQ,CAAA,EAAA,CAAA8C,MAAA,CAAAiB,kBAAA,CAAKzD,OAAO,CAAA,EAAAyD,kBAAA,CAAKM,UAAU,CAAA,CAAC,CAAC,CAAA;GACtC,CAAA;AAED,EAAA,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,GAAA;IAAA,OAAS,UAAAC,KAAK,EAAI;AACnC,MAAA,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,EAAE,OAAA;AAC3B,MAAA,IAAMC,IAAI,GAAGF,KAAK,CAAC3E,MAAM,CAAC6E,IAAI,CAAA;AAC9B,MAAA,IAAMC,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACH,IAAI,CAACI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;MACzD,IAAMC,YAAY,GAAGJ,MAAM,CAACK,OAAO,CAACR,KAAK,CAAC3E,MAAM,CAAC,CAAA;AAEjD,MAAA,IAAIkF,YAAY,IAAIJ,MAAM,CAACrE,MAAM,GAAG,CAAC,EAAE;AACrCwD,QAAAA,eAAe,EAAE,CAAA;AACnB,OAAC,MAAM;AAAA,QAAA,IAAAmB,OAAA,CAAA;AACL,QAAA,CAAAA,OAAA,GAAAN,MAAM,CAACI,YAAY,GAAG,CAAC,CAAC,MAAA,IAAA,IAAAE,OAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAA,CAA0BC,KAAK,EAAE,CAAA;QACjCV,KAAK,CAACW,cAAc,EAAE,CAAA;AACxB,OAAA;MACAX,KAAK,CAACY,eAAe,EAAE,CAAA;KACxB,CAAA;AAAA,GAAA,CAAA;EAED,OAAO;AACLxD,IAAAA,WAAW,EAAXA,WAAW;AACXkC,IAAAA,eAAe,EAAfA,eAAe;AACfI,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBlC,IAAAA,YAAY,EAAZA,YAAY;AACZuC,IAAAA,aAAa,EAAbA,aAAa;AACbvB,IAAAA,YAAY,EAAZA,YAAY;AACZK,IAAAA,aAAa,EAAbA,aAAAA;GACD,CAAA;AACH,CAAC;;;;ACtHD,IAAMgC,WAAW,GAAG,SAAdA,WAAWA,CAAA7I,IAAA,EAeX;AAAA,EAAA,IAdJoF,WAAW,GAAApF,IAAA,CAAXoF,WAAW;IAAAjF,qBAAA,GAAAH,IAAA,CACXI,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACxBD,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRG,cAAc,GAAAL,IAAA,CAAdK,cAAc;IACdC,eAAe,GAAAN,IAAA,CAAfM,eAAe;IACfwI,eAAe,GAAA9I,IAAA,CAAf8I,eAAe;IACfC,SAAS,GAAA/I,IAAA,CAAT+I,SAAS;IACTC,QAAQ,GAAAhJ,IAAA,CAARgJ,QAAQ;IACR1F,SAAQ,GAAAtD,IAAA,CAARsD,QAAQ;IACR/C,KAAK,GAAAP,IAAA,CAALO,KAAK;IACLC,KAAK,GAAAR,IAAA,CAALQ,KAAK;IACLyI,QAAQ,GAAAjJ,IAAA,CAARiJ,QAAQ;IACRC,UAAU,GAAAlJ,IAAA,CAAVkJ,UAAU;IACVvI,EAAE,GAAAX,IAAA,CAAFW,EAAE,CAAA;AAEF,EAAA,IAAAmB,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AAET,EAAA,IAAMkJ,SAAS,GAAGD,UAAU,GAAGvG,QAAQ,GAAGyG,KAAK,CAAA;AAE/C,EAAA,oBACE7J,cAAA,CAAA,KAAA,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACEoB,IAAAA,GAAG,EAAEV,QAAAA;AAAS,GAAA,EAAAV,eAAA,CAAAA,eAAA,CACLa,EAAAA,EAAAA,cAAc,GAAKC,eAAe,CAAA,CAAA,EAAA,EAAA,EAAA;AAC3C,IAAA,SAAA,EAAQ,oBAAoB;AAAAZ,IAAAA,QAAA,eAE5BmB,eAAA,CAAA,KAAA,EAAA;AAAKpB,MAAAA,SAAS,EAAC,6DAA6D;AAAAC,MAAAA,QAAA,EAC1EH,cAAAA,cAAA,CAACF,UAAU,EAAAG,eAAA,CAAA,EAAA,EAAKc,eAAe,CAAG,CAAC,EAClCwI,eAAe,iBACdvJ,cAAA,CAAA8J,mBAAA,EAAA;AAAA3J,QAAAA,QAAA,EACGc,KAAK,KAAK,CAAC,gBACVjB,cAAA,CAAA,KAAA,EAAA;AACEE,UAAAA,SAAS,EAAC,yEAAyE;AACnF,UAAA,aAAA,EAAY,uBAAuB;AACnC6J,UAAAA,GAAG,EAAC,2BAAA;SACL,CAAC,gBAEF/J,cAAA,CAAA,KAAA,EAAA;AAAKE,UAAAA,SAAS,EAAC,2NAA2N;UAAAC,QAAA,eACxOH,cAAA,CAACgK,WAAW,EAAA;AAAC3J,YAAAA,IAAI,EAAE,EAAA;WAAK,CAAA;SACrB,CAAA;AACN,OACD,CACH,eACDL,cAAA,CAAC4J,SAAS,EAAA;AACFF,QAAAA,QAAQ,EAARA,QAAQ;AACdO,QAAAA,SAAS,EAAEpE,WAAY;QACvB,SAAAgB,EAAAA,eAAAA,CAAAA,MAAA,CAAyB5F,KAAK,CAAG;AACjC,QAAA,aAAA,EAAa0I,UAAU,GAAG,iBAAiB,GAAG,cAAe;AAC7DtG,QAAAA,WAAW,EAAE3C,CAAC,CAAC,wCAAwC,CAAE;AACzD6C,QAAAA,KAAK,EAAEvC,KAAM;AACbkJ,QAAAA,MAAM,EACJ,CAACrJ,gBAAgB,iBACfb,cAAA,CAACyB,MAAM,EAAA;AACCiI,UAAAA,QAAQ,EAARA,QAAQ;AACdxJ,UAAAA,SAAS,EAAC,OAAO;UACjB,SAAA2G,EAAAA,uBAAAA,CAAAA,MAAA,CAAiC5F,KAAK,CAAG;AACzC,UAAA,aAAA,EAAY,sBAAsB;AAClCS,UAAAA,IAAI,EAAEO,MAAO;AACb5B,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;AACZI,UAAAA,YAAY,EAAE;AACZC,YAAAA,OAAO,EAAEnB,CAAC,CAAC,sCAAsC,CAAC;AAClDoB,YAAAA,QAAQ,EAAE,KAAK;AACfC,YAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;WACnB;UACFC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQyH,QAAQ,CAAC;AAAExI,cAAAA,KAAK,EAALA,KAAK;AAAEG,cAAAA,EAAE,EAAFA,EAAAA;AAAG,aAAC,CAAC,CAAA;AAAA,WAAA;AAAC,SACxC,CAEJ;AACD+I,QAAAA,MAAM,EAAE,SAARA,MAAMA,CAAA5C,KAAA,EAAA;AAAA,UAAA,IAAKzD,MAAM,GAAAyD,KAAA,CAANzD,MAAM,CAAA;UAAA,OAAOC,SAAQ,CAAC3C,EAAE,EAAE0C,MAAM,CAACP,KAAK,EAAE,IAAI,CAAC,CAAA;SAAC;AACzDQ,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAqG,KAAA,EAAA;AAAA,UAAA,IAAKtG,MAAM,GAAAsG,KAAA,CAANtG,MAAM,CAAA;AAAA,UAAA,OAAOC,SAAQ,CAAC3C,EAAE,EAAE0C,MAAM,CAACP,KAAK,CAAC,CAAA;SAAC;AACrD8G,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAAC,KAAA,EAAA;AAAA,UAAA,IAAKxG,MAAM,GAAAwG,KAAA,CAANxG,MAAM,CAAA;AAAA,UAAA,OAAOA,MAAM,CAACyG,MAAM,EAAE,CAAA;SAAC;QACzCf,SAAS,EAAEA,SAAS,CAACvI,KAAK,CAAA;AAAE,OAC7B,CAAC,CAAA;KACC,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAEV,CAAC;;;;ACnED,IAAMuJ,YAAY,GAAG,SAAfA,YAAYA,CAAA/J,IAAA,EAgBZ;AAAA,EAAA,IAfJ4D,OAAO,GAAA5D,IAAA,CAAP4D,OAAO;IACPoG,KAAK,GAAAhK,IAAA,CAALgK,KAAK;IACL1G,QAAQ,GAAAtD,IAAA,CAARsD,QAAQ;IACR2G,IAAI,GAAAjK,IAAA,CAAJiK,IAAI;IACJjB,QAAQ,GAAAhJ,IAAA,CAARgJ,QAAQ;IACR7D,SAAS,GAAAnF,IAAA,CAATmF,SAAS;IAAA+E,WAAA,GAAAlK,IAAA,CACTS,MAAM;AAANA,IAAAA,MAAM,GAAAyJ,WAAA,KAAGC,KAAAA,CAAAA,GAAAA,cAAI,GAAAD,WAAA;IAAAE,gBAAA,GAAApK,IAAA,CACbqK,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,eAAA,GAAAtK,IAAA,CAChBuK,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,eAAA;IAAAE,cAAA,GAAAxK,IAAA,CACdyK,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAA1K,IAAA,CACjB2K,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;IAAAE,oBAAA,GAAA5K,IAAA,CACf8I,eAAe;AAAfA,IAAAA,eAAe,GAAA8B,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAC,eAAA,GAAA7K,IAAA,CACvBkJ,UAAU;AAAVA,IAAAA,UAAU,GAAA2B,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAC,kBAAA,GAAA9K,IAAA,CAClBiF,aAAa;AAAbA,IAAAA,aAAa,GAAA6F,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IAAAC,oBAAA,GAAA/K,IAAA,CACrBgL,eAAe;IAAfA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,OAAO,EAAE,KAAK;AAAEpJ,MAAAA,iBAAiB,EAAE,EAAA;AAAG,KAAC,GAAAkJ,oBAAA,CAAA;AAE3D,EAAA,IAAAjJ,eAAA,GAAcC,2BAAc,EAAE;IAAtB9B,CAAC,GAAA6B,eAAA,CAAD7B,CAAC,CAAA;AACT,EAAA,IAAA+B,SAAA,GAA0DC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEkJ,IAAAA,qBAAqB,GAAAhJ,UAAA,CAAA,CAAA,CAAA;AAAEiJ,IAAAA,wBAAwB,GAAAjJ,UAAA,CAAA,CAAA,CAAA,CAAA;EAEtD,IAAAkJ,gBAAA,GAQIpG,eAAe,CAAC;AAClBpB,MAAAA,OAAO,EAAPA,OAAO;AACPN,MAAAA,QAAQ,EAARA,QAAQ;AACR2B,MAAAA,aAAa,EAAbA,aAAa;AACbE,MAAAA,SAAS,EAATA,SAAAA;AACF,KAAC,CAAC;IAZAC,WAAW,GAAAgG,gBAAA,CAAXhG,WAAW;IACXkC,eAAe,GAAA8D,gBAAA,CAAf9D,eAAe;IACfI,mBAAmB,GAAA0D,gBAAA,CAAnB1D,mBAAmB;IACnBlC,YAAY,GAAA4F,gBAAA,CAAZ5F,YAAY;IACZuC,aAAa,GAAAqD,gBAAA,CAAbrD,aAAa;IACbvB,YAAY,GAAA4E,gBAAA,CAAZ5E,YAAY;IACZK,aAAa,GAAAuE,gBAAA,CAAbvE,aAAa,CAAA;;AAQf;AACA;EACA,IAAIwE,UAAU,GAAG,IAAI,CAAA;AACrB,EAAA,IAAIpG,aAAa,EAAE;IACjBoG,UAAU,GACRzH,OAAO,CAAC0H,KAAK,CAAC9G,UAAI,CAAC,IAAI,CAAC,IAAIwF,KAAK,CAAC,IAAI,CAACpG,OAAO,CAAC2H,IAAI,CAAC/G,UAAI,CAAC,UAAU,CAAC,CAAC,CAAA;AACzE,GAAA;AAEA,EAAA,IAAM9D,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAoG,KAAA,EAAsB;AAAA,IAAA,IAAhBtG,KAAK,GAAAsG,KAAA,CAALtG,KAAK;MAAEG,EAAE,GAAAmG,KAAA,CAAFnG,EAAE,CAAA;IACpC,IAAM6K,cAAc,GAAGxC,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,QAAQ,GAAIxC,YAAY,CAAA;AAC/CgF,IAAAA,cAAc,CAAChL,KAAK,EAAEG,EAAE,CAAC,CAAA;GAC1B,CAAA;AACD,EAAA,IAAM8K,qBAAqB,GAAG9H,wBAAwB,CAACC,OAAO,CAAC,CAAA;AAC/D,EAAA,IAAMxD,gBAAgB,GAAGqL,qBAAqB,CAAC3H,MAAM,IAAIyG,UAAU,CAAA;AAEnE,EAAA,IAAMmB,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGzH,MAAM,EAAA;IAAA,IAAA0H,UAAA,EAAAC,gBAAA,CAAA;AAAA,IAAA,OAC9B3H,MAAM,CAACuD,KAAK,KAAAmE,CAAAA,UAAA,GACZ1H,MAAM,CAACtD,EAAE,MAAA,IAAA,IAAAgL,UAAA,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAW/G,QAAQ,EAAE,CAAA,KAAA,CAAAgH,gBAAA,GACrB3H,MAAM,CAAC5C,QAAQ,MAAAuK,IAAAA,IAAAA,gBAAA,uBAAfA,gBAAA,CAAiBhH,QAAQ,EAAE,CAC3BiH,IAAAA,iBAAO,CAAC5H,MAAM,CAAC1D,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAEvB,EAAA,oBACEM,eAAA,CAAA,MAAA,EAAA;AAAMiL,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEvI,CAAC,EAAA;AAAA,MAAA,OAAIA,CAAC,CAACoF,cAAc,EAAE,CAAA;KAAC;IAAAjJ,QAAA,EAAA,cACtCmB,eAAA,CAACkL,mBAAe,EAAA;AAACC,MAAAA,SAAS,EAAEnF,aAAc;MAAAnH,QAAA,EAAA,cACxCH,cAAA,CAAC0M,aAAS,EAAA;AACRC,QAAAA,WAAW,EAAA9F,gCAAAA,CAAAA,MAAA,CAAmC6D,IAAI,CAAG;QACrDkC,cAAc,EAAE,CAAC1B,SAAU;QAAA/K,QAAA,EAE1B,SAAAA,QAAAA,CAAAiK,KAAA,EAAA;AAAA,UAAA,IAAGzJ,QAAQ,GAAAyJ,KAAA,CAARzJ,QAAQ;YAAEkM,cAAc,GAAAzC,KAAA,CAAdyC,cAAc;YAAExJ,WAAW,GAAA+G,KAAA,CAAX/G,WAAW,CAAA;AAAA,UAAA,oBACvC/B,eAAA,CAAA,KAAA,EAAArB,aAAA,CAAAA,aAAA,CAAA;AAAKoB,YAAAA,GAAG,EAAEV,QAAAA;AAAS,WAAA,EAAKkM,cAAc,CAAA,EAAA,EAAA,EAAA;YAAA1M,QAAA,EAAA,CACnC+L,qBAAqB,CAAC1G,GAAG,CAAC,UAACd,MAAM,EAAEzD,KAAK,EAAA;cAAA,oBACvC6L,mBAAA,CAACC,aAAS,EAAA;AACF9L,gBAAAA,KAAK,EAALA,KAAK;AACX+L,gBAAAA,OAAO,EAAEb,iBAAiB,CAACzH,MAAM,CAAE;AACnCuI,gBAAAA,WAAW,EAAEd,iBAAiB,CAACzH,MAAM,CAAE;gBACvCwI,cAAc,EAAE,CAAChC,SAAU;gBAC3BxC,GAAG,EAAEyD,iBAAiB,CAACzH,MAAM,CAAA;AAAE,eAAA,EAE9B,UAAA4F,KAAA,EAAA;AAAA,gBAAA,IAAG3J,QAAQ,GAAA2J,KAAA,CAAR3J,QAAQ;kBAAEG,cAAc,GAAAwJ,KAAA,CAAdxJ,cAAc;kBAAEC,eAAe,GAAAuJ,KAAA,CAAfvJ,eAAe,CAAA;AAAA,gBAAA,OAC3CqK,QAAQ,gBACNpL,cAAA,CAACsJ,WAAW,EAAA;AAERvI,kBAAAA,eAAe,EAAfA,eAAe;AACfD,kBAAAA,cAAc,EAAdA,cAAc;AACdD,kBAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBI,kBAAAA,KAAK,EAALA,KAAK;AACLN,kBAAAA,QAAQ,EAARA,QAAQ;AACR4I,kBAAAA,eAAe,EAAfA,eAAe;AACfI,kBAAAA,UAAU,EAAVA,UAAU;AACVe,kBAAAA,IAAI,EAAJA,IAAI;AACJ7E,kBAAAA,WAAW,EAAXA,WAAW;kBAEb6D,QAAQ,EAAE,CAACoC,UAAW;kBACtB1K,EAAE,EAAEsD,MAAM,CAACtD,EAAG;kBACdJ,KAAK,EAAE0D,MAAM,CAAC1D,KAAM;AACpB+C,kBAAAA,QAAQ,EAAEkC,YAAa;AACvBwD,kBAAAA,QAAQ,EAAEtI,iBAAkB;AAC5BqI,kBAAAA,SAAS,EAAEhB,aAAAA;AAAc,iBAC1B,CAAC,gBAEFxI,cAAA,CAACO,WAAW,EAAA;AAERQ,kBAAAA,eAAe,EAAfA,eAAe;AACfD,kBAAAA,cAAc,EAAdA,cAAc;AACdK,kBAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBN,kBAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBI,kBAAAA,KAAK,EAALA,KAAK;AACLN,kBAAAA,QAAQ,EAARA,QAAQ;AACRO,kBAAAA,MAAM,EAANA,MAAM;kBAERE,EAAE,EAAEsD,MAAM,CAACtD,EAAG;kBACdJ,KAAK,EAAE0D,MAAM,CAAC1D,KAAAA;AAAM,iBACrB,CACF,CAAA;AAAA,eAEM,CAAC,CAAA;AAAA,aACb,CAAC,EACDyJ,KAAK,iBACJzK,cAAA,CAACuB,UAAU,EAAA;AACTrB,cAAAA,SAAS,EAAC,uBAAuB;AACjC,cAAA,aAAA,EAAY,4BAA4B;AACxCsB,cAAAA,KAAK,EAAC,OAAO;AAAArB,cAAAA,QAAA,EAEZsK,KAAAA;aACS,CACb,EACApH,WAAW,CAAA;AAAA,WAAA,CACT,CAAC,CAAA;AAAA,SAAA;OAEC,CAAC,eACZ/B,eAAA,CAAA,KAAA,EAAA;AAAKpB,QAAAA,SAAS,EAAC,wCAAwC;AAAAC,QAAAA,QAAA,EACrDH,cAAAA,cAAA,CAACyB,MAAM,EAAAxB,aAAA,CAAA;AACL,UAAA,SAAA,EAAQ,iBAAiB;AACzB,UAAA,aAAA,EAAY,iBAAiB;UAC7ByJ,QAAQ,EAAE,CAACoC,UAAW;AACtBpK,UAAAA,IAAI,EAAEyL,IAAK;AACXC,UAAAA,YAAY,EAAC,MAAM;AACnBpM,UAAAA,KAAK,EAAEN,CAAC,CAAC,uCAAuC,CAAE;AAClDL,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;AACZQ,UAAAA,OAAO,EAAE+F,eAAAA;SACL+C,EAAAA,WAAW,CAChB,CAAC,EACDW,eAAe,CAACC,OAAO,iBACtB1L,cAAA,CAACyB,MAAM,EAAA;AACL,UAAA,SAAA,EAAQ,sBAAsB;AAC9B,UAAA,aAAA,EAAY,sBAAsB;UAClCiI,QAAQ,EAAE,CAACoC,UAAW;AACtB9K,UAAAA,KAAK,EAAEN,CAAC,CAAC,qCAAqC,CAAE;AAChDL,UAAAA,IAAI,EAAC,OAAO;AACZmB,UAAAA,KAAK,EAAC,MAAM;UACZQ,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQ4J,wBAAwB,CAAC,IAAI,CAAC,CAAA;AAAA,WAAA;AAAC,SAC/C,CACF,CAAA;AAAA,OACE,CAAC,CAAA;AAAA,KACS,CAAC,eAClB5L,cAAA,CAACkC,eAAe,EAAA;MACdI,iBAAiB,EAAEmJ,eAAe,CAACnJ,iBAAkB;AACrDD,MAAAA,aAAa,EAAE8F,mBAAoB;AACnChG,MAAAA,MAAM,EAAEwJ,qBAAsB;MAC9BvJ,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQwJ,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAAA,OAAA;AAAC,KAChD,CAAC,CAAA;AAAA,GACE,CAAC,CAAA;AAEX;;;;"}