@bigbinary/neeto-molecules 1.15.17 → 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/Codeblock.js +2 -0
- package/dist/Codeblock.js.map +1 -1
- package/dist/CopyToClipboardButton.js +8 -3
- package/dist/CopyToClipboardButton.js.map +1 -1
- package/dist/CustomDomain.js +2 -2
- package/dist/CustomDomainDashboard.js +2 -1
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/Header.js +2 -0
- package/dist/Header.js.map +1 -1
- package/dist/Rename.js +3 -2
- package/dist/Rename.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/SuffixedInput.js +1 -0
- package/dist/SuffixedInput.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/Codeblock.js +2 -0
- package/dist/cjs/Codeblock.js.map +1 -1
- package/dist/cjs/CopyToClipboardButton.js +8 -3
- package/dist/cjs/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/CustomDomain.js +2 -2
- package/dist/cjs/CustomDomainDashboard.js +2 -1
- 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/Rename.js +3 -2
- package/dist/cjs/Rename.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/SuffixedInput.js +1 -0
- package/dist/cjs/SuffixedInput.js.map +1 -1
- package/dist/cjs/Taxonomy.js +1 -0
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/{index-35629600.js → index-408d5262.js} +1 -1
- package/dist/cjs/{index-35629600.js.map → index-408d5262.js.map} +1 -1
- package/dist/{index-2fe27725.js → index-203143d9.js} +1 -1
- package/dist/{index-2fe27725.js.map → index-203143d9.js.map} +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +6 -4
- package/types/Builder.d.ts +8 -2
- package/types/Search.d.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDomainDashboard.js","sources":["../../src/components/CustomDomainDashboard/Header.jsx","../../src/components/CustomDomainDashboard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Button } from \"neetoui\";\n\nimport NeetoHeader from \"components/Header\";\n\nconst Header = withT(\n ({ t, setIsPaneOpen, searchTerm, setSearchTerm, headerProps }) => (\n <NeetoHeader\n data-testid=\"custom-domain-header\"\n title={t(\"neetoMolecules.customDomain.customDomain\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-new-custom-domain-button\"\n label={t(\"neetoMolecules.customDomain.addNew\")}\n onClick={() => setIsPaneOpen(true)}\n />\n }\n searchProps={{\n value: searchTerm,\n onChange: withEventTargetValue(setSearchTerm),\n placeholder: t(\"neetoMolecules.customDomain.search\"),\n \"data-cy\": \"custom-domain-search-field\",\n className: \"w-56\",\n }}\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport ManageDomain from \"./Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"./useCustomDomainApi\";\nimport { renderColumnData } from \"./utils\";\n\nconst CustomDomainDashboard = ({ headerProps, url, onCreate }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [customDomain, setCustomDomain] = useState({});\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const { data: data, isLoading } = useFetchCustomDomains({\n url,\n params: { searchTerm: debouncedSearchTerm },\n });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, {\n onSettled: () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n },\n });\n\n const enableManagePane = customDomain => {\n setCustomDomain(customDomain);\n setIsPaneOpen(true);\n };\n\n const enableDeleteAlert = customDomain => {\n setCustomDomain(customDomain);\n setIsAlertOpen(true);\n };\n\n const disableManagePane = () => {\n setIsPaneOpen(false);\n setCustomDomain({});\n };\n\n const disableDeleteAlert = () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n };\n\n return (\n <>\n <Container>\n <Header\n {...{ headerProps, searchTerm, setIsPaneOpen, setSearchTerm }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading &&\n (isNotEmpty(data?.customDomains) ? (\n <div className=\"w-full flex-grow\">\n <SubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 font-semibold\"\n component=\"h4\"\n >\n {t(\"neetoMolecules.customDomain.customDomainWithCount\", {\n count: data?.customDomains?.length,\n })}\n </Typography>\n }\n />\n <div>\n <Table\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </div>\n </div>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n ))}\n </Container>\n <ManageDomain\n {...{ customDomain, onCreate, setCustomDomain, url }}\n hasOne={false}\n isOpen={isPaneOpen}\n onClose={disableManagePane}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={disableDeleteAlert}\n onSubmit={() => deleteCustomDomain(customDomain?.id)}\n />\n </>\n );\n};\n\nCustomDomainDashboard.propTypes = {\n /**\n * The props to be passed to the `CustomDomain` page header. Accepts all props that can be passed to the `Header` component.\n */\n headerProps: PropTypes.object,\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomainDashboard;\n"],"names":["Header","withT","_ref","t","setIsPaneOpen","searchTerm","setSearchTerm","headerProps","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","customDomain","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","enableManagePane","enableDeleteAlert","disableManagePane","disableDeleteAlert","Fragment","Container","PageLoader","isNotEmpty","customDomains","SubHeader","leftActionBlock","Typography","component","count","length","Table","allowRowClick","rowData","rowSelection","columnData","renderColumnData","NoData","primaryButtonProps","ManageDomain","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit","id"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomDomainDashboard.js","sources":["../../src/components/CustomDomainDashboard/Header.jsx","../../src/components/CustomDomainDashboard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Button } from \"neetoui\";\n\nimport NeetoHeader from \"components/Header\";\n\nconst Header = withT(\n ({ t, setIsPaneOpen, searchTerm, setSearchTerm, headerProps }) => (\n <NeetoHeader\n data-testid=\"custom-domain-header\"\n title={t(\"neetoMolecules.customDomain.customDomain\", PLURAL)}\n actionBlock={\n <Button\n data-cy=\"add-new-custom-domain-button\"\n label={t(\"neetoMolecules.customDomain.addNew\")}\n onClick={() => setIsPaneOpen(true)}\n />\n }\n searchProps={{\n value: searchTerm,\n onChange: withEventTargetValue(setSearchTerm),\n placeholder: t(\"neetoMolecules.customDomain.search\"),\n \"data-cy\": \"custom-domain-search-field\",\n className: \"w-56\",\n }}\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport ManageDomain from \"./Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"./useCustomDomainApi\";\nimport { renderColumnData } from \"./utils\";\n\nconst CustomDomainDashboard = ({ headerProps, url, onCreate }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [customDomain, setCustomDomain] = useState({});\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const { data: data, isLoading } = useFetchCustomDomains({\n url,\n params: { searchTerm: debouncedSearchTerm },\n });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, {\n onSettled: () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n },\n });\n\n const enableManagePane = customDomain => {\n setCustomDomain(customDomain);\n setIsPaneOpen(true);\n };\n\n const enableDeleteAlert = customDomain => {\n setCustomDomain(customDomain);\n setIsAlertOpen(true);\n };\n\n const disableManagePane = () => {\n setIsPaneOpen(false);\n setCustomDomain({});\n };\n\n const disableDeleteAlert = () => {\n setIsAlertOpen(false);\n setCustomDomain({});\n };\n\n return (\n <>\n <Container>\n <Header\n {...{ headerProps, searchTerm, setIsPaneOpen, setSearchTerm }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading &&\n (isNotEmpty(data?.customDomains) ? (\n <div className=\"w-full flex-grow\">\n <SubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 font-semibold\"\n component=\"h4\"\n >\n {t(\"neetoMolecules.customDomain.customDomainWithCount\", {\n count: data?.customDomains?.length,\n })}\n </Typography>\n }\n />\n <div>\n <Table\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </div>\n </div>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n ))}\n </Container>\n <ManageDomain\n {...{ customDomain, onCreate, setCustomDomain, url }}\n hasOne={false}\n isOpen={isPaneOpen}\n onClose={disableManagePane}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={disableDeleteAlert}\n onSubmit={() => deleteCustomDomain(customDomain?.id)}\n />\n </>\n );\n};\n\nCustomDomainDashboard.propTypes = {\n /**\n * The props to be passed to the `CustomDomain` page header. Accepts all props that can be passed to the `Header` component.\n */\n headerProps: PropTypes.object,\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomainDashboard;\n"],"names":["Header","withT","_ref","t","setIsPaneOpen","searchTerm","setSearchTerm","headerProps","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","customDomain","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","enableManagePane","enableDeleteAlert","disableManagePane","disableDeleteAlert","Fragment","Container","PageLoader","isNotEmpty","customDomains","SubHeader","leftActionBlock","Typography","component","count","length","Table","allowRowClick","rowData","rowSelection","columnData","renderColumnData","NoData","primaryButtonProps","ManageDomain","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit","id"],"mappings":"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"}
|
package/dist/cjs/Header.js
CHANGED
|
@@ -19,6 +19,7 @@ require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
|
|
|
19
19
|
require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
|
|
20
20
|
require('ramda');
|
|
21
21
|
require('react-i18next');
|
|
22
|
+
require('@bigbinary/neeto-commons-frontend/utils');
|
|
22
23
|
|
|
23
24
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
25
|
|
|
@@ -95,6 +96,7 @@ var Header = function Header(_ref) {
|
|
|
95
96
|
})))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
96
97
|
className: "neeto-molecules-header__right"
|
|
97
98
|
}, searchProps && /*#__PURE__*/React__default["default"].createElement(Search, _extends._extends({
|
|
99
|
+
enableUrlSync: true,
|
|
98
100
|
className: classnames__default["default"](["neeto-molecules-header__search-input", searchProps.className])
|
|
99
101
|
}, searchProps)), actionBlock && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
100
102
|
className: "neeto-molecules-header__action-block"
|
package/dist/cjs/Header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sources":["../../src/components/Header/constants.js","../../src/components/Header/Dropdown.jsx","../../src/components/Header/index.jsx"],"sourcesContent":["const SIZES = { nano: \"nano\", small: \"small\", large: \"large\" };\n\nconst DROPDOWN_BUTTON_SIZES = {\n nano: \"small\",\n small: \"medium\",\n large: \"large\",\n};\n\nexport { SIZES, DROPDOWN_BUTTON_SIZES };\n","import React from \"react\";\n\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport { DROPDOWN_BUTTON_SIZES } from \"./constants\";\n\nconst Dropdown = props => (\n <NeetoUIDropdown\n buttonSize={DROPDOWN_BUTTON_SIZES[props.size]}\n buttonStyle=\"secondary\"\n icon={MenuHorizontal}\n position=\"bottom-start\"\n strategy=\"fixed\"\n {...props}\n />\n);\n\nexport default Dropdown;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, isNotEmpty } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Breadcrumbs from \"components/Breadcrumbs\";\nimport Search from \"components/Search\";\n\nimport { SIZES } from \"./constants\";\nimport Dropdown from \"./Dropdown\";\nimport \"./header.scss\";\n\nconst Header = ({\n title,\n searchProps,\n className = \"\",\n actionBlock,\n breadcrumbs = [],\n renderDropdown = noop,\n size = \"large\",\n \"data-testid\": dataTestId = \"neeto-molecules-header\",\n}) => (\n <div\n data-cy=\"neeto-molecules-header\"\n data-testid={dataTestId}\n className={classnames([\n \"neeto-molecules-header\",\n {\n \"neeto-molecules-header--has-breadcrumbs\": isNotEmpty(breadcrumbs),\n \"neeto-molecules-header--large\": size === SIZES.large,\n \"neeto-molecules-header--small\": size === SIZES.small,\n \"neeto-molecules-header--nano\": size === SIZES.nano,\n },\n className,\n ])}\n >\n <div className=\"neeto-molecules-header__left\">\n <div className=\"neeto-molecules-header__left-data-wrap\">\n {isNotEmpty(breadcrumbs) && <Breadcrumbs {...{ breadcrumbs }} />}\n <div className=\"neeto-molecules-header__page-title\">\n <Typography\n data-cy=\"main-header\"\n data-test-id=\"main-header\"\n lineHeight=\"tight\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n {renderDropdown(props => (\n <Dropdown {...{ size, ...props }} />\n ))}\n </div>\n </div>\n </div>\n <div className=\"neeto-molecules-header__right\">\n {searchProps && (\n <Search\n className={classnames([\n \"neeto-molecules-header__search-input\",\n searchProps.className,\n ])}\n {...searchProps}\n />\n )}\n {actionBlock && (\n <div className=\"neeto-molecules-header__action-block\">\n {actionBlock}\n </div>\n )}\n </div>\n </div>\n);\n\nHeader.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * To specify additional class names.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered in the right side of the Header section.\n */\n\n actionBlock: PropTypes.node,\n /**\n * To add **Search** molecule to the subheader section.\n */\n searchProps: PropTypes.object,\n /**\n * To show breadcrumbs in the Header section. `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 * A function to render the Dropdown next to the title. It provides the Dropdown component as argument.\n */\n renderDropdown: PropTypes.func,\n /**\n * To specify size of the Header.\n *\n * `large` - Default size. To be used in index pages.\n *\n * `small` - To be used in inner pages.\n *\n * `nano` - To be used in inner pages with menubar.\n */\n size: PropTypes.oneOf([\"nano\", \"small\", \"large\"]),\n};\n\nexport default Header;\n"],"names":["SIZES","nano","small","large","DROPDOWN_BUTTON_SIZES","Dropdown","props","React","createElement","NeetoUIDropdown","_extends","buttonSize","size","buttonStyle","icon","MenuHorizontal","position","strategy","Header","_ref","title","searchProps","_ref$className","className","actionBlock","_ref$breadcrumbs","breadcrumbs","_ref$renderDropdown","renderDropdown","noop","_ref$size","_ref$dataTestid","dataTestId","classnames","isNotEmpty","Breadcrumbs","Typography","lineHeight","style","weight","_objectSpread","Search"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Header.js","sources":["../../src/components/Header/constants.js","../../src/components/Header/Dropdown.jsx","../../src/components/Header/index.jsx"],"sourcesContent":["const SIZES = { nano: \"nano\", small: \"small\", large: \"large\" };\n\nconst DROPDOWN_BUTTON_SIZES = {\n nano: \"small\",\n small: \"medium\",\n large: \"large\",\n};\n\nexport { SIZES, DROPDOWN_BUTTON_SIZES };\n","import React from \"react\";\n\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown as NeetoUIDropdown } from \"neetoui\";\n\nimport { DROPDOWN_BUTTON_SIZES } from \"./constants\";\n\nconst Dropdown = props => (\n <NeetoUIDropdown\n buttonSize={DROPDOWN_BUTTON_SIZES[props.size]}\n buttonStyle=\"secondary\"\n icon={MenuHorizontal}\n position=\"bottom-start\"\n strategy=\"fixed\"\n {...props}\n />\n);\n\nexport default Dropdown;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, isNotEmpty } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Breadcrumbs from \"components/Breadcrumbs\";\nimport Search from \"components/Search\";\n\nimport { SIZES } from \"./constants\";\nimport Dropdown from \"./Dropdown\";\nimport \"./header.scss\";\n\nconst Header = ({\n title,\n searchProps,\n className = \"\",\n actionBlock,\n breadcrumbs = [],\n renderDropdown = noop,\n size = \"large\",\n \"data-testid\": dataTestId = \"neeto-molecules-header\",\n}) => (\n <div\n data-cy=\"neeto-molecules-header\"\n data-testid={dataTestId}\n className={classnames([\n \"neeto-molecules-header\",\n {\n \"neeto-molecules-header--has-breadcrumbs\": isNotEmpty(breadcrumbs),\n \"neeto-molecules-header--large\": size === SIZES.large,\n \"neeto-molecules-header--small\": size === SIZES.small,\n \"neeto-molecules-header--nano\": size === SIZES.nano,\n },\n className,\n ])}\n >\n <div className=\"neeto-molecules-header__left\">\n <div className=\"neeto-molecules-header__left-data-wrap\">\n {isNotEmpty(breadcrumbs) && <Breadcrumbs {...{ breadcrumbs }} />}\n <div className=\"neeto-molecules-header__page-title\">\n <Typography\n data-cy=\"main-header\"\n data-test-id=\"main-header\"\n lineHeight=\"tight\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n {renderDropdown(props => (\n <Dropdown {...{ size, ...props }} />\n ))}\n </div>\n </div>\n </div>\n <div className=\"neeto-molecules-header__right\">\n {searchProps && (\n <Search\n enableUrlSync\n className={classnames([\n \"neeto-molecules-header__search-input\",\n searchProps.className,\n ])}\n {...searchProps}\n />\n )}\n {actionBlock && (\n <div className=\"neeto-molecules-header__action-block\">\n {actionBlock}\n </div>\n )}\n </div>\n </div>\n);\n\nHeader.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * To specify additional class names.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered in the right side of the Header section.\n */\n\n actionBlock: PropTypes.node,\n /**\n * To add **Search** molecule to the subheader section.\n */\n searchProps: PropTypes.object,\n /**\n * To show breadcrumbs in the Header section. `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 * A function to render the Dropdown next to the title. It provides the Dropdown component as argument.\n */\n renderDropdown: PropTypes.func,\n /**\n * To specify size of the Header.\n *\n * `large` - Default size. To be used in index pages.\n *\n * `small` - To be used in inner pages.\n *\n * `nano` - To be used in inner pages with menubar.\n */\n size: PropTypes.oneOf([\"nano\", \"small\", \"large\"]),\n};\n\nexport default Header;\n"],"names":["SIZES","nano","small","large","DROPDOWN_BUTTON_SIZES","Dropdown","props","React","createElement","NeetoUIDropdown","_extends","buttonSize","size","buttonStyle","icon","MenuHorizontal","position","strategy","Header","_ref","title","searchProps","_ref$className","className","actionBlock","_ref$breadcrumbs","breadcrumbs","_ref$renderDropdown","renderDropdown","noop","_ref$size","_ref$dataTestid","dataTestId","classnames","isNotEmpty","Breadcrumbs","Typography","lineHeight","style","weight","_objectSpread","Search","enableUrlSync"],"mappings":"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"}
|
package/dist/cjs/Rename.js
CHANGED
|
@@ -107,7 +107,7 @@ var Editor = function Editor(_ref) {
|
|
|
107
107
|
})));
|
|
108
108
|
};
|
|
109
109
|
|
|
110
|
-
var css = ":root{--neeto-molecules-rename-font-size:var(--neeto-ui-text-sm);--neeto-molecules-rename-font-weight:400;--neeto-molecules-rename-letter-spacing:0;--neeto-molecules-rename-line-height:1.2;--neeto-molecules-rename-min-width:120px}.neeto-molecules-rename-common-styles,.neeto-molecules-rename__input .neeto-ui-input input,.neeto-molecules-rename__input-width-maker,.neeto-molecules-rename__text{font-size:var(--neeto-ui-text-sm)!important;font-size:var(--neeto-molecules-rename-font-size)!important;font-weight:400;font-weight:var(--neeto-molecules-rename-font-weight);letter-spacing:0;letter-spacing:var(--neeto-molecules-rename-letter-spacing);line-height:1.2;line-height:var(--neeto-molecules-rename-line-height);margin:0}.neeto-molecules-rename__input{height:100%;margin:0;max-width:100%;min-width:0;position:relative;transition:width .2s ease-in-out;width:100%}.neeto-molecules-rename__input .neeto-ui-input{height:100%}.neeto-molecules-rename__input .neeto-ui-input .neeto-ui-input__suffix{margin-right:0!important}.neeto-molecules-rename__input .neeto-ui-input input{min-width:0}.neeto-molecules-rename__text{background-color:rgb(var(--neeto-ui-white));border:thin solid rgb(var(--neeto-ui-white));border-radius:var(--neeto-ui-rounded);cursor:pointer;max-width:448px;padding:8px;transition:var(--neeto-ui-transition)}.neeto-molecules-rename__display-text{color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-rename__display-text:hover{border:thin solid rgb(var(--neeto-ui-gray-300))}.neeto-molecules-rename__input-width-maker{background-color:rgb(var(--neeto-ui-white));border:thin solid rgb(var(--neeto-ui-white));border-radius:var(--neeto-ui-rounded);cursor:pointer;display:inline-flex;margin-right:68px;max-width:100%;min-width:120px;overflow:hidden;padding:8px;position:relative;transition:var(--neeto-ui-transition);visibility:hidden;white-space:nowrap}";
|
|
110
|
+
var css = ":root{--neeto-molecules-rename-font-size:var(--neeto-ui-text-sm);--neeto-molecules-rename-font-weight:400;--neeto-molecules-rename-letter-spacing:0;--neeto-molecules-rename-line-height:1.2;--neeto-molecules-rename-min-width:120px}.neeto-molecules-rename-common-styles,.neeto-molecules-rename__input .neeto-ui-input input,.neeto-molecules-rename__input-width-maker,.neeto-molecules-rename__text{font-size:var(--neeto-ui-text-sm)!important;font-size:var(--neeto-molecules-rename-font-size)!important;font-weight:400;font-weight:var(--neeto-molecules-rename-font-weight);letter-spacing:0;letter-spacing:var(--neeto-molecules-rename-letter-spacing);line-height:1.2;line-height:var(--neeto-molecules-rename-line-height);margin:0}.neeto-molecules-rename__input{height:100%;margin:0;max-width:100%;min-width:0;position:relative;transition:width .2s ease-in-out;width:100%}.neeto-molecules-rename__input .neeto-ui-input{height:100%}.neeto-molecules-rename__input .neeto-ui-input .neeto-ui-input__suffix{margin-right:0!important}.neeto-molecules-rename__input .neeto-ui-input input{min-width:0}.neeto-molecules-rename__text{background-color:rgb(var(--neeto-ui-white));border:thin solid rgb(var(--neeto-ui-white));border-radius:var(--neeto-ui-rounded);cursor:pointer;max-width:448px;padding:8px;transition:var(--neeto-ui-transition)}.neeto-molecules-rename__display-text{color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-rename__display-text:hover{border:thin solid rgb(var(--neeto-ui-gray-300))}.neeto-molecules-rename__input-width-maker{background-color:rgb(var(--neeto-ui-white));border:thin solid rgb(var(--neeto-ui-white));border-radius:var(--neeto-ui-rounded);cursor:pointer;display:inline-flex;margin-right:68px;max-width:100%;min-width:120px;overflow:hidden;padding:8px;position:relative;transition:var(--neeto-ui-transition);visibility:hidden;white-space:nowrap}.neeto-molecules-rename-breadcrumbs{margin-bottom:0}.neeto-molecules-rename-breadcrumbs .neeto-molecules-breadcrumb a{display:flex}";
|
|
111
111
|
injectCss.n(css,{});
|
|
112
112
|
|
|
113
113
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -305,7 +305,8 @@ var Rename = function Rename(_ref) {
|
|
|
305
305
|
className: classnames__default["default"]("neeto-molecules-rename flex min-w-0 max-w-md flex-col items-start md:flex-row md:items-center", className)
|
|
306
306
|
}, neetoCist.isNotEmpty(breadcrumbs) && /*#__PURE__*/React__default["default"].createElement(Breadcrumbs, {
|
|
307
307
|
breadcrumbs: breadcrumbs,
|
|
308
|
-
hasTrailingSeparator: true
|
|
308
|
+
hasTrailingSeparator: true,
|
|
309
|
+
className: "neeto-molecules-rename-breadcrumbs"
|
|
309
310
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
310
311
|
className: "relative flex max-w-full items-center gap-x-2"
|
|
311
312
|
}, editMode ? /*#__PURE__*/React__default["default"].createElement(Editor, editNameProps) : /*#__PURE__*/React__default["default"].createElement(ViewName, viewNameProps)));
|
package/dist/cjs/Rename.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rename.js","sources":["../../src/components/Rename/utils.js","../../src/components/Rename/EditName.jsx","../../src/components/Rename/RenameMenu.jsx","../../src/components/Rename/ViewName.jsx","../../src/components/Rename/index.jsx"],"sourcesContent":["export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import React from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { mergeRefs } from \"./utils\";\n\nconst Editor = ({\n placeholder,\n allowEmptySubmission,\n name,\n isLoading,\n handleRename,\n submitButtonProps,\n handleClose,\n cancelButtonProps,\n setName,\n inputProps,\n editMode,\n}) => {\n const closeRef = useHotkeys(\"escape\", handleClose, {\n mode: \"scoped\",\n enabled: editMode,\n });\n\n const submitRef = useHotkeys(\n [\"command+return\", \"return\"],\n event => {\n if (isEmpty(name) && !allowEmptySubmission) return;\n handleRename(event, name);\n },\n { mode: \"scoped\", enabled: editMode }\n );\n\n return (\n <div className=\"relative flex min-w-0 max-w-full flex-grow\">\n <span className=\"neeto-molecules-rename__input-width-maker\">\n {name.replace(/\\s/g, \".\") || placeholder}\n </span>\n <Input\n {...{ placeholder }}\n autoFocus\n className=\"neeto-molecules-rename__input absolute\"\n data-cy=\"form-rename-text-field\"\n data-testid=\"neeto-molecules-name-input\"\n ref={mergeRefs(closeRef, submitRef)}\n value={name}\n suffix={\n <div className=\"flex items-center justify-end\">\n <Button\n className=\"neeto-ui-rounded-none\"\n data-cy=\"form-rename-submit-button\"\n data-testid=\"neeto-molecules-rename-button\"\n disabled={(!allowEmptySubmission && isEmpty(name)) || isLoading}\n icon={Check}\n loading={isLoading}\n style=\"text\"\n onClick={event => handleRename(event, name)}\n {...submitButtonProps}\n />\n <Button\n className=\"neeto-ui-rounded-none\"\n data-cy=\"form-rename-close-button\"\n data-testid=\"neeto-molecules-cancel-button\"\n disabled={isLoading}\n icon={Close}\n style=\"text\"\n onClick={handleClose}\n {...cancelButtonProps}\n />\n </div>\n }\n onChange={withEventTargetValue(setName)}\n onClick={event => event.stopPropagation()}\n {...inputProps}\n label={null}\n />\n </div>\n );\n};\n\nexport default Editor;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst RenameMenu = withT(\n ({\n t,\n handleRenameClick,\n disabled,\n dropdownItems,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n isArchived,\n dropdownButtonProps,\n dropdownProps,\n }) => (\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": \"neeto-molecules-menu-button\",\n ...dropdownButtonProps,\n }}\n dropdownProps={{\n position: \"bottom-start\",\n onClick: event => event.stopPropagation(),\n strategy: \"fixed\",\n appendTo: () => document.body,\n ...dropdownProps,\n }}\n menuItems={[\n {\n \"data-cy\": \"form-rename-button\",\n onClick: handleRenameClick,\n label: t(\"neetoMolecules.common.actions.rename\"),\n isVisible: !disabled,\n key: \"edit-name-menu\",\n },\n {\n \"data-cy\": \"form-clone-button\",\n onClick: onClone,\n label: t(\"neetoMolecules.common.actions.clone\"),\n isVisible: isPresent(onClone),\n key: \"clone-entity-menu\",\n },\n {\n \"data-cy\": \"form-archive-button\",\n onClick: onArchiveStatusToggle,\n label: isArchived\n ? t(\"neetoMolecules.common.actions.unArchive\")\n : t(\"neetoMolecules.common.actions.archive\"),\n isVisible: isPresent(onArchiveStatusToggle),\n key: \"archive-entity-menu\",\n },\n {\n \"data-cy\": \"form-delete-button\",\n onClick: onDelete,\n label: t(\"neetoMolecules.common.actions.delete\"),\n isVisible: isPresent(onDelete),\n key: \"delete-entity-menu\",\n },\n ...dropdownItems,\n ]}\n />\n )\n);\n\nexport default RenameMenu;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport RenameMenu from \"./RenameMenu\";\n\nconst ViewName = ({\n disabled,\n textProps,\n formatText,\n dropdownItems,\n hideMenu,\n handleRenameClick,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n name,\n isArchived,\n dropdownButtonProps,\n dropdownProps,\n}) => {\n const isDefaultMenuCallbacksPresent =\n isPresent(onArchiveStatusToggle) ||\n isPresent(onDelete) ||\n isPresent(onClone);\n\n const isMenuVisible =\n !hideMenu &&\n (isNotEmpty(dropdownItems) || !disabled || isDefaultMenuCallbacksPresent);\n\n return (\n <>\n <Typography\n component=\"p\"\n data-cy=\"form-title\"\n data-testid=\"neeto-molecules-value-display\"\n style=\"body2\"\n className={classNames(\n \"neeto-molecules-rename__text neeto-molecules-rename__display-text w-full truncate\",\n {\n \"cursor-pointer\": !disabled,\n \"pointer-events-none cursor-text\": disabled,\n }\n )}\n onClick={handleRenameClick}\n {...textProps}\n >\n {typeof formatText === \"function\" ? formatText(name) : name}\n </Typography>\n {isMenuVisible && (\n <RenameMenu\n {...{\n disabled,\n dropdownButtonProps,\n dropdownItems,\n dropdownProps,\n handleRenameClick,\n isArchived,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n }}\n />\n )}\n </>\n );\n};\n\nexport default ViewName;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport Breadcrumbs from \"components/Breadcrumbs\";\n\nimport EditName from \"./EditName\";\nimport \"./rename.scss\";\nimport ViewName from \"./ViewName\";\n\nconst Rename = ({\n value,\n onRename,\n onClone,\n onArchiveStatusToggle,\n onDelete,\n isArchived,\n isOpen = false,\n isLoading = false,\n placeholder = \"\",\n hideMenu = false,\n disabled = false,\n dropdownItems = [],\n breadcrumbs = [],\n textProps = {},\n inputProps = {},\n submitButtonProps = {},\n cancelButtonProps = {},\n className = \"\",\n allowEmptySubmission = false,\n defaultName = \"\",\n formatText,\n dropdownButtonProps = {},\n dropdownProps = {},\n}) => {\n const [name, setName] = useStateWithDependency(value ?? \"\");\n const [editMode, setEditMode] = useState(isOpen);\n const renameRef = useRef(null);\n\n useOnClickOutside(renameRef, () => editMode && handleClose());\n\n const handleRename = (event, name) => {\n event.stopPropagation();\n const newName = allowEmptySubmission && isEmpty(name) ? defaultName : name;\n setName(newName);\n onRename?.(newName);\n setEditMode(false);\n };\n\n const handleClose = event => {\n event?.stopPropagation();\n setName(value);\n setEditMode(false);\n };\n\n const handleRenameClick = event => {\n event.stopPropagation();\n !disabled && setEditMode(true);\n };\n\n const editNameProps = {\n allowEmptySubmission,\n cancelButtonProps,\n handleClose,\n handleRename,\n inputProps,\n isLoading,\n name,\n placeholder,\n setName,\n submitButtonProps,\n editMode,\n };\n\n const viewNameProps = {\n disabled,\n dropdownItems,\n formatText,\n handleRenameClick,\n hideMenu,\n name,\n isArchived,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n textProps,\n dropdownButtonProps,\n dropdownProps,\n };\n\n return (\n <div\n ref={renameRef}\n className={classnames(\n \"neeto-molecules-rename flex min-w-0 max-w-md flex-col items-start md:flex-row md:items-center\",\n className\n )}\n >\n {isNotEmpty(breadcrumbs) && (\n <Breadcrumbs {...{ breadcrumbs }} hasTrailingSeparator />\n )}\n <div className=\"relative flex max-w-full items-center gap-x-2\">\n {editMode ? (\n <EditName {...editNameProps} />\n ) : (\n <ViewName {...viewNameProps} />\n )}\n </div>\n </div>\n );\n};\n\nRename.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To allow empty submission.\n */\n allowEmptySubmission: PropTypes.bool,\n /**\n * Default value to be used on empty submission.\n */\n defaultName: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when renamed.\n */\n onRename: PropTypes.func,\n /**\n * To specify the function to be triggered when Clone menu is clicked. The menu will be hidden if this prop is not set.\n */\n onClone: PropTypes.func,\n /**\n * To specify the function to be triggered when Archive menu is clicked. The menu will be hidden if this prop is not set.\n */\n onArchiveStatusToggle: PropTypes.func,\n /**\n * To specify whether the entity is archived or not. The text in the menu will be changed based on this to Archive or Unarchive.\n */\n isArchived: PropTypes.bool,\n /**\n * To specify the function to be triggered when Delete menu is clicked. The menu will be hidden if this prop is not set.\n */\n onDelete: PropTypes.func,\n /**\n * To specify whether edit mode is enabled or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify whether the edit buttons are in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * To specify the placeholder for the input component in edit mode.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the dropdown menu should be hidden or not.\n */\n hideMenu: PropTypes.bool,\n /**\n * To specify whether the rename option in dropdown should be enabled. If it is the only option in dropdown, the menu will be hidden.\n */\n disabled: PropTypes.bool,\n /**\n * To specify additional items for the dropdown menu.\n */\n dropdownItems: PropTypes.array,\n /**\n * To specify the breadcrumbs if used in the title of `Header` component.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n /**\n * To override the properties of the Typography component that displays the `value`.\n */\n textProps: PropTypes.object,\n /**\n * To override the properties of the Input component in edit mode.\n */\n inputProps: PropTypes.object,\n /**\n * To format the value to display when not in edit mode.\n */\n formatText: PropTypes.func,\n /**\n * To override the properties of the submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To override the properties of the cancel button.\n */\n cancelButtonProps: PropTypes.object,\n};\n\nexport default Rename;\n"],"names":["mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","Editor","_ref","placeholder","allowEmptySubmission","name","isLoading","handleRename","submitButtonProps","handleClose","cancelButtonProps","setName","inputProps","editMode","closeRef","useHotkeys","mode","enabled","submitRef","event","isEmpty","React","createElement","className","replace","Input","_extends","autoFocus","value","suffix","Button","disabled","icon","Check","loading","style","onClick","Close","onChange","withEventTargetValue","stopPropagation","label","RenameMenu","withT","t","handleRenameClick","dropdownItems","onArchiveStatusToggle","onClone","onDelete","isArchived","dropdownButtonProps","dropdownProps","MoreDropdown","_objectSpread","position","strategy","appendTo","document","body","menuItems","isVisible","key","isPresent","concat","_toConsumableArray","ViewName","textProps","formatText","hideMenu","isDefaultMenuCallbacksPresent","isMenuVisible","isNotEmpty","Fragment","Typography","component","classNames","Rename","onRename","_ref$isOpen","isOpen","_ref$isLoading","_ref$placeholder","_ref$hideMenu","_ref$disabled","_ref$dropdownItems","_ref$breadcrumbs","breadcrumbs","_ref$textProps","_ref$inputProps","_ref$submitButtonProp","_ref$cancelButtonProp","_ref$className","_ref$allowEmptySubmis","_ref$defaultName","defaultName","_ref$dropdownButtonPr","_ref$dropdownProps","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_slicedToArray","_useState","useState","_useState2","setEditMode","renameRef","useRef","useOnClickOutside","newName","editNameProps","viewNameProps","classnames","Breadcrumbs","hasTrailingSeparator","EditName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rename.js","sources":["../../src/components/Rename/utils.js","../../src/components/Rename/EditName.jsx","../../src/components/Rename/RenameMenu.jsx","../../src/components/Rename/ViewName.jsx","../../src/components/Rename/index.jsx"],"sourcesContent":["export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import React from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { mergeRefs } from \"./utils\";\n\nconst Editor = ({\n placeholder,\n allowEmptySubmission,\n name,\n isLoading,\n handleRename,\n submitButtonProps,\n handleClose,\n cancelButtonProps,\n setName,\n inputProps,\n editMode,\n}) => {\n const closeRef = useHotkeys(\"escape\", handleClose, {\n mode: \"scoped\",\n enabled: editMode,\n });\n\n const submitRef = useHotkeys(\n [\"command+return\", \"return\"],\n event => {\n if (isEmpty(name) && !allowEmptySubmission) return;\n handleRename(event, name);\n },\n { mode: \"scoped\", enabled: editMode }\n );\n\n return (\n <div className=\"relative flex min-w-0 max-w-full flex-grow\">\n <span className=\"neeto-molecules-rename__input-width-maker\">\n {name.replace(/\\s/g, \".\") || placeholder}\n </span>\n <Input\n {...{ placeholder }}\n autoFocus\n className=\"neeto-molecules-rename__input absolute\"\n data-cy=\"form-rename-text-field\"\n data-testid=\"neeto-molecules-name-input\"\n ref={mergeRefs(closeRef, submitRef)}\n value={name}\n suffix={\n <div className=\"flex items-center justify-end\">\n <Button\n className=\"neeto-ui-rounded-none\"\n data-cy=\"form-rename-submit-button\"\n data-testid=\"neeto-molecules-rename-button\"\n disabled={(!allowEmptySubmission && isEmpty(name)) || isLoading}\n icon={Check}\n loading={isLoading}\n style=\"text\"\n onClick={event => handleRename(event, name)}\n {...submitButtonProps}\n />\n <Button\n className=\"neeto-ui-rounded-none\"\n data-cy=\"form-rename-close-button\"\n data-testid=\"neeto-molecules-cancel-button\"\n disabled={isLoading}\n icon={Close}\n style=\"text\"\n onClick={handleClose}\n {...cancelButtonProps}\n />\n </div>\n }\n onChange={withEventTargetValue(setName)}\n onClick={event => event.stopPropagation()}\n {...inputProps}\n label={null}\n />\n </div>\n );\n};\n\nexport default Editor;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst RenameMenu = withT(\n ({\n t,\n handleRenameClick,\n disabled,\n dropdownItems,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n isArchived,\n dropdownButtonProps,\n dropdownProps,\n }) => (\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": \"neeto-molecules-menu-button\",\n ...dropdownButtonProps,\n }}\n dropdownProps={{\n position: \"bottom-start\",\n onClick: event => event.stopPropagation(),\n strategy: \"fixed\",\n appendTo: () => document.body,\n ...dropdownProps,\n }}\n menuItems={[\n {\n \"data-cy\": \"form-rename-button\",\n onClick: handleRenameClick,\n label: t(\"neetoMolecules.common.actions.rename\"),\n isVisible: !disabled,\n key: \"edit-name-menu\",\n },\n {\n \"data-cy\": \"form-clone-button\",\n onClick: onClone,\n label: t(\"neetoMolecules.common.actions.clone\"),\n isVisible: isPresent(onClone),\n key: \"clone-entity-menu\",\n },\n {\n \"data-cy\": \"form-archive-button\",\n onClick: onArchiveStatusToggle,\n label: isArchived\n ? t(\"neetoMolecules.common.actions.unArchive\")\n : t(\"neetoMolecules.common.actions.archive\"),\n isVisible: isPresent(onArchiveStatusToggle),\n key: \"archive-entity-menu\",\n },\n {\n \"data-cy\": \"form-delete-button\",\n onClick: onDelete,\n label: t(\"neetoMolecules.common.actions.delete\"),\n isVisible: isPresent(onDelete),\n key: \"delete-entity-menu\",\n },\n ...dropdownItems,\n ]}\n />\n )\n);\n\nexport default RenameMenu;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport RenameMenu from \"./RenameMenu\";\n\nconst ViewName = ({\n disabled,\n textProps,\n formatText,\n dropdownItems,\n hideMenu,\n handleRenameClick,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n name,\n isArchived,\n dropdownButtonProps,\n dropdownProps,\n}) => {\n const isDefaultMenuCallbacksPresent =\n isPresent(onArchiveStatusToggle) ||\n isPresent(onDelete) ||\n isPresent(onClone);\n\n const isMenuVisible =\n !hideMenu &&\n (isNotEmpty(dropdownItems) || !disabled || isDefaultMenuCallbacksPresent);\n\n return (\n <>\n <Typography\n component=\"p\"\n data-cy=\"form-title\"\n data-testid=\"neeto-molecules-value-display\"\n style=\"body2\"\n className={classNames(\n \"neeto-molecules-rename__text neeto-molecules-rename__display-text w-full truncate\",\n {\n \"cursor-pointer\": !disabled,\n \"pointer-events-none cursor-text\": disabled,\n }\n )}\n onClick={handleRenameClick}\n {...textProps}\n >\n {typeof formatText === \"function\" ? formatText(name) : name}\n </Typography>\n {isMenuVisible && (\n <RenameMenu\n {...{\n disabled,\n dropdownButtonProps,\n dropdownItems,\n dropdownProps,\n handleRenameClick,\n isArchived,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n }}\n />\n )}\n </>\n );\n};\n\nexport default ViewName;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport Breadcrumbs from \"components/Breadcrumbs\";\n\nimport EditName from \"./EditName\";\nimport \"./rename.scss\";\nimport ViewName from \"./ViewName\";\n\nconst Rename = ({\n value,\n onRename,\n onClone,\n onArchiveStatusToggle,\n onDelete,\n isArchived,\n isOpen = false,\n isLoading = false,\n placeholder = \"\",\n hideMenu = false,\n disabled = false,\n dropdownItems = [],\n breadcrumbs = [],\n textProps = {},\n inputProps = {},\n submitButtonProps = {},\n cancelButtonProps = {},\n className = \"\",\n allowEmptySubmission = false,\n defaultName = \"\",\n formatText,\n dropdownButtonProps = {},\n dropdownProps = {},\n}) => {\n const [name, setName] = useStateWithDependency(value ?? \"\");\n const [editMode, setEditMode] = useState(isOpen);\n const renameRef = useRef(null);\n\n useOnClickOutside(renameRef, () => editMode && handleClose());\n\n const handleRename = (event, name) => {\n event.stopPropagation();\n const newName = allowEmptySubmission && isEmpty(name) ? defaultName : name;\n setName(newName);\n onRename?.(newName);\n setEditMode(false);\n };\n\n const handleClose = event => {\n event?.stopPropagation();\n setName(value);\n setEditMode(false);\n };\n\n const handleRenameClick = event => {\n event.stopPropagation();\n !disabled && setEditMode(true);\n };\n\n const editNameProps = {\n allowEmptySubmission,\n cancelButtonProps,\n handleClose,\n handleRename,\n inputProps,\n isLoading,\n name,\n placeholder,\n setName,\n submitButtonProps,\n editMode,\n };\n\n const viewNameProps = {\n disabled,\n dropdownItems,\n formatText,\n handleRenameClick,\n hideMenu,\n name,\n isArchived,\n onArchiveStatusToggle,\n onClone,\n onDelete,\n textProps,\n dropdownButtonProps,\n dropdownProps,\n };\n\n return (\n <div\n ref={renameRef}\n className={classnames(\n \"neeto-molecules-rename flex min-w-0 max-w-md flex-col items-start md:flex-row md:items-center\",\n className\n )}\n >\n {isNotEmpty(breadcrumbs) && (\n <Breadcrumbs\n {...{ breadcrumbs }}\n hasTrailingSeparator\n className=\"neeto-molecules-rename-breadcrumbs\"\n />\n )}\n <div className=\"relative flex max-w-full items-center gap-x-2\">\n {editMode ? (\n <EditName {...editNameProps} />\n ) : (\n <ViewName {...viewNameProps} />\n )}\n </div>\n </div>\n );\n};\n\nRename.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To allow empty submission.\n */\n allowEmptySubmission: PropTypes.bool,\n /**\n * Default value to be used on empty submission.\n */\n defaultName: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when renamed.\n */\n onRename: PropTypes.func,\n /**\n * To specify the function to be triggered when Clone menu is clicked. The menu will be hidden if this prop is not set.\n */\n onClone: PropTypes.func,\n /**\n * To specify the function to be triggered when Archive menu is clicked. The menu will be hidden if this prop is not set.\n */\n onArchiveStatusToggle: PropTypes.func,\n /**\n * To specify whether the entity is archived or not. The text in the menu will be changed based on this to Archive or Unarchive.\n */\n isArchived: PropTypes.bool,\n /**\n * To specify the function to be triggered when Delete menu is clicked. The menu will be hidden if this prop is not set.\n */\n onDelete: PropTypes.func,\n /**\n * To specify whether edit mode is enabled or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify whether the edit buttons are in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * To specify the placeholder for the input component in edit mode.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the dropdown menu should be hidden or not.\n */\n hideMenu: PropTypes.bool,\n /**\n * To specify whether the rename option in dropdown should be enabled. If it is the only option in dropdown, the menu will be hidden.\n */\n disabled: PropTypes.bool,\n /**\n * To specify additional items for the dropdown menu.\n */\n dropdownItems: PropTypes.array,\n /**\n * To specify the breadcrumbs if used in the title of `Header` component.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n /**\n * To override the properties of the Typography component that displays the `value`.\n */\n textProps: PropTypes.object,\n /**\n * To override the properties of the Input component in edit mode.\n */\n inputProps: PropTypes.object,\n /**\n * To format the value to display when not in edit mode.\n */\n formatText: PropTypes.func,\n /**\n * To override the properties of the submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To override the properties of the cancel button.\n */\n cancelButtonProps: PropTypes.object,\n};\n\nexport default Rename;\n"],"names":["mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","Editor","_ref","placeholder","allowEmptySubmission","name","isLoading","handleRename","submitButtonProps","handleClose","cancelButtonProps","setName","inputProps","editMode","closeRef","useHotkeys","mode","enabled","submitRef","event","isEmpty","React","createElement","className","replace","Input","_extends","autoFocus","value","suffix","Button","disabled","icon","Check","loading","style","onClick","Close","onChange","withEventTargetValue","stopPropagation","label","RenameMenu","withT","t","handleRenameClick","dropdownItems","onArchiveStatusToggle","onClone","onDelete","isArchived","dropdownButtonProps","dropdownProps","MoreDropdown","_objectSpread","position","strategy","appendTo","document","body","menuItems","isVisible","key","isPresent","concat","_toConsumableArray","ViewName","textProps","formatText","hideMenu","isDefaultMenuCallbacksPresent","isMenuVisible","isNotEmpty","Fragment","Typography","component","classNames","Rename","onRename","_ref$isOpen","isOpen","_ref$isLoading","_ref$placeholder","_ref$hideMenu","_ref$disabled","_ref$dropdownItems","_ref$breadcrumbs","breadcrumbs","_ref$textProps","_ref$inputProps","_ref$submitButtonProp","_ref$cancelButtonProp","_ref$className","_ref$allowEmptySubmis","_ref$defaultName","defaultName","_ref$dropdownButtonPr","_ref$dropdownProps","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_slicedToArray","_useState","useState","_useState2","setEditMode","renameRef","useRef","useOnClickOutside","newName","editNameProps","viewNameProps","classnames","Breadcrumbs","hasTrailingSeparator","EditName"],"mappings":"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"}
|
package/dist/cjs/Search.js
CHANGED
|
@@ -16,6 +16,7 @@ var ramda = require('ramda');
|
|
|
16
16
|
var reactI18next = require('react-i18next');
|
|
17
17
|
var reactRouterDom = require('react-router-dom');
|
|
18
18
|
var injectCss = require('./inject-css-80a5faa3.js');
|
|
19
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
19
20
|
|
|
20
21
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
22
|
|
|
@@ -27,13 +28,30 @@ var useUpdateEffect__default = /*#__PURE__*/_interopDefaultLegacy(useUpdateEffec
|
|
|
27
28
|
var css = ".neeto-molecules-search__wrapper input[type=search]::-webkit-search-cancel-button:hover,.neeto-molecules-search__wrapper input[type=search]::-webkit-search-decoration:hover{cursor:pointer}";
|
|
28
29
|
injectCss.n(css,{});
|
|
29
30
|
|
|
30
|
-
var
|
|
31
|
+
var getInitialSearchValue = function getInitialSearchValue(_ref) {
|
|
32
|
+
var _ref$initialValue = _ref.initialValue,
|
|
33
|
+
initialValue = _ref$initialValue === void 0 ? "" : _ref$initialValue,
|
|
34
|
+
enableUrlSync = _ref.enableUrlSync,
|
|
35
|
+
searchParamName = _ref.searchParamName;
|
|
36
|
+
if (enableUrlSync) {
|
|
37
|
+
var _queryParams$searchPa;
|
|
38
|
+
var queryParams = utils.getQueryParams({
|
|
39
|
+
toCamelCase: false
|
|
40
|
+
});
|
|
41
|
+
return (_queryParams$searchPa = queryParams[searchParamName]) !== null && _queryParams$searchPa !== void 0 ? _queryParams$searchPa : "";
|
|
42
|
+
}
|
|
43
|
+
return initialValue;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
var _excluded = ["value", "debounceTime", "onSearch", "onChange", "enableUrlSync", "searchParamName"];
|
|
31
47
|
var Search = function Search(_ref) {
|
|
32
48
|
var value = _ref.value,
|
|
33
49
|
_ref$debounceTime = _ref.debounceTime,
|
|
34
50
|
debounceTime = _ref$debounceTime === void 0 ? 300 : _ref$debounceTime,
|
|
35
51
|
onSearch = _ref.onSearch,
|
|
36
52
|
onChange = _ref.onChange,
|
|
53
|
+
_ref$enableUrlSync = _ref.enableUrlSync,
|
|
54
|
+
enableUrlSync = _ref$enableUrlSync === void 0 ? false : _ref$enableUrlSync,
|
|
37
55
|
_ref$searchParamName = _ref.searchParamName,
|
|
38
56
|
searchParamName = _ref$searchParamName === void 0 ? "search_term" : _ref$searchParamName,
|
|
39
57
|
inputProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
|
|
@@ -43,27 +61,30 @@ var Search = function Search(_ref) {
|
|
|
43
61
|
toCamelCase: false
|
|
44
62
|
});
|
|
45
63
|
var history = reactRouterDom.useHistory();
|
|
46
|
-
var
|
|
47
|
-
|
|
64
|
+
var _useState = React.useState(getInitialSearchValue({
|
|
65
|
+
initialValue: value,
|
|
66
|
+
enableUrlSync: enableUrlSync,
|
|
67
|
+
searchParamName: searchParamName
|
|
68
|
+
})),
|
|
48
69
|
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
49
70
|
internalValue = _useState2[0],
|
|
50
71
|
setInternalValue = _useState2[1];
|
|
51
72
|
var trimmedValue = value === null || value === void 0 ? void 0 : value.trim();
|
|
52
73
|
useUpdateEffect__default["default"](function () {
|
|
53
|
-
if (neetoCist.
|
|
74
|
+
if (!enableUrlSync || neetoCist.isPresent(queryParams === null || queryParams === void 0 ? void 0 : queryParams[searchParamName])) return;
|
|
75
|
+
setInternalValue("");
|
|
54
76
|
}, [queryParams === null || queryParams === void 0 ? void 0 : queryParams[searchParamName]]);
|
|
55
|
-
var handleDebouncedSearchTermChange = useFuncDebounce__default["default"](function (trimmedValue) {
|
|
56
|
-
if (onSearch) onSearch(trimmedValue);else handleSearchQueryParams(trimmedValue);
|
|
57
|
-
}, debounceTime);
|
|
58
77
|
var handleSearchQueryParams = function handleSearchQueryParams(trimmedValue) {
|
|
59
|
-
var searchParams = {};
|
|
60
78
|
if (!trimmedValue && !(queryParams !== null && queryParams !== void 0 && queryParams[searchParamName])) return;
|
|
79
|
+
if (trimmedValue === (queryParams === null || queryParams === void 0 ? void 0 : queryParams[searchParamName])) return;
|
|
80
|
+
var searchParams = {};
|
|
81
|
+
var pathname = window.location.pathname;
|
|
61
82
|
if (trimmedValue) searchParams = defineProperty._defineProperty({}, searchParamName, trimmedValue);else queryParams === null || queryParams === void 0 ? true : delete queryParams[searchParamName];
|
|
62
|
-
|
|
63
|
-
var pathname = window.location.pathname;
|
|
64
|
-
history.push(general.buildUrl(pathname, ramda.mergeLeft(searchParams, queryParams)));
|
|
65
|
-
}
|
|
83
|
+
history.push(general.buildUrl(pathname, ramda.mergeLeft(searchParams, queryParams)));
|
|
66
84
|
};
|
|
85
|
+
var handleDebouncedSearchTermChange = useFuncDebounce__default["default"](function (trimmedValue) {
|
|
86
|
+
if (onSearch) onSearch(trimmedValue);else if (enableUrlSync) handleSearchQueryParams(trimmedValue);
|
|
87
|
+
}, debounceTime);
|
|
67
88
|
useUpdateEffect__default["default"](function () {
|
|
68
89
|
handleDebouncedSearchTermChange(trimmedValue);
|
|
69
90
|
}, [trimmedValue]);
|
package/dist/cjs/Search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sources":["../../src/components/Search/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"Search.js","sources":["../../src/components/Search/utils.js","../../src/components/Search/index.jsx"],"sourcesContent":["import { getQueryParams } from \"neetocommons/utils\";\n\nexport const getInitialSearchValue = ({\n initialValue = \"\",\n enableUrlSync,\n searchParamName,\n}) => {\n if (enableUrlSync) {\n const queryParams = getQueryParams({ toCamelCase: false });\n\n return queryParams[searchParamName] ?? \"\";\n }\n\n return initialValue;\n};\n","import React, { useEffect, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport useFuncDebounce from \"neetocommons/react-utils/useFuncDebounce\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport useUpdateEffect from \"neetocommons/react-utils/useUpdateEffect\";\nimport { buildUrl } from \"neetocommons/utils/general\";\nimport { Search as NeetoUISearchIcon } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport \"./search.scss\";\nimport { getInitialSearchValue } from \"./utils\";\n\nconst Search = ({\n value,\n debounceTime = 300,\n onSearch,\n onChange,\n enableUrlSync = false,\n searchParamName = \"search_term\",\n ...inputProps\n}) => {\n const { t } = useTranslation();\n const queryParams = useQueryParams({ toCamelCase: false });\n const history = useHistory();\n\n const [internalValue, setInternalValue] = useState(\n getInitialSearchValue({\n initialValue: value,\n enableUrlSync,\n searchParamName,\n })\n );\n const trimmedValue = value?.trim();\n\n useUpdateEffect(() => {\n if (!enableUrlSync || isPresent(queryParams?.[searchParamName])) return;\n\n setInternalValue(\"\");\n }, [queryParams?.[searchParamName]]);\n\n const handleSearchQueryParams = trimmedValue => {\n if (!trimmedValue && !queryParams?.[searchParamName]) return;\n\n if (trimmedValue === queryParams?.[searchParamName]) return;\n\n let searchParams = {};\n const pathname = window.location.pathname;\n\n if (trimmedValue) searchParams = { [searchParamName]: trimmedValue };\n else delete queryParams?.[searchParamName];\n\n history.push(buildUrl(pathname, mergeLeft(searchParams, queryParams)));\n };\n\n const handleDebouncedSearchTermChange = useFuncDebounce(trimmedValue => {\n if (onSearch) onSearch(trimmedValue);\n else if (enableUrlSync) handleSearchQueryParams(trimmedValue);\n }, debounceTime);\n\n useUpdateEffect(() => {\n handleDebouncedSearchTermChange(trimmedValue);\n }, [trimmedValue]);\n\n if (value !== undefined && internalValue !== value) {\n setInternalValue(value);\n }\n\n const handleOnChange = e => {\n const trimmedValue = e.target.value?.trim();\n onChange?.(e);\n setInternalValue(e.target.value);\n\n if (internalValue?.trim() !== trimmedValue) {\n handleDebouncedSearchTermChange(trimmedValue);\n }\n };\n\n useEffect(() => handleDebouncedSearchTermChange.cancel, []);\n\n return (\n <Input\n className=\"neeto-molecules-search__wrapper\"\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n prefix={<NeetoUISearchIcon />}\n type=\"search\"\n value={internalValue}\n onChange={handleOnChange}\n {...inputProps}\n />\n );\n};\n\nSearch.propTypes = {\n /**\n * value for the search (optional).\n */\n value: PropTypes.string,\n /**\n * Time in milliseconds to debounce the search input before triggering a search.\n */\n debounceTime: PropTypes.number,\n /**\n * To specify the function to be triggered when the value is updated (optional).\n */\n onChange: PropTypes.func,\n /**\n * Callback to handle debounced search value without updating the search params.\n */\n onSearch: PropTypes.func,\n /**\n * To control whether the search term needs to be set in the URLSearch.\n */\n enableUrlSync: PropTypes.bool,\n /**\n * value for the search param name.\n */\n searchParamName: PropTypes.string,\n /**\n * To override the properties of the Input component.\n */\n inputProps: PropTypes.object,\n};\n\nexport default Search;\n"],"names":["getInitialSearchValue","_ref","_ref$initialValue","initialValue","enableUrlSync","searchParamName","_queryParams$searchPa","queryParams","getQueryParams","toCamelCase","Search","value","_ref$debounceTime","debounceTime","onSearch","onChange","_ref$enableUrlSync","_ref$searchParamName","inputProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","useQueryParams","history","useHistory","_useState","useState","_useState2","_slicedToArray","internalValue","setInternalValue","trimmedValue","trim","useUpdateEffect","isPresent","handleSearchQueryParams","searchParams","pathname","window","location","_defineProperty","push","buildUrl","mergeLeft","handleDebouncedSearchTermChange","useFuncDebounce","undefined","handleOnChange","e","_e$target$value","target","useEffect","cancel","React","createElement","Input","_extends","className","placeholder","prefix","NeetoUISearchIcon","type"],"mappings":"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"}
|
package/dist/cjs/Security.js
CHANGED
|
@@ -33,6 +33,7 @@ require('./objectWithoutProperties-2fed2d7d.js');
|
|
|
33
33
|
require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
|
|
34
34
|
require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
|
|
35
35
|
require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
|
|
36
|
+
require('@bigbinary/neeto-commons-frontend/utils');
|
|
36
37
|
|
|
37
38
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
38
39
|
|
package/dist/cjs/Security.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Security.js","sources":["../../src/components/Security/AllowedKeywords/Add.jsx","../../src/components/Security/utils.js","../../src/components/Security/constants.js","../../src/components/Security/AllowedKeywords/index.jsx","../../src/components/Security/PasswordBlock.jsx","../../src/components/Security/RadioBlock.jsx","../../src/components/Security/api.js","../../src/components/Security/useSecurityApi.js","../../src/components/Security/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { remove } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Add = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords },\n } = useFormikContext();\n\n const removeKeyword = index =>\n setFieldValue(\"allowedKeywords\", remove(index, 1, allowedKeywords));\n\n if (!allowedKeywords) return null;\n\n return allowedKeywords.map((_, index) => (\n <div\n className={classNames(\"flex w-full items-start justify-between gap-x-2\")}\n key={index}\n >\n <Input\n autoFocus\n data-cy={`keyword-input-field-${index}`}\n name={`allowedKeywords[${index}]`}\n placeholder={t(\"neetoMolecules.security.placeholders.enterKeyword\")}\n />\n <Button\n data-cy={`keyword-remove-button-${index}`}\n icon={Delete}\n style=\"text\"\n onClick={() => removeKeyword(index)}\n />\n </div>\n ));\n};\n\nexport default Add;\n","import { isEmpty } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const buildSecuritySettings = settings => ({\n ...settings.setting,\n addEmail: false,\n});\n\nexport const findKeywordDuplicates = (list, message, createError) => {\n const duplicates = {};\n\n list?.forEach((value, index) => {\n if (duplicates[value]) {\n duplicates[value].push(index);\n } else {\n duplicates[value] = [index];\n }\n });\n\n const errors = Object.values(duplicates).map(\n index =>\n index.length > 1 &&\n new yup.ValidationError(\n message,\n list[index.at(-1)],\n `setting.allowedKeywords[${index.at(-1)}]`\n )\n );\n\n if (isEmpty(errors)) {\n return true;\n }\n\n return createError({ message: () => errors });\n};\n","import { t } from \"i18next\";\nimport { identity } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { findKeywordDuplicates } from \"./utils\";\n\nconst NOT_SECURED = \"no_auth\";\nconst SESSION_AUTH = \"session_auth\";\n\nyup.addMethod(yup.array, \"unique\", function (message, mapper = identity) {\n return this.test(\n \"unique\",\n message,\n function (list, { parent: { authKind } }) {\n return authKind === OTP_ENABLED &&\n list?.length === new Set(list?.map(mapper)).size\n ? true\n : findKeywordDuplicates(list, message, this.createError);\n }\n );\n});\n\nexport const QUERY_KEYS = {\n SETTINGS_LIST: \"settings-list\",\n GETTING_STARTED: \"getting-started\",\n INTEGRATION_SETTINGS: \"integration_settings\",\n THEMES_SETTINGS: \"themes_setting\",\n};\nexport const SETTINGS_STALE_TIME = 900_000; // 15 mins\nexport const PASSWORD_ENABLED = \"basic_auth\";\nexport const OTP_ENABLED = \"otp_auth\";\n\nexport const APP_NAME = { neetoKB: \"KB\", neetoCourse: \"Course\" };\n\nexport const AUTH_KINDS = [\n {\n label: t(\"neetoMolecules.security.labels.notSecured\"),\n value: NOT_SECURED,\n },\n {\n label: t(\"neetoMolecules.security.labels.passwordEnabled\"),\n value: PASSWORD_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.otpEnabled\"),\n value: OTP_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.private\"),\n value: SESSION_AUTH,\n },\n];\n\nexport const SECURITY_SETTINGS_VALIDATION_SCHEMA = yup.object({\n password: yup.string().when(\"authKind\", {\n is: PASSWORD_ENABLED,\n then: yup\n .string()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.password\"),\n })\n )\n .min(\n 4,\n t(\"neetoMolecules.security.validation.min\", {\n entity: t(\"neetoMolecules.security.labels.password\"),\n min: 4,\n })\n ),\n }),\n allowedKeywords: yup.array().when(\"authKind\", {\n is: OTP_ENABLED,\n then: yup\n .array()\n .of(\n yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n )\n )\n .unique(\n t(\"neetoMolecules.security.placeholders.exists\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n ),\n }),\n});\n","import React from \"react\";\n\nimport { ErrorMessage, useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Add from \"./Add\";\n\nimport { OTP_ENABLED, APP_NAME } from \"../constants\";\n\nconst AllowedKeywords = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords, authKind },\n } = useFormikContext();\n\n if (authKind !== OTP_ENABLED) return null;\n\n const appName = APP_NAME[globalProps.appName];\n\n return (\n <div className=\"flex-col space-y-2 py-2\">\n {appName && (\n <Label>\n {t(`neetoMolecules.security.labels.keywordForm.${appName}`)}\n </Label>\n )}\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm w-full space-y-4 p-6\">\n <Add />\n <Button\n data-cy=\"add-allowed-keyword-button\"\n data-testid=\"add-allowed-keyword-button\"\n label={t(\"neetoMolecules.security.labels.addKeyWord\")}\n style=\"link\"\n onClick={() =>\n setFieldValue(\"allowedKeywords\", [...allowedKeywords, \"\"])\n }\n />\n </div>\n {isEmpty(allowedKeywords) && (\n <ErrorMessage\n className=\"neeto-ui-text-error-600\"\n component=\"div\"\n name=\"allowedKeywords\"\n />\n )}\n </div>\n );\n};\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PASSWORD_ENABLED } from \"./constants\";\n\nconst Password = () => {\n const { t } = useTranslation();\n const {\n values: { authKind },\n getFieldProps,\n } = useFormikContext();\n\n if (authKind !== PASSWORD_ENABLED) return null;\n\n const { onChange: onPasswordChange } = getFieldProps(\"password\");\n\n return (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n unlimitedChars\n className=\"w-7/12\"\n data-testid=\"password-block\"\n label={t(\"neetoMolecules.security.labels.password\")}\n name=\"password\"\n placeholder={t(\"neetoMolecules.security.placeholders.enterPassword\")}\n onChange={e => {\n e.target.value = e.target.value.trim();\n onPasswordChange(e);\n }}\n />\n </div>\n );\n};\n\nexport default Password;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { OTP_ENABLED } from \"./constants\";\n\nconst RadioBlock = ({ radioItems }) => {\n const {\n values: { allowedKeywords = [] },\n setFieldValue,\n } = useFormikContext();\n\n const handleRadioChange = ({\n event: {\n target: { value },\n },\n allowedKeywords,\n }) => {\n const allowedKeywordsValue =\n value === OTP_ENABLED ? [...allowedKeywords, \"\"] : [];\n setFieldValue(\"allowedKeywords\", allowedKeywordsValue);\n setFieldValue(\"authKind\", value);\n };\n\n return (\n <Radio\n stacked\n name=\"authKind\"\n onChange={event => handleRadioChange({ event, allowedKeywords })}\n >\n {radioItems.map(({ label, value }) => (\n <Radio.Item key={value} {...{ label, value }} />\n ))}\n </Radio>\n );\n};\n\nexport default RadioBlock;\n","import axios from \"axios\";\n\nconst fetch = url => axios.get(url);\n\nconst update = (url, payload) => axios.put(url, payload);\n\nconst settingsApi = { fetch, update };\n\nexport default settingsApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport settingsApi from \"./api\";\nimport { QUERY_KEYS, SETTINGS_STALE_TIME } from \"./constants\";\n\nconst { SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS } = QUERY_KEYS;\n\nconst useFetchSettings = url =>\n useQuery(SETTINGS_LIST, () => settingsApi.fetch(url), {\n staleTime: SETTINGS_STALE_TIME,\n });\n\nconst useUpdateSetting = url =>\n useMutationWithInvalidation(payload => settingsApi.update(url, payload), {\n keysToInvalidate: [SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS],\n });\n\nexport { useFetchSettings, useUpdateSetting };\n","import React, { useState, useEffect } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport PageLoader from \"components/PageLoader\";\nimport Scrollable from \"components/Scrollable\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { SECURITY_SETTINGS_VALIDATION_SCHEMA } from \"./constants\";\nimport Password from \"./PasswordBlock\";\nimport RadioBlock from \"./RadioBlock\";\nimport { useFetchSettings, useUpdateSetting } from \"./useSecurityApi\";\nimport { buildSecuritySettings } from \"./utils\";\n\nconst Security = ({ url, breadcrumbs, title, radioItems }) => {\n const { data: settings = {}, isLoading } = useFetchSettings(url);\n const { mutate: updateSettings } = useUpdateSetting(url);\n\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const handleSubmit = (values, { setSubmitting }) => {\n updateSettings(values, { onSettled: () => setSubmitting(false) });\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 if (isLoading) return <PageLoader />;\n\n return (\n <Container isHeaderFixed>\n <Header\n {...{ breadcrumbs, title }}\n data-cy=\"general-settings-heading\"\n size={isMobileScreen ? \"small\" : \"large\"}\n />\n <Scrollable className=\"w-full pb-6\">\n <Form\n className=\"mx-auto w-full max-w-3xl space-y-6 md:px-0 lg:px-6\"\n formikProps={{\n initialValues: buildSecuritySettings(settings),\n validationSchema: SECURITY_SETTINGS_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n enableReinitialize: true,\n }}\n >\n {({ dirty, isSubmitting }) => (\n <>\n <RadioBlock {...{ radioItems }} />\n <Password />\n <AllowedKeywords />\n <ActionBlock\n cancelButtonProps={{ disabled: false, className: \"ml-3\" }}\n className=\"mt-6 w-full justify-start\"\n submitButtonProps={{\n loading: isSubmitting,\n disabled: !dirty || isSubmitting,\n }}\n />\n </>\n )}\n </Form>\n </Scrollable>\n </Container>\n );\n};\n\nSecurity.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * API path to manage security record.\n */\n url: PropTypes.string,\n /**\n * To show breadcrumbs in the Header section. `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 radioItems: PropTypes.arrayOf(\n PropTypes.shape(toLabelAndValue(PropTypes.string))\n ),\n};\n\nexport default Security;\n"],"names":["Add","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","allowedKeywords","values","removeKeyword","index","remove","map","_","React","createElement","className","classNames","key","Input","autoFocus","concat","name","placeholder","Button","icon","Delete","style","onClick","buildSecuritySettings","settings","_objectSpread","setting","addEmail","findKeywordDuplicates","list","message","createError","duplicates","forEach","value","push","errors","Object","length","yup","ValidationError","at","isEmpty","NOT_SECURED","SESSION_AUTH","addMethod","array","mapper","arguments","undefined","identity","test","_ref","authKind","parent","OTP_ENABLED","Set","size","QUERY_KEYS","SETTINGS_LIST","GETTING_STARTED","INTEGRATION_SETTINGS","THEMES_SETTINGS","SETTINGS_STALE_TIME","PASSWORD_ENABLED","APP_NAME","neetoKB","neetoCourse","label","SECURITY_SETTINGS_VALIDATION_SCHEMA","object","password","string","when","is","then","required","what","min","entity","of","trim","unique","AllowedKeywords","_useFormikContext$val","appName","globalProps","Label","_toConsumableArray","ErrorMessage","component","Password","getFieldProps","_getFieldProps","onPasswordChange","onChange","unlimitedChars","e","target","RadioBlock","radioItems","handleRadioChange","_ref2","event","allowedKeywordsValue","Radio","stacked","_ref3","Item","fetch","url","axios","get","update","payload","put","settingsApi","useFetchSettings","useQuery","staleTime","useUpdateSetting","useMutationWithInvalidation","keysToInvalidate","Security","breadcrumbs","title","_useFetchSettings","_useFetchSettings$dat","data","isLoading","_useUpdateSetting","updateSettings","mutate","_useState","useState","_useState2","_slicedToArray","isMobileScreen","setIsMobileScreen","isLargerScreen","window","innerWidth","handleSubmit","setSubmitting","onSettled","useEffect","handleResize","addEventListener","removeEventListener","PageLoader","Container","isHeaderFixed","Header","Scrollable","Form","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","dirty","isSubmitting","Fragment","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Security.js","sources":["../../src/components/Security/AllowedKeywords/Add.jsx","../../src/components/Security/utils.js","../../src/components/Security/constants.js","../../src/components/Security/AllowedKeywords/index.jsx","../../src/components/Security/PasswordBlock.jsx","../../src/components/Security/RadioBlock.jsx","../../src/components/Security/api.js","../../src/components/Security/useSecurityApi.js","../../src/components/Security/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { remove } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Add = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords },\n } = useFormikContext();\n\n const removeKeyword = index =>\n setFieldValue(\"allowedKeywords\", remove(index, 1, allowedKeywords));\n\n if (!allowedKeywords) return null;\n\n return allowedKeywords.map((_, index) => (\n <div\n className={classNames(\"flex w-full items-start justify-between gap-x-2\")}\n key={index}\n >\n <Input\n autoFocus\n data-cy={`keyword-input-field-${index}`}\n name={`allowedKeywords[${index}]`}\n placeholder={t(\"neetoMolecules.security.placeholders.enterKeyword\")}\n />\n <Button\n data-cy={`keyword-remove-button-${index}`}\n icon={Delete}\n style=\"text\"\n onClick={() => removeKeyword(index)}\n />\n </div>\n ));\n};\n\nexport default Add;\n","import { isEmpty } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const buildSecuritySettings = settings => ({\n ...settings.setting,\n addEmail: false,\n});\n\nexport const findKeywordDuplicates = (list, message, createError) => {\n const duplicates = {};\n\n list?.forEach((value, index) => {\n if (duplicates[value]) {\n duplicates[value].push(index);\n } else {\n duplicates[value] = [index];\n }\n });\n\n const errors = Object.values(duplicates).map(\n index =>\n index.length > 1 &&\n new yup.ValidationError(\n message,\n list[index.at(-1)],\n `setting.allowedKeywords[${index.at(-1)}]`\n )\n );\n\n if (isEmpty(errors)) {\n return true;\n }\n\n return createError({ message: () => errors });\n};\n","import { t } from \"i18next\";\nimport { identity } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { findKeywordDuplicates } from \"./utils\";\n\nconst NOT_SECURED = \"no_auth\";\nconst SESSION_AUTH = \"session_auth\";\n\nyup.addMethod(yup.array, \"unique\", function (message, mapper = identity) {\n return this.test(\n \"unique\",\n message,\n function (list, { parent: { authKind } }) {\n return authKind === OTP_ENABLED &&\n list?.length === new Set(list?.map(mapper)).size\n ? true\n : findKeywordDuplicates(list, message, this.createError);\n }\n );\n});\n\nexport const QUERY_KEYS = {\n SETTINGS_LIST: \"settings-list\",\n GETTING_STARTED: \"getting-started\",\n INTEGRATION_SETTINGS: \"integration_settings\",\n THEMES_SETTINGS: \"themes_setting\",\n};\nexport const SETTINGS_STALE_TIME = 900_000; // 15 mins\nexport const PASSWORD_ENABLED = \"basic_auth\";\nexport const OTP_ENABLED = \"otp_auth\";\n\nexport const APP_NAME = { neetoKB: \"KB\", neetoCourse: \"Course\" };\n\nexport const AUTH_KINDS = [\n {\n label: t(\"neetoMolecules.security.labels.notSecured\"),\n value: NOT_SECURED,\n },\n {\n label: t(\"neetoMolecules.security.labels.passwordEnabled\"),\n value: PASSWORD_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.otpEnabled\"),\n value: OTP_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.private\"),\n value: SESSION_AUTH,\n },\n];\n\nexport const SECURITY_SETTINGS_VALIDATION_SCHEMA = yup.object({\n password: yup.string().when(\"authKind\", {\n is: PASSWORD_ENABLED,\n then: yup\n .string()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.password\"),\n })\n )\n .min(\n 4,\n t(\"neetoMolecules.security.validation.min\", {\n entity: t(\"neetoMolecules.security.labels.password\"),\n min: 4,\n })\n ),\n }),\n allowedKeywords: yup.array().when(\"authKind\", {\n is: OTP_ENABLED,\n then: yup\n .array()\n .of(\n yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n )\n )\n .unique(\n t(\"neetoMolecules.security.placeholders.exists\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n ),\n }),\n});\n","import React from \"react\";\n\nimport { ErrorMessage, useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Add from \"./Add\";\n\nimport { OTP_ENABLED, APP_NAME } from \"../constants\";\n\nconst AllowedKeywords = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords, authKind },\n } = useFormikContext();\n\n if (authKind !== OTP_ENABLED) return null;\n\n const appName = APP_NAME[globalProps.appName];\n\n return (\n <div className=\"flex-col space-y-2 py-2\">\n {appName && (\n <Label>\n {t(`neetoMolecules.security.labels.keywordForm.${appName}`)}\n </Label>\n )}\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm w-full space-y-4 p-6\">\n <Add />\n <Button\n data-cy=\"add-allowed-keyword-button\"\n data-testid=\"add-allowed-keyword-button\"\n label={t(\"neetoMolecules.security.labels.addKeyWord\")}\n style=\"link\"\n onClick={() =>\n setFieldValue(\"allowedKeywords\", [...allowedKeywords, \"\"])\n }\n />\n </div>\n {isEmpty(allowedKeywords) && (\n <ErrorMessage\n className=\"neeto-ui-text-error-600\"\n component=\"div\"\n name=\"allowedKeywords\"\n />\n )}\n </div>\n );\n};\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PASSWORD_ENABLED } from \"./constants\";\n\nconst Password = () => {\n const { t } = useTranslation();\n const {\n values: { authKind },\n getFieldProps,\n } = useFormikContext();\n\n if (authKind !== PASSWORD_ENABLED) return null;\n\n const { onChange: onPasswordChange } = getFieldProps(\"password\");\n\n return (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n unlimitedChars\n className=\"w-7/12\"\n data-testid=\"password-block\"\n label={t(\"neetoMolecules.security.labels.password\")}\n name=\"password\"\n placeholder={t(\"neetoMolecules.security.placeholders.enterPassword\")}\n onChange={e => {\n e.target.value = e.target.value.trim();\n onPasswordChange(e);\n }}\n />\n </div>\n );\n};\n\nexport default Password;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { OTP_ENABLED } from \"./constants\";\n\nconst RadioBlock = ({ radioItems }) => {\n const {\n values: { allowedKeywords = [] },\n setFieldValue,\n } = useFormikContext();\n\n const handleRadioChange = ({\n event: {\n target: { value },\n },\n allowedKeywords,\n }) => {\n const allowedKeywordsValue =\n value === OTP_ENABLED ? [...allowedKeywords, \"\"] : [];\n setFieldValue(\"allowedKeywords\", allowedKeywordsValue);\n setFieldValue(\"authKind\", value);\n };\n\n return (\n <Radio\n stacked\n name=\"authKind\"\n onChange={event => handleRadioChange({ event, allowedKeywords })}\n >\n {radioItems.map(({ label, value }) => (\n <Radio.Item key={value} {...{ label, value }} />\n ))}\n </Radio>\n );\n};\n\nexport default RadioBlock;\n","import axios from \"axios\";\n\nconst fetch = url => axios.get(url);\n\nconst update = (url, payload) => axios.put(url, payload);\n\nconst settingsApi = { fetch, update };\n\nexport default settingsApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport settingsApi from \"./api\";\nimport { QUERY_KEYS, SETTINGS_STALE_TIME } from \"./constants\";\n\nconst { SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS } = QUERY_KEYS;\n\nconst useFetchSettings = url =>\n useQuery(SETTINGS_LIST, () => settingsApi.fetch(url), {\n staleTime: SETTINGS_STALE_TIME,\n });\n\nconst useUpdateSetting = url =>\n useMutationWithInvalidation(payload => settingsApi.update(url, payload), {\n keysToInvalidate: [SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS],\n });\n\nexport { useFetchSettings, useUpdateSetting };\n","import React, { useState, useEffect } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport PageLoader from \"components/PageLoader\";\nimport Scrollable from \"components/Scrollable\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { SECURITY_SETTINGS_VALIDATION_SCHEMA } from \"./constants\";\nimport Password from \"./PasswordBlock\";\nimport RadioBlock from \"./RadioBlock\";\nimport { useFetchSettings, useUpdateSetting } from \"./useSecurityApi\";\nimport { buildSecuritySettings } from \"./utils\";\n\nconst Security = ({ url, breadcrumbs, title, radioItems }) => {\n const { data: settings = {}, isLoading } = useFetchSettings(url);\n const { mutate: updateSettings } = useUpdateSetting(url);\n\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const handleSubmit = (values, { setSubmitting }) => {\n updateSettings(values, { onSettled: () => setSubmitting(false) });\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 if (isLoading) return <PageLoader />;\n\n return (\n <Container isHeaderFixed>\n <Header\n {...{ breadcrumbs, title }}\n data-cy=\"general-settings-heading\"\n size={isMobileScreen ? \"small\" : \"large\"}\n />\n <Scrollable className=\"w-full pb-6\">\n <Form\n className=\"mx-auto w-full max-w-3xl space-y-6 md:px-0 lg:px-6\"\n formikProps={{\n initialValues: buildSecuritySettings(settings),\n validationSchema: SECURITY_SETTINGS_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n enableReinitialize: true,\n }}\n >\n {({ dirty, isSubmitting }) => (\n <>\n <RadioBlock {...{ radioItems }} />\n <Password />\n <AllowedKeywords />\n <ActionBlock\n cancelButtonProps={{ disabled: false, className: \"ml-3\" }}\n className=\"mt-6 w-full justify-start\"\n submitButtonProps={{\n loading: isSubmitting,\n disabled: !dirty || isSubmitting,\n }}\n />\n </>\n )}\n </Form>\n </Scrollable>\n </Container>\n );\n};\n\nSecurity.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * API path to manage security record.\n */\n url: PropTypes.string,\n /**\n * To show breadcrumbs in the Header section. `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 radioItems: PropTypes.arrayOf(\n PropTypes.shape(toLabelAndValue(PropTypes.string))\n ),\n};\n\nexport default Security;\n"],"names":["Add","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","allowedKeywords","values","removeKeyword","index","remove","map","_","React","createElement","className","classNames","key","Input","autoFocus","concat","name","placeholder","Button","icon","Delete","style","onClick","buildSecuritySettings","settings","_objectSpread","setting","addEmail","findKeywordDuplicates","list","message","createError","duplicates","forEach","value","push","errors","Object","length","yup","ValidationError","at","isEmpty","NOT_SECURED","SESSION_AUTH","addMethod","array","mapper","arguments","undefined","identity","test","_ref","authKind","parent","OTP_ENABLED","Set","size","QUERY_KEYS","SETTINGS_LIST","GETTING_STARTED","INTEGRATION_SETTINGS","THEMES_SETTINGS","SETTINGS_STALE_TIME","PASSWORD_ENABLED","APP_NAME","neetoKB","neetoCourse","label","SECURITY_SETTINGS_VALIDATION_SCHEMA","object","password","string","when","is","then","required","what","min","entity","of","trim","unique","AllowedKeywords","_useFormikContext$val","appName","globalProps","Label","_toConsumableArray","ErrorMessage","component","Password","getFieldProps","_getFieldProps","onPasswordChange","onChange","unlimitedChars","e","target","RadioBlock","radioItems","handleRadioChange","_ref2","event","allowedKeywordsValue","Radio","stacked","_ref3","Item","fetch","url","axios","get","update","payload","put","settingsApi","useFetchSettings","useQuery","staleTime","useUpdateSetting","useMutationWithInvalidation","keysToInvalidate","Security","breadcrumbs","title","_useFetchSettings","_useFetchSettings$dat","data","isLoading","_useUpdateSetting","updateSettings","mutate","_useState","useState","_useState2","_slicedToArray","isMobileScreen","setIsMobileScreen","isLargerScreen","window","innerWidth","handleSubmit","setSubmitting","onSettled","useEffect","handleResize","addEventListener","removeEventListener","PageLoader","Container","isHeaderFixed","Header","Scrollable","Form","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","dirty","isSubmitting","Fragment","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":"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"}
|