@bigbinary/neeto-molecules 3.4.0-beta-1 → 3.4.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 +1 -0
- package/dist/Builder.js +3 -1
- package/dist/Builder.js.map +1 -1
- package/dist/ConfigurePageSidebar.js +2 -1
- package/dist/ConfigurePageSidebar.js.map +1 -1
- package/dist/DateFormat.js +2 -1
- package/dist/DateFormat.js.map +1 -1
- package/dist/DocumentEditor.js +1 -1
- package/dist/EmailForm.js +4 -2
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmojiPicker.js +2 -1
- package/dist/EmojiPicker.js.map +1 -1
- package/dist/EmojiReactions.js +1 -0
- package/dist/EmojiReactions.js.map +1 -1
- package/dist/FileUpload.js +2 -2
- package/dist/FileUpload.js.map +1 -1
- package/dist/FloatingActionMenu.js +1 -1
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/IconPicker.js +1 -0
- package/dist/IconPicker.js.map +1 -1
- package/dist/Insights.js +2 -1
- package/dist/Insights.js.map +1 -1
- package/dist/IpRestriction.js +2 -1
- package/dist/IpRestriction.js.map +1 -1
- package/dist/MobilePreviewHeader.js +25 -0
- package/dist/MobilePreviewHeader.js.map +1 -0
- package/dist/MoreDropdown.js +4 -2
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/NavigationHeader.js +1 -0
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/Onboarding.js +4 -4
- package/dist/Onboarding.js.map +1 -1
- package/dist/OptionFields.js +6 -3
- package/dist/OptionFields.js.map +1 -1
- package/dist/PublishBlock.js +6 -3
- package/dist/PublishBlock.js.map +1 -1
- package/dist/Schedule.js +5 -2
- package/dist/Schedule.js.map +1 -1
- package/dist/ShareViaLink.js +2 -1
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +2 -1
- package/dist/Sidebar.js.map +1 -1
- package/dist/StatusDropdown.js +102 -0
- package/dist/StatusDropdown.js.map +1 -0
- package/dist/SubHeader.js +6 -3
- package/dist/SubHeader.js.map +1 -1
- package/dist/ToggleFeatureCard.js +1 -0
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/Builder.js +3 -1
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/ConfigurePageSidebar.js +2 -1
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/DateFormat.js +2 -1
- package/dist/cjs/DateFormat.js.map +1 -1
- package/dist/cjs/DocumentEditor.js +1 -1
- package/dist/cjs/EmailForm.js +4 -2
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmojiPicker.js +2 -1
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/EmojiReactions.js +1 -0
- package/dist/cjs/EmojiReactions.js.map +1 -1
- package/dist/cjs/FileUpload.js +2 -2
- package/dist/cjs/FileUpload.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +1 -1
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/IconPicker.js +1 -0
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/Insights.js +2 -1
- package/dist/cjs/Insights.js.map +1 -1
- package/dist/cjs/IpRestriction.js +2 -1
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/MobilePreviewHeader.js +32 -0
- package/dist/cjs/MobilePreviewHeader.js.map +1 -0
- package/dist/cjs/MoreDropdown.js +4 -2
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/NavigationHeader.js +1 -0
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/Onboarding.js +3 -3
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +6 -3
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PublishBlock.js +6 -3
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/Schedule.js +5 -2
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/ShareViaLink.js +2 -1
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +2 -1
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StatusDropdown.js +112 -0
- package/dist/cjs/StatusDropdown.js.map +1 -0
- package/dist/cjs/SubHeader.js +6 -3
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js +1 -0
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/package.json +2 -2
- package/src/translations/en.json +3 -0
- package/types/MobilePreviewHeader.d.ts +17 -0
- package/types/StatusDropdown.d.ts +72 -0
package/dist/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../src/components/Sidebar/Components/Header.jsx","../src/components/Sidebar/Components/Links/index.jsx","../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let appHomePath = homePath;\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n appHomePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={appHomePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent, isPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport { SELECTED_NAV_LINK_ROUTE_STORAGE_KEY } from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n findCurrentConfigureNavLink,\n getSidebarStateLocalStorageKey,\n} from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n homePath = \"/\",\n}) => {\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = findCurrentConfigureNavLink({ navLinks, location });\n if (settingsNavLink?.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","appHomePath","neetoApps","thisApp","findBy","name","url","URL","pathname","_jsx","className","children","Link","to","onClick","memo","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","_navLink$count","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","_jsxs","Fragment","CheckPointNavLinks","_objectSpread","activeClassName","hyphenate","isPresent","Typography","component","style","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","_ref$homePath","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","findCurrentConfigureNavLink","push","buildUrl","activeLink","useMemo","find","link","isSelectedNavLinkVisible","SelectedLink","Button","Chevron","tooltipProps","content","position"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../src/components/Sidebar/Components/Header.jsx","../src/components/Sidebar/Components/Links/index.jsx","../src/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let appHomePath = homePath;\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n appHomePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={appHomePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { Fragment, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent, isPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"neeto-molecules-sidebar__link-unread-count\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label neeto-ui-flex-grow flex items-center gap-1\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport { SELECTED_NAV_LINK_ROUTE_STORAGE_KEY } from \"./constants\";\nimport \"./sidebar.scss\";\nimport {\n findCurrentConfigureNavLink,\n getSidebarStateLocalStorageKey,\n} from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n homePath = \"/\",\n}) => {\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = findCurrentConfigureNavLink({ navLinks, location });\n if (settingsNavLink?.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n icon={() => <Chevron />}\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n touch: [\"hold\", 500],\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","appHomePath","neetoApps","thisApp","findBy","name","url","URL","pathname","_jsx","className","children","Link","to","onClick","memo","renderCount","count","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","_navLink$count","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","_jsxs","Fragment","CheckPointNavLinks","_objectSpread","activeClassName","hyphenate","isPresent","Typography","component","style","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","_ref$homePath","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","findCurrentConfigureNavLink","push","buildUrl","activeLink","useMemo","find","link","isSelectedNavLinkVisible","SelectedLink","Button","Chevron","tooltipProps","content","position","touch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAmD;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAAA,EAAA,IAA7CC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAA;EACtD,IAAMC,WAAW,GAAGC,WAAW,CAACC,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAAA;AACjD,EAAA,IAAMC,QAAQ,GAAA,OAAA,CAAAC,MAAA,CAAWC,UAAU,CAACN,WAAW,CAACO,WAAW,EAAE,CAAC,CAAE,CAAA;AAChE,EAAA,IAAMC,mBAAmB,GAAA,CAAAZ,qBAAA,GAAGa,QAAoB,CAACL,QAAQ,CAAC,MAAAR,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAIc,KAAK,CAAA;EACnE,IAAMC,aAAa,GAAGd,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAIW,mBAAmB,CAAA;AAEvD,EAAA,IAAAI,kBAAA,GAAiBC,iBAAiB,EAAE;IAA5BC,IAAI,GAAAF,kBAAA,CAAJE,IAAI,CAAA;EAEZ,IAAIC,WAAW,GAAGhB,QAAQ,CAAA;AAC1B,EAAA,IAAIe,IAAI,KAAJA,IAAAA,IAAAA,IAAI,eAAJA,IAAI,CAAEE,SAAS,EAAE;IACnB,IAAMC,OAAO,GAAGC,MAAM,CAAC;AAAEC,MAAAA,IAAI,EAAEnB,WAAAA;AAAY,KAAC,EAAEc,IAAI,CAACE,SAAS,CAAC,CAAA;AAC7D,IAAA,IAAIC,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEG,GAAG,EAAE;AAChBL,MAAAA,WAAW,GAAG,IAAIM,GAAG,CAACJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEG,GAAG,CAAC,CAACE,QAAQ,CAAA;AAC9C,KAAA;AACF,GAAA;AAEA,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,wEAAwE;AAClF,IAAA,SAAA,EAAQ,cAAc;IAAAC,QAAA,eAEtBF,GAAA,CAACG,IAAI,EAAA;AACHF,MAAAA,SAAS,EAAC,+CAA+C;AACzDG,MAAAA,EAAE,EAAEZ,WAAY;AAChBa,MAAAA,OAAO,EAAE9B,gBAAiB;AAAA2B,MAAAA,QAAA,eAE1BF,GAAA,CAACZ,aAAa,EAAE,EAAA,CAAA;KACZ,CAAA;AAAC,GACJ,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,eAAekB,aAAAA,IAAI,CAACnC,MAAM,CAAC;;;;;AC1B3B,IAAMoC,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAAKA,KAAK,GAAG,GAAG,GAAG,MAAM,GAAGA,KAAK,CAAA;AAAA,CAAC,CAAA;AAE3D,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAArC,IAAA,EAIL;AAAA,EAAA,IAHJsC,QAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IACSC,yBAAyB,GAAAvC,IAAA,CAA1CwC,eAAe;IACfC,uBAAuB,GAAAzC,IAAA,CAAvByC,uBAAuB,CAAA;AAEvB,EAAA,IAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,IAAAC,SAAA,GAAwDC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/DI,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,uBAAuB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpD,EAAA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAA4C;AAAA,IAAA,IAAtCC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;MAAEC,KAAK,GAAAH,KAAA,CAALG,KAAK;MAAEC,OAAO,GAAAJ,KAAA,CAAPI,OAAO,CAAA;AAC3D,IAAA,IAAIC,YAAY,CAACF,KAAK,CAAC,EAAE,OAAA;IAEzB,IAAIC,OAAO,CAACE,kBAAkB,IAAIC,UAAU,CAACH,OAAO,CAACD,KAAK,CAAC,EAAE;AAC3Db,MAAAA,uBAAuB,CAACc,OAAO,CAACvB,EAAE,CAAC,CAAA;AACrC,KAAA;IAEA,IAAIqB,QAAQ,EAAE,EAAE;MACdJ,uBAAuB,CAACU,GAAG,CAAC,CAAA;MAC5BP,KAAK,CAACQ,cAAc,EAAE,CAAA;AAEtB,MAAA,OAAA;AACF,KAAA;IAEAX,uBAAuB,CAAC,IAAI,CAAC,CAAA;GAC9B,CAAA;AAED,EAAA,oBACErB,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uEAAuE;AAAAC,IAAAA,QAAA,EACnFQ,QAAQ,CAACuB,MAAM,CAACC,mBAAmB,CAAC,CAACC,GAAG,CAAC,UAACR,OAAO,EAAES,KAAK,EAAK;AAC5D,MAAA,IACEC,KAAK,GAQHV,OAAO,CARTU,KAAK;QACLjC,EAAE,GAOAuB,OAAO,CAPTvB,EAAE;QACFkC,IAAI,GAMFX,OAAO,CANTW,IAAI;QACJZ,KAAK,GAKHC,OAAO,CALTD,KAAK;QACLG,kBAAkB,GAIhBF,OAAO,CAJTE,kBAAkB;QAAAU,qBAAA,GAIhBZ,OAAO,CAHTf,eAAe;AAAfA,QAAAA,eAAe,GAAA2B,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;QAAAC,cAAA,GAGrBb,OAAO,CAFTnB,KAAK;AAALA,QAAAA,KAAK,GAAAgC,cAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,cAAA;AACTC,QAAAA,UAAU,GAAAC,wBAAA,CACXf,OAAO,EAAAgB,SAAA,CAAA,CAAA;MACX,IAAMC,OAAO,GAAGN,IAAI,CAAA;AACpB,MAAA,IAAMzC,GAAG,GAAG,IAAIC,GAAG,CAACM,EAAE,EAAEyC,MAAM,CAAC/B,QAAQ,CAACgC,IAAI,CAAC,CAAA;AAC7C,MAAA,IAAMrB,QAAQ,GAAG,SAAXA,QAAQA,GAAA;QAAA,OACZsB,EAAE,CAACC,QAAQ,EAAEP,UAAU,CAAChB,QAAQ,CAAC,GAC7BgB,UAAU,CAAChB,QAAQ,EAAE,GACrBX,QAAQ,CAACf,QAAQ,CAACkD,UAAU,CAACpD,GAAG,CAACE,QAAQ,CAAC,CAAA;AAAA,OAAA,CAAA;MAEhD,IAAMmD,cAAc,GAClBzB,QAAQ,EAAE,IAAIL,oBAAoB,IAAI,CAACT,yBAAyB,CAAA;MAElE,oBACEwC,IAAA,CAACC,QAAQ,EAAA;AAAAlD,QAAAA,QAAA,gBACPiD,IAAA,CAACE,kBAAkB,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACjBC,UAAAA,eAAe,EAAC,QAAQ;AACxBtD,UAAAA,SAAS,EAAC,8GAA8G;AACxH,UAAA,aAAA,EAAA,UAAA,CAAAnB,MAAA,CAAwB0E,SAAS,CAACnB,KAAK,CAAC,CAAG;UAC3ChC,OAAO,EAAE,SAAAA,OAAAA,CAAAmB,KAAK,EAAA;AAAA,YAAA,OACZF,kBAAkB,CAAC;AAAEE,cAAAA,KAAK,EAALA,KAAK;AAAEC,cAAAA,QAAQ,EAARA,QAAQ;AAAEC,cAAAA,KAAK,EAALA,KAAK;AAAEC,cAAAA,OAAO,EAAPA,OAAAA;AAAQ,aAAC,CAAC,CAAA;AAAA,WAAA;AACxD,SAAA,EAAA2B,aAAA,CAAA;AACK7B,UAAAA,QAAQ,EAARA,QAAQ;AAAErB,UAAAA,EAAE,EAAFA,EAAAA;AAAE,SAAA,EAAKqC,UAAU,CAAA,CAAA,EAAA,EAAA,EAAA;UAAAvC,QAAA,EAAA,CAEhCoC,IAAI,iBACHa,IAAA,CAAA,MAAA,EAAA;AACElD,YAAAA,SAAS,EAAC,oCAAoC;AAC9C,YAAA,aAAA,EAAaoC,KAAM;AAAAnC,YAAAA,QAAA,EAEnBF,cAAAA,GAAA,CAAC4C,OAAO,IAAE,CAAC,EACVa,SAAS,CAACjD,KAAK,CAAC,IAAI,CAACI,eAAe,iBACnCZ,GAAA,CAAA,MAAA,EAAA;AAAMC,cAAAA,SAAS,EAAC,4CAA4C;cAAAC,QAAA,EACzDK,WAAW,CAACC,KAAK,CAAA;AAAC,aACf,CACP,CAAA;AAAA,WACG,CACP,eACDR,GAAA,CAAC0D,UAAU,EAAA;AACTzD,YAAAA,SAAS,EAAC,gFAAgF;AAC1F0D,YAAAA,SAAS,EAAC,MAAM;AAChBC,YAAAA,KAAK,EAAC,OAAO;AAAA1D,YAAAA,QAAA,EAEZmC,KAAAA;AAAK,WACI,CAAC,EACZX,KAAK,IAAI,CAACG,kBAAkB,iBAC3B7B,GAAA,CAAA,MAAA,EAAA;AACEC,YAAAA,SAAS,EAAE4D,UAAU,CACnB,8EAA8E,EAC9E;AACE,cAAA,4CAA4C,EAC1CX,cAAAA;AACJ,aACF,CAAE;YAAAhD,QAAA,eAEFF,GAAA,CAAC8D,IAAI,EAAA;AAACC,cAAAA,IAAI,EAAE,EAAA;aAAK,CAAA;AAAC,WACd,CACP,CAAA;AAAA,SAAA,CACiB,CAAC,EACpBrC,KAAK,IAAI,CAACG,kBAAkB,IAAIqB,cAAc,iBAC7ClD,GAAA,CAACgE,KAAK,EAAAV,aAAA,KAAAA,aAAA,CAAA;AAAO1C,UAAAA,eAAe,EAAfA,eAAe;AAAEc,UAAAA,KAAK,EAALA,KAAAA;SAAUe,EAAAA,UAAU,EAAK,CACxD,CAAA;AAAA,OAAA,EA9CYL,KA+CL,CAAC,CAAA;KAEd,CAAA;AAAC,GACC,CAAC,CAAA;AAEV,CAAC;;AC9FD,IAAM6B,OAAO,GAAG,SAAVA,OAAOA,CAAA7F,IAAA,EAKP;AAAA,EAAA,IAJJsC,QAAQ,GAAAtC,IAAA,CAARsC,QAAQ;IACRpC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAA4F,oBAAA,GAAA9F,IAAA,CACVwC,eAAe;AAAfA,IAAAA,eAAe,GAAAsD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAC,aAAA,GAAA/F,IAAA,CACvBI,QAAQ;AAARA,IAAAA,QAAQ,GAAA2F,aAAA,KAAG,KAAA,CAAA,GAAA,GAAG,GAAAA,aAAA,CAAA;AAEd,EAAA,IAAAnD,SAAA,GAAkDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1DoD,IAAAA,iBAAiB,GAAAlD,UAAA,CAAA,CAAA,CAAA;AAAEmD,IAAAA,oBAAoB,GAAAnD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAoD,gBAAA,GAAwDC,eAAe,CACrEC,mCAAmC,EACnC,IACF,CAAC;IAAAC,iBAAA,GAAAtD,cAAA,CAAAmD,gBAAA,EAAA,CAAA,CAAA;AAHMI,IAAAA,oBAAoB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAE5D,IAAAA,uBAAuB,GAAA4D,iBAAA,CAAA,CAAA,CAAA,CAAA;EAKpD,IAAAE,iBAAA,GAAoDJ,eAAe,CACjEK,8BAA8B,EAAE,EAChC,KACF,CAAC;IAAAC,iBAAA,GAAA1D,cAAA,CAAAwD,iBAAA,EAAA,CAAA,CAAA;AAHMG,IAAAA,kBAAkB,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,qBAAqB,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AAKhD,EAAA,IAAM/D,QAAQ,GAAGC,WAAW,EAAE,CAAA;AAC9B,EAAA,IAAMiE,OAAO,GAAGC,UAAU,EAAE,CAAA;AAC5B,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,IAAA,OAASxC,MAAM,CAACyC,UAAU,GAAG,GAAG,CAAA;AAAA,GAAA,CAAA;EACpD,IAAMC,eAAe,GAAGF,cAAc,EAAE,GACpCP,kBAAkB,GAClB/C,GAAG,CAACqC,iBAAiB,CAAC,CAAA;AAE1BoB,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAI,CAAC/B,SAAS,CAAC/C,QAAQ,CAAC,EAAE,OAAA;AAC1B,IAAA,IAAM+E,WAAW,GAAGC,QAAQ,CAAC,UAAAnE,KAAA,EAAsB;AAAA,MAAA,IAAnBnB,EAAE,GAAAmB,KAAA,CAAFnB,EAAE;QAAEqB,QAAQ,GAAAF,KAAA,CAARE,QAAQ,CAAA;AAC1C,MAAA,IAAM5B,GAAG,GAAG,IAAIC,GAAG,CAACM,EAAE,EAAEyC,MAAM,CAAC/B,QAAQ,CAACgC,IAAI,CAAC,CAAA;MAE7C,OAAOC,EAAE,CAACC,QAAQ,EAAEvB,QAAQ,CAAC,GACzBA,QAAQ,EAAE,GACVX,QAAQ,CAACf,QAAQ,CAAC4F,QAAQ,CAAC9F,GAAG,CAACE,QAAQ,CAAC,CAAA;KAC7C,CAAC,CAACW,QAAQ,CAAC,CAAA;AAEZ,IAAA,IAAI+C,SAAS,CAACgC,WAAW,CAAC,EAAE;MAC1B5E,uBAAuB,CACrB4E,WAAW,CAAC5D,kBAAkB,GAAG4D,WAAW,CAACrF,EAAE,GAAG,IACpD,CAAC,CAAA;AACH,KAAA;GACD,EAAE,EAAE,CAAC,CAAA;AAENoF,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMI,YAAY,GAAG,SAAfA,YAAYA,GAAS;MACzB,IAAIP,cAAc,EAAE,EAAE,OAAA;MACtBhB,oBAAoB,CAAC,KAAK,CAAC,CAAA;MAC3BU,qBAAqB,CAAC,IAAI,CAAC,CAAA;KAC5B,CAAA;AACDlC,IAAAA,MAAM,CAACgD,gBAAgB,CAAC,QAAQ,EAAED,YAAY,CAAC,CAAA;IAE/C,OAAO,YAAA;AAAA,MAAA,OAAM/C,MAAM,CAACiD,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC,CAAA;AAAA,KAAA,CAAA;GAChE,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAGvE,KAAK,EAAI;IAC5BA,KAAK,CAACQ,cAAc,EAAE,CAAA;IACtBnB,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC7B,IAAMmF,eAAe,GAAGC,2BAA2B,CAAC;AAAEvF,MAAAA,QAAQ,EAARA,QAAQ;AAAEI,MAAAA,QAAQ,EAARA,QAAAA;AAAS,KAAC,CAAC,CAAA;AAC3E,IAAA,IAAIkF,eAAe,KAAfA,IAAAA,IAAAA,eAAe,eAAfA,eAAe,CAAE5F,EAAE,EAAE;MACvB4E,OAAO,CAACkB,IAAI,CAACC,QAAQ,CAACH,eAAe,CAAC5F,EAAE,CAAC,CAAC,CAAA;AAC5C,KAAA;GACD,CAAA;EAED,IAAMgG,UAAU,GAAGC,OAAO,CACxB,YAAA;AAAA,IAAA,OACE3F,QAAQ,CAAC4F,IAAI,CAAC,UAAAC,IAAI,EAAI;AACpB,MAAA,IAAIxD,EAAE,CAACC,QAAQ,EAAEuD,IAAI,CAAC9E,QAAQ,CAAC,EAAE,OAAO8E,IAAI,CAAC9E,QAAQ,EAAE,CAAA;AACvD,MAAA,IAAM5B,GAAG,GAAG,IAAIC,GAAG,CAACyG,IAAI,CAACnG,EAAE,EAAEyC,MAAM,CAAC/B,QAAQ,CAACgC,IAAI,CAAC,CAAA;MAElD,OAAOhC,QAAQ,CAACf,QAAQ,CAACkD,UAAU,CAACpD,GAAG,CAACE,QAAQ,CAAC,CAAA;AACnD,KAAC,CAAC,CAAA;AAAA,GAAA,EACJ,CAACe,QAAQ,CAACf,QAAQ,EAAEW,QAAQ,CAC9B,CAAC,CAAA;AAED,EAAA,IAAM8F,wBAAwB,GAC5B9B,oBAAoB,IACpB,CAAA0B,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEhG,EAAE,MAAKsE,oBAAoB,IACvC5C,UAAU,CAACpB,QAAQ,CAAC,CAAA;AAEtB,EAAA,oBACEyC,IAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,mBAAmB;AAC/BlD,IAAAA,SAAS,EAAE4D,UAAU,CAAC,kCAAkC,EAAE;MACxD,6CAA6C,EAAEwB,cAAc,EAAE,GAC3DP,kBAAkB,GAClB/C,GAAG,CAACqC,iBAAiB,CAAA;AAC3B,KAAC,CAAE;AAAAlE,IAAAA,QAAA,gBAEHF,GAAA,CAAA,KAAA,EAAA;AACEC,MAAAA,SAAS,EAAC,mCAAmC;MAC7CI,OAAO,EAAE,SAAAA,OAAAA,GAAM;QACbgE,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC3BxD,uBAAuB,CAAC,IAAI,CAAC,CAAA;AAC/B,OAAA;KACD,CAAC,eACFsC,IAAA,CAAA,KAAA,EAAA;AACE,MAAA,SAAA,EAAQ,iBAAiB;AACzB,MAAA,aAAA,EAAY,SAAS;AACrBlD,MAAAA,SAAS,EAAE4D,UAAU,CACnB,oIAAoI,EACpI;QACE,qCAAqC,EACnCJ,SAAS,CAACiB,oBAAoB,CAAA;AAClC,OACF,CAAE;MAAAxE,QAAA,EAAA,cAEFF,GAAA,CAAC7B,QAAM,EAAA;AACCG,QAAAA,UAAU,EAAVA,UAAU;AAAEE,QAAAA,QAAQ,EAARA,QAAQ;QAC1BD,gBAAgB,EAAE,SAAAA,gBAAA,GAAA;UAAA,OAAMsC,uBAAuB,CAAC,IAAI,CAAC,CAAA;AAAA,SAAA;AAAC,OACvD,CAAC,EACD2F,wBAAwB,gBACvBxG,GAAA,CAACyG,YAAY,EAAA;AAAOV,QAAAA,YAAY,EAAZA,YAAY;AAAIpE,QAAAA,OAAO,EAAEyE,UAAAA;AAAW,OAAE,CAAC,gBAE3DpG,GAAA,CAACS,KAAK,EAAA;AAAOG,QAAAA,eAAe,EAAfA,eAAe;AAAEF,QAAAA,QAAQ,EAARA,QAAQ;AAAEG,QAAAA,uBAAuB,EAAvBA,uBAAAA;AAAuB,OAAK,CACrE,CAAA;AAAA,KACE,CAAC,eACNb,GAAA,CAAC0G,MAAM,EAAA;AACLzG,MAAAA,SAAS,EAAC,kCAAkC;AAC5C,MAAA,SAAA,EAAQ,iCAAiC;AACzC,MAAA,aAAA,EAAY,sBAAsB;MAClCqC,IAAI,EAAE,SAAAA,IAAA,GAAA;AAAA,QAAA,oBAAMtC,GAAA,CAAC2G,OAAO,EAAA,EAAE,CAAC,CAAA;OAAC;AACxB/C,MAAAA,KAAK,EAAEyB,cAAc,EAAE,GAAG,MAAM,GAAG,WAAY;AAC/CuB,MAAAA,YAAY,EAAE;QACZC,OAAO,EAAEtB,eAAe,GACpBH,CAAC,CAAC,iCAAiC,CAAC,GACpCA,CAAC,CAAC,iCAAiC,CAAC;AACxC0B,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;OACnB;MACF1G,OAAO,EAAE,SAAAA,OAAAA,GAAM;QACb0E,qBAAqB,CAAC,CAACD,kBAAkB,CAAC,CAAA;QAC1CT,oBAAoB,CAACtC,GAAG,CAAC,CAAA;AAC3B,OAAA;AAAE,KACH,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV;;;;"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { _findBy } from '@bigbinary/neeto-cist';
|
|
3
|
+
import Dropdown from '@bigbinary/neetoui/Dropdown';
|
|
4
|
+
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
5
|
+
import { memo } from 'react';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
import { n } from './inject-css-c86de496.js';
|
|
8
|
+
import Down from '@bigbinary/neeto-icons/Down';
|
|
9
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
10
|
+
|
|
11
|
+
var NeetoUIMenu = Dropdown.Menu,
|
|
12
|
+
MenuItem = Dropdown.MenuItem;
|
|
13
|
+
var Menu = function Menu(_ref) {
|
|
14
|
+
var onItemClick = _ref.onItemClick,
|
|
15
|
+
options = _ref.options,
|
|
16
|
+
_ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
|
|
17
|
+
shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt,
|
|
18
|
+
_ref$hiddenStatuses = _ref.hiddenStatuses,
|
|
19
|
+
hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses;
|
|
20
|
+
var allowedOptions = shouldShowAllOptions ? options : options.filter(function (status) {
|
|
21
|
+
return !hiddenStatuses.includes(status.value);
|
|
22
|
+
});
|
|
23
|
+
return /*#__PURE__*/jsx(NeetoUIMenu, {
|
|
24
|
+
"data-testid": "status-dropdown-menu",
|
|
25
|
+
children: allowedOptions === null || allowedOptions === void 0 ? void 0 : allowedOptions.map(function (option) {
|
|
26
|
+
return /*#__PURE__*/jsx(MenuItem.Button, {
|
|
27
|
+
className: "status-dropdown-item--".concat(option.color),
|
|
28
|
+
"data-testid": "status-dropdown-item-".concat(option.value),
|
|
29
|
+
onClick: function onClick() {
|
|
30
|
+
return onItemClick(option);
|
|
31
|
+
},
|
|
32
|
+
children: option.label
|
|
33
|
+
}, option.value);
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
var Menu$1 = /*#__PURE__*/memo(Menu);
|
|
38
|
+
|
|
39
|
+
var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:255,204,112;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.status-dropdown-target--open{background-color:#e2f1ff;background-color:rgb(var(--neeto-molecules-status-bg-open));color:#095aba;color:rgb(var(--neeto-molecules-status-color-open))}.status-dropdown-target--done{background-color:#faf1e1;background-color:rgb(var(--neeto-molecules-status-bg-done));color:#bd640d;color:rgb(var(--neeto-molecules-status-color-done))}.status-dropdown-target--waiting{background-color:#e9ebed;background-color:rgb(var(--neeto-molecules-status-bg-waiting));color:#2f3941;color:rgb(var(--neeto-molecules-status-color-waiting))}.status-dropdown-target--red{background-color:#feecf0;background-color:rgb(var(--neeto-molecules-status-bg-red));color:#bb121a;color:rgb(var(--neeto-molecules-status-color-red))}.status-dropdown-target--yellow{background-color:#fff7e9;background-color:rgb(var(--neeto-molecules-status-bg-yellow));color:#ffcc70;color:rgb(var(--neeto-molecules-status-color-yellow))}.status-dropdown-target--violet{background-color:#ebdeff;background-color:rgb(var(--neeto-molecules-status-bg-violet));color:#9d62a2;color:rgb(var(--neeto-molecules-status-color-violet))}.status-dropdown-target--pink{background-color:#fee9ff;background-color:rgb(var(--neeto-molecules-status-bg-pink));color:#e13ee6;color:rgb(var(--neeto-molecules-status-color-pink))}.status-dropdown-target--teal{background-color:#e4f4ff;background-color:rgb(var(--neeto-molecules-status-bg-teal));color:#26577c;color:rgb(var(--neeto-molecules-status-color-teal))}.status-dropdown-target--cyan{background-color:#e0fffe;background-color:rgb(var(--neeto-molecules-status-bg-cyan));color:#42a09d;color:rgb(var(--neeto-molecules-status-color-cyan))}.status-dropdown-target--green{background-color:#e0f4ee;background-color:rgb(var(--neeto-molecules-status-bg-green));color:#107154;color:rgb(var(--neeto-molecules-status-color-green))}.status-dropdown-item--open{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow{color:#ffcc70!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
|
|
40
|
+
n(css,{});
|
|
41
|
+
|
|
42
|
+
var ICON_SIZE = 16;
|
|
43
|
+
|
|
44
|
+
var Target = function Target(_ref) {
|
|
45
|
+
var color = _ref.color,
|
|
46
|
+
label = _ref.label;
|
|
47
|
+
var targetClassName = "neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color);
|
|
48
|
+
return /*#__PURE__*/jsxs("div", {
|
|
49
|
+
className: targetClassName,
|
|
50
|
+
"data-testid": "status-dropdown",
|
|
51
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
52
|
+
className: "inline",
|
|
53
|
+
style: "body2",
|
|
54
|
+
children: label
|
|
55
|
+
}), /*#__PURE__*/jsx(Down, {
|
|
56
|
+
className: "ml-2 inline",
|
|
57
|
+
size: ICON_SIZE
|
|
58
|
+
})]
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
var Target$1 = /*#__PURE__*/memo(Target);
|
|
62
|
+
|
|
63
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
64
|
+
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; }
|
|
65
|
+
var StatusDropdown = function StatusDropdown(_ref) {
|
|
66
|
+
var _ref$disabled = _ref.disabled,
|
|
67
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
68
|
+
_ref$hiddenStatuses = _ref.hiddenStatuses,
|
|
69
|
+
hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses,
|
|
70
|
+
_ref$isLoading = _ref.isLoading,
|
|
71
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
72
|
+
onItemClick = _ref.onItemClick,
|
|
73
|
+
options = _ref.options,
|
|
74
|
+
selectedValue = _ref.selectedValue,
|
|
75
|
+
_ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
|
|
76
|
+
shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt;
|
|
77
|
+
var selectedOption = _findBy({
|
|
78
|
+
value: selectedValue
|
|
79
|
+
}, options);
|
|
80
|
+
return /*#__PURE__*/jsx(Dropdown, {
|
|
81
|
+
disabled: disabled,
|
|
82
|
+
customTarget: function customTarget() {
|
|
83
|
+
return /*#__PURE__*/jsx(Target$1, _objectSpread({
|
|
84
|
+
label: selectedValue
|
|
85
|
+
}, selectedOption));
|
|
86
|
+
},
|
|
87
|
+
strategy: "fixed",
|
|
88
|
+
children: isLoading ? /*#__PURE__*/jsx("div", {
|
|
89
|
+
className: "flex w-full items-center justify-center py-8",
|
|
90
|
+
children: /*#__PURE__*/jsx(Spinner, {})
|
|
91
|
+
}) : /*#__PURE__*/jsx(Menu$1, {
|
|
92
|
+
hiddenStatuses: hiddenStatuses,
|
|
93
|
+
onItemClick: onItemClick,
|
|
94
|
+
options: options,
|
|
95
|
+
shouldShowAllOptions: shouldShowAllOptions
|
|
96
|
+
})
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
StatusDropdown.Menu = Menu$1;
|
|
100
|
+
|
|
101
|
+
export { StatusDropdown as default };
|
|
102
|
+
//# sourceMappingURL=StatusDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({ color, label }) => {\n const targetClassName = `neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--${color}`;\n\n return (\n <div className={targetClassName} data-testid=\"status-dropdown\">\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n <Down className=\"ml-2 inline\" size={ICON_SIZE} />\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions = false,\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n customTarget={() => <Target label={selectedValue} {...selectedOption} />}\n strategy=\"fixed\"\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","onClick","label","memo","ICON_SIZE","Target","targetClassName","_jsxs","Typography","style","Down","size","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","selectedValue","selectedOption","_findBy","customTarget","_objectSpread","strategy","Spinner"],"mappings":"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"}
|
package/dist/SubHeader.js
CHANGED
|
@@ -74,7 +74,8 @@ var Columns = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
74
74
|
label: null,
|
|
75
75
|
tooltipProps: {
|
|
76
76
|
content: t("neetoMolecules.columns.columns"),
|
|
77
|
-
position: "bottom"
|
|
77
|
+
position: "bottom",
|
|
78
|
+
touch: ["hold", 500]
|
|
78
79
|
},
|
|
79
80
|
"data-testid": "columns-button",
|
|
80
81
|
"data-cy": "columns-dropdown-button"
|
|
@@ -105,7 +106,8 @@ var DownloadButton = withT(function (_ref) {
|
|
|
105
106
|
style: "text",
|
|
106
107
|
tooltipProps: {
|
|
107
108
|
content: t("neetoMolecules.common.download"),
|
|
108
|
-
position: "bottom"
|
|
109
|
+
position: "bottom",
|
|
110
|
+
touch: ["hold", 500]
|
|
109
111
|
}
|
|
110
112
|
}), count && /*#__PURE__*/jsx("span", {
|
|
111
113
|
className: "neeto-molecules-subheader__download-count",
|
|
@@ -130,7 +132,8 @@ var FilterButton = withT(function (_ref) {
|
|
|
130
132
|
style: "text",
|
|
131
133
|
tooltipProps: {
|
|
132
134
|
content: t("neetoMolecules.common.filter"),
|
|
133
|
-
position: "bottom"
|
|
135
|
+
position: "bottom",
|
|
136
|
+
touch: ["hold", 500]
|
|
134
137
|
},
|
|
135
138
|
label: null
|
|
136
139
|
}, buttonProps)
|
package/dist/SubHeader.js.map
CHANGED
|
@@ -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 { 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 { withT } from \"neetocommons/react-utils\";\nimport { Download } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nconst DownloadButton = withT(\n ({ t, count, onClick, \"data-cy\": dataCy = \"download-button\" }) => (\n <div className=\"neeto-molecules-subheader__download\">\n <Button\n {...{ onClick }}\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 />\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 { withT } from \"neetocommons/react-utils\";\nimport { Filters as NeetoFilters } from \"neetofilters\";\nimport { Filter } from \"neetoicons\";\n\nconst FilterButton = withT(({ t, buttonProps, ...props }) => (\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\nexport default FilterButton;\n","import 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 { 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","_jsx","className","children","ManageColumns","_objectSpread","isSearchable","actionBlock","_jsxs","Button","label","style","onClick","icon","Column","tooltipProps","content","position","displayName","DownloadButton","withT","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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"}
|
|
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 { 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 touch: [\"hold\", 500],\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 { withT } from \"neetocommons/react-utils\";\nimport { Download } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nconst DownloadButton = withT(\n ({ t, count, onClick, \"data-cy\": dataCy = \"download-button\" }) => (\n <div className=\"neeto-molecules-subheader__download\">\n <Button\n {...{ onClick }}\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 touch: [\"hold\", 500],\n }}\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 { withT } from \"neetocommons/react-utils\";\nimport { Filters as NeetoFilters } from \"neetofilters\";\nimport { Filter } from \"neetoicons\";\n\nconst FilterButton = withT(({ t, buttonProps, ...props }) => (\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 touch: [\"hold\", 500],\n },\n label: null,\n ...buttonProps,\n }}\n {...props}\n />\n </div>\n));\n\nexport default FilterButton;\n","import 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 { 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","_jsx","className","children","ManageColumns","_objectSpread","isSearchable","actionBlock","_jsxs","Button","label","style","onClick","icon","Column","tooltipProps","content","position","touch","displayName","DownloadButton","withT","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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"}
|
|
@@ -132,6 +132,7 @@ var ToggleFeatureCard = function ToggleFeatureCard(_ref) {
|
|
|
132
132
|
});
|
|
133
133
|
return /*#__PURE__*/jsxs("div", {
|
|
134
134
|
id: id,
|
|
135
|
+
"data-cy": "feature-card-container",
|
|
135
136
|
"data-testid": "toggle-feature-card",
|
|
136
137
|
ref: cardRef,
|
|
137
138
|
className: classnames("neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleFeatureCard.js","sources":["../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => {\n const tooltipContent = enabledCondition\n ? tooltipProps.enabledSwitchText\n : tooltipProps.disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...tooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","tooltipContent","enabledSwitchText","disabledSwitchText","_jsx","Tooltip","_objectSpread","content","disabled","position","children","FormikSwitch","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","inputProps","_ref$switchProps","switchProps","_useTranslation","useTranslation","t","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","_jsxs","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","icon","Edit","size","type","editButtonTooltip","onClick","Input","autoFocus","dataCy","label","placeholder","suffix","Close"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToggleFeatureCard.js","sources":["../src/components/ToggleFeatureCard/hooks/useScrollIntoView.js","../src/components/ToggleFeatureCard/ToolTipSwitch.jsx","../src/components/ToggleFeatureCard/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useScrollIntoView = ({ elementId, trigger }) => {\n useEffect(() => {\n if (!trigger) return;\n document.getElementById(elementId)?.scrollIntoView();\n }, [trigger]);\n};\n\nexport default useScrollIntoView;\n","import { Tooltip } from \"neetoui\";\nimport { Switch as FormikSwitch } from \"neetoui/formik\";\n\nconst TooltipSwitch = ({\n enabledCondition,\n name = \"\",\n isDisabled = false,\n switchDataCy,\n tooltipProps = {},\n ...otherProps\n}) => {\n const tooltipContent = enabledCondition\n ? tooltipProps.enabledSwitchText\n : tooltipProps.disabledSwitchText;\n\n return (\n <Tooltip\n content={tooltipContent}\n disabled={!tooltipContent}\n position=\"top\"\n {...tooltipProps}\n >\n <span>\n <FormikSwitch\n data-cy={switchDataCy}\n data-testid=\"toggle-feature-card-switch\"\n disabled={isDisabled}\n {...{ name, ...otherProps }}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default TooltipSwitch;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { slugify } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Edit, Close } from \"neetoicons\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZES } from \"./constants\";\nimport useScrollIntoView from \"./hooks/useScrollIntoView\";\nimport \"./toggleFeatureCard.scss\";\nimport TooltipSwitch from \"./ToolTipSwitch\";\n\nconst ToggleFeatureCard = ({\n title = \"\",\n description = null,\n switchName = \"switch\",\n titleDataCy = \"\",\n switchDataCy = \"\",\n descriptionDataCy = \"\",\n isDisabled = false,\n children = null,\n inputProps,\n switchProps = {},\n}) => {\n const { t } = useTranslation();\n const cardRef = useRef();\n const id = slugify(title);\n\n const [isEditing, setIsEditing] = useState(false);\n\n const { setFieldValue, values, submitCount, errors, initialValues } =\n useFormikContext();\n\n useEffect(() => {\n if (!(submitCount >= 1 && isEmpty(errors))) return;\n setIsEditing(false);\n }, [submitCount]);\n\n useEffect(() => {\n if (isEmpty(errors)) return;\n setIsEditing(true);\n }, [values, errors]);\n\n const [shouldHighlight, setShouldHighlight] = useState(\n location.hash.split(\"#\")[1] === id\n );\n\n const hasInput = values?.[switchName] && inputProps?.name;\n const enabledCondition = values?.[switchName];\n\n const handleInputReset = () => {\n setIsEditing(false);\n hasInput &&\n setFieldValue(inputProps?.name, initialValues?.[inputProps?.name]);\n };\n\n useOnClickOutside(cardRef, () => setShouldHighlight(false));\n\n useScrollIntoView({ elementId: id, trigger: shouldHighlight });\n\n const inputRef = useHotkeys(\"enter\", () => setIsEditing(false), {\n mode: \"scoped\",\n });\n\n return (\n <div\n {...{ id }}\n data-cy=\"feature-card-container\"\n data-testid=\"toggle-feature-card\"\n ref={cardRef}\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg flex flex-col space-y-2 border p-4\",\n { \"neeto-ui-border-gray-300\": !shouldHighlight },\n { \"toggle-feature-card--highlighted\": shouldHighlight }\n )}\n >\n <Label className=\"flex flex-row items-center gap-2\">\n <TooltipSwitch\n {...{\n enabledCondition,\n isDisabled,\n switchDataCy,\n ...switchProps,\n }}\n name={switchName}\n />\n <Typography\n component=\"span\"\n data-cy={titleDataCy}\n data-testid=\"toggle-feature-card-title\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </Label>\n <Typography\n className=\"mb-4 whitespace-pre-line\"\n data-cy={descriptionDataCy}\n data-testid=\"toggle-feature-card-description\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {hasInput && !isEditing && (\n <div className=\"m-0 flex flex-row items-center space-x-2\">\n {inputProps?.display}\n <Button\n data-cy={inputProps?.editButtonDataCy}\n data-testid=\"toggle-feature-card-input-display-edit\"\n icon={Edit}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n tooltipProps={{\n content:\n inputProps?.editButtonTooltip ||\n t(\n \"neetoMolecules.toggleFeatureCard.input.editButtonDefaultTooltip\"\n ),\n position: \"right\",\n }}\n onClick={() => setIsEditing(true)}\n />\n </div>\n )}\n {hasInput && isEditing && (\n <Input\n autoFocus\n data-cy={inputProps?.dataCy}\n data-testid=\"toggle-feature-card-input-field\"\n label={inputProps?.label}\n name={inputProps?.name}\n placeholder={inputProps?.placeholder}\n ref={inputRef}\n size=\"medium\"\n suffix={\n <Button\n data-testid=\"toggle-feature-card-input-reset\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={handleInputReset}\n />\n }\n {...inputProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nToggleFeatureCard.propTypes = {\n /**\n * The title that will be displayed for the card.\n */\n title: PropTypes.string,\n /**\n * The descripton text for the particular feature or setting.\n */\n description: PropTypes.string,\n /**\n * The formik name of the feature or setting to be toggled. eg:\n {switchName: \"enableEmails\"}.\n */\n switchName: PropTypes.string,\n /**\n * Can be used to disable the toggle switch conditionally.\n */\n isDisabled: PropTypes.bool,\n /**\n * Custom child components to be displayed in the card.\n */\n children: PropTypes.node,\n /**\n * Can be used to add an input field for a setting or a feature.\n For example, `Enable email notifications` card can have an email input field.\n */\n inputProps: PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n }),\n /**\n * Can be used to add props to the switch component.\n */\n switchProps: PropTypes.shape({\n onChange: PropTypes.func,\n className: PropTypes.string,\n checked: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n enabledSwitchText: PropTypes.string,\n disabledSwitchText: PropTypes.string,\n }),\n }),\n};\n\nexport default ToggleFeatureCard;\n"],"names":["useScrollIntoView","_ref","elementId","trigger","useEffect","_document$getElementB","document","getElementById","scrollIntoView","TooltipSwitch","enabledCondition","_ref$name","name","_ref$isDisabled","isDisabled","switchDataCy","_ref$tooltipProps","tooltipProps","otherProps","_objectWithoutProperties","_excluded","tooltipContent","enabledSwitchText","disabledSwitchText","_jsx","Tooltip","_objectSpread","content","disabled","position","children","FormikSwitch","ToggleFeatureCard","_ref$title","title","_ref$description","description","_ref$switchName","switchName","_ref$titleDataCy","titleDataCy","_ref$switchDataCy","_ref$descriptionDataC","descriptionDataCy","_ref$children","inputProps","_ref$switchProps","switchProps","_useTranslation","useTranslation","t","cardRef","useRef","id","slugify","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_useFormikContext","useFormikContext","setFieldValue","values","submitCount","errors","initialValues","isEmpty","_useState3","location","hash","split","_useState4","shouldHighlight","setShouldHighlight","hasInput","handleInputReset","useOnClickOutside","inputRef","useHotkeys","mode","_jsxs","ref","className","classnames","Label","Typography","component","style","weight","display","Button","editButtonDataCy","icon","Edit","size","type","editButtonTooltip","onClick","Input","autoFocus","dataCy","label","placeholder","suffix","Close"],"mappings":"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"}
|
package/dist/cjs/Builder.js
CHANGED
|
@@ -75,6 +75,7 @@ var Element = function Element(_ref) {
|
|
|
75
75
|
content: disabledElementTooltip === null || disabledElementTooltip === void 0 ? void 0 : disabledElementTooltip(label),
|
|
76
76
|
disabled: !disabledElementTooltip || isCreatable,
|
|
77
77
|
position: "top",
|
|
78
|
+
touch: ["hold", 500],
|
|
78
79
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
79
80
|
"data-cy": "add-".concat(general.joinHyphenCase(label), "-element"),
|
|
80
81
|
className: classnames__default["default"]("neeto-ui-border-gray-400 neeto-ui-bg-white hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg mb-2 flex h-10 items-center gap-2 border p-3 transition-all duration-300 ease-in-out", {
|
|
@@ -348,7 +349,8 @@ var TitleBar = function TitleBar(_ref) {
|
|
|
348
349
|
size: "small",
|
|
349
350
|
style: "secondary",
|
|
350
351
|
tooltipProps: {
|
|
351
|
-
content: t("neetoMolecules.builderSidebar.addAllElements")
|
|
352
|
+
content: t("neetoMolecules.builderSidebar.addAllElements"),
|
|
353
|
+
touch: ["hold", 500]
|
|
352
354
|
},
|
|
353
355
|
onClick: addAllElements
|
|
354
356
|
})]
|