@bigbinary/neeto-molecules 1.13.13 → 1.13.15
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/CustomDomain.js +4 -3
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +3 -2
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/Settings.js +4 -2
- package/dist/Settings.js.map +1 -1
- package/dist/cjs/CustomDomain.js +4 -3
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +3 -2
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/Settings.js +4 -2
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/{index-1fcbee5e.js → index-90fddfff.js} +78 -27
- package/dist/cjs/index-90fddfff.js.map +1 -0
- package/dist/{index-46868373.js → index-ea40d3d2.js} +83 -33
- package/dist/index-ea40d3d2.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/index-1fcbee5e.js.map +0 -1
- package/dist/index-46868373.js.map +0 -1
package/dist/CustomDomain.js
CHANGED
|
@@ -6,18 +6,19 @@ import { hyphenize } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
|
6
6
|
import { CustomDomain as CustomDomain$1 } from '@bigbinary/neeto-icons';
|
|
7
7
|
import { Spinner, Tag, Button } from '@bigbinary/neetoui';
|
|
8
8
|
import { useTranslation } from 'react-i18next';
|
|
9
|
-
import { u as useFetchCustomDomains, a as useDeleteCustomDomain, M as Manage, D as DeleteAlert } from './index-
|
|
9
|
+
import { u as useFetchCustomDomains, a as useDeleteCustomDomain, M as Manage, D as DeleteAlert } from './index-ea40d3d2.js';
|
|
10
10
|
import MoreDropdown from './MoreDropdown.js';
|
|
11
11
|
import 'formik';
|
|
12
|
+
import '@bigbinary/neeto-hotkeys';
|
|
12
13
|
import '@bigbinary/neetoui/formik';
|
|
14
|
+
import 'i18next';
|
|
15
|
+
import 'yup';
|
|
13
16
|
import './CopyToClipboardButton.js';
|
|
14
17
|
import './extends-093996c9.js';
|
|
15
18
|
import './defineProperty-549061a7.js';
|
|
16
19
|
import './objectWithoutProperties-a0edb288.js';
|
|
17
20
|
import 'classnames';
|
|
18
21
|
import './inject-css-c86de496.js';
|
|
19
|
-
import 'i18next';
|
|
20
|
-
import 'yup';
|
|
21
22
|
import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
|
|
22
23
|
import 'react-query';
|
|
23
24
|
import 'axios';
|
package/dist/CustomDomain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDomain.js","sources":["../src/components/CustomDomain/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { CustomDomain as NeetoUICustomDomainIcon } from \"neetoicons\";\nimport { Button, Tag, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DeleteAlert from \"components/CustomDomainDashboard/DeleteAlert\";\nimport ManageDomain from \"components/CustomDomainDashboard/Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"components/CustomDomainDashboard/useCustomDomainApi\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CustomDomain = ({ url, iconOnly }) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n\n const { data: customDomain, isLoading } = useFetchCustomDomains({ url });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, { onSettled: () => setIsAlertOpen(false) });\n\n const actions = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => setIsPaneOpen(true),\n },\n {\n key: \"delete\",\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => setIsAlertOpen(true),\n },\n ];\n\n if (isLoading) return <Spinner />;\n\n return (\n <div>\n {isNotEmpty(customDomain) ? (\n <div className=\"flex flex-row items-center\">\n <Tag\n data-cy={`${hyphenize(customDomain.status)}-tag-container`}\n label={customDomain?.hostname}\n style={customDomain.status === \"active\" ? \"success\" : \"warning\"}\n />\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n menuItems={actions}\n dropdownButtonProps={{\n \"data-testid\": \"nui-dropdown-icon\",\n strategy: \"fixed\",\n \"data-cy\": \"custom-domain-menu-button\",\n }}\n />\n </div>\n ) : (\n <Button\n icon={iconOnly && NeetoUICustomDomainIcon}\n style=\"text\"\n label={\n iconOnly\n ? \"\"\n : t(\"neetoMolecules.common.actions.add\", {\n entity: t(\n \"neetoMolecules.customDomain.customDomain\",\n SINGULAR\n ),\n })\n }\n tooltipProps={\n iconOnly && {\n content: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n }\n }\n onClick={() => setIsPaneOpen(true)}\n />\n )}\n <ManageDomain\n {...{ customDomain, url }}\n hasOne\n isOpen={isPaneOpen}\n setCustomDomain={noop}\n onClose={() => setIsPaneOpen(false)}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() => deleteCustomDomain()}\n />\n </div>\n );\n};\n\nCustomDomain.propTypes = {\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Pass this prop if you need a icon button without label.\n */\n iconOnly: PropTypes.bool,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","actions","key","label","onClick","React","createElement","Spinner","isNotEmpty","className","Tag","concat","hyphenize","status","hostname","style","MoreDropdown","dropdownProps","autoWidth","menuItems","dropdownButtonProps","strategy","Button","icon","NeetoUICustomDomainIcon","entity","SINGULAR","tooltipProps","content","ManageDomain","hasOne","isOpen","setCustomDomain","noop","onClose","DeleteAlert","isSubmitting","onSubmit"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomDomain.js","sources":["../src/components/CustomDomain/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { CustomDomain as NeetoUICustomDomainIcon } from \"neetoicons\";\nimport { Button, Tag, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DeleteAlert from \"components/CustomDomainDashboard/DeleteAlert\";\nimport ManageDomain from \"components/CustomDomainDashboard/Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"components/CustomDomainDashboard/useCustomDomainApi\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CustomDomain = ({ url, iconOnly }) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n\n const { data: customDomain, isLoading } = useFetchCustomDomains({ url });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, { onSettled: () => setIsAlertOpen(false) });\n\n const actions = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => setIsPaneOpen(true),\n },\n {\n key: \"delete\",\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => setIsAlertOpen(true),\n },\n ];\n\n if (isLoading) return <Spinner />;\n\n return (\n <div>\n {isNotEmpty(customDomain) ? (\n <div className=\"flex flex-row items-center\">\n <Tag\n data-cy={`${hyphenize(customDomain.status)}-tag-container`}\n label={customDomain?.hostname}\n style={customDomain.status === \"active\" ? \"success\" : \"warning\"}\n />\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n menuItems={actions}\n dropdownButtonProps={{\n \"data-testid\": \"nui-dropdown-icon\",\n strategy: \"fixed\",\n \"data-cy\": \"custom-domain-menu-button\",\n }}\n />\n </div>\n ) : (\n <Button\n icon={iconOnly && NeetoUICustomDomainIcon}\n style=\"text\"\n label={\n iconOnly\n ? \"\"\n : t(\"neetoMolecules.common.actions.add\", {\n entity: t(\n \"neetoMolecules.customDomain.customDomain\",\n SINGULAR\n ),\n })\n }\n tooltipProps={\n iconOnly && {\n content: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n }\n }\n onClick={() => setIsPaneOpen(true)}\n />\n )}\n <ManageDomain\n {...{ customDomain, url }}\n hasOne\n isOpen={isPaneOpen}\n setCustomDomain={noop}\n onClose={() => setIsPaneOpen(false)}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() => deleteCustomDomain()}\n />\n </div>\n );\n};\n\nCustomDomain.propTypes = {\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Pass this prop if you need a icon button without label.\n */\n iconOnly: PropTypes.bool,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","actions","key","label","onClick","React","createElement","Spinner","isNotEmpty","className","Tag","concat","hyphenize","status","hostname","style","MoreDropdown","dropdownProps","autoWidth","menuItems","dropdownButtonProps","strategy","Button","icon","NeetoUICustomDomainIcon","entity","SINGULAR","tooltipProps","content","ManageDomain","hasOne","isOpen","setCustomDomain","noop","onClose","DeleteAlert","isSubmitting","onSubmit"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { useTranslation } from 'react-i18next';
|
|
|
7
7
|
import Container from './Container.js';
|
|
8
8
|
import PageLoader from './PageLoader.js';
|
|
9
9
|
import SubHeader from './SubHeader.js';
|
|
10
|
-
import { u as useFetchCustomDomains, a as useDeleteCustomDomain, r as renderColumnData, M as Manage, D as DeleteAlert } from './index-
|
|
10
|
+
import { u as useFetchCustomDomains, a as useDeleteCustomDomain, r as renderColumnData, M as Manage, D as DeleteAlert } from './index-ea40d3d2.js';
|
|
11
11
|
import { _ as _extends } from './extends-093996c9.js';
|
|
12
12
|
import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
13
13
|
import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
|
|
@@ -26,10 +26,11 @@ import 'zustand';
|
|
|
26
26
|
import 'zustand/middleware';
|
|
27
27
|
import '@bigbinary/neeto-filters-frontend';
|
|
28
28
|
import 'formik';
|
|
29
|
+
import '@bigbinary/neeto-hotkeys';
|
|
29
30
|
import '@bigbinary/neetoui/formik';
|
|
31
|
+
import 'yup';
|
|
30
32
|
import './CopyToClipboardButton.js';
|
|
31
33
|
import './MoreDropdown.js';
|
|
32
|
-
import 'yup';
|
|
33
34
|
import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
|
|
34
35
|
import 'react-query';
|
|
35
36
|
import 'axios';
|
|
@@ -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 }) => {\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, 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\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","_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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,MAAM,GAAGC,KAAK,CAClB,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAEC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IAAEC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IAAEC,WAAW,GAAAL,IAAA,CAAXK,WAAW,CAAA;AAAA,EAAA,oBACzDC,cAAA,CAAAC,aAAA,CAACC,QAAW,EAAAC,QAAA,CAAA;AACV,IAAA,aAAA,EAAY,sBAAsB;AAClCC,IAAAA,KAAK,EAAET,CAAC,CAAC,0CAA0C,EAAEU,MAAM,CAAE;AAC7DC,IAAAA,WAAW,eACTN,cAAA,CAAAC,aAAA,CAACM,MAAM,EAAA;AACL,MAAA,SAAA,EAAQ,8BAA8B;AACtCC,MAAAA,KAAK,EAAEb,CAAC,CAAC,oCAAoC,CAAE;MAC/Cc,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMb,aAAa,CAAC,IAAI,CAAC,CAAA;AAAA,OAAA;AAAC,KACpC,CACF;AACDc,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAEd,UAAU;AACjBe,MAAAA,QAAQ,EAAEC,oBAAoB,CAACf,aAAa,CAAC;AAC7CgB,MAAAA,WAAW,EAAEnB,CAAC,CAAC,oCAAoC,CAAC;AACpD,MAAA,SAAS,EAAE,4BAA4B;AACvCoB,MAAAA,SAAS,EAAE,MAAA;AACb,KAAA;GACIhB,EAAAA,WAAW,CAChB,CAAC,CAAA;AAAA,CAEN,CAAC,CAAA;AAED,eAAA,aAAeC,cAAK,CAACgB,IAAI,CAACxB,MAAM,CAAC;;ACZjC,IAAMyB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAvB,IAAA,EAA6B;AAAA,EAAA,IAAAwB,mBAAA,CAAA;AAAA,EAAA,IAAvBnB,WAAW,GAAAL,IAAA,CAAXK,WAAW;IAAEoB,GAAG,GAAAzB,IAAA,CAAHyB,GAAG,CAAA;AAC/C,EAAA,IAAAC,SAAA,GAAoCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCvB,IAAAA,UAAU,GAAAyB,UAAA,CAAA,CAAA,CAAA;AAAExB,IAAAA,aAAa,GAAAwB,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAE,UAAA,GAAoCH,QAAQ,CAAC,KAAK,CAAC;IAAAI,UAAA,GAAAF,cAAA,CAAAC,UAAA,EAAA,CAAA,CAAA;AAA5CE,IAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAE7B,IAAAA,aAAa,GAAA6B,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAE,UAAA,GAAwCN,QAAQ,CAAC,EAAE,CAAC;IAAAO,UAAA,GAAAL,cAAA,CAAAI,UAAA,EAAA,CAAA,CAAA;AAA7CE,IAAAA,YAAY,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAG,UAAA,GAAsCV,QAAQ,CAAC,KAAK,CAAC;IAAAW,UAAA,GAAAT,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAA9CE,IAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAG,eAAA,GAAcC,cAAc,EAAE;IAAtBzC,CAAC,GAAAwC,eAAA,CAADxC,CAAC,CAAA;AACT,EAAA,IAAM0C,mBAAmB,GAAGC,WAAW,CAACzC,UAAU,EAAE,GAAG,CAAC,CAAA;EAExD,IAAA0C,qBAAA,GAAkCC,qBAAqB,CAAC;AACtDrB,MAAAA,GAAG,EAAHA,GAAG;AACHsB,MAAAA,MAAM,EAAE;AAAE5C,QAAAA,UAAU,EAAEwC,mBAAAA;AAAoB,OAAA;AAC5C,KAAC,CAAC;IAHYK,IAAI,GAAAH,qBAAA,CAAVG,IAAI;IAAQC,SAAS,GAAAJ,qBAAA,CAATI,SAAS,CAAA;AAK7B,EAAA,IAAAC,qBAAA,GACEC,qBAAqB,CAAC1B,GAAG,EAAE;MACzB2B,SAAS,EAAE,SAAAA,SAAAA,GAAM;QACfZ,cAAc,CAAC,KAAK,CAAC,CAAA;QACrBJ,eAAe,CAAC,EAAE,CAAC,CAAA;AACrB,OAAA;AACF,KAAC,CAAC;IANYiB,kBAAkB,GAAAH,qBAAA,CAA1BI,MAAM;IAAiCC,UAAU,GAAAL,qBAAA,CAArBD,SAAS,CAAA;AAQ7C,EAAA,IAAMO,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGrB,YAAY,EAAI;IACvCC,eAAe,CAACD,YAAY,CAAC,CAAA;IAC7BjC,aAAa,CAAC,IAAI,CAAC,CAAA;GACpB,CAAA;AAED,EAAA,IAAMuD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGtB,YAAY,EAAI;IACxCC,eAAe,CAACD,YAAY,CAAC,CAAA;IAC7BK,cAAc,CAAC,IAAI,CAAC,CAAA;GACrB,CAAA;AAED,EAAA,IAAMkB,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;IAC9BxD,aAAa,CAAC,KAAK,CAAC,CAAA;IACpBkC,eAAe,CAAC,EAAE,CAAC,CAAA;GACpB,CAAA;AAED,EAAA,IAAMuB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;IAC/BnB,cAAc,CAAC,KAAK,CAAC,CAAA;IACrBJ,eAAe,CAAC,EAAE,CAAC,CAAA;GACpB,CAAA;AAED,EAAA,oBACE9B,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAsD,QAAA,EACEtD,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAACsD,SAAS,EAAA,IAAA,eACRvD,cAAA,CAAAC,aAAA,CAACT,QAAM,EAAA;AACCO,IAAAA,WAAW,EAAXA,WAAW;AAAEF,IAAAA,UAAU,EAAVA,UAAU;AAAED,IAAAA,aAAa,EAAbA,aAAa;AAAEE,IAAAA,aAAa,EAAbA,aAAAA;AAAa,GAC5D,CAAC,EACD6C,SAAS,iBACR3C,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKc,IAAAA,SAAS,EAAC,iBAAA;GACbf,eAAAA,cAAA,CAAAC,aAAA,CAACuD,UAAU,MAAE,CACV,CACN,EACA,CAACb,SAAS,KACRc,UAAU,CAACf,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEgB,aAAa,CAAC,gBAC9B1D,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKc,IAAAA,SAAS,EAAC,kBAAA;AAAkB,GAAA,eAC/Bf,cAAA,CAAAC,aAAA,CAAC0D,SAAS,EAAA;AACRC,IAAAA,eAAe,eACb5D,cAAA,CAAAC,aAAA,CAAC4D,UAAU,EAAA;AACT9C,MAAAA,SAAS,EAAC,iCAAiC;AAC3C+C,MAAAA,SAAS,EAAC,IAAA;KAETnE,EAAAA,CAAC,CAAC,mDAAmD,EAAE;AACtDoE,MAAAA,KAAK,EAAErB,IAAI,KAAJA,IAAAA,IAAAA,IAAI,wBAAAxB,mBAAA,GAAJwB,IAAI,CAAEgB,aAAa,MAAA,IAAA,IAAAxC,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAA,CAAqB8C,MAAAA;AAC9B,KAAC,CACS,CAAA;GAEf,CAAC,eACFhE,cAAA,CAAAC,aAAA,2BACED,cAAA,CAAAC,aAAA,CAACgE,KAAK,EAAA;AACJC,IAAAA,aAAa,EAAE,KAAM;AACrBC,IAAAA,OAAO,EAAEzB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEgB,aAAc;AAC7BU,IAAAA,YAAY,EAAE,KAAM;AACpBC,IAAAA,UAAU,EAAEC,gBAAgB,CAC1BpB,gBAAgB,EAChBC,iBACF,CAAA;AAAE,GACH,CACE,CACF,CAAC,gBAENnD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKc,IAAAA,SAAS,EAAC,0DAAA;AAA0D,GAAA,eACvEf,cAAA,CAAAC,aAAA,CAACsE,MAAM,EAAA;AACLnE,IAAAA,KAAK,EAAET,CAAC,CAAC,sCAAsC,CAAE;AACjD6E,IAAAA,kBAAkB,EAAE;AAClBhE,MAAAA,KAAK,EAAEb,CAAC,CAAC,oCAAoC,CAAC;MAC9Cc,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMb,aAAa,CAAC,IAAI,CAAC,CAAA;AAAA,OAAA;AACpC,KAAA;GACD,CACE,CACN,CACM,CAAC,eACZI,cAAA,CAAAC,aAAA,CAACwE,MAAY,EAAA;AACL5C,IAAAA,YAAY,EAAZA,YAAY;AAAEC,IAAAA,eAAe,EAAfA,eAAe;AAAEX,IAAAA,GAAG,EAAHA,GAAG;AACxCuD,IAAAA,MAAM,EAAE,KAAM;AACdC,IAAAA,MAAM,EAAEjD,UAAW;AACnBkD,IAAAA,OAAO,EAAExB,iBAAAA;AAAkB,GAC5B,CAAC,eACFpD,cAAA,CAAAC,aAAA,CAAC4E,WAAW,EAAA;AACVC,IAAAA,QAAQ,EAAEjD,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEiD,QAAS;AACjCH,IAAAA,MAAM,EAAE1C,WAAY;AACpB8C,IAAAA,YAAY,EAAE9B,UAAW;AACzB2B,IAAAA,OAAO,EAAEvB,kBAAmB;IAC5B2B,QAAQ,EAAE,SAAAA,QAAA,GAAA;MAAA,OAAMjC,kBAAkB,CAAClB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEoD,EAAE,CAAC,CAAA;AAAA,KAAA;AAAC,GACtD,CACD,CAAC,CAAA;AAEP;;;;"}
|
|
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 }) => {\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, 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\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","_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/Settings.js
CHANGED
|
@@ -84,7 +84,9 @@ var isLabelMatching = function isLabelMatching(label, searchTerm) {
|
|
|
84
84
|
};
|
|
85
85
|
var scrollIntoSettingCategory = function scrollIntoSettingCategory(activeCategory) {
|
|
86
86
|
var _document$getElementB;
|
|
87
|
-
(_document$getElementB = document.getElementById(activeCategory)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView(
|
|
87
|
+
(_document$getElementB = document.getElementById(activeCategory)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView({
|
|
88
|
+
behavior: "smooth"
|
|
89
|
+
});
|
|
88
90
|
};
|
|
89
91
|
var filterCategories = function filterCategories(_ref) {
|
|
90
92
|
var _ref$categories = _ref.categories,
|
|
@@ -122,7 +124,7 @@ var Settings = function Settings(_ref) {
|
|
|
122
124
|
searchTerm: searchTerm
|
|
123
125
|
});
|
|
124
126
|
useEffect(function () {
|
|
125
|
-
scrollIntoSettingCategory(categoryParam
|
|
127
|
+
scrollIntoSettingCategory(categoryParam);
|
|
126
128
|
}, [categoryParam]);
|
|
127
129
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
128
130
|
className: classnames("neeto-molecules-container", {
|
package/dist/Settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sources":["../src/components/Settings/Item.jsx","../src/components/Settings/Category.jsx","../src/components/Settings/utils.js","../src/components/Settings/index.jsx"],"sourcesContent":["import React, { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...otherProps}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isLabelMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView();\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n { label: label => isLabelMatching(label, searchTerm) },\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam?.toUpperCase());\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\n }}\n />\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full space-y-12\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isLabelMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","toUpperCase","classNames","Header","title","searchProps","placeholder","isEmpty","NoData","_ref2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../src/components/Settings/Item.jsx","../src/components/Settings/Category.jsx","../src/components/Settings/utils.js","../src/components/Settings/index.jsx"],"sourcesContent":["import React, { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...otherProps}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isLabelMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n { label: label => isLabelMatching(label, searchTerm) },\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\n }}\n />\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full space-y-12\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isLabelMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","classNames","Header","title","searchProps","placeholder","isEmpty","NoData","_ref2"],"mappings":"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"}
|
package/dist/cjs/CustomDomain.js
CHANGED
|
@@ -8,18 +8,19 @@ var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
|
8
8
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
9
9
|
var neetoui = require('@bigbinary/neetoui');
|
|
10
10
|
var reactI18next = require('react-i18next');
|
|
11
|
-
var index = require('./index-
|
|
11
|
+
var index = require('./index-90fddfff.js');
|
|
12
12
|
var MoreDropdown = require('./MoreDropdown.js');
|
|
13
13
|
require('formik');
|
|
14
|
+
require('@bigbinary/neeto-hotkeys');
|
|
14
15
|
require('@bigbinary/neetoui/formik');
|
|
16
|
+
require('i18next');
|
|
17
|
+
require('yup');
|
|
15
18
|
require('./CopyToClipboardButton.js');
|
|
16
19
|
require('./extends-1b35a664.js');
|
|
17
20
|
require('./defineProperty-886ed289.js');
|
|
18
21
|
require('./objectWithoutProperties-2fed2d7d.js');
|
|
19
22
|
require('classnames');
|
|
20
23
|
require('./inject-css-80a5faa3.js');
|
|
21
|
-
require('i18next');
|
|
22
|
-
require('yup');
|
|
23
24
|
require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
|
|
24
25
|
require('react-query');
|
|
25
26
|
require('axios');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDomain.js","sources":["../../src/components/CustomDomain/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { CustomDomain as NeetoUICustomDomainIcon } from \"neetoicons\";\nimport { Button, Tag, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DeleteAlert from \"components/CustomDomainDashboard/DeleteAlert\";\nimport ManageDomain from \"components/CustomDomainDashboard/Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"components/CustomDomainDashboard/useCustomDomainApi\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CustomDomain = ({ url, iconOnly }) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n\n const { data: customDomain, isLoading } = useFetchCustomDomains({ url });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, { onSettled: () => setIsAlertOpen(false) });\n\n const actions = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => setIsPaneOpen(true),\n },\n {\n key: \"delete\",\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => setIsAlertOpen(true),\n },\n ];\n\n if (isLoading) return <Spinner />;\n\n return (\n <div>\n {isNotEmpty(customDomain) ? (\n <div className=\"flex flex-row items-center\">\n <Tag\n data-cy={`${hyphenize(customDomain.status)}-tag-container`}\n label={customDomain?.hostname}\n style={customDomain.status === \"active\" ? \"success\" : \"warning\"}\n />\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n menuItems={actions}\n dropdownButtonProps={{\n \"data-testid\": \"nui-dropdown-icon\",\n strategy: \"fixed\",\n \"data-cy\": \"custom-domain-menu-button\",\n }}\n />\n </div>\n ) : (\n <Button\n icon={iconOnly && NeetoUICustomDomainIcon}\n style=\"text\"\n label={\n iconOnly\n ? \"\"\n : t(\"neetoMolecules.common.actions.add\", {\n entity: t(\n \"neetoMolecules.customDomain.customDomain\",\n SINGULAR\n ),\n })\n }\n tooltipProps={\n iconOnly && {\n content: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n }\n }\n onClick={() => setIsPaneOpen(true)}\n />\n )}\n <ManageDomain\n {...{ customDomain, url }}\n hasOne\n isOpen={isPaneOpen}\n setCustomDomain={noop}\n onClose={() => setIsPaneOpen(false)}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() => deleteCustomDomain()}\n />\n </div>\n );\n};\n\nCustomDomain.propTypes = {\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Pass this prop if you need a icon button without label.\n */\n iconOnly: PropTypes.bool,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","actions","key","label","onClick","React","createElement","Spinner","isNotEmpty","className","Tag","concat","hyphenize","status","hostname","style","MoreDropdown","dropdownProps","autoWidth","menuItems","dropdownButtonProps","strategy","Button","icon","NeetoUICustomDomainIcon","entity","SINGULAR","tooltipProps","content","ManageDomain","hasOne","isOpen","setCustomDomain","noop","onClose","DeleteAlert","isSubmitting","onSubmit"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomDomain.js","sources":["../../src/components/CustomDomain/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { CustomDomain as NeetoUICustomDomainIcon } from \"neetoicons\";\nimport { Button, Tag, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DeleteAlert from \"components/CustomDomainDashboard/DeleteAlert\";\nimport ManageDomain from \"components/CustomDomainDashboard/Manage\";\nimport {\n useFetchCustomDomains,\n useDeleteCustomDomain,\n} from \"components/CustomDomainDashboard/useCustomDomainApi\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst CustomDomain = ({ url, iconOnly }) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const { t } = useTranslation();\n\n const { data: customDomain, isLoading } = useFetchCustomDomains({ url });\n\n const { mutate: deleteCustomDomain, isLoading: isDeleting } =\n useDeleteCustomDomain(url, { onSettled: () => setIsAlertOpen(false) });\n\n const actions = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => setIsPaneOpen(true),\n },\n {\n key: \"delete\",\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => setIsAlertOpen(true),\n },\n ];\n\n if (isLoading) return <Spinner />;\n\n return (\n <div>\n {isNotEmpty(customDomain) ? (\n <div className=\"flex flex-row items-center\">\n <Tag\n data-cy={`${hyphenize(customDomain.status)}-tag-container`}\n label={customDomain?.hostname}\n style={customDomain.status === \"active\" ? \"success\" : \"warning\"}\n />\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n menuItems={actions}\n dropdownButtonProps={{\n \"data-testid\": \"nui-dropdown-icon\",\n strategy: \"fixed\",\n \"data-cy\": \"custom-domain-menu-button\",\n }}\n />\n </div>\n ) : (\n <Button\n icon={iconOnly && NeetoUICustomDomainIcon}\n style=\"text\"\n label={\n iconOnly\n ? \"\"\n : t(\"neetoMolecules.common.actions.add\", {\n entity: t(\n \"neetoMolecules.customDomain.customDomain\",\n SINGULAR\n ),\n })\n }\n tooltipProps={\n iconOnly && {\n content: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n }\n }\n onClick={() => setIsPaneOpen(true)}\n />\n )}\n <ManageDomain\n {...{ customDomain, url }}\n hasOne\n isOpen={isPaneOpen}\n setCustomDomain={noop}\n onClose={() => setIsPaneOpen(false)}\n />\n <DeleteAlert\n hostname={customDomain?.hostname}\n isOpen={isAlertOpen}\n isSubmitting={isDeleting}\n onClose={() => setIsAlertOpen(false)}\n onSubmit={() => deleteCustomDomain()}\n />\n </div>\n );\n};\n\nCustomDomain.propTypes = {\n /**\n * API path to manage custom domain records.\n */\n url: PropTypes.string,\n /**\n * Pass this prop if you need a icon button without label.\n */\n iconOnly: PropTypes.bool,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","actions","key","label","onClick","React","createElement","Spinner","isNotEmpty","className","Tag","concat","hyphenize","status","hostname","style","MoreDropdown","dropdownProps","autoWidth","menuItems","dropdownButtonProps","strategy","Button","icon","NeetoUICustomDomainIcon","entity","SINGULAR","tooltipProps","content","ManageDomain","hasOne","isOpen","setCustomDomain","noop","onClose","DeleteAlert","isSubmitting","onSubmit"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var reactI18next = require('react-i18next');
|
|
|
9
9
|
var Container = require('./Container.js');
|
|
10
10
|
var PageLoader = require('./PageLoader.js');
|
|
11
11
|
var SubHeader = require('./SubHeader.js');
|
|
12
|
-
var index = require('./index-
|
|
12
|
+
var index = require('./index-90fddfff.js');
|
|
13
13
|
var _extends = require('./extends-1b35a664.js');
|
|
14
14
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
15
15
|
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
@@ -28,10 +28,11 @@ require('zustand');
|
|
|
28
28
|
require('zustand/middleware');
|
|
29
29
|
require('@bigbinary/neeto-filters-frontend');
|
|
30
30
|
require('formik');
|
|
31
|
+
require('@bigbinary/neeto-hotkeys');
|
|
31
32
|
require('@bigbinary/neetoui/formik');
|
|
33
|
+
require('yup');
|
|
32
34
|
require('./CopyToClipboardButton.js');
|
|
33
35
|
require('./MoreDropdown.js');
|
|
34
|
-
require('yup');
|
|
35
36
|
require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
|
|
36
37
|
require('react-query');
|
|
37
38
|
require('axios');
|
|
@@ -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 }) => {\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, 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\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","_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 }) => {\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, 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\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","_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/Settings.js
CHANGED
|
@@ -92,7 +92,9 @@ var isLabelMatching = function isLabelMatching(label, searchTerm) {
|
|
|
92
92
|
};
|
|
93
93
|
var scrollIntoSettingCategory = function scrollIntoSettingCategory(activeCategory) {
|
|
94
94
|
var _document$getElementB;
|
|
95
|
-
(_document$getElementB = document.getElementById(activeCategory)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView(
|
|
95
|
+
(_document$getElementB = document.getElementById(activeCategory)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView({
|
|
96
|
+
behavior: "smooth"
|
|
97
|
+
});
|
|
96
98
|
};
|
|
97
99
|
var filterCategories = function filterCategories(_ref) {
|
|
98
100
|
var _ref$categories = _ref.categories,
|
|
@@ -130,7 +132,7 @@ var Settings = function Settings(_ref) {
|
|
|
130
132
|
searchTerm: searchTerm
|
|
131
133
|
});
|
|
132
134
|
React.useEffect(function () {
|
|
133
|
-
scrollIntoSettingCategory(categoryParam
|
|
135
|
+
scrollIntoSettingCategory(categoryParam);
|
|
134
136
|
}, [categoryParam]);
|
|
135
137
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
136
138
|
className: classnames__default["default"]("neeto-molecules-container", {
|
package/dist/cjs/Settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sources":["../../src/components/Settings/Item.jsx","../../src/components/Settings/Category.jsx","../../src/components/Settings/utils.js","../../src/components/Settings/index.jsx"],"sourcesContent":["import React, { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...otherProps}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isLabelMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView();\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n { label: label => isLabelMatching(label, searchTerm) },\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam?.toUpperCase());\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\n }}\n />\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full space-y-12\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isLabelMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","toUpperCase","classNames","Header","title","searchProps","placeholder","isEmpty","NoData","_ref2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../../src/components/Settings/Item.jsx","../../src/components/Settings/Category.jsx","../../src/components/Settings/utils.js","../../src/components/Settings/index.jsx"],"sourcesContent":["import React, { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport { withRouter, Link } from \"react-router-dom\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n dataCy,\n className = \"\",\n ...otherProps\n}) => (\n <Link\n data-cy={dataCy}\n to={path}\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col border p-6 no-underline outline-none transition-colors\",\n className\n )}\n {...otherProps}\n >\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n {Icon && <Icon className=\"neeto-ui-text-gray-600 mb-4\" size={32} />}\n <Typography\n className=\"mb-2\"\n data-cy=\"settings-item-heading\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography data-cy=\"settings-item-description\" style=\"body2\">\n {description}\n </Typography>\n </div>\n </Link>\n);\n\nexport default memo(withRouter(Item));\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport IntegrationCard from \"components/IntegrationCard\";\n\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const SettingsCard = isIntegration ? IntegrationCard : Item;\n\n return (\n <div {...{ id }} className=\"flex flex-col py-6\">\n <Typography\n className=\"mb-6\"\n component=\"h2\"\n data-cy=\"settings-category-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <div className=\"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-2 lg:gap-6 xl:grid-cols-3 2xl:grid-cols-4\">\n {items.map(item => (\n <SettingsCard key={item.label} {...item} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isLabelMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n { label: label => isLabelMatching(label, searchTerm) },\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport { NoData } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Header from \"components/Header\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nconst Settings = ({ isTitleHidden = false, categories = [] }) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classNames(\"neeto-molecules-container\", {\n \"h-auto overflow-y-auto\": isTitleHidden,\n })}\n >\n <Header\n className={classNames({ \"min-h-0 pb-4 pt-8\": isTitleHidden })}\n title={!isTitleHidden && t(\"neetoMolecules.settingsPage.title\")}\n searchProps={{\n className: \"w-72\",\n placeholder: t(\"neetoMolecules.settingsPage.placeholder.search\"),\n }}\n />\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <NoData title={t(\"neetoMolecules.settingsPage.noData\")} />\n </div>\n ) : (\n <div className=\"w-full space-y-12\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: propTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: propTypes.array,\n};\n\nexport default Settings;\n"],"names":["Item","_ref","label","description","_ref$icon","icon","Icon","path","dataCy","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","React","createElement","Link","_extends","to","classnames","concat","joinHyphenCase","size","Typography","style","weight","memo","withRouter","Category","items","id","isIntegration","SettingsCard","IntegrationCard","component","map","item","key","isLabelMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","_objectSpread","filterBy","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","useEffect","classNames","Header","title","searchProps","placeholder","isEmpty","NoData","_ref2"],"mappings":"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"}
|