@bigbinary/neeto-molecules 3.4.1 → 3.5.0

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/README.md CHANGED
@@ -65,6 +65,7 @@ https://neeto-molecules.neeto.com/
65
65
  - [Scrollable](./docs/components/Scrollable.md)
66
66
  - [Search](./docs/components/Search.md)
67
67
  - [SendToFields](./docs/components/SendToFields.md)
68
+ - [SessionEnvironment](./docs/components/SessionEnvironment.md)
68
69
  - [Settings](./docs/components/Settings.md)
69
70
  - [ShareViaEmail](./docs/components/ShareViaEmail.md)
70
71
  - [ShareViaLink](./docs/components/ShareViaLink.md)
@@ -56,6 +56,9 @@ import '@bigbinary/neeto-icons/Check';
56
56
  import '@bigbinary/neetoui/Toastr';
57
57
  import './Breadcrumbs.js';
58
58
  import 'react-router-dom';
59
+ import './HelpPopover.js';
60
+ import '@bigbinary/neeto-icons/Help';
61
+ import '@bigbinary/neetoui/Popover';
59
62
  import './Search.js';
60
63
  import '@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce';
61
64
  import '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
@@ -1 +1 @@
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 { memo } 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 memo(Header);\n","import { memo } 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 memo(TagBlock);\n","import { 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 { 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 !!data?.customDomains?.length && (\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 />\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","_jsx","NeetoHeader","_objectSpread","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","TagBlock","status","_ref$stacked","stacked","_useTranslation","useTranslation","isDomainValidated","camelCasedStatus","snakeToCamelCase","classnames","children","Tag","concat","style","_jsxs","_Fragment","hyphenize","renderColumnData","enableManagePane","enableDeleteAlert","SINGULAR","dataIndex","key","width","render","hostName","customDomain","MoreDropdown","dropdownButtonProps","id","dropdownProps","position","strategy","autoWidth","menuItems","CustomDomainDashboard","_data$customDomains","_data$customDomains2","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","length","Typography","component","count","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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"}
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 { memo } 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 memo(Header);\n","import { memo } 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 memo(TagBlock);\n","import { 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 { 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 !!data?.customDomains?.length && (\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 />\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","_jsx","NeetoHeader","_objectSpread","title","PLURAL","actionBlock","Button","label","onClick","searchProps","value","onChange","withEventTargetValue","placeholder","className","memo","TagBlock","status","_ref$stacked","stacked","_useTranslation","useTranslation","isDomainValidated","camelCasedStatus","snakeToCamelCase","classnames","children","Tag","concat","style","_jsxs","_Fragment","hyphenize","renderColumnData","enableManagePane","enableDeleteAlert","SINGULAR","dataIndex","key","width","render","hostName","customDomain","MoreDropdown","dropdownButtonProps","id","dropdownProps","position","strategy","autoWidth","menuItems","CustomDomainDashboard","_data$customDomains","_data$customDomains2","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","length","Typography","component","count","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,23 +1,26 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
1
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { useRef, useLayoutEffect } from 'react';
4
4
  import classnames from 'classnames';
5
- import { isNotEmpty, noop } from '@bigbinary/neeto-cist';
5
+ import { isNotEmpty, isPresent, noop } from '@bigbinary/neeto-cist';
6
6
  import Typography from '@bigbinary/neetoui/Typography';
7
7
  import Breadcrumbs from './Breadcrumbs.js';
8
+ import HelpPopover from './HelpPopover.js';
8
9
  import MoreDropdown from './MoreDropdown.js';
9
10
  import Search from './Search.js';
10
11
  import { n } from './inject-css-c86de496.js';
11
12
  import { jsxs, jsx } from 'react/jsx-runtime';
12
13
  import '@bigbinary/neeto-commons-frontend/utils/general';
13
14
  import 'react-router-dom';
15
+ import '@bigbinary/neeto-icons/Help';
16
+ import '@bigbinary/neetoui/Button';
17
+ import '@bigbinary/neetoui/Popover';
18
+ import 'react-i18next';
14
19
  import '@bigbinary/neeto-icons/MenuHorizontal';
15
20
  import '@bigbinary/neeto-icons/MenuVertical';
16
- import '@bigbinary/neetoui/Button';
17
21
  import '@bigbinary/neetoui/Dropdown';
18
22
  import '@bigbinary/neetoui/Tooltip';
19
23
  import 'ramda';
20
- import 'react-i18next';
21
24
  import '@babel/runtime/helpers/slicedToArray';
22
25
  import '@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce';
23
26
  import '@bigbinary/neeto-commons-frontend/react-utils/useQueryParams';
@@ -45,6 +48,8 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
45
48
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
46
49
  var Header = function Header(_ref) {
47
50
  var title = _ref.title,
51
+ _ref$titleHelpPopover = _ref.titleHelpPopoverProps,
52
+ titleHelpPopoverProps = _ref$titleHelpPopover === void 0 ? {} : _ref$titleHelpPopover,
48
53
  searchProps = _ref.searchProps,
49
54
  _ref$className = _ref.className,
50
55
  className = _ref$className === void 0 ? "" : _ref$className,
@@ -95,7 +100,7 @@ var Header = function Header(_ref) {
95
100
  style: "h2",
96
101
  weight: "semibold",
97
102
  children: title
98
- }), renderDropdown(function (_ref2) {
103
+ }), isPresent(titleHelpPopoverProps) && /*#__PURE__*/jsx(HelpPopover, _objectSpread({}, titleHelpPopoverProps)), renderDropdown(function (_ref2) {
99
104
  var _ref2$dropdownButtonP = _ref2.dropdownButtonProps,
100
105
  dropdownButtonProps = _ref2$dropdownButtonP === void 0 ? {} : _ref2$dropdownButtonP,
101
106
  dropdownProps = _objectWithoutProperties(_ref2, _excluded);
@@ -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 { 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","_jsxs","ref","classnames","isNotEmpty","children","_jsx","Breadcrumbs","Typography","lineHeight","weight","_ref2","_ref2$dropdownButtonP","dropdownButtonProps","dropdownProps","_objectWithoutProperties","_excluded","MoreDropdown","_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 { useLayoutEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, isNotEmpty, isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Breadcrumbs from \"components/Breadcrumbs\";\nimport HelpPopover from \"components/HelpPopover\";\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 titleHelpPopoverProps = {},\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 {isPresent(titleHelpPopoverProps) && (\n <HelpPopover {...titleHelpPopoverProps} />\n )}\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 set props for the HelpPopover component in the title.\n */\n titleHelpPopoverProps: PropTypes.object,\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","_ref$titleHelpPopover","titleHelpPopoverProps","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","_jsxs","ref","classnames","isNotEmpty","children","_jsx","Breadcrumbs","Typography","lineHeight","weight","isPresent","HelpPopover","_objectSpread","_ref2","_ref2$dropdownButtonP","dropdownButtonProps","dropdownProps","_objectWithoutProperties","_excluded","MoreDropdown","Search","enableUrlSync"],"mappings":"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"}