@bigbinary/neeto-molecules 3.6.0-beta3 → 3.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BrowserSupport.js +2 -2
- package/dist/BrowserSupport.js.map +1 -1
- package/dist/Builder.js +251 -154
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js.map +1 -1
- package/dist/{Chevron-a5e99340.js → Chevron-10919a09.js} +5 -5
- package/dist/{Chevron-a5e99340.js.map → Chevron-10919a09.js.map} +1 -1
- package/dist/ConfigurePageSidebar.js +1 -1
- package/dist/ConfigurePageSidebar.js.map +1 -1
- package/dist/Container.js +3 -4
- package/dist/Container.js.map +1 -1
- package/dist/CopyToClipboardButton.js +1 -0
- package/dist/CopyToClipboardButton.js.map +1 -1
- package/dist/CustomDomain.js +1 -1
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +2 -3
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/DateRangeFilter.js.map +1 -1
- package/dist/DeleteArchiveModal.js.map +1 -1
- package/dist/DeviceIncompatibilityMessage.js +24 -23
- package/dist/DeviceIncompatibilityMessage.js.map +1 -1
- package/dist/DocumentEditor.js.map +1 -1
- package/dist/DownloadMobileAppCallout.js +2 -2
- package/dist/DynamicVariables.js.map +1 -1
- package/dist/EmailForm.js +2 -2
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +8 -9
- package/dist/EmailPreview.js.map +1 -1
- package/dist/EmojiPicker.js.map +1 -1
- package/dist/EmojiReactions.js.map +1 -1
- package/dist/ErrorPage.js +21 -21
- package/dist/ErrorPage.js.map +1 -1
- package/dist/FileUpload.js +8 -3
- package/dist/FileUpload.js.map +1 -1
- package/dist/FloatingActionMenu.js +2 -2
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/HelpPopover.js.map +1 -1
- package/dist/IconPicker.js.map +1 -1
- package/dist/InlineInput.js +1 -1
- package/dist/InlineInput.js.map +1 -1
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/IpRestriction.js +2 -2
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +2 -2
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/LoginPage.js +2 -2
- package/dist/LoginPage.js.map +1 -1
- package/dist/MenuBar.js +750 -52
- package/dist/MenuBar.js.map +1 -1
- package/dist/Metadata.js.map +1 -1
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +6 -9
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js.map +1 -1
- package/dist/OptionFields.js +3 -3
- package/dist/OptionFields.js.map +1 -1
- package/dist/PageLoader.js +1 -1
- package/dist/PhoneNumber.js +3 -3
- package/dist/ProductEmbed.js.map +1 -1
- package/dist/PublishBlock.js +1 -1
- package/dist/PublishBlock.js.map +1 -1
- package/dist/PublishYourItem.js +3 -4
- package/dist/PublishYourItem.js.map +1 -1
- package/dist/Rename.js.map +1 -1
- package/dist/ResponsiveDevicePicker.js.map +1 -1
- package/dist/Schedule.js +5 -4
- package/dist/Schedule.js.map +1 -1
- package/dist/SendToFields.js +4 -6
- package/dist/SendToFields.js.map +1 -1
- package/dist/SessionEnvironment.js +2 -2
- package/dist/SessionEnvironment.js.map +1 -1
- package/dist/ShareRecordingPane.js.map +1 -1
- package/dist/ShareViaEmail.js +2 -2
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +2 -2
- package/dist/Sidebar.js.map +1 -1
- package/dist/StatusDropdown.js.map +1 -1
- package/dist/StickyRibbonsContainer.js.map +1 -1
- package/dist/SubHeader.js.map +1 -1
- package/dist/SuffixedInput.js +1 -0
- package/dist/SuffixedInput.js.map +1 -1
- package/dist/Taxonomy.js +1 -2
- package/dist/Taxonomy.js.map +1 -1
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/_commonjsHelpers-1c8beb5f.js +4 -0
- package/dist/_commonjsHelpers-1c8beb5f.js.map +1 -0
- package/dist/cjs/BrowserSupport.js +2 -2
- package/dist/cjs/BrowserSupport.js.map +1 -1
- package/dist/cjs/Builder.js +250 -149
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/{Chevron-bb98447f.js → Chevron-983364d7.js} +5 -5
- package/dist/cjs/{Chevron-bb98447f.js.map → Chevron-983364d7.js.map} +1 -1
- package/dist/cjs/ConfigurePageSidebar.js +1 -1
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/Container.js +3 -4
- package/dist/cjs/Container.js.map +1 -1
- package/dist/cjs/CopyToClipboardButton.js +1 -0
- package/dist/cjs/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/CustomDomain.js +1 -1
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +2 -3
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/DateRangeFilter.js.map +1 -1
- package/dist/cjs/DeleteArchiveModal.js.map +1 -1
- package/dist/cjs/DeviceIncompatibilityMessage.js +24 -23
- package/dist/cjs/DeviceIncompatibilityMessage.js.map +1 -1
- package/dist/cjs/DocumentEditor.js.map +1 -1
- package/dist/cjs/DownloadMobileAppCallout.js +2 -2
- package/dist/cjs/DynamicVariables.js.map +1 -1
- package/dist/cjs/EmailForm.js +2 -2
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmailPreview.js +8 -9
- package/dist/cjs/EmailPreview.js.map +1 -1
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/EmojiReactions.js.map +1 -1
- package/dist/cjs/ErrorPage.js +21 -21
- package/dist/cjs/ErrorPage.js.map +1 -1
- package/dist/cjs/FileUpload.js +8 -3
- package/dist/cjs/FileUpload.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +2 -2
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/HelpPopover.js.map +1 -1
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/InlineInput.js +1 -1
- package/dist/cjs/InlineInput.js.map +1 -1
- package/dist/cjs/IntegrationCard.js.map +1 -1
- package/dist/cjs/IpRestriction.js +2 -2
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +2 -2
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/LoginPage.js +2 -2
- package/dist/cjs/LoginPage.js.map +1 -1
- package/dist/cjs/MenuBar.js +756 -57
- package/dist/cjs/MenuBar.js.map +1 -1
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +6 -9
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +3 -3
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PageLoader.js +1 -1
- package/dist/cjs/PhoneNumber.js +2 -2
- package/dist/cjs/ProductEmbed.js.map +1 -1
- package/dist/cjs/PublishBlock.js +1 -1
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/PublishYourItem.js +3 -4
- package/dist/cjs/PublishYourItem.js.map +1 -1
- package/dist/cjs/Rename.js.map +1 -1
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
- package/dist/cjs/Schedule.js +5 -4
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/SendToFields.js +4 -6
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/SessionEnvironment.js +2 -2
- package/dist/cjs/SessionEnvironment.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +2 -2
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +2 -2
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StatusDropdown.js.map +1 -1
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/SuffixedInput.js +1 -0
- package/dist/cjs/SuffixedInput.js.map +1 -1
- package/dist/cjs/Taxonomy.js +1 -2
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/_commonjsHelpers-68cdf74f.js +6 -0
- package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +1 -0
- package/dist/cjs/{index-c954eb94.js → index-19068c9b.js} +1 -1
- package/dist/cjs/{index-c954eb94.js.map → index-19068c9b.js.map} +1 -1
- package/dist/{index-1f87fe13.js → cjs/index-248c4f4c.js} +10 -11
- package/dist/cjs/{index-57253dc4.js.map → index-248c4f4c.js.map} +1 -1
- package/dist/cjs/{phone-number-7119ec88.js → phone-number-b28bc9dd.js} +7 -10
- package/dist/cjs/phone-number-b28bc9dd.js.map +1 -0
- package/dist/cjs/{platform-4e0a3b75.js → platform-628b3bd8.js} +4 -6
- package/dist/cjs/{platform-4e0a3b75.js.map → platform-628b3bd8.js.map} +1 -1
- package/dist/cjs/useColumns-8894f767.js.map +1 -1
- package/dist/{index-10ee76b9.js → index-d8900f6b.js} +1 -1
- package/dist/{index-10ee76b9.js.map → index-d8900f6b.js.map} +1 -1
- package/dist/{cjs/index-57253dc4.js → index-e5588516.js} +9 -14
- package/dist/{index-1f87fe13.js.map → index-e5588516.js.map} +1 -1
- package/dist/{phone-number-aa7dd15f.js → phone-number-1d33eea1.js} +7 -10
- package/dist/phone-number-1d33eea1.js.map +1 -0
- package/dist/{platform-9320726a.js → platform-e221afea.js} +4 -6
- package/dist/{platform-9320726a.js.map → platform-e221afea.js.map} +1 -1
- package/dist/styles/page-loader.css +1 -1
- package/dist/styles/page-loader.js +1 -1
- package/dist/useColumns-13263cd8.js.map +1 -1
- package/package.json +84 -87
- package/src/translations/en.json +2 -1
- package/types/Builder.d.ts +2 -5
- package/dist/_commonjsHelpers-1789f0cf.js +0 -8
- package/dist/_commonjsHelpers-1789f0cf.js.map +0 -1
- package/dist/cjs/_commonjsHelpers-b3309d7b.js +0 -11
- package/dist/cjs/_commonjsHelpers-b3309d7b.js.map +0 -1
- package/dist/cjs/phone-number-7119ec88.js.map +0 -1
- package/dist/phone-number-aa7dd15f.js.map +0 -1
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 classnames from \"classnames\";\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 className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\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","classnames","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","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":"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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 classnames from \"classnames\";\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 className={classnames({\n \"neeto-molecules-sidebar__logo\": !customLogo,\n })}\n />\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","classnames","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","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":"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"}
|
|
@@ -1 +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":";;;;;;;;;;AAIA,IAAcA,WAAW,GAAeC,QAAQ,CAAxCC,IAAI;EAAeC,QAAQ,GAAKF,QAAQ,CAArBE,QAAQ,CAAA;AAEnC,IAAMD,IAAI,GAAG,SAAPA,IAAIA,CAAAE,IAAA,EAKJ;AAAA,EAAA,IAJJC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IAAAC,qBAAA,GAAAH,IAAA,CACPI,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,mBAAA,GAAAL,IAAA,CAC5BM,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,mBAAA,CAAA;EAEnB,IAAME,cAAc,GAAGH,oBAAoB,GACvCF,OAAO,GACPA,OAAO,CAACM,MAAM,CAAC,UAAAC,MAAM,EAAA;IAAA,OAAI,CAACH,cAAc,CAACI,QAAQ,CAACD,MAAM,CAACE,KAAK,CAAC,CAAA;GAAC,CAAA,CAAA;EAEpE,oBACEC,GAAA,CAAChB,WAAW,EAAA;AAAC,IAAA,aAAA,EAAY,sBAAsB;IAAAiB,QAAA,EAC5CN,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEO,GAAG,CAAC,UAAAC,MAAM,EAAA;AAAA,MAAA,oBACzBH,GAAA,CAACb,QAAQ,CAACiB,MAAM,EAAA;AACdC,QAAAA,SAAS,2BAAAC,MAAA,CAA2BH,MAAM,CAACI,KAAK,CAAG;AACnD,QAAA,aAAA,EAAA,uBAAA,CAAAD,MAAA,CAAqCH,MAAM,CAACJ,KAAK,CAAG;QAEpDS,OAAO,EAAE,
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyRibbonsContainer.js","sources":["../src/components/StickyRibbonsContainer/constants.js","../src/components/StickyRibbonsContainer/api.js","../src/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../src/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBON_KIND_TO_STYLE = {\n info: \"info\",\n warning: \"warning\",\n error: \"danger\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst fetchStickyRibbons = () => axios.get(`${BASE_API_V1_URL}/sticky_ribbons`);\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () =>\n useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: stickyRibbonsApi.fetchStickyRibbons,\n });\n\nexport { useFetchStickyRibbons };\n","import { useLocalStorage } from \"neetocommons/react-utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Tag } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport {\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n STICKY_RIBBON_KIND_TO_STYLE,\n} from \"./constants\";\nimport \"./sticky-ribbons.scss\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\n\nconst StickyRibbonsContainer = () => {\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { data: { stickyRibbons = [] } = {} } = useFetchStickyRibbons();\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {visibleRibbons.map(({ id, kind, message }) => (\n <Tag\n className=\"neeto-molecules-sticky-ribbon w-full p-2.5 text-center\"\n key={id}\n size=\"large\"\n style={STICKY_RIBBON_KIND_TO_STYLE[kind]}\n onClose={() => handleDismiss(id)}\n >\n <EditorContent className=\"w-full\" content={message} />\n </Tag>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBON_KIND_TO_STYLE","info","warning","error","STICKY_RIBBONS_LOCAL_STORAGE_KEY","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","stickyRibbonsApi","useFetchStickyRibbons","useQuery","queryKey","queryFn","StickyRibbonsContainer","_useLocalStorage","useLocalStorage","_useLocalStorage2","_slicedToArray","dismissedRibbons","setDismissedRibbons","_useFetchStickyRibbon","_useFetchStickyRibbon2","data","_useFetchStickyRibbon3","_useFetchStickyRibbon4","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","_jsx","_Fragment","children","map","_ref","kind","message","Tag","className","size","style","onClose","EditorContent","content"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StickyRibbonsContainer.js","sources":["../src/components/StickyRibbonsContainer/constants.js","../src/components/StickyRibbonsContainer/api.js","../src/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../src/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBON_KIND_TO_STYLE = {\n info: \"info\",\n warning: \"warning\",\n error: \"danger\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst fetchStickyRibbons = () => axios.get(`${BASE_API_V1_URL}/sticky_ribbons`);\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () =>\n useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: stickyRibbonsApi.fetchStickyRibbons,\n });\n\nexport { useFetchStickyRibbons };\n","import { useLocalStorage } from \"neetocommons/react-utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Tag } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport {\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n STICKY_RIBBON_KIND_TO_STYLE,\n} from \"./constants\";\nimport \"./sticky-ribbons.scss\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\n\nconst StickyRibbonsContainer = () => {\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { data: { stickyRibbons = [] } = {} } = useFetchStickyRibbons();\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {visibleRibbons.map(({ id, kind, message }) => (\n <Tag\n className=\"neeto-molecules-sticky-ribbon w-full p-2.5 text-center\"\n key={id}\n size=\"large\"\n style={STICKY_RIBBON_KIND_TO_STYLE[kind]}\n onClose={() => handleDismiss(id)}\n >\n <EditorContent className=\"w-full\" content={message} />\n </Tag>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBON_KIND_TO_STYLE","info","warning","error","STICKY_RIBBONS_LOCAL_STORAGE_KEY","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","stickyRibbonsApi","useFetchStickyRibbons","useQuery","queryKey","queryFn","StickyRibbonsContainer","_useLocalStorage","useLocalStorage","_useLocalStorage2","_slicedToArray","dismissedRibbons","setDismissedRibbons","_useFetchStickyRibbon","_useFetchStickyRibbon2","data","_useFetchStickyRibbon3","_useFetchStickyRibbon4","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","_jsx","_Fragment","children","map","_ref","kind","message","Tag","className","size","style","onClose","EditorContent","content"],"mappings":"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"}
|
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 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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"}
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,OAAO,gBAAGC,UAAU,CACxB,UAAAC,IAAA,EAEEC,GAAG,EACA;AAAA,EAAA,IAAAC,gBAAA,GAAAF,IAAA,CAFDG,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAAEE,UAAU,GAAAJ,IAAA,CAAVI,UAAU;IAAEC,eAAe,GAAAL,IAAA,CAAfK,eAAe;IAAEC,YAAY,GAAAN,IAAA,CAAZM,YAAY;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,WAAA,CAAA,CAAA;AAGvE,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;EAET,IAAMC,eAAe,GAAGC,OAAO,CAC7B,YAAA;AAAA,IAAA,OACEC,KAAK,CACH,WAAW,EACX,CAACX,UAAU,IAAI,EAAE,EAAEY,MAAM,CACvB,UAAAC,MAAM,EAAA;AAAA,MAAA,OAAI,EAACX,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,IAAAA,YAAY,CAAEY,QAAQ,CAACD,MAAM,CAACE,SAAS,CAAC,CAAA,CAAA;AAAA,KACrD,CACF,CAAC,CAAA;AAAA,GAAA,EACH,CAACf,UAAU,EAAEE,YAAY,CAC3B,CAAC,CAAA;AAED,EAAA,IAAAc,iBAAA,GAAmCC,gBAAgB,CAAChB,eAAe,CAAC;IAA5DiB,UAAU,GAAAF,iBAAA,CAAVE,UAAU;IAAEC,UAAU,GAAAH,iBAAA,CAAVG,UAAU,CAAA;AAE9B,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,oCAAoC;AAAAC,IAAAA,QAAA,eACjDF,GAAA,CAACG,SAAa,EAAAC,eAAA,CAAA;MACZC,YAAY,EAAA,IAAA;AACZJ,MAAAA,SAAS,EAAC,mCAAmC;AAC7CK,MAAAA,WAAW,eACTC,IAAA,CAAA,KAAA,EAAA;AAAKN,QAAAA,SAAS,EAAC,kCAAkC;QAAAC,QAAA,EAAA,cAC/CF,GAAA,CAACQ,MAAM,EAAA;AACLP,UAAAA,SAAS,EAAC,2BAA2B;AACrCQ,UAAAA,KAAK,EAAC,UAAU;AAChBC,UAAAA,KAAK,EAAC,WAAW;UACjBC,OAAO,EAAE,SAAAA,OAAA,GAAA;YAAA,OAAMb,UAAU,CAACT,eAAe,CAAC,CAAA;AAAA,WAAA;AAAC,SAC5C,CAAC,eACFW,GAAA,CAACQ,MAAM,EAAA;AACLP,UAAAA,SAAS,EAAC,2BAA2B;AACrCQ,UAAAA,KAAK,EAAC,UAAU;AAChBC,UAAAA,KAAK,EAAC,WAAW;UACjBC,OAAO,EAAE,SAAAA,OAAA,GAAA;YAAA,OAAMZ,UAAU,CAACV,eAAe,CAAC,CAAA;AAAA,WAAA;AAAC,SAC5C,CAAC,CAAA;AAAA,OACC,CACN;AACDV,MAAAA,WAAW,EAAAyB,eAAA,CAAA;AACTQ,QAAAA,IAAI,EAAEC,MAAM;AACZJ,QAAAA,KAAK,EAAE,IAAI;AACXK,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAE3B,CAAC,CAAC,gCAAgC,CAAC;AAC5C4B,UAAAA,QAAQ,EAAE,QAAQ;AAClBC,UAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;SACpB;AACD,QAAA,aAAa,EAAE,gBAAgB;AAC/B,QAAA,SAAS,EAAE,yBAAA;AAAyB,OAAA,EACjCtC,WAAW,CAAA;KACdyB,EAAAA,eAAA,CAAAA,eAAA,CAAA;AACIxB,MAAAA,UAAU,EAAVA,UAAU;AAAEC,MAAAA,eAAe,EAAfA,eAAAA;AAAe,KAAA,EAAKE,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEN,MAAAA,GAAG,EAAHA,GAAAA;KAC9C,CAAA,CAAA,CAAA;AAAC,GACC,CAAC,CAAA;AAEV,CACF,CAAC,CAAA;AAEDH,OAAO,CAAC4C,WAAW,GAAG,SAAS;;ACjE/B,IAAMC,cAAc,GAAGC,KAAK,CAC1B,UAAA5C,IAAA,EAAA;AAAA,EAAA,IAAGY,CAAC,GAAAZ,IAAA,CAADY,CAAC;IAAEiC,KAAK,GAAA7C,IAAA,CAAL6C,KAAK;IAAEV,OAAO,GAAAnC,IAAA,CAAPmC,OAAO;IAAAW,WAAA,GAAA9C,IAAA,CAAE,SAAS,CAAA;AAAE+C,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,iBAAiB,GAAAA,WAAA,CAAA;AAAA,EAAA,oBACzDf,IAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC,qCAAqC;IAAAC,QAAA,EAAA,cAClDF,GAAA,CAACQ,MAAM,EAAA;AACCG,MAAAA,OAAO,EAAPA,OAAO;AACb,MAAA,SAAA,EAASY,MAAO;AAChB,MAAA,aAAA,EAAY,iBAAiB;AAC7BX,MAAAA,IAAI,EAAEY,QAAS;AACfd,MAAAA,KAAK,EAAC,MAAM;AACZI,MAAAA,YAAY,EAAE;AACZC,QAAAA,OAAO,EAAE3B,CAAC,CAAC,gCAAgC,CAAC;AAC5C4B,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;AACrB,OAAA;AAAE,KACH,CAAC,EACDI,KAAK,iBACJrB,GAAA,CAAA,MAAA,EAAA;AAAMC,MAAAA,SAAS,EAAC,2CAA2C;AAAAC,MAAAA,QAAA,EACxDmB,KAAAA;AAAK,KACF,CACP,CAAA;AAAA,GACE,CAAC,CAAA;AAAA,CAEV,CAAC;;;;;ACtBD,IAAMI,YAAY,GAAGL,KAAK,CAAC,UAAA5C,IAAA,EAAA;AAAA,EAAA,IAAGY,CAAC,GAAAZ,IAAA,CAADY,CAAC;IAAET,WAAW,GAAAH,IAAA,CAAXG,WAAW;AAAKI,IAAAA,KAAK,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA,CAAA;AAAA,EAAA,oBACpDe,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,mCAAmC;AAAAC,IAAAA,QAAA,eAChDF,GAAA,CAAC0B,OAAY,EAAAtB,eAAA,CAAA;AACXzB,MAAAA,WAAW,EAAAyB,eAAA,CAAA;AACT,QAAA,aAAa,EAAE,eAAe;AAC9BQ,QAAAA,IAAI,EAAEe,MAAM;AACZjB,QAAAA,KAAK,EAAE,MAAM;AACbI,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAE3B,CAAC,CAAC,8BAA8B,CAAC;AAC1C4B,UAAAA,QAAQ,EAAE,QAAQ;AAClBC,UAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAA;SACpB;AACDR,QAAAA,KAAK,EAAE,IAAA;AAAI,OAAA,EACR9B,WAAW,CAAA;AACd,KAAA,EACEI,KAAK,CACV,CAAA;AAAC,GACC,CAAC,CAAA;AAAA,CACP,CAAC;;;;ACbF,IAAM6C,UAAU,GAAG,SAAbA,UAAUA,CAAApD,IAAA,EAKV;AAAA,EAAA,IAJJqD,mBAAmB,GAAArD,IAAA,CAAnBqD,mBAAmB;IACnBC,kBAAkB,GAAAtD,IAAA,CAAlBsD,kBAAkB;IAClBC,WAAW,GAAAvD,IAAA,CAAXuD,WAAW;IACXC,SAAS,GAAAxD,IAAA,CAATwD,SAAS,CAAA;EAET,IAAMC,SAAS,GAAGC,YAAY,CAACF,SAAS,aAATA,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAEG,UAAU,CAAC,GACjD,IAAI,GACJ,CAAAH,SAAS,KAATA,IAAAA,IAAAA,SAAS,uBAATA,SAAS,CAAEG,UAAU,IAAG,CAAC,CAAA;AAE7B,EAAA,oBACE5B,IAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,wCAAwC;AACpDN,IAAAA,SAAS,EAAEmC,UAAU,CAAC,0CAA0C,EAAE;MAChEC,MAAM,EAAEC,GAAG,CAACL,SAAS,CAAA;AACvB,KAAC,CAAE;AAAA/B,IAAAA,QAAA,EAEF2B,CAAAA,mBAAmB,iBAAI7B,GAAA,CAACwB,cAAQ,EAAApB,aAAA,CAAA,EAAA,EAAKyB,mBAAmB,CAAG,CAAC,EAC5DC,kBAAkB,iBAAI9B,GAAA,CAAC1B,OAAO,EAAA8B,aAAA,CAAK0B,EAAAA,EAAAA,kBAAkB,CAAG,CAAC,EACzDC,WAAW,iBAAI/B,GAAA,CAAC2B,YAAM,EAAAvB,aAAA,CAAK2B,EAAAA,EAAAA,WAAW,CAAG,CAAC,CAAA;AAAA,GACxC,CAAC,CAAA;AAEV,CAAC;;;;;ACvBD,IAAMQ,SAAS,GAAG,SAAZA,SAASA,CAAA/D,IAAA,EAKT;AAAA,EAAA,IAAAgE,cAAA,GAAAhE,IAAA,CAJJyB,SAAS;AAATA,IAAAA,SAAS,GAAAuC,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IACdC,eAAe,GAAAjE,IAAA,CAAfiE,eAAe;IACfC,gBAAgB,GAAAlE,IAAA,CAAhBkE,gBAAgB;IAAApB,WAAA,GAAA9C,IAAA,CAChB,SAAS,CAAA;AAAE+C,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,WAAW,GAAAA,WAAA,CAAA;AAE/B,EAAA,IAAMqB,YAAY,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAEjCC,EAAAA,eAAe,CAAC,YAAM;AACpB,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AAC/B,MAAA,IAAI,CAACH,YAAY,CAACI,OAAO,EAAE,OAAA;AAC3B,MAAA,IAAMC,MAAM,GAAGL,YAAY,CAACI,OAAO,CAACE,YAAY,CAAA;AAChDC,MAAAA,QAAQ,CAACC,IAAI,CAACzC,KAAK,CAAC0C,WAAW,CAC7B,8CAA8C,EAAAC,EAAAA,CAAAA,MAAA,CAC3CL,MAAM,OACX,CAAC,CAAA;KACF,CAAA;AAEDF,IAAAA,kBAAkB,EAAE,CAAA;AAEpBQ,IAAAA,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAET,kBAAkB,CAAC,CAAA;IAErD,OAAO,YAAA;AAAA,MAAA,OAAMQ,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEV,kBAAkB,CAAC,CAAA;AAAA,KAAA,CAAA;GACtE,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBACEvC,IAAA,CAAA,KAAA,EAAA;IACEN,SAAS,EAAEmC,UAAU,CAAC,CAAC,2BAA2B,EAAEnC,SAAS,CAAC,CAAE;AAChE,IAAA,SAAA,EAASsB,MAAO;AAChB,IAAA,aAAA,EAAY,WAAW;AACvB9C,IAAAA,GAAG,EAAEkE,YAAa;AAAAzC,IAAAA,QAAA,gBAElBF,GAAA,CAAA,KAAA,EAAA;AACEC,MAAAA,SAAS,EAAC,yCAAyC;AACnD,MAAA,SAAA,EAAQ,wBAAwB;MAAAC,QAAA,EAE/BuC,eAAe,iBACdzC,GAAA,CAAA,KAAA,EAAA;AACEC,QAAAA,SAAS,EAAC,iCAAiC;AAC3C,QAAA,SAAA,EAAQ,gBAAgB;AAAAC,QAAAA,QAAA,EAEvBuC,eAAAA;OACE,CAAA;AACN,KACE,CAAC,EACLC,gBAAgB,iBACf1C,GAAA,CAAA,KAAA,EAAA;AACEC,MAAAA,SAAS,EAAC,kCAAkC;AAC5C,MAAA,SAAA,EAAQ,iBAAiB;AAAAC,MAAAA,QAAA,EAExBwC,gBAAAA;AAAgB,KACd,CACN,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,EAAC;AAEDH,SAAS,CAACX,UAAU,GAAGA,UAAU;;;;"}
|
package/dist/SuffixedInput.js
CHANGED
|
@@ -88,6 +88,7 @@ var SuffixedInput = function SuffixedInput(_ref) {
|
|
|
88
88
|
minWidth: isEmpty(value) ? INPUT_FIELD_MIN_WIDTH : 0,
|
|
89
89
|
width: (_placeholderRef$curre2 = (_placeholderRef$curre3 = placeholderRef.current) === null || _placeholderRef$curre3 === void 0 ? void 0 : _placeholderRef$curre3.offsetWidth) !== null && _placeholderRef$curre2 !== void 0 ? _placeholderRef$curre2 : initialInputWidth // Additional 2px to act as a buffer.
|
|
90
90
|
},
|
|
91
|
+
|
|
91
92
|
suffix:
|
|
92
93
|
/*#__PURE__*/
|
|
93
94
|
// Added onClick to focus the input even when the suffix part is clicked.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuffixedInput.js","sources":["../src/components/SuffixedInput/constants.js","../src/components/SuffixedInput/index.jsx"],"sourcesContent":["export const INPUT_FIELD_MIN_WIDTH = 60;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport { Info } from \"neetoicons\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { INPUT_FIELD_MIN_WIDTH } from \"./constants\";\nimport \"./suffixed-input.scss\";\n\nconst SuffixedInput = ({\n placeholder,\n helpUrl,\n helpIconTooltipContent,\n label,\n value,\n getInputRef,\n suffix,\n isCopyToClipboardEnabled = false,\n name = \"email\",\n inputProps = {},\n}) => {\n const [initialInputWidth, setInitialInputWidth] = useState(\n INPUT_FIELD_MIN_WIDTH\n );\n const inputRef = useRef(null);\n const placeholderRef = useRef(null);\n\n const setInputRef = ref => {\n inputRef.current = ref;\n getInputRef?.(ref);\n };\n\n useEffect(() => {\n //To handle the input width on initial render.\n const placeholderSpanWidth = placeholderRef.current?.offsetWidth;\n setInitialInputWidth(placeholderSpanWidth);\n }, []);\n\n return (\n <>\n <span // Dummy element to calculate the width to be set for the input. Do not remove.\n className=\"pointer-events-none invisible absolute pl-2\"\n ref={placeholderRef}\n >\n {value || placeholder}\n </span>\n <div className=\"inline-flex max-w-full items-end gap-2\">\n <Input\n {...{ label, name, placeholder, ...inputProps }}\n className=\"nm-suffixed-input-field\"\n ref={setInputRef}\n type=\"text\"\n labelProps={{\n helpIconProps: isPresent(helpUrl) && {\n icon: Info,\n className:\n \"cursor-pointer opacity-75 hover:opacity-100 transition-opacity duration-300 ease-in-out\",\n onClick: () => window.open(helpUrl, \"_blank\"),\n tooltipProps: {\n content: helpIconTooltipContent,\n position: \"right\",\n disabled: isNotPresent(helpUrl),\n },\n },\n }}\n style={{\n minWidth: isEmpty(value) ? INPUT_FIELD_MIN_WIDTH : 0,\n width: placeholderRef.current?.offsetWidth ?? initialInputWidth, // Additional 2px to act as a buffer.\n }}\n suffix={\n // Added onClick to focus the input even when the suffix part is clicked.\n <span onClick={() => inputRef.current?.focus()}>{suffix}</span>\n }\n />\n {isCopyToClipboardEnabled && (\n <CopyToClipboardButton\n disabled={isEmpty(value)}\n style=\"text\"\n value={`${value}${suffix}`}\n />\n )}\n </div>\n </>\n );\n};\n\nSuffixedInput.propTypes = {\n /**\n * Placeholder of the input field.\n */\n placeholder: PropTypes.string,\n /**\n * A help icon will be displayed next to the label if helpUrl is present. On clicking the icon will take the user to the URL.\n */\n helpUrl: PropTypes.string,\n /**\n * Text to be displayed inside the tooltip of the help icon.\n */\n helpIconTooltipContent: PropTypes.string,\n /**\n * Label of the input field.\n */\n label: PropTypes.string,\n /**\n * The value entered by the user, eg: email.\n */\n value: PropTypes.string,\n /**\n * A method to get the ref of the input field.\n */\n getInputRef: PropTypes.func,\n /**\n * Domain name to be rendered next to the input field.\n */\n suffix: PropTypes.string,\n /**\n * Whether to show the copy to clipboard button.\n */\n isCopyToClipboardEnabled: PropTypes.bool,\n /**\n * Formik field name of the input field.\n */\n name: PropTypes.string,\n /**\n * This will be passed down to the `Input` component.\n */\n inputProps: PropTypes.object,\n};\n\nexport default SuffixedInput;\n"],"names":["INPUT_FIELD_MIN_WIDTH","SuffixedInput","_ref","_placeholderRef$curre2","_placeholderRef$curre3","placeholder","helpUrl","helpIconTooltipContent","label","value","getInputRef","suffix","_ref$isCopyToClipboar","isCopyToClipboardEnabled","_ref$name","name","_ref$inputProps","inputProps","_useState","useState","_useState2","_slicedToArray","initialInputWidth","setInitialInputWidth","inputRef","useRef","placeholderRef","setInputRef","ref","current","useEffect","_placeholderRef$curre","placeholderSpanWidth","offsetWidth","_jsxs","_Fragment","children","_jsx","className","Input","_objectSpread","type","labelProps","helpIconProps","isPresent","icon","Info","onClick","window","open","tooltipProps","content","position","disabled","isNotPresent","style","minWidth","isEmpty","width","_inputRef$current","focus","CopyToClipboardButton","concat"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SuffixedInput.js","sources":["../src/components/SuffixedInput/constants.js","../src/components/SuffixedInput/index.jsx"],"sourcesContent":["export const INPUT_FIELD_MIN_WIDTH = 60;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport { Info } from \"neetoicons\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { INPUT_FIELD_MIN_WIDTH } from \"./constants\";\nimport \"./suffixed-input.scss\";\n\nconst SuffixedInput = ({\n placeholder,\n helpUrl,\n helpIconTooltipContent,\n label,\n value,\n getInputRef,\n suffix,\n isCopyToClipboardEnabled = false,\n name = \"email\",\n inputProps = {},\n}) => {\n const [initialInputWidth, setInitialInputWidth] = useState(\n INPUT_FIELD_MIN_WIDTH\n );\n const inputRef = useRef(null);\n const placeholderRef = useRef(null);\n\n const setInputRef = ref => {\n inputRef.current = ref;\n getInputRef?.(ref);\n };\n\n useEffect(() => {\n //To handle the input width on initial render.\n const placeholderSpanWidth = placeholderRef.current?.offsetWidth;\n setInitialInputWidth(placeholderSpanWidth);\n }, []);\n\n return (\n <>\n <span // Dummy element to calculate the width to be set for the input. Do not remove.\n className=\"pointer-events-none invisible absolute pl-2\"\n ref={placeholderRef}\n >\n {value || placeholder}\n </span>\n <div className=\"inline-flex max-w-full items-end gap-2\">\n <Input\n {...{ label, name, placeholder, ...inputProps }}\n className=\"nm-suffixed-input-field\"\n ref={setInputRef}\n type=\"text\"\n labelProps={{\n helpIconProps: isPresent(helpUrl) && {\n icon: Info,\n className:\n \"cursor-pointer opacity-75 hover:opacity-100 transition-opacity duration-300 ease-in-out\",\n onClick: () => window.open(helpUrl, \"_blank\"),\n tooltipProps: {\n content: helpIconTooltipContent,\n position: \"right\",\n disabled: isNotPresent(helpUrl),\n },\n },\n }}\n style={{\n minWidth: isEmpty(value) ? INPUT_FIELD_MIN_WIDTH : 0,\n width: placeholderRef.current?.offsetWidth ?? initialInputWidth, // Additional 2px to act as a buffer.\n }}\n suffix={\n // Added onClick to focus the input even when the suffix part is clicked.\n <span onClick={() => inputRef.current?.focus()}>{suffix}</span>\n }\n />\n {isCopyToClipboardEnabled && (\n <CopyToClipboardButton\n disabled={isEmpty(value)}\n style=\"text\"\n value={`${value}${suffix}`}\n />\n )}\n </div>\n </>\n );\n};\n\nSuffixedInput.propTypes = {\n /**\n * Placeholder of the input field.\n */\n placeholder: PropTypes.string,\n /**\n * A help icon will be displayed next to the label if helpUrl is present. On clicking the icon will take the user to the URL.\n */\n helpUrl: PropTypes.string,\n /**\n * Text to be displayed inside the tooltip of the help icon.\n */\n helpIconTooltipContent: PropTypes.string,\n /**\n * Label of the input field.\n */\n label: PropTypes.string,\n /**\n * The value entered by the user, eg: email.\n */\n value: PropTypes.string,\n /**\n * A method to get the ref of the input field.\n */\n getInputRef: PropTypes.func,\n /**\n * Domain name to be rendered next to the input field.\n */\n suffix: PropTypes.string,\n /**\n * Whether to show the copy to clipboard button.\n */\n isCopyToClipboardEnabled: PropTypes.bool,\n /**\n * Formik field name of the input field.\n */\n name: PropTypes.string,\n /**\n * This will be passed down to the `Input` component.\n */\n inputProps: PropTypes.object,\n};\n\nexport default SuffixedInput;\n"],"names":["INPUT_FIELD_MIN_WIDTH","SuffixedInput","_ref","_placeholderRef$curre2","_placeholderRef$curre3","placeholder","helpUrl","helpIconTooltipContent","label","value","getInputRef","suffix","_ref$isCopyToClipboar","isCopyToClipboardEnabled","_ref$name","name","_ref$inputProps","inputProps","_useState","useState","_useState2","_slicedToArray","initialInputWidth","setInitialInputWidth","inputRef","useRef","placeholderRef","setInputRef","ref","current","useEffect","_placeholderRef$curre","placeholderSpanWidth","offsetWidth","_jsxs","_Fragment","children","_jsx","className","Input","_objectSpread","type","labelProps","helpIconProps","isPresent","icon","Info","onClick","window","open","tooltipProps","content","position","disabled","isNotPresent","style","minWidth","isEmpty","width","_inputRef$current","focus","CopyToClipboardButton","concat"],"mappings":"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"}
|
package/dist/Taxonomy.js
CHANGED
|
@@ -30,8 +30,7 @@ import MoreDropdown from './MoreDropdown.js';
|
|
|
30
30
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
31
31
|
import Dropdown from '@bigbinary/neetoui/Dropdown';
|
|
32
32
|
import 'classnames';
|
|
33
|
-
import './index-
|
|
34
|
-
import './_commonjsHelpers-1789f0cf.js';
|
|
33
|
+
import './index-e5588516.js';
|
|
35
34
|
import './inject-css-c86de496.js';
|
|
36
35
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
37
36
|
import './Breadcrumbs.js';
|
package/dist/Taxonomy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Taxonomy.js","sources":["../src/components/Taxonomy/constants.js","../src/components/Taxonomy/api.js","../src/components/Taxonomy/useTaxonomyApi.js","../src/components/Taxonomy/utils.jsx","../src/components/Taxonomy/EditPane.jsx","../src/components/Taxonomy/LeftActionBlock.jsx","../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n\nexport const TAXONOMY_EVENTS = { UPDATED: \"taxonomy_updated\" };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = ({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n}) => {\n const {\n singularColumn: showSingularColumn = true,\n pluralColumn: showPluralColumn = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n return [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n />\n </div>\n );\n },\n },\n ...(showSingularColumn\n ? [\n {\n title: singularLabel,\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n ]\n : []),\n ...(showPluralColumn\n ? [\n {\n title: pluralLabel,\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n ]\n : []),\n ];\n};\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import { useRef } from \"react\";\n\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n LABEL_REJECT_CHARS_REGEX,\n TAXONOMY_EVENTS,\n VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({\n columnLabels,\n columnsToShow,\n initialValues,\n isOpen,\n onClose,\n}) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const {\n singularColumn: showSingularInputField = true,\n pluralColumn: showPluralInputField = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => {\n captureAnalyticsEvent(TAXONOMY_EVENTS.UPDATED, {\n taxonomy: payload.taxonomy,\n });\n window.location.reload();\n },\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.editPane.title\"\n values={{\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ),\n ...(showSingularInputField && showPluralInputField\n ? PLURAL\n : SINGULAR),\n }}\n />\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n {showSingularInputField && (\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={singularLabel}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n {showPluralInputField && (\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={pluralLabel}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({\n breadcrumbs,\n columnLabels = {},\n columnsToShow = {},\n titleHelpPopoverProps = {},\n}) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n titleHelpPopoverProps={{\n description: t(\"neetoMolecules.taxonomy.description\"),\n title: t(\"neetoMolecules.taxonomy.title\"),\n ...titleHelpPopoverProps,\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n })}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ columnLabels, columnsToShow, initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `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 * To provide custom column labels for the table.\n */\n columnLabels: PropTypes.object,\n /**\n * To show/hide columns in the table.\n */\n columnsToShow: PropTypes.object,\n /**\n * Props to be passed to the help popover in the title.\n */\n titleHelpPopoverProps: PropTypes.object,\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","TAXONOMY_EVENTS","UPDATED","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","_ref3","columnLabels","columnsToShow","handleEdit","setCurrentKeys","setIsResetModalOpen","_columnsToShow$singul","singularColumn","showSingularColumn","_columnsToShow$plural","pluralColumn","showPluralColumn","_columnLabels$singula","singular","_columnLabels$plural","plural","title","dataIndex","key","width","render","_","values","menuItems","onClick","_jsxs","className","children","_jsx","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","_toConsumableArray","getFilteredTaxonomies","matchString","filteredArray","filter","_ref4","_ref5","value","defaultLabel","valuesToSearch","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","showSingularInputField","showPluralInputField","handleSubmit","setSubmitting","taxonomy","onSuccess","captureAnalyticsEvent","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","Trans","i18nKey","entity","PLURAL","SINGULAR","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","_Fragment","component","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_ref$columnLabels","_ref$columnsToShow","_ref$titleHelpPopover","titleHelpPopoverProps","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","description","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAMA,wBAAwB,GAAG,kBAAkB,CAAA;AAEnD,IAAMC,iBAAiB,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAClDC,EAAAA,aAAa,EAAEH,GAAG,CACfI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,oEAAoE,CACxE,CAAC;AACHC,EAAAA,WAAW,EAAER,GAAG,CACbI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,kEAAkE,CACtE,CAAA;AACJ,CAAC,CAAC,CAAA;AAEK,IAAME,eAAe,GAAG;AAAEC,EAAAA,OAAO,EAAE,kBAAA;AAAmB,CAAC;;ACjB9D,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO,CAAA;AAAA,EAAA,OAChCC,KAAK,CAACC,KAAK,CAAA,EAAA,CAAAC,MAAA,CAAIC,eAAe,EAAA,cAAA,CAAA,CAAAD,MAAA,CAAeJ,OAAO,CAAA,EAAIC,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAMK,WAAW,GAAG,SAAdA,WAAWA,CAAGL,OAAO,EAAA;AAAA,EAAA,OACzBC,KAAK,CAAO,QAAA,CAAA,CAAA,EAAA,CAAAE,MAAA,CAAIC,eAAe,EAA4B,0BAAA,CAAA,EAAA;AACzDE,IAAAA,IAAI,EAAEN,OAAAA;AACR,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMO,aAAa,GAAG;AAAEV,EAAAA,MAAM,EAANA,MAAM;AAAEQ,EAAAA,WAAW,EAAXA,WAAAA;AAAY,CAAC;;;;ACP7C,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,OAAO,EAAA;EAAA,OAC/BC,WAAW,CAAAC,eAAA,CAAA;IAAGC,UAAU,EAAEL,aAAa,CAACV,MAAAA;GAAWY,EAAAA,OAAO,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/D,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGJ,OAAO,EAAA;EAAA,OACtCC,WAAW,CAAAC,eAAA,CAAA;IAAGC,UAAU,EAAEL,aAAa,CAACF,WAAAA;GAAgBI,EAAAA,OAAO,CAAE,CAAC,CAAA;AAAA,CAAA;;ACD7D,IAAMK,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAAIC,UAAU,CAACD,KAAK,CAACxB,IAAI,EAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAErD,IAAM0B,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,UAAU,EAAA;EAAA,OAC1CC,OAAO,CAACD,UAAU,CAAC,CAACE,GAAG,CAAC,UAAAtB,IAAA,EAAA;AAAA,IAAA,IAAAuB,KAAA,GAAAC,cAAA,CAAAxB,IAAA,EAAA,CAAA,CAAA;AAAEC,MAAAA,OAAO,GAAAsB,KAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,MAAM,GAAAF,KAAA,CAAA,CAAA,CAAA,CAAA;IAAA,OAAO;AAC9CtB,MAAAA,OAAO,EAAPA,OAAO;AACPV,MAAAA,aAAa,EAAEkC,MAAM,CAAC,UAAU,CAAC;MACjC7B,WAAW,EAAE6B,MAAM,CAAC,QAAQ,CAAA;KAC7B,CAAA;AAAA,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEE,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAMpB;AAAA,EAAA,IALJC,YAAY,GAAAD,KAAA,CAAZC,YAAY;IACZC,aAAa,GAAAF,KAAA,CAAbE,aAAa;IACbC,UAAU,GAAAH,KAAA,CAAVG,UAAU;IACVC,cAAc,GAAAJ,KAAA,CAAdI,cAAc;IACdC,mBAAmB,GAAAL,KAAA,CAAnBK,mBAAmB,CAAA;AAEnB,EAAA,IAAAC,qBAAA,GAGIJ,aAAa,CAFfK,cAAc;AAAEC,IAAAA,kBAAkB,GAAAF,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAG,qBAAA,GAEvCP,aAAa,CADfQ,YAAY;AAAEC,IAAAA,gBAAgB,GAAAF,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA,CAAA;AAGvC,EAAA,IAAAG,qBAAA,GAGIX,YAAY,CAFdY,QAAQ;IAAEjD,aAAa,GAAAgD,qBAAA,KAAG5C,KAAAA,CAAAA,GAAAA,CAAC,CAAC,uCAAuC,CAAC,GAAA4C,qBAAA;IAAAE,oBAAA,GAElEb,YAAY,CADdc,MAAM;IAAE9C,WAAW,GAAA6C,oBAAA,KAAG9C,KAAAA,CAAAA,GAAAA,CAAC,CAAC,qCAAqC,CAAC,GAAA8C,oBAAA,CAAA;EAGhE,OACE,CAAA;AACEE,IAAAA,KAAK,EAAEhD,CAAC,CAAC,sCAAsC,CAAC;AAChDiD,IAAAA,SAAS,EAAE,SAAS;AACpBC,IAAAA,GAAG,EAAE,cAAc;AACnBC,IAAAA,KAAK,EAAE,GAAG;AACVC,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGC,CAAC,EAAEC,MAAM,EAAK;MACrB,IAAMC,SAAS,GAAG,CAChB;AACEL,QAAAA,GAAG,EAAE,MAAM;AACX5B,QAAAA,KAAK,EAAEtB,CAAC,CAAC,oCAAoC,CAAC;QAC9CwD,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQrB,UAAU,CAACmB,MAAM,CAAC,CAAA;AAAA,SAAA;AACnC,OAAC,EACD;AACEJ,QAAAA,GAAG,EAAE,OAAO;AACZ5B,QAAAA,KAAK,EAAEtB,CAAC,CAAC,+CAA+C,CAAC;AACzDwD,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACbpB,UAAAA,cAAc,CAAC,CAACkB,MAAM,CAAChD,OAAO,CAAC,CAAC,CAAA;UAChC+B,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC3B,SAAA;AACF,OAAC,CACF,CAAA;AAED,MAAA,oBACEoB,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,2CAA2C;QAAAC,QAAA,EAAA,cACxDC,GAAA,CAACC,UAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;UAAAH,QAAA,EACtB3D,CAAC,CAAAU,wBAAAA,CAAAA,MAAA,CAA0B4C,MAAM,CAAChD,OAAO,EAAW,WAAA,CAAA,CAAA;AAAC,SAC5C,CAAC,eACbsD,GAAA,CAACG,YAAY,EAAA;AACLR,UAAAA,SAAS,EAATA,SAAS;AACfS,UAAAA,aAAa,EAAE;AAAEC,YAAAA,QAAQ,EAAE,OAAA;WAAU;AACrCC,UAAAA,mBAAmB,EAAE;AACnB,YAAA,aAAa,EAAAxD,oBAAAA,CAAAA,MAAA,CAAuB4C,MAAM,CAAChD,OAAO,CAAA;AACpD,WAAA;AAAE,SACH,CAAC,CAAA;AAAA,OACC,CAAC,CAAA;AAEV,KAAA;AACF,GAAC,EAAAI,MAAA,CAAAyD,kBAAA,CACG3B,kBAAkB,GAClB,CACE;AACEQ,IAAAA,KAAK,EAAEpD,aAAa;AACpBqD,IAAAA,SAAS,EAAE,eAAe;AAC1BC,IAAAA,GAAG,EAAE,eAAe;AACpBC,IAAAA,KAAK,EAAE,GAAA;GACR,CACF,GACD,EAAE,CAAA,EAAAgB,kBAAA,CACFxB,gBAAgB,GAChB,CACE;AACEK,IAAAA,KAAK,EAAE/C,WAAW;AAClBgD,IAAAA,SAAS,EAAE,aAAa;AACxBC,IAAAA,GAAG,EAAE,aAAa;AAClBC,IAAAA,KAAK,EAAE,GAAA;GACR,CACF,GACD,EAAE,CAAA,CAAA,CAAA;AAEV,CAAC,CAAA;AAEM,IAAMiB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,WAAW,EAAE5C,UAAU,EAAK;EAChE,IAAM6C,aAAa,GAAG5C,OAAO,CAACD,UAAU,CAAC,CAAC8C,MAAM,CAAC,UAAAC,KAAA,EAAkB;AAAA,IAAA,IAAAC,KAAA,GAAA5C,cAAA,CAAA2C,KAAA,EAAA,CAAA,CAAA;AAAhBtB,MAAAA,GAAG,GAAAuB,KAAA,CAAA,CAAA,CAAA;AAAEC,MAAAA,KAAK,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;IAC3D,IAAME,YAAY,GAAG3E,CAAC,CAAA,wBAAA,CAAAU,MAAA,CAA0BwC,GAAG,cAAW,CAAC,CAAA;AAC/D,IAAA,IAAM0B,cAAc,GAAA,CAAID,YAAY,CAAA,CAAAjE,MAAA,CAAAyD,kBAAA,CAAKU,MAAM,CAACvB,MAAM,CAACoB,KAAK,CAAC,CAAC,CAAA,CAAA;AAE9D,IAAA,OAAOE,cAAc,CAACE,IAAI,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OAC5BA,GAAG,CAACC,WAAW,EAAE,CAACC,QAAQ,CAACZ,WAAW,CAACW,WAAW,EAAE,CAAC,CAAA;AAAA,KACvD,CAAC,CAAA;AACH,GAAC,CAAC,CAAA;EAEF,OAAOE,SAAS,CAACZ,aAAa,CAAC,CAAA;AACjC,CAAC;;;;AC1FD,IAAMa,QAAQ,GAAG,SAAXA,QAAQA,CAAA9E,IAAA,EAMR;AAAA,EAAA,IALJ4B,YAAY,GAAA5B,IAAA,CAAZ4B,YAAY;IACZC,aAAa,GAAA7B,IAAA,CAAb6B,aAAa;IACbkD,aAAa,GAAA/E,IAAA,CAAb+E,aAAa;IACbC,MAAM,GAAAhF,IAAA,CAANgF,MAAM;IACNC,OAAO,GAAAjF,IAAA,CAAPiF,OAAO,CAAA;AAEP,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBxF,CAAC,GAAAuF,eAAA,CAADvF,CAAC,CAAA;AACT,EAAA,IAAMyF,eAAe,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAEpC,EAAA,IAAAC,kBAAA,GAAmC5E,iBAAiB,EAAE;IAAtC6E,cAAc,GAAAD,kBAAA,CAAtBE,MAAM,CAAA;AAEd,EAAA,IAAAvD,qBAAA,GAGIJ,aAAa,CAFfK,cAAc;AAAEuD,IAAAA,sBAAsB,GAAAxD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAG,qBAAA,GAE3CP,aAAa,CADfQ,YAAY;AAAEqD,IAAAA,oBAAoB,GAAAtD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA,CAAA;AAG3C,EAAA,IAAAG,qBAAA,GAGIX,YAAY,CAFdY,QAAQ;IAAEjD,aAAa,GAAAgD,qBAAA,KAAG5C,KAAAA,CAAAA,GAAAA,CAAC,CAAC,uCAAuC,CAAC,GAAA4C,qBAAA;IAAAE,oBAAA,GAElEb,YAAY,CADdc,MAAM;IAAE9C,WAAW,GAAA6C,oBAAA,KAAG9C,KAAAA,CAAAA,GAAAA,CAAC,CAAC,qCAAqC,CAAC,GAAA8C,oBAAA,CAAA;EAGhE,IAAMkD,YAAY,GAAG,SAAfA,YAAYA,CAAI1C,MAAM,EAAA1B,KAAA,EAAwB;AAAA,IAAA,IAApBqE,aAAa,GAAArE,KAAA,CAAbqE,aAAa,CAAA;AAC3C,IAAA,IAAQ3F,OAAO,GAAiCgD,MAAM,CAA9ChD,OAAO;MAAEV,aAAa,GAAkB0D,MAAM,CAArC1D,aAAa;MAAEK,WAAW,GAAKqD,MAAM,CAAtBrD,WAAW,CAAA;AAE3C,IAAA,IAAMM,OAAO,GAAG;AACd2F,MAAAA,QAAQ,EAAE;AACR5F,QAAAA,OAAO,EAAPA,OAAO;AACPV,QAAAA,aAAa,EAAEyB,WAAW,CAACzB,aAAa,CAAC;QACzCK,WAAW,EAAEoB,WAAW,CAACpB,WAAW,CAAA;AACtC,OAAA;KACD,CAAA;AAED,IAAA,IAAMe,OAAO,GAAG;AACdmF,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AACfC,QAAAA,qBAAqB,CAAClG,eAAe,CAACC,OAAO,EAAE;UAC7C+F,QAAQ,EAAE3F,OAAO,CAAC2F,QAAAA;AACpB,SAAC,CAAC,CAAA;AACFG,QAAAA,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;OACzB;AACDC,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEC,KAAK,EAAA;AAAA,QAAA,OAAIC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AAAA,OAAA;MACrCE,SAAS,EAAE,SAAXA,SAASA,GAAA;QAAA,OAAQV,aAAa,CAAC,KAAK,CAAC,CAAA;AAAA,OAAA;KACtC,CAAA;AAEDL,IAAAA,cAAc,CAAC;AAAEtF,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,OAAO,EAAPA,OAAAA;KAAS,EAAES,OAAO,CAAC,CAAA;GAC9C,CAAA;EAED,oBACEyC,IAAA,CAACmD,IAAI,EAAA;AACGnB,IAAAA,eAAe,EAAfA,eAAe;AAAEJ,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACtC,IAAA,aAAA,EAAY,oBAAoB;AAAA3B,IAAAA,QAAA,EAEhCC,cAAAA,GAAA,CAACgD,IAAI,CAACC,MAAM,EAAA;MAAAlD,QAAA,eACVC,GAAA,CAACC,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACgD,QAAAA,MAAM,EAAC,UAAU;QAAAnD,QAAA,eACtCC,GAAA,CAACmD,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,wCAAwC;AAChD1D,UAAAA,MAAM,EAAApC,eAAA,CAAA;YACJ+F,MAAM,EAAEjH,CAAC,CAAAU,wBAAAA,CAAAA,MAAA,CACkB0E,aAAa,CAAC9E,OAAO,EAChD,WAAA,CAAA,CAAA;AAAC,WAAA,EACGwF,sBAAsB,IAAIC,oBAAoB,GAC9CmB,MAAM,GACNC,QAAQ,CAAA;SAEf,CAAA;OACS,CAAA;AAAC,KACF,CAAC,eACd1D,IAAA,CAAC2D,IAAI,EAAA;AACHC,MAAAA,WAAW,EAAE;AACXjC,QAAAA,aAAa,EAAbA,aAAa;AACbkC,QAAAA,gBAAgB,EAAE9H,iBAAiB;AACnC+H,QAAAA,QAAQ,EAAEvB,YAAAA;OACV;AAAArC,MAAAA,QAAA,EAEFC,cAAAA,GAAA,CAACgD,IAAI,CAACY,IAAI,EAAA;AAAA7D,QAAAA,QAAA,eACRF,IAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,kBAAkB;AAAAC,UAAAA,QAAA,EAC9BmC,CAAAA,sBAAsB,iBACrBlC,GAAA,CAAC6D,KAAK,EAAA;YACJ1H,QAAQ,EAAA,IAAA;AACR2D,YAAAA,SAAS,EAAC,QAAQ;AAClB,YAAA,SAAA,EAAQ,+BAA+B;AACvC,YAAA,aAAA,EAAY,+BAA+B;AAC3CpC,YAAAA,KAAK,EAAE1B,aAAc;AACrB8H,YAAAA,IAAI,EAAC,eAAe;AACpBC,YAAAA,GAAG,EAAElC,eAAgB;AACrBmC,YAAAA,gBAAgB,EAAErI,wBAAAA;AAAyB,WAC5C,CACF,EACAwG,oBAAoB,iBACnBnC,GAAA,CAAC6D,KAAK,EAAA;YACJ1H,QAAQ,EAAA,IAAA;AACR2D,YAAAA,SAAS,EAAC,QAAQ;AAClB,YAAA,SAAA,EAAQ,6BAA6B;AACrC,YAAA,aAAA,EAAY,6BAA6B;AACzCpC,YAAAA,KAAK,EAAErB,WAAY;AACnByH,YAAAA,IAAI,EAAC,aAAa;AAClBE,YAAAA,gBAAgB,EAAErI,wBAAAA;AAAyB,WAC5C,CACF,CAAA;SACE,CAAA;AAAC,OACG,CAAC,eACZqE,GAAA,CAACgD,IAAI,CAACiB,MAAM,EAAA;QAAAlE,QAAA,eACVC,GAAA,CAACkE,WAAW,EAAA;AACVC,UAAAA,iBAAiB,EAAE;AAAEvE,YAAAA,OAAO,EAAE8B,OAAO;AAAE0C,YAAAA,QAAQ,EAAE,KAAA;WAAQ;AACzDtE,UAAAA,SAAS,EAAC,6BAAA;SACX,CAAA;AAAC,OACS,CAAC,CAAA;AAAA,KACV,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEX,CAAC;;AC1HD,IAAMuE,eAAe,GAAG,SAAlBA,eAAeA,CAAA5H,IAAA,EAMf;AAAA,EAAA,IALJ6H,aAAa,GAAA7H,IAAA,CAAb6H,aAAa;IACbC,UAAU,GAAA9H,IAAA,CAAV8H,UAAU;IACV9F,mBAAmB,GAAAhC,IAAA,CAAnBgC,mBAAmB;IACnBD,cAAc,GAAA/B,IAAA,CAAd+B,cAAc;IACdgG,cAAc,GAAA/H,IAAA,CAAd+H,cAAc,CAAA;AAEd,EAAA,IAAQC,IAAI,GAAeC,QAAQ,CAA3BD,IAAI;IAAEE,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ,CAAA;AAEtB,EAAA,OACE,CAAC,CAACJ,UAAU,iBACVvE,GAAA,CAAA4E,QAAA,EAAA;AAAA7E,IAAAA,QAAA,EACGuE,aAAa,GAAG,CAAC,gBAChBzE,IAAA,CAAA+E,QAAA,EAAA;MAAA7E,QAAA,EAAA,cACEC,GAAA,CAACC,UAAU,EAAA;AACTH,QAAAA,SAAS,EAAC,oBAAoB;AAC9B+E,QAAAA,SAAS,EAAC,IAAI;AACd,QAAA,SAAA,EAAQ,YAAY;QAAA9E,QAAA,eAEpBC,GAAA,CAACmD,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,sDAAsD;AAC9D1D,UAAAA,MAAM,EAAE;AAAEoF,YAAAA,KAAK,EAAER,aAAa;AAAEC,YAAAA,UAAU,EAAVA,UAAAA;WAAa;AAC7CQ,UAAAA,UAAU,EAAE;AACVC,YAAAA,IAAI,eAAEhF,GAAA,CAAA,MAAA,EAAA;AAAMF,cAAAA,SAAS,EAAC,wBAAA;aAA0B,CAAA;AAClD,WAAA;SACD,CAAA;AAAC,OACQ,CAAC,eACbE,GAAA,CAAC0E,QAAQ,EAAA;AACPO,QAAAA,WAAW,EAAC,WAAW;AACvBvH,QAAAA,KAAK,EAAEtB,CAAC,CAAC,gDAAgD,CAAE;QAAA2D,QAAA,eAE3DC,GAAA,CAACyE,IAAI,EAAA;AAAA1E,UAAAA,QAAA,eACHC,GAAA,CAAC2E,QAAQ,CAACO,MAAM,EAAA;AACdhF,YAAAA,KAAK,EAAC,WAAW;AACjBN,YAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;cACbpB,cAAc,CAACgG,cAAc,CAAC,CAAA;cAC9B/F,mBAAmB,CAAC,IAAI,CAAC,CAAA;aACzB;YAAAsB,QAAA,EAED3D,CAAC,CAAC,+CAA+C,CAAA;WACnC,CAAA;SACb,CAAA;AAAC,OACC,CAAC,CAAA;AAAA,KACX,CAAC,gBAEH4D,GAAA,CAACC,UAAU,EAAA;AACTH,MAAAA,SAAS,EAAC,oBAAoB;AAC9B+E,MAAAA,SAAS,EAAC,IAAI;AACd,MAAA,SAAA,EAAQ,YAAY;AAAA9E,MAAAA,QAAA,EAEnB3D,CAAC,CAAC,uDAAuD,EAAE;AAC1D0I,QAAAA,KAAK,EAAEP,UAAAA;OACR,CAAA;KACS,CAAA;AACb,GACD,CACH,CAAA;AAEL,CAAC;;;;ACrCD,IAAMY,QAAQ,GAAG,SAAXA,QAAQA,CAAA1I,IAAA,EAKR;AAAA,EAAA,IAJJ2I,WAAW,GAAA3I,IAAA,CAAX2I,WAAW;IAAAC,iBAAA,GAAA5I,IAAA,CACX4B,YAAY;AAAZA,IAAAA,YAAY,GAAAgH,iBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,iBAAA;IAAAC,kBAAA,GAAA7I,IAAA,CACjB6B,aAAa;AAAbA,IAAAA,aAAa,GAAAgH,kBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,kBAAA;IAAAC,qBAAA,GAAA9I,IAAA,CAClB+I,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA,CAAA;AAE1B,EAAA,IAAAE,SAAA,GAAgDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAA1H,cAAA,CAAAwH,SAAA,EAAA,CAAA,CAAA;AAAxDG,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAElH,IAAAA,mBAAmB,GAAAkH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,UAAA,GAA4DH,QAAQ,CAAC,KAAK,CAAC;IAAAI,UAAA,GAAA7H,cAAA,CAAA4H,UAAA,EAAA,CAAA,CAAA;AAApEE,IAAAA,sBAAsB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,yBAAyB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAAG,UAAA,GAA0CP,QAAQ,CAAC,EAAE,CAAC;IAAAQ,UAAA,GAAAjI,cAAA,CAAAgI,UAAA,EAAA,CAAA,CAAA;AAA/CzE,IAAAA,aAAa,GAAA0E,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAE,UAAA,GAA4CV,QAAQ,CAAC,EAAE,CAAC;IAAAW,UAAA,GAAApI,cAAA,CAAAmI,UAAA,EAAA,CAAA,CAAA;AAAjD5B,IAAAA,cAAc,GAAA6B,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAE,UAAA,GAAwCb,QAAQ,CAAC,EAAE,CAAC;IAAAc,WAAA,GAAAvI,cAAA,CAAAsI,UAAA,EAAA,CAAA,CAAA;AAA7CE,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAG,WAAA,GAAsCjB,QAAQ,CAAC,EAAE,CAAC;IAAAkB,WAAA,GAAA3I,cAAA,CAAA0I,WAAA,EAAA,CAAA,CAAA;AAA3CE,IAAAA,WAAW,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEpI,IAAAA,cAAc,GAAAoI,WAAA,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAE,WAAA,GAA4CpB,QAAQ,CAAC,KAAK,CAAC;IAAAqB,WAAA,GAAA9I,cAAA,CAAA6I,WAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,IAAA,OAASzE,MAAM,CAAC0E,UAAU,GAAG,IAAI,CAAA;AAAA,GAAA,CAAA;AAErD,EAAA,IAAAC,qBAAA,GAA0C5J,wBAAwB,EAAE;IAApD6J,qBAAqB,GAAAD,qBAAA,CAA7BnF,MAAM,CAAA;AAEd,EAAA,IAAMqF,gBAAgB,GAAGC,IAAI,CAACC,WAAW,CAAC3J,UAAU,CAAC,CAAA;AACrD,EAAA,IAAM4J,cAAc,GAAGC,IAAI,CAACJ,gBAAgB,EAAEzJ,UAAU,CAAC,CAAA;AAEzD,EAAA,IAAA8J,WAAA,GAAoDjC,QAAQ,CAAC+B,cAAc,CAAC;IAAAG,WAAA,GAAA3J,cAAA,CAAA0J,WAAA,EAAA,CAAA,CAAA;AAArEE,IAAAA,kBAAkB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,qBAAqB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,GAAG,EAAA;IAAA,OAAI1B,iBAAiB,CAAC0B,GAAG,CAAC,CAAA;AAAA,GAAA,CAAA;AAErD,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAMtL,OAAO,GAAG;AAAEuL,MAAAA,QAAQ,EAAErB,WAAAA;KAAa,CAAA;AAEzC,IAAA,IAAMzJ,OAAO,GAAG;MACdmF,SAAS,EAAE,SAAXA,SAASA,GAAA;AAAA,QAAA,OAAQE,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;AAAA,OAAA;AACzCC,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEC,KAAK,EAAA;AAAA,QAAA,OAAIC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AAAA,OAAA;KACtC,CAAA;AAEDwE,IAAAA,qBAAqB,CAAC1K,OAAO,EAAES,OAAO,CAAC,CAAA;GACxC,CAAA;AAED,EAAA,IAAMmB,UAAU,GAAG,SAAbA,UAAUA,CAAGmB,MAAM,EAAI;IAC3ByG,gBAAgB,CAACzG,MAAM,CAAC,CAAA;IACxBsG,yBAAyB,CAAC,IAAI,CAAC,CAAA;GAChC,CAAA;AAED,EAAA,IAAMmC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK,EAAI;AAC5B1B,IAAAA,eAAe,CAAC0B,KAAK,CAACC,MAAM,CAACvH,KAAK,CAAC,CAAA;IACnC,IAAMwH,aAAa,GAAG9H,qBAAqB,CACzC4H,KAAK,CAACC,MAAM,CAACvH,KAAK,EAClB2G,cACF,CAAC,CAAA;IACDK,qBAAqB,CAACQ,aAAa,CAAC,CAAA;GACrC,CAAA;AAEDC,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,MAAA,IAAItB,cAAc,EAAE,EAAED,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAC1CA,iBAAiB,CAAC,IAAI,CAAC,CAAA;KAC7B,CAAA;AACDxE,IAAAA,MAAM,CAACgG,gBAAgB,CAAC,QAAQ,EAAED,YAAY,CAAC,CAAA;IAE/C,OAAO,YAAA;AAAA,MAAA,OAAM/F,MAAM,CAACiG,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC,CAAA;AAAA,KAAA,CAAA;GAChE,EAAE,EAAE,CAAC,CAAA;EAEN,oBACE3I,IAAA,CAAC8I,SAAS,EAAA;IAAA5I,QAAA,EAAA,cACRC,GAAA,CAACiD,MAAM,EAAA;AACCmC,MAAAA,WAAW,EAAXA,WAAW;AACjBwD,MAAAA,IAAI,EAAE5B,cAAc,GAAG,OAAO,GAAG,OAAQ;AACzC5H,MAAAA,KAAK,EAAEhD,CAAC,CAAC,+BAA+B,CAAE;AAC1CyM,MAAAA,WAAW,EAAE;AACXC,QAAAA,QAAQ,EAAEX,YAAY;AACtBrH,QAAAA,KAAK,EAAE2F,YAAY;QACnBsC,WAAW,EAAE3M,CAAC,CAAC,wCAAwC,CAAA;OACvD;AACFoJ,MAAAA,qBAAqB,EAAAlI,aAAA,CAAA;AACnB0L,QAAAA,WAAW,EAAE5M,CAAC,CAAC,qCAAqC,CAAC;QACrDgD,KAAK,EAAEhD,CAAC,CAAC,+BAA+B,CAAA;AAAC,OAAA,EACtCoJ,qBAAqB,CAAA;AACxB,KACH,CAAC,eACFxF,GAAA,CAACiJ,SAAS,EAAA;MACRC,eAAe,eACblJ,GAAA,CAACqE,eAAe,EAAA;AACRG,QAAAA,cAAc,EAAdA,cAAc;AAAEhG,QAAAA,cAAc,EAAdA,cAAc;AAAEC,QAAAA,mBAAmB,EAAnBA,mBAAmB;QACzD6F,aAAa,EAAEE,cAAc,CAAC2E,MAAO;AACrC5E,QAAAA,UAAU,EAAEtD,MAAM,CAACmI,OAAO,CAACvB,kBAAkB,CAAC,CAACsB,MAAAA;OAChD,CAAA;KAEJ,CAAC,EACDE,UAAU,CAACxB,kBAAkB,CAAC,gBAC7BhI,IAAA,CAACyJ,YAAY,EAAA;MAAAvJ,QAAA,EAAA,cACXC,GAAA,CAACuJ,KAAK,EAAA;QACJC,WAAW,EAAA,IAAA;QACXC,YAAY,EAAA,IAAA;AACZC,QAAAA,aAAa,EAAE,KAAM;AACrBC,QAAAA,OAAO,EAAE/L,kBAAkB,CAACiK,kBAAkB,CAAE;AAChD+B,QAAAA,MAAM,EAAEC,IAAI,CAAC,SAAS,CAAE;AACxBC,QAAAA,MAAM,EAAE;AAAEC,UAAAA,CAAC,EAAE,CAAA;SAAI;AACjBC,QAAAA,eAAe,EAAExF,cAAe;AAChCyF,QAAAA,WAAW,EAAC,OAAO;QACnBC,UAAU,EAAE/L,aAAa,CAAC;AACxBE,UAAAA,YAAY,EAAZA,YAAY;AACZC,UAAAA,aAAa,EAAbA,aAAa;AACbC,UAAAA,UAAU,EAAVA,UAAU;AACVC,UAAAA,cAAc,EAAdA,cAAc;AACdC,UAAAA,mBAAmB,EAAnBA,mBAAAA;AACF,SAAC,CAAE;AACH0L,QAAAA,WAAW,EAAEpC,eAAAA;AAAgB,OAC9B,CAAC,eACF/H,GAAA,CAACuB,QAAQ,EAAA;AACDlD,QAAAA,YAAY,EAAZA,YAAY;AAAEC,QAAAA,aAAa,EAAbA,aAAa;AAAEkD,QAAAA,aAAa,EAAbA,aAAa;AAChDC,QAAAA,MAAM,EAAEsE,sBAAuB;QAC/BrE,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQsE,yBAAyB,CAAC,KAAK,CAAC,CAAA;AAAA,SAAA;AAAC,OACjD,CAAC,eACFhG,GAAA,CAACoK,KAAK,EAAA;AACJ3I,QAAAA,MAAM,EAAEmE,gBAAiB;AACzByE,QAAAA,iBAAiB,EAAEjO,CAAC,CAAC,uCAAuC,CAAE;AAC9DgD,QAAAA,KAAK,EAAEhD,CAAC,CAAC,0CAA0C,CAAE;QACrDkO,OAAO,eACLtK,GAAA,CAACmD,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,4CAA4C;AACpD1D,UAAAA,MAAM,EAAE;YACNoF,KAAK,EAAE+B,WAAW,CAACsC,MAAM;YACzBoB,IAAI,EAAEnO,CAAC,CAAAU,wBAAAA,CAAAA,MAAA,CAA0B+J,WAAW,CAAC,CAAC,CAAC,EAAW,WAAA,CAAA,CAAA;AAC5D,WAAA;AAAE,SACH,CACF;QACDnF,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQjD,mBAAmB,CAAC,KAAK,CAAC,CAAA;SAAC;AAC1CkF,QAAAA,QAAQ,EAAEsE,YAAAA;AAAa,OACxB,CAAC,CAAA;KACU,CAAC,gBAEfjI,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,gDAAgD;MAAAC,QAAA,eAC7DC,GAAA,CAACwK,MAAM,EAAA;QAACpL,KAAK,EAAEhD,CAAC,CAAC,gCAAgC,CAAA;OAAI,CAAA;AAAC,KACnD,CACN,CAAA;AAAA,GACQ,CAAC,CAAA;AAEhB,CAAC,CAAA;AA0BD,YAAeqO,SAAS,CAACtF,QAAQ,EAAE/I,CAAC,CAAC,sCAAsC,CAAC,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"Taxonomy.js","sources":["../src/components/Taxonomy/constants.js","../src/components/Taxonomy/api.js","../src/components/Taxonomy/useTaxonomyApi.js","../src/components/Taxonomy/utils.jsx","../src/components/Taxonomy/EditPane.jsx","../src/components/Taxonomy/LeftActionBlock.jsx","../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n\nexport const TAXONOMY_EVENTS = { UPDATED: \"taxonomy_updated\" };\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = ({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n}) => {\n const {\n singularColumn: showSingularColumn = true,\n pluralColumn: showPluralColumn = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n return [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n {...{ menuItems }}\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n />\n </div>\n );\n },\n },\n ...(showSingularColumn\n ? [\n {\n title: singularLabel,\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n ]\n : []),\n ...(showPluralColumn\n ? [\n {\n title: pluralLabel,\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n ]\n : []),\n ];\n};\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import { useRef } from \"react\";\n\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n LABEL_REJECT_CHARS_REGEX,\n TAXONOMY_EVENTS,\n VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({\n columnLabels,\n columnsToShow,\n initialValues,\n isOpen,\n onClose,\n}) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const {\n singularColumn: showSingularInputField = true,\n pluralColumn: showPluralInputField = true,\n } = columnsToShow;\n\n const {\n singular: singularLabel = t(\"neetoMolecules.taxonomy.singularLabel\"),\n plural: pluralLabel = t(\"neetoMolecules.taxonomy.pluralLabel\"),\n } = columnLabels;\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => {\n captureAnalyticsEvent(TAXONOMY_EVENTS.UPDATED, {\n taxonomy: payload.taxonomy,\n });\n window.location.reload();\n },\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.editPane.title\"\n values={{\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ),\n ...(showSingularInputField && showPluralInputField\n ? PLURAL\n : SINGULAR),\n }}\n />\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n {showSingularInputField && (\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={singularLabel}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n {showPluralInputField && (\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={pluralLabel}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({\n breadcrumbs,\n columnLabels = {},\n columnsToShow = {},\n titleHelpPopoverProps = {},\n}) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n titleHelpPopoverProps={{\n description: t(\"neetoMolecules.taxonomy.description\"),\n title: t(\"neetoMolecules.taxonomy.title\"),\n ...titleHelpPopoverProps,\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData({\n columnLabels,\n columnsToShow,\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen,\n })}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ columnLabels, columnsToShow, initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `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 * To provide custom column labels for the table.\n */\n columnLabels: PropTypes.object,\n /**\n * To show/hide columns in the table.\n */\n columnsToShow: PropTypes.object,\n /**\n * Props to be passed to the help popover in the title.\n */\n titleHelpPopoverProps: PropTypes.object,\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","TAXONOMY_EVENTS","UPDATED","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","_ref3","columnLabels","columnsToShow","handleEdit","setCurrentKeys","setIsResetModalOpen","_columnsToShow$singul","singularColumn","showSingularColumn","_columnsToShow$plural","pluralColumn","showPluralColumn","_columnLabels$singula","singular","_columnLabels$plural","plural","title","dataIndex","key","width","render","_","values","menuItems","onClick","_jsxs","className","children","_jsx","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","_toConsumableArray","getFilteredTaxonomies","matchString","filteredArray","filter","_ref4","_ref5","value","defaultLabel","valuesToSearch","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","showSingularInputField","showPluralInputField","handleSubmit","setSubmitting","taxonomy","onSuccess","captureAnalyticsEvent","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","Trans","i18nKey","entity","PLURAL","SINGULAR","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","_Fragment","component","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_ref$columnLabels","_ref$columnsToShow","_ref$titleHelpPopover","titleHelpPopoverProps","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","description","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAMA,wBAAwB,GAAG,kBAAkB,CAAA;AAEnD,IAAMC,iBAAiB,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAClDC,EAAAA,aAAa,EAAEH,GAAG,CACfI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,oEAAoE,CACxE,CAAC;AACHC,EAAAA,WAAW,EAAER,GAAG,CACbI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,kEAAkE,CACtE,CAAA;AACJ,CAAC,CAAC,CAAA;AAEK,IAAME,eAAe,GAAG;AAAEC,EAAAA,OAAO,EAAE,kBAAA;AAAmB,CAAC;;ACjB9D,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO,CAAA;AAAA,EAAA,OAChCC,KAAK,CAACC,KAAK,CAAA,EAAA,CAAAC,MAAA,CAAIC,eAAe,EAAA,cAAA,CAAA,CAAAD,MAAA,CAAeJ,OAAO,CAAA,EAAIC,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAMK,WAAW,GAAG,SAAdA,WAAWA,CAAGL,OAAO,EAAA;AAAA,EAAA,OACzBC,KAAK,CAAO,QAAA,CAAA,CAAA,EAAA,CAAAE,MAAA,CAAIC,eAAe,EAA4B,0BAAA,CAAA,EAAA;AACzDE,IAAAA,IAAI,EAAEN,OAAAA;AACR,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMO,aAAa,GAAG;AAAEV,EAAAA,MAAM,EAANA,MAAM;AAAEQ,EAAAA,WAAW,EAAXA,WAAAA;AAAY,CAAC;;;;ACP7C,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,OAAO,EAAA;EAAA,OAC/BC,WAAW,CAAAC,eAAA,CAAA;IAAGC,UAAU,EAAEL,aAAa,CAACV,MAAAA;GAAWY,EAAAA,OAAO,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/D,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGJ,OAAO,EAAA;EAAA,OACtCC,WAAW,CAAAC,eAAA,CAAA;IAAGC,UAAU,EAAEL,aAAa,CAACF,WAAAA;GAAgBI,EAAAA,OAAO,CAAE,CAAC,CAAA;AAAA,CAAA;;ACD7D,IAAMK,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAAIC,UAAU,CAACD,KAAK,CAACxB,IAAI,EAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAErD,IAAM0B,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,UAAU,EAAA;EAAA,OAC1CC,OAAO,CAACD,UAAU,CAAC,CAACE,GAAG,CAAC,UAAAtB,IAAA,EAAA;AAAA,IAAA,IAAAuB,KAAA,GAAAC,cAAA,CAAAxB,IAAA,EAAA,CAAA,CAAA;AAAEC,MAAAA,OAAO,GAAAsB,KAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,MAAM,GAAAF,KAAA,CAAA,CAAA,CAAA,CAAA;IAAA,OAAO;AAC9CtB,MAAAA,OAAO,EAAPA,OAAO;AACPV,MAAAA,aAAa,EAAEkC,MAAM,CAAC,UAAU,CAAC;MACjC7B,WAAW,EAAE6B,MAAM,CAAC,QAAQ,CAAA;KAC7B,CAAA;AAAA,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEE,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAMpB;AAAA,EAAA,IALJC,YAAY,GAAAD,KAAA,CAAZC,YAAY;IACZC,aAAa,GAAAF,KAAA,CAAbE,aAAa;IACbC,UAAU,GAAAH,KAAA,CAAVG,UAAU;IACVC,cAAc,GAAAJ,KAAA,CAAdI,cAAc;IACdC,mBAAmB,GAAAL,KAAA,CAAnBK,mBAAmB,CAAA;AAEnB,EAAA,IAAAC,qBAAA,GAGIJ,aAAa,CAFfK,cAAc;AAAEC,IAAAA,kBAAkB,GAAAF,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAG,qBAAA,GAEvCP,aAAa,CADfQ,YAAY;AAAEC,IAAAA,gBAAgB,GAAAF,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA,CAAA;AAGvC,EAAA,IAAAG,qBAAA,GAGIX,YAAY,CAFdY,QAAQ;IAAEjD,aAAa,GAAAgD,qBAAA,KAAG5C,KAAAA,CAAAA,GAAAA,CAAC,CAAC,uCAAuC,CAAC,GAAA4C,qBAAA;IAAAE,oBAAA,GAElEb,YAAY,CADdc,MAAM;IAAE9C,WAAW,GAAA6C,oBAAA,KAAG9C,KAAAA,CAAAA,GAAAA,CAAC,CAAC,qCAAqC,CAAC,GAAA8C,oBAAA,CAAA;EAGhE,OACE,CAAA;AACEE,IAAAA,KAAK,EAAEhD,CAAC,CAAC,sCAAsC,CAAC;AAChDiD,IAAAA,SAAS,EAAE,SAAS;AACpBC,IAAAA,GAAG,EAAE,cAAc;AACnBC,IAAAA,KAAK,EAAE,GAAG;AACVC,IAAAA,MAAM,EAAE,SAAAA,MAAAA,CAACC,CAAC,EAAEC,MAAM,EAAK;MACrB,IAAMC,SAAS,GAAG,CAChB;AACEL,QAAAA,GAAG,EAAE,MAAM;AACX5B,QAAAA,KAAK,EAAEtB,CAAC,CAAC,oCAAoC,CAAC;QAC9CwD,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMrB,UAAU,CAACmB,MAAM,CAAC,CAAA;AAAA,SAAA;AACnC,OAAC,EACD;AACEJ,QAAAA,GAAG,EAAE,OAAO;AACZ5B,QAAAA,KAAK,EAAEtB,CAAC,CAAC,+CAA+C,CAAC;QACzDwD,OAAO,EAAE,SAAAA,OAAAA,GAAM;AACbpB,UAAAA,cAAc,CAAC,CAACkB,MAAM,CAAChD,OAAO,CAAC,CAAC,CAAA;UAChC+B,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC3B,SAAA;AACF,OAAC,CACF,CAAA;AAED,MAAA,oBACEoB,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,2CAA2C;QAAAC,QAAA,EAAA,cACxDC,GAAA,CAACC,UAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,OAAO;UAAAH,QAAA,EACtB3D,CAAC,CAAAU,wBAAAA,CAAAA,MAAA,CAA0B4C,MAAM,CAAChD,OAAO,EAAW,WAAA,CAAA,CAAA;AAAC,SAC5C,CAAC,eACbsD,GAAA,CAACG,YAAY,EAAA;AACLR,UAAAA,SAAS,EAATA,SAAS;AACfS,UAAAA,aAAa,EAAE;AAAEC,YAAAA,QAAQ,EAAE,OAAA;WAAU;AACrCC,UAAAA,mBAAmB,EAAE;AACnB,YAAA,aAAa,EAAAxD,oBAAAA,CAAAA,MAAA,CAAuB4C,MAAM,CAAChD,OAAO,CAAA;AACpD,WAAA;AAAE,SACH,CAAC,CAAA;AAAA,OACC,CAAC,CAAA;AAEV,KAAA;AACF,GAAC,EAAAI,MAAA,CAAAyD,kBAAA,CACG3B,kBAAkB,GAClB,CACE;AACEQ,IAAAA,KAAK,EAAEpD,aAAa;AACpBqD,IAAAA,SAAS,EAAE,eAAe;AAC1BC,IAAAA,GAAG,EAAE,eAAe;AACpBC,IAAAA,KAAK,EAAE,GAAA;GACR,CACF,GACD,EAAE,CAAA,EAAAgB,kBAAA,CACFxB,gBAAgB,GAChB,CACE;AACEK,IAAAA,KAAK,EAAE/C,WAAW;AAClBgD,IAAAA,SAAS,EAAE,aAAa;AACxBC,IAAAA,GAAG,EAAE,aAAa;AAClBC,IAAAA,KAAK,EAAE,GAAA;GACR,CACF,GACD,EAAE,CAAA,CAAA,CAAA;AAEV,CAAC,CAAA;AAEM,IAAMiB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,WAAW,EAAE5C,UAAU,EAAK;EAChE,IAAM6C,aAAa,GAAG5C,OAAO,CAACD,UAAU,CAAC,CAAC8C,MAAM,CAAC,UAAAC,KAAA,EAAkB;AAAA,IAAA,IAAAC,KAAA,GAAA5C,cAAA,CAAA2C,KAAA,EAAA,CAAA,CAAA;AAAhBtB,MAAAA,GAAG,GAAAuB,KAAA,CAAA,CAAA,CAAA;AAAEC,MAAAA,KAAK,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;IAC3D,IAAME,YAAY,GAAG3E,CAAC,CAAA,wBAAA,CAAAU,MAAA,CAA0BwC,GAAG,cAAW,CAAC,CAAA;AAC/D,IAAA,IAAM0B,cAAc,GAAA,CAAID,YAAY,CAAA,CAAAjE,MAAA,CAAAyD,kBAAA,CAAKU,MAAM,CAACvB,MAAM,CAACoB,KAAK,CAAC,CAAC,CAAA,CAAA;AAE9D,IAAA,OAAOE,cAAc,CAACE,IAAI,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OAC5BA,GAAG,CAACC,WAAW,EAAE,CAACC,QAAQ,CAACZ,WAAW,CAACW,WAAW,EAAE,CAAC,CAAA;AAAA,KACvD,CAAC,CAAA;AACH,GAAC,CAAC,CAAA;EAEF,OAAOE,SAAS,CAACZ,aAAa,CAAC,CAAA;AACjC,CAAC;;;;AC1FD,IAAMa,QAAQ,GAAG,SAAXA,QAAQA,CAAA9E,IAAA,EAMR;AAAA,EAAA,IALJ4B,YAAY,GAAA5B,IAAA,CAAZ4B,YAAY;IACZC,aAAa,GAAA7B,IAAA,CAAb6B,aAAa;IACbkD,aAAa,GAAA/E,IAAA,CAAb+E,aAAa;IACbC,MAAM,GAAAhF,IAAA,CAANgF,MAAM;IACNC,OAAO,GAAAjF,IAAA,CAAPiF,OAAO,CAAA;AAEP,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBxF,CAAC,GAAAuF,eAAA,CAADvF,CAAC,CAAA;AACT,EAAA,IAAMyF,eAAe,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAEpC,EAAA,IAAAC,kBAAA,GAAmC5E,iBAAiB,EAAE;IAAtC6E,cAAc,GAAAD,kBAAA,CAAtBE,MAAM,CAAA;AAEd,EAAA,IAAAvD,qBAAA,GAGIJ,aAAa,CAFfK,cAAc;AAAEuD,IAAAA,sBAAsB,GAAAxD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAG,qBAAA,GAE3CP,aAAa,CADfQ,YAAY;AAAEqD,IAAAA,oBAAoB,GAAAtD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA,CAAA;AAG3C,EAAA,IAAAG,qBAAA,GAGIX,YAAY,CAFdY,QAAQ;IAAEjD,aAAa,GAAAgD,qBAAA,KAAG5C,KAAAA,CAAAA,GAAAA,CAAC,CAAC,uCAAuC,CAAC,GAAA4C,qBAAA;IAAAE,oBAAA,GAElEb,YAAY,CADdc,MAAM;IAAE9C,WAAW,GAAA6C,oBAAA,KAAG9C,KAAAA,CAAAA,GAAAA,CAAC,CAAC,qCAAqC,CAAC,GAAA8C,oBAAA,CAAA;EAGhE,IAAMkD,YAAY,GAAG,SAAfA,YAAYA,CAAI1C,MAAM,EAAA1B,KAAA,EAAwB;AAAA,IAAA,IAApBqE,aAAa,GAAArE,KAAA,CAAbqE,aAAa,CAAA;AAC3C,IAAA,IAAQ3F,OAAO,GAAiCgD,MAAM,CAA9ChD,OAAO;MAAEV,aAAa,GAAkB0D,MAAM,CAArC1D,aAAa;MAAEK,WAAW,GAAKqD,MAAM,CAAtBrD,WAAW,CAAA;AAE3C,IAAA,IAAMM,OAAO,GAAG;AACd2F,MAAAA,QAAQ,EAAE;AACR5F,QAAAA,OAAO,EAAPA,OAAO;AACPV,QAAAA,aAAa,EAAEyB,WAAW,CAACzB,aAAa,CAAC;QACzCK,WAAW,EAAEoB,WAAW,CAACpB,WAAW,CAAA;AACtC,OAAA;KACD,CAAA;AAED,IAAA,IAAMe,OAAO,GAAG;MACdmF,SAAS,EAAE,SAAAA,SAAAA,GAAM;AACfC,QAAAA,qBAAqB,CAAClG,eAAe,CAACC,OAAO,EAAE;UAC7C+F,QAAQ,EAAE3F,OAAO,CAAC2F,QAAAA;AACpB,SAAC,CAAC,CAAA;AACFG,QAAAA,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;OACzB;MACDC,OAAO,EAAE,SAAAA,OAAAA,CAAAC,KAAK,EAAA;AAAA,QAAA,OAAIC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AAAA,OAAA;MACrCE,SAAS,EAAE,SAAAA,SAAA,GAAA;QAAA,OAAMV,aAAa,CAAC,KAAK,CAAC,CAAA;AAAA,OAAA;KACtC,CAAA;AAEDL,IAAAA,cAAc,CAAC;AAAEtF,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,OAAO,EAAPA,OAAAA;KAAS,EAAES,OAAO,CAAC,CAAA;GAC9C,CAAA;EAED,oBACEyC,IAAA,CAACmD,IAAI,EAAA;AACGnB,IAAAA,eAAe,EAAfA,eAAe;AAAEJ,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACtC,IAAA,aAAA,EAAY,oBAAoB;AAAA3B,IAAAA,QAAA,EAEhCC,cAAAA,GAAA,CAACgD,IAAI,CAACC,MAAM,EAAA;MAAAlD,QAAA,eACVC,GAAA,CAACC,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACgD,QAAAA,MAAM,EAAC,UAAU;QAAAnD,QAAA,eACtCC,GAAA,CAACmD,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,wCAAwC;AAChD1D,UAAAA,MAAM,EAAApC,eAAA,CAAA;YACJ+F,MAAM,EAAEjH,CAAC,CAAAU,wBAAAA,CAAAA,MAAA,CACkB0E,aAAa,CAAC9E,OAAO,EAChD,WAAA,CAAA,CAAA;AAAC,WAAA,EACGwF,sBAAsB,IAAIC,oBAAoB,GAC9CmB,MAAM,GACNC,QAAQ,CAAA;SAEf,CAAA;OACS,CAAA;AAAC,KACF,CAAC,eACd1D,IAAA,CAAC2D,IAAI,EAAA;AACHC,MAAAA,WAAW,EAAE;AACXjC,QAAAA,aAAa,EAAbA,aAAa;AACbkC,QAAAA,gBAAgB,EAAE9H,iBAAiB;AACnC+H,QAAAA,QAAQ,EAAEvB,YAAAA;OACV;AAAArC,MAAAA,QAAA,EAEFC,cAAAA,GAAA,CAACgD,IAAI,CAACY,IAAI,EAAA;AAAA7D,QAAAA,QAAA,eACRF,IAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,kBAAkB;AAAAC,UAAAA,QAAA,EAC9BmC,CAAAA,sBAAsB,iBACrBlC,GAAA,CAAC6D,KAAK,EAAA;YACJ1H,QAAQ,EAAA,IAAA;AACR2D,YAAAA,SAAS,EAAC,QAAQ;AAClB,YAAA,SAAA,EAAQ,+BAA+B;AACvC,YAAA,aAAA,EAAY,+BAA+B;AAC3CpC,YAAAA,KAAK,EAAE1B,aAAc;AACrB8H,YAAAA,IAAI,EAAC,eAAe;AACpBC,YAAAA,GAAG,EAAElC,eAAgB;AACrBmC,YAAAA,gBAAgB,EAAErI,wBAAAA;AAAyB,WAC5C,CACF,EACAwG,oBAAoB,iBACnBnC,GAAA,CAAC6D,KAAK,EAAA;YACJ1H,QAAQ,EAAA,IAAA;AACR2D,YAAAA,SAAS,EAAC,QAAQ;AAClB,YAAA,SAAA,EAAQ,6BAA6B;AACrC,YAAA,aAAA,EAAY,6BAA6B;AACzCpC,YAAAA,KAAK,EAAErB,WAAY;AACnByH,YAAAA,IAAI,EAAC,aAAa;AAClBE,YAAAA,gBAAgB,EAAErI,wBAAAA;AAAyB,WAC5C,CACF,CAAA;SACE,CAAA;AAAC,OACG,CAAC,eACZqE,GAAA,CAACgD,IAAI,CAACiB,MAAM,EAAA;QAAAlE,QAAA,eACVC,GAAA,CAACkE,WAAW,EAAA;AACVC,UAAAA,iBAAiB,EAAE;AAAEvE,YAAAA,OAAO,EAAE8B,OAAO;AAAE0C,YAAAA,QAAQ,EAAE,KAAA;WAAQ;AACzDtE,UAAAA,SAAS,EAAC,6BAAA;SACX,CAAA;AAAC,OACS,CAAC,CAAA;AAAA,KACV,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEX,CAAC;;AC1HD,IAAMuE,eAAe,GAAG,SAAlBA,eAAeA,CAAA5H,IAAA,EAMf;AAAA,EAAA,IALJ6H,aAAa,GAAA7H,IAAA,CAAb6H,aAAa;IACbC,UAAU,GAAA9H,IAAA,CAAV8H,UAAU;IACV9F,mBAAmB,GAAAhC,IAAA,CAAnBgC,mBAAmB;IACnBD,cAAc,GAAA/B,IAAA,CAAd+B,cAAc;IACdgG,cAAc,GAAA/H,IAAA,CAAd+H,cAAc,CAAA;AAEd,EAAA,IAAQC,IAAI,GAAeC,QAAQ,CAA3BD,IAAI;IAAEE,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ,CAAA;AAEtB,EAAA,OACE,CAAC,CAACJ,UAAU,iBACVvE,GAAA,CAAA4E,QAAA,EAAA;AAAA7E,IAAAA,QAAA,EACGuE,aAAa,GAAG,CAAC,gBAChBzE,IAAA,CAAA+E,QAAA,EAAA;MAAA7E,QAAA,EAAA,cACEC,GAAA,CAACC,UAAU,EAAA;AACTH,QAAAA,SAAS,EAAC,oBAAoB;AAC9B+E,QAAAA,SAAS,EAAC,IAAI;AACd,QAAA,SAAA,EAAQ,YAAY;QAAA9E,QAAA,eAEpBC,GAAA,CAACmD,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,sDAAsD;AAC9D1D,UAAAA,MAAM,EAAE;AAAEoF,YAAAA,KAAK,EAAER,aAAa;AAAEC,YAAAA,UAAU,EAAVA,UAAAA;WAAa;AAC7CQ,UAAAA,UAAU,EAAE;AACVC,YAAAA,IAAI,eAAEhF,GAAA,CAAA,MAAA,EAAA;AAAMF,cAAAA,SAAS,EAAC,wBAAA;aAA0B,CAAA;AAClD,WAAA;SACD,CAAA;AAAC,OACQ,CAAC,eACbE,GAAA,CAAC0E,QAAQ,EAAA;AACPO,QAAAA,WAAW,EAAC,WAAW;AACvBvH,QAAAA,KAAK,EAAEtB,CAAC,CAAC,gDAAgD,CAAE;QAAA2D,QAAA,eAE3DC,GAAA,CAACyE,IAAI,EAAA;AAAA1E,UAAAA,QAAA,eACHC,GAAA,CAAC2E,QAAQ,CAACO,MAAM,EAAA;AACdhF,YAAAA,KAAK,EAAC,WAAW;YACjBN,OAAO,EAAE,SAAAA,OAAAA,GAAM;cACbpB,cAAc,CAACgG,cAAc,CAAC,CAAA;cAC9B/F,mBAAmB,CAAC,IAAI,CAAC,CAAA;aACzB;YAAAsB,QAAA,EAED3D,CAAC,CAAC,+CAA+C,CAAA;WACnC,CAAA;SACb,CAAA;AAAC,OACC,CAAC,CAAA;AAAA,KACX,CAAC,gBAEH4D,GAAA,CAACC,UAAU,EAAA;AACTH,MAAAA,SAAS,EAAC,oBAAoB;AAC9B+E,MAAAA,SAAS,EAAC,IAAI;AACd,MAAA,SAAA,EAAQ,YAAY;AAAA9E,MAAAA,QAAA,EAEnB3D,CAAC,CAAC,uDAAuD,EAAE;AAC1D0I,QAAAA,KAAK,EAAEP,UAAAA;OACR,CAAA;KACS,CAAA;AACb,GACD,CACH,CAAA;AAEL,CAAC;;;;ACrCD,IAAMY,QAAQ,GAAG,SAAXA,QAAQA,CAAA1I,IAAA,EAKR;AAAA,EAAA,IAJJ2I,WAAW,GAAA3I,IAAA,CAAX2I,WAAW;IAAAC,iBAAA,GAAA5I,IAAA,CACX4B,YAAY;AAAZA,IAAAA,YAAY,GAAAgH,iBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,iBAAA;IAAAC,kBAAA,GAAA7I,IAAA,CACjB6B,aAAa;AAAbA,IAAAA,aAAa,GAAAgH,kBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,kBAAA;IAAAC,qBAAA,GAAA9I,IAAA,CAClB+I,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA,CAAA;AAE1B,EAAA,IAAAE,SAAA,GAAgDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAA1H,cAAA,CAAAwH,SAAA,EAAA,CAAA,CAAA;AAAxDG,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAElH,IAAAA,mBAAmB,GAAAkH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,UAAA,GAA4DH,QAAQ,CAAC,KAAK,CAAC;IAAAI,UAAA,GAAA7H,cAAA,CAAA4H,UAAA,EAAA,CAAA,CAAA;AAApEE,IAAAA,sBAAsB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,yBAAyB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAAG,UAAA,GAA0CP,QAAQ,CAAC,EAAE,CAAC;IAAAQ,UAAA,GAAAjI,cAAA,CAAAgI,UAAA,EAAA,CAAA,CAAA;AAA/CzE,IAAAA,aAAa,GAAA0E,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAE,UAAA,GAA4CV,QAAQ,CAAC,EAAE,CAAC;IAAAW,UAAA,GAAApI,cAAA,CAAAmI,UAAA,EAAA,CAAA,CAAA;AAAjD5B,IAAAA,cAAc,GAAA6B,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAE,UAAA,GAAwCb,QAAQ,CAAC,EAAE,CAAC;IAAAc,WAAA,GAAAvI,cAAA,CAAAsI,UAAA,EAAA,CAAA,CAAA;AAA7CE,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAG,WAAA,GAAsCjB,QAAQ,CAAC,EAAE,CAAC;IAAAkB,WAAA,GAAA3I,cAAA,CAAA0I,WAAA,EAAA,CAAA,CAAA;AAA3CE,IAAAA,WAAW,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEpI,IAAAA,cAAc,GAAAoI,WAAA,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAE,WAAA,GAA4CpB,QAAQ,CAAC,KAAK,CAAC;IAAAqB,WAAA,GAAA9I,cAAA,CAAA6I,WAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,IAAA,OAASzE,MAAM,CAAC0E,UAAU,GAAG,IAAI,CAAA;AAAA,GAAA,CAAA;AAErD,EAAA,IAAAC,qBAAA,GAA0C5J,wBAAwB,EAAE;IAApD6J,qBAAqB,GAAAD,qBAAA,CAA7BnF,MAAM,CAAA;AAEd,EAAA,IAAMqF,gBAAgB,GAAGC,IAAI,CAACC,WAAW,CAAC3J,UAAU,CAAC,CAAA;AACrD,EAAA,IAAM4J,cAAc,GAAGC,IAAI,CAACJ,gBAAgB,EAAEzJ,UAAU,CAAC,CAAA;AAEzD,EAAA,IAAA8J,WAAA,GAAoDjC,QAAQ,CAAC+B,cAAc,CAAC;IAAAG,WAAA,GAAA3J,cAAA,CAAA0J,WAAA,EAAA,CAAA,CAAA;AAArEE,IAAAA,kBAAkB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,qBAAqB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,GAAG,EAAA;IAAA,OAAI1B,iBAAiB,CAAC0B,GAAG,CAAC,CAAA;AAAA,GAAA,CAAA;AAErD,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAMtL,OAAO,GAAG;AAAEuL,MAAAA,QAAQ,EAAErB,WAAAA;KAAa,CAAA;AAEzC,IAAA,IAAMzJ,OAAO,GAAG;MACdmF,SAAS,EAAE,SAAAA,SAAA,GAAA;AAAA,QAAA,OAAME,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;AAAA,OAAA;MACzCC,OAAO,EAAE,SAAAA,OAAAA,CAAAC,KAAK,EAAA;AAAA,QAAA,OAAIC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AAAA,OAAA;KACtC,CAAA;AAEDwE,IAAAA,qBAAqB,CAAC1K,OAAO,EAAES,OAAO,CAAC,CAAA;GACxC,CAAA;AAED,EAAA,IAAMmB,UAAU,GAAG,SAAbA,UAAUA,CAAGmB,MAAM,EAAI;IAC3ByG,gBAAgB,CAACzG,MAAM,CAAC,CAAA;IACxBsG,yBAAyB,CAAC,IAAI,CAAC,CAAA;GAChC,CAAA;AAED,EAAA,IAAMmC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK,EAAI;AAC5B1B,IAAAA,eAAe,CAAC0B,KAAK,CAACC,MAAM,CAACvH,KAAK,CAAC,CAAA;IACnC,IAAMwH,aAAa,GAAG9H,qBAAqB,CACzC4H,KAAK,CAACC,MAAM,CAACvH,KAAK,EAClB2G,cACF,CAAC,CAAA;IACDK,qBAAqB,CAACQ,aAAa,CAAC,CAAA;GACrC,CAAA;AAEDC,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,MAAA,IAAItB,cAAc,EAAE,EAAED,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAC1CA,iBAAiB,CAAC,IAAI,CAAC,CAAA;KAC7B,CAAA;AACDxE,IAAAA,MAAM,CAACgG,gBAAgB,CAAC,QAAQ,EAAED,YAAY,CAAC,CAAA;IAE/C,OAAO,YAAA;AAAA,MAAA,OAAM/F,MAAM,CAACiG,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC,CAAA;AAAA,KAAA,CAAA;GAChE,EAAE,EAAE,CAAC,CAAA;EAEN,oBACE3I,IAAA,CAAC8I,SAAS,EAAA;IAAA5I,QAAA,EAAA,cACRC,GAAA,CAACiD,MAAM,EAAA;AACCmC,MAAAA,WAAW,EAAXA,WAAW;AACjBwD,MAAAA,IAAI,EAAE5B,cAAc,GAAG,OAAO,GAAG,OAAQ;AACzC5H,MAAAA,KAAK,EAAEhD,CAAC,CAAC,+BAA+B,CAAE;AAC1CyM,MAAAA,WAAW,EAAE;AACXC,QAAAA,QAAQ,EAAEX,YAAY;AACtBrH,QAAAA,KAAK,EAAE2F,YAAY;QACnBsC,WAAW,EAAE3M,CAAC,CAAC,wCAAwC,CAAA;OACvD;AACFoJ,MAAAA,qBAAqB,EAAAlI,aAAA,CAAA;AACnB0L,QAAAA,WAAW,EAAE5M,CAAC,CAAC,qCAAqC,CAAC;QACrDgD,KAAK,EAAEhD,CAAC,CAAC,+BAA+B,CAAA;AAAC,OAAA,EACtCoJ,qBAAqB,CAAA;AACxB,KACH,CAAC,eACFxF,GAAA,CAACiJ,SAAS,EAAA;MACRC,eAAe,eACblJ,GAAA,CAACqE,eAAe,EAAA;AACRG,QAAAA,cAAc,EAAdA,cAAc;AAAEhG,QAAAA,cAAc,EAAdA,cAAc;AAAEC,QAAAA,mBAAmB,EAAnBA,mBAAmB;QACzD6F,aAAa,EAAEE,cAAc,CAAC2E,MAAO;AACrC5E,QAAAA,UAAU,EAAEtD,MAAM,CAACmI,OAAO,CAACvB,kBAAkB,CAAC,CAACsB,MAAAA;OAChD,CAAA;KAEJ,CAAC,EACDE,UAAU,CAACxB,kBAAkB,CAAC,gBAC7BhI,IAAA,CAACyJ,YAAY,EAAA;MAAAvJ,QAAA,EAAA,cACXC,GAAA,CAACuJ,KAAK,EAAA;QACJC,WAAW,EAAA,IAAA;QACXC,YAAY,EAAA,IAAA;AACZC,QAAAA,aAAa,EAAE,KAAM;AACrBC,QAAAA,OAAO,EAAE/L,kBAAkB,CAACiK,kBAAkB,CAAE;AAChD+B,QAAAA,MAAM,EAAEC,IAAI,CAAC,SAAS,CAAE;AACxBC,QAAAA,MAAM,EAAE;AAAEC,UAAAA,CAAC,EAAE,CAAA;SAAI;AACjBC,QAAAA,eAAe,EAAExF,cAAe;AAChCyF,QAAAA,WAAW,EAAC,OAAO;QACnBC,UAAU,EAAE/L,aAAa,CAAC;AACxBE,UAAAA,YAAY,EAAZA,YAAY;AACZC,UAAAA,aAAa,EAAbA,aAAa;AACbC,UAAAA,UAAU,EAAVA,UAAU;AACVC,UAAAA,cAAc,EAAdA,cAAc;AACdC,UAAAA,mBAAmB,EAAnBA,mBAAAA;AACF,SAAC,CAAE;AACH0L,QAAAA,WAAW,EAAEpC,eAAAA;AAAgB,OAC9B,CAAC,eACF/H,GAAA,CAACuB,QAAQ,EAAA;AACDlD,QAAAA,YAAY,EAAZA,YAAY;AAAEC,QAAAA,aAAa,EAAbA,aAAa;AAAEkD,QAAAA,aAAa,EAAbA,aAAa;AAChDC,QAAAA,MAAM,EAAEsE,sBAAuB;QAC/BrE,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMsE,yBAAyB,CAAC,KAAK,CAAC,CAAA;AAAA,SAAA;AAAC,OACjD,CAAC,eACFhG,GAAA,CAACoK,KAAK,EAAA;AACJ3I,QAAAA,MAAM,EAAEmE,gBAAiB;AACzByE,QAAAA,iBAAiB,EAAEjO,CAAC,CAAC,uCAAuC,CAAE;AAC9DgD,QAAAA,KAAK,EAAEhD,CAAC,CAAC,0CAA0C,CAAE;QACrDkO,OAAO,eACLtK,GAAA,CAACmD,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,4CAA4C;AACpD1D,UAAAA,MAAM,EAAE;YACNoF,KAAK,EAAE+B,WAAW,CAACsC,MAAM;YACzBoB,IAAI,EAAEnO,CAAC,CAAAU,wBAAAA,CAAAA,MAAA,CAA0B+J,WAAW,CAAC,CAAC,CAAC,EAAW,WAAA,CAAA,CAAA;AAC5D,WAAA;AAAE,SACH,CACF;QACDnF,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMjD,mBAAmB,CAAC,KAAK,CAAC,CAAA;SAAC;AAC1CkF,QAAAA,QAAQ,EAAEsE,YAAAA;AAAa,OACxB,CAAC,CAAA;KACU,CAAC,gBAEfjI,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,gDAAgD;MAAAC,QAAA,eAC7DC,GAAA,CAACwK,MAAM,EAAA;QAACpL,KAAK,EAAEhD,CAAC,CAAC,gCAAgC,CAAA;OAAI,CAAA;AAAC,KACnD,CACN,CAAA;AAAA,GACQ,CAAC,CAAA;AAEhB,CAAC,CAAA;AA0BD,YAAeqO,SAAS,CAACtF,QAAQ,EAAE/I,CAAC,CAAC,sCAAsC,CAAC,CAAC;;;;"}
|