@bigbinary/neeto-molecules 3.0.4 → 3.1.1

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.
@@ -8,31 +8,36 @@ import Button from '@bigbinary/neetoui/Button';
8
8
  import Tag from '@bigbinary/neetoui/Tag';
9
9
  import Spinner from '@bigbinary/neetoui/Spinner';
10
10
  import { useTranslation } from 'react-i18next';
11
- import { u as useFetchCustomDomains, a as useDeleteCustomDomain, M as Manage, D as DeleteAlert } from './index-49458a38.js';
11
+ import { u as useFetchCustomDomains, a as useDeleteCustomDomain, M as Manage, D as DeleteAlert } from './index-34c52dd1.js';
12
12
  import MoreDropdown from './MoreDropdown.js';
13
+ import '@bigbinary/neeto-commons-frontend/react-utils';
13
14
  import '@bigbinary/neetoui/Alert';
14
- import 'formik';
15
- import '@bigbinary/neetoui/Label';
16
15
  import '@bigbinary/neetoui/Pane';
17
16
  import '@bigbinary/neetoui/Typography';
18
- import '@bigbinary/neeto-hotkeys';
19
- import '@bigbinary/neeto-icons/Check';
17
+ import '@bigbinary/neetoui/formik/ActionBlock';
20
18
  import '@bigbinary/neetoui/formik/Input';
19
+ import '@bigbinary/neetoui/formik/Form';
21
20
  import 'i18next';
22
21
  import 'yup';
23
- import '@bigbinary/neetoui/Input';
22
+ import '@babel/runtime/helpers/defineProperty';
23
+ import '@tanstack/react-query';
24
+ import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
25
+ import 'axios';
26
+ import '@bigbinary/neetoui/Table';
27
+ import '@bigbinary/neetoui/Checkbox';
24
28
  import '@bigbinary/neetoui/Callout';
29
+ import './TableWrapper.js';
30
+ import 'classnames';
31
+ import './inject-css-c86de496.js';
32
+ import '@bigbinary/neetoui/Input';
33
+ import '@bigbinary/neetoui/Stepper';
25
34
  import './CopyToClipboardButton.js';
26
35
  import '@babel/runtime/helpers/extends';
27
- import '@babel/runtime/helpers/defineProperty';
28
36
  import '@babel/runtime/helpers/objectWithoutProperties';
29
- import 'classnames';
30
37
  import '@bigbinary/neeto-icons/Copy';
38
+ import '@bigbinary/neeto-icons/Check';
31
39
  import 'ramda';
32
- import './inject-css-c86de496.js';
33
- import '@tanstack/react-query';
34
- import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
35
- import 'axios';
40
+ import '@bigbinary/neetoui/Toastr';
36
41
  import '@bigbinary/neeto-icons/MenuHorizontal';
37
42
  import '@bigbinary/neeto-icons/MenuVertical';
38
43
  import '@bigbinary/neetoui/Dropdown';
@@ -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, onCreate }) => {\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, isPending: 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, onCreate, 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 * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","onCreate","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAoC;AAAA,EAAA,IAA9BC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,CAAA;AAC7C,EAAA,IAAAC,SAAA,GAAoCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5CI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAI,UAAA,GAAsCL,QAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,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;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;EAET,IAAAC,qBAAA,GAA0CC,qBAAqB,CAAC;AAAEjB,MAAAA,GAAG,EAAHA,GAAAA;AAAI,KAAC,CAAC;IAA1DkB,YAAY,GAAAF,qBAAA,CAAlBG,IAAI;IAAgBC,SAAS,GAAAJ,qBAAA,CAATI,SAAS,CAAA;AAErC,EAAA,IAAAC,qBAAA,GACEC,qBAAqB,CAACtB,GAAG,EAAE;MAAEuB,SAAS,EAAE,SAAAA,SAAA,GAAA;QAAA,OAAMX,cAAc,CAAC,KAAK,CAAC,CAAA;AAAA,OAAA;AAAC,KAAC,CAAC;IADxDY,kBAAkB,GAAAH,qBAAA,CAA1BI,MAAM;IAAiCC,UAAU,GAAAL,qBAAA,CAArBM,SAAS,CAAA;EAG7C,IAAMC,OAAO,GAAG,CACd;AACEC,IAAAA,GAAG,EAAE,MAAM;AACXC,IAAAA,KAAK,EAAEf,CAAC,CAAC,oCAAoC,CAAC;IAC9CgB,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMvB,aAAa,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;AACpC,GAAC,EACD;AACEqB,IAAAA,GAAG,EAAE,QAAQ;AACbC,IAAAA,KAAK,EAAEf,CAAC,CAAC,sCAAsC,CAAC;IAChDgB,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMnB,cAAc,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;AACrC,GAAC,CACF,CAAA;EAED,IAAIQ,SAAS,EAAE,oBAAOY,cAAA,CAAAC,aAAA,CAACC,OAAO,EAAA,IAAE,CAAC,CAAA;EAEjC,oBACEF,cAAA,CAAAC,aAAA,CACGE,KAAAA,EAAAA,IAAAA,EAAAA,UAAU,CAACjB,YAAY,CAAC,gBACvBc,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,4BAAA;AAA4B,GAAA,eACzCJ,cAAA,CAAAC,aAAA,CAACI,GAAG,EAAA;IACF,SAAAC,EAAAA,EAAAA,CAAAA,MAAA,CAAYC,SAAS,CAACrB,YAAY,CAACsB,MAAM,CAAC,EAAiB,gBAAA,CAAA;AAC3DV,IAAAA,KAAK,EAAEZ,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEuB,QAAS;IAC9BC,KAAK,EAAExB,YAAY,CAACsB,MAAM,KAAK,QAAQ,GAAG,SAAS,GAAG,SAAA;AAAU,GACjE,CAAC,eACFR,cAAA,CAAAC,aAAA,CAACU,YAAY,EAAA;AACXC,IAAAA,aAAa,EAAE;AAAEC,MAAAA,SAAS,EAAE,IAAA;KAAO;AACnCC,IAAAA,SAAS,EAAElB,OAAQ;AACnBmB,IAAAA,mBAAmB,EAAE;AACnB,MAAA,aAAa,EAAE,mBAAmB;AAClCC,MAAAA,QAAQ,EAAE,OAAO;AACjB,MAAA,SAAS,EAAE,2BAAA;AACb,KAAA;AAAE,GACH,CACE,CAAC,gBAENhB,cAAA,CAAAC,aAAA,CAACgB,MAAM,EAAA;IACLC,IAAI,EAAEjD,QAAQ,IAAIkD,uBAAwB;AAC1CT,IAAAA,KAAK,EAAC,MAAM;IACZZ,KAAK,EACH7B,QAAQ,GACJ,EAAE,GACFc,CAAC,CAAC,mCAAmC,EAAE;AACrCqC,MAAAA,MAAM,EAAErC,CAAC,CACP,0CAA0C,EAC1CsC,QACF,CAAA;AACF,KAAC,CACN;IACDC,YAAY,EACVrD,QAAQ,IAAI;AACVsD,MAAAA,OAAO,EAAExC,CAAC,CAAC,0CAA0C,EAAEsC,QAAQ,CAAA;KAElE;IACDtB,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMvB,aAAa,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;AAAC,GACpC,CACF,eACDwB,cAAA,CAAAC,aAAA,CAACuB,MAAY,EAAA;AACLtC,IAAAA,YAAY,EAAZA,YAAY;AAAEhB,IAAAA,QAAQ,EAARA,QAAQ;AAAEF,IAAAA,GAAG,EAAHA,GAAG;IACjCyD,MAAM,EAAA,IAAA;AACNC,IAAAA,MAAM,EAAEnD,UAAW;AACnBoD,IAAAA,eAAe,EAAEC,IAAK;IACtBC,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMrD,aAAa,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA;AAAC,GACrC,CAAC,eACFwB,cAAA,CAAAC,aAAA,CAAC6B,WAAW,EAAA;AACVrB,IAAAA,QAAQ,EAAEvB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEuB,QAAS;AACjCiB,IAAAA,MAAM,EAAE/C,WAAY;AACpBoD,IAAAA,YAAY,EAAErC,UAAW;IACzBmC,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMjD,cAAc,CAAC,KAAK,CAAC,CAAA;KAAC;IACrCoD,QAAQ,EAAE,SAAAA,QAAA,GAAA;MAAA,OAAMxC,kBAAkB,EAAE,CAAA;AAAA,KAAA;AAAC,GACtC,CACE,CAAC,CAAA;AAEV;;;;"}
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, onCreate }) => {\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, isPending: 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, onCreate, 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 * Callback function will be invoked with new domain values after successfully creating the domain.\n */\n onCreate: PropTypes.func,\n};\n\nexport default CustomDomain;\n"],"names":["CustomDomain","_ref","url","iconOnly","onCreate","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isAlertOpen","setIsAlertOpen","_useTranslation","useTranslation","t","_useFetchCustomDomain","useFetchCustomDomains","customDomain","data","isLoading","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","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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"}
@@ -1,6 +1,6 @@
1
1
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
2
  import React__default, { useState } from 'react';
3
- import { isNotEmpty, isPresent } from '@bigbinary/neeto-cist';
3
+ import { snakeToCamelCase, isNotEmpty, isPresent } from '@bigbinary/neeto-cist';
4
4
  import useDebounce from '@bigbinary/neeto-commons-frontend/react-utils/useDebounce';
5
5
  import Table from '@bigbinary/neetoui/Table';
6
6
  import Typography from '@bigbinary/neetoui/Typography';
@@ -11,13 +11,16 @@ import Container from './Container.js';
11
11
  import PageLoader from './PageLoader.js';
12
12
  import SubHeader from './SubHeader.js';
13
13
  import TableWrapper from './TableWrapper.js';
14
- import { u as useFetchCustomDomains, a as useDeleteCustomDomain, r as renderColumnData, M as Manage, D as DeleteAlert } from './index-49458a38.js';
14
+ import { u as useFetchCustomDomains, a as useDeleteCustomDomain, M as Manage, D as DeleteAlert } from './index-34c52dd1.js';
15
15
  import _extends from '@babel/runtime/helpers/extends';
16
- import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
16
+ import { PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
17
17
  import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
18
- import { withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils/general';
18
+ import { withEventTargetValue, hyphenize } from '@bigbinary/neeto-commons-frontend/utils/general';
19
19
  import Header$2 from './Header.js';
20
- import 'classnames';
20
+ import { t } from 'i18next';
21
+ import MoreDropdown from './MoreDropdown.js';
22
+ import classnames from 'classnames';
23
+ import Tag from '@bigbinary/neetoui/Tag';
21
24
  import './index-e5588516.js';
22
25
  import './inject-css-c86de496.js';
23
26
  import '@babel/runtime/helpers/objectWithoutProperties';
@@ -25,7 +28,6 @@ import 'ramda';
25
28
  import '@babel/runtime/helpers/defineProperty';
26
29
  import '@bigbinary/neeto-icons/Column';
27
30
  import './useColumns-e0b5dfb7.js';
28
- import 'i18next';
29
31
  import '@bigbinary/neeto-icons/Search';
30
32
  import '@bigbinary/neetoui/Checkbox';
31
33
  import '@bigbinary/neetoui/Dropdown';
@@ -36,24 +38,22 @@ import 'zustand/middleware';
36
38
  import '@bigbinary/neeto-icons/Download';
37
39
  import '@bigbinary/neeto-filters-frontend';
38
40
  import '@bigbinary/neeto-icons/Filter';
41
+ import '@bigbinary/neeto-commons-frontend/react-utils';
39
42
  import '@bigbinary/neetoui/Alert';
40
- import 'formik';
41
43
  import '@bigbinary/neetoui/Pane';
42
- import '@bigbinary/neeto-hotkeys';
43
- import '@bigbinary/neeto-icons/Check';
44
+ import '@bigbinary/neetoui/formik/ActionBlock';
44
45
  import '@bigbinary/neetoui/formik/Input';
46
+ import '@bigbinary/neetoui/formik/Form';
45
47
  import 'yup';
46
- import '@bigbinary/neetoui/Callout';
47
- import './CopyToClipboardButton.js';
48
- import '@bigbinary/neeto-icons/Copy';
49
- import './MoreDropdown.js';
50
- import '@bigbinary/neeto-icons/MenuHorizontal';
51
- import '@bigbinary/neeto-icons/MenuVertical';
52
- import '@bigbinary/neetoui/Tooltip';
53
- import '@bigbinary/neetoui/Tag';
54
48
  import '@tanstack/react-query';
55
49
  import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
56
50
  import 'axios';
51
+ import '@bigbinary/neetoui/Callout';
52
+ import '@bigbinary/neetoui/Stepper';
53
+ import './CopyToClipboardButton.js';
54
+ import '@bigbinary/neeto-icons/Copy';
55
+ import '@bigbinary/neeto-icons/Check';
56
+ import '@bigbinary/neetoui/Toastr';
57
57
  import './Breadcrumbs.js';
58
58
  import 'react-router-dom';
59
59
  import './Search.js';
@@ -61,6 +61,9 @@ import '@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce';
61
61
  import '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
62
62
  import '@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect';
63
63
  import '@bigbinary/neeto-commons-frontend/utils';
64
+ import '@bigbinary/neeto-icons/MenuHorizontal';
65
+ import '@bigbinary/neeto-icons/MenuVertical';
66
+ import '@bigbinary/neetoui/Tooltip';
64
67
 
65
68
  var Header = withT(function (_ref) {
66
69
  var t = _ref.t,
@@ -90,6 +93,90 @@ var Header = withT(function (_ref) {
90
93
  });
91
94
  var Header$1 = /*#__PURE__*/React__default.memo(Header);
92
95
 
96
+ var TagBlock = function TagBlock(_ref) {
97
+ var status = _ref.status,
98
+ _ref$stacked = _ref.stacked,
99
+ stacked = _ref$stacked === void 0 ? false : _ref$stacked;
100
+ var _useTranslation = useTranslation(),
101
+ t = _useTranslation.t;
102
+ var isDomainValidated = status === "active" || status === "pending_cname_validation";
103
+ var camelCasedStatus = snakeToCamelCase(status || "");
104
+ return /*#__PURE__*/React__default.createElement("div", {
105
+ className: classnames("flex gap-2", {
106
+ "flex-col items-start": stacked
107
+ })
108
+ }, status === "failed" ? /*#__PURE__*/React__default.createElement(Tag, {
109
+ label: t("neetoMolecules.customDomain.status.".concat(camelCasedStatus)),
110
+ style: "danger"
111
+ }) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Tag, {
112
+ "data-cy": "".concat(hyphenize(status), "-tag-container"),
113
+ style: isDomainValidated ? "success" : "warning",
114
+ label: t("neetoMolecules.customDomain.status.domain.".concat(camelCasedStatus))
115
+ }), isDomainValidated && /*#__PURE__*/React__default.createElement("div", {
116
+ className: classnames("flex items-center justify-between gap-2", {
117
+ "w-full": stacked
118
+ })
119
+ }, /*#__PURE__*/React__default.createElement(Tag, {
120
+ "data-cy": "".concat(hyphenize(status), "-tag-container"),
121
+ style: status === "active" ? "success" : "warning",
122
+ label: t("neetoMolecules.customDomain.status.cname.".concat(camelCasedStatus))
123
+ }))));
124
+ };
125
+ var TagBlock$1 = /*#__PURE__*/React__default.memo(TagBlock);
126
+
127
+ var renderColumnData = function renderColumnData(enableManagePane, enableDeleteAlert) {
128
+ return [{
129
+ title: t("neetoMolecules.customDomain.customDomain", SINGULAR),
130
+ dataIndex: "hostname",
131
+ key: "hostname",
132
+ width: "60%",
133
+ render: function render(hostName, customDomain) {
134
+ return /*#__PURE__*/React__default.createElement("div", {
135
+ className: "flex items-center justify-between gap-x-3"
136
+ }, /*#__PURE__*/React__default.createElement(Button, {
137
+ "data-cy": "hostname-button",
138
+ label: hostName,
139
+ style: "link",
140
+ onClick: function onClick() {
141
+ return enableManagePane(customDomain);
142
+ }
143
+ }), /*#__PURE__*/React__default.createElement(MoreDropdown, {
144
+ dropdownButtonProps: {
145
+ "data-testid": "nui-dropdown-icon-".concat(customDomain.id)
146
+ },
147
+ dropdownProps: {
148
+ position: "bottom-end",
149
+ strategy: "fixed",
150
+ autoWidth: true
151
+ },
152
+ menuItems: [{
153
+ label: t("neetoMolecules.common.actions.edit"),
154
+ onClick: function onClick() {
155
+ return enableManagePane(customDomain);
156
+ },
157
+ key: "edit-custom-domain-button"
158
+ }, {
159
+ label: t("neetoMolecules.common.actions.delete"),
160
+ onClick: function onClick() {
161
+ return enableDeleteAlert(customDomain);
162
+ },
163
+ key: "delete-custom-domain"
164
+ }]
165
+ }));
166
+ }
167
+ }, {
168
+ title: t("neetoMolecules.common.status"),
169
+ dataIndex: "status",
170
+ key: "status",
171
+ render: function render(status) {
172
+ return /*#__PURE__*/React__default.createElement(TagBlock$1, {
173
+ status: status
174
+ });
175
+ },
176
+ width: "40%"
177
+ }];
178
+ };
179
+
93
180
  var CustomDomainDashboard = function CustomDomainDashboard(_ref) {
94
181
  var _data$customDomains;
95
182
  var headerProps = _ref.headerProps,
@@ -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 ({\n t,\n setIsPaneOpen,\n searchTerm,\n setSearchTerm,\n headerProps,\n isFiltersVisible,\n }) => (\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 isFiltersVisible && {\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 }\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\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 isFiltersVisible =\n isNotEmpty(data?.customDomains) || isPresent(searchTerm);\n\n const { mutate: deleteCustomDomain, isPending: 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 {...{\n headerProps,\n isFiltersVisible,\n searchTerm,\n setIsPaneOpen,\n setSearchTerm,\n }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading && (\n <>\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 {isNotEmpty(data?.customDomains) ? (\n <TableWrapper>\n <Table\n fixedHeight\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.customDomain.learnMoreMessage\"\n components={{\n button: (\n <Button\n href=\"https://help.neetosite.com/p/a-95ad5b03\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n )}\n </>\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","isFiltersVisible","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","isNotEmpty","customDomains","isPresent","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","enableManagePane","enableDeleteAlert","disableManagePane","disableDeleteAlert","Fragment","Container","PageLoader","SubHeader","leftActionBlock","Typography","component","count","length","TableWrapper","Table","fixedHeight","allowRowClick","rowData","rowSelection","columnData","renderColumnData","NoData","helpText","Trans","i18nKey","components","button","href","style","target","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/Manage/TagBlock.jsx","../src/components/CustomDomainDashboard/utils.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 ({\n t,\n setIsPaneOpen,\n searchTerm,\n setSearchTerm,\n headerProps,\n isFiltersVisible,\n }) => (\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 isFiltersVisible && {\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 }\n {...headerProps}\n />\n )\n);\n\nexport default React.memo(Header);\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { snakeToCamelCase } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TagBlock = ({ status, stacked = false }) => {\n const { t } = useTranslation();\n const isDomainValidated =\n status === \"active\" || status === \"pending_cname_validation\";\n const camelCasedStatus = snakeToCamelCase(status || \"\");\n\n return (\n <div\n className={classnames(\"flex gap-2\", {\n \"flex-col items-start\": stacked,\n })}\n >\n {status === \"failed\" ? (\n <Tag\n label={t(`neetoMolecules.customDomain.status.${camelCasedStatus}`)}\n style=\"danger\"\n />\n ) : (\n <>\n <Tag\n data-cy={`${hyphenize(status)}-tag-container`}\n style={isDomainValidated ? \"success\" : \"warning\"}\n label={t(\n `neetoMolecules.customDomain.status.domain.${camelCasedStatus}`\n )}\n />\n {isDomainValidated && (\n <div\n className={classnames(\"flex items-center justify-between gap-2\", {\n \"w-full\": stacked,\n })}\n >\n <Tag\n data-cy={`${hyphenize(status)}-tag-container`}\n style={status === \"active\" ? \"success\" : \"warning\"}\n label={t(\n `neetoMolecules.customDomain.status.cname.${camelCasedStatus}`\n )}\n />\n </div>\n )}\n </>\n )}\n </div>\n );\n};\n\nexport default React.memo(TagBlock);\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Button } from \"neetoui\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport TagBlock from \"./Manage/TagBlock\";\n\nexport const renderColumnData = (enableManagePane, enableDeleteAlert) => [\n {\n title: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n dataIndex: \"hostname\",\n key: \"hostname\",\n width: \"60%\",\n render: (hostName, customDomain) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n data-cy=\"hostname-button\"\n label={hostName}\n style=\"link\"\n onClick={() => enableManagePane(customDomain)}\n />\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${customDomain.id}`,\n }}\n dropdownProps={{\n position: \"bottom-end\",\n strategy: \"fixed\",\n autoWidth: true,\n }}\n menuItems={[\n {\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => enableManagePane(customDomain),\n key: \"edit-custom-domain-button\",\n },\n {\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => enableDeleteAlert(customDomain),\n key: \"delete-custom-domain\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoMolecules.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n render: status => <TagBlock {...{ status }} />,\n width: \"40%\",\n },\n];\n","import React, { useState } from \"react\";\n\nimport { isNotEmpty, isPresent } from \"neetocist\";\nimport useDebounce from \"neetocommons/react-utils/useDebounce\";\nimport { Table, Typography, NoData, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport PageLoader from \"components/PageLoader\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport DeleteAlert from \"./DeleteAlert\";\nimport Header from \"./Header\";\nimport Manage 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 isFiltersVisible =\n isNotEmpty(data?.customDomains) || isPresent(searchTerm);\n\n const { mutate: deleteCustomDomain, isPending: 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 {...{\n headerProps,\n isFiltersVisible,\n searchTerm,\n setIsPaneOpen,\n setSearchTerm,\n }}\n />\n {isLoading && (\n <div className=\"h-screen w-full\">\n <PageLoader />\n </div>\n )}\n {!isLoading && (\n <>\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 {isNotEmpty(data?.customDomains) ? (\n <TableWrapper>\n <Table\n fixedHeight\n allowRowClick={false}\n rowData={data?.customDomains}\n rowSelection={false}\n columnData={renderColumnData(\n enableManagePane,\n enableDeleteAlert\n )}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoMolecules.customDomain.notFound\")}\n helpText={\n <Trans\n i18nKey=\"neetoMolecules.customDomain.learnMoreMessage\"\n components={{\n button: (\n <Button\n href=\"https://help.neetosite.com/p/a-95ad5b03\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n }\n primaryButtonProps={{\n label: t(\"neetoMolecules.customDomain.addNew\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n )}\n </>\n )}\n </Container>\n <Manage\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","isFiltersVisible","React","createElement","NeetoHeader","_extends","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","TagBlock","status","_ref$stacked","stacked","_useTranslation","useTranslation","isDomainValidated","camelCasedStatus","snakeToCamelCase","classnames","Tag","concat","style","Fragment","hyphenize","renderColumnData","enableManagePane","enableDeleteAlert","SINGULAR","dataIndex","key","width","render","hostName","customDomain","MoreDropdown","dropdownButtonProps","id","dropdownProps","position","strategy","autoWidth","menuItems","CustomDomainDashboard","_data$customDomains","url","onCreate","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","isPaneOpen","_useState5","_useState6","setCustomDomain","_useState7","_useState8","isAlertOpen","setIsAlertOpen","debouncedSearchTerm","useDebounce","_useFetchCustomDomain","useFetchCustomDomains","params","data","isLoading","isNotEmpty","customDomains","isPresent","_useDeleteCustomDomai","useDeleteCustomDomain","onSettled","deleteCustomDomain","mutate","isDeleting","isPending","disableManagePane","disableDeleteAlert","Container","PageLoader","SubHeader","leftActionBlock","Typography","component","count","length","TableWrapper","Table","fixedHeight","allowRowClick","rowData","rowSelection","columnData","NoData","helpText","Trans","i18nKey","components","button","href","target","primaryButtonProps","Manage","hasOne","isOpen","onClose","DeleteAlert","hostname","isSubmitting","onSubmit"],"mappings":"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"}
package/dist/Header.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import _extends from '@babel/runtime/helpers/extends';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
- import React__default from 'react';
4
+ import React__default, { useRef, useLayoutEffect } from 'react';
5
5
  import classnames from 'classnames';
6
6
  import { isNotEmpty, noop } from '@bigbinary/neeto-cist';
7
7
  import Typography from '@bigbinary/neetoui/Typography';
@@ -37,7 +37,7 @@ var DROPDOWN_BUTTON_SIZES = {
37
37
  large: "large"
38
38
  };
39
39
 
40
- var css = ":root{--neeto-molecules-main-header-height:98px;--neeto-molecules-main-header-with-breadcrumbs-height:170px}.neeto-molecules-header{align-items:flex-start;background:rgb(var(--neeto-ui-white));display:flex;flex-direction:row;flex-shrink:0;gap:16px;justify-content:space-between;min-height:98px;min-height:var(--neeto-molecules-main-header-height);padding:40px 0 24px;width:100%}@media screen and (max-width:1024px){.neeto-molecules-header{flex-wrap:wrap}}.neeto-molecules-header .neeto-molecules-header__toggle-menubar-btn{margin-right:8px}.neeto-molecules-header .neeto-molecules-header__left{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.neeto-molecules-header .neeto-molecules-header__left-data-wrap{display:flex;flex-wrap:wrap}.neeto-molecules-header .neeto-molecules-header__page-title{align-items:center;display:flex;flex-direction:row;gap:12px;margin-top:-12px;width:100%}@media screen and (max-width:1024px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-10px}}@media screen and (max-width:768px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-8px}}@media screen and (max-width:576px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-4px}}.neeto-molecules-header .neeto-molecules-header__page-title h2{font-size:calc(1.375rem + 1.5vw);line-height:var(--neeto-ui-leading-tight)}@media (min-width:1200px){.neeto-molecules-header .neeto-molecules-header__page-title h2{font-size:2.5rem}}.neeto-molecules-header .neeto-molecules-header__right{align-items:center;display:flex;gap:12px;justify-content:flex-end}@media screen and (max-width:768px){.neeto-molecules-header .neeto-molecules-header__right{flex-wrap:wrap;justify-content:flex-start}}.neeto-molecules-header .neeto-molecules-header__right .neeto-ui-btn{flex-shrink:0}.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__search-input{flex-grow:0;min-width:104px}.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__action-block{align-items:center;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end}@media screen and (max-width:360px){.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__action-block{flex-shrink:1;flex-wrap:wrap;justify-content:flex-start}}.neeto-molecules-header--has-breadcrumbs{min-height:170px;min-height:var(--neeto-molecules-main-header-with-breadcrumbs-height)}.neeto-molecules-header--has-breadcrumbs .neeto-molecules-header__page-title{margin-top:0}.neeto-molecules-header--nano,.neeto-molecules-header--small{flex-shrink:0;min-height:0}.neeto-molecules-header--nano .neeto-molecules-breadcrumbs-wrap,.neeto-molecules-header--small .neeto-molecules-breadcrumbs-wrap{margin:0 0 16px}.neeto-molecules-header--small .neeto-molecules-header__page-title{margin-top:-4px}.neeto-molecules-header--small .neeto-molecules-header__page-title h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.neeto-molecules-header--small .neeto-molecules-header__page-title h2{font-size:2rem}}.neeto-molecules-header--nano .neeto-molecules-header__page-title{margin-top:0}.neeto-molecules-header--nano .neeto-molecules-header__page-title h2{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.neeto-molecules-header--nano .neeto-molecules-header__page-title h2{font-size:1.5rem}}";
40
+ var css = ":root{--neeto-molecules-main-header-height:98px;--neeto-molecules-main-header-with-breadcrumbs-height:170px;--neeto-molecules-effective-header-height:0px}.neeto-molecules-header{align-items:flex-start;background:rgb(var(--neeto-ui-white));display:flex;flex-direction:row;flex-shrink:0;gap:16px;justify-content:space-between;padding:40px 0 24px;width:100%}@media screen and (max-width:1024px){.neeto-molecules-header{flex-wrap:wrap}}.neeto-molecules-header .neeto-molecules-header__toggle-menubar-btn{margin-right:8px}.neeto-molecules-header .neeto-molecules-header__left{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.neeto-molecules-header .neeto-molecules-header__left-data-wrap{display:flex;flex-wrap:wrap}.neeto-molecules-header .neeto-molecules-header__page-title{align-items:center;display:flex;flex-direction:row;gap:12px;margin-top:-12px;width:100%}@media screen and (max-width:1024px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-10px}}@media screen and (max-width:768px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-8px}}@media screen and (max-width:576px){.neeto-molecules-header .neeto-molecules-header__page-title{margin-top:-4px}}.neeto-molecules-header .neeto-molecules-header__page-title h2{font-size:calc(1.375rem + 1.5vw);line-height:var(--neeto-ui-leading-tight)}@media (min-width:1200px){.neeto-molecules-header .neeto-molecules-header__page-title h2{font-size:2.5rem}}.neeto-molecules-header .neeto-molecules-header__right{align-items:center;display:flex;gap:12px;justify-content:flex-end}.neeto-molecules-header .neeto-molecules-header__right:empty{display:none;visibility:hidden}@media screen and (max-width:768px){.neeto-molecules-header .neeto-molecules-header__right{flex-wrap:wrap;justify-content:flex-start}}.neeto-molecules-header .neeto-molecules-header__right .neeto-ui-btn{flex-shrink:0}.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__search-input{flex-grow:0;min-width:104px}.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__action-block{align-items:center;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end}@media screen and (max-width:360px){.neeto-molecules-header .neeto-molecules-header__right .neeto-molecules-header__action-block{flex-shrink:1;flex-wrap:wrap;justify-content:flex-start}}.neeto-molecules-header--has-breadcrumbs .neeto-molecules-header__page-title{margin-top:0}.neeto-molecules-header--nano,.neeto-molecules-header--small{flex-shrink:0;min-height:0}.neeto-molecules-header--nano .neeto-molecules-breadcrumbs-wrap,.neeto-molecules-header--small .neeto-molecules-breadcrumbs-wrap{margin:0 0 16px}.neeto-molecules-header--small .neeto-molecules-header__page-title{margin-top:-4px}.neeto-molecules-header--small .neeto-molecules-header__page-title h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.neeto-molecules-header--small .neeto-molecules-header__page-title h2{font-size:2rem}}.neeto-molecules-header--nano .neeto-molecules-header__page-title{margin-top:0}.neeto-molecules-header--nano .neeto-molecules-header__page-title h2{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.neeto-molecules-header--nano .neeto-molecules-header__page-title h2{font-size:1.5rem}}";
41
41
  n(css,{});
42
42
 
43
43
  var _excluded = ["dropdownButtonProps"];
@@ -57,9 +57,23 @@ var Header = function Header(_ref) {
57
57
  size = _ref$size === void 0 ? "large" : _ref$size,
58
58
  _ref$dataTestid = _ref["data-testid"],
59
59
  dataTestId = _ref$dataTestid === void 0 ? "neeto-molecules-header" : _ref$dataTestid;
60
+ var headerRef = useRef(null);
61
+ useLayoutEffect(function () {
62
+ var updateHeaderHeight = function updateHeaderHeight() {
63
+ if (!headerRef.current) return;
64
+ var height = headerRef.current.offsetHeight;
65
+ document.body.style.setProperty("--neeto-molecules-effective-header-height", "".concat(height, "px"));
66
+ };
67
+ updateHeaderHeight();
68
+ window.addEventListener("resize", updateHeaderHeight);
69
+ return function () {
70
+ return window.removeEventListener("resize", updateHeaderHeight);
71
+ };
72
+ }, []);
60
73
  return /*#__PURE__*/React__default.createElement("div", {
61
74
  "data-cy": "neeto-molecules-header",
62
75
  "data-testid": dataTestId,
76
+ ref: headerRef,
63
77
  className: classnames(["neeto-molecules-header", {
64
78
  "neeto-molecules-header--has-breadcrumbs": isNotEmpty(breadcrumbs),
65
79
  "neeto-molecules-header--large": size === SIZES.large,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../src/components/Header/constants.js","../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 classnames from \"classnames\";\nimport { noop, isNotEmpty } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Breadcrumbs from \"components/Breadcrumbs\";\nimport MoreDropdown from \"components/MoreDropdown\";\nimport Search from \"components/Search\";\n\nimport { DROPDOWN_BUTTON_SIZES, SIZES } from \"./constants\";\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(({ dropdownButtonProps = {}, ...dropdownProps }) => (\n <MoreDropdown\n dropdownButtonProps={{\n size: DROPDOWN_BUTTON_SIZES[size],\n ...dropdownButtonProps,\n }}\n {...dropdownProps}\n />\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 MoreDropdown 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","Header","_ref","title","searchProps","_ref$className","className","actionBlock","_ref$breadcrumbs","breadcrumbs","_ref$renderDropdown","renderDropdown","noop","_ref$size","size","_ref$dataTestid","dataTestId","React","createElement","classnames","isNotEmpty","Breadcrumbs","Typography","lineHeight","style","weight","_ref2","_ref2$dropdownButtonP","dropdownButtonProps","dropdownProps","_objectWithoutProperties","_excluded","MoreDropdown","_extends","_objectSpread","Search","enableUrlSync"],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sources":["../src/components/Header/constants.js","../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, { useLayoutEffect, useRef } 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 MoreDropdown from \"components/MoreDropdown\";\nimport Search from \"components/Search\";\n\nimport { DROPDOWN_BUTTON_SIZES, SIZES } from \"./constants\";\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 const headerRef = useRef(null);\n\n useLayoutEffect(() => {\n const updateHeaderHeight = () => {\n if (!headerRef.current) return;\n const height = headerRef.current.offsetHeight;\n document.body.style.setProperty(\n \"--neeto-molecules-effective-header-height\",\n `${height}px`\n );\n };\n\n updateHeaderHeight();\n\n window.addEventListener(\"resize\", updateHeaderHeight);\n\n return () => window.removeEventListener(\"resize\", updateHeaderHeight);\n }, []);\n\n return (\n <div\n data-cy=\"neeto-molecules-header\"\n data-testid={dataTestId}\n ref={headerRef}\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(\n ({ dropdownButtonProps = {}, ...dropdownProps }) => (\n <MoreDropdown\n dropdownButtonProps={{\n size: DROPDOWN_BUTTON_SIZES[size],\n ...dropdownButtonProps,\n }}\n {...dropdownProps}\n />\n )\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};\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 MoreDropdown 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","Header","_ref","title","searchProps","_ref$className","className","actionBlock","_ref$breadcrumbs","breadcrumbs","_ref$renderDropdown","renderDropdown","noop","_ref$size","size","_ref$dataTestid","dataTestId","headerRef","useRef","useLayoutEffect","updateHeaderHeight","current","height","offsetHeight","document","body","style","setProperty","concat","window","addEventListener","removeEventListener","React","createElement","ref","classnames","isNotEmpty","Breadcrumbs","Typography","lineHeight","weight","_ref2","_ref2$dropdownButtonP","dropdownButtonProps","dropdownProps","_objectWithoutProperties","_excluded","MoreDropdown","_extends","_objectSpread","Search","enableUrlSync"],"mappings":"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"}
@@ -13,7 +13,7 @@ var SIZES = {
13
13
  viewport: "viewport"
14
14
  };
15
15
 
16
- var css = ".neeto-molecules-scrollable{flex-grow:1;overflow-y:auto}.neeto-molecules-scrollable.neeto-molecules-scrollable--nano{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin))}.neeto-molecules-scrollable.neeto-molecules-scrollable--small{height:calc(100vh - var(--neeto-molecules-main-header-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin))}.neeto-molecules-scrollable.neeto-molecules-scrollable--medium{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height))}.neeto-molecules-scrollable.neeto-molecules-scrollable--large{height:calc(100vh - var(--neeto-molecules-main-header-height))}.neeto-molecules-scrollable.neeto-molecules-scrollable--viewport{height:100vh}";
16
+ var css = ".neeto-molecules-scrollable{flex-grow:1;overflow-y:auto}.neeto-molecules-scrollable.neeto-molecules-scrollable--nano,.neeto-molecules-scrollable.neeto-molecules-scrollable--small{height:calc(100vh - var(--neeto-molecules-effective-header-height) - var(--neeto-molecules-effective-subheader-height) - var(--neeto-molecules-sub-header-bottom-margin))}.neeto-molecules-scrollable.neeto-molecules-scrollable--large,.neeto-molecules-scrollable.neeto-molecules-scrollable--medium{height:calc(100vh - var(--neeto-molecules-effective-header-height))}.neeto-molecules-scrollable.neeto-molecules-scrollable--viewport{height:100vh}";
17
17
  n(css,{});
18
18
 
19
19
  var _excluded = ["children", "className", "size"];
package/dist/SubHeader.js CHANGED
@@ -1,4 +1,4 @@
1
- import React__default, { forwardRef, useMemo } from 'react';
1
+ import React__default, { forwardRef, useMemo, useRef, useLayoutEffect } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { isNotPresent } from '@bigbinary/neeto-cist';
4
4
  import { pluck, not } from 'ramda';
@@ -148,7 +148,7 @@ var RightBlock = function RightBlock(_ref) {
148
148
  }, downloadButtonProps && /*#__PURE__*/React__default.createElement(DownloadButton, downloadButtonProps), columnsButtonProps && /*#__PURE__*/React__default.createElement(Columns, columnsButtonProps), filterProps && /*#__PURE__*/React__default.createElement(FilterButton, filterProps));
149
149
  };
150
150
 
151
- var css = ":root{--neeto-molecules-sub-header-height:37px;--neeto-molecules-sub-header-bottom-margin:20px}.neeto-molecules-subheader{align-items:center;background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:row;flex-shrink:0;gap:16px;justify-content:space-between;margin-bottom:20px;margin-bottom:var(--neeto-molecules-sub-header-bottom-margin);min-height:37px;min-height:var(--neeto-molecules-sub-header-height);width:100%}@media screen and (max-width:768px){.neeto-molecules-subheader{flex-wrap:wrap}}.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper{display:flex;flex-grow:1}.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper .neeto-molecules-subheader__left{align-items:center;display:flex;flex-direction:row;justify-content:flex-start}.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper .neeto-molecules-subheader__left .neeto-molecules-input__prefix{color:rgb(var(--neeto-ui-gray-400))}@media screen and (max-width:360px){.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper .neeto-molecules-subheader__left h4{font-size:14px}}.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper .neeto-ui-btn{flex-shrink:0}.neeto-molecules-subheader .neeto-molecules-subheader__right{align-items:center;display:flex;flex-direction:row;gap:12px;justify-content:flex-end}@media screen and (max-width:768px){.neeto-molecules-subheader .neeto-molecules-subheader__right{margin-left:auto}}.neeto-molecules-subheader .neeto-molecules-subheader__right-actions{align-items:center;display:flex;flex-direction:row;gap:8px;justify-content:flex-end}.neeto-molecules-subheader .neeto-molecules-subheader__right-actions>:not([hidden])~:not([hidden]){border-left:thin solid rgb(var(--neeto-ui-gray-200));padding-left:8px}.neeto-molecules-subheader__download{position:relative}.neeto-molecules-subheader__download-count{align-items:center;background-color:rgb(var(--neeto-ui-accent-500));border-radius:var(--neeto-ui-rounded-full);color:rgb(var(--neeto-ui-white));display:inline-flex;font-size:10px;justify-content:center;min-height:16px;min-width:16px;position:absolute;right:-2px;text-align:center;top:-2px;z-index:1}.neeto-molecules-subheader__columns .neeto-ui-dropdown__popup{max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - 57px);max-height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin));min-width:320px}";
151
+ var css = ":root{--neeto-molecules-sub-header-height:37px;--neeto-molecules-sub-header-bottom-margin:20px;--neeto-molecules-effective-subheader-height:0px}.neeto-molecules-subheader{align-items:center;background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:row;flex-shrink:0;gap:16px;justify-content:space-between;margin-bottom:20px;margin-bottom:var(--neeto-molecules-sub-header-bottom-margin);width:100%}@media screen and (max-width:768px){.neeto-molecules-subheader{flex-wrap:wrap}}.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper{display:flex;flex-grow:1}.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper .neeto-molecules-subheader__left{align-items:center;display:flex;flex-direction:row;justify-content:flex-start}.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper .neeto-molecules-subheader__left .neeto-molecules-input__prefix{color:rgb(var(--neeto-ui-gray-400))}@media screen and (max-width:360px){.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper .neeto-molecules-subheader__left h4{font-size:14px}}.neeto-molecules-subheader .neeto-molecules-subheader__left-wrapper .neeto-ui-btn{flex-shrink:0}.neeto-molecules-subheader .neeto-molecules-subheader__right{align-items:center;display:flex;flex-direction:row;gap:12px;justify-content:flex-end}@media screen and (max-width:768px){.neeto-molecules-subheader .neeto-molecules-subheader__right{margin-left:auto}}.neeto-molecules-subheader .neeto-molecules-subheader__right-actions{align-items:center;display:flex;flex-direction:row;gap:8px;justify-content:flex-end}.neeto-molecules-subheader .neeto-molecules-subheader__right-actions>:not([hidden])~:not([hidden]){border-left:thin solid rgb(var(--neeto-ui-gray-200));padding-left:8px}.neeto-molecules-subheader__download{position:relative}.neeto-molecules-subheader__download-count{align-items:center;background-color:rgb(var(--neeto-ui-accent-500));border-radius:var(--neeto-ui-rounded-full);color:rgb(var(--neeto-ui-white));display:inline-flex;font-size:10px;justify-content:center;min-height:16px;min-width:16px;position:absolute;right:-2px;text-align:center;top:-2px;z-index:1}.neeto-molecules-subheader__columns .neeto-ui-dropdown__popup{max-height:calc(100vh - var(--neeto-molecules-effective-header-height) - 57px);max-height:calc(100vh - var(--neeto-molecules-effective-header-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin));min-width:320px}";
152
152
  n(css,{});
153
153
 
154
154
  var SubHeader = function SubHeader(_ref) {
@@ -158,10 +158,24 @@ var SubHeader = function SubHeader(_ref) {
158
158
  rightActionBlock = _ref.rightActionBlock,
159
159
  _ref$dataCy = _ref["data-cy"],
160
160
  dataCy = _ref$dataCy === void 0 ? "subheader" : _ref$dataCy;
161
+ var subheaderRef = useRef(null);
162
+ useLayoutEffect(function () {
163
+ var updateHeaderHeight = function updateHeaderHeight() {
164
+ if (!subheaderRef.current) return;
165
+ var height = subheaderRef.current.offsetHeight;
166
+ document.body.style.setProperty("--neeto-molecules-effective-subheader-height", "".concat(height, "px"));
167
+ };
168
+ updateHeaderHeight();
169
+ window.addEventListener("resize", updateHeaderHeight);
170
+ return function () {
171
+ return window.removeEventListener("resize", updateHeaderHeight);
172
+ };
173
+ }, []);
161
174
  return /*#__PURE__*/React__default.createElement("div", {
162
175
  className: classnames(["neeto-molecules-subheader", className]),
163
176
  "data-cy": dataCy,
164
- "data-testid": "subheader"
177
+ "data-testid": "subheader",
178
+ ref: subheaderRef
165
179
  }, /*#__PURE__*/React__default.createElement("div", {
166
180
  className: "neeto-molecules-subheader__left-wrapper",
167
181
  "data-cy": "subheader-left-wrapper"
@@ -1 +1 @@
1
- {"version":3,"file":"SubHeader.js","sources":["../src/components/SubHeader/RightBlock/Columns.jsx","../src/components/SubHeader/RightBlock/Download.jsx","../src/components/SubHeader/RightBlock/Filter.jsx","../src/components/SubHeader/RightBlock/index.jsx","../src/components/SubHeader/index.jsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\n\nimport { Column } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ManageColumns, { useHiddenColumns } from \"components/Columns\";\n\nconst Columns = forwardRef(\n (\n { buttonProps = {}, columnData, localStorageKey, fixedColumns, ...props },\n ref\n ) => {\n const { t } = useTranslation();\n\n const columnDataIndex = useMemo(\n () =>\n pluck(\n \"dataIndex\",\n (columnData || []).filter(\n column => !fixedColumns?.includes(column.dataIndex)\n )\n ),\n [columnData, fixedColumns]\n );\n\n const { hideColumn, showColumn } = useHiddenColumns(localStorageKey);\n\n return (\n <div className=\"neeto-molecules-subheader__columns\">\n <ManageColumns\n isSearchable\n className=\"neeto-ui-dropdown--manage-columns\"\n actionBlock={\n <div className=\"grid grid-cols-2 gap-2 px-4 py-3\">\n <Button\n className=\"col-span-1 justify-center\"\n label=\"Hide all\"\n style=\"secondary\"\n onClick={() => hideColumn(columnDataIndex)}\n />\n <Button\n className=\"col-span-1 justify-center\"\n label=\"Show all\"\n style=\"secondary\"\n onClick={() => showColumn(columnDataIndex)}\n />\n </div>\n }\n buttonProps={{\n icon: Column,\n label: null,\n tooltipProps: {\n content: t(\"neetoMolecules.columns.columns\"),\n position: \"bottom\",\n },\n \"data-testid\": \"columns-button\",\n \"data-cy\": \"columns-dropdown-button\",\n ...buttonProps,\n }}\n {...{ columnData, localStorageKey, ...props, ref }}\n />\n </div>\n );\n }\n);\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n","import React from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DownloadButton = ({\n count,\n onClick,\n \"data-cy\": dataCy = \"download-button\",\n}) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-molecules-subheader__download\">\n <Button\n data-cy={dataCy}\n data-testid=\"download-button\"\n icon={Download}\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.download\"),\n position: \"bottom\",\n }}\n onClick={onClick}\n />\n {count && (\n <span className=\"neeto-molecules-subheader__download-count\">\n {count}\n </span>\n )}\n </div>\n );\n};\n\nexport default DownloadButton;\n","import React from \"react\";\n\nimport { Filters as NeetoFilters } from \"neetofilters\";\nimport { Filter } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst FilterButton = ({ buttonProps, ...props }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-molecules-subheader__filter\">\n <NeetoFilters\n buttonProps={{\n \"data-testid\": \"filter-button\",\n icon: Filter,\n style: \"text\",\n tooltipProps: {\n content: t(\"neetoMolecules.common.filter\"),\n position: \"bottom\",\n },\n label: null,\n ...buttonProps,\n }}\n {...props}\n />\n </div>\n );\n};\n\nexport default FilterButton;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\n\nimport Columns from \"./Columns\";\nimport Download from \"./Download\";\nimport Filter from \"./Filter\";\n\nconst RightBlock = ({\n downloadButtonProps,\n columnsButtonProps,\n filterProps,\n dataProps,\n}) => {\n const showIcons = isNotPresent(dataProps?.totalCount)\n ? true\n : dataProps?.totalCount > 0;\n\n return (\n <div\n data-testid=\"subheader-rightblock-buttons-container\"\n className={classnames(\"neeto-molecules-subheader__right-actions\", {\n hidden: not(showIcons),\n })}\n >\n {downloadButtonProps && <Download {...downloadButtonProps} />}\n {columnsButtonProps && <Columns {...columnsButtonProps} />}\n {filterProps && <Filter {...filterProps} />}\n </div>\n );\n};\n\nRightBlock.propTypes = {\n /**\n * Props that are passed to the download button.\n */\n downloadButtonProps: PropTypes.shape({\n count: PropTypes.number,\n onClick: PropTypes.func,\n }),\n /**\n * Props that are passed to the columns button, same as the `Columns` component from neetoMolecules.\n */\n columnsButtonProps: PropTypes.shape({\n onChange: PropTypes.func,\n actionBlock: PropTypes.node,\n checkboxProps: PropTypes.object,\n columnData: PropTypes.array,\n isSearchable: PropTypes.bool,\n localStorageKey: PropTypes.string,\n initialValue: PropTypes.array,\n noColumnMessage: PropTypes.string,\n searchProps: PropTypes.object,\n }),\n /**\n * Props that are passed the the filter component. These are the same props as the\n * neetoFilters `Filters` component.\n */\n filterProps: PropTypes.shape({\n size: PropTypes.oneOf([\"xsmall\", \"small\", \"large\"]),\n isOpen: PropTypes.bool,\n setIsOpen: PropTypes.func,\n columns: PropTypes.object,\n onChange: PropTypes.func,\n onSelectorsChange: PropTypes.func,\n buttonProps: PropTypes.object,\n paneProps: PropTypes.object,\n isSearchable: PropTypes.bool,\n className: PropTypes.string,\n }),\n /**\n * Props related to data being displayed, such as tables, lists, and more. The buttons\n * will be hidden if the value of `totalCount` in `dataProps` is `0`.\n */\n dataProps: PropTypes.shape({ totalCount: PropTypes.number }),\n};\n\nexport default RightBlock;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport RightBlock from \"./RightBlock\";\nimport \"./subheader.scss\";\n\nconst SubHeader = ({\n className = \"\",\n leftActionBlock,\n rightActionBlock,\n \"data-cy\": dataCy = \"subheader\",\n}) => (\n <div\n className={classnames([\"neeto-molecules-subheader\", className])}\n data-cy={dataCy}\n data-testid=\"subheader\"\n >\n <div\n className=\"neeto-molecules-subheader__left-wrapper\"\n data-cy=\"subheader-left-wrapper\"\n >\n {leftActionBlock && (\n <div\n className=\"neeto-molecules-subheader__left\"\n data-cy=\"subheader-left\"\n >\n {leftActionBlock}\n </div>\n )}\n </div>\n {rightActionBlock && (\n <div\n className=\"neeto-molecules-subheader__right\"\n data-cy=\"subheader-right\"\n >\n {rightActionBlock}\n </div>\n )}\n </div>\n);\n\nSubHeader.RightBlock = RightBlock;\n\nSubHeader.propTypes = {\n /**\n * To specify external classnames as overrides to the `SubHeader`.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered in the left side of the `SubHeader` section.\n */\n leftActionBlock: PropTypes.node,\n /**\n * To specify the content to be rendered in the right side of the `SubHeader` section.\n */\n rightActionBlock: PropTypes.node,\n};\n\nexport default SubHeader;\n"],"names":["Columns","forwardRef","_ref","ref","_ref$buttonProps","buttonProps","columnData","localStorageKey","fixedColumns","props","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","columnDataIndex","useMemo","pluck","filter","column","includes","dataIndex","_useHiddenColumns","useHiddenColumns","hideColumn","showColumn","React","createElement","className","ManageColumns","_extends","isSearchable","actionBlock","Button","label","style","onClick","_objectSpread","icon","Column","tooltipProps","content","position","displayName","DownloadButton","count","_ref$dataCy","dataCy","Download","FilterButton","NeetoFilters","Filter","RightBlock","downloadButtonProps","columnsButtonProps","filterProps","dataProps","showIcons","isNotPresent","totalCount","classnames","hidden","not","SubHeader","_ref$className","leftActionBlock","rightActionBlock"],"mappings":"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"}
1
+ {"version":3,"file":"SubHeader.js","sources":["../src/components/SubHeader/RightBlock/Columns.jsx","../src/components/SubHeader/RightBlock/Download.jsx","../src/components/SubHeader/RightBlock/Filter.jsx","../src/components/SubHeader/RightBlock/index.jsx","../src/components/SubHeader/index.jsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\n\nimport { Column } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ManageColumns, { useHiddenColumns } from \"components/Columns\";\n\nconst Columns = forwardRef(\n (\n { buttonProps = {}, columnData, localStorageKey, fixedColumns, ...props },\n ref\n ) => {\n const { t } = useTranslation();\n\n const columnDataIndex = useMemo(\n () =>\n pluck(\n \"dataIndex\",\n (columnData || []).filter(\n column => !fixedColumns?.includes(column.dataIndex)\n )\n ),\n [columnData, fixedColumns]\n );\n\n const { hideColumn, showColumn } = useHiddenColumns(localStorageKey);\n\n return (\n <div className=\"neeto-molecules-subheader__columns\">\n <ManageColumns\n isSearchable\n className=\"neeto-ui-dropdown--manage-columns\"\n actionBlock={\n <div className=\"grid grid-cols-2 gap-2 px-4 py-3\">\n <Button\n className=\"col-span-1 justify-center\"\n label=\"Hide all\"\n style=\"secondary\"\n onClick={() => hideColumn(columnDataIndex)}\n />\n <Button\n className=\"col-span-1 justify-center\"\n label=\"Show all\"\n style=\"secondary\"\n onClick={() => showColumn(columnDataIndex)}\n />\n </div>\n }\n buttonProps={{\n icon: Column,\n label: null,\n tooltipProps: {\n content: t(\"neetoMolecules.columns.columns\"),\n position: \"bottom\",\n },\n \"data-testid\": \"columns-button\",\n \"data-cy\": \"columns-dropdown-button\",\n ...buttonProps,\n }}\n {...{ columnData, localStorageKey, ...props, ref }}\n />\n </div>\n );\n }\n);\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n","import React from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DownloadButton = ({\n count,\n onClick,\n \"data-cy\": dataCy = \"download-button\",\n}) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-molecules-subheader__download\">\n <Button\n data-cy={dataCy}\n data-testid=\"download-button\"\n icon={Download}\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.download\"),\n position: \"bottom\",\n }}\n onClick={onClick}\n />\n {count && (\n <span className=\"neeto-molecules-subheader__download-count\">\n {count}\n </span>\n )}\n </div>\n );\n};\n\nexport default DownloadButton;\n","import React from \"react\";\n\nimport { Filters as NeetoFilters } from \"neetofilters\";\nimport { Filter } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst FilterButton = ({ buttonProps, ...props }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-molecules-subheader__filter\">\n <NeetoFilters\n buttonProps={{\n \"data-testid\": \"filter-button\",\n icon: Filter,\n style: \"text\",\n tooltipProps: {\n content: t(\"neetoMolecules.common.filter\"),\n position: \"bottom\",\n },\n label: null,\n ...buttonProps,\n }}\n {...props}\n />\n </div>\n );\n};\n\nexport default FilterButton;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\n\nimport Columns from \"./Columns\";\nimport Download from \"./Download\";\nimport Filter from \"./Filter\";\n\nconst RightBlock = ({\n downloadButtonProps,\n columnsButtonProps,\n filterProps,\n dataProps,\n}) => {\n const showIcons = isNotPresent(dataProps?.totalCount)\n ? true\n : dataProps?.totalCount > 0;\n\n return (\n <div\n data-testid=\"subheader-rightblock-buttons-container\"\n className={classnames(\"neeto-molecules-subheader__right-actions\", {\n hidden: not(showIcons),\n })}\n >\n {downloadButtonProps && <Download {...downloadButtonProps} />}\n {columnsButtonProps && <Columns {...columnsButtonProps} />}\n {filterProps && <Filter {...filterProps} />}\n </div>\n );\n};\n\nRightBlock.propTypes = {\n /**\n * Props that are passed to the download button.\n */\n downloadButtonProps: PropTypes.shape({\n count: PropTypes.number,\n onClick: PropTypes.func,\n }),\n /**\n * Props that are passed to the columns button, same as the `Columns` component from neetoMolecules.\n */\n columnsButtonProps: PropTypes.shape({\n onChange: PropTypes.func,\n actionBlock: PropTypes.node,\n checkboxProps: PropTypes.object,\n columnData: PropTypes.array,\n isSearchable: PropTypes.bool,\n localStorageKey: PropTypes.string,\n initialValue: PropTypes.array,\n noColumnMessage: PropTypes.string,\n searchProps: PropTypes.object,\n }),\n /**\n * Props that are passed the the filter component. These are the same props as the\n * neetoFilters `Filters` component.\n */\n filterProps: PropTypes.shape({\n size: PropTypes.oneOf([\"xsmall\", \"small\", \"large\"]),\n isOpen: PropTypes.bool,\n setIsOpen: PropTypes.func,\n columns: PropTypes.object,\n onChange: PropTypes.func,\n onSelectorsChange: PropTypes.func,\n buttonProps: PropTypes.object,\n paneProps: PropTypes.object,\n isSearchable: PropTypes.bool,\n className: PropTypes.string,\n }),\n /**\n * Props related to data being displayed, such as tables, lists, and more. The buttons\n * will be hidden if the value of `totalCount` in `dataProps` is `0`.\n */\n dataProps: PropTypes.shape({ totalCount: PropTypes.number }),\n};\n\nexport default RightBlock;\n","import React, { useLayoutEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport RightBlock from \"./RightBlock\";\nimport \"./subheader.scss\";\n\nconst SubHeader = ({\n className = \"\",\n leftActionBlock,\n rightActionBlock,\n \"data-cy\": dataCy = \"subheader\",\n}) => {\n const subheaderRef = useRef(null);\n\n useLayoutEffect(() => {\n const updateHeaderHeight = () => {\n if (!subheaderRef.current) return;\n const height = subheaderRef.current.offsetHeight;\n document.body.style.setProperty(\n \"--neeto-molecules-effective-subheader-height\",\n `${height}px`\n );\n };\n\n updateHeaderHeight();\n\n window.addEventListener(\"resize\", updateHeaderHeight);\n\n return () => window.removeEventListener(\"resize\", updateHeaderHeight);\n }, []);\n\n return (\n <div\n className={classnames([\"neeto-molecules-subheader\", className])}\n data-cy={dataCy}\n data-testid=\"subheader\"\n ref={subheaderRef}\n >\n <div\n className=\"neeto-molecules-subheader__left-wrapper\"\n data-cy=\"subheader-left-wrapper\"\n >\n {leftActionBlock && (\n <div\n className=\"neeto-molecules-subheader__left\"\n data-cy=\"subheader-left\"\n >\n {leftActionBlock}\n </div>\n )}\n </div>\n {rightActionBlock && (\n <div\n className=\"neeto-molecules-subheader__right\"\n data-cy=\"subheader-right\"\n >\n {rightActionBlock}\n </div>\n )}\n </div>\n );\n};\n\nSubHeader.RightBlock = RightBlock;\n\nSubHeader.propTypes = {\n /**\n * To specify external classnames as overrides to the `SubHeader`.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered in the left side of the `SubHeader` section.\n */\n leftActionBlock: PropTypes.node,\n /**\n * To specify the content to be rendered in the right side of the `SubHeader` section.\n */\n rightActionBlock: PropTypes.node,\n};\n\nexport default SubHeader;\n"],"names":["Columns","forwardRef","_ref","ref","_ref$buttonProps","buttonProps","columnData","localStorageKey","fixedColumns","props","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","columnDataIndex","useMemo","pluck","filter","column","includes","dataIndex","_useHiddenColumns","useHiddenColumns","hideColumn","showColumn","React","createElement","className","ManageColumns","_extends","isSearchable","actionBlock","Button","label","style","onClick","_objectSpread","icon","Column","tooltipProps","content","position","displayName","DownloadButton","count","_ref$dataCy","dataCy","Download","FilterButton","NeetoFilters","Filter","RightBlock","downloadButtonProps","columnsButtonProps","filterProps","dataProps","showIcons","isNotPresent","totalCount","classnames","hidden","not","SubHeader","_ref$className","leftActionBlock","rightActionBlock","subheaderRef","useRef","useLayoutEffect","updateHeaderHeight","current","height","offsetHeight","document","body","setProperty","concat","window","addEventListener","removeEventListener"],"mappings":"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"}