@bigbinary/neeto-molecules 1.15.22 → 1.15.24-beta
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.
- package/dist/Builder.js +90 -22
- package/dist/Builder.js.map +1 -1
- package/dist/Rename.js +25 -8
- package/dist/Rename.js.map +1 -1
- package/dist/Settings.js +42 -12
- package/dist/Settings.js.map +1 -1
- package/dist/cjs/Builder.js +90 -22
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/Rename.js +23 -6
- package/dist/cjs/Rename.js.map +1 -1
- package/dist/cjs/Settings.js +41 -11
- package/dist/cjs/Settings.js.map +1 -1
- package/package.json +1 -1
- package/types/Builder.d.ts +8 -2
- package/types/Settings.d.ts +11 -9
package/dist/cjs/Builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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/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 React from \"react\";\n\nimport \"./styles.scss\";\n\nconst Body = props => (\n <div\n className=\"neeto-molecules-builder-questions-list-panel__scroll neeto-molecules-builder-questions-list-panel__scroll--small\"\n data-testid={props[\"data-testid\"]}\n >\n {props.children}\n </div>\n);\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\n\nconst Element = ({ label, icon: Icon, isCreatable = true, onClick }) => (\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 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n { \"neeto-ui-bg-gray-300 cursor-not-allowed\": !isCreatable }\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);\n\nexport default Element;\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Element from \"./Element\";\n\nconst Section = ({ title, elements, onSelect, isCreatable }) => {\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}\n isCreatable={isCreatable(element.value)}\n key={element.label}\n onClick={() => onSelect(element)}\n />\n ))}\n </>\n );\n};\n\nexport default Section;\n","import React from \"react\";\n\nimport { 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 React, { 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\">\n <div className=\"neeto-molecules-builder-questions-list-panel__scroll--small\">\n {filteredSections.map(section => (\n <Section\n {...{ onSelect }}\n elements={section.elements}\n isCreatable={section.isCreatable}\n key={section.key}\n title={section.title}\n />\n ))}\n </div>\n </Body>\n </>\n );\n};\n\nexport default ElementList;\n","import React, { 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\nconst SelectedElement = ({\n element,\n isActive,\n handleSelectElement,\n isSelectable = true,\n errors = [],\n actions = [],\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 mb-2 flex h-10 cursor-pointer items-center gap-2 border p-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 <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 React from \"react\";\n\nimport { 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 }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import React from \"react\";\n\nimport { DragDropContext, Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { 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 <>\n <TitleBar\n {...{\n addAllElements,\n isAddingAllElements,\n isAddingNewElement,\n setIsElementsListVisible,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n {isPresent(fixedFirstElement) && (\n <SelectedElement\n {...{ handleSelectElement }}\n isSelectable\n actions={fixedFirstElement.actions}\n data-cy=\"welcome-element\"\n data-testid=\"welcome-record\"\n element={fixedFirstElement}\n index={0}\n isActive={selectedElementId === fixedFirstElement.id}\n />\n )}\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 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\nexport default SelectedElementsList;\n","import React, { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\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\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 return (\n <div\n className=\"neeto-molecules-builder-elements-list-panel neeto-ui-bg-gray-100\"\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 );\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 })\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.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 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 React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Typography } from \"neetoui\";\n\nconst EmptyProperty = withT(({ t }) => (\n <div className=\"space-y-4 \">\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 React from \"react\";\n\nimport 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 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 React from \"react\";\n\nimport EmptyProperty from \"./EmptyProperty\";\nimport Skeleton from \"./Skeleton\";\n\nimport \"../styles.scss\";\n\nconst PropertiesPanel = ({ children }) => (\n <div\n className=\"neeto-molecules-builder-element-properties-panel neeto-ui-bg-gray-100\"\n data-cy=\"properties-panel\"\n >\n {children ?? <Skeleton />}\n </div>\n);\n\nPropertiesPanel.EmptyProperty = EmptyProperty;\n\nexport default PropertiesPanel;\n"],"names":["Body","props","React","createElement","className","children","Element","_ref","label","Icon","icon","_ref$isCreatable","isCreatable","onClick","concat","joinHyphenCase","classnames","noop","Typography","style","Section","title","elements","onSelect","isEmpty","Fragment","textTransform","map","element","_extends","value","key","TitleBar","setIsElementsListVisible","isSelectedElementsEmpty","_useTranslation","useTranslation","t","onCancel","lineHeight","weight","Button","size","ElementList","_ref$elementSections","elementSections","_useState","useState","_useState2","_slicedToArray","searchString","setSearchString","filteredSections","useMemo","section","_objectSpread","filter","toLowerCase","includes","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","handleSelectElement","_ref$isSelectable","isSelectable","_ref$errors","errors","_ref$actions","actions","_objectWithoutProperties","_excluded","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","disabled","Flash","tooltipProps","content","SelectedElementsList","handleDragEnd","isDragDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","selectedElementActions","index","DragDropContext","onDragEnd","Droppable","droppableId","_ref2","innerRef","droppableProps","_isElementVisible","_element$id","_element$id2","isVisible","Draggable","draggableId","_ref3","_element$id3","draggableProps","dragHandleProps","ElementsPanel","_ref$selectedElements","_ref$handleDragEnd","_ref$isDragDisabled","_ref$addAllElements","_ref$isAddingAllEleme","_ref$showElementsFill","_ref$isAddingNewEleme","isElementsListVisible","shouldShowElementsList","handleElementSelect","event","stopPropagation","EmptyProperty","withT","Skeleton","DownArrow","PropertiesPanel"],"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/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 React from \"react\";\n\nimport 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 React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\n\nconst Element = ({ label, icon: Icon, isCreatable = true, onClick }) => (\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 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out\",\n { \"neeto-ui-bg-gray-300 cursor-not-allowed\": !isCreatable }\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);\n\nexport default Element;\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Element from \"./Element\";\n\nconst Section = ({ title, elements, onSelect, isCreatable }) => {\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}\n isCreatable={isCreatable(element.value)}\n key={element.label}\n onClick={() => onSelect(element)}\n />\n ))}\n </>\n );\n};\n\nexport default Section;\n","import React from \"react\";\n\nimport { 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 React, { 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 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 React, { 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\nconst SelectedElement = ({\n element,\n isActive,\n handleSelectElement,\n isSelectable = true,\n errors = [],\n actions = [],\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 mb-2 flex h-10 cursor-pointer items-center gap-2 border p-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 <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 React from \"react\";\n\nimport { 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 }}\n onClick={addAllElements}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import React from \"react\";\n\nimport { DragDropContext, Draggable, Droppable } from \"@hello-pangea/dnd\";\nimport { 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 <>\n <TitleBar\n {...{\n addAllElements,\n isAddingAllElements,\n isAddingNewElement,\n setIsElementsListVisible,\n showElementsFillButton,\n }}\n />\n <Body data-testid=\"selected-elements-container\">\n {isPresent(fixedFirstElement) && (\n <SelectedElement\n {...{ handleSelectElement }}\n isSelectable\n actions={fixedFirstElement.actions}\n data-cy=\"welcome-element\"\n data-testid=\"welcome-record\"\n element={fixedFirstElement}\n index={0}\n isActive={selectedElementId === fixedFirstElement.id}\n />\n )}\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 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\nexport default SelectedElementsList;\n","import React, { 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-gray-100\"\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 })\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.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 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 React from \"react\";\n\nimport 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 React from \"react\";\n\nimport 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 React, { 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-gray-100\"\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","React","createElement","_extends","className","classnames","Element","label","Icon","icon","_ref$isCreatable","isCreatable","onClick","concat","joinHyphenCase","noop","Typography","style","Section","title","elements","onSelect","isEmpty","Fragment","textTransform","map","element","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","_objectSpread","filter","toLowerCase","includes","isPresent","isNotEmpty","Input","autoFocus","placeholder","prefix","Search","onChange","withEventTargetValue","SelectedElement","isActive","handleSelectElement","_ref$isSelectable","isSelectable","_ref$errors","errors","_ref$actions","actions","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","disabled","Flash","tooltipProps","content","SelectedElementsList","handleDragEnd","isDragDisabled","isElementVisible","selectedElementId","selectedElements","fixedLastElement","fixedFirstElement","selectedElementActions","index","DragDropContext","onDragEnd","Droppable","droppableId","_ref2","innerRef","droppableProps","_isElementVisible","_element$id","_element$id2","isVisible","Draggable","draggableId","_ref3","_element$id3","draggableProps","dragHandleProps","ElementsPanel","_ref$selectedElements","_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","children","onClose","window","largeDesktop","innerWidth","isPropertiesPanelCollapsed","setIsPropertiesPanelCollapsed","handleCollapsePanel","Close"],"mappings":"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"}
|
package/dist/cjs/Rename.js
CHANGED
|
@@ -53,7 +53,11 @@ var Editor = function Editor(_ref) {
|
|
|
53
53
|
setName = _ref.setName,
|
|
54
54
|
inputProps = _ref.inputProps,
|
|
55
55
|
editMode = _ref.editMode;
|
|
56
|
-
var closeRef = useHotkeys__default["default"]("escape",
|
|
56
|
+
var closeRef = useHotkeys__default["default"]("escape", function (event) {
|
|
57
|
+
return handleClose({
|
|
58
|
+
event: event
|
|
59
|
+
});
|
|
60
|
+
}, {
|
|
57
61
|
mode: "scoped",
|
|
58
62
|
enabled: editMode
|
|
59
63
|
});
|
|
@@ -96,7 +100,11 @@ var Editor = function Editor(_ref) {
|
|
|
96
100
|
disabled: isLoading,
|
|
97
101
|
icon: neetoIcons.Close,
|
|
98
102
|
style: "text",
|
|
99
|
-
onClick:
|
|
103
|
+
onClick: function onClick(event) {
|
|
104
|
+
return handleClose({
|
|
105
|
+
event: event
|
|
106
|
+
});
|
|
107
|
+
}
|
|
100
108
|
}, cancelButtonProps))),
|
|
101
109
|
onChange: general.withEventTargetValue(setName),
|
|
102
110
|
onClick: function onClick(event) {
|
|
@@ -253,19 +261,28 @@ var Rename = function Rename(_ref) {
|
|
|
253
261
|
editMode = _useState2[0],
|
|
254
262
|
setEditMode = _useState2[1];
|
|
255
263
|
var renameRef = React.useRef(null);
|
|
264
|
+
var initialName = React.useMemo(function () {
|
|
265
|
+
return name;
|
|
266
|
+
}, [editMode]);
|
|
256
267
|
useOnClickOutside__default["default"](renameRef, function () {
|
|
257
|
-
return editMode && handleClose(
|
|
268
|
+
return editMode && handleClose({
|
|
269
|
+
saveOnOutsideClick: neetoCist.notEquals(name, initialName)
|
|
270
|
+
});
|
|
258
271
|
});
|
|
259
272
|
var handleRename = function handleRename(event, name) {
|
|
260
|
-
event.stopPropagation();
|
|
273
|
+
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
261
274
|
var newName = allowEmptySubmission && ramda.isEmpty(name) ? defaultName : name;
|
|
262
275
|
setName(newName);
|
|
263
276
|
onRename === null || onRename === void 0 ? void 0 : onRename(newName);
|
|
264
277
|
setEditMode(false);
|
|
265
278
|
};
|
|
266
|
-
var handleClose = function handleClose(
|
|
279
|
+
var handleClose = function handleClose(_ref2) {
|
|
280
|
+
var _ref2$event = _ref2.event,
|
|
281
|
+
event = _ref2$event === void 0 ? null : _ref2$event,
|
|
282
|
+
_ref2$saveOnOutsideCl = _ref2.saveOnOutsideClick,
|
|
283
|
+
saveOnOutsideClick = _ref2$saveOnOutsideCl === void 0 ? false : _ref2$saveOnOutsideCl;
|
|
267
284
|
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
268
|
-
setName(value);
|
|
285
|
+
saveOnOutsideClick ? handleRename(event, name) : setName(value);
|
|
269
286
|
setEditMode(false);
|
|
270
287
|
};
|
|
271
288
|
var handleRenameClick = function handleRenameClick(event) {
|
package/dist/cjs/Rename.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rename.js","sources":["../../src/components/Rename/utils.js","../../src/components/Rename/EditName.jsx","../../src/components/Rename/RenameMenu.jsx","../../src/components/Rename/ViewName.jsx","../../src/components/Rename/index.jsx"],"sourcesContent":["export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import React from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { mergeRefs } from \"./utils\";\n\nconst Editor = ({\n placeholder,\n allowEmptySubmission,\n name,\n isLoading,\n handleRename,\n submitButtonProps,\n handleClose,\n cancelButtonProps,\n setName,\n inputProps,\n editMode,\n}) => {\n const closeRef = useHotkeys(\"escape\", handleClose, {\n mode: \"scoped\",\n enabled: editMode,\n });\n\n const submitRef = useHotkeys(\n [\"command+return\", \"return\"],\n event => {\n if (isEmpty(name) && !allowEmptySubmission) return;\n handleRename(event, name);\n },\n { mode: \"scoped\", enabled: editMode }\n );\n\n return (\n <div className=\"relative flex min-w-0 max-w-full flex-grow\">\n <span className=\"neeto-molecules-rename__input-width-maker\">\n {name.replace(/\\s/g, \".\") || placeholder}\n </span>\n <Input\n {...{ placeholder }}\n autoFocus\n className=\"neeto-molecules-rename__input absolute\"\n data-cy=\"form-rename-text-field\"\n data-testid=\"neeto-molecules-name-input\"\n ref={mergeRefs(closeRef, submitRef)}\n value={name}\n suffix={\n <div className=\"flex items-center justify-end\">\n <Button\n className=\"neeto-ui-rounded-none\"\n data-cy=\"form-rename-submit-button\"\n data-testid=\"neeto-molecules-rename-button\"\n disabled={(!allowEmptySubmission && isEmpty(name)) || isLoading}\n icon={Check}\n loading={isLoading}\n style=\"text\"\n onClick={event => handleRename(event, name)}\n {...submitButtonProps}\n />\n <Button\n className=\"neeto-ui-rounded-none\"\n data-cy=\"form-rename-close-button\"\n data-testid=\"neeto-molecules-cancel-button\"\n disabled={isLoading}\n icon={Close}\n style=\"text\"\n onClick={handleClose}\n {...cancelButtonProps}\n />\n </div>\n }\n onChange={withEventTargetValue(setName)}\n onClick={event => event.stopPropagation()}\n {...inputProps}\n label={null}\n />\n </div>\n );\n};\n\nexport default Editor;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst RenameMenu = withT(\n ({\n t,\n handleRenameClick,\n disabled,\n dropdownItems,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n isArchived,\n dropdownButtonProps,\n dropdownProps,\n }) => (\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": \"neeto-molecules-menu-button\",\n ...dropdownButtonProps,\n }}\n dropdownProps={{\n position: \"bottom-start\",\n onClick: event => event.stopPropagation(),\n strategy: \"fixed\",\n appendTo: () => document.body,\n ...dropdownProps,\n }}\n menuItems={[\n {\n \"data-cy\": \"form-rename-button\",\n onClick: handleRenameClick,\n label: t(\"neetoMolecules.common.actions.rename\"),\n isVisible: !disabled,\n key: \"edit-name-menu\",\n },\n {\n \"data-cy\": \"form-clone-button\",\n onClick: onClone,\n label: t(\"neetoMolecules.common.actions.clone\"),\n isVisible: isPresent(onClone),\n key: \"clone-entity-menu\",\n },\n {\n \"data-cy\": \"form-archive-button\",\n onClick: onArchiveStatusToggle,\n label: isArchived\n ? t(\"neetoMolecules.common.actions.unArchive\")\n : t(\"neetoMolecules.common.actions.archive\"),\n isVisible: isPresent(onArchiveStatusToggle),\n key: \"archive-entity-menu\",\n },\n {\n \"data-cy\": \"form-delete-button\",\n onClick: onDelete,\n label: t(\"neetoMolecules.common.actions.delete\"),\n isVisible: isPresent(onDelete),\n key: \"delete-entity-menu\",\n },\n ...dropdownItems,\n ]}\n />\n )\n);\n\nexport default RenameMenu;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport RenameMenu from \"./RenameMenu\";\n\nconst ViewName = ({\n disabled,\n textProps,\n formatText,\n dropdownItems,\n hideMenu,\n handleRenameClick,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n name,\n isArchived,\n dropdownButtonProps,\n dropdownProps,\n}) => {\n const isDefaultMenuCallbacksPresent =\n isPresent(onArchiveStatusToggle) ||\n isPresent(onDelete) ||\n isPresent(onClone);\n\n const isMenuVisible =\n !hideMenu &&\n (isNotEmpty(dropdownItems) || !disabled || isDefaultMenuCallbacksPresent);\n\n return (\n <>\n <Typography\n component=\"p\"\n data-cy=\"form-title\"\n data-testid=\"neeto-molecules-value-display\"\n style=\"body2\"\n className={classNames(\n \"neeto-molecules-rename__text neeto-molecules-rename__display-text w-full truncate\",\n {\n \"cursor-pointer\": !disabled,\n \"pointer-events-none cursor-text\": disabled,\n }\n )}\n onClick={handleRenameClick}\n {...textProps}\n >\n {typeof formatText === \"function\" ? formatText(name) : name}\n </Typography>\n {isMenuVisible && (\n <RenameMenu\n {...{\n disabled,\n dropdownButtonProps,\n dropdownItems,\n dropdownProps,\n handleRenameClick,\n isArchived,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n }}\n />\n )}\n </>\n );\n};\n\nexport default ViewName;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport Breadcrumbs from \"components/Breadcrumbs\";\n\nimport EditName from \"./EditName\";\nimport \"./rename.scss\";\nimport ViewName from \"./ViewName\";\n\nconst Rename = ({\n value,\n onRename,\n onClone,\n onArchiveStatusToggle,\n onDelete,\n isArchived,\n isOpen = false,\n isLoading = false,\n placeholder = \"\",\n hideMenu = false,\n disabled = false,\n dropdownItems = [],\n breadcrumbs = [],\n textProps = {},\n inputProps = {},\n submitButtonProps = {},\n cancelButtonProps = {},\n className = \"\",\n allowEmptySubmission = false,\n defaultName = \"\",\n formatText,\n dropdownButtonProps = {},\n dropdownProps = {},\n}) => {\n const [name, setName] = useStateWithDependency(value ?? \"\");\n const [editMode, setEditMode] = useState(isOpen);\n const renameRef = useRef(null);\n\n useOnClickOutside(renameRef, () => editMode && handleClose());\n\n const handleRename = (event, name) => {\n event.stopPropagation();\n const newName = allowEmptySubmission && isEmpty(name) ? defaultName : name;\n setName(newName);\n onRename?.(newName);\n setEditMode(false);\n };\n\n const handleClose = event => {\n event?.stopPropagation();\n setName(value);\n setEditMode(false);\n };\n\n const handleRenameClick = event => {\n event.stopPropagation();\n !disabled && setEditMode(true);\n };\n\n const editNameProps = {\n allowEmptySubmission,\n cancelButtonProps,\n handleClose,\n handleRename,\n inputProps,\n isLoading,\n name,\n placeholder,\n setName,\n submitButtonProps,\n editMode,\n };\n\n const viewNameProps = {\n disabled,\n dropdownItems,\n formatText,\n handleRenameClick,\n hideMenu,\n name,\n isArchived,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n textProps,\n dropdownButtonProps,\n dropdownProps,\n };\n\n return (\n <div\n ref={renameRef}\n className={classnames(\n \"neeto-molecules-rename flex min-w-0 max-w-md flex-col items-start md:flex-row md:items-center\",\n className\n )}\n >\n {isNotEmpty(breadcrumbs) && (\n <Breadcrumbs\n {...{ breadcrumbs }}\n hasTrailingSeparator\n className=\"neeto-molecules-rename-breadcrumbs\"\n />\n )}\n <div className=\"relative flex max-w-full items-center gap-x-2\">\n {editMode ? (\n <EditName {...editNameProps} />\n ) : (\n <ViewName {...viewNameProps} />\n )}\n </div>\n </div>\n );\n};\n\nRename.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To allow empty submission.\n */\n allowEmptySubmission: PropTypes.bool,\n /**\n * Default value to be used on empty submission.\n */\n defaultName: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when renamed.\n */\n onRename: PropTypes.func,\n /**\n * To specify the function to be triggered when Clone menu is clicked. The menu will be hidden if this prop is not set.\n */\n onClone: PropTypes.func,\n /**\n * To specify the function to be triggered when Archive menu is clicked. The menu will be hidden if this prop is not set.\n */\n onArchiveStatusToggle: PropTypes.func,\n /**\n * To specify whether the entity is archived or not. The text in the menu will be changed based on this to Archive or Unarchive.\n */\n isArchived: PropTypes.bool,\n /**\n * To specify the function to be triggered when Delete menu is clicked. The menu will be hidden if this prop is not set.\n */\n onDelete: PropTypes.func,\n /**\n * To specify whether edit mode is enabled or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify whether the edit buttons are in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * To specify the placeholder for the input component in edit mode.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the dropdown menu should be hidden or not.\n */\n hideMenu: PropTypes.bool,\n /**\n * To specify whether the rename option in dropdown should be enabled. If it is the only option in dropdown, the menu will be hidden.\n */\n disabled: PropTypes.bool,\n /**\n * To specify additional items for the dropdown menu.\n */\n dropdownItems: PropTypes.array,\n /**\n * To specify the breadcrumbs if used in the title of `Header` component.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n /**\n * To override the properties of the Typography component that displays the `value`.\n */\n textProps: PropTypes.object,\n /**\n * To override the properties of the Input component in edit mode.\n */\n inputProps: PropTypes.object,\n /**\n * To format the value to display when not in edit mode.\n */\n formatText: PropTypes.func,\n /**\n * To override the properties of the submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To override the properties of the cancel button.\n */\n cancelButtonProps: PropTypes.object,\n};\n\nexport default Rename;\n"],"names":["mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","Editor","_ref","placeholder","allowEmptySubmission","name","isLoading","handleRename","submitButtonProps","handleClose","cancelButtonProps","setName","inputProps","editMode","closeRef","useHotkeys","mode","enabled","submitRef","event","isEmpty","React","createElement","className","replace","Input","_extends","autoFocus","value","suffix","Button","disabled","icon","Check","loading","style","onClick","Close","onChange","withEventTargetValue","stopPropagation","label","RenameMenu","withT","t","handleRenameClick","dropdownItems","onArchiveStatusToggle","onClone","onDelete","isArchived","dropdownButtonProps","dropdownProps","MoreDropdown","_objectSpread","position","strategy","appendTo","document","body","menuItems","isVisible","key","isPresent","concat","_toConsumableArray","ViewName","textProps","formatText","hideMenu","isDefaultMenuCallbacksPresent","isMenuVisible","isNotEmpty","Fragment","Typography","component","classNames","Rename","onRename","_ref$isOpen","isOpen","_ref$isLoading","_ref$placeholder","_ref$hideMenu","_ref$disabled","_ref$dropdownItems","_ref$breadcrumbs","breadcrumbs","_ref$textProps","_ref$inputProps","_ref$submitButtonProp","_ref$cancelButtonProp","_ref$className","_ref$allowEmptySubmis","_ref$defaultName","defaultName","_ref$dropdownButtonPr","_ref$dropdownProps","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_slicedToArray","_useState","useState","_useState2","setEditMode","renameRef","useRef","useOnClickOutside","newName","editNameProps","viewNameProps","classnames","Breadcrumbs","hasTrailingSeparator","EditName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rename.js","sources":["../../src/components/Rename/utils.js","../../src/components/Rename/EditName.jsx","../../src/components/Rename/RenameMenu.jsx","../../src/components/Rename/ViewName.jsx","../../src/components/Rename/index.jsx"],"sourcesContent":["export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import React from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { mergeRefs } from \"./utils\";\n\nconst Editor = ({\n placeholder,\n allowEmptySubmission,\n name,\n isLoading,\n handleRename,\n submitButtonProps,\n handleClose,\n cancelButtonProps,\n setName,\n inputProps,\n editMode,\n}) => {\n const closeRef = useHotkeys(\"escape\", event => handleClose({ event }), {\n mode: \"scoped\",\n enabled: editMode,\n });\n\n const submitRef = useHotkeys(\n [\"command+return\", \"return\"],\n event => {\n if (isEmpty(name) && !allowEmptySubmission) return;\n handleRename(event, name);\n },\n { mode: \"scoped\", enabled: editMode }\n );\n\n return (\n <div className=\"relative flex min-w-0 max-w-full flex-grow\">\n <span className=\"neeto-molecules-rename__input-width-maker\">\n {name.replace(/\\s/g, \".\") || placeholder}\n </span>\n <Input\n {...{ placeholder }}\n autoFocus\n className=\"neeto-molecules-rename__input absolute\"\n data-cy=\"form-rename-text-field\"\n data-testid=\"neeto-molecules-name-input\"\n ref={mergeRefs(closeRef, submitRef)}\n value={name}\n suffix={\n <div className=\"flex items-center justify-end\">\n <Button\n className=\"neeto-ui-rounded-none\"\n data-cy=\"form-rename-submit-button\"\n data-testid=\"neeto-molecules-rename-button\"\n disabled={(!allowEmptySubmission && isEmpty(name)) || isLoading}\n icon={Check}\n loading={isLoading}\n style=\"text\"\n onClick={event => handleRename(event, name)}\n {...submitButtonProps}\n />\n <Button\n className=\"neeto-ui-rounded-none\"\n data-cy=\"form-rename-close-button\"\n data-testid=\"neeto-molecules-cancel-button\"\n disabled={isLoading}\n icon={Close}\n style=\"text\"\n onClick={event => handleClose({ event })}\n {...cancelButtonProps}\n />\n </div>\n }\n onChange={withEventTargetValue(setName)}\n onClick={event => event.stopPropagation()}\n {...inputProps}\n label={null}\n />\n </div>\n );\n};\n\nexport default Editor;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst RenameMenu = withT(\n ({\n t,\n handleRenameClick,\n disabled,\n dropdownItems,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n isArchived,\n dropdownButtonProps,\n dropdownProps,\n }) => (\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": \"neeto-molecules-menu-button\",\n ...dropdownButtonProps,\n }}\n dropdownProps={{\n position: \"bottom-start\",\n onClick: event => event.stopPropagation(),\n strategy: \"fixed\",\n appendTo: () => document.body,\n ...dropdownProps,\n }}\n menuItems={[\n {\n \"data-cy\": \"form-rename-button\",\n onClick: handleRenameClick,\n label: t(\"neetoMolecules.common.actions.rename\"),\n isVisible: !disabled,\n key: \"edit-name-menu\",\n },\n {\n \"data-cy\": \"form-clone-button\",\n onClick: onClone,\n label: t(\"neetoMolecules.common.actions.clone\"),\n isVisible: isPresent(onClone),\n key: \"clone-entity-menu\",\n },\n {\n \"data-cy\": \"form-archive-button\",\n onClick: onArchiveStatusToggle,\n label: isArchived\n ? t(\"neetoMolecules.common.actions.unArchive\")\n : t(\"neetoMolecules.common.actions.archive\"),\n isVisible: isPresent(onArchiveStatusToggle),\n key: \"archive-entity-menu\",\n },\n {\n \"data-cy\": \"form-delete-button\",\n onClick: onDelete,\n label: t(\"neetoMolecules.common.actions.delete\"),\n isVisible: isPresent(onDelete),\n key: \"delete-entity-menu\",\n },\n ...dropdownItems,\n ]}\n />\n )\n);\n\nexport default RenameMenu;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport RenameMenu from \"./RenameMenu\";\n\nconst ViewName = ({\n disabled,\n textProps,\n formatText,\n dropdownItems,\n hideMenu,\n handleRenameClick,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n name,\n isArchived,\n dropdownButtonProps,\n dropdownProps,\n}) => {\n const isDefaultMenuCallbacksPresent =\n isPresent(onArchiveStatusToggle) ||\n isPresent(onDelete) ||\n isPresent(onClone);\n\n const isMenuVisible =\n !hideMenu &&\n (isNotEmpty(dropdownItems) || !disabled || isDefaultMenuCallbacksPresent);\n\n return (\n <>\n <Typography\n component=\"p\"\n data-cy=\"form-title\"\n data-testid=\"neeto-molecules-value-display\"\n style=\"body2\"\n className={classNames(\n \"neeto-molecules-rename__text neeto-molecules-rename__display-text w-full truncate\",\n {\n \"cursor-pointer\": !disabled,\n \"pointer-events-none cursor-text\": disabled,\n }\n )}\n onClick={handleRenameClick}\n {...textProps}\n >\n {typeof formatText === \"function\" ? formatText(name) : name}\n </Typography>\n {isMenuVisible && (\n <RenameMenu\n {...{\n disabled,\n dropdownButtonProps,\n dropdownItems,\n dropdownProps,\n handleRenameClick,\n isArchived,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n }}\n />\n )}\n </>\n );\n};\n\nexport default ViewName;\n","import React, { useState, useRef, useMemo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, notEquals } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport Breadcrumbs from \"components/Breadcrumbs\";\n\nimport EditName from \"./EditName\";\nimport \"./rename.scss\";\nimport ViewName from \"./ViewName\";\n\nconst Rename = ({\n value,\n onRename,\n onClone,\n onArchiveStatusToggle,\n onDelete,\n isArchived,\n isOpen = false,\n isLoading = false,\n placeholder = \"\",\n hideMenu = false,\n disabled = false,\n dropdownItems = [],\n breadcrumbs = [],\n textProps = {},\n inputProps = {},\n submitButtonProps = {},\n cancelButtonProps = {},\n className = \"\",\n allowEmptySubmission = false,\n defaultName = \"\",\n formatText,\n dropdownButtonProps = {},\n dropdownProps = {},\n}) => {\n const [name, setName] = useStateWithDependency(value ?? \"\");\n const [editMode, setEditMode] = useState(isOpen);\n const renameRef = useRef(null);\n\n const initialName = useMemo(() => name, [editMode]);\n\n useOnClickOutside(\n renameRef,\n () =>\n editMode &&\n handleClose({ saveOnOutsideClick: notEquals(name, initialName) })\n );\n\n const handleRename = (event, name) => {\n event?.stopPropagation();\n const newName = allowEmptySubmission && isEmpty(name) ? defaultName : name;\n setName(newName);\n onRename?.(newName);\n setEditMode(false);\n };\n\n const handleClose = ({ event = null, saveOnOutsideClick = false }) => {\n event?.stopPropagation();\n saveOnOutsideClick ? handleRename(event, name) : setName(value);\n setEditMode(false);\n };\n\n const handleRenameClick = event => {\n event.stopPropagation();\n !disabled && setEditMode(true);\n };\n\n const editNameProps = {\n allowEmptySubmission,\n cancelButtonProps,\n handleClose,\n handleRename,\n inputProps,\n isLoading,\n name,\n placeholder,\n setName,\n submitButtonProps,\n editMode,\n };\n\n const viewNameProps = {\n disabled,\n dropdownItems,\n formatText,\n handleRenameClick,\n hideMenu,\n name,\n isArchived,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n textProps,\n dropdownButtonProps,\n dropdownProps,\n };\n\n return (\n <div\n ref={renameRef}\n className={classnames(\n \"neeto-molecules-rename flex min-w-0 max-w-md flex-col items-start md:flex-row md:items-center\",\n className\n )}\n >\n {isNotEmpty(breadcrumbs) && (\n <Breadcrumbs\n {...{ breadcrumbs }}\n hasTrailingSeparator\n className=\"neeto-molecules-rename-breadcrumbs\"\n />\n )}\n <div className=\"relative flex max-w-full items-center gap-x-2\">\n {editMode ? (\n <EditName {...editNameProps} />\n ) : (\n <ViewName {...viewNameProps} />\n )}\n </div>\n </div>\n );\n};\n\nRename.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To allow empty submission.\n */\n allowEmptySubmission: PropTypes.bool,\n /**\n * Default value to be used on empty submission.\n */\n defaultName: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when renamed.\n */\n onRename: PropTypes.func,\n /**\n * To specify the function to be triggered when Clone menu is clicked. The menu will be hidden if this prop is not set.\n */\n onClone: PropTypes.func,\n /**\n * To specify the function to be triggered when Archive menu is clicked. The menu will be hidden if this prop is not set.\n */\n onArchiveStatusToggle: PropTypes.func,\n /**\n * To specify whether the entity is archived or not. The text in the menu will be changed based on this to Archive or Unarchive.\n */\n isArchived: PropTypes.bool,\n /**\n * To specify the function to be triggered when Delete menu is clicked. The menu will be hidden if this prop is not set.\n */\n onDelete: PropTypes.func,\n /**\n * To specify whether edit mode is enabled or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify whether the edit buttons are in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * To specify the placeholder for the input component in edit mode.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the dropdown menu should be hidden or not.\n */\n hideMenu: PropTypes.bool,\n /**\n * To specify whether the rename option in dropdown should be enabled. If it is the only option in dropdown, the menu will be hidden.\n */\n disabled: PropTypes.bool,\n /**\n * To specify additional items for the dropdown menu.\n */\n dropdownItems: PropTypes.array,\n /**\n * To specify the breadcrumbs if used in the title of `Header` component.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n /**\n * To override the properties of the Typography component that displays the `value`.\n */\n textProps: PropTypes.object,\n /**\n * To override the properties of the Input component in edit mode.\n */\n inputProps: PropTypes.object,\n /**\n * To format the value to display when not in edit mode.\n */\n formatText: PropTypes.func,\n /**\n * To override the properties of the submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To override the properties of the cancel button.\n */\n cancelButtonProps: PropTypes.object,\n};\n\nexport default Rename;\n"],"names":["mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","Editor","_ref","placeholder","allowEmptySubmission","name","isLoading","handleRename","submitButtonProps","handleClose","cancelButtonProps","setName","inputProps","editMode","closeRef","useHotkeys","event","mode","enabled","submitRef","isEmpty","React","createElement","className","replace","Input","_extends","autoFocus","value","suffix","Button","disabled","icon","Check","loading","style","onClick","Close","onChange","withEventTargetValue","stopPropagation","label","RenameMenu","withT","t","handleRenameClick","dropdownItems","onArchiveStatusToggle","onClone","onDelete","isArchived","dropdownButtonProps","dropdownProps","MoreDropdown","_objectSpread","position","strategy","appendTo","document","body","menuItems","isVisible","key","isPresent","concat","_toConsumableArray","ViewName","textProps","formatText","hideMenu","isDefaultMenuCallbacksPresent","isMenuVisible","isNotEmpty","Fragment","Typography","component","classNames","Rename","onRename","_ref$isOpen","isOpen","_ref$isLoading","_ref$placeholder","_ref$hideMenu","_ref$disabled","_ref$dropdownItems","_ref$breadcrumbs","breadcrumbs","_ref$textProps","_ref$inputProps","_ref$submitButtonProp","_ref$cancelButtonProp","_ref$className","_ref$allowEmptySubmis","_ref$defaultName","defaultName","_ref$dropdownButtonPr","_ref$dropdownProps","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_slicedToArray","_useState","useState","_useState2","setEditMode","renameRef","useRef","initialName","useMemo","useOnClickOutside","saveOnOutsideClick","notEquals","newName","_ref2","_ref2$event","_ref2$saveOnOutsideCl","editNameProps","viewNameProps","classnames","Breadcrumbs","hasTrailingSeparator","EditName"],"mappings":"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"}
|
package/dist/cjs/Settings.js
CHANGED
|
@@ -8,21 +8,20 @@ var ramda = require('ramda');
|
|
|
8
8
|
var reactI18next = require('react-i18next');
|
|
9
9
|
var Header = require('./Header.js');
|
|
10
10
|
var _extends = require('./extends-1b35a664.js');
|
|
11
|
-
var
|
|
11
|
+
var defineProperty = require('./defineProperty-886ed289.js');
|
|
12
12
|
var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
|
|
13
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
14
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
15
|
+
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
13
16
|
var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
14
17
|
var reactRouterDom = require('react-router-dom');
|
|
15
|
-
var defineProperty = require('./defineProperty-886ed289.js');
|
|
16
|
-
var neetoCist = require('@bigbinary/neeto-cist');
|
|
17
18
|
require('./Breadcrumbs.js');
|
|
18
19
|
require('./inject-css-80a5faa3.js');
|
|
19
20
|
require('./Search.js');
|
|
20
21
|
require('./slicedToArray-f320d9e7.js');
|
|
21
22
|
require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
|
|
22
23
|
require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
|
|
23
|
-
require('@bigbinary/neeto-icons');
|
|
24
24
|
require('@bigbinary/neeto-commons-frontend/utils');
|
|
25
|
-
require('./MoreDropdown.js');
|
|
26
25
|
|
|
27
26
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
28
27
|
|
|
@@ -30,9 +29,9 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
30
29
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
31
30
|
var useQueryParams__default = /*#__PURE__*/_interopDefaultLegacy(useQueryParams);
|
|
32
31
|
|
|
33
|
-
var UNSUPPORTED_LINK_PROPS = ["staticContext"];
|
|
32
|
+
var UNSUPPORTED_LINK_PROPS = ["staticContext", "tReady"];
|
|
34
33
|
|
|
35
|
-
var _excluded = ["label", "description", "icon", "path", "dataCy", "className"];
|
|
34
|
+
var _excluded$1 = ["label", "description", "icon", "path", "dataCy", "className", "children"];
|
|
36
35
|
var Item = function Item(_ref) {
|
|
37
36
|
var label = _ref.label,
|
|
38
37
|
description = _ref.description,
|
|
@@ -42,11 +41,12 @@ var Item = function Item(_ref) {
|
|
|
42
41
|
dataCy = _ref.dataCy,
|
|
43
42
|
_ref$className = _ref.className,
|
|
44
43
|
className = _ref$className === void 0 ? "" : _ref$className,
|
|
45
|
-
|
|
44
|
+
children = _ref.children,
|
|
45
|
+
otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded$1);
|
|
46
46
|
return /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, _extends._extends({
|
|
47
47
|
"data-cy": dataCy,
|
|
48
48
|
to: path,
|
|
49
|
-
className: classnames__default["default"]("neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors", className)
|
|
49
|
+
className: classnames__default["default"]("neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col space-y-2 border p-6 no-underline outline-none transition-colors", className)
|
|
50
50
|
}, ramda.omit(UNSUPPORTED_LINK_PROPS, otherProps)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
51
51
|
"data-testid": "settings-item-".concat(general.joinHyphenCase(label))
|
|
52
52
|
}, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
@@ -60,16 +60,46 @@ var Item = function Item(_ref) {
|
|
|
60
60
|
}, label), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
61
61
|
"data-cy": "settings-item-description",
|
|
62
62
|
style: "body2"
|
|
63
|
-
}, description))
|
|
63
|
+
}, description)), children && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
64
|
+
className: "neeto-ui-border-gray-300 border-t pt-3"
|
|
65
|
+
}, children));
|
|
64
66
|
};
|
|
65
67
|
var Item$1 = /*#__PURE__*/React.memo(reactRouterDom.withRouter(Item));
|
|
66
68
|
|
|
69
|
+
var _excluded = ["t", "isConnected", "icon", "description", "label", "path"];
|
|
70
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
71
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
72
|
+
var IntegrationItem = reactUtils.withT(function (_ref) {
|
|
73
|
+
var t = _ref.t,
|
|
74
|
+
isConnected = _ref.isConnected,
|
|
75
|
+
icon = _ref.icon,
|
|
76
|
+
description = _ref.description,
|
|
77
|
+
label = _ref.label,
|
|
78
|
+
path = _ref.path,
|
|
79
|
+
otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
|
|
80
|
+
return /*#__PURE__*/React__default["default"].createElement(Item$1, _extends._extends({}, _objectSpread$1({
|
|
81
|
+
description: description,
|
|
82
|
+
icon: icon,
|
|
83
|
+
label: label,
|
|
84
|
+
path: path
|
|
85
|
+
}, otherProps), {
|
|
86
|
+
dataCy: "".concat(neetoCist.hyphenate(label), "-integration-card")
|
|
87
|
+
}), isConnected && /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
|
|
88
|
+
className: "flex-row-reverse",
|
|
89
|
+
"data-cy": "integration-status-tag",
|
|
90
|
+
icon: neetoIcons.Check,
|
|
91
|
+
label: t("neetoMolecules.integrationCard.connected"),
|
|
92
|
+
style: "success"
|
|
93
|
+
}));
|
|
94
|
+
});
|
|
95
|
+
var IntegrationItem$1 = /*#__PURE__*/React__default["default"].memo(IntegrationItem);
|
|
96
|
+
|
|
67
97
|
var Category = function Category(_ref) {
|
|
68
98
|
var items = _ref.items,
|
|
69
99
|
label = _ref.label,
|
|
70
100
|
id = _ref.id,
|
|
71
101
|
isIntegration = _ref.isIntegration;
|
|
72
|
-
var SettingsCard = isIntegration ?
|
|
102
|
+
var SettingsCard = isIntegration ? IntegrationItem$1 : Item$1;
|
|
73
103
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
74
104
|
id: id,
|
|
75
105
|
className: "flex flex-col py-6"
|
package/dist/cjs/Settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sources":["../../src/components/Settings/constants.js","../../src/components/Settings/Item.jsx","../../src/components/Settings/Category.jsx","../../src/components/Settings/utils.js","../../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\"];\n","import React, { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\n }}\n />\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full space-y-12\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","omit","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","classNames","Header","title","searchProps","placeholder","isEmpty","NoData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../../src/components/Settings/constants.js","../../src/components/Settings/Item.jsx","../../src/components/Settings/IntegrationItem.jsx","../../src/components/Settings/Category.jsx","../../src/components/Settings/utils.js","../../src/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import React, { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n children,\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col space-y-2 border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...omit(UNSUPPORTED_LINK_PROPS, otherProps)}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 border-t pt-3\">{children}</div>\n )}\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\n\nimport Item from \"./Item\";\n\nconst IntegrationItem = withT(\n ({ t, isConnected, icon, description, label, path, ...otherProps }) => (\n <Item\n {...{ description, icon, label, path, ...otherProps }}\n dataCy={`${hyphenate(label)}-integration-card`}\n >\n {isConnected && (\n <Tag\n className=\"flex-row-reverse\"\n data-cy=\"integration-status-tag\"\n icon={Check}\n label={t(\"neetoMolecules.integrationCard.connected\")}\n style=\"success\"\n />\n )}\n </Item>\n )\n);\n\nexport default React.memo(IntegrationItem);\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\n }}\n />\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full space-y-12\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","children","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","omit","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","IntegrationItem","withT","t","isConnected","_objectSpread","hyphenate","Tag","Check","Category","items","id","isIntegration","SettingsCard","component","map","item","key","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","classNames","Header","title","searchProps","placeholder","isEmpty","NoData"],"mappings":"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"}
|