@bigbinary/neeto-molecules 4.1.55 → 4.1.56
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-cUgR6NTO.js → Columns-BVXRaORo.js} +8 -11
- package/dist/Columns-BVXRaORo.js.map +1 -0
- package/dist/{ConfigureView-C84AmCMq.js → ConfigureView-DAZrBZPv.js} +3 -2
- package/dist/{ConfigureView-C84AmCMq.js.map → ConfigureView-DAZrBZPv.js.map} +1 -1
- package/dist/cjs/{Columns-D3eocaeY.js → Columns-ZySdkGqV.js} +12 -15
- package/dist/cjs/Columns-ZySdkGqV.js.map +1 -0
- package/dist/cjs/{ConfigureView-DGf7cRMQ.js → ConfigureView-CAWRNNYI.js} +12 -11
- package/dist/cjs/{ConfigureView-DGf7cRMQ.js.map → ConfigureView-CAWRNNYI.js.map} +1 -1
- package/dist/cjs/v2/AuditLogs.js +19 -80
- package/dist/cjs/v2/AuditLogs.js.map +1 -1
- package/dist/cjs/v2/Breadcrumbs.js +7 -7
- package/dist/cjs/v2/Breadcrumbs.js.map +1 -1
- package/dist/cjs/v2/Columns.js +2 -1
- package/dist/cjs/v2/Columns.js.map +1 -1
- package/dist/cjs/v2/ConfigurePageSidebar.js +7 -6
- package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/v2/CopyToClipboardButton.js +11 -17
- package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +48 -66
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/Header.js +2 -1
- package/dist/cjs/v2/Header.js.map +1 -1
- package/dist/cjs/v2/HelpPopover.js +51 -54
- package/dist/cjs/v2/HelpPopover.js.map +1 -1
- package/dist/cjs/v2/KeyboardShortcuts.js +7 -15
- package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/v2/MoreDropdown.js +59 -78
- package/dist/cjs/v2/MoreDropdown.js.map +1 -1
- package/dist/cjs/v2/Settings.js +1 -0
- package/dist/cjs/v2/Settings.js.map +1 -1
- package/dist/cjs/v2/Sidebar.js +101 -116
- package/dist/cjs/v2/Sidebar.js.map +1 -1
- package/dist/cjs/v2/SubHeader.js +31 -43
- package/dist/cjs/v2/SubHeader.js.map +1 -1
- package/dist/v2/AuditLogs.js +20 -81
- package/dist/v2/AuditLogs.js.map +1 -1
- package/dist/v2/Breadcrumbs.js +1 -1
- package/dist/v2/Breadcrumbs.js.map +1 -1
- package/dist/v2/Columns.js +2 -1
- package/dist/v2/Columns.js.map +1 -1
- package/dist/v2/ConfigurePageSidebar.js +3 -2
- package/dist/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/v2/CopyToClipboardButton.js +13 -19
- package/dist/v2/CopyToClipboardButton.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +25 -43
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/Header.js +2 -1
- package/dist/v2/Header.js.map +1 -1
- package/dist/v2/HelpPopover.js +53 -56
- package/dist/v2/HelpPopover.js.map +1 -1
- package/dist/v2/KeyboardShortcuts.js +8 -16
- package/dist/v2/KeyboardShortcuts.js.map +1 -1
- package/dist/v2/MoreDropdown.js +61 -80
- package/dist/v2/MoreDropdown.js.map +1 -1
- package/dist/v2/Settings.js +1 -0
- package/dist/v2/Settings.js.map +1 -1
- package/dist/v2/Sidebar.js +87 -102
- package/dist/v2/Sidebar.js.map +1 -1
- package/dist/v2/SubHeader.js +32 -44
- package/dist/v2/SubHeader.js.map +1 -1
- package/package.json +5 -3
- package/dist/Columns-cUgR6NTO.js.map +0 -1
- package/dist/cjs/Columns-D3eocaeY.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoreDropdown.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.js","../../../src/v2/components/MoreDropdown/constants.js","../../../src/v2/components/MoreDropdown/Submenu.jsx","../../../src/v2/components/MoreDropdown/MenuItem.jsx","../../../src/v2/components/MoreDropdown/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }]\n];\nconst EllipsisVertical = createLucideIcon(\"ellipsis-vertical\", __iconNode);\n\nexport { __iconNode, EllipsisVertical as default };\n//# sourceMappingURL=ellipsis-vertical.js.map\n","const BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger_text\",\n text: \"text\",\n link: \"link\",\n};\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nconst MENU_ITEM_TYPES = { menuItem: \"menuItem\", divider: \"divider\" };\n\nconst DEFAULT_TOOLTIP_PROPS = {\n disabled: true,\n position: \"bottom\",\n touch: [\"hold\", 500],\n};\n\nconst ICON_SIZES = { small: 20, medium: 24, large: 30 };\n\nconst STYLE_TO_VARIANT = {\n primary: \"default\",\n secondary: \"secondary\",\n tertiary: \"ghost\",\n danger: \"destructive\",\n danger_text: \"destructive\",\n text: \"ghost\",\n link: \"link\",\n};\n\nexport {\n BUTTON_STYLES,\n SIZES,\n STRATEGY,\n MENU_ITEM_TYPES,\n DEFAULT_TOOLTIP_PROPS,\n ICON_SIZES,\n STYLE_TO_VARIANT,\n};\n","import {\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n} from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst Submenu = withT(({ t, label, menuItems = [] }) => (\n <DropdownMenuSub>\n <DropdownMenuSubTrigger aria-haspopup=\"menu\">\n {label}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent\n aria-label={t(\"neetoMolecules.moreDropdown.submenuAriaLabel\", {\n label,\n })}\n >\n {menuItems.map(({ isVisible = true, key, ...itemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(itemProps.label || \"menu-item\")}\n {...itemProps}\n />\n );\n })}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n));\n\nexport default Submenu;\n","import {\n DropdownMenuItem,\n DropdownMenuSeparator,\n} from \"@bigbinary/neeto-atoms\";\n\nimport Submenu from \"./Submenu\";\n\nconst MenuItem = ({\n onClick,\n label,\n type = \"menuItem\",\n hasSubItems = false,\n menuItems,\n dropdownProps,\n ...menuItemProps\n}) => {\n if (type === \"divider\") return <DropdownMenuSeparator role=\"separator\" />;\n\n if (hasSubItems) {\n return (\n <Submenu {...{ dropdownProps, label, menuItems, ...menuItemProps }} />\n );\n }\n\n return (\n <DropdownMenuItem {...{ onClick }} role=\"menuitem\" {...menuItemProps}>\n {label}\n </DropdownMenuItem>\n );\n};\n\nexport default MenuItem;\n","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport {\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Ellipsis, EllipsisVertical } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DEFAULT_TOOLTIP_PROPS,\n ICON_SIZES,\n MENU_ITEM_TYPES,\n SIZES,\n STYLE_TO_VARIANT,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const {\n isRounded: isRoundedButton,\n size: buttonSize = \"medium\",\n tooltipProps: customTooltipProps,\n style: buttonStyle,\n ...buttonProps\n } = dropdownButtonProps;\n\n const tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, customTooltipProps);\n const variant = STYLE_TO_VARIANT[buttonStyle] || \"ghost\";\n\n const TargetIcon = isVertical ? EllipsisVertical : Ellipsis;\n const iconSize = ICON_SIZES[buttonSize] || 20;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <span>\n <Button\n {...{ variant }}\n disabled\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"more-dropdown-button\"\n size=\"icon\"\n className={classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n })}\n {...buttonProps}\n >\n <TargetIcon size={iconSize} />\n </Button>\n </span>\n </TooltipTrigger>\n <TooltipContent side={tooltipProps.position || \"bottom\"}>\n {tooltipProps.content}\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return (\n <DropdownMenu {...dropdownProps}>\n <DropdownMenuTrigger asChild>\n <Button\n {...{ variant }}\n aria-haspopup=\"menu\"\n aria-label={t(\"neetoMolecules.moreDropdown.buttonAriaLabel\")}\n data-dropdown-button-style=\"more-dropdown\"\n disabled={isDropdownDisabled}\n size=\"icon\"\n className={classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n })}\n {...buttonProps}\n >\n <TargetIcon size={iconSize} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n aria-label={t(\"neetoMolecules.moreDropdown.menuAriaLabel\")}\n >\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(menuItemProps.label || \"menu-item\")}\n {...menuItemProps}\n />\n );\n })}\n {menuBottomChildren}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nMoreDropdown.propTypes = {\n dropdownButtonProps: PropTypes.shape({\n style: PropTypes.oneOf([\n \"primary\",\n \"secondary\",\n \"tertiary\",\n \"danger\",\n \"danger_text\",\n \"text\",\n \"link\",\n ]),\n size: PropTypes.oneOf(Object.values(SIZES)),\n iconSize: PropTypes.number,\n disabled: PropTypes.bool,\n isRounded: PropTypes.bool,\n }),\n isVertical: PropTypes.bool,\n isDisabled: PropTypes.bool,\n dropdownProps: PropTypes.object,\n menuTopChildren: PropTypes.node,\n menuBottomChildren: PropTypes.node,\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n dropdownProps: PropTypes.shape({\n position: PropTypes.string,\n trigger: PropTypes.string,\n }),\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["createLucideIcon","DEFAULT_TOOLTIP_PROPS","disabled","position","touch","ICON_SIZES","small","medium","large","STYLE_TO_VARIANT","primary","secondary","tertiary","danger","danger_text","text","link","Submenu","withT","_ref","t","label","_ref$menuItems","menuItems","_jsxs","DropdownMenuSub","children","_jsx","DropdownMenuSubTrigger","DropdownMenuSubContent","map","_ref2","_ref2$isVisible","isVisible","key","itemProps","_objectWithoutProperties","_excluded","MenuItem","_objectSpread","hyphenate","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","dropdownProps","menuItemProps","DropdownMenuSeparator","role","DropdownMenuItem","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_useTranslation","useTranslation","isRoundedButton","isRounded","_dropdownButtonProps$","size","buttonSize","customTooltipProps","tooltipProps","buttonStyle","style","buttonProps","mergeRight","variant","TargetIcon","EllipsisVertical","Ellipsis","iconSize","isDropdownDisabled","TooltipProvider","Tooltip","TooltipTrigger","asChild","Button","className","classnames","TooltipContent","side","content","DropdownMenu","DropdownMenuTrigger","DropdownMenuContent","_excluded2"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"MoreDropdown.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.js","../../../src/v2/components/MoreDropdown/constants.js","../../../src/v2/components/MoreDropdown/Submenu.jsx","../../../src/v2/components/MoreDropdown/MenuItem.jsx","../../../src/v2/components/MoreDropdown/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }]\n];\nconst EllipsisVertical = createLucideIcon(\"ellipsis-vertical\", __iconNode);\n\nexport { __iconNode, EllipsisVertical as default };\n//# sourceMappingURL=ellipsis-vertical.js.map\n","const BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger_text\",\n text: \"text\",\n link: \"link\",\n};\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nconst MENU_ITEM_TYPES = { menuItem: \"menuItem\", divider: \"divider\" };\n\nconst DEFAULT_TOOLTIP_PROPS = {\n disabled: true,\n position: \"bottom\",\n touch: [\"hold\", 500],\n};\n\nconst ICON_SIZES = { small: 20, medium: 24, large: 30 };\n\nconst STYLE_TO_VARIANT = {\n primary: \"default\",\n secondary: \"secondary\",\n tertiary: \"ghost\",\n danger: \"destructive\",\n danger_text: \"destructive\",\n text: \"ghost\",\n link: \"link\",\n};\n\nexport {\n BUTTON_STYLES,\n SIZES,\n STRATEGY,\n MENU_ITEM_TYPES,\n DEFAULT_TOOLTIP_PROPS,\n ICON_SIZES,\n STYLE_TO_VARIANT,\n};\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst Submenu = withT(({ t, label, menuItems = [] }) => (\n <DropdownMenu.SubMenu\n {...{ label }}\n triggerProps={{ \"aria-haspopup\": \"menu\" }}\n contentProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.submenuAriaLabel\", {\n label,\n }),\n }}\n >\n {menuItems.map(({ isVisible = true, key, ...itemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(itemProps.label || \"menu-item\")}\n {...itemProps}\n />\n );\n })}\n </DropdownMenu.SubMenu>\n));\n\nexport default Submenu;\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\n\nimport Submenu from \"./Submenu\";\n\nconst MenuItem = ({\n onClick,\n label,\n type = \"menuItem\",\n hasSubItems = false,\n menuItems,\n dropdownProps,\n ...menuItemProps\n}) => {\n if (type === \"divider\") return <DropdownMenu.Divider role=\"separator\" />;\n\n if (hasSubItems) {\n return (\n <Submenu {...{ dropdownProps, label, menuItems, ...menuItemProps }} />\n );\n }\n\n return (\n <DropdownMenu.MenuItem.Button\n {...{ onClick }}\n role=\"menuitem\"\n {...menuItemProps}\n >\n {label}\n </DropdownMenu.MenuItem.Button>\n );\n};\n\nexport default MenuItem;\n","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Ellipsis, EllipsisVertical } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DEFAULT_TOOLTIP_PROPS,\n MENU_ITEM_TYPES,\n SIZES,\n STYLE_TO_VARIANT,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const {\n isRounded: isRoundedButton,\n // eslint-disable-next-line no-unused-vars\n size: _buttonSize = \"medium\",\n tooltipProps: customTooltipProps,\n style: buttonStyle,\n ...buttonProps\n } = dropdownButtonProps;\n\n const tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, customTooltipProps);\n const variant = STYLE_TO_VARIANT[buttonStyle] || \"ghost\";\n\n const TargetIcon = isVertical ? EllipsisVertical : Ellipsis;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip\n content={tooltipProps.content}\n position={tooltipProps.position || \"bottom\"}\n >\n <span>\n <Button\n {...{ variant }}\n disabled\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"more-dropdown-button\"\n icon={TargetIcon}\n size=\"icon\"\n className={classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n })}\n {...buttonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <DropdownMenu\n customTarget={\n <Button\n {...{ variant }}\n aria-haspopup=\"menu\"\n aria-label={t(\"neetoMolecules.moreDropdown.buttonAriaLabel\")}\n data-dropdown-button-style=\"more-dropdown\"\n disabled={isDropdownDisabled}\n icon={TargetIcon}\n size=\"icon\"\n className={classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n })}\n {...buttonProps}\n />\n }\n dropdownProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.menuAriaLabel\"),\n }}\n {...dropdownProps}\n >\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(menuItemProps.label || \"menu-item\")}\n {...menuItemProps}\n />\n );\n })}\n {menuBottomChildren}\n </DropdownMenu>\n );\n};\n\nMoreDropdown.propTypes = {\n dropdownButtonProps: PropTypes.shape({\n style: PropTypes.oneOf([\n \"primary\",\n \"secondary\",\n \"tertiary\",\n \"danger\",\n \"danger_text\",\n \"text\",\n \"link\",\n ]),\n size: PropTypes.oneOf(Object.values(SIZES)),\n iconSize: PropTypes.number,\n disabled: PropTypes.bool,\n isRounded: PropTypes.bool,\n }),\n isVertical: PropTypes.bool,\n isDisabled: PropTypes.bool,\n dropdownProps: PropTypes.object,\n menuTopChildren: PropTypes.node,\n menuBottomChildren: PropTypes.node,\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n dropdownProps: PropTypes.shape({\n position: PropTypes.string,\n trigger: PropTypes.string,\n }),\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["createLucideIcon","DEFAULT_TOOLTIP_PROPS","disabled","position","touch","STYLE_TO_VARIANT","primary","secondary","tertiary","danger","danger_text","text","link","Submenu","withT","_ref","t","label","_ref$menuItems","menuItems","_jsx","DropdownMenu","SubMenu","triggerProps","contentProps","children","map","_ref2","_ref2$isVisible","isVisible","key","itemProps","_objectWithoutProperties","_excluded","MenuItem","_objectSpread","hyphenate","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","dropdownProps","menuItemProps","Divider","role","Button","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_useTranslation","useTranslation","isRoundedButton","isRounded","size","_buttonSize","customTooltipProps","tooltipProps","buttonStyle","style","buttonProps","mergeRight","variant","TargetIcon","EllipsisVertical","Ellipsis","isDropdownDisabled","Tooltip","content","icon","className","classnames","_jsxs","customTarget","_excluded2"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/cjs/v2/Settings.js
CHANGED
|
@@ -15,6 +15,7 @@ var reactRouterDom = require('react-router-dom');
|
|
|
15
15
|
var jsxRuntime = require('react/jsx-runtime');
|
|
16
16
|
var v2_Header = require('./Header.js');
|
|
17
17
|
require('./Breadcrumbs.js');
|
|
18
|
+
require('@bigbinary/neeto-atoms/primitives');
|
|
18
19
|
require('./HelpPopover.js');
|
|
19
20
|
require('../circle-question-mark-kxBMPyWQ.js');
|
|
20
21
|
require('../createLucideIcon-DBDhE7kE.js');
|
|
@@ -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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { 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 asChild variant=\"h3\" weight=\"semibold\">\n <span\n className=\"text-foreground text-lg leading-6 transition-colors duration-300 ease-in-out\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n >\n {label}\n </span>\n </Typography>\n <Typography asChild variant=\"body2\">\n <p\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n >\n {description}\n </p>\n </Typography>\n </div>\n {isConnected && (\n <Badge\n className=\"absolute top-2 right-2\"\n data-testid=\"integration-status-tag\"\n variant=\"default\"\n >\n {t(\"neetoMolecules.integrationCard.connected\")}\n </Badge>\n )}\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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { 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=\"h3\" weight=\"semibold\">\n <span\n className=\"text-foreground text-lg leading-6 transition-colors duration-300 ease-in-out\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n >\n {label}\n </span>\n </Typography>\n </div>\n <Typography asChild variant=\"body2\">\n <p\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n >\n {description}\n </p>\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=\"h2\" weight=\"semibold\">\n <h2 className=\"mt-2 mb-6\" 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","asChild","variant","weight","Badge","memo","Item","dataTestid","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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { 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 asChild variant=\"h3\" weight=\"semibold\">\n <span\n className=\"text-foreground text-lg leading-6 transition-colors duration-300 ease-in-out\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n >\n {label}\n </span>\n </Typography>\n <Typography asChild variant=\"body2\">\n <p\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n >\n {description}\n </p>\n </Typography>\n </div>\n {isConnected && (\n <Badge\n className=\"absolute top-2 right-2\"\n data-testid=\"integration-status-tag\"\n variant=\"default\"\n >\n {t(\"neetoMolecules.integrationCard.connected\")}\n </Badge>\n )}\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","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { 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=\"h3\" weight=\"semibold\">\n <span\n className=\"text-foreground text-lg leading-6 transition-colors duration-300 ease-in-out\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n >\n {label}\n </span>\n </Typography>\n </div>\n <Typography asChild variant=\"body2\">\n <p\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n >\n {description}\n </p>\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=\"h2\" weight=\"semibold\">\n <h2 className=\"mt-2 mb-6\" 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","asChild","variant","weight","Badge","memo","Item","dataTestid","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/cjs/v2/Sidebar.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var
|
|
5
|
+
var primitives = require('@bigbinary/neeto-atoms/primitives');
|
|
6
6
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
7
7
|
var useLocalStorage = require('@bigbinary/neeto-commons-frontend/react-utils/useLocalStorage');
|
|
8
8
|
var ramda = require('ramda');
|
|
9
9
|
var reactI18next = require('react-i18next');
|
|
10
10
|
var reactRouterDom = require('react-router-dom');
|
|
11
11
|
var useKeyboardShortcutsPaneState = require('../useKeyboardShortcutsPaneState-BrgdLb9F.js');
|
|
12
|
-
var ConfigureView = require('../ConfigureView-
|
|
12
|
+
var ConfigureView = require('../ConfigureView-CAWRNNYI.js');
|
|
13
13
|
var classnames = require('classnames');
|
|
14
14
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
15
15
|
var Neeto = require('@bigbinary/neeto-icons/typeface-logos/Neeto');
|
|
@@ -18,6 +18,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
18
18
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
19
19
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
20
20
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
21
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
21
22
|
var plus = require('../plus-MoDFAiKt.js');
|
|
22
23
|
var ellipsis = require('../ellipsis-BcfLTtl5.js');
|
|
23
24
|
var chevronRight = require('../chevron-right-DpleLIQp.js');
|
|
@@ -84,31 +85,29 @@ var Header = /*#__PURE__*/React.memo(Header$1);
|
|
|
84
85
|
/* eslint-disable @bigbinary/neeto/use-neetoui-classes */
|
|
85
86
|
var AddAction = function AddAction(_ref) {
|
|
86
87
|
var actions = _ref.actions;
|
|
87
|
-
return /*#__PURE__*/jsxRuntime.
|
|
88
|
-
|
|
89
|
-
asChild: true,
|
|
90
|
-
children: /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
91
|
-
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",
|
|
92
|
-
"data-testid": "add-dropdown-trigger",
|
|
93
|
-
onClick: function onClick(e) {
|
|
94
|
-
e.preventDefault();
|
|
95
|
-
e.stopPropagation();
|
|
96
|
-
},
|
|
97
|
-
children: /*#__PURE__*/jsxRuntime.jsx(plus.Plus, {})
|
|
98
|
-
})
|
|
99
|
-
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenuContent, {
|
|
88
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
|
|
89
|
+
dropdownProps: {
|
|
100
90
|
align: "end",
|
|
101
|
-
side: "bottom"
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
})
|
|
111
|
-
})
|
|
91
|
+
side: "bottom"
|
|
92
|
+
},
|
|
93
|
+
customTarget: /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
94
|
+
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",
|
|
95
|
+
"data-testid": "add-dropdown-trigger",
|
|
96
|
+
onClick: function onClick(e) {
|
|
97
|
+
e.preventDefault();
|
|
98
|
+
e.stopPropagation();
|
|
99
|
+
},
|
|
100
|
+
children: /*#__PURE__*/jsxRuntime.jsx(plus.Plus, {})
|
|
101
|
+
}),
|
|
102
|
+
children: actions.map(function (action) {
|
|
103
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem.Button, {
|
|
104
|
+
onClick: function onClick() {
|
|
105
|
+
var _action$onClick;
|
|
106
|
+
(_action$onClick = action.onClick) === null || _action$onClick === void 0 || _action$onClick.call(action);
|
|
107
|
+
},
|
|
108
|
+
children: action.label
|
|
109
|
+
}, action.key);
|
|
110
|
+
})
|
|
112
111
|
});
|
|
113
112
|
};
|
|
114
113
|
|
|
@@ -156,87 +155,73 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
156
155
|
handleTogglePin = _ref.handleTogglePin;
|
|
157
156
|
var _useTranslation = reactI18next.useTranslation(),
|
|
158
157
|
t = _useTranslation.t;
|
|
159
|
-
var _useState = React.useState(false),
|
|
160
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
161
|
-
isOpen = _useState2[0],
|
|
162
|
-
setIsOpen = _useState2[1];
|
|
163
158
|
var isRTL = document.documentElement.dir === "rtl";
|
|
164
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
165
|
-
children: /*#__PURE__*/jsxRuntime.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
children:
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
})
|
|
178
|
-
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenuContent, {
|
|
179
|
-
align: "start",
|
|
159
|
+
return /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuItem, {
|
|
160
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
|
|
161
|
+
closeOnSelect: false,
|
|
162
|
+
position: isRTL ? "left-start" : "right-start",
|
|
163
|
+
customTarget: /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
164
|
+
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",
|
|
165
|
+
"data-testid": "more-nav-links-dropdown-button",
|
|
166
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(ellipsis.Ellipsis, {}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
167
|
+
className: "truncate",
|
|
168
|
+
children: t("neetoMolecules.sidebar.more")
|
|
169
|
+
})]
|
|
170
|
+
}),
|
|
171
|
+
dropdownProps: {
|
|
180
172
|
className: "z-[99999] p-0",
|
|
181
|
-
"data-testid": "more-nav-links-dropdown-menu"
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
173
|
+
"data-testid": "more-nav-links-dropdown-menu"
|
|
174
|
+
},
|
|
175
|
+
children: moreNavLinks.filter(ConfigureView.filterByPermissions).map(function (navLink, index) {
|
|
176
|
+
var label = navLink.label,
|
|
177
|
+
icon = navLink.icon,
|
|
178
|
+
navLinkKey = navLink.key,
|
|
179
|
+
to = navLink.to,
|
|
180
|
+
onClick = navLink.onClick,
|
|
181
|
+
tag = navLink.tag;
|
|
182
|
+
var IconSVG = icon;
|
|
183
|
+
var isPinned = isNavLinkPinned(navLink);
|
|
184
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem, {
|
|
185
|
+
"data-testid": label,
|
|
186
|
+
onSelect: function onSelect(e) {
|
|
187
|
+
return e.preventDefault();
|
|
188
|
+
},
|
|
189
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(ConfigureView.CheckPointNavLinks, {
|
|
190
|
+
onClick: onClick,
|
|
191
|
+
to: to,
|
|
192
|
+
className: "flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1",
|
|
193
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
194
|
+
className: "flex min-w-0 flex-grow items-center gap-2",
|
|
195
|
+
children: [icon && /*#__PURE__*/jsxRuntime.jsx(IconSVG, {
|
|
196
|
+
className: "flex-shrink-0",
|
|
197
|
+
size: 20
|
|
198
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
202
199
|
className: "flex min-w-0 flex-grow items-center gap-2",
|
|
203
|
-
children: [
|
|
204
|
-
className: "flex-shrink-0",
|
|
205
|
-
size: 20
|
|
206
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
207
|
-
className: "flex min-w-0 flex-grow items-center gap-2",
|
|
208
|
-
children: [label, tag && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Badge, _objectSpread$1({}, tag))]
|
|
209
|
-
})]
|
|
210
|
-
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.TooltipProvider, {
|
|
211
|
-
children: /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Tooltip, {
|
|
212
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.TooltipTrigger, {
|
|
213
|
-
asChild: true,
|
|
214
|
-
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
215
|
-
className: "flex-shrink-0",
|
|
216
|
-
"data-testid": "pin-button",
|
|
217
|
-
size: "icon-sm",
|
|
218
|
-
variant: "ghost",
|
|
219
|
-
onClick: function onClick(event) {
|
|
220
|
-
return handleTogglePin(navLink, event);
|
|
221
|
-
},
|
|
222
|
-
children: isPinned ? /*#__PURE__*/jsxRuntime.jsx(UnpinIcon, {
|
|
223
|
-
otherProps: {},
|
|
224
|
-
size: 16
|
|
225
|
-
}) : /*#__PURE__*/jsxRuntime.jsx(PinIcon, {
|
|
226
|
-
otherProps: {},
|
|
227
|
-
size: 16
|
|
228
|
-
})
|
|
229
|
-
})
|
|
230
|
-
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.TooltipContent, {
|
|
231
|
-
side: "right",
|
|
232
|
-
children: isPinned ? t("neetoMolecules.sidebar.unpin") : t("neetoMolecules.sidebar.pin")
|
|
233
|
-
})]
|
|
234
|
-
})
|
|
200
|
+
children: [label, tag && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Badge, _objectSpread$1({}, tag))]
|
|
235
201
|
})]
|
|
236
|
-
})
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
202
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, {
|
|
203
|
+
position: "right",
|
|
204
|
+
content: isPinned ? t("neetoMolecules.sidebar.unpin") : t("neetoMolecules.sidebar.pin"),
|
|
205
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
206
|
+
className: "flex-shrink-0",
|
|
207
|
+
"data-testid": "pin-button",
|
|
208
|
+
size: "icon-sm",
|
|
209
|
+
variant: "ghost",
|
|
210
|
+
onClick: function onClick(event) {
|
|
211
|
+
return handleTogglePin(navLink, event);
|
|
212
|
+
},
|
|
213
|
+
children: isPinned ? /*#__PURE__*/jsxRuntime.jsx(UnpinIcon, {
|
|
214
|
+
otherProps: {},
|
|
215
|
+
size: 16
|
|
216
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(PinIcon, {
|
|
217
|
+
otherProps: {},
|
|
218
|
+
size: 16
|
|
219
|
+
})
|
|
220
|
+
})
|
|
221
|
+
})]
|
|
222
|
+
})
|
|
223
|
+
}, navLinkKey || index);
|
|
224
|
+
})
|
|
240
225
|
})
|
|
241
226
|
});
|
|
242
227
|
};
|
|
@@ -307,9 +292,9 @@ var NavLinks = function NavLinks(_ref) {
|
|
|
307
292
|
additionalItems.push(activeMoreNavLink);
|
|
308
293
|
}
|
|
309
294
|
var combinedNavLinks = [].concat(_toConsumableArray(navLinks), _toConsumableArray(additionalItems));
|
|
310
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
311
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
312
|
-
children: /*#__PURE__*/jsxRuntime.jsxs(
|
|
295
|
+
return /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarGroup, {
|
|
296
|
+
children: /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarGroupContent, {
|
|
297
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarMenu, {
|
|
313
298
|
className: "gap-1",
|
|
314
299
|
children: [combinedNavLinks.filter(ConfigureView.filterByPermissions).map(function (navLink, index) {
|
|
315
300
|
var label = navLink.label,
|
|
@@ -343,8 +328,8 @@ var NavLinks = function NavLinks(_ref) {
|
|
|
343
328
|
});
|
|
344
329
|
};
|
|
345
330
|
return /*#__PURE__*/jsxRuntime.jsxs(React.Fragment, {
|
|
346
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs(
|
|
347
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
331
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarMenuItem, {
|
|
332
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuButton, {
|
|
348
333
|
asChild: true,
|
|
349
334
|
isActive: isActive(),
|
|
350
335
|
children: /*#__PURE__*/jsxRuntime.jsxs(ConfigureView.CheckPointNavLinks, _objectSpread(_objectSpread({
|
|
@@ -390,7 +375,7 @@ var NavLinks = function NavLinks(_ref) {
|
|
|
390
375
|
actions: addActions
|
|
391
376
|
})]
|
|
392
377
|
}), isExpandable && !isConfigureNavLink && isMenuExpanded && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
393
|
-
children: [items && /*#__PURE__*/jsxRuntime.jsx(
|
|
378
|
+
children: [items && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuSub, {
|
|
394
379
|
children: items.filter(ConfigureView.filterByPermissions).map(function (subItem, subIndex) {
|
|
395
380
|
var _subItem$to;
|
|
396
381
|
return /*#__PURE__*/jsxRuntime.jsx(ConfigureView.SubLinkItem, _objectSpread(_objectSpread({}, _objectSpread(_objectSpread({}, subItem), {}, {
|
|
@@ -557,7 +542,7 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
557
542
|
});
|
|
558
543
|
}, [location.pathname, navLinks]);
|
|
559
544
|
var isSelectedNavLinkVisible = selectedNavLinkRoute && (activeLink === null || activeLink === void 0 ? void 0 : activeLink.to) === selectedNavLinkRoute && neetoCist.isNotEmpty(navLinks);
|
|
560
|
-
return /*#__PURE__*/jsxRuntime.jsxs(
|
|
545
|
+
return /*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarProvider, {
|
|
561
546
|
className: "!w-auto",
|
|
562
547
|
open: !isSidebarCollapsed,
|
|
563
548
|
style: {
|
|
@@ -566,17 +551,17 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
566
551
|
onOpenChange: function onOpenChange(open) {
|
|
567
552
|
return setIsSidebarCollapsed(!open);
|
|
568
553
|
},
|
|
569
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs(
|
|
554
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.Sidebar, {
|
|
570
555
|
collapsible: "offcanvas",
|
|
571
556
|
side: sidebarSide,
|
|
572
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs(
|
|
557
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarHeader, {
|
|
573
558
|
className: "relative p-0",
|
|
574
559
|
children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
|
|
575
560
|
customLogo: customLogo,
|
|
576
561
|
clearSettingsNav: function clearSettingsNav() {
|
|
577
562
|
return setSelectedNavLinkRoute(null);
|
|
578
563
|
}
|
|
579
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
564
|
+
}), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
|
|
580
565
|
className: "absolute end-2 top-3"
|
|
581
566
|
}), showWorkspaceName && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
582
567
|
className: "border-sidebar-border border-b px-4 py-2",
|
|
@@ -588,7 +573,7 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
588
573
|
children: globalProps.organization.name
|
|
589
574
|
})]
|
|
590
575
|
})]
|
|
591
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
576
|
+
}), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarContent, {
|
|
592
577
|
children: isSelectedNavLinkVisible ? /*#__PURE__*/jsxRuntime.jsx(ConfigureView.ConfigureView, {
|
|
593
578
|
handleGoBack: handleGoBack,
|
|
594
579
|
navLink: activeLink
|
|
@@ -598,11 +583,11 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
598
583
|
navLinks: navLinks,
|
|
599
584
|
setSelectedNavLinkRoute: setSelectedNavLinkRoute
|
|
600
585
|
})
|
|
601
|
-
}), isExpandable && /*#__PURE__*/jsxRuntime.jsx(
|
|
586
|
+
}), isExpandable && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarRail, {
|
|
602
587
|
onClickCapture: handleRailClick,
|
|
603
588
|
onMouseDown: handleRailMouseDown
|
|
604
589
|
})]
|
|
605
|
-
}), isSidebarCollapsed && /*#__PURE__*/jsxRuntime.jsx(
|
|
590
|
+
}), isSidebarCollapsed && /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
|
|
606
591
|
className: "fixed start-2 top-3 z-50"
|
|
607
592
|
})]
|
|
608
593
|
});
|