@bigbinary/neeto-molecules 4.1.69 → 4.1.71
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-lnb4eO0H.js → Columns-DpeV3Jzz.js} +84 -77
- package/dist/Columns-DpeV3Jzz.js.map +1 -0
- package/dist/cjs/{Columns-CKKEXExE.js → Columns-C2ke8N58.js} +84 -77
- package/dist/cjs/Columns-C2ke8N58.js.map +1 -0
- package/dist/cjs/v2/Columns.js +2 -1
- package/dist/cjs/v2/Columns.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +433 -536
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/Header.js +33 -40
- package/dist/cjs/v2/Header.js.map +1 -1
- package/dist/cjs/v2/LoginPage.js +5 -21
- package/dist/cjs/v2/LoginPage.js.map +1 -1
- package/dist/cjs/v2/MenuBar.js +51 -37
- package/dist/cjs/v2/MenuBar.js.map +1 -1
- package/dist/cjs/v2/MoreDropdown.js +11 -22
- package/dist/cjs/v2/MoreDropdown.js.map +1 -1
- package/dist/cjs/v2/Settings.js +16 -25
- package/dist/cjs/v2/Settings.js.map +1 -1
- package/dist/cjs/v2/StickyRibbonsContainer.js +79 -37
- package/dist/cjs/v2/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/v2/SubHeader.js +56 -44
- package/dist/cjs/v2/SubHeader.js.map +1 -1
- package/dist/v2/Columns.js +2 -1
- package/dist/v2/Columns.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +436 -539
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/Header.js +33 -40
- package/dist/v2/Header.js.map +1 -1
- package/dist/v2/LoginPage.js +5 -21
- package/dist/v2/LoginPage.js.map +1 -1
- package/dist/v2/MenuBar.js +51 -37
- package/dist/v2/MenuBar.js.map +1 -1
- package/dist/v2/MoreDropdown.js +11 -22
- package/dist/v2/MoreDropdown.js.map +1 -1
- package/dist/v2/Settings.js +16 -25
- package/dist/v2/Settings.js.map +1 -1
- package/dist/v2/StickyRibbonsContainer.js +81 -39
- package/dist/v2/StickyRibbonsContainer.js.map +1 -1
- package/dist/v2/SubHeader.js +58 -46
- package/dist/v2/SubHeader.js.map +1 -1
- package/package.json +7 -7
- package/dist/Columns-lnb4eO0H.js.map +0 -1
- package/dist/cjs/Columns-CKKEXExE.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 { 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 {...{ onClick }} role=\"menuitem\" {...menuItemProps}>\n {label}\n </DropdownMenu.MenuItem>\n );\n};\n\nexport default MenuItem;\n","import { 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 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 = \"icon\",\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={buttonSize}\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={buttonSize}\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 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":["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","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","isDropdownDisabled","Tooltip","content","Button","icon","className","classnames","_jsxs","customTarget","_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 MENU_ITEM_TYPES = { menuItem: \"menuItem\", divider: \"divider\" };\n\nconst DEFAULT_TOOLTIP_PROPS = { disabled: true, position: \"bottom\" };\n\nconst BUTTON_VARIANTS = [\n \"default\",\n \"secondary\",\n \"destructive\",\n \"destructive-soft\",\n \"outline\",\n \"ghost\",\n \"link\",\n];\n\nconst BUTTON_SIZES = [\n \"default\",\n \"xs\",\n \"sm\",\n \"lg\",\n \"icon\",\n \"icon-xs\",\n \"icon-sm\",\n \"icon-lg\",\n];\n\nconst DROPDOWN_POSITIONS = [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"top-start\",\n \"top-end\",\n \"bottom-start\",\n \"bottom-end\",\n \"left-start\",\n \"left-end\",\n \"right-start\",\n \"right-end\",\n \"auto\",\n];\n\nexport {\n MENU_ITEM_TYPES,\n DEFAULT_TOOLTIP_PROPS,\n BUTTON_VARIANTS,\n BUTTON_SIZES,\n DROPDOWN_POSITIONS,\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 {...{ onClick }} role=\"menuitem\" {...menuItemProps}>\n {label}\n </DropdownMenu.MenuItem>\n );\n};\n\nexport default MenuItem;\n","import { 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 BUTTON_SIZES,\n BUTTON_VARIANTS,\n DEFAULT_TOOLTIP_PROPS,\n DROPDOWN_POSITIONS,\n MENU_ITEM_TYPES,\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 = \"icon\",\n tooltipProps: customTooltipProps,\n variant = \"ghost\",\n ...buttonProps\n } = dropdownButtonProps;\n\n const tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, customTooltipProps);\n\n const TargetIcon = isVertical ? EllipsisVertical : Ellipsis;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n\n const triggerClassName = classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n });\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 className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"more-dropdown-button\"\n icon={TargetIcon}\n size={buttonSize}\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 className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n disabled={isDropdownDisabled}\n icon={TargetIcon}\n size={buttonSize}\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 /**\n * Props forwarded to the trigger Button (atom). Accepts every Button prop;\n * the listed keys are the most relevant.\n */\n dropdownButtonProps: PropTypes.shape({\n variant: PropTypes.oneOf(BUTTON_VARIANTS),\n size: PropTypes.oneOf(BUTTON_SIZES),\n label: PropTypes.string,\n isRounded: PropTypes.bool,\n disabled: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n content: PropTypes.node,\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n disabled: PropTypes.bool,\n }),\n }),\n /** Render `EllipsisVertical` instead of `Ellipsis` for the trigger icon. */\n isVertical: PropTypes.bool,\n /** Disable the entire dropdown (trigger + menu). */\n isDisabled: PropTypes.bool,\n /**\n * Props forwarded to the underlying atom `DropdownMenu`.\n */\n dropdownProps: PropTypes.shape({\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n closeOnEsc: PropTypes.bool,\n closeOnSelect: PropTypes.bool,\n closeOnOutsideClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n onClose: PropTypes.func,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n }),\n /** Rendered above the dynamic `menuItems` inside the dropdown menu. */\n menuTopChildren: PropTypes.node,\n /** Rendered below the dynamic `menuItems` inside the dropdown menu. */\n menuBottomChildren: PropTypes.node,\n /**\n * Each entry accepts every `DropdownMenu.MenuItem` prop (`prefix`, `suffix`,\n * `style`, `isDisabled`, `to`, `href`, …) plus the wrapper-only fields below.\n */\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 menuItems: PropTypes.array,\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["DEFAULT_TOOLTIP_PROPS","disabled","position","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","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_useTranslation","useTranslation","isRoundedButton","isRounded","_dropdownButtonProps$","size","buttonSize","customTooltipProps","tooltipProps","_dropdownButtonProps$2","variant","buttonProps","mergeRight","TargetIcon","EllipsisVertical","Ellipsis","isDropdownDisabled","triggerClassName","classnames","Tooltip","content","Button","className","icon","_jsxs","customTarget","_excluded2"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/v2/Settings.js
CHANGED
|
@@ -65,29 +65,23 @@ var IntegrationItem = function IntegrationItem(_ref) {
|
|
|
65
65
|
})
|
|
66
66
|
}), /*#__PURE__*/jsxs("div", {
|
|
67
67
|
className: "flex min-w-0 flex-1 flex-col gap-1",
|
|
68
|
-
children: [/*#__PURE__*/
|
|
69
|
-
|
|
68
|
+
children: [/*#__PURE__*/jsxs(Typography, {
|
|
69
|
+
className: "flex flex-wrap items-center gap-2",
|
|
70
|
+
"data-settings-heading": "",
|
|
71
|
+
"data-testid": "settings-item-heading",
|
|
70
72
|
variant: "h5",
|
|
71
73
|
weight: "semibold",
|
|
72
|
-
children: /*#__PURE__*/jsx(
|
|
73
|
-
"data-
|
|
74
|
-
|
|
75
|
-
children:
|
|
76
|
-
})
|
|
74
|
+
children: [label, isConnected && /*#__PURE__*/jsx(Badge, {
|
|
75
|
+
"data-testid": "integration-status-tag",
|
|
76
|
+
variant: "green",
|
|
77
|
+
children: t("neetoMolecules.integrationCard.connected")
|
|
78
|
+
})]
|
|
77
79
|
}), /*#__PURE__*/jsx(Typography, {
|
|
78
|
-
|
|
80
|
+
className: "text-muted-foreground",
|
|
81
|
+
"data-testid": "settings-item-description",
|
|
79
82
|
variant: "body2",
|
|
80
|
-
children:
|
|
81
|
-
className: "text-muted-foreground",
|
|
82
|
-
"data-testid": "settings-item-description",
|
|
83
|
-
children: description
|
|
84
|
-
})
|
|
83
|
+
children: description
|
|
85
84
|
})]
|
|
86
|
-
}), isConnected && /*#__PURE__*/jsx(Badge, {
|
|
87
|
-
className: "absolute top-2 right-2",
|
|
88
|
-
"data-testid": "integration-status-tag",
|
|
89
|
-
variant: "default",
|
|
90
|
-
children: t("neetoMolecules.integrationCard.connected")
|
|
91
85
|
})]
|
|
92
86
|
}));
|
|
93
87
|
};
|
|
@@ -137,13 +131,10 @@ var Item = function Item(_ref) {
|
|
|
137
131
|
})
|
|
138
132
|
})]
|
|
139
133
|
}), /*#__PURE__*/jsx(Typography, {
|
|
140
|
-
|
|
134
|
+
className: "text-muted-foreground",
|
|
135
|
+
"data-testid": "settings-item-description",
|
|
141
136
|
variant: "body2",
|
|
142
|
-
children:
|
|
143
|
-
className: "text-muted-foreground",
|
|
144
|
-
"data-testid": "settings-item-description",
|
|
145
|
-
children: description
|
|
146
|
-
})
|
|
137
|
+
children: description
|
|
147
138
|
})]
|
|
148
139
|
}), children && /*#__PURE__*/jsx("div", {
|
|
149
140
|
className: "border-border border-t pt-3",
|
|
@@ -175,7 +166,7 @@ var Category = function Category(_ref) {
|
|
|
175
166
|
variant: "h4",
|
|
176
167
|
weight: "semibold",
|
|
177
168
|
children: /*#__PURE__*/jsx("h2", {
|
|
178
|
-
className: "mt-2 mb-
|
|
169
|
+
className: "mt-2 mb-4",
|
|
179
170
|
"data-testid": "settings-category-heading",
|
|
180
171
|
children: label
|
|
181
172
|
})
|
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 asChild variant=\"h5\" weight=\"semibold\">\n <span data-settings-heading=\"\" data-testid=\"settings-item-heading\">\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","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 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=\"h4\" 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","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,13 +1,19 @@
|
|
|
1
1
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
2
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
3
|
import { useShallow } from 'zustand/shallow';
|
|
4
|
-
import { useState, useEffect } from 'react';
|
|
5
|
-
import {
|
|
4
|
+
import { useState, useEffect, createElement } from 'react';
|
|
5
|
+
import { Button } from '@bigbinary/neeto-atoms';
|
|
6
6
|
import { useLocalStorage } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
7
7
|
import { useErrorDisplayStore } from '@bigbinary/neeto-commons-frontend/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';
|
|
11
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
12
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
13
|
+
import { Alert, AlertDescription, AlertAction } from '@bigbinary/neeto-atoms/primitives';
|
|
14
|
+
import classnames from 'classnames';
|
|
15
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
16
|
+
import { X } from '../x-B1Er0oV4.js';
|
|
11
17
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
12
18
|
import { useQuery } from '@tanstack/react-query';
|
|
13
19
|
import { noop } from '@bigbinary/neeto-cist';
|
|
@@ -15,20 +21,64 @@ import axios from 'axios';
|
|
|
15
21
|
import { BASE_API_V1_URL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
16
22
|
import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
|
|
17
23
|
import { substituteVariables } from '@bigbinary/neeto-editor/utils';
|
|
18
|
-
import
|
|
24
|
+
import '../createLucideIcon-mNMhCCpf.js';
|
|
19
25
|
|
|
20
26
|
var QUERY_KEYS = {
|
|
21
27
|
APP_STICKY_RIBBONS_LIST: "APP_STICKY_RIBBONS_LIST"
|
|
22
28
|
};
|
|
23
|
-
var STICKY_RIBBON_KIND_TO_STYLE = {
|
|
24
|
-
info: "blue",
|
|
25
|
-
warning: "amber",
|
|
26
|
-
error: "red"
|
|
27
|
-
};
|
|
28
29
|
var STICKY_RIBBONS_LOCAL_STORAGE_KEY = "dismissedStickyRibbons";
|
|
29
30
|
var POLLING_INTERVAL = 5000;
|
|
30
31
|
var MAX_POLLING_TIME = 60000;
|
|
31
32
|
var DATE_TIME_FORMAT = "MMMM D h:mm A z";
|
|
33
|
+
var RIBBON_KIND_CONFIG = {
|
|
34
|
+
info: {
|
|
35
|
+
container: "border-info-border bg-info text-info-foreground",
|
|
36
|
+
role: "status"
|
|
37
|
+
},
|
|
38
|
+
warning: {
|
|
39
|
+
container: "border-warning-border bg-warning text-warning-foreground",
|
|
40
|
+
role: "status"
|
|
41
|
+
},
|
|
42
|
+
error: {
|
|
43
|
+
container: "border-error-border bg-error text-error-foreground",
|
|
44
|
+
role: "alert"
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var _excluded = ["kind", "onDismiss", "children", "className"];
|
|
49
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
50
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
51
|
+
var Ribbon = function Ribbon(_ref) {
|
|
52
|
+
var _RIBBON_KIND_CONFIG$k;
|
|
53
|
+
var _ref$kind = _ref.kind,
|
|
54
|
+
kind = _ref$kind === void 0 ? "info" : _ref$kind,
|
|
55
|
+
onDismiss = _ref.onDismiss,
|
|
56
|
+
children = _ref.children,
|
|
57
|
+
className = _ref.className,
|
|
58
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
59
|
+
var _ref2 = (_RIBBON_KIND_CONFIG$k = RIBBON_KIND_CONFIG[kind]) !== null && _RIBBON_KIND_CONFIG$k !== void 0 ? _RIBBON_KIND_CONFIG$k : RIBBON_KIND_CONFIG.info,
|
|
60
|
+
container = _ref2.container,
|
|
61
|
+
role = _ref2.role;
|
|
62
|
+
return /*#__PURE__*/jsxs(Alert, _objectSpread(_objectSpread({
|
|
63
|
+
role: role,
|
|
64
|
+
className: classnames(container, "rounded-none border-x-0 px-12 py-2.5", className)
|
|
65
|
+
}, rest), {}, {
|
|
66
|
+
children: [/*#__PURE__*/jsx(AlertDescription, {
|
|
67
|
+
className: "text-center text-current",
|
|
68
|
+
children: children
|
|
69
|
+
}), onDismiss && /*#__PURE__*/jsx(AlertAction, {
|
|
70
|
+
children: /*#__PURE__*/jsx("button", {
|
|
71
|
+
"aria-label": "Dismiss",
|
|
72
|
+
className: "focus-visible:ring-ring rounded-sm p-0.5 transition-colors hover:bg-current/10 focus-visible:ring-2 focus-visible:outline-none",
|
|
73
|
+
type: "button",
|
|
74
|
+
onClick: onDismiss,
|
|
75
|
+
children: /*#__PURE__*/jsx(X, {
|
|
76
|
+
className: "size-4"
|
|
77
|
+
})
|
|
78
|
+
})
|
|
79
|
+
})]
|
|
80
|
+
}));
|
|
81
|
+
};
|
|
32
82
|
|
|
33
83
|
var fetchStickyRibbons = function fetchStickyRibbons() {
|
|
34
84
|
return axios.get("".concat(BASE_API_V1_URL, "/sticky_ribbons"), {
|
|
@@ -138,28 +188,23 @@ var StickyRibbonsContainer = function StickyRibbonsContainer() {
|
|
|
138
188
|
return !dismissedRibbons.includes(ribbon.id);
|
|
139
189
|
});
|
|
140
190
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
141
|
-
children: [showRefreshRibbon && !isRefreshRibbonDismissed && /*#__PURE__*/jsx(
|
|
142
|
-
className: "w-full rounded-none p-2.5 text-center",
|
|
191
|
+
children: [showRefreshRibbon && !isRefreshRibbonDismissed && /*#__PURE__*/jsx(Ribbon, {
|
|
143
192
|
"data-testid": "refresh-sticky-ribbon",
|
|
144
|
-
|
|
145
|
-
variant: STICKY_RIBBON_KIND_TO_STYLE["error"],
|
|
193
|
+
kind: "error",
|
|
146
194
|
onDismiss: function onDismiss() {
|
|
147
195
|
return setIsRefreshRibbonDismissed(true);
|
|
148
196
|
},
|
|
149
|
-
children: /*#__PURE__*/jsx(
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
})
|
|
161
|
-
}
|
|
162
|
-
})
|
|
197
|
+
children: /*#__PURE__*/jsx(Trans, {
|
|
198
|
+
i18nKey: "neetoMolecules.stickyRibbonsContainer.refreshRibbon",
|
|
199
|
+
components: {
|
|
200
|
+
button: /*#__PURE__*/jsx(Button, {
|
|
201
|
+
"data-testid": "refresh-button",
|
|
202
|
+
variant: "link",
|
|
203
|
+
onClick: function onClick() {
|
|
204
|
+
return window.location.reload();
|
|
205
|
+
}
|
|
206
|
+
})
|
|
207
|
+
}
|
|
163
208
|
})
|
|
164
209
|
}), visibleRibbons.map(function (_ref) {
|
|
165
210
|
var id = _ref.id,
|
|
@@ -167,23 +212,20 @@ var StickyRibbonsContainer = function StickyRibbonsContainer() {
|
|
|
167
212
|
message = _ref.message,
|
|
168
213
|
startsAt = _ref.startsAt,
|
|
169
214
|
endsAt = _ref.endsAt;
|
|
170
|
-
return /*#__PURE__*/
|
|
171
|
-
|
|
215
|
+
return /*#__PURE__*/createElement(Ribbon, {
|
|
216
|
+
kind: kind,
|
|
172
217
|
"data-testid": "sticky-ribbon",
|
|
173
|
-
|
|
174
|
-
variant: STICKY_RIBBON_KIND_TO_STYLE[kind],
|
|
218
|
+
key: id,
|
|
175
219
|
onDismiss: function onDismiss() {
|
|
176
220
|
return handleDismiss(id);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
endsAt: endsAt
|
|
184
|
-
})
|
|
221
|
+
}
|
|
222
|
+
}, /*#__PURE__*/jsx(EditorContent, {
|
|
223
|
+
content: formatMessageContent({
|
|
224
|
+
message: message,
|
|
225
|
+
startsAt: startsAt,
|
|
226
|
+
endsAt: endsAt
|
|
185
227
|
})
|
|
186
|
-
}
|
|
228
|
+
}));
|
|
187
229
|
})]
|
|
188
230
|
});
|
|
189
231
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StickyRibbonsContainer.js","sources":["../../src/v2/components/StickyRibbonsContainer/constants.js","../../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_RIBBON_KIND_TO_STYLE = {\n info: \"blue\",\n warning: \"amber\",\n error: \"red\",\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","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 { Badge, 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 {\n STICKY_RIBBON_KIND_TO_STYLE,\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n} from \"./constants\";\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 <Badge\n className=\"w-full rounded-none p-2.5 text-center\"\n data-testid=\"refresh-sticky-ribbon\"\n size=\"lg\"\n variant={STICKY_RIBBON_KIND_TO_STYLE[\"error\"]}\n onDismiss={() => setIsRefreshRibbonDismissed(true)}\n >\n <span className=\"w-full\">\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 </span>\n </Badge>\n )}\n {visibleRibbons.map(({ id, kind, message, startsAt, endsAt }) => (\n <Badge\n className=\"w-full rounded-none p-2.5 text-center\"\n data-testid=\"sticky-ribbon\"\n key={id}\n size=\"lg\"\n variant={STICKY_RIBBON_KIND_TO_STYLE[kind]}\n onDismiss={() => handleDismiss(id)}\n >\n <EditorContent\n className=\"w-full\"\n content={formatMessageContent({ message, startsAt, endsAt })}\n />\n </Badge>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBON_KIND_TO_STYLE","info","warning","error","STICKY_RIBBONS_LOCAL_STORAGE_KEY","POLLING_INTERVAL","MAX_POLLING_TIME","DATE_TIME_FORMAT","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","_ref","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","_jsxs","_Fragment","children","_jsx","Badge","className","size","variant","onDismiss","Trans","i18nKey","components","button","Button","onClick","window","location","reload","map","kind","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/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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"}
|