@bigbinary/neeto-molecules 1.15.18 → 1.15.19-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/CustomDomainDashboard.js +1 -0
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/Header.js +2 -0
- package/dist/Header.js.map +1 -1
- package/dist/Search.js +34 -13
- package/dist/Search.js.map +1 -1
- package/dist/Security.js +1 -0
- package/dist/Security.js.map +1 -1
- package/dist/SendToFields.js +6 -5
- package/dist/SendToFields.js.map +1 -1
- package/dist/Settings.js +1 -0
- package/dist/Settings.js.map +1 -1
- package/dist/Taxonomy.js +1 -0
- package/dist/Taxonomy.js.map +1 -1
- package/dist/cjs/Builder.js +90 -22
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +1 -0
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/Header.js +2 -0
- package/dist/cjs/Header.js.map +1 -1
- package/dist/cjs/Search.js +33 -12
- package/dist/cjs/Search.js.map +1 -1
- package/dist/cjs/Security.js +1 -0
- package/dist/cjs/Security.js.map +1 -1
- package/dist/cjs/SendToFields.js +6 -5
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/Settings.js +1 -0
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/Taxonomy.js +1 -0
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +2 -2
- package/types/Builder.d.ts +8 -2
- package/types/Search.d.ts +2 -0
package/dist/Taxonomy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Taxonomy.js","sources":["../src/components/Taxonomy/constants.js","../src/components/Taxonomy/api.js","../src/components/Taxonomy/useTaxonomyApi.js","../src/components/Taxonomy/utils.jsx","../src/components/Taxonomy/EditPane.jsx","../src/components/Taxonomy/LeftActionBlock.jsx","../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options => useMutation(taxonomiesApi.update, options);\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation(taxonomiesApi.bulkDestroy, options);\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = (\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n) => [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n {...{ menuItems }}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoMolecules.taxonomy.singularLabel\"),\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n {\n title: t(\"neetoMolecules.taxonomy.pluralLabel\"),\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n];\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import React, { useRef } from \"react\";\n\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LABEL_REJECT_CHARS_REGEX, VALIDATION_SCHEMA } from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({ initialValues, isOpen, onClose }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.taxonomy.editPane.title\", {\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ).toLocaleLowerCase(),\n })}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={t(\"neetoMolecules.taxonomy.singularLabel\")}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={t(\"neetoMolecules.taxonomy.pluralLabel\")}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import React, { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({ breadcrumbs }) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData(\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n )}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","handleEdit","setCurrentKeys","setIsResetModalOpen","title","dataIndex","key","width","render","_","values","menuItems","onClick","React","createElement","className","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","getFilteredTaxonomies","matchString","filteredArray","filter","_ref3","_ref4","value","defaultLabel","valuesToSearch","_toConsumableArray","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","handleSubmit","setSubmitting","taxonomy","onSuccess","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","entity","toLocaleLowerCase","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","Fragment","component","Trans","i18nKey","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Taxonomy.js","sources":["../src/components/Taxonomy/constants.js","../src/components/Taxonomy/api.js","../src/components/Taxonomy/useTaxonomyApi.js","../src/components/Taxonomy/utils.jsx","../src/components/Taxonomy/EditPane.jsx","../src/components/Taxonomy/LeftActionBlock.jsx","../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options => useMutation(taxonomiesApi.update, options);\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation(taxonomiesApi.bulkDestroy, options);\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = (\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n) => [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n {...{ menuItems }}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoMolecules.taxonomy.singularLabel\"),\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n {\n title: t(\"neetoMolecules.taxonomy.pluralLabel\"),\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n];\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import React, { useRef } from \"react\";\n\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LABEL_REJECT_CHARS_REGEX, VALIDATION_SCHEMA } from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({ initialValues, isOpen, onClose }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.taxonomy.editPane.title\", {\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ).toLocaleLowerCase(),\n })}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={t(\"neetoMolecules.taxonomy.singularLabel\")}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={t(\"neetoMolecules.taxonomy.pluralLabel\")}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import React, { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({ breadcrumbs }) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData(\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n )}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","handleEdit","setCurrentKeys","setIsResetModalOpen","title","dataIndex","key","width","render","_","values","menuItems","onClick","React","createElement","className","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","getFilteredTaxonomies","matchString","filteredArray","filter","_ref3","_ref4","value","defaultLabel","valuesToSearch","_toConsumableArray","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","handleSubmit","setSubmitting","taxonomy","onSuccess","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","entity","toLocaleLowerCase","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","Fragment","component","Trans","i18nKey","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":"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"}
|
package/dist/cjs/Builder.js
CHANGED
|
@@ -4,18 +4,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var slicedToArray = require('./slicedToArray-f320d9e7.js');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var classnames = require('classnames');
|
|
7
8
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
9
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
10
|
+
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
11
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
8
12
|
var ramda = require('ramda');
|
|
9
13
|
var defineProperty = require('./defineProperty-886ed289.js');
|
|
10
14
|
var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
11
|
-
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
12
|
-
var neetoui = require('@bigbinary/neetoui');
|
|
13
15
|
var reactI18next = require('react-i18next');
|
|
14
|
-
var injectCss = require('./inject-css-80a5faa3.js');
|
|
15
16
|
var _extends = require('./extends-1b35a664.js');
|
|
16
|
-
var classnames = require('classnames');
|
|
17
|
-
var dnd = require('@hello-pangea/dnd');
|
|
18
17
|
var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
|
|
18
|
+
var injectCss = require('./inject-css-80a5faa3.js');
|
|
19
|
+
var dnd = require('@hello-pangea/dnd');
|
|
19
20
|
var MoreDropdown = require('./MoreDropdown.js');
|
|
20
21
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
21
22
|
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
@@ -26,14 +27,18 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
26
27
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
27
28
|
var withT__default = /*#__PURE__*/_interopDefaultLegacy(withT);
|
|
28
29
|
|
|
29
|
-
var css = ":root{--neeto-molecule-builder-left-sidebar-width:360px;--neeto-molecule-builder-left-sidebar-header-height:70px;--neeto-molecule-builder-left-sidebar-search-height:40px;--neeto-molecule-builder-right-sidebar-width:420px}.neeto-molecules-builder-elements-list-
|
|
30
|
+
var css = ":root{--neeto-molecule-builder-left-sidebar-width:288px;--neeto-molecule-builder-left-sidebar-width-lg:360px;--neeto-molecule-builder-left-sidebar-header-height:70px;--neeto-molecule-builder-left-sidebar-search-height:40px;--neeto-molecule-builder-right-sidebar-width:420px}.neeto-molecules-builder-elements-list-panel__wrapper{height:100%;min-width:360px;min-width:var(--neeto-molecule-builder-left-sidebar-width-lg);position:relative;transition:all .15s;width:360px;width:var(--neeto-molecule-builder-left-sidebar-width-lg);z-index:101}@media screen and (min-width:768px) and (max-width:1279px){.neeto-molecules-builder-elements-list-panel__wrapper{min-width:288px;min-width:var(--neeto-molecule-builder-left-sidebar-width);width:288px;width:var(--neeto-molecule-builder-left-sidebar-width)}}@media screen and (max-width:767px){.neeto-molecules-builder-elements-list-panel__wrapper{left:0;position:fixed;top:0;transition:none}}@media screen and (max-width:576px){.neeto-molecules-builder-elements-list-panel__wrapper{height:100%;max-width:100%;min-width:0;width:100%}}.neeto-molecules-builder-elements-list-panel__wrapper--collapsed{max-width:0;min-width:0;width:0}.neeto-molecules-builder-elements-list-panel__wrapper--collapsed .neeto-molecules-builder-elements-list-panel__toggler{transform:scale(-1)}@media screen and (max-width:767px){.neeto-molecules-builder-elements-list-panel__wrapper--collapsed .neeto-molecules-builder-elements-list-panel__toggler{top:72px}}@media screen and (max-width:576px){.neeto-molecules-builder-elements-list-panel__wrapper--collapsed .neeto-molecules-builder-elements-list-panel__toggler{left:8px;right:auto}}.neeto-molecules-builder-elements-list-panel__container{height:100%;overflow:hidden;width:100%}.neeto-molecules-builder-elements-list-panel{height:100%;min-width:360px;min-width:var(--neeto-molecule-builder-left-sidebar-width-lg);width:360px;width:var(--neeto-molecule-builder-left-sidebar-width-lg)}@media screen and (min-width:768px) and (max-width:1279px){.neeto-molecules-builder-elements-list-panel{min-width:288px;min-width:var(--neeto-molecule-builder-left-sidebar-width);width:288px;width:var(--neeto-molecule-builder-left-sidebar-width)}}@media screen and (max-width:576px){.neeto-molecules-builder-elements-list-panel{padding-top:24px;width:100%}}.neeto-molecules-builder-elements-list-panel__toggler{flex-shrink:0;left:calc(100% + 8px);position:absolute;top:8px;transition:color .3s ease-in-out}@media screen and (min-width:1024px){.neeto-molecules-builder-elements-list-panel__toggler{opacity:0;pointer-events:none}}@media screen and (max-width:576px){.neeto-molecules-builder-elements-list-panel__toggler{left:24px}}.neeto-molecules-builder-questions-list-panel__scroll{height:calc(100% - 70px);height:calc(100% - var(--neeto-molecule-builder-left-sidebar-header-height));overflow-y:auto;padding:8px 24px;width:100%}.neeto-molecules-builder-questions-list-panel__scroll.neeto-molecules-builder-questions-list-panel__scroll--small{height:calc(100% - 110px);height:calc(100% - var(--neeto-molecule-builder-left-sidebar-header-height) - var(--neeto-molecule-builder-left-sidebar-search-height))}.neeto-molecules-builder-element-properties-panel__wrapper{height:100%;min-width:420px;min-width:var(--neeto-molecule-builder-right-sidebar-width);position:relative;transition:all .15s;width:420px;width:var(--neeto-molecule-builder-right-sidebar-width);z-index:101}.neeto-molecules-builder-element-properties-panel__wrapper .neeto-molecules-builder-properties-panel__close{opacity:0;pointer-events:none;position:absolute;right:8px;top:8px}@media screen and (max-width:1279px){.neeto-molecules-builder-element-properties-panel__wrapper .neeto-molecules-builder-properties-panel__close{opacity:1;pointer-events:all}.neeto-molecules-builder-element-properties-panel__wrapper{position:fixed;right:0;top:0;transition:none}}@media screen and (max-width:576px){.neeto-molecules-builder-element-properties-panel__wrapper{height:100%;max-width:100%;min-width:0;width:100%}}.neeto-molecules-builder-element-properties-panel__wrapper--collapsed{max-width:0;min-width:0;width:0}.neeto-molecules-builder-element-properties-panel{display:flex;flex-direction:column;height:100%;min-width:0;overflow-y:auto;padding-left:24px;padding-top:24px;width:100%}.neeto-molecules-builder-element-properties-panel--collapsed{max-width:0;min-width:0;padding:0;width:0}@media screen and (max-width:1279px){.neeto-molecules-builder-element-properties-panel{padding-top:48px}}.neeto-molecules-builder-element--active{border-color:rgb(var(--neeto-ui-primary-500))!important;box-shadow:0 0 0 1px rgb(var(--neeto-ui-primary-500))!important}.neeto-molecules-builder-panel__backdrop{background-color:rgba(var(--neeto-ui-black),.4);display:none;height:100%;left:0;position:fixed;top:0;visibility:hidden;width:100%;z-index:101}@media screen and (max-width:767px){.neeto-molecules-builder-panel__backdrop{display:block;visibility:visible}}@media screen and (max-width:1279px){.neeto-molecules-builder-panel__backdrop--extended{display:block;visibility:visible}}";
|
|
30
31
|
injectCss.n(css,{});
|
|
31
32
|
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}, props
|
|
33
|
+
var _excluded$1 = ["size"];
|
|
34
|
+
var Body = function Body(_ref) {
|
|
35
|
+
var size = _ref.size,
|
|
36
|
+
props = objectWithoutProperties._objectWithoutProperties(_ref, _excluded$1);
|
|
37
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _extends._extends({}, props, {
|
|
38
|
+
className: classnames__default["default"]("neeto-molecules-builder-questions-list-panel__scroll", {
|
|
39
|
+
"neeto-molecules-builder-questions-list-panel__scroll--small": size === "small"
|
|
40
|
+
})
|
|
41
|
+
}));
|
|
37
42
|
};
|
|
38
43
|
|
|
39
44
|
var Element = function Element(_ref) {
|
|
@@ -144,9 +149,8 @@ var ElementList = function ElementList(_ref) {
|
|
|
144
149
|
value: searchString,
|
|
145
150
|
onChange: general.withEventTargetValue(setSearchString)
|
|
146
151
|
})), /*#__PURE__*/React__default["default"].createElement(Body, {
|
|
147
|
-
"data-testid": "elements-container"
|
|
148
|
-
|
|
149
|
-
className: "neeto-molecules-builder-questions-list-panel__scroll--small"
|
|
152
|
+
"data-testid": "elements-container",
|
|
153
|
+
size: "small"
|
|
150
154
|
}, filteredSections.map(function (section) {
|
|
151
155
|
return /*#__PURE__*/React__default["default"].createElement(Section, {
|
|
152
156
|
onSelect: onSelect,
|
|
@@ -155,7 +159,7 @@ var ElementList = function ElementList(_ref) {
|
|
|
155
159
|
key: section.key,
|
|
156
160
|
title: section.title
|
|
157
161
|
});
|
|
158
|
-
})))
|
|
162
|
+
})));
|
|
159
163
|
};
|
|
160
164
|
|
|
161
165
|
var _excluded = ["element", "isActive", "handleSelectElement", "isSelectable", "errors", "actions"];
|
|
@@ -379,13 +383,34 @@ var ElementsPanel = function ElementsPanel(_ref) {
|
|
|
379
383
|
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
380
384
|
isElementsListVisible = _useState2[0],
|
|
381
385
|
setIsElementsListVisible = _useState2[1];
|
|
386
|
+
var _useBreakpoints = reactUtils.useBreakpoints(),
|
|
387
|
+
isSize = _useBreakpoints.isSize;
|
|
388
|
+
var isLargerScreen = !isSize("mobile");
|
|
389
|
+
var _useState3 = React.useState(!isLargerScreen),
|
|
390
|
+
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
|
|
391
|
+
isElementsPanelCollapsed = _useState4[0],
|
|
392
|
+
setIsElementsPanelCollapsed = _useState4[1];
|
|
382
393
|
var isSelectedElementsEmpty = ramda.isEmpty(selectedElements);
|
|
383
394
|
var shouldShowElementsList = isSelectedElementsEmpty || isElementsListVisible;
|
|
384
395
|
var handleElementSelect = function handleElementSelect(element) {
|
|
385
396
|
setIsElementsListVisible(false);
|
|
386
397
|
handleAddElement(element);
|
|
387
398
|
};
|
|
388
|
-
|
|
399
|
+
React.useEffect(function () {
|
|
400
|
+
setIsElementsPanelCollapsed(!isLargerScreen);
|
|
401
|
+
}, [isLargerScreen]);
|
|
402
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !isElementsPanelCollapsed && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
403
|
+
className: "neeto-molecules-builder-panel__backdrop",
|
|
404
|
+
onClick: function onClick() {
|
|
405
|
+
setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
|
|
406
|
+
}
|
|
407
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
408
|
+
className: classnames__default["default"]("neeto-molecules-builder-elements-list-panel__wrapper", {
|
|
409
|
+
"neeto-molecules-builder-elements-list-panel__wrapper--collapsed": isElementsPanelCollapsed
|
|
410
|
+
})
|
|
411
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
412
|
+
className: "neeto-molecules-builder-elements-list-panel__container"
|
|
413
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
389
414
|
className: "neeto-molecules-builder-elements-list-panel neeto-ui-bg-gray-100",
|
|
390
415
|
onClick: function onClick(event) {
|
|
391
416
|
return event.stopPropagation();
|
|
@@ -410,13 +435,20 @@ var ElementsPanel = function ElementsPanel(_ref) {
|
|
|
410
435
|
selectedElements: selectedElements,
|
|
411
436
|
setIsElementsListVisible: setIsElementsListVisible,
|
|
412
437
|
showElementsFillButton: showElementsFillButton
|
|
413
|
-
}))
|
|
438
|
+
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
439
|
+
className: "neeto-molecules-builder-elements-list-panel__toggler",
|
|
440
|
+
icon: neetoIcons.Collapse,
|
|
441
|
+
style: "secondary",
|
|
442
|
+
onClick: function onClick() {
|
|
443
|
+
setIsElementsPanelCollapsed(!isElementsPanelCollapsed);
|
|
444
|
+
}
|
|
445
|
+
})));
|
|
414
446
|
};
|
|
415
447
|
|
|
416
448
|
var EmptyProperty = withT__default["default"](function (_ref) {
|
|
417
449
|
var t = _ref.t;
|
|
418
450
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
419
|
-
className: "space-y-4 "
|
|
451
|
+
className: "space-y-4 pb-6 pr-6"
|
|
420
452
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
421
453
|
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"
|
|
422
454
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
@@ -434,7 +466,7 @@ var EmptyProperty = withT__default["default"](function (_ref) {
|
|
|
434
466
|
var Skeleton = withT__default["default"](function (_ref) {
|
|
435
467
|
var t = _ref.t;
|
|
436
468
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
437
|
-
className: "space-y-4 pr-6"
|
|
469
|
+
className: "space-y-4 pb-6 pr-6"
|
|
438
470
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
439
471
|
className: "neeto-ui-bg-gray-200 neeto-ui-rounded-lg h-12 w-full"
|
|
440
472
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -452,11 +484,47 @@ var Skeleton = withT__default["default"](function (_ref) {
|
|
|
452
484
|
});
|
|
453
485
|
|
|
454
486
|
var PropertiesPanel = function PropertiesPanel(_ref) {
|
|
455
|
-
var
|
|
456
|
-
|
|
487
|
+
var id = _ref.id,
|
|
488
|
+
children = _ref.children,
|
|
489
|
+
onClose = _ref.onClose;
|
|
490
|
+
var _useBreakpoints = reactUtils.useBreakpoints(function (window) {
|
|
491
|
+
return {
|
|
492
|
+
largeDesktop: window.innerWidth >= 1280
|
|
493
|
+
};
|
|
494
|
+
}),
|
|
495
|
+
isSize = _useBreakpoints.isSize;
|
|
496
|
+
var isLargerScreen = isSize("largeDesktop");
|
|
497
|
+
var _useState = React.useState(!isLargerScreen),
|
|
498
|
+
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
499
|
+
isPropertiesPanelCollapsed = _useState2[0],
|
|
500
|
+
setIsPropertiesPanelCollapsed = _useState2[1];
|
|
501
|
+
React.useEffect(function () {
|
|
502
|
+
setIsPropertiesPanelCollapsed(!isLargerScreen);
|
|
503
|
+
}, [isLargerScreen]);
|
|
504
|
+
React.useEffect(function () {
|
|
505
|
+
if (!id) return;
|
|
506
|
+
setIsPropertiesPanelCollapsed(false);
|
|
507
|
+
}, [id]);
|
|
508
|
+
var handleCollapsePanel = function handleCollapsePanel() {
|
|
509
|
+
setIsPropertiesPanelCollapsed(!isPropertiesPanelCollapsed);
|
|
510
|
+
onClose === null || onClose === void 0 ? void 0 : onClose(id);
|
|
511
|
+
};
|
|
512
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !isPropertiesPanelCollapsed && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
513
|
+
className: "neeto-molecules-builder-panel__backdrop neeto-molecules-builder-panel__backdrop--extended",
|
|
514
|
+
onClick: handleCollapsePanel
|
|
515
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
516
|
+
className: classnames__default["default"]("neeto-molecules-builder-element-properties-panel__wrapper", {
|
|
517
|
+
"neeto-molecules-builder-element-properties-panel__wrapper--collapsed": isPropertiesPanelCollapsed
|
|
518
|
+
})
|
|
519
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
457
520
|
className: "neeto-molecules-builder-element-properties-panel neeto-ui-bg-gray-100",
|
|
458
521
|
"data-cy": "properties-panel"
|
|
459
|
-
}, children !== null && children !== void 0 ? children : /*#__PURE__*/React__default["default"].createElement(Skeleton, null))
|
|
522
|
+
}, children !== null && children !== void 0 ? children : /*#__PURE__*/React__default["default"].createElement(Skeleton, null)), !isPropertiesPanelCollapsed && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
523
|
+
className: "neeto-molecules-builder-properties-panel__close",
|
|
524
|
+
icon: neetoIcons.Close,
|
|
525
|
+
style: "secondary",
|
|
526
|
+
onClick: handleCollapsePanel
|
|
527
|
+
})));
|
|
460
528
|
};
|
|
461
529
|
PropertiesPanel.EmptyProperty = EmptyProperty;
|
|
462
530
|
|
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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"}
|