@bigbinary/neeto-molecules 3.5.2-beta → 3.5.3

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/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 SELECTED_ELEMENTS_LIST_DROPPABLE_ID =\n \"droppable-selected-question-container\";\n\nexport const PREVIEW_CONTAINER_DROPPABLE_ID =\n \"droppable-form-preview-container\";\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 { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nimport DragIcon from \"components/Builder/DragIcon\";\n\nconst Element = ({\n label,\n icon: Icon,\n isCreatable = true,\n onClick,\n isDragDisabled = false,\n disabledElementTooltip,\n isPlaceholder,\n}) => (\n <Tooltip\n content={disabledElementTooltip?.(label)}\n disabled={!disabledElementTooltip || isCreatable}\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={isCreatable ? onClick : noop}\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\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}) => {\n if (isDragDisabled) {\n return (\n <Element\n {...{ ...element, disabledElementTooltip, isDragDisabled }}\n isCreatable={isCreatable(element.value)}\n onClick={() => onSelect(element)}\n />\n );\n }\n\n return (\n <Draggable\n {...{ index, isDragDisabled }}\n draggableId={`${element.value}-${index}`}\n key={element.label}\n >\n {(\n { innerRef, draggableProps, dragHandleProps },\n { isDragging, isDropAnimating }\n ) => (\n <>\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n style={{\n ...draggableProps.style,\n ...(isDropAnimating && {\n opacity: 0,\n transition: null,\n }),\n }}\n >\n <Element\n {...{\n ...element,\n disabledElementTooltip,\n isDragDisabled,\n }}\n isCreatable={isCreatable(element.value)}\n onClick={() => onSelect(element)}\n />\n </div>\n {isDragging && (\n <Element\n isPlaceholder={!isDropAnimating}\n {...{ ...element, disabledElementTooltip }}\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,\n sectionIndex,\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, elementIndex) => {\n const index = elementIndex + sectionIndex;\n\n return (\n <ElementContainer\n {...{\n disabledElementTooltip,\n element,\n index,\n isCreatable,\n\n onSelect,\n }}\n isDragDisabled={isDragElementsDisabled}\n key={element.label}\n />\n );\n })}\n </>\n );\n};\n\nexport default Section;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button, Typography } from \"neetoui\";\n\nconst TitleBar = withT(\n ({ t, setIsSummaryPanelVisible, isSelectedElementsEmpty }) => (\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 label={t(\"neetoMolecules.builderSidebar.summary\")}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsSummaryPanelVisible(true)}\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 { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport Section from \"./Section\";\nimport TitleBar from \"./TitleBar\";\n\nconst ElementList = ({\n setIsSummaryPanelVisible,\n elementSections = [],\n onSelect,\n isSelectedElementsEmpty,\n isDragElementsDisabled,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(\n () =>\n elementSections\n .map(section => ({\n ...section,\n elements: section.elements.filter(element =>\n element.label.toLowerCase().includes(searchString.toLowerCase())\n ),\n }))\n .filter(section =>\n isPresent(searchString) ? isNotEmpty(section.elements) : true\n ),\n [searchString, elementSections]\n );\n\n return (\n <>\n <TitleBar {...{ isSelectedElementsEmpty, setIsSummaryPanelVisible }} />\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 {filteredSections.map((section, sectionIndex) => (\n <Section\n {...{ isDragElementsDisabled, onSelect, sectionIndex }}\n disabledElementTooltip={section.disabledElementTooltip}\n elements={section.elements}\n isCreatable={section.isCreatable}\n key={section.key}\n title={section.title}\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 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\nconst TitleBar = withT(\n ({\n t,\n setIsSummaryPanelVisible,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\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 label={t(\"neetoMolecules.common.actions.close\")}\n loading={isAddingNewElement}\n size=\"small\"\n style=\"secondary\"\n onClick={() => setIsSummaryPanelVisible(false)}\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 { SELECTED_ELEMENTS_LIST_DROPPABLE_ID } from \"../../constants\";\n\nconst SelectedElementsList = ({\n handleSelectElement,\n isReorderDisabled,\n isElementVisible,\n selectedElementId,\n selectedElements,\n setIsSummaryPanelVisible,\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 setIsSummaryPanelVisible,\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 droppableId={SELECTED_ELEMENTS_LIST_DROPPABLE_ID}>\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 \"../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}) => {\n const [isSummaryPanelVisible, setIsSummaryPanelVisible] = useState(false);\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 {isSummaryPanelVisible ? (\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 setIsSummaryPanelVisible,\n showElementsFillButton,\n }}\n />\n ) : (\n <ElementList\n {...{\n elementSections,\n isDragElementsDisabled,\n setIsSummaryPanelVisible,\n }}\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\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":["SELECTED_ELEMENTS_LIST_DROPPABLE_ID","PREVIEW_CONTAINER_DROPPABLE_ID","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","Tooltip","content","disabled","position","touch","_jsxs","concat","joinHyphenCase","noop","Typography","style","ElementContainer","index","element","onSelect","value","_createElement","Draggable","draggableId","key","_ref2","_ref3","innerRef","draggableProps","dragHandleProps","isDragging","isDropAnimating","_Fragment","ref","opacity","transition","Section","title","elements","isDragElementsDisabled","sectionIndex","isEmpty","textTransform","map","elementIndex","TitleBar","withT","t","setIsSummaryPanelVisible","isSelectedElementsEmpty","lineHeight","weight","Button","ElementList","_ref$elementSections","elementSections","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","filteredSections","useMemo","section","filter","toLowerCase","includes","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","loading","memo","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","isAddingNewElement","PLURAL","Flash","tooltipProps","SelectedElementsList","isReorderDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","selectedElementActions","renderSelectedElement","arguments","length","undefined","Array","isArray","Droppable","droppableId","droppableProps","_isElementVisible","_element$id","_element$id2","isVisible","_element$id3","ElementsPanel","_ref$selectedElements","handleAddElement","_ref$fixedFirstElemen","_ref$isReorderDisable","_ref$isDragElementsDi","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","isSummaryPanelVisible","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","event","stopPropagation","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/Body.jsx","../src/components/Builder/ElementsPanel/ElementsList/Element.jsx","../src/components/Builder/ElementsPanel/ElementsList/Section.jsx","../src/components/Builder/ElementsPanel/ElementsList/TitleBar.jsx","../src/components/Builder/ElementsPanel/ElementsList/index.jsx","../src/components/Builder/DragIcon.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":["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","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst Element = ({\n label,\n icon: Icon,\n isCreatable = true,\n onClick,\n disabledElementTooltip,\n}) => (\n <Tooltip\n content={disabledElementTooltip?.(label)}\n disabled={!disabledElementTooltip || isCreatable}\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 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 }\n )}\n onClick={isCreatable ? onClick : noop}\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\nexport default Element;\n","import { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Element from \"./Element\";\n\nconst Section = ({\n title,\n elements,\n onSelect,\n isCreatable,\n disabledElementTooltip,\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 <Element\n {...{ ...element, disabledElementTooltip }}\n isCreatable={isCreatable(element.value)}\n key={element.label}\n onClick={() => onSelect(element)}\n />\n ))}\n </>\n );\n};\n\nexport default Section;\n","import { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TitleBar = ({ setIsElementsListVisible, isSelectedElementsEmpty }) => {\n const { t } = useTranslation();\n\n const onCancel = () => setIsElementsListVisible(false);\n\n return (\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 label={t(\"neetoMolecules.builderSidebar.cancel\")}\n size=\"small\"\n style=\"text\"\n onClick={onCancel}\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 { useTranslation } from \"react-i18next\";\n\nimport Body from \"components/Builder/Body\";\n\nimport Section from \"./Section\";\nimport TitleBar from \"./TitleBar\";\n\nconst ElementList = ({\n setIsElementsListVisible,\n elementSections = [],\n onSelect,\n isSelectedElementsEmpty,\n}) => {\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState(\"\");\n\n const filteredSections = useMemo(\n () =>\n elementSections\n .map(section => ({\n ...section,\n elements: section.elements.filter(element =>\n element.label.toLowerCase().includes(searchString.toLowerCase())\n ),\n }))\n .filter(section =>\n isPresent(searchString) ? isNotEmpty(section.elements) : true\n ),\n [searchString, elementSections]\n );\n\n return (\n <>\n <TitleBar {...{ isSelectedElementsEmpty, setIsElementsListVisible }} />\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 {filteredSections.map(section => (\n <Section\n {...{ onSelect }}\n disabledElementTooltip={section.disabledElementTooltip}\n elements={section.elements}\n isCreatable={section.isCreatable}\n key={section.key}\n title={section.title}\n />\n ))}\n </Body>\n </>\n );\n};\n\nexport default ElementList;\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 { 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 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 { Flash } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TitleBar = ({\n setIsElementsListVisible,\n isLoading,\n showElementsFillButton,\n isAddingAllElements,\n addAllElements,\n isAddingNewElement,\n}) => {\n const { t } = useTranslation();\n\n const handleAddElement = () => setIsElementsListVisible(true);\n\n return (\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 label={t(\"neetoMolecules.builderSidebar.addNewElement\")}\n loading={isAddingNewElement}\n size=\"small\"\n style=\"secondary\"\n onClick={handleAddElement}\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 { DragDropContext, 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\nconst SelectedElementsList = ({\n handleDragEnd,\n handleSelectElement,\n isDragDisabled,\n isElementVisible,\n selectedElementId,\n selectedElements,\n setIsElementsListVisible,\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 setIsElementsListVisible,\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 <DragDropContext onDragEnd={handleDragEnd}>\n <Droppable droppableId=\"droppable-question-list\">\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, isDragDisabled }}\n draggableId={element.id ?? `element-${index}`}\n key={key}\n >\n {({ innerRef, draggableProps, dragHandleProps }) => (\n <div\n ref={innerRef}\n {...draggableProps}\n {...dragHandleProps}\n >\n <SelectedElement\n {...{ element, handleSelectElement }}\n isSelectable\n actions={selectedElementActions}\n isActive={selectedElementId === element.id}\n isDraggable={!isDragDisabled}\n key={element.id ?? index}\n />\n </div>\n )}\n </Draggable>\n );\n })}\n {placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\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\";\nimport { isEmpty } from \"ramda\";\n\nimport ElementList from \"./ElementsList\";\nimport SelectedElementsList from \"./SelectedElementsList\";\n\nimport \"../styles.scss\";\n\nconst ElementsPanel = ({\n elementSections,\n selectedElements = [],\n handleAddElement,\n isElementVisible,\n fixedFirstElement = [],\n fixedLastElement,\n handleDragEnd = noop,\n isDragDisabled = true,\n handleSelectElement,\n selectedElementId,\n selectedElementActions,\n addAllElements = noop,\n isAddingAllElements = false,\n showElementsFillButton = false,\n isAddingNewElement = false,\n}) => {\n const [isElementsListVisible, setIsElementsListVisible] = useState(false);\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isElementsPanelCollapsed, setIsElementsPanelCollapsed] = useState(\n !isLargerScreen\n );\n\n const isSelectedElementsEmpty = isEmpty(selectedElements);\n const shouldShowElementsList =\n isSelectedElementsEmpty || isElementsListVisible;\n\n const handleElementSelect = element => {\n setIsElementsListVisible(false);\n handleAddElement(element);\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 {shouldShowElementsList ? (\n <ElementList\n {...{\n elementSections,\n isSelectedElementsEmpty,\n setIsElementsListVisible,\n }}\n onSelect={handleElementSelect}\n />\n ) : (\n <SelectedElementsList\n {...{\n addAllElements,\n fixedFirstElement,\n fixedLastElement,\n handleDragEnd,\n handleSelectElement,\n isAddingAllElements,\n isAddingNewElement,\n isDragDisabled,\n isElementVisible,\n selectedElementActions,\n selectedElementId,\n selectedElements,\n setIsElementsListVisible,\n showElementsFillButton,\n }}\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 * The callback that will be triggered at the end of a drag event.\n */\n handleDragEnd: PropTypes.func,\n /**\n * Boolean to mention that the drag feature should be disabled.\n */\n isDragDisabled: 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\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":["Body","_ref","size","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","classnames","Element","label","Icon","icon","_ref$isCreatable","isCreatable","onClick","disabledElementTooltip","Tooltip","content","disabled","position","touch","children","concat","joinHyphenCase","noop","_jsxs","Typography","style","Section","title","elements","onSelect","isEmpty","_Fragment","textTransform","map","element","_createElement","value","key","TitleBar","setIsElementsListVisible","isSelectedElementsEmpty","_useTranslation","useTranslation","t","onCancel","lineHeight","weight","Button","ElementList","_ref$elementSections","elementSections","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","filteredSections","useMemo","section","filter","toLowerCase","includes","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","DragIcon","_ref$size","otherProps","fill","height","viewBox","width","xmlns","d","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","ref","hyphenate","MoreDropdown","isDisabled","isPending","dropdownButtonProps","loading","memo","isLoading","showElementsFillButton","isAddingAllElements","addAllElements","isAddingNewElement","handleAddElement","PLURAL","Flash","tooltipProps","SelectedElementsList","handleDragEnd","isDragDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","selectedElementActions","renderSelectedElement","index","arguments","length","undefined","Array","isArray","DragDropContext","onDragEnd","Droppable","droppableId","_ref2","innerRef","droppableProps","_isElementVisible","_element$id","_element$id2","isVisible","Draggable","draggableId","_ref3","_element$id3","draggableProps","dragHandleProps","ElementsPanel","_ref$selectedElements","_ref$fixedFirstElemen","_ref$handleDragEnd","_ref$isDragDisabled","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","isElementsListVisible","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState3","_useState4","isElementsPanelCollapsed","setIsElementsPanelCollapsed","shouldShowElementsList","handleElementSelect","event","stopPropagation","Collapse","EmptyProperty","withT","Skeleton","DownArrow","PropertiesPanel","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel","Close"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,IAAI,GAAAD,IAAA,CAAJC,IAAI;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,WAAA,CAAA,CAAA;AAAA,EAAA,oBAC5BC,GAAA,CAAAC,KAAAA,EAAAA,eAAA,CAAAA,eAAA,KACMJ,KAAK,CAAA,EAAA,EAAA,EAAA;AACTK,IAAAA,SAAS,EAAEC,UAAU,CACnB,sDAAsD,EACtD;MACE,6DAA6D,EAC3DP,IAAI,KAAK,OAAA;KAEf,CAAA;AAAE,GAAA,CACH,CAAC,CAAA;AAAA,CACH;;ACVD,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,CAAAT,IAAA,EAAA;AAAA,EAAA,IACXU,KAAK,GAAAV,IAAA,CAALU,KAAK;IACCC,IAAI,GAAAX,IAAA,CAAVY,IAAI;IAAAC,gBAAA,GAAAb,IAAA,CACJc,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA;IAClBE,OAAO,GAAAf,IAAA,CAAPe,OAAO;IACPC,sBAAsB,GAAAhB,IAAA,CAAtBgB,sBAAsB,CAAA;EAAA,oBAEtBX,GAAA,CAACY,OAAO,EAAA;IACNC,OAAO,EAAEF,sBAAsB,KAAtBA,IAAAA,IAAAA,sBAAsB,uBAAtBA,sBAAsB,CAAGN,KAAK,CAAE;AACzCS,IAAAA,QAAQ,EAAE,CAACH,sBAAsB,IAAIF,WAAY;AACjDM,IAAAA,QAAQ,EAAC,KAAK;AACdC,IAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAE;AAAAC,IAAAA,QAAA,eAErBjB,GAAA,CAAA,KAAA,EAAA;AACE,MAAA,SAAA,EAAA,MAAA,CAAAkB,MAAA,CAAgBC,cAAc,CAACd,KAAK,CAAC,EAAW,UAAA,CAAA;AAChDH,MAAAA,SAAS,EAAEC,UAAU,CACnB,gLAAgL,EAChL;QACE,yCAAyC,EAAE,CAACM,WAAW;AACvD,QAAA,gBAAgB,EAAEA,WAAAA;AACpB,OACF,CAAE;AACFC,MAAAA,OAAO,EAAED,WAAW,GAAGC,OAAO,GAAGU,IAAK;AAAAH,MAAAA,QAAA,eAEtCI,IAAA,CAAA,KAAA,EAAA;AAAKnB,QAAAA,SAAS,EAAC,mCAAmC;AAAAe,QAAAA,QAAA,EAC/CX,CAAAA,IAAI,iBAAIN,GAAA,CAACM,IAAI,EAAA;UAAC,SAAQ,EAAA,WAAA;AAAW,SAAE,CAAC,eACrCN,GAAA,CAACsB,UAAU,EAAA;AAACpB,UAAAA,SAAS,EAAC,WAAW;AAACqB,UAAAA,KAAK,EAAC,OAAO;AAAAN,UAAAA,QAAA,EAC5CZ,KAAAA;AAAK,SACI,CAAC,CAAA;OACV,CAAA;KACF,CAAA;AAAC,GACC,CAAC,CAAA;AAAA,CACX;;;;AChCD,IAAMmB,OAAO,GAAG,SAAVA,OAAOA,CAAA7B,IAAA,EAMP;AAAA,EAAA,IALJ8B,KAAK,GAAA9B,IAAA,CAAL8B,KAAK;IACLC,QAAQ,GAAA/B,IAAA,CAAR+B,QAAQ;IACRC,QAAQ,GAAAhC,IAAA,CAARgC,QAAQ;IACRlB,WAAW,GAAAd,IAAA,CAAXc,WAAW;IACXE,sBAAsB,GAAAhB,IAAA,CAAtBgB,sBAAsB,CAAA;AAEtB,EAAA,IAAIiB,OAAO,CAACF,QAAQ,CAAC,EAAE;AACrB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,oBACEL,IAAA,CAAAQ,QAAA,EAAA;AAAAZ,IAAAA,QAAA,EACGQ,CAAAA,KAAK,iBACJzB,GAAA,CAACsB,UAAU,EAAA;AAACpB,MAAAA,SAAS,EAAC,MAAM;AAACqB,MAAAA,KAAK,EAAC,IAAI;AAACO,MAAAA,aAAa,EAAC,WAAW;AAAAb,MAAAA,QAAA,EAC9DQ,KAAAA;AAAK,KACI,CACb,EACAC,QAAQ,CAACK,GAAG,CAAC,UAAAC,OAAO,EAAA;AAAA,MAAA,oBACnBC,aAAA,CAAC7B,OAAO,EAAAH,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACG+B,OAAO,CAAA,EAAA,EAAA,EAAA;AAAErB,QAAAA,sBAAsB,EAAtBA,sBAAAA;AAAsB,OAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACxCF,QAAAA,WAAW,EAAEA,WAAW,CAACuB,OAAO,CAACE,KAAK,CAAE;QACxCC,GAAG,EAAEH,OAAO,CAAC3B,KAAM;QACnBK,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMiB,QAAQ,CAACK,OAAO,CAAC,CAAA;AAAA,SAAA;AAAC,OAAA,CAClC,CAAC,CAAA;AAAA,KACH,CAAC,CAAA;AAAA,GACF,CAAC,CAAA;AAEP,CAAC;;AC9BD,IAAMI,UAAQ,GAAG,SAAXA,QAAQA,CAAAzC,IAAA,EAA8D;AAAA,EAAA,IAAxD0C,wBAAwB,GAAA1C,IAAA,CAAxB0C,wBAAwB;IAAEC,uBAAuB,GAAA3C,IAAA,CAAvB2C,uBAAuB,CAAA;AACnE,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAA;IAAA,OAASL,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAEtD,EAAA,oBACEhB,IAAA,CAAA,KAAA,EAAA;AACEnB,IAAAA,SAAS,EAAC,4CAA4C;AACtD,IAAA,aAAA,EAAY,sBAAsB;IAAAe,QAAA,EAAA,cAElCjB,GAAA,CAACsB,UAAU,EAAA;AACT,MAAA,SAAA,EAAQ,qBAAqB;AAC7BqB,MAAAA,UAAU,EAAC,QAAQ;AACnBpB,MAAAA,KAAK,EAAC,IAAI;AACVqB,MAAAA,MAAM,EAAC,UAAU;MAAA3B,QAAA,EAEhBwB,CAAC,CAAC,6CAA6C,CAAA;AAAC,KACvC,CAAC,EACZ,CAACH,uBAAuB,iBACvBtC,GAAA,CAAC6C,MAAM,EAAA;AACL,MAAA,SAAA,EAAQ,eAAe;AACvBxC,MAAAA,KAAK,EAAEoC,CAAC,CAAC,sCAAsC,CAAE;AACjD7C,MAAAA,IAAI,EAAC,OAAO;AACZ2B,MAAAA,KAAK,EAAC,MAAM;AACZb,MAAAA,OAAO,EAAEgC,QAAAA;AAAS,KACnB,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;;;ACnBD,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAAnD,IAAA,EAKX;AAAA,EAAA,IAJJ0C,wBAAwB,GAAA1C,IAAA,CAAxB0C,wBAAwB;IAAAU,oBAAA,GAAApD,IAAA,CACxBqD,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;IACpBpB,QAAQ,GAAAhC,IAAA,CAARgC,QAAQ;IACRW,uBAAuB,GAAA3C,IAAA,CAAvB2C,uBAAuB,CAAA;AAEvB,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAQ,SAAA,GAAwCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA7CI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;EAEpC,IAAMI,gBAAgB,GAAGC,OAAO,CAC9B,YAAA;AAAA,IAAA,OACER,eAAe,CACZjB,GAAG,CAAC,UAAA0B,OAAO,EAAA;AAAA,MAAA,OAAAxD,eAAA,CAAAA,eAAA,CAAA,EAAA,EACPwD,OAAO,CAAA,EAAA,EAAA,EAAA;QACV/B,QAAQ,EAAE+B,OAAO,CAAC/B,QAAQ,CAACgC,MAAM,CAAC,UAAA1B,OAAO,EAAA;AAAA,UAAA,OACvCA,OAAO,CAAC3B,KAAK,CAACsD,WAAW,EAAE,CAACC,QAAQ,CAACP,YAAY,CAACM,WAAW,EAAE,CAAC,CAAA;SAClE,CAAA;AAAC,OAAA,CAAA,CAAA;AAAA,KACD,CAAC,CACFD,MAAM,CAAC,UAAAD,OAAO,EAAA;AAAA,MAAA,OACbI,SAAS,CAACR,YAAY,CAAC,GAAGS,UAAU,CAACL,OAAO,CAAC/B,QAAQ,CAAC,GAAG,IAAI,CAAA;AAAA,KAC/D,CAAC,CAAA;AAAA,GAAA,EACL,CAAC2B,YAAY,EAAEL,eAAe,CAChC,CAAC,CAAA;EAED,oBACE3B,IAAA,CAAAQ,QAAA,EAAA;IAAAZ,QAAA,EAAA,cACEjB,GAAA,CAACoC,UAAQ,EAAA;AAAOE,MAAAA,uBAAuB,EAAvBA,uBAAuB;AAAED,MAAAA,wBAAwB,EAAxBA,wBAAAA;KAA6B,CAAC,eACvErC,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,WAAW;MAAAe,QAAA,eACxBjB,GAAA,CAAC+D,KAAK,EAAA;QACJC,SAAS,EAAA,IAAA;AACT,QAAA,aAAA,EAAY,6BAA6B;AACzCC,QAAAA,WAAW,EAAExB,CAAC,CAAC,8CAA8C,CAAE;AAC/DyB,QAAAA,MAAM,eAAElE,GAAA,CAACmE,MAAM,IAAE,CAAE;AACnBjC,QAAAA,KAAK,EAAEmB,YAAa;QACpBe,QAAQ,EAAEC,oBAAoB,CAACf,eAAe,CAAA;OAC/C,CAAA;AAAC,KACC,CAAC,eACNtD,GAAA,CAACN,IAAI,EAAA;AAAC,MAAA,aAAA,EAAY,oBAAoB;AAACE,MAAAA,IAAI,EAAC,OAAO;AAAAqB,MAAAA,QAAA,EAChDsC,gBAAgB,CAACxB,GAAG,CAAC,UAAA0B,OAAO,EAAA;QAAA,oBAC3BxB,aAAA,CAACT,OAAO,EAAA;AACAG,UAAAA,QAAQ,EAARA,QAAQ;UACdhB,sBAAsB,EAAE8C,OAAO,CAAC9C,sBAAuB;UACvDe,QAAQ,EAAE+B,OAAO,CAAC/B,QAAS;UAC3BjB,WAAW,EAAEgD,OAAO,CAAChD,WAAY;UACjC0B,GAAG,EAAEsB,OAAO,CAACtB,GAAI;UACjBV,KAAK,EAAEgC,OAAO,CAAChC,KAAAA;AAAM,SACtB,CAAC,CAAA;OACH,CAAA;AAAC,KACE,CAAC,CAAA;AAAA,GACP,CAAC,CAAA;AAEP,CAAC;;;;;AChED,IAAM6C,QAAQ,GAAG,SAAXA,QAAQA,CAAA3E,IAAA,EAAA;AAAA,EAAA,IAAA4E,SAAA,GAAA5E,IAAA,CAAMC,IAAI;AAAJA,IAAAA,IAAI,GAAA2E,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;AAAKC,IAAAA,UAAU,GAAA1E,wBAAA,CAAAH,IAAA,EAAAI,WAAA,CAAA,CAAA;AAAA,EAAA,oBAC1CC,GAAA,CAAA,KAAA,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACEwE,IAAAA,IAAI,EAAC,cAAc;AACnBC,IAAAA,MAAM,EAAE9E,IAAK;AACb+E,IAAAA,OAAO,EAAC,gBAAgB;AACxBC,IAAAA,KAAK,EAAEhF,IAAK;AACZiF,IAAAA,KAAK,EAAC,4BAAA;AAA4B,GAAA,EAC9BL,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAvD,IAAAA,QAAA,eAEdjB,GAAA,CAAA,MAAA,EAAA;AAAM8E,MAAAA,CAAC,EAAC,gmBAAA;KAAkmB,CAAA;AAAC,GAAA,CACxmB,CAAC,CAAA;AAAA,CACP;;;ACAD,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAApF,IAAA,EASf;AAAA,EAAA,IARJqC,OAAO,GAAArC,IAAA,CAAPqC,OAAO;IACPgD,QAAQ,GAAArF,IAAA,CAARqF,QAAQ;IACRC,mBAAmB,GAAAtF,IAAA,CAAnBsF,mBAAmB;IAAAC,iBAAA,GAAAvF,IAAA,CACnBwF,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IAAAE,WAAA,GAAAzF,IAAA,CACnB0F,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAE,YAAA,GAAA3F,IAAA,CACX4F,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAAE,gBAAA,GAAA7F,IAAA,CACZ8F,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;AAChB3F,IAAAA,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA,CAAA,CAAA;AAER,EAAA,IAAMO,IAAI,GAAG0B,OAAO,CAACzB,IAAI,CAAA;AACzB,EAAA,IAAMmF,cAAc,GAAGC,MAAM,EAAE,CAAA;AAE/B,EAAA,IAAMjF,OAAO,GAAG,SAAVA,OAAOA,GAAA;IAAA,OAASuE,mBAAmB,CAACjD,OAAO,CAAC,CAAA;AAAA,GAAA,CAAA;AAElD,EAAA,IAAM4D,kBAAkB,GAAG9B,UAAU,CAACyB,OAAO,CAAC,CAAA;AAE9C,EAAA,IAAMM,SAAS,GACb,OAAON,OAAO,KAAK,UAAU,GACzBA,OAAO,CAACvD,OAAO,CAAC,GAChBuD,OAAO,CAACxD,GAAG,CAAC,UAAA+D,MAAM,EAAA;IAAA,OAChBC,UAAU,CAACD,MAAM,EAAE;MACjBpF,OAAO,EAAE,SAAAA,OAAAA,GAAM;AACboF,QAAAA,MAAM,CAACpF,OAAO,CAACsB,OAAO,CAAC,CAAA;AACzB,OAAA;AACF,KAAC,CAAC,CAAA;AAAA,GACJ,CAAC,CAAA;AAEPgE,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,WAAW,GAAGP,cAAc,CAACQ,OAAO,CAAA;AAE1C,IAAA,IACE,CAACD,WAAW,IACZ,CAACjB,QAAQ,IACT,QAAOiB,WAAW,KAAXA,IAAAA,IAAAA,WAAW,uBAAXA,WAAW,CAAEE,cAAc,CAAA,KAAK,UAAU,EACjD;AACA,MAAA,OAAA;AACF,KAAA;IACAF,WAAW,CAACE,cAAc,CAAC;AAAEC,MAAAA,QAAQ,EAAE,QAAQ;AAAEC,MAAAA,KAAK,EAAE,SAAA;AAAU,KAAC,CAAC,CAAA;AACtE,GAAC,EAAE,CAACrB,QAAQ,EAAEU,cAAc,CAAC,CAAC,CAAA;EAE9B,IAAMY,KAAK,GAAGC,QAAQ,CAACvE,OAAO,CAACwE,EAAE,EAAEnB,MAAM,CAAC,CAAA;AAE1C,EAAA,oBACEhE,IAAA,CAAA,KAAA,EAAA;IACE,aAAaxB,EAAAA,KAAK,CAAC,aAAa,CAAE;AAClC4G,IAAAA,GAAG,EAAEf,cAAe;AACpBxF,IAAAA,SAAS,EAAEC,UAAU,CACnB,mNAAmN,EACnN;AAAE,MAAA,yCAAyC,EAAE6E,QAAAA;AAAS,KAAC,EACvD;AAAE,MAAA,mDAAmD,EAAEsB,KAAAA;AAAM,KAC/D,CAAE;AACF5F,IAAAA,OAAO,EAAEyE,YAAY,GAAGzE,OAAO,GAAGU,IAAK;IAAAH,QAAA,EAAA,CAEtCwE,WAAW,iBACVzF,GAAA,CAAA,MAAA,EAAA;AAAME,MAAAA,SAAS,EAAC,wEAAwE;MAAAe,QAAA,eACtFjB,GAAA,CAACsE,QAAQ,EAAA;AAAC1E,QAAAA,IAAI,EAAE,EAAA;OAAK,CAAA;KACjB,CACP,eACDyB,IAAA,CAAA,KAAA,EAAA;AACEnB,MAAAA,SAAS,EAAC,mDAAmD;AAC7D,MAAA,SAAA,EAAQ,mBAAmB;MAAAe,QAAA,EAAA,CAE1BX,IAAI,iBACHN,GAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,eAAe;AAAAe,QAAAA,QAAA,eAC5BjB,GAAA,CAACM,IAAI,EAAE,EAAA,CAAA;AAAC,OACL,CACN,eACDN,GAAA,CAACsB,UAAU,EAAA;AACTpB,QAAAA,SAAS,EAAC,uBAAuB;QACjC,SAAAgB,EAAAA,EAAAA,CAAAA,MAAA,CAAYwF,SAAS,CAAC1E,OAAO,CAAC3B,KAAK,EAAE,aAAa,CAAC,EAAS,QAAA,CAAA;AAC5DkB,QAAAA,KAAK,EAAC,OAAO;QAAAN,QAAA,EAEZe,OAAO,CAAC3B,KAAAA;AAAK,OACJ,CAAC,CAAA;AAAA,KACV,CAAC,EACLuF,kBAAkB,iBACjB5F,GAAA,CAAC2G,YAAY,EAAA;AACLd,MAAAA,SAAS,EAATA,SAAS;MACfe,UAAU,EAAE5E,OAAO,CAAC6E,SAAU;AAC9BC,MAAAA,mBAAmB,EAAE;AACnB5G,QAAAA,SAAS,EAAE,uBAAuB;QAClC,aAAa,EAAA,EAAA,CAAAgB,MAAA,CAAKwF,SAAS,CAAC1E,OAAO,CAAC3B,KAAK,CAAC,EAAgB,gBAAA,CAAA;QAC1D,SAAS,EAAA,EAAA,CAAAa,MAAA,CAAKwF,SAAS,CACrB1E,OAAO,CAAC3B,KAAK,EACb,aACF,CAAC,EAAgB,gBAAA,CAAA;QACjB0G,OAAO,EAAE/E,OAAO,CAAC6E,SAAAA;AACnB,OAAA;AAAE,KACH,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,wBAAeG,aAAAA,IAAI,CAACjC,eAAe,CAAC;;ACrGpC,IAAM3C,QAAQ,GAAG,SAAXA,QAAQA,CAAAzC,IAAA,EAOR;AAAA,EAAA,IANJ0C,wBAAwB,GAAA1C,IAAA,CAAxB0C,wBAAwB;IACxB4E,SAAS,GAAAtH,IAAA,CAATsH,SAAS;IACTC,sBAAsB,GAAAvH,IAAA,CAAtBuH,sBAAsB;IACtBC,mBAAmB,GAAAxH,IAAA,CAAnBwH,mBAAmB;IACnBC,cAAc,GAAAzH,IAAA,CAAdyH,cAAc;IACdC,kBAAkB,GAAA1H,IAAA,CAAlB0H,kBAAkB,CAAA;AAElB,EAAA,IAAA9E,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAM6E,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;IAAA,OAASjF,wBAAwB,CAAC,IAAI,CAAC,CAAA;AAAA,GAAA,CAAA;AAE7D,EAAA,oBACEhB,IAAA,CAAA,KAAA,EAAA;AACEnB,IAAAA,SAAS,EAAC,4CAA4C;AACtD,IAAA,aAAA,EAAY,yBAAyB;IAAAe,QAAA,EAAA,cAErCjB,GAAA,CAACsB,UAAU,EAAA;AACT,MAAA,SAAA,EAAQ,gBAAgB;AACxBqB,MAAAA,UAAU,EAAC,QAAQ;AACnBpB,MAAAA,KAAK,EAAC,IAAI;AACVqB,MAAAA,MAAM,EAAC,UAAU;AAAA3B,MAAAA,QAAA,EAEhBwB,CAAC,CAAC,uCAAuC,EAAE8E,MAAM,CAAA;KACxC,CAAC,eACblG,IAAA,CAAA,KAAA,EAAA;AAAKnB,MAAAA,SAAS,EAAC,6CAA6C;MAAAe,QAAA,EAAA,cAC1DjB,GAAA,CAAC6C,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,oBAAoB;AAC5B,QAAA,aAAA,EAAY,oBAAoB;AAChC/B,QAAAA,QAAQ,EAAEmG,SAAU;AACpB5G,QAAAA,KAAK,EAAEoC,CAAC,CAAC,6CAA6C,CAAE;AACxDsE,QAAAA,OAAO,EAAEM,kBAAmB;AAC5BzH,QAAAA,IAAI,EAAC,OAAO;AACZ2B,QAAAA,KAAK,EAAC,WAAW;AACjBb,QAAAA,OAAO,EAAE4G,gBAAAA;AAAiB,OAC3B,CAAC,EACDJ,sBAAsB,iBACrBlH,GAAA,CAAC6C,MAAM,EAAA;AACL,QAAA,SAAA,EAAQ,yBAAyB;AACjC/B,QAAAA,QAAQ,EAAEqG,mBAAoB;AAC9B5G,QAAAA,IAAI,EAAEiH,KAAM;AACZT,QAAAA,OAAO,EAAEI,mBAAoB;AAC7BvH,QAAAA,IAAI,EAAC,OAAO;AACZ2B,QAAAA,KAAK,EAAC,WAAW;AACjBkG,QAAAA,YAAY,EAAE;AACZ5G,UAAAA,OAAO,EAAE4B,CAAC,CAAC,8CAA8C,CAAC;AAC1DzB,UAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;SACnB;AACFN,QAAAA,OAAO,EAAE0G,cAAAA;AAAe,OACzB,CACF,CAAA;AAAA,KACE,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC;;;;AClDD,IAAMM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA/H,IAAA,EAepB;AAAA,EAAA,IAdJgI,aAAa,GAAAhI,IAAA,CAAbgI,aAAa;IACb1C,mBAAmB,GAAAtF,IAAA,CAAnBsF,mBAAmB;IACnB2C,cAAc,GAAAjI,IAAA,CAAdiI,cAAc;IACdC,gBAAgB,GAAAlI,IAAA,CAAhBkI,gBAAgB;IAChBC,iBAAiB,GAAAnI,IAAA,CAAjBmI,iBAAiB;IACjBC,gBAAgB,GAAApI,IAAA,CAAhBoI,gBAAgB;IAChB1F,wBAAwB,GAAA1C,IAAA,CAAxB0C,wBAAwB;IACxB2F,gBAAgB,GAAArI,IAAA,CAAhBqI,gBAAgB;IAChBC,iBAAiB,GAAAtI,IAAA,CAAjBsI,iBAAiB;IACjBC,sBAAsB,GAAAvI,IAAA,CAAtBuI,sBAAsB;IACtBd,cAAc,GAAAzH,IAAA,CAAdyH,cAAc;IACdD,mBAAmB,GAAAxH,IAAA,CAAnBwH,mBAAmB;IACnBD,sBAAsB,GAAAvH,IAAA,CAAtBuH,sBAAsB;IACtBG,kBAAkB,GAAA1H,IAAA,CAAlB0H,kBAAkB,CAAA;AAElB,EAAA,IAAMc,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAInG,OAAO,EAAA;AAAA,IAAA,IAAEoG,KAAK,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;IAAA,oBAC/CpG,aAAA,CAAC8C,iBAAe,EAAA;AACR/C,MAAAA,OAAO,EAAPA,OAAO;AAAEiD,MAAAA,mBAAmB,EAAnBA,mBAAmB;AAAEmD,MAAAA,KAAK,EAALA,KAAK;MACzCjD,YAAY,EAAA,IAAA;MACZI,OAAO,EAAEvD,OAAO,CAACuD,OAAQ;AACzBP,MAAAA,QAAQ,EAAE8C,iBAAiB,KAAK9F,OAAO,CAACwE,EAAG;AAC3CrE,MAAAA,GAAG,EAAEH,OAAO,CAACwE,EAAE,IAAI4B,KAAM;AACzB,MAAA,SAAA,EAAA,iBAAA,CAAAlH,MAAA,CACEsH,KAAK,CAACC,OAAO,CAACR,iBAAiB,CAAC,GAAA/G,GAAAA,CAAAA,MAAA,CAAOkH,KAAK,GAAG,CAAC,CAAA,GAAK,EAAE,CACtD;AACH,MAAA,aAAA,EAAA,gBAAA,CAAAlH,MAAA,CACEsH,KAAK,CAACC,OAAO,CAACR,iBAAiB,CAAC,GAAA,GAAA,CAAA/G,MAAA,CAAOkH,KAAK,GAAG,CAAC,IAAK,EAAE,CAAA;AACtD,KACJ,CAAC,CAAA;GACH,CAAA;EAED,oBACE/G,IAAA,CAAAQ,QAAA,EAAA;IAAAZ,QAAA,EAAA,cACEjB,GAAA,CAACoC,QAAQ,EAAA;AAELgF,MAAAA,cAAc,EAAdA,cAAc;AACdD,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBE,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBhF,MAAAA,wBAAwB,EAAxBA,wBAAwB;AACxB6E,MAAAA,sBAAsB,EAAtBA,sBAAAA;AAAsB,KAEzB,CAAC,eACF7F,IAAA,CAAC3B,IAAI,EAAA;AAAC,MAAA,aAAA,EAAY,6BAA6B;AAAAuB,MAAAA,QAAA,EAC5CuH,CAAAA,KAAK,CAACC,OAAO,CAACR,iBAAiB,CAAC,GAC7BnE,UAAU,CAACmE,iBAAiB,CAAC,IAC7BA,iBAAiB,CAAClG,GAAG,CAACoG,qBAAqB,CAAC,GAC5CtE,SAAS,CAACoE,iBAAiB,CAAC,IAC5BE,qBAAqB,CAACF,iBAAiB,CAAC,eAC5CjI,GAAA,CAAC0I,eAAe,EAAA;AAACC,QAAAA,SAAS,EAAEhB,aAAc;QAAA1G,QAAA,eACxCjB,GAAA,CAAC4I,SAAS,EAAA;AAACC,UAAAA,WAAW,EAAC,yBAAyB;UAAA5H,QAAA,EAC7C,SAAAA,QAAAA,CAAA6H,KAAA,EAAA;AAAA,YAAA,IAAGC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;cAAEC,cAAc,GAAAF,KAAA,CAAdE,cAAc;cAAE/E,WAAW,GAAA6E,KAAA,CAAX7E,WAAW,CAAA;AAAA,YAAA,oBACvC5C,IAAA,CAAA,KAAA,EAAApB,aAAA,CAAAA,aAAA,CAAA;AACEwG,cAAAA,GAAG,EAAEsC,QAAAA;AAAS,aAAA,EACVC,cAAc,CAAA,EAAA,EAAA,EAAA;AAClB,cAAA,aAAA,EAAY,uCAAuC;AAAA/H,cAAAA,QAAA,EAElD8G,CAAAA,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAgB,CAAEhG,GAAG,CAAC,UAACC,OAAO,EAAEoG,KAAK,EAAK;AAAA,gBAAA,IAAAa,iBAAA,EAAAC,WAAA,EAAAC,YAAA,CAAA;AACzC,gBAAA,IAAMC,SAAS,GAAAH,CAAAA,iBAAA,GAAGpB,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAG7F,OAAO,CAAC,MAAA,IAAA,IAAAiH,iBAAA,KAAAA,KAAAA,CAAAA,GAAAA,iBAAA,GAAI,IAAI,CAAA;AAErD,gBAAA,IAAI,CAACG,SAAS,EAAE,OAAO,IAAI,CAAA;gBAE3B,IAAMjH,GAAG,IAAA+G,WAAA,GACPlH,OAAO,CAACwE,EAAE,cAAA0C,WAAA,KAAA,KAAA,CAAA,GAAAA,WAAA,GAAAhI,UAAAA,CAAAA,MAAA,CAAeC,cAAc,CAACa,OAAO,CAAC3B,KAAK,CAAC,CAAE,CAAA;gBAE1D,oBACE4B,aAAA,CAACoH,SAAS,EAAA;AACFjB,kBAAAA,KAAK,EAALA,KAAK;AAAER,kBAAAA,cAAc,EAAdA,cAAc;AAC3B0B,kBAAAA,WAAW,EAAAH,CAAAA,YAAA,GAAEnH,OAAO,CAACwE,EAAE,MAAA,IAAA,IAAA2C,YAAA,KAAA,KAAA,CAAA,GAAAA,YAAA,GAAA,UAAA,CAAAjI,MAAA,CAAekH,KAAK,CAAG;AAC9CjG,kBAAAA,GAAG,EAAEA,GAAAA;AAAI,iBAAA,EAER,UAAAoH,KAAA,EAAA;AAAA,kBAAA,IAAAC,YAAA,CAAA;AAAA,kBAAA,IAAGT,QAAQ,GAAAQ,KAAA,CAARR,QAAQ;oBAAEU,cAAc,GAAAF,KAAA,CAAdE,cAAc;oBAAEC,eAAe,GAAAH,KAAA,CAAfG,eAAe,CAAA;AAAA,kBAAA,oBAC3C1J,GAAA,CAAAC,KAAAA,EAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACEwG,oBAAAA,GAAG,EAAEsC,QAAAA;mBACDU,EAAAA,cAAc,GACdC,eAAe,CAAA,EAAA,EAAA,EAAA;oBAAAzI,QAAA,eAEnBgB,aAAA,CAAC8C,iBAAe,EAAA;AACR/C,sBAAAA,OAAO,EAAPA,OAAO;AAAEiD,sBAAAA,mBAAmB,EAAnBA,mBAAmB;sBAClCE,YAAY,EAAA,IAAA;AACZI,sBAAAA,OAAO,EAAE2C,sBAAuB;AAChClD,sBAAAA,QAAQ,EAAE8C,iBAAiB,KAAK9F,OAAO,CAACwE,EAAG;sBAC3Cf,WAAW,EAAE,CAACmC,cAAe;sBAC7BzF,GAAG,EAAA,CAAAqH,YAAA,GAAExH,OAAO,CAACwE,EAAE,MAAAgD,IAAAA,IAAAA,YAAA,KAAAA,KAAAA,CAAAA,GAAAA,YAAA,GAAIpB,KAAAA;qBACpB,CAAA;AAAC,mBAAA,CACC,CAAC,CAAA;AAAA,iBAEC,CAAC,CAAA;eAEf,CAAC,EACDnE,WAAW,CAAA;AAAA,aAAA,CACT,CAAC,CAAA;AAAA,WAAA;SAEC,CAAA;OACI,CAAC,EACjBJ,SAAS,CAACmE,gBAAgB,CAAC,iBAC1BhI,GAAA,CAAC+E,iBAAe,EAAA;AACRE,QAAAA,mBAAmB,EAAnBA,mBAAmB;QACzBE,YAAY,EAAA,IAAA;QACZI,OAAO,EAAEyC,gBAAgB,CAACzC,OAAQ;AAClC,QAAA,SAAA,EAAQ,uBAAuB;AAC/B,QAAA,aAAA,EAAY,sBAAsB;AAClCvD,QAAAA,OAAO,EAAEgG,gBAAiB;AAC1BhD,QAAAA,QAAQ,EAAE8C,iBAAiB,KAAKE,gBAAgB,CAACxB,EAAAA;AAAG,OACrD,CACF,CAAA;AAAA,KACG,CAAC,CAAA;AAAA,GACP,CAAC,CAAA;AAEP,CAAC;;ACvGD,IAAMmD,aAAa,GAAG,SAAhBA,aAAaA,CAAAhK,IAAA,EAgBb;AAAA,EAAA,IAfJqD,eAAe,GAAArD,IAAA,CAAfqD,eAAe;IAAA4G,qBAAA,GAAAjK,IAAA,CACfoI,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAA6B,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACrBtC,gBAAgB,GAAA3H,IAAA,CAAhB2H,gBAAgB;IAChBO,gBAAgB,GAAAlI,IAAA,CAAhBkI,gBAAgB;IAAAgC,qBAAA,GAAAlK,IAAA,CAChBsI,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA4B,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACtB7B,gBAAgB,GAAArI,IAAA,CAAhBqI,gBAAgB;IAAA8B,kBAAA,GAAAnK,IAAA,CAChBgI,aAAa;AAAbA,IAAAA,aAAa,GAAAmC,kBAAA,KAAG1I,KAAAA,CAAAA,GAAAA,IAAI,GAAA0I,kBAAA;IAAAC,mBAAA,GAAApK,IAAA,CACpBiI,cAAc;AAAdA,IAAAA,cAAc,GAAAmC,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IACrB9E,mBAAmB,GAAAtF,IAAA,CAAnBsF,mBAAmB;IACnB6C,iBAAiB,GAAAnI,IAAA,CAAjBmI,iBAAiB;IACjBI,sBAAsB,GAAAvI,IAAA,CAAtBuI,sBAAsB;IAAA8B,mBAAA,GAAArK,IAAA,CACtByH,cAAc;AAAdA,IAAAA,cAAc,GAAA4C,mBAAA,KAAG5I,KAAAA,CAAAA,GAAAA,IAAI,GAAA4I,mBAAA;IAAAC,qBAAA,GAAAtK,IAAA,CACrBwH,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAA8C,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAAvK,IAAA,CAC3BuH,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAgD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAAxK,IAAA,CAC9B0H,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAA8C,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;AAE1B,EAAA,IAAAlH,SAAA,GAA0DC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEmH,IAAAA,qBAAqB,GAAAjH,UAAA,CAAA,CAAA,CAAA;AAAEd,IAAAA,wBAAwB,GAAAc,UAAA,CAAA,CAAA,CAAA,CAAA;AACtD,EAAA,IAAAkH,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC,CAAA;AAExC,EAAA,IAAAE,UAAA,GAAgEvH,QAAQ,CACtE,CAACsH,cACH,CAAC;IAAAE,UAAA,GAAAtH,cAAA,CAAAqH,UAAA,EAAA,CAAA,CAAA;AAFME,IAAAA,wBAAwB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,2BAA2B,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAI5D,EAAA,IAAMpI,uBAAuB,GAAGV,OAAO,CAACmG,gBAAgB,CAAC,CAAA;AACzD,EAAA,IAAM8C,sBAAsB,GAC1BvI,uBAAuB,IAAI8H,qBAAqB,CAAA;AAElD,EAAA,IAAMU,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAG9I,OAAO,EAAI;IACrCK,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAC/BiF,gBAAgB,CAACtF,OAAO,CAAC,CAAA;GAC1B,CAAA;AAEDgE,EAAAA,SAAS,CAAC,YAAM;IACd4E,2BAA2B,CAAC,CAACJ,cAAc,CAAC,CAAA;AAC9C,GAAC,EAAE,CAACA,cAAc,CAAC,CAAC,CAAA;EAEpB,oBACEnJ,IAAA,CAAAQ,QAAA,EAAA;AAAAZ,IAAAA,QAAA,EACG,CAAA,CAAC0J,wBAAwB,iBACxB3K,GAAA,CAAA,KAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,yCAAyC;MACnDQ,OAAO,EAAE,SAAAA,OAAAA,GAAM;QACbkK,2BAA2B,CAAC,CAACD,wBAAwB,CAAC,CAAA;AACxD,OAAA;KACD,CACF,eACDtJ,IAAA,CAAA,KAAA,EAAA;AACEnB,MAAAA,SAAS,EAAEC,UAAU,CACnB,sDAAsD,EACtD;AACE,QAAA,iEAAiE,EAC/DwK,wBAAAA;AACJ,OACF,CAAE;AAAA1J,MAAAA,QAAA,gBAEFjB,GAAA,CAAA,KAAA,EAAA;AAAKE,QAAAA,SAAS,EAAC,wDAAwD;AAAAe,QAAAA,QAAA,eACrEjB,GAAA,CAAA,KAAA,EAAA;AACEE,UAAAA,SAAS,EAAC,+DAA+D;UACzEQ,OAAO,EAAE,SAAAA,OAAAA,CAAAqK,KAAK,EAAA;AAAA,YAAA,OAAIA,KAAK,CAACC,eAAe,EAAE,CAAA;WAAC;AAAA/J,UAAAA,QAAA,EAEzC4J,sBAAsB,gBACrB7K,GAAA,CAAC8C,WAAW,EAAA;AAERE,YAAAA,eAAe,EAAfA,eAAe;AACfV,YAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBD,YAAAA,wBAAwB,EAAxBA,wBAAwB;AAE1BV,YAAAA,QAAQ,EAAEmJ,mBAAAA;AAAoB,WAC/B,CAAC,gBAEF9K,GAAA,CAAC0H,oBAAoB,EAAA;AAEjBN,YAAAA,cAAc,EAAdA,cAAc;AACda,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBD,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBL,YAAAA,aAAa,EAAbA,aAAa;AACb1C,YAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBkC,YAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBE,YAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBO,YAAAA,cAAc,EAAdA,cAAc;AACdC,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBK,YAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBJ,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB1F,YAAAA,wBAAwB,EAAxBA,wBAAwB;AACxB6E,YAAAA,sBAAsB,EAAtBA,sBAAAA;WAEH,CAAA;SAEA,CAAA;AAAC,OACH,CAAC,eACNlH,GAAA,CAAC6C,MAAM,EAAA;AACL3C,QAAAA,SAAS,EAAC,sDAAsD;AAChEK,QAAAA,IAAI,EAAE0K,QAAS;AACf1J,QAAAA,KAAK,EAAC,WAAW;QACjBb,OAAO,EAAE,SAAAA,OAAAA,GAAM;UACbkK,2BAA2B,CAAC,CAACD,wBAAwB,CAAC,CAAA;AACxD,SAAA;AAAE,OACH,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GACN,CAAC,CAAA;AAEP;;ACpHA,IAAMO,aAAa,GAAGC,KAAK,CAAC,UAAAxL,IAAA,EAAA;AAAA,EAAA,IAAG8C,CAAC,GAAA9C,IAAA,CAAD8C,CAAC,CAAA;AAAA,EAAA,oBAC9BpB,IAAA,CAAA,KAAA,EAAA;AAAKnB,IAAAA,SAAS,EAAC,qBAAqB;AAAAe,IAAAA,QAAA,gBAClCjB,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,uIAAuI;MAAAe,QAAA,eACpJjB,GAAA,CAACsB,UAAU,EAAA;AACTpB,QAAAA,SAAS,EAAC,aAAa;AACvB,QAAA,SAAA,EAAQ,uBAAuB;AAC/ByC,QAAAA,UAAU,EAAC,QAAQ;AACnBpB,QAAAA,KAAK,EAAC,OAAO;QAAAN,QAAA,EAEZwB,CAAC,CAAC,oDAAoD,CAAA;OAC7C,CAAA;KACT,CAAC,eACNzC,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;KAAwD,CAAC,eACxEF,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;AAAsD,KAAE,CAAC,CAAA;AAAA,GACrE,CAAC,CAAA;AAAA,CACP,CAAC;;ACdF,IAAMkL,QAAQ,GAAGD,KAAK,CAAC,UAAAxL,IAAA,EAAA;AAAA,EAAA,IAAG8C,CAAC,GAAA9C,IAAA,CAAD8C,CAAC,CAAA;AAAA,EAAA,oBACzBpB,IAAA,CAAA,KAAA,EAAA;AAAKnB,IAAAA,SAAS,EAAC,qBAAqB;AAAAe,IAAAA,QAAA,gBAClCjB,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;KAAwD,CAAC,eACxEmB,IAAA,CAAA,KAAA,EAAA;AAAKnB,MAAAA,SAAS,EAAC,uIAAuI;MAAAe,QAAA,EAAA,cACpJjB,GAAA,CAACsB,UAAU,EAAA;AACTpB,QAAAA,SAAS,EAAC,aAAa;AACvB,QAAA,SAAA,EAAQ,uBAAuB;AAC/ByC,QAAAA,UAAU,EAAC,QAAQ;AACnBpB,QAAAA,KAAK,EAAC,OAAO;QAAAN,QAAA,EAEZwB,CAAC,CAAC,uDAAuD,CAAA;AAAC,OACjD,CAAC,eACbzC,GAAA,CAACqL,SAAS,IAAE,CAAC,CAAA;KACV,CAAC,eACNrL,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;KAAwD,CAAC,eACxEF,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,sDAAA;AAAsD,KAAE,CAAC,CAAA;AAAA,GACrE,CAAC,CAAA;AAAA,CACP,CAAC;;ACTF,IAAMoL,eAAe,GAAG,SAAlBA,eAAeA,CAAA3L,IAAA,EAAkC;AAAA,EAAA,IAA5B6G,EAAE,GAAA7G,IAAA,CAAF6G,EAAE;IAAEvF,QAAQ,GAAAtB,IAAA,CAARsB,QAAQ;IAAEsK,OAAO,GAAA5L,IAAA,CAAP4L,OAAO,CAAA;AAC9C,EAAA,IAAAlB,eAAA,GAAmBC,cAAc,CAAC,UAAAkB,MAAM,EAAA;MAAA,OAAK;AAC3CC,QAAAA,YAAY,EAAED,MAAM,CAACE,UAAU,IAAI,IAAA;OACpC,CAAA;AAAA,KAAC,CAAC;IAFKnB,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;AAGd,EAAA,IAAMC,cAAc,GAAGD,MAAM,CAAC,cAAc,CAAC,CAAA;AAC7C,EAAA,IAAAtH,SAAA,GAAoEC,QAAQ,CAC1E,CAACsH,cACH,CAAC;IAAArH,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAFM0I,IAAAA,0BAA0B,GAAAxI,UAAA,CAAA,CAAA,CAAA;AAAEyI,IAAAA,6BAA6B,GAAAzI,UAAA,CAAA,CAAA,CAAA,CAAA;AAIhE6C,EAAAA,SAAS,CAAC,YAAM;IACd4F,6BAA6B,CAAC,CAACpB,cAAc,CAAC,CAAA;AAChD,GAAC,EAAE,CAACA,cAAc,CAAC,CAAC,CAAA;AAEpBxE,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACQ,EAAE,EAAE,OAAA;IACToF,6BAA6B,CAAC,KAAK,CAAC,CAAA;AACtC,GAAC,EAAE,CAACpF,EAAE,CAAC,CAAC,CAAA;AAER,EAAA,IAAMqF,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAChCD,6BAA6B,CAAC,CAACD,0BAA0B,CAAC,CAAA;AAC1DJ,IAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAG/E,EAAE,CAAC,CAAA;GACd,CAAA;EAED,oBACEnF,IAAA,CAAAQ,QAAA,EAAA;AAAAZ,IAAAA,QAAA,EACG,CAAA,CAAC0K,0BAA0B,iBAC1B3L,GAAA,CAAA,KAAA,EAAA;AACEE,MAAAA,SAAS,EAAC,2FAA2F;AACrGQ,MAAAA,OAAO,EAAEmL,mBAAAA;KACV,CACF,eACDxK,IAAA,CAAA,KAAA,EAAA;AACEnB,MAAAA,SAAS,EAAEC,UAAU,CACnB,2DAA2D,EAC3D;AACE,QAAA,sEAAsE,EACpEwL,0BAAAA;AACJ,OACF,CAAE;AAAA1K,MAAAA,QAAA,gBAEFjB,GAAA,CAAA,KAAA,EAAA;AACEE,QAAAA,SAAS,EAAC,oEAAoE;AAC9E,QAAA,SAAA,EAAQ,kBAAkB;QAAAe,QAAA,EAEzBA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAARA,QAAQ,gBAAIjB,GAAA,CAACoL,QAAQ,EAAE,EAAA,CAAA;AAAC,OACtB,CAAC,EACL,CAACO,0BAA0B,iBAC1B3L,GAAA,CAAC6C,MAAM,EAAA;AACL3C,QAAAA,SAAS,EAAC,iDAAiD;AAC3DK,QAAAA,IAAI,EAAEuL,KAAM;AACZvK,QAAAA,KAAK,EAAC,WAAW;AACjBb,QAAAA,OAAO,EAAEmL,mBAAAA;AAAoB,OAC9B,CACF,CAAA;AAAA,KACE,CAAC,CAAA;AAAA,GACN,CAAC,CAAA;AAEP,EAAC;AAEDP,eAAe,CAACJ,aAAa,GAAGA,aAAa;;;;"}
@@ -5,13 +5,13 @@ import classnames from 'classnames';
5
5
  import FileUpload$1 from '@bigbinary/neeto-icons/FileUpload';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
+ import path from 'path';
9
+ import { t } from 'i18next';
8
10
  import { n } from './inject-css-c86de496.js';
9
11
  import FileGeneric from '@bigbinary/neeto-icons/FileGeneric';
10
12
  import Check from '@bigbinary/neeto-icons/Check';
11
13
  import Close from '@bigbinary/neeto-icons/Close';
12
14
  import { motion } from 'framer-motion';
13
- import path from 'path';
14
- import { t } from 'i18next';
15
15
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
16
16
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
17
17
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
@@ -84,6 +84,116 @@ var DropZone = function DropZone(_ref) {
84
84
  }));
85
85
  };
86
86
 
87
+ var FILE_MIME_TYPES = {
88
+ pdf: ["application/pdf"],
89
+ doc: ["application/msword", "application/wps-writer"],
90
+ docx: ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],
91
+ xls: ["application/vnd.ms-excel"],
92
+ xlsx: ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],
93
+ csv: ["text/csv"],
94
+ txt: ["text/plain"],
95
+ rtf: ["application/rtf", "text/rtf"],
96
+ html: ["text/html"],
97
+ htm: ["text/html"],
98
+ md: ["text/markdown", "text/x-markdown"],
99
+ zip: ["application/zip"],
100
+ mp3: ["audio/mpeg"],
101
+ wma: ["audio/x-ms-wma", "video/x-ms-asf"],
102
+ mp4: ["video/mp4"],
103
+ mpg: ["video/mpeg"],
104
+ mpeg: ["video/mpeg"],
105
+ flv: ["video/x-flv"],
106
+ avi: ["video/x-msvideo"],
107
+ jpg: ["image/jpeg"],
108
+ jpeg: ["image/jpeg"],
109
+ png: ["image/png"],
110
+ gif: ["image/gif"]
111
+ };
112
+ var ERROR_CODES = {
113
+ FILE_TOO_LARGE: "file-too-large",
114
+ FILE_INVALID_TYPE: "file-invalid-type",
115
+ TOO_MANY_FILES: "too-many-files"
116
+ };
117
+ var DIRECT_UPLOAD_URL = "/api/direct_uploads";
118
+
119
+ var getAcceptedFileTypes = function getAcceptedFileTypes(allowedFileTypes) {
120
+ var accepted = {};
121
+ allowedFileTypes.split(", ").forEach(function (type) {
122
+ var mimeTypes = FILE_MIME_TYPES[type];
123
+ var extension = ".".concat(type);
124
+ if (isNotPresent(type) || isNotPresent(mimeTypes)) return;
125
+ mimeTypes.forEach(function (mimeType) {
126
+ if (accepted[mimeType]) accepted[mimeType].push(extension);else accepted[mimeType] = [extension];
127
+ });
128
+ });
129
+ return accepted;
130
+ };
131
+ var convertBytesToMb = function convertBytesToMb(bytes) {
132
+ return ((bytes - 10) / (1028 * 1024)).toFixed(2);
133
+ };
134
+ var renderErrorMessage = function renderErrorMessage(errorObject, maxFileSize, isMultiple) {
135
+ var error = errorObject.errors[0];
136
+ var file = errorObject.file;
137
+ if (error) {
138
+ var code = error.code;
139
+ if (code === ERROR_CODES.FILE_TOO_LARGE) {
140
+ return t("neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge", {
141
+ fileName: file.name,
142
+ maxSize: "".concat(Math.round(maxFileSize / 1048576), "MB")
143
+ });
144
+ } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {
145
+ return t("neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType", {
146
+ fileType: path.extname(file.name)
147
+ });
148
+ } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {
149
+ return t("neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles", {
150
+ maxFiles: 1
151
+ });
152
+ }
153
+ }
154
+ return t("neetoMolecules.fileUpload.filesDropzone.errors.defaultError", {
155
+ fileName: file.name
156
+ });
157
+ };
158
+ var convertMbToBytes = function convertMbToBytes(mb) {
159
+ return mb * 1028 * 1024 + 10;
160
+ };
161
+
162
+ var ErrorMessages = function ErrorMessages(_ref) {
163
+ var fileRejections = _ref.fileRejections,
164
+ maxFileSizeInBytes = _ref.maxFileSizeInBytes;
165
+ var _useTranslation = useTranslation(),
166
+ t = _useTranslation.t;
167
+ var hasMultipleFileErrors = fileRejections.some(function (_ref2) {
168
+ var errors = _ref2.errors;
169
+ return errors[0].code === ERROR_CODES.TOO_MANY_FILES;
170
+ });
171
+ return /*#__PURE__*/jsxs(Fragment, {
172
+ children: [hasMultipleFileErrors && /*#__PURE__*/jsx("p", {
173
+ className: "neeto-molecules-input__error-text",
174
+ "data-cy": "form-file-upload-input-error",
175
+ children: /*#__PURE__*/jsx("span", {
176
+ className: "neeto-molecules-input__error-text-style-handle",
177
+ children: t("neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles", {
178
+ maxFiles: 1
179
+ })
180
+ })
181
+ }), fileRejections.filter(function (_ref3) {
182
+ var errors = _ref3.errors;
183
+ return errors[0].code !== ERROR_CODES.TOO_MANY_FILES;
184
+ }).map(function (file, index) {
185
+ return /*#__PURE__*/jsx("p", {
186
+ className: "neeto-molecules-input__error-text",
187
+ "data-cy": "form-file-upload-input-error",
188
+ children: /*#__PURE__*/jsx("span", {
189
+ className: "neeto-molecules-input__error-text-style-handle",
190
+ children: renderErrorMessage(file, maxFileSizeInBytes, false)
191
+ })
192
+ }, index);
193
+ })]
194
+ });
195
+ };
196
+
87
197
  var css = ":root{--neeto-molecules-file-upload-dropzone-color:var(--neeto-ui-gray-800),1;--neeto-molecules-file-upload-dropzone-help-text-color:var(--neeto-ui-gray-700),1;--neeto-molecules-file-upload-dropzone-icon-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-dropzone-background-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-dropzone-hover-background-color:var(--neeto-ui-gray-100,1);--neeto-molecules-file-upload-dropzone-border-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-border-radius:var(--neeto-ui-rounded-md);--neeto-molecules-file-upload-transition:var(--neeto-ui-transition);--neeto-molecules-file-upload-list-item-border-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-list-item-background-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-preview-icon-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-progress-ring-background-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-success-background-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-success-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-cancel-background-color:var(--neeto-ui-error-500),1;--neeto-molecules-file-upload-cancel-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-error-color:var(--neeto-ui-error-500),1;--neeto-molecules-file-upload-error-background-color:var(--neeto-ui-white),1}.neeto-molecules-file-upload__dropzone{background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-dropzone-background-color));border:2px dashed rgba(var(--neeto-molecules-file-upload-dropzone-border-color));border-radius:var(--neeto-ui-rounded-md);border-radius:var(--neeto-molecules-file-upload-border-radius);color:rgba(var(--neeto-ui-gray-800),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-color));padding:1.5em;transition:var(--neeto-ui-transition);transition:var(--neeto-molecules-file-upload-transition)}.neeto-molecules-file-upload__dropzone:hover{background-color:rgba(1);background-color:rgba(var(--neeto-molecules-file-upload-dropzone-hover-background-color))}.neeto-molecules-file-upload__dropzone-inner{text-align:center}.neeto-molecules-file-upload__upload-icon{color:rgba(var(--neeto-ui-primary-500),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-icon-color));display:block;margin-bottom:1.25em;margin-left:auto;margin-right:auto}.neeto-molecules-file-upload__upload-label{display:flex;font-size:1rem;gap:.3125em;justify-content:center}.neeto-molecules-file-upload__choose-file{font-weight:500}.neeto-molecules-file-upload__dropzone-helper-block{margin-top:.5em}.neeto-molecules-file-upload__dropzone-helper-text{color:rgba(var(--neeto-ui-gray-700),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-help-text-color));display:block;font-size:.75rem;line-height:1.2;margin-bottom:.5rem}.neeto-molecules-file-upload__uploaded-list{list-style:none;margin:1.25em 0;padding:0}.neeto-molecules-file-upload__uploaded-list-item{align-items:center;background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-list-item-background-color));border:1px solid rgba(var(--neeto-molecules-file-upload-list-item-border-color));display:flex;gap:.75em;list-style:none;margin-bottom:-1px;padding:.5em .75em}.neeto-molecules-file-upload__uploaded-list-item:first-of-type{border-top-left-radius:var(--neeto-ui-rounded-md);border-top-left-radius:var(--neeto-molecules-file-upload-border-radius);border-top-right-radius:var(--neeto-ui-rounded-md);border-top-right-radius:var(--neeto-molecules-file-upload-border-radius)}.neeto-molecules-file-upload__uploaded-list-item:last-of-type{border-bottom-left-radius:var(--neeto-ui-rounded-md);border-bottom-left-radius:var(--neeto-molecules-file-upload-border-radius);border-bottom-right-radius:var(--neeto-ui-rounded-md);border-bottom-right-radius:var(--neeto-molecules-file-upload-border-radius)}.neeto-molecules-file-upload__file-preview{color:rgba(var(--neeto-ui-gray-400),1);color:rgba(var(--neeto-molecules-file-upload-preview-icon-color));position:relative}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress__circle-wrapper{color:rgba(var(--neeto-ui-primary-500),1);color:rgba(var(--neeto-molecules-file-upload-progress-ring-background-color));position:relative}.neeto-molecules-file-upload__file-info{word-wrap:break-word;display:flex;flex-direction:column;flex-grow:1;min-width:0;overflow-wrap:break-word}.neeto-molecules-file-upload__file-info-name{font-size:.875em;margin-bottom:.3125em}.neeto-molecules-file-upload__file-info-size{color:rgba(var(--neeto-ui-gray-700),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-help-text-color));font-size:.75em}.neeto-molecules-file-upload__actions{flex-shrink:0;margin-left:auto;position:relative}.neeto-molecules-file-upload__success-indicator{align-items:center;border-radius:100%;display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__success-indicator.neeto-molecules-file-upload__success-indicator--active{background-color:rgba(var(--neeto-ui-primary-500),1);background-color:rgba(var(--neeto-molecules-file-upload-success-background-color));color:rgba(var(--neeto-ui-white),1);color:rgba(var(--neeto-molecules-file-upload-success-color))}.neeto-molecules-file-upload__button--red{align-items:center;background-color:rgba(var(--neeto-ui-error-500),1);background-color:rgba(var(--neeto-molecules-file-upload-cancel-background-color));border-radius:100%;color:rgba(var(--neeto-ui-white),1);color:rgba(var(--neeto-molecules-file-upload-cancel-color));display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__remove-button{left:0;opacity:0;position:absolute;top:0;transition:var(--neeto-ui-transition);transition:var(--neeto-molecules-file-upload-transition);visibility:hidden}.neeto-molecules-file-upload__actions:hover .neeto-molecules-file-upload__remove-button{opacity:1;visibility:visible}.neeto-molecules-invisible{visibility:hidden}.neeto-molecules-input__error-text{font-size:.875rem;line-height:1.2;margin-top:.5em}.neeto-molecules-input__error-text-style-handle{background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-error-background-color));border-radius:3px;color:rgba(var(--neeto-ui-error-500),1);color:rgba(var(--neeto-molecules-file-upload-error-color));display:inline-block;font-size:.875rem;line-height:1.2;padding:3px 6px}";
88
198
  n(css,{});
89
199
 
@@ -171,81 +281,6 @@ var Progress = function Progress(_ref) {
171
281
  });
172
282
  };
173
283
 
174
- var FILE_MIME_TYPES = {
175
- pdf: ["application/pdf"],
176
- doc: ["application/msword", "application/wps-writer"],
177
- docx: ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],
178
- xls: ["application/vnd.ms-excel"],
179
- xlsx: ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],
180
- csv: ["text/csv"],
181
- txt: ["text/plain"],
182
- rtf: ["application/rtf", "text/rtf"],
183
- html: ["text/html"],
184
- htm: ["text/html"],
185
- md: ["text/markdown", "text/x-markdown"],
186
- zip: ["application/zip"],
187
- mp3: ["audio/mpeg"],
188
- wma: ["audio/x-ms-wma", "video/x-ms-asf"],
189
- mp4: ["video/mp4"],
190
- mpg: ["video/mpeg"],
191
- mpeg: ["video/mpeg"],
192
- flv: ["video/x-flv"],
193
- avi: ["video/x-msvideo"],
194
- jpg: ["image/jpeg"],
195
- jpeg: ["image/jpeg"],
196
- png: ["image/png"],
197
- gif: ["image/gif"]
198
- };
199
- var ERROR_CODES = {
200
- FILE_TOO_LARGE: "file-too-large",
201
- FILE_INVALID_TYPE: "file-invalid-type",
202
- TOO_MANY_FILES: "too-many-files"
203
- };
204
- var DIRECT_UPLOAD_URL = "/api/direct_uploads";
205
-
206
- var getAcceptedFileTypes = function getAcceptedFileTypes(allowedFileTypes) {
207
- var accepted = {};
208
- allowedFileTypes.split(", ").forEach(function (type) {
209
- var mimeTypes = FILE_MIME_TYPES[type];
210
- var extension = ".".concat(type);
211
- if (isNotPresent(type) || isNotPresent(mimeTypes)) return;
212
- mimeTypes.forEach(function (mimeType) {
213
- if (accepted[mimeType]) accepted[mimeType].push(extension);else accepted[mimeType] = [extension];
214
- });
215
- });
216
- return accepted;
217
- };
218
- var convertBytesToMb = function convertBytesToMb(bytes) {
219
- return ((bytes - 10) / (1028 * 1024)).toFixed(2);
220
- };
221
- var renderErrorMessage = function renderErrorMessage(errorObject, maxFileSize, isMultiple) {
222
- var error = errorObject.errors[0];
223
- var file = errorObject.file;
224
- if (error) {
225
- var code = error.code;
226
- if (code === ERROR_CODES.FILE_TOO_LARGE) {
227
- return t("neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge", {
228
- fileName: file.name,
229
- maxSize: "".concat(Math.round(maxFileSize / 1048576), "MB")
230
- });
231
- } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {
232
- return t("neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType", {
233
- fileType: path.extname(file.name)
234
- });
235
- } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {
236
- return t("neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles", {
237
- maxFiles: 1
238
- });
239
- }
240
- }
241
- return t("neetoMolecules.fileUpload.filesDropzone.errors.defaultError", {
242
- fileName: file.name
243
- });
244
- };
245
- var convertMbToBytes = function convertMbToBytes(mb) {
246
- return mb * 1028 * 1024 + 10;
247
- };
248
-
249
284
  var FilePreview = function FilePreview(_ref) {
250
285
  var file = _ref.file,
251
286
  isUploading = _ref.isUploading,
@@ -501,15 +536,9 @@ var FileUpload = function FileUpload(_ref) {
501
536
  progress: progress[file.name]
502
537
  });
503
538
  })
504
- }), isNotEmpty(fileRejections) && fileRejections.map(function (file, index) {
505
- return /*#__PURE__*/jsx("p", {
506
- className: "neeto-molecules-input__error-text",
507
- "data-cy": "form-file-upload-input-error",
508
- children: /*#__PURE__*/jsx("span", {
509
- className: "neeto-molecules-input__error-text-style-handle",
510
- children: renderErrorMessage(file, maxFileSizeInBytes, false)
511
- })
512
- }, index);
539
+ }), isNotEmpty(fileRejections) && /*#__PURE__*/jsx(ErrorMessages, {
540
+ fileRejections: fileRejections,
541
+ maxFileSizeInBytes: maxFileSizeInBytes
513
542
  }), shouldShowError && /*#__PURE__*/jsx("p", {
514
543
  className: "neeto-molecules-input__error-text",
515
544
  "data-cy": "form-file-upload-input-error",