@bigbinary/neeto-molecules 4.2.0 → 4.3.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/{Columns-DpeV3Jzz.js → Columns-gR00LMKF.js} +2 -2
- package/dist/Columns-gR00LMKF.js.map +1 -0
- package/dist/{ConfigureView-B0UvLoJe.js → ConfigureView-CG1M2-3b.js} +4 -15
- package/dist/ConfigureView-CG1M2-3b.js.map +1 -0
- package/dist/check-DvxzqR83.js +15 -0
- package/dist/check-DvxzqR83.js.map +1 -0
- package/dist/chevron-down-BMerqYpK.js +15 -0
- package/dist/chevron-down-BMerqYpK.js.map +1 -0
- package/dist/chevron-left-BTVCxPw8.js +15 -0
- package/dist/chevron-left-BTVCxPw8.js.map +1 -0
- package/dist/cjs/{Columns-C2ke8N58.js → Columns-Brpr2a_M.js} +2 -2
- package/dist/cjs/Columns-Brpr2a_M.js.map +1 -0
- package/dist/cjs/{ConfigureView-Coy1ViRc.js → ConfigureView-BVRHqVpb.js} +5 -16
- package/dist/cjs/ConfigureView-BVRHqVpb.js.map +1 -0
- package/dist/cjs/check-VgZf0qTr.js +17 -0
- package/dist/cjs/check-VgZf0qTr.js.map +1 -0
- package/dist/cjs/chevron-down-DwiliwN1.js +17 -0
- package/dist/cjs/chevron-down-DwiliwN1.js.map +1 -0
- package/dist/cjs/chevron-left-DWN80ILn.js +17 -0
- package/dist/cjs/chevron-left-DWN80ILn.js.map +1 -0
- package/dist/cjs/{useKeyboardShortcutsPaneState-BG_xVteC.js → useKeyboardShortcutsPaneState-DZUnpw9v.js} +2 -2
- package/dist/cjs/useKeyboardShortcutsPaneState-DZUnpw9v.js.map +1 -0
- package/dist/cjs/v2/AuditLogs.js +8 -8
- package/dist/cjs/v2/AuditLogs.js.map +1 -1
- package/dist/cjs/v2/BoardView.js +427 -0
- package/dist/cjs/v2/BoardView.js.map +1 -0
- package/dist/cjs/v2/Breadcrumbs.js +2 -2
- package/dist/cjs/v2/Breadcrumbs.js.map +1 -1
- package/dist/cjs/v2/CalendarView.js +429 -0
- package/dist/cjs/v2/CalendarView.js.map +1 -0
- package/dist/cjs/v2/Columns.js +2 -2
- package/dist/cjs/v2/ConfigurePageSidebar.js +4 -3
- package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/v2/CopyToClipboardButton.js +3 -13
- package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/v2/DateFormat.js +42 -0
- package/dist/cjs/v2/DateFormat.js.map +1 -0
- package/dist/cjs/v2/DocumentEditor.js +329 -0
- package/dist/cjs/v2/DocumentEditor.js.map +1 -0
- package/dist/cjs/v2/EmojiPicker.js +125 -0
- package/dist/cjs/v2/EmojiPicker.js.map +1 -0
- package/dist/cjs/v2/Engagements.js +283 -0
- package/dist/cjs/v2/Engagements.js.map +1 -0
- package/dist/cjs/v2/ErrorPage.js +1 -1
- package/dist/cjs/v2/ErrorPage.js.map +1 -1
- package/dist/cjs/v2/FileUpload.js +644 -0
- package/dist/cjs/v2/FileUpload.js.map +1 -0
- package/dist/cjs/v2/FinderModal.js +253 -0
- package/dist/cjs/v2/FinderModal.js.map +1 -0
- package/dist/cjs/v2/FloatingActionMenu.js +11 -9
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/Header.js +6 -6
- package/dist/cjs/v2/InlineInput.js +293 -0
- package/dist/cjs/v2/InlineInput.js.map +1 -0
- package/dist/cjs/v2/KeyboardShortcuts.js +3 -3
- package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/v2/LoginPage.js +1 -1
- package/dist/cjs/v2/LoginPage.js.map +1 -1
- package/dist/cjs/v2/MenuBar.js +2 -2
- package/dist/cjs/v2/MenuBar.js.map +1 -1
- package/dist/cjs/v2/MoreDropdown.js +1 -1
- package/dist/cjs/v2/MoreDropdown.js.map +1 -1
- package/dist/cjs/v2/NavigationHeader.js +328 -0
- package/dist/cjs/v2/NavigationHeader.js.map +1 -0
- package/dist/cjs/v2/PublishBlock.js +414 -0
- package/dist/cjs/v2/PublishBlock.js.map +1 -0
- package/dist/cjs/v2/Rename.js +350 -0
- package/dist/cjs/v2/Rename.js.map +1 -0
- package/dist/cjs/v2/Scrollable.js +37 -0
- package/dist/cjs/v2/Scrollable.js.map +1 -0
- package/dist/cjs/v2/Search.js +5 -5
- package/dist/cjs/v2/Search.js.map +1 -1
- package/dist/cjs/v2/Settings.js +6 -6
- package/dist/cjs/v2/Settings.js.map +1 -1
- package/dist/cjs/v2/Sidebar.js +8 -7
- package/dist/cjs/v2/Sidebar.js.map +1 -1
- package/dist/cjs/v2/StickyRibbonsContainer.js +4 -4
- package/dist/cjs/v2/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/v2/SubHeader.js +3 -3
- package/dist/cjs/v2/SubHeader.js.map +1 -1
- package/dist/cjs/v2/TimeFormat.js +15 -0
- package/dist/cjs/v2/TimeFormat.js.map +1 -0
- package/dist/{useKeyboardShortcutsPaneState-dNIbb_PI.js → useKeyboardShortcutsPaneState-BlyFMEtW.js} +2 -2
- package/dist/useKeyboardShortcutsPaneState-BlyFMEtW.js.map +1 -0
- package/dist/v2/AuditLogs.js +8 -8
- package/dist/v2/AuditLogs.js.map +1 -1
- package/dist/v2/BoardView.js +425 -0
- package/dist/v2/BoardView.js.map +1 -0
- package/dist/v2/Breadcrumbs.js +2 -2
- package/dist/v2/Breadcrumbs.js.map +1 -1
- package/dist/v2/CalendarView.js +427 -0
- package/dist/v2/CalendarView.js.map +1 -0
- package/dist/v2/Columns.js +2 -2
- package/dist/v2/ConfigurePageSidebar.js +4 -3
- package/dist/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/v2/CopyToClipboardButton.js +2 -12
- package/dist/v2/CopyToClipboardButton.js.map +1 -1
- package/dist/v2/DateFormat.js +40 -0
- package/dist/v2/DateFormat.js.map +1 -0
- package/dist/v2/DocumentEditor.js +327 -0
- package/dist/v2/DocumentEditor.js.map +1 -0
- package/dist/v2/EmojiPicker.js +123 -0
- package/dist/v2/EmojiPicker.js.map +1 -0
- package/dist/v2/Engagements.js +281 -0
- package/dist/v2/Engagements.js.map +1 -0
- package/dist/v2/ErrorPage.js +1 -1
- package/dist/v2/ErrorPage.js.map +1 -1
- package/dist/v2/FileUpload.js +641 -0
- package/dist/v2/FileUpload.js.map +1 -0
- package/dist/v2/FinderModal.js +251 -0
- package/dist/v2/FinderModal.js.map +1 -0
- package/dist/v2/FloatingActionMenu.js +11 -9
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/Header.js +6 -6
- package/dist/v2/InlineInput.js +290 -0
- package/dist/v2/InlineInput.js.map +1 -0
- package/dist/v2/KeyboardShortcuts.js +3 -3
- package/dist/v2/KeyboardShortcuts.js.map +1 -1
- package/dist/v2/LoginPage.js +1 -1
- package/dist/v2/LoginPage.js.map +1 -1
- package/dist/v2/MenuBar.js +2 -2
- package/dist/v2/MenuBar.js.map +1 -1
- package/dist/v2/MoreDropdown.js +1 -1
- package/dist/v2/MoreDropdown.js.map +1 -1
- package/dist/v2/NavigationHeader.js +326 -0
- package/dist/v2/NavigationHeader.js.map +1 -0
- package/dist/v2/PublishBlock.js +412 -0
- package/dist/v2/PublishBlock.js.map +1 -0
- package/dist/v2/Rename.js +348 -0
- package/dist/v2/Rename.js.map +1 -0
- package/dist/v2/Scrollable.js +35 -0
- package/dist/v2/Scrollable.js.map +1 -0
- package/dist/v2/Search.js +5 -5
- package/dist/v2/Search.js.map +1 -1
- package/dist/v2/Settings.js +6 -6
- package/dist/v2/Settings.js.map +1 -1
- package/dist/v2/Sidebar.js +8 -7
- package/dist/v2/Sidebar.js.map +1 -1
- package/dist/v2/StickyRibbonsContainer.js +4 -4
- package/dist/v2/StickyRibbonsContainer.js.map +1 -1
- package/dist/v2/SubHeader.js +3 -3
- package/dist/v2/SubHeader.js.map +1 -1
- package/dist/v2/TimeFormat.js +13 -0
- package/dist/v2/TimeFormat.js.map +1 -0
- package/package.json +5 -5
- package/src/translations/en.json +4 -2
- package/types/v2/BoardView.d.ts +27 -0
- package/types/v2/CalendarView.d.ts +40 -0
- package/types/v2/DateFormat.d.ts +19 -0
- package/types/v2/DocumentEditor.d.ts +20 -0
- package/types/v2/EmojiPicker.d.ts +14 -0
- package/types/v2/Engagements.d.ts +50 -0
- package/types/v2/FileUpload.d.ts +30 -0
- package/types/v2/FinderModal.d.ts +24 -0
- package/types/v2/InlineInput.d.ts +28 -0
- package/types/v2/NavigationHeader.d.ts +80 -0
- package/types/v2/PublishBlock.d.ts +39 -0
- package/types/v2/Rename.d.ts +33 -0
- package/types/v2/Scrollable.d.ts +15 -0
- package/types/v2/TimeFormat.d.ts +17 -0
- package/dist/Columns-DpeV3Jzz.js.map +0 -1
- package/dist/ConfigureView-B0UvLoJe.js.map +0 -1
- package/dist/cjs/Columns-C2ke8N58.js.map +0 -1
- package/dist/cjs/ConfigureView-Coy1ViRc.js.map +0 -1
- package/dist/cjs/useKeyboardShortcutsPaneState-BG_xVteC.js.map +0 -1
- package/dist/useKeyboardShortcutsPaneState-dNIbb_PI.js.map +0 -1
package/dist/v2/Settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sources":["../../src/v2/components/Settings/constants.js","../../src/v2/components/Settings/IntegrationItem.jsx","../../src/v2/components/Settings/Item.jsx","../../src/v2/components/Settings/Category.jsx","../../src/v2/components/Settings/utils.js","../../src/v2/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport { Badge, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst IntegrationItem = ({\n icon: Icon = null,\n description,\n label,\n path,\n href,\n isConnected,\n isMobileOrTablet = false,\n className = \"\",\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const commonProps = {\n \"data-testid\": `${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`,\n className: classnames(\n \"relative flex cursor-pointer flex-col items-start gap-3 rounded-lg border border-border px-6 py-6 no-underline outline-none transition-shadow duration-300 ease-in-out md:py-8 lg:flex-row xl:gap-4\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n {Icon && (\n <div className=\"border-border mt-0.5 flex shrink-0 items-center justify-center rounded-lg border p-1.5 shadow-sm xl:p-2.5\">\n <Icon\n data-testid={`${joinHyphenCase(label)}-integration-icon`}\n size={isMobileOrTablet ? 26 : 32}\n />\n </div>\n )}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <Typography\n className=\"flex flex-wrap items-center gap-2\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n variant=\"h5\"\n weight=\"semibold\"\n >\n {label}\n {isConnected && (\n <Badge data-testid=\"integration-status-tag\" variant=\"green\">\n {t(\"neetoMolecules.integrationCard.connected\")}\n </Badge>\n )}\n </Typography>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n </LinkElement>\n );\n};\n\nIntegrationItem.propTypes = {\n /**\n * The icon component to display. Accepts lucide-react icons or brand logos.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * A description of the integration.\n */\n description: PropTypes.string,\n /**\n * The label text for the integration item.\n */\n label: PropTypes.string.isRequired,\n /**\n * The internal route path for the integration item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the integration item link.\n */\n href: PropTypes.string,\n /**\n * Whether the integration is currently connected.\n */\n isConnected: PropTypes.bool,\n /**\n * Whether the current viewport is mobile or tablet size.\n */\n isMobileOrTablet: PropTypes.bool,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n};\n\nexport default memo(IntegrationItem);\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n href,\n dataTestid,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const commonProps = {\n \"data-testid\": dataTestid,\n className: classnames(\n \"group flex cursor-pointer flex-col gap-y-4 rounded-lg border border-border p-6 no-underline outline-none transition-shadow duration-300 ease-in-out\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n <div className=\"mb-2.5 flex items-center gap-3\">\n {Icon && <Icon className=\"text-muted-foreground\" size={24} />}\n <Typography asChild variant=\"h5\" weight=\"semibold\">\n <span data-settings-heading=\"\" data-testid=\"settings-item-heading\">\n {label}\n </span>\n </Typography>\n </div>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"border-border border-t pt-3\">{children}</div>\n )}\n </LinkElement>\n );\n};\n\nItem.propTypes = {\n /**\n * The label text for the settings item.\n */\n label: PropTypes.string.isRequired,\n /**\n * A description of the settings item.\n */\n description: PropTypes.string,\n /**\n * The icon component to display. Accepts lucide-react icons.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * The internal route path for the settings item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the settings item link.\n */\n href: PropTypes.string,\n /**\n * A custom data-testid attribute for the link element.\n */\n dataTestid: PropTypes.string,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n /**\n * Optional children rendered below the description, separated by a border.\n */\n children: PropTypes.node,\n};\n\nexport default memo(Item);\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const { isSize } = useBreakpoints();\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n const isMobileOrTablet = isSize(\"mobile\") || isSize(\"tablet\");\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classnames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography asChild variant=\"h4\" weight=\"semibold\">\n <h2 className=\"mt-2 mb-4\" data-testid=\"settings-category-heading\">\n {label}\n </h2>\n </Typography>\n )}\n <div\n className={classnames(\n \"grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-4\",\n {\n \"xl:grid-cols-2 2xl:grid-cols-3\": isIntegration,\n \"xl:grid-cols-3 2xl:grid-cols-4\": !isIntegration,\n }\n )}\n >\n {items.map(item => (\n <SettingsCard\n key={item.label}\n {...item}\n {...(isIntegration && { isMobileOrTablet })}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport useQueryParams from \"neetocommons/react-utils/useQueryParams\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nimport Header from \"../Header\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n headerProps = {},\n categories = [],\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classnames(\n \"flex h-dvh grow flex-col items-start justify-start overflow-y-auto px-5 md:px-10\",\n { \"h-auto overflow-y-auto\": isTitleHidden },\n className\n )}\n >\n {isHeaderVisible && (\n <Header\n className={classnames({ \"min-h-0 pt-8 pb-4\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n {...headerProps}\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <div className=\"text-muted-foreground flex flex-col items-center gap-2\">\n <p className=\"text-lg font-medium\">\n {t(\"neetoMolecules.settingsPage.noData\")}\n </p>\n </div>\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: PropTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: PropTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: PropTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: PropTypes.array,\n /**\n * Additional classes to be added to the container.\n */\n className: PropTypes.string,\n /**\n * Props to be passed to the header component.\n */\n headerProps: PropTypes.object,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","IntegrationItem","_ref","_ref$icon","icon","Icon","description","label","path","href","isConnected","_ref$isMobileOrTablet","isMobileOrTablet","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","commonProps","_objectSpread","concat","hyphenate","replace","classnames","omit","LinkElement","Link","linkProps","to","_jsxs","children","_jsx","joinHyphenCase","size","Typography","variant","weight","Badge","memo","Item","dataTestid","asChild","Category","items","id","isIntegration","_useBreakpoints","useBreakpoints","isSize","SettingsCard","isLabelPresent","isPresent","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_ref$headerProps","headerProps","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","_createElement","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../../src/v2/components/Settings/constants.js","../../src/v2/components/Settings/IntegrationItem.jsx","../../src/v2/components/Settings/Item.jsx","../../src/v2/components/Settings/Category.jsx","../../src/v2/components/Settings/utils.js","../../src/v2/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport { Badge, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst IntegrationItem = ({\n icon: Icon = null,\n description,\n label,\n path,\n href,\n isConnected,\n isMobileOrTablet = false,\n className = \"\",\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const commonProps = {\n \"data-testid\": `${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`,\n className: classnames(\n \"relative flex cursor-pointer flex-col items-start gap-3 rounded-lg border border-border px-6 py-6 no-underline outline-none transition-shadow duration-300 ease-in-out md:py-8 lg:flex-row xl:gap-4\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n {Icon && (\n <div className=\"border-border mt-0.5 flex shrink-0 items-center justify-center rounded-lg border p-1.5 shadow-sm xl:p-2.5\">\n <Icon\n data-testid={`${joinHyphenCase(label)}-integration-icon`}\n size={isMobileOrTablet ? 26 : 32}\n />\n </div>\n )}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <Typography\n className=\"flex flex-wrap items-center gap-2\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n variant=\"h5\"\n weight=\"semibold\"\n >\n {label}\n {isConnected && (\n <Badge data-testid=\"integration-status-tag\" variant=\"green\">\n {t(\"neetoMolecules.integrationCard.connected\")}\n </Badge>\n )}\n </Typography>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n </LinkElement>\n );\n};\n\nIntegrationItem.propTypes = {\n /**\n * The icon component to display. Accepts lucide-react icons or brand logos.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * A description of the integration.\n */\n description: PropTypes.string,\n /**\n * The label text for the integration item.\n */\n label: PropTypes.string.isRequired,\n /**\n * The internal route path for the integration item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the integration item link.\n */\n href: PropTypes.string,\n /**\n * Whether the integration is currently connected.\n */\n isConnected: PropTypes.bool,\n /**\n * Whether the current viewport is mobile or tablet size.\n */\n isMobileOrTablet: PropTypes.bool,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n};\n\nexport default memo(IntegrationItem);\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n href,\n dataTestid,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const commonProps = {\n \"data-testid\": dataTestid,\n className: classnames(\n \"group flex cursor-pointer flex-col gap-y-4 rounded-lg border border-border p-6 no-underline outline-none transition-shadow duration-300 ease-in-out\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n <div className=\"mb-2.5 flex items-center gap-3\">\n {Icon && <Icon className=\"text-muted-foreground\" size={24} />}\n <Typography asChild variant=\"h5\" weight=\"semibold\">\n <span data-settings-heading=\"\" data-testid=\"settings-item-heading\">\n {label}\n </span>\n </Typography>\n </div>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"border-border border-t pt-3\">{children}</div>\n )}\n </LinkElement>\n );\n};\n\nItem.propTypes = {\n /**\n * The label text for the settings item.\n */\n label: PropTypes.string.isRequired,\n /**\n * A description of the settings item.\n */\n description: PropTypes.string,\n /**\n * The icon component to display. Accepts lucide-react icons.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * The internal route path for the settings item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the settings item link.\n */\n href: PropTypes.string,\n /**\n * A custom data-testid attribute for the link element.\n */\n dataTestid: PropTypes.string,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n /**\n * Optional children rendered below the description, separated by a border.\n */\n children: PropTypes.node,\n};\n\nexport default memo(Item);\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/v2/react-utils\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const { isSize } = useBreakpoints();\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n const isMobileOrTablet = isSize(\"mobile\") || isSize(\"tablet\");\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classnames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography asChild variant=\"h4\" weight=\"semibold\">\n <h2 className=\"mt-2 mb-4\" data-testid=\"settings-category-heading\">\n {label}\n </h2>\n </Typography>\n )}\n <div\n className={classnames(\n \"grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-4\",\n {\n \"xl:grid-cols-2 2xl:grid-cols-3\": isIntegration,\n \"xl:grid-cols-3 2xl:grid-cols-4\": !isIntegration,\n }\n )}\n >\n {items.map(item => (\n <SettingsCard\n key={item.label}\n {...item}\n {...(isIntegration && { isMobileOrTablet })}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport useQueryParams from \"neetocommons/v2/react-utils/useQueryParams\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nimport Header from \"../Header\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n headerProps = {},\n categories = [],\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classnames(\n \"flex h-dvh grow flex-col items-start justify-start overflow-y-auto px-5 md:px-10\",\n { \"h-auto overflow-y-auto\": isTitleHidden },\n className\n )}\n >\n {isHeaderVisible && (\n <Header\n className={classnames({ \"min-h-0 pt-8 pb-4\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n {...headerProps}\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <div className=\"text-muted-foreground flex flex-col items-center gap-2\">\n <p className=\"text-lg font-medium\">\n {t(\"neetoMolecules.settingsPage.noData\")}\n </p>\n </div>\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: PropTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: PropTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: PropTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: PropTypes.array,\n /**\n * Additional classes to be added to the container.\n */\n className: PropTypes.string,\n /**\n * Props to be passed to the header component.\n */\n headerProps: PropTypes.object,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","IntegrationItem","_ref","_ref$icon","icon","Icon","description","label","path","href","isConnected","_ref$isMobileOrTablet","isMobileOrTablet","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","commonProps","_objectSpread","concat","hyphenate","replace","classnames","omit","LinkElement","Link","linkProps","to","_jsxs","children","_jsx","joinHyphenCase","size","Typography","variant","weight","Badge","memo","Item","dataTestid","asChild","Category","items","id","isIntegration","_useBreakpoints","useBreakpoints","isSize","SettingsCard","isLabelPresent","isPresent","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_ref$headerProps","headerProps","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","_createElement","key"],"mappings":"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"}
|
package/dist/v2/Sidebar.js
CHANGED
|
@@ -2,14 +2,14 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
2
2
|
import { memo, useState, Fragment, useRef, useEffect, useCallback, useMemo } from 'react';
|
|
3
3
|
import { SidebarMenuItem, SidebarGroup, SidebarGroupContent, SidebarMenu, SidebarMenuButton, SidebarMenuSub, SidebarProvider, useSidebar, Sidebar as Sidebar$1, SidebarHeader, SidebarTrigger, SidebarContent, SidebarRail } from '@bigbinary/neeto-atoms/primitives';
|
|
4
4
|
import { capitalize, isPresent, hyphenate, isNotEmpty, isNot } from '@bigbinary/neeto-cist';
|
|
5
|
-
import useLocalStorage from '@bigbinary/neeto-commons-frontend/react-utils/useLocalStorage';
|
|
5
|
+
import useLocalStorage from '@bigbinary/neeto-commons-frontend/v2/react-utils/useLocalStorage';
|
|
6
6
|
import { append, is, findLast } from 'ramda';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
8
8
|
import { Link, useLocation, useHistory } from 'react-router-dom';
|
|
9
|
-
import { u as useKeyboardShortcutsPaneState } from '../useKeyboardShortcutsPaneState-
|
|
10
|
-
import { S as SPECIAL_APP_NAMES, D as DEFAULT_HOME_PATH, f as filterByPermissions, a as CheckPointNavLinks, P as PINNED_MORE_NAV_LINKS_KEY, b as SubLinkItem, g as getSidebarStateLocalStorageKey, c as SIDEBAR_WIDTH_KEY, d as DEFAULT_SIDEBAR_WIDTH, e as SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, C as ConfigureView, h as getActiveConfigurePageLink, M as MIN_SIDEBAR_WIDTH, i as MAX_SIDEBAR_WIDTH } from '../ConfigureView-
|
|
9
|
+
import { u as useKeyboardShortcutsPaneState } from '../useKeyboardShortcutsPaneState-BlyFMEtW.js';
|
|
10
|
+
import { S as SPECIAL_APP_NAMES, D as DEFAULT_HOME_PATH, f as filterByPermissions, a as CheckPointNavLinks, P as PINNED_MORE_NAV_LINKS_KEY, b as SubLinkItem, g as getSidebarStateLocalStorageKey, c as SIDEBAR_WIDTH_KEY, d as DEFAULT_SIDEBAR_WIDTH, e as SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, C as ConfigureView, h as getActiveConfigurePageLink, M as MIN_SIDEBAR_WIDTH, i as MAX_SIDEBAR_WIDTH } from '../ConfigureView-CG1M2-3b.js';
|
|
11
11
|
import classnames from 'classnames';
|
|
12
|
-
import { globalProps as globalProps$1 } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
12
|
+
import { globalProps as globalProps$1 } from '@bigbinary/neeto-commons-frontend/v2/initializers';
|
|
13
13
|
import Neeto from '@bigbinary/neeto-icons/typeface-logos/Neeto';
|
|
14
14
|
import * as AppIcons from '@bigbinary/neeto-icons/typeface-logos';
|
|
15
15
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
@@ -22,11 +22,12 @@ import { E as Ellipsis } from '../ellipsis-DpI9xqUK.js';
|
|
|
22
22
|
import { C as ChevronRight } from '../chevron-right-DcaO-Hlu.js';
|
|
23
23
|
import { n } from '../inject-css-C2dztUxs.js';
|
|
24
24
|
import 'zustand/shallow';
|
|
25
|
-
import '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
|
|
25
|
+
import '@bigbinary/neeto-commons-frontend/v2/react-utils/withImmutableActions';
|
|
26
26
|
import 'zustand';
|
|
27
|
-
import '@bigbinary/neeto-commons-frontend/utils/general';
|
|
28
|
-
import '@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint';
|
|
27
|
+
import '@bigbinary/neeto-commons-frontend/v2/utils/general';
|
|
28
|
+
import '@bigbinary/neeto-commons-frontend/v2/react-utils/useRegisterNavigationCheckpoint';
|
|
29
29
|
import '@bigbinary/neeto-filters-frontend/v2/Segments';
|
|
30
|
+
import '../chevron-left-BTVCxPw8.js';
|
|
30
31
|
import '../createLucideIcon-mNMhCCpf.js';
|
|
31
32
|
|
|
32
33
|
var Header = function Header(_ref) {
|
package/dist/v2/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../src/v2/components/Sidebar/Components/Header.jsx","../../src/v2/components/Sidebar/Components/AddAction.jsx","../../src/v2/components/Sidebar/Components/PinIcon.jsx","../../src/v2/components/Sidebar/Components/UnpinIcon.jsx","../../src/v2/components/Sidebar/Components/MoreDropdown.jsx","../../src/v2/components/Sidebar/Components/NavLinks.jsx","../../src/v2/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_PATH, SPECIAL_APP_NAMES } from \"../constants\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const normalizedName = (productName || \"\").trim().toLowerCase();\n const specialCase = SPECIAL_APP_NAMES[normalizedName];\n const logoName = specialCase\n ? `Neeto${specialCase}`\n : `Neeto${capitalize(normalizedName)}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div className=\"px-4 py-3\" data-testid=\"sidebar-info\">\n <Link\n to={DEFAULT_HOME_PATH}\n className={classnames(\"mt-2 block w-full py-2\", {\n \"cursor-pointer\": isOnboarded,\n \"pointer-events-none\": !isOnboarded,\n })}\n onClick={clearSettingsNav}\n >\n {globalProps.sidebarTitle ? (\n <span className=\"text-sidebar-foreground text-xl leading-9 font-bold\">\n {globalProps.sidebarTitle}\n </span>\n ) : (\n <LogoComponent className=\"h-9 w-auto max-w-full\" />\n )}\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Plus } from \"lucide-react\";\n\nconst AddAction = ({ actions }) => (\n <DropdownMenu\n dropdownProps={{ align: \"end\", side: \"bottom\" }}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-sidebar-ring absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden focus-visible:ring-2 md:opacity-0 md:group-focus-within/menu-item:opacity-100 md:group-hover/menu-item:opacity-100\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus />\n </button>\n }\n >\n {actions.map(action => (\n <DropdownMenu.MenuItem\n key={action.key}\n onClick={() => {\n action.onClick?.();\n }}\n >\n {action.label}\n </DropdownMenu.MenuItem>\n ))}\n </DropdownMenu>\n);\n\nexport default AddAction;\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { Badge, Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { SidebarMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport { Ellipsis } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport PinIcon from \"./PinIcon\";\nimport UnpinIcon from \"./UnpinIcon\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const isRTL = document.documentElement.dir === \"rtl\";\n\n return (\n <SidebarMenuItem>\n <DropdownMenu\n closeOnSelect={false}\n position={isRTL ? \"left-start\" : \"right-start\"}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex w-full items-center gap-2 rounded-md p-2 text-sm outline-hidden\"\n data-testid=\"more-nav-links-dropdown-button\"\n >\n <Ellipsis />\n <span className=\"truncate\">{t(\"neetoMolecules.sidebar.more\")}</span>\n </button>\n }\n dropdownProps={{\n className: \"z-[99999] p-0\",\n \"data-testid\": \"more-nav-links-dropdown-menu\",\n }}\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const { label, icon, key: navLinkKey, to, onClick, tag } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n\n return (\n <DropdownMenu.MenuItem\n data-testid={label}\n key={navLinkKey || index}\n onSelect={e => e.preventDefault()}\n >\n <CheckPointNavLinks\n {...{ onClick, to }}\n className=\"flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1\"\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {label}\n {tag && <Badge {...tag} />}\n </span>\n </span>\n <Tooltip\n position=\"right\"\n content={\n isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\")\n }\n >\n <Button\n className=\"flex-shrink-0\"\n data-testid=\"pin-button\"\n size=\"icon-sm\"\n variant=\"ghost\"\n onClick={event => handleTogglePin(navLink, event)}\n >\n {isPinned ? (\n <UnpinIcon otherProps={{}} size={16} />\n ) : (\n <PinIcon otherProps={{}} size={16} />\n )}\n </Button>\n </Tooltip>\n </CheckPointNavLinks>\n </DropdownMenu.MenuItem>\n );\n })}\n </DropdownMenu>\n </SidebarMenuItem>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronRight } from \"lucide-react\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { append, is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddAction from \"./AddAction\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport MoreDropdown from \"./MoreDropdown\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../constants\";\nimport { filterByPermissions } from \"../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst NavLinks = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [expandedNavLinkKeys, setExpandedNavLinkKeys] = useState([]);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) {\n setExpandedNavLinkKeys([]);\n\n return;\n }\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n const navLinkKey = navLink.key || navLink.to;\n if (isActive()) {\n const isExpanded = expandedNavLinkKeys.includes(navLinkKey);\n setExpandedNavLinkKeys(isExpanded ? [] : [navLinkKey]);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setExpandedNavLinkKeys([navLinkKey]);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <SidebarGroup>\n <SidebarGroupContent>\n <SidebarMenu className=\"gap-1\">\n {combinedNavLinks\n .filter(filterByPermissions)\n .map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n addActions = [],\n tag,\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 isExpandable = items || Component;\n const navLinkKey = navLink.key || navLink.to;\n const isMenuExpanded =\n expandedNavLinkKeys.includes(navLinkKey) &&\n !isCountsLoadingDeprecated;\n\n const handleCaretClick = event => {\n event.preventDefault();\n event.stopPropagation();\n setExpandedNavLinkKeys(keys =>\n keys.includes(navLinkKey)\n ? keys.filter(isNot(navLinkKey))\n : append(navLinkKey, keys)\n );\n };\n\n return (\n <Fragment key={navLink.key || index}>\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild\n className=\"h-10\"\n isActive={isActive()}\n >\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"font-medium\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event => {\n handleNavLinkClick({ event, isActive, navLink });\n onClick?.(event);\n }}\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span className=\"relative\" data-testid={label}>\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"bg-destructive text-destructive-foreground absolute -end-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full px-0.5 text-[10px]\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <span className=\"flex-grow truncate\">{label}</span>\n {tag && <Badge {...tag} />}\n {isExpandable && !isConfigureNavLink && (\n <span\n className=\"ms-auto shrink-0 transition-transform duration-200\"\n role=\"button\"\n tabIndex={-1}\n style={{\n transform: isMenuExpanded\n ? \"rotate(90deg)\"\n : \"rotate(0deg)\",\n }}\n onClick={handleCaretClick}\n >\n <ChevronRight className=\"rtl:rotate-180\" />\n </span>\n )}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n {isNotEmpty(addActions) && (\n <AddAction actions={addActions} />\n )}\n </SidebarMenuItem>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <SidebarMenuSub>\n {items\n .filter(filterByPermissions)\n .map((subItem, subIndex) => (\n <SubLinkItem\n key={subIndex}\n {...{ ...subItem, isCountsLoading }}\n href={subItem.href}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown\n {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }}\n />\n )}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default NavLinks;\n","import { useCallback, useEffect, useMemo, useRef } from \"react\";\n\nimport {\n Sidebar as SidebarComponent,\n SidebarContent,\n SidebarHeader,\n SidebarProvider,\n SidebarRail,\n SidebarTrigger,\n useSidebar,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport useKeyboardShortcutsPaneState from \"v2/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nimport ConfigureView from \"./Components/ConfigureView\";\nimport Header from \"./Components/Header\";\nimport NavLinks from \"./Components/NavLinks\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.css\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n} from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidthRaw, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n DEFAULT_SIDEBAR_WIDTH\n );\n\n const sidebarWidth =\n typeof sidebarWidthRaw === \"string\"\n ? parseInt(sidebarWidthRaw, 10) || DEFAULT_SIDEBAR_WIDTH\n : sidebarWidthRaw || DEFAULT_SIDEBAR_WIDTH;\n\n return (\n <SidebarProvider\n className=\"!w-auto\"\n open={!isSidebarCollapsed}\n style={{ \"--sidebar-width\": `${sidebarWidth / 16}rem` }}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <SidebarBody\n {...{\n customLogo,\n isCountsLoading,\n isExpandable,\n isSidebarCollapsed,\n moreNavLinks,\n navLinks,\n setIsSidebarCollapsed,\n setSidebarWidth,\n showWorkspaceName,\n sidebarWidth,\n }}\n />\n </SidebarProvider>\n );\n};\n\nconst SidebarBody = ({\n navLinks,\n moreNavLinks,\n customLogo,\n isCountsLoading,\n showWorkspaceName,\n isExpandable,\n isSidebarCollapsed,\n setIsSidebarCollapsed,\n sidebarWidth,\n setSidebarWidth,\n}) => {\n const { isMobile, setOpenMobile, openMobile } = useSidebar();\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const isDraggingRef = useRef(false);\n const hasDraggedRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n const isInitialMountRef = useRef(true);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isRTL = document.documentElement.dir === \"rtl\";\n const sidebarSide = isRTL ? \"right\" : \"left\";\n\n useEffect(() => {\n if (isInitialMountRef.current) {\n isInitialMountRef.current = false;\n\n return;\n }\n\n if (isMobile) {\n if (isKeyboardShortcutsPaneOpen) setOpenMobile(false);\n\n return;\n }\n\n if (isKeyboardShortcutsPaneOpen) setIsSidebarCollapsed(true);\n else setIsSidebarCollapsed(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- setIsSidebarCollapsed / setOpenMobile may not be stable across renders\n }, [isKeyboardShortcutsPaneOpen, isMobile]);\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 // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only: sets initial selected route from current URL\n }, []);\n\n const handleRailMouseDown = useCallback(\n e => {\n if (!isExpandable || isMobile) return;\n\n isDraggingRef.current = true;\n hasDraggedRef.current = false;\n startXRef.current = e.clientX;\n startWidthRef.current = sidebarWidth;\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.dataset.resizing = \"true\";\n\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n e.preventDefault();\n },\n [sidebarWidth, isExpandable, isMobile]\n );\n\n const handleRailClick = useCallback(e => {\n if (!hasDraggedRef.current) return;\n e.preventDefault();\n e.stopPropagation();\n hasDraggedRef.current = false;\n }, []);\n\n useEffect(() => {\n if (!isExpandable || isMobile) return undefined;\n\n const onMouseMove = e => {\n if (!isDraggingRef.current) return;\n\n hasDraggedRef.current = true;\n const dx = e.clientX - startXRef.current;\n const rtl = document.documentElement.dir === \"rtl\";\n let newWidth = startWidthRef.current + (rtl ? -dx : dx);\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n const widthRem = `${newWidth / 16}rem`;\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.style.setProperty(\"--sidebar-width\", widthRem);\n\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n widthRem\n );\n };\n\n const onMouseUp = e => {\n if (!isDraggingRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n const rtlUp = document.documentElement.dir === \"rtl\";\n let finalWidth = startWidthRef.current + (rtlUp ? -dx : dx);\n finalWidth = Math.round(\n Math.max(MIN_SIDEBAR_WIDTH, Math.min(finalWidth, MAX_SIDEBAR_WIDTH))\n );\n setSidebarWidth(finalWidth);\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) delete wrapper.dataset.resizing;\n\n isDraggingRef.current = false;\n document.body.style.cursor = \"\";\n document.body.style.userSelect = \"\";\n };\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable, isMobile, setSidebarWidth]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n isMobile ? \"0rem\" : `${sidebarWidth / 16}rem`\n );\n }, [sidebarWidth, isMobile]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(configureNavLink.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 <>\n <SidebarComponent collapsible=\"offcanvas\" side={sidebarSide}>\n <SidebarHeader className=\"nm-sidebar-shadcn-header relative p-0\">\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n <SidebarTrigger\n className=\"absolute end-2 top-3\"\n title={t(\"neetoMolecules.sidebar.hideMenu\")}\n />\n {showWorkspaceName && (\n <div className=\"border-sidebar-border border-b px-4 py-2\">\n <h5 className=\"text-sidebar-foreground mb-1 text-sm font-semibold\">\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </h5>\n <span className=\"text-sidebar-foreground/70 truncate text-xs\">\n {globalProps.organization.name}\n </span>\n </div>\n )}\n </SidebarHeader>\n <SidebarContent>\n {isSelectedNavLinkVisible ? (\n <ConfigureView {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <NavLinks\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </SidebarContent>\n {!isMobile && isExpandable && !isSidebarCollapsed && (\n <SidebarRail\n onClickCapture={handleRailClick}\n onMouseDown={handleRailMouseDown}\n />\n )}\n </SidebarComponent>\n {((isMobile && !openMobile) || (!isMobile && isSidebarCollapsed)) && (\n <SidebarTrigger\n className=\"bg-background hover:bg-accent fixed start-2 top-2 z-50 size-9 rounded-full border shadow-sm\"\n title={t(\"neetoMolecules.sidebar.showMenu\")}\n />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n addActions: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n isCountsLoading: PropTypes.bool,\n showWorkspaceName: PropTypes.bool,\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","normalizedName","trim","toLowerCase","specialCase","SPECIAL_APP_NAMES","logoName","concat","capitalize","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","DEFAULT_HOME_PATH","classnames","onClick","sidebarTitle","memo","AddAction","actions","DropdownMenu","dropdownProps","align","side","customTarget","e","preventDefault","stopPropagation","Plus","map","action","MenuItem","_action$onClick","call","label","key","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","isRTL","document","documentElement","dir","SidebarMenuItem","closeOnSelect","position","_jsxs","Ellipsis","filter","filterByPermissions","navLink","index","icon","navLinkKey","tag","IconSVG","isPinned","onSelect","CheckPointNavLinks","Badge","Tooltip","content","Button","variant","event","renderCount","count","NavLinks","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","expandedNavLinkKeys","setExpandedNavLinkKeys","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isActive","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","isExpanded","includes","resetPath","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","pathname","search","startsWith","additionalItems","push","combinedNavLinks","SidebarGroup","SidebarGroupContent","SidebarMenu","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","addActions","_objectWithoutProperties","_excluded","url","URL","window","href","is","Function","isMenuExpanded","handleCaretClick","keys","append","Fragment","SidebarMenuButton","asChild","activeClassName","hyphenate","role","tabIndex","style","transform","ChevronRight","_Fragment","SidebarMenuSub","subItem","subIndex","_subItem$to","SubLinkItem","isSectionHeader","item","path","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","getSidebarStateLocalStorageKey","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage3","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage4","sidebarWidthRaw","setSidebarWidth","sidebarWidth","parseInt","SidebarProvider","open","onOpenChange","SidebarBody","_useSidebar","useSidebar","isMobile","setOpenMobile","openMobile","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","_useLocalStorage5","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage6","selectedNavLinkRoute","isDraggingRef","useRef","hasDraggedRef","startXRef","startWidthRef","isInitialMountRef","history","useHistory","sidebarSide","useEffect","current","currentLink","findLast","_ref3","handleRailMouseDown","useCallback","clientX","wrapper","querySelector","dataset","resizing","body","cursor","userSelect","handleRailClick","undefined","onMouseMove","dx","rtl","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","widthRem","setProperty","onMouseUp","rtlUp","finalWidth","round","addEventListener","removeEventListener","handleGoBack","configureNavLink","getActiveConfigurePageLink","activeLink","useMemo","link","isSelectedNavLinkVisible","SidebarComponent","collapsible","SidebarHeader","SidebarTrigger","title","organization","name","SidebarContent","ConfigureView","SidebarRail","onClickCapture","onMouseDown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../src/v2/components/Sidebar/Components/Header.jsx","../../src/v2/components/Sidebar/Components/AddAction.jsx","../../src/v2/components/Sidebar/Components/PinIcon.jsx","../../src/v2/components/Sidebar/Components/UnpinIcon.jsx","../../src/v2/components/Sidebar/Components/MoreDropdown.jsx","../../src/v2/components/Sidebar/Components/NavLinks.jsx","../../src/v2/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_PATH, SPECIAL_APP_NAMES } from \"../constants\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const normalizedName = (productName || \"\").trim().toLowerCase();\n const specialCase = SPECIAL_APP_NAMES[normalizedName];\n const logoName = specialCase\n ? `Neeto${specialCase}`\n : `Neeto${capitalize(normalizedName)}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div className=\"px-4 py-3\" data-testid=\"sidebar-info\">\n <Link\n to={DEFAULT_HOME_PATH}\n className={classnames(\"mt-2 block w-full py-2\", {\n \"cursor-pointer\": isOnboarded,\n \"pointer-events-none\": !isOnboarded,\n })}\n onClick={clearSettingsNav}\n >\n {globalProps.sidebarTitle ? (\n <span className=\"text-sidebar-foreground text-xl leading-9 font-bold\">\n {globalProps.sidebarTitle}\n </span>\n ) : (\n <LogoComponent className=\"h-9 w-auto max-w-full\" />\n )}\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Plus } from \"lucide-react\";\n\nconst AddAction = ({ actions }) => (\n <DropdownMenu\n dropdownProps={{ align: \"end\", side: \"bottom\" }}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-sidebar-ring absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden focus-visible:ring-2 md:opacity-0 md:group-focus-within/menu-item:opacity-100 md:group-hover/menu-item:opacity-100\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus />\n </button>\n }\n >\n {actions.map(action => (\n <DropdownMenu.MenuItem\n key={action.key}\n onClick={() => {\n action.onClick?.();\n }}\n >\n {action.label}\n </DropdownMenu.MenuItem>\n ))}\n </DropdownMenu>\n);\n\nexport default AddAction;\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { Badge, Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { SidebarMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport { Ellipsis } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport PinIcon from \"./PinIcon\";\nimport UnpinIcon from \"./UnpinIcon\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const isRTL = document.documentElement.dir === \"rtl\";\n\n return (\n <SidebarMenuItem>\n <DropdownMenu\n closeOnSelect={false}\n position={isRTL ? \"left-start\" : \"right-start\"}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex w-full items-center gap-2 rounded-md p-2 text-sm outline-hidden\"\n data-testid=\"more-nav-links-dropdown-button\"\n >\n <Ellipsis />\n <span className=\"truncate\">{t(\"neetoMolecules.sidebar.more\")}</span>\n </button>\n }\n dropdownProps={{\n className: \"z-[99999] p-0\",\n \"data-testid\": \"more-nav-links-dropdown-menu\",\n }}\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const { label, icon, key: navLinkKey, to, onClick, tag } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n\n return (\n <DropdownMenu.MenuItem\n data-testid={label}\n key={navLinkKey || index}\n onSelect={e => e.preventDefault()}\n >\n <CheckPointNavLinks\n {...{ onClick, to }}\n className=\"flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1\"\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {label}\n {tag && <Badge {...tag} />}\n </span>\n </span>\n <Tooltip\n position=\"right\"\n content={\n isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\")\n }\n >\n <Button\n className=\"flex-shrink-0\"\n data-testid=\"pin-button\"\n size=\"icon-sm\"\n variant=\"ghost\"\n onClick={event => handleTogglePin(navLink, event)}\n >\n {isPinned ? (\n <UnpinIcon otherProps={{}} size={16} />\n ) : (\n <PinIcon otherProps={{}} size={16} />\n )}\n </Button>\n </Tooltip>\n </CheckPointNavLinks>\n </DropdownMenu.MenuItem>\n );\n })}\n </DropdownMenu>\n </SidebarMenuItem>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronRight } from \"lucide-react\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/v2/react-utils/useLocalStorage\";\nimport { append, is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddAction from \"./AddAction\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport MoreDropdown from \"./MoreDropdown\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../constants\";\nimport { filterByPermissions } from \"../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst NavLinks = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [expandedNavLinkKeys, setExpandedNavLinkKeys] = useState([]);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) {\n setExpandedNavLinkKeys([]);\n\n return;\n }\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n const navLinkKey = navLink.key || navLink.to;\n if (isActive()) {\n const isExpanded = expandedNavLinkKeys.includes(navLinkKey);\n setExpandedNavLinkKeys(isExpanded ? [] : [navLinkKey]);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setExpandedNavLinkKeys([navLinkKey]);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <SidebarGroup>\n <SidebarGroupContent>\n <SidebarMenu className=\"gap-1\">\n {combinedNavLinks\n .filter(filterByPermissions)\n .map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n addActions = [],\n tag,\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 isExpandable = items || Component;\n const navLinkKey = navLink.key || navLink.to;\n const isMenuExpanded =\n expandedNavLinkKeys.includes(navLinkKey) &&\n !isCountsLoadingDeprecated;\n\n const handleCaretClick = event => {\n event.preventDefault();\n event.stopPropagation();\n setExpandedNavLinkKeys(keys =>\n keys.includes(navLinkKey)\n ? keys.filter(isNot(navLinkKey))\n : append(navLinkKey, keys)\n );\n };\n\n return (\n <Fragment key={navLink.key || index}>\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild\n className=\"h-10\"\n isActive={isActive()}\n >\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"font-medium\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event => {\n handleNavLinkClick({ event, isActive, navLink });\n onClick?.(event);\n }}\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span className=\"relative\" data-testid={label}>\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"bg-destructive text-destructive-foreground absolute -end-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full px-0.5 text-[10px]\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <span className=\"flex-grow truncate\">{label}</span>\n {tag && <Badge {...tag} />}\n {isExpandable && !isConfigureNavLink && (\n <span\n className=\"ms-auto shrink-0 transition-transform duration-200\"\n role=\"button\"\n tabIndex={-1}\n style={{\n transform: isMenuExpanded\n ? \"rotate(90deg)\"\n : \"rotate(0deg)\",\n }}\n onClick={handleCaretClick}\n >\n <ChevronRight className=\"rtl:rotate-180\" />\n </span>\n )}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n {isNotEmpty(addActions) && (\n <AddAction actions={addActions} />\n )}\n </SidebarMenuItem>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <SidebarMenuSub>\n {items\n .filter(filterByPermissions)\n .map((subItem, subIndex) => (\n <SubLinkItem\n key={subIndex}\n {...{ ...subItem, isCountsLoading }}\n href={subItem.href}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown\n {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }}\n />\n )}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default NavLinks;\n","import { useCallback, useEffect, useMemo, useRef } from \"react\";\n\nimport {\n Sidebar as SidebarComponent,\n SidebarContent,\n SidebarHeader,\n SidebarProvider,\n SidebarRail,\n SidebarTrigger,\n useSidebar,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/v2/react-utils/useLocalStorage\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport useKeyboardShortcutsPaneState from \"v2/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nimport ConfigureView from \"./Components/ConfigureView\";\nimport Header from \"./Components/Header\";\nimport NavLinks from \"./Components/NavLinks\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.css\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n} from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidthRaw, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n DEFAULT_SIDEBAR_WIDTH\n );\n\n const sidebarWidth =\n typeof sidebarWidthRaw === \"string\"\n ? parseInt(sidebarWidthRaw, 10) || DEFAULT_SIDEBAR_WIDTH\n : sidebarWidthRaw || DEFAULT_SIDEBAR_WIDTH;\n\n return (\n <SidebarProvider\n className=\"!w-auto\"\n open={!isSidebarCollapsed}\n style={{ \"--sidebar-width\": `${sidebarWidth / 16}rem` }}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <SidebarBody\n {...{\n customLogo,\n isCountsLoading,\n isExpandable,\n isSidebarCollapsed,\n moreNavLinks,\n navLinks,\n setIsSidebarCollapsed,\n setSidebarWidth,\n showWorkspaceName,\n sidebarWidth,\n }}\n />\n </SidebarProvider>\n );\n};\n\nconst SidebarBody = ({\n navLinks,\n moreNavLinks,\n customLogo,\n isCountsLoading,\n showWorkspaceName,\n isExpandable,\n isSidebarCollapsed,\n setIsSidebarCollapsed,\n sidebarWidth,\n setSidebarWidth,\n}) => {\n const { isMobile, setOpenMobile, openMobile } = useSidebar();\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const isDraggingRef = useRef(false);\n const hasDraggedRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n const isInitialMountRef = useRef(true);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isRTL = document.documentElement.dir === \"rtl\";\n const sidebarSide = isRTL ? \"right\" : \"left\";\n\n useEffect(() => {\n if (isInitialMountRef.current) {\n isInitialMountRef.current = false;\n\n return;\n }\n\n if (isMobile) {\n if (isKeyboardShortcutsPaneOpen) setOpenMobile(false);\n\n return;\n }\n\n if (isKeyboardShortcutsPaneOpen) setIsSidebarCollapsed(true);\n else setIsSidebarCollapsed(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- setIsSidebarCollapsed / setOpenMobile may not be stable across renders\n }, [isKeyboardShortcutsPaneOpen, isMobile]);\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 // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only: sets initial selected route from current URL\n }, []);\n\n const handleRailMouseDown = useCallback(\n e => {\n if (!isExpandable || isMobile) return;\n\n isDraggingRef.current = true;\n hasDraggedRef.current = false;\n startXRef.current = e.clientX;\n startWidthRef.current = sidebarWidth;\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.dataset.resizing = \"true\";\n\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n e.preventDefault();\n },\n [sidebarWidth, isExpandable, isMobile]\n );\n\n const handleRailClick = useCallback(e => {\n if (!hasDraggedRef.current) return;\n e.preventDefault();\n e.stopPropagation();\n hasDraggedRef.current = false;\n }, []);\n\n useEffect(() => {\n if (!isExpandable || isMobile) return undefined;\n\n const onMouseMove = e => {\n if (!isDraggingRef.current) return;\n\n hasDraggedRef.current = true;\n const dx = e.clientX - startXRef.current;\n const rtl = document.documentElement.dir === \"rtl\";\n let newWidth = startWidthRef.current + (rtl ? -dx : dx);\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n const widthRem = `${newWidth / 16}rem`;\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.style.setProperty(\"--sidebar-width\", widthRem);\n\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n widthRem\n );\n };\n\n const onMouseUp = e => {\n if (!isDraggingRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n const rtlUp = document.documentElement.dir === \"rtl\";\n let finalWidth = startWidthRef.current + (rtlUp ? -dx : dx);\n finalWidth = Math.round(\n Math.max(MIN_SIDEBAR_WIDTH, Math.min(finalWidth, MAX_SIDEBAR_WIDTH))\n );\n setSidebarWidth(finalWidth);\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) delete wrapper.dataset.resizing;\n\n isDraggingRef.current = false;\n document.body.style.cursor = \"\";\n document.body.style.userSelect = \"\";\n };\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable, isMobile, setSidebarWidth]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n isMobile ? \"0rem\" : `${sidebarWidth / 16}rem`\n );\n }, [sidebarWidth, isMobile]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(configureNavLink.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 <>\n <SidebarComponent collapsible=\"offcanvas\" side={sidebarSide}>\n <SidebarHeader className=\"nm-sidebar-shadcn-header relative p-0\">\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n <SidebarTrigger\n className=\"absolute end-2 top-3\"\n title={t(\"neetoMolecules.sidebar.hideMenu\")}\n />\n {showWorkspaceName && (\n <div className=\"border-sidebar-border border-b px-4 py-2\">\n <h5 className=\"text-sidebar-foreground mb-1 text-sm font-semibold\">\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </h5>\n <span className=\"text-sidebar-foreground/70 truncate text-xs\">\n {globalProps.organization.name}\n </span>\n </div>\n )}\n </SidebarHeader>\n <SidebarContent>\n {isSelectedNavLinkVisible ? (\n <ConfigureView {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <NavLinks\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </SidebarContent>\n {!isMobile && isExpandable && !isSidebarCollapsed && (\n <SidebarRail\n onClickCapture={handleRailClick}\n onMouseDown={handleRailMouseDown}\n />\n )}\n </SidebarComponent>\n {((isMobile && !openMobile) || (!isMobile && isSidebarCollapsed)) && (\n <SidebarTrigger\n className=\"bg-background hover:bg-accent fixed start-2 top-2 z-50 size-9 rounded-full border shadow-sm\"\n title={t(\"neetoMolecules.sidebar.showMenu\")}\n />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n addActions: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n isCountsLoading: PropTypes.bool,\n showWorkspaceName: PropTypes.bool,\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","normalizedName","trim","toLowerCase","specialCase","SPECIAL_APP_NAMES","logoName","concat","capitalize","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","DEFAULT_HOME_PATH","classnames","onClick","sidebarTitle","memo","AddAction","actions","DropdownMenu","dropdownProps","align","side","customTarget","e","preventDefault","stopPropagation","Plus","map","action","MenuItem","_action$onClick","call","label","key","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","isRTL","document","documentElement","dir","SidebarMenuItem","closeOnSelect","position","_jsxs","Ellipsis","filter","filterByPermissions","navLink","index","icon","navLinkKey","tag","IconSVG","isPinned","onSelect","CheckPointNavLinks","Badge","Tooltip","content","Button","variant","event","renderCount","count","NavLinks","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","expandedNavLinkKeys","setExpandedNavLinkKeys","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isActive","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","isExpanded","includes","resetPath","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","pathname","search","startsWith","additionalItems","push","combinedNavLinks","SidebarGroup","SidebarGroupContent","SidebarMenu","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","addActions","_objectWithoutProperties","_excluded","url","URL","window","href","is","Function","isMenuExpanded","handleCaretClick","keys","append","Fragment","SidebarMenuButton","asChild","activeClassName","hyphenate","role","tabIndex","style","transform","ChevronRight","_Fragment","SidebarMenuSub","subItem","subIndex","_subItem$to","SubLinkItem","isSectionHeader","item","path","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","getSidebarStateLocalStorageKey","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage3","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage4","sidebarWidthRaw","setSidebarWidth","sidebarWidth","parseInt","SidebarProvider","open","onOpenChange","SidebarBody","_useSidebar","useSidebar","isMobile","setOpenMobile","openMobile","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","_useLocalStorage5","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage6","selectedNavLinkRoute","isDraggingRef","useRef","hasDraggedRef","startXRef","startWidthRef","isInitialMountRef","history","useHistory","sidebarSide","useEffect","current","currentLink","findLast","_ref3","handleRailMouseDown","useCallback","clientX","wrapper","querySelector","dataset","resizing","body","cursor","userSelect","handleRailClick","undefined","onMouseMove","dx","rtl","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","widthRem","setProperty","onMouseUp","rtlUp","finalWidth","round","addEventListener","removeEventListener","handleGoBack","configureNavLink","getActiveConfigurePageLink","activeLink","useMemo","link","isSelectedNavLinkVisible","SidebarComponent","collapsible","SidebarHeader","SidebarTrigger","title","organization","name","SidebarContent","ConfigureView","SidebarRail","onClickCapture","onMouseDown"],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
3
3
|
import { useShallow } from 'zustand/shallow';
|
|
4
4
|
import { useState, useEffect, createElement } from 'react';
|
|
5
5
|
import { Button } from '@bigbinary/neeto-atoms';
|
|
6
|
-
import { useLocalStorage } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
7
|
-
import { useErrorDisplayStore } from '@bigbinary/neeto-commons-frontend/react-utils/useDisplayErrorPage';
|
|
6
|
+
import { useLocalStorage } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
|
|
7
|
+
import { useErrorDisplayStore } from '@bigbinary/neeto-commons-frontend/v2/react-utils/useDisplayErrorPage';
|
|
8
8
|
import EditorContent from '@bigbinary/neeto-editor/EditorContent';
|
|
9
9
|
import { pluck } from 'ramda';
|
|
10
10
|
import { Trans } from 'react-i18next';
|
|
@@ -18,8 +18,8 @@ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
|
18
18
|
import { useQuery } from '@tanstack/react-query';
|
|
19
19
|
import { noop } from '@bigbinary/neeto-cist';
|
|
20
20
|
import axios from 'axios';
|
|
21
|
-
import { BASE_API_V1_URL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
22
|
-
import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
|
|
21
|
+
import { BASE_API_V1_URL } from '@bigbinary/neeto-commons-frontend/v2/constants';
|
|
22
|
+
import { dayjs } from '@bigbinary/neeto-commons-frontend/v2/utils';
|
|
23
23
|
import { substituteVariables } from '@bigbinary/neeto-editor/utils';
|
|
24
24
|
import '../createLucideIcon-mNMhCCpf.js';
|
|
25
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyRibbonsContainer.js","sources":["../../src/v2/components/StickyRibbonsContainer/constants.js","../../src/v2/components/StickyRibbonsContainer/Ribbon.jsx","../../src/v2/components/StickyRibbonsContainer/api.js","../../src/v2/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../src/v2/components/StickyRibbonsContainer/utils.js","../../src/v2/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n\nexport const POLLING_INTERVAL = 5000;\nexport const MAX_POLLING_TIME = 60000;\n\nexport const DATE_TIME_FORMAT = \"MMMM D h:mm A z\";\n\nexport const RIBBON_KIND_CONFIG = {\n info: {\n container: \"border-info-border bg-info text-info-foreground\",\n role: \"status\",\n },\n warning: {\n container: \"border-warning-border bg-warning text-warning-foreground\",\n role: \"status\",\n },\n error: {\n container: \"border-error-border bg-error text-error-foreground\",\n role: \"alert\",\n },\n};\n","import {\n Alert,\n AlertAction,\n AlertDescription,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\n\nimport { RIBBON_KIND_CONFIG } from \"./constants\";\n\nconst Ribbon = ({ kind = \"info\", onDismiss, children, className, ...rest }) => {\n const { container, role } =\n RIBBON_KIND_CONFIG[kind] ?? RIBBON_KIND_CONFIG.info;\n\n return (\n <Alert\n {...{ role }}\n className={classnames(\n container,\n \"rounded-none border-x-0 px-12 py-2.5\",\n className\n )}\n {...rest}\n >\n <AlertDescription className=\"text-center text-current\">\n {children}\n </AlertDescription>\n {onDismiss && (\n <AlertAction>\n <button\n aria-label=\"Dismiss\"\n className=\"focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n onClick={onDismiss}\n >\n <X className=\"size-4\" />\n </button>\n </AlertAction>\n )}\n </Alert>\n );\n};\n\nexport default Ribbon;\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst fetchStickyRibbons = () =>\n axios.get(`${BASE_API_V1_URL}/sticky_ribbons`, {\n includeMetadataInResponse: true,\n });\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useState, useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS, POLLING_INTERVAL, MAX_POLLING_TIME } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () => {\n const [isPolling, setIsPolling] = useState(false);\n\n useEffect(() => {\n if (!isPolling) return noop;\n\n const timer = setTimeout(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n\n return () => {\n clearTimeout(timer);\n };\n }, [isPolling]);\n\n return useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: async () => {\n const response = await stickyRibbonsApi.fetchStickyRibbons();\n\n if (response.status === 202) {\n setIsPolling(true);\n } else if (response.status === 200) {\n setIsPolling(false);\n }\n\n return response.data;\n },\n refetchInterval: isPolling ? POLLING_INTERVAL : false,\n });\n};\n\nexport { useFetchStickyRibbons };\n","import { dayjs } from \"neetocommons/utils\";\nimport { substituteVariables } from \"neetoeditor\";\n\nimport { DATE_TIME_FORMAT } from \"./constants\";\n\nconst dayTimeFormatter = timestamp =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs.utc(timestamp).local().format(DATE_TIME_FORMAT);\n\nexport const formatMessageContent = ({ message, startsAt, endsAt }) =>\n substituteVariables(message, [\n {\n label: \"starts_at\",\n key: \"starts_at\",\n value: dayTimeFormatter(startsAt),\n },\n {\n label: \"ends_at\",\n key: \"ends_at\",\n value: dayTimeFormatter(endsAt),\n },\n ]);\n","import { useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { useLocalStorage } from \"neetocommons/react-utils\";\nimport { useErrorDisplayStore } from \"neetocommons/react-utils/useDisplayErrorPage\";\nimport { EditorContent } from \"neetoeditor\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { STICKY_RIBBONS_LOCAL_STORAGE_KEY } from \"./constants\";\nimport Ribbon from \"./Ribbon\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\nimport { formatMessageContent } from \"./utils\";\n\nconst StickyRibbonsContainer = () => {\n const [isRefreshRibbonDismissed, setIsRefreshRibbonDismissed] =\n useState(false);\n\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { showRefreshRibbon } = useErrorDisplayStore.pick();\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 {showRefreshRibbon && !isRefreshRibbonDismissed && (\n <Ribbon\n data-testid=\"refresh-sticky-ribbon\"\n kind=\"error\"\n onDismiss={() => setIsRefreshRibbonDismissed(true)}\n >\n <Trans\n i18nKey=\"neetoMolecules.stickyRibbonsContainer.refreshRibbon\"\n components={{\n button: (\n <Button\n data-testid=\"refresh-button\"\n variant=\"link\"\n onClick={() => window.location.reload()}\n />\n ),\n }}\n />\n </Ribbon>\n )}\n {visibleRibbons.map(({ id, kind, message, startsAt, endsAt }) => (\n <Ribbon\n {...{ kind }}\n data-testid=\"sticky-ribbon\"\n key={id}\n onDismiss={() => handleDismiss(id)}\n >\n <EditorContent\n content={formatMessageContent({ message, startsAt, endsAt })}\n />\n </Ribbon>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBONS_LOCAL_STORAGE_KEY","POLLING_INTERVAL","MAX_POLLING_TIME","DATE_TIME_FORMAT","RIBBON_KIND_CONFIG","info","container","role","warning","error","Ribbon","_ref","_RIBBON_KIND_CONFIG$k","_ref$kind","kind","onDismiss","children","className","rest","_objectWithoutProperties","_excluded","_ref2","_jsxs","Alert","_objectSpread","classnames","_jsx","AlertDescription","AlertAction","type","onClick","X","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","includeMetadataInResponse","stickyRibbonsApi","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useFetchStickyRibbons","_useState","useState","_useState2","_slicedToArray","isPolling","setIsPolling","useEffect","noop","timer","setTimeout","clearTimeout","useQuery","queryKey","queryFn","_queryFn","_asyncToGenerator","_callee","response","_context","status","data","apply","arguments","refetchInterval","dayTimeFormatter","timestamp","dayjs","utc","local","format","formatMessageContent","message","startsAt","endsAt","substituteVariables","label","key","StickyRibbonsContainer","isRefreshRibbonDismissed","setIsRefreshRibbonDismissed","_useLocalStorage","useLocalStorage","_useLocalStorage2","dismissedRibbons","setDismissedRibbons","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","showRefreshRibbon","_useFetchStickyRibbon","_useFetchStickyRibbon2","_useFetchStickyRibbon3","_useFetchStickyRibbon4","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","_Fragment","Trans","i18nKey","components","button","Button","variant","window","location","reload","map","_createElement","EditorContent","content"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StickyRibbonsContainer.js","sources":["../../src/v2/components/StickyRibbonsContainer/constants.js","../../src/v2/components/StickyRibbonsContainer/Ribbon.jsx","../../src/v2/components/StickyRibbonsContainer/api.js","../../src/v2/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../src/v2/components/StickyRibbonsContainer/utils.js","../../src/v2/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n\nexport const POLLING_INTERVAL = 5000;\nexport const MAX_POLLING_TIME = 60000;\n\nexport const DATE_TIME_FORMAT = \"MMMM D h:mm A z\";\n\nexport const RIBBON_KIND_CONFIG = {\n info: {\n container: \"border-info-border bg-info text-info-foreground\",\n role: \"status\",\n },\n warning: {\n container: \"border-warning-border bg-warning text-warning-foreground\",\n role: \"status\",\n },\n error: {\n container: \"border-error-border bg-error text-error-foreground\",\n role: \"alert\",\n },\n};\n","import {\n Alert,\n AlertAction,\n AlertDescription,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\n\nimport { RIBBON_KIND_CONFIG } from \"./constants\";\n\nconst Ribbon = ({ kind = \"info\", onDismiss, children, className, ...rest }) => {\n const { container, role } =\n RIBBON_KIND_CONFIG[kind] ?? RIBBON_KIND_CONFIG.info;\n\n return (\n <Alert\n {...{ role }}\n className={classnames(\n container,\n \"rounded-none border-x-0 px-12 py-2.5\",\n className\n )}\n {...rest}\n >\n <AlertDescription className=\"text-center text-current\">\n {children}\n </AlertDescription>\n {onDismiss && (\n <AlertAction>\n <button\n aria-label=\"Dismiss\"\n className=\"focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n onClick={onDismiss}\n >\n <X className=\"size-4\" />\n </button>\n </AlertAction>\n )}\n </Alert>\n );\n};\n\nexport default Ribbon;\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/v2/constants\";\n\nconst fetchStickyRibbons = () =>\n axios.get(`${BASE_API_V1_URL}/sticky_ribbons`, {\n includeMetadataInResponse: true,\n });\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useState, useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS, POLLING_INTERVAL, MAX_POLLING_TIME } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () => {\n const [isPolling, setIsPolling] = useState(false);\n\n useEffect(() => {\n if (!isPolling) return noop;\n\n const timer = setTimeout(() => {\n setIsPolling(false);\n }, MAX_POLLING_TIME);\n\n return () => {\n clearTimeout(timer);\n };\n }, [isPolling]);\n\n return useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: async () => {\n const response = await stickyRibbonsApi.fetchStickyRibbons();\n\n if (response.status === 202) {\n setIsPolling(true);\n } else if (response.status === 200) {\n setIsPolling(false);\n }\n\n return response.data;\n },\n refetchInterval: isPolling ? POLLING_INTERVAL : false,\n });\n};\n\nexport { useFetchStickyRibbons };\n","import { dayjs } from \"neetocommons/v2/utils\";\nimport { substituteVariables } from \"neetoeditor\";\n\nimport { DATE_TIME_FORMAT } from \"./constants\";\n\nconst dayTimeFormatter = timestamp =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs.utc(timestamp).local().format(DATE_TIME_FORMAT);\n\nexport const formatMessageContent = ({ message, startsAt, endsAt }) =>\n substituteVariables(message, [\n {\n label: \"starts_at\",\n key: \"starts_at\",\n value: dayTimeFormatter(startsAt),\n },\n {\n label: \"ends_at\",\n key: \"ends_at\",\n value: dayTimeFormatter(endsAt),\n },\n ]);\n","import { useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { useLocalStorage } from \"neetocommons/v2/react-utils\";\nimport { useErrorDisplayStore } from \"neetocommons/v2/react-utils/useDisplayErrorPage\";\nimport { EditorContent } from \"neetoeditor\";\nimport { pluck } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { STICKY_RIBBONS_LOCAL_STORAGE_KEY } from \"./constants\";\nimport Ribbon from \"./Ribbon\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\nimport { formatMessageContent } from \"./utils\";\n\nconst StickyRibbonsContainer = () => {\n const [isRefreshRibbonDismissed, setIsRefreshRibbonDismissed] =\n useState(false);\n\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { showRefreshRibbon } = useErrorDisplayStore.pick();\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 {showRefreshRibbon && !isRefreshRibbonDismissed && (\n <Ribbon\n data-testid=\"refresh-sticky-ribbon\"\n kind=\"error\"\n onDismiss={() => setIsRefreshRibbonDismissed(true)}\n >\n <Trans\n i18nKey=\"neetoMolecules.stickyRibbonsContainer.refreshRibbon\"\n components={{\n button: (\n <Button\n data-testid=\"refresh-button\"\n variant=\"link\"\n onClick={() => window.location.reload()}\n />\n ),\n }}\n />\n </Ribbon>\n )}\n {visibleRibbons.map(({ id, kind, message, startsAt, endsAt }) => (\n <Ribbon\n {...{ kind }}\n data-testid=\"sticky-ribbon\"\n key={id}\n onDismiss={() => handleDismiss(id)}\n >\n <EditorContent\n content={formatMessageContent({ message, startsAt, endsAt })}\n />\n </Ribbon>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBONS_LOCAL_STORAGE_KEY","POLLING_INTERVAL","MAX_POLLING_TIME","DATE_TIME_FORMAT","RIBBON_KIND_CONFIG","info","container","role","warning","error","Ribbon","_ref","_RIBBON_KIND_CONFIG$k","_ref$kind","kind","onDismiss","children","className","rest","_objectWithoutProperties","_excluded","_ref2","_jsxs","Alert","_objectSpread","classnames","_jsx","AlertDescription","AlertAction","type","onClick","X","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","includeMetadataInResponse","stickyRibbonsApi","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useFetchStickyRibbons","_useState","useState","_useState2","_slicedToArray","isPolling","setIsPolling","useEffect","noop","timer","setTimeout","clearTimeout","useQuery","queryKey","queryFn","_queryFn","_asyncToGenerator","_callee","response","_context","status","data","apply","arguments","refetchInterval","dayTimeFormatter","timestamp","dayjs","utc","local","format","formatMessageContent","message","startsAt","endsAt","substituteVariables","label","key","StickyRibbonsContainer","isRefreshRibbonDismissed","setIsRefreshRibbonDismissed","_useLocalStorage","useLocalStorage","_useLocalStorage2","dismissedRibbons","setDismissedRibbons","_useErrorDisplayStore","useErrorDisplayStore","useShallow","store","showRefreshRibbon","_useFetchStickyRibbon","_useFetchStickyRibbon2","_useFetchStickyRibbon3","_useFetchStickyRibbon4","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","_Fragment","Trans","i18nKey","components","button","Button","variant","window","location","reload","map","_createElement","EditorContent","content"],"mappings":"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"}
|