@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.
Files changed (63) hide show
  1. package/dist/{Columns-cUgR6NTO.js → Columns-BVXRaORo.js} +8 -11
  2. package/dist/Columns-BVXRaORo.js.map +1 -0
  3. package/dist/{ConfigureView-C84AmCMq.js → ConfigureView-DAZrBZPv.js} +3 -2
  4. package/dist/{ConfigureView-C84AmCMq.js.map → ConfigureView-DAZrBZPv.js.map} +1 -1
  5. package/dist/cjs/{Columns-D3eocaeY.js → Columns-ZySdkGqV.js} +12 -15
  6. package/dist/cjs/Columns-ZySdkGqV.js.map +1 -0
  7. package/dist/cjs/{ConfigureView-DGf7cRMQ.js → ConfigureView-CAWRNNYI.js} +12 -11
  8. package/dist/cjs/{ConfigureView-DGf7cRMQ.js.map → ConfigureView-CAWRNNYI.js.map} +1 -1
  9. package/dist/cjs/v2/AuditLogs.js +19 -80
  10. package/dist/cjs/v2/AuditLogs.js.map +1 -1
  11. package/dist/cjs/v2/Breadcrumbs.js +7 -7
  12. package/dist/cjs/v2/Breadcrumbs.js.map +1 -1
  13. package/dist/cjs/v2/Columns.js +2 -1
  14. package/dist/cjs/v2/Columns.js.map +1 -1
  15. package/dist/cjs/v2/ConfigurePageSidebar.js +7 -6
  16. package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
  17. package/dist/cjs/v2/CopyToClipboardButton.js +11 -17
  18. package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
  19. package/dist/cjs/v2/FloatingActionMenu.js +48 -66
  20. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  21. package/dist/cjs/v2/Header.js +2 -1
  22. package/dist/cjs/v2/Header.js.map +1 -1
  23. package/dist/cjs/v2/HelpPopover.js +51 -54
  24. package/dist/cjs/v2/HelpPopover.js.map +1 -1
  25. package/dist/cjs/v2/KeyboardShortcuts.js +7 -15
  26. package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
  27. package/dist/cjs/v2/MoreDropdown.js +59 -78
  28. package/dist/cjs/v2/MoreDropdown.js.map +1 -1
  29. package/dist/cjs/v2/Settings.js +1 -0
  30. package/dist/cjs/v2/Settings.js.map +1 -1
  31. package/dist/cjs/v2/Sidebar.js +101 -116
  32. package/dist/cjs/v2/Sidebar.js.map +1 -1
  33. package/dist/cjs/v2/SubHeader.js +31 -43
  34. package/dist/cjs/v2/SubHeader.js.map +1 -1
  35. package/dist/v2/AuditLogs.js +20 -81
  36. package/dist/v2/AuditLogs.js.map +1 -1
  37. package/dist/v2/Breadcrumbs.js +1 -1
  38. package/dist/v2/Breadcrumbs.js.map +1 -1
  39. package/dist/v2/Columns.js +2 -1
  40. package/dist/v2/Columns.js.map +1 -1
  41. package/dist/v2/ConfigurePageSidebar.js +3 -2
  42. package/dist/v2/ConfigurePageSidebar.js.map +1 -1
  43. package/dist/v2/CopyToClipboardButton.js +13 -19
  44. package/dist/v2/CopyToClipboardButton.js.map +1 -1
  45. package/dist/v2/FloatingActionMenu.js +25 -43
  46. package/dist/v2/FloatingActionMenu.js.map +1 -1
  47. package/dist/v2/Header.js +2 -1
  48. package/dist/v2/Header.js.map +1 -1
  49. package/dist/v2/HelpPopover.js +53 -56
  50. package/dist/v2/HelpPopover.js.map +1 -1
  51. package/dist/v2/KeyboardShortcuts.js +8 -16
  52. package/dist/v2/KeyboardShortcuts.js.map +1 -1
  53. package/dist/v2/MoreDropdown.js +61 -80
  54. package/dist/v2/MoreDropdown.js.map +1 -1
  55. package/dist/v2/Settings.js +1 -0
  56. package/dist/v2/Settings.js.map +1 -1
  57. package/dist/v2/Sidebar.js +87 -102
  58. package/dist/v2/Sidebar.js.map +1 -1
  59. package/dist/v2/SubHeader.js +32 -44
  60. package/dist/v2/SubHeader.js.map +1 -1
  61. package/package.json +5 -3
  62. package/dist/Columns-cUgR6NTO.js.map +0 -1
  63. package/dist/cjs/Columns-D3eocaeY.js.map +0 -1
package/dist/v2/Header.js CHANGED
@@ -9,13 +9,14 @@ import HelpPopover from './HelpPopover.js';
9
9
  import MoreDropdown from './MoreDropdown.js';
10
10
  import Search from './Search.js';
11
11
  import { jsxs, jsx } from 'react/jsx-runtime';
12
+ import '@bigbinary/neeto-atoms/primitives';
12
13
  import '@bigbinary/neeto-commons-frontend/react-utils';
13
14
  import '@bigbinary/neeto-commons-frontend/utils/general';
14
15
  import 'react-router-dom';
16
+ import 'react-i18next';
15
17
  import '../circle-question-mark-Dib48f5Z.js';
16
18
  import '../createLucideIcon-mNMhCCpf.js';
17
19
  import 'ramda';
18
- import 'react-i18next';
19
20
  import '../ellipsis-DpI9xqUK.js';
20
21
  import '@babel/runtime/helpers/slicedToArray';
21
22
  import '@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce';
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../src/v2/components/Header/constants.js","../../src/v2/components/Header/index.jsx"],"sourcesContent":["const SIZES = { nano: \"nano\", small: \"small\" };\n\nconst DROPDOWN_BUTTON_SIZES = { nano: \"small\", small: \"medium\" };\n\nexport { SIZES, DROPDOWN_BUTTON_SIZES };\n","import { useLayoutEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop, isNotEmpty, isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { DROPDOWN_BUTTON_SIZES, SIZES } from \"./constants\";\n\nimport Breadcrumbs from \"../Breadcrumbs\";\nimport HelpPopover from \"../HelpPopover\";\nimport MoreDropdown from \"../MoreDropdown\";\nimport Search from \"../Search\";\n\nconst Header = ({\n title,\n titleHelpPopoverProps = {},\n searchProps,\n className = \"\",\n actionBlock,\n breadcrumbs = [],\n renderDropdown = noop,\n size = \"small\",\n \"data-testid\": dataTestId = \"neeto-molecules-header\",\n}) => {\n const headerRef = useRef(null);\n\n useLayoutEffect(() => {\n const updateHeaderHeight = () => {\n if (!headerRef.current) return;\n const height = headerRef.current.offsetHeight;\n document.body.style.setProperty(\n \"--neeto-molecules-effective-header-height\",\n `${height}px`\n );\n };\n\n updateHeaderHeight();\n\n window.addEventListener(\"resize\", updateHeaderHeight);\n\n return () => {\n window.removeEventListener(\"resize\", updateHeaderHeight);\n document.body.style.removeProperty(\n \"--neeto-molecules-effective-header-height\"\n );\n };\n }, []);\n\n const isNano = size === SIZES.nano;\n const hasBreadcrumbs = isNotEmpty(breadcrumbs);\n const TitleTag = isNano ? \"h3\" : \"h1\";\n\n return (\n <div\n data-testid={dataTestId}\n ref={headerRef}\n className={classnames(\n \"flex w-full shrink-0 flex-row items-start justify-between gap-4 pt-10 pb-6\",\n \"flex-wrap lg:flex-nowrap\",\n { \"min-h-0\": isNano || size === SIZES.small },\n className\n )}\n >\n <div className=\"flex flex-row flex-wrap items-start justify-start\">\n <div className=\"flex flex-wrap\">\n {hasBreadcrumbs && <Breadcrumbs {...{ breadcrumbs }} />}\n <div\n className={classnames(\n \"flex w-full flex-row items-center gap-3\",\n hasBreadcrumbs\n ? \"mt-0\"\n : \"-mt-1 max-lg:-mt-2.5 max-md:-mt-2 max-sm:-mt-1\"\n )}\n >\n <Typography\n asChild\n variant={isNano ? \"h3\" : \"h1\"}\n weight=\"semibold\"\n >\n <TitleTag data-testid=\"main-header\">\n {title}\n {isPresent(titleHelpPopoverProps) && (\n <HelpPopover\n className=\"ms-2 inline-flex align-middle\"\n side=\"right\"\n {...titleHelpPopoverProps}\n />\n )}\n {renderDropdown(\n ({ dropdownButtonProps = {}, ...dropdownProps }) => (\n <span className=\"ms-2 inline-flex align-middle\">\n <MoreDropdown\n dropdownButtonProps={{\n size: DROPDOWN_BUTTON_SIZES[size],\n ...dropdownButtonProps,\n }}\n {...dropdownProps}\n />\n </span>\n )\n )}\n </TitleTag>\n </Typography>\n </div>\n </div>\n </div>\n <div\n className={classnames(\n \"flex items-center gap-3 empty:hidden\",\n \"flex-wrap justify-start md:flex-nowrap md:justify-end\"\n )}\n >\n {searchProps && (\n <Search\n enableUrlSync\n className={classnames(\n \"min-w-[12.6rem] grow-0\",\n searchProps.className\n )}\n {...searchProps}\n />\n )}\n {actionBlock && (\n <div className=\"flex shrink-0 items-center justify-end gap-3 max-[360px]:shrink max-[360px]:flex-wrap max-[360px]:justify-start\">\n {actionBlock}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nHeader.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * To set props for the HelpPopover component in the title.\n */\n titleHelpPopoverProps: PropTypes.object,\n /**\n * To specify additional class names.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered in the right side of the Header section.\n */\n actionBlock: PropTypes.node,\n /**\n * To add **Search** molecule to the subheader section.\n */\n searchProps: PropTypes.object,\n /**\n * To show breadcrumbs in the Header section. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n /**\n * A function to render the Dropdown next to the title. It provides the MoreDropdown component as argument.\n */\n renderDropdown: PropTypes.func,\n /**\n * To specify size of the Header.\n * `small` - Default size.\n *\n * `nano` - To be used in inner pages with menubar.\n */\n size: PropTypes.oneOf([\"nano\", \"small\"]),\n};\n\nexport default Header;\n"],"names":["SIZES","nano","small","DROPDOWN_BUTTON_SIZES","Header","_ref","title","_ref$titleHelpPopover","titleHelpPopoverProps","searchProps","_ref$className","className","actionBlock","_ref$breadcrumbs","breadcrumbs","_ref$renderDropdown","renderDropdown","noop","_ref$size","size","_ref$dataTestid","dataTestId","headerRef","useRef","useLayoutEffect","updateHeaderHeight","current","height","offsetHeight","document","body","style","setProperty","concat","window","addEventListener","removeEventListener","removeProperty","isNano","hasBreadcrumbs","isNotEmpty","TitleTag","_jsxs","ref","classnames","children","_jsx","Breadcrumbs","Typography","asChild","variant","weight","isPresent","HelpPopover","_objectSpread","side","_ref2","_ref2$dropdownButtonP","dropdownButtonProps","dropdownProps","_objectWithoutProperties","_excluded","MoreDropdown","Search","enableUrlSync"],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sources":["../../src/v2/components/Header/constants.js","../../src/v2/components/Header/index.jsx"],"sourcesContent":["const SIZES = { nano: \"nano\", small: \"small\" };\n\nconst DROPDOWN_BUTTON_SIZES = { nano: \"small\", small: \"medium\" };\n\nexport { SIZES, DROPDOWN_BUTTON_SIZES };\n","import { useLayoutEffect, useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop, isNotEmpty, isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { DROPDOWN_BUTTON_SIZES, SIZES } from \"./constants\";\n\nimport Breadcrumbs from \"../Breadcrumbs\";\nimport HelpPopover from \"../HelpPopover\";\nimport MoreDropdown from \"../MoreDropdown\";\nimport Search from \"../Search\";\n\nconst Header = ({\n title,\n titleHelpPopoverProps = {},\n searchProps,\n className = \"\",\n actionBlock,\n breadcrumbs = [],\n renderDropdown = noop,\n size = \"small\",\n \"data-testid\": dataTestId = \"neeto-molecules-header\",\n}) => {\n const headerRef = useRef(null);\n\n useLayoutEffect(() => {\n const updateHeaderHeight = () => {\n if (!headerRef.current) return;\n const height = headerRef.current.offsetHeight;\n document.body.style.setProperty(\n \"--neeto-molecules-effective-header-height\",\n `${height}px`\n );\n };\n\n updateHeaderHeight();\n\n window.addEventListener(\"resize\", updateHeaderHeight);\n\n return () => {\n window.removeEventListener(\"resize\", updateHeaderHeight);\n document.body.style.removeProperty(\n \"--neeto-molecules-effective-header-height\"\n );\n };\n }, []);\n\n const isNano = size === SIZES.nano;\n const hasBreadcrumbs = isNotEmpty(breadcrumbs);\n const TitleTag = isNano ? \"h3\" : \"h1\";\n\n return (\n <div\n data-testid={dataTestId}\n ref={headerRef}\n className={classnames(\n \"flex w-full shrink-0 flex-row items-start justify-between gap-4 pt-10 pb-6\",\n \"flex-wrap lg:flex-nowrap\",\n { \"min-h-0\": isNano || size === SIZES.small },\n className\n )}\n >\n <div className=\"flex flex-row flex-wrap items-start justify-start\">\n <div className=\"flex flex-wrap\">\n {hasBreadcrumbs && <Breadcrumbs {...{ breadcrumbs }} />}\n <div\n className={classnames(\n \"flex w-full flex-row items-center gap-3\",\n hasBreadcrumbs\n ? \"mt-0\"\n : \"-mt-1 max-lg:-mt-2.5 max-md:-mt-2 max-sm:-mt-1\"\n )}\n >\n <Typography\n asChild\n variant={isNano ? \"h3\" : \"h1\"}\n weight=\"semibold\"\n >\n <TitleTag data-testid=\"main-header\">\n {title}\n {isPresent(titleHelpPopoverProps) && (\n <HelpPopover\n className=\"ms-2 inline-flex align-middle\"\n side=\"right\"\n {...titleHelpPopoverProps}\n />\n )}\n {renderDropdown(\n ({ dropdownButtonProps = {}, ...dropdownProps }) => (\n <span className=\"ms-2 inline-flex align-middle\">\n <MoreDropdown\n dropdownButtonProps={{\n size: DROPDOWN_BUTTON_SIZES[size],\n ...dropdownButtonProps,\n }}\n {...dropdownProps}\n />\n </span>\n )\n )}\n </TitleTag>\n </Typography>\n </div>\n </div>\n </div>\n <div\n className={classnames(\n \"flex items-center gap-3 empty:hidden\",\n \"flex-wrap justify-start md:flex-nowrap md:justify-end\"\n )}\n >\n {searchProps && (\n <Search\n enableUrlSync\n className={classnames(\n \"min-w-[12.6rem] grow-0\",\n searchProps.className\n )}\n {...searchProps}\n />\n )}\n {actionBlock && (\n <div className=\"flex shrink-0 items-center justify-end gap-3 max-[360px]:shrink max-[360px]:flex-wrap max-[360px]:justify-start\">\n {actionBlock}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nHeader.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * To set props for the HelpPopover component in the title.\n */\n titleHelpPopoverProps: PropTypes.object,\n /**\n * To specify additional class names.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered in the right side of the Header section.\n */\n actionBlock: PropTypes.node,\n /**\n * To add **Search** molecule to the subheader section.\n */\n searchProps: PropTypes.object,\n /**\n * To show breadcrumbs in the Header section. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n /**\n * A function to render the Dropdown next to the title. It provides the MoreDropdown component as argument.\n */\n renderDropdown: PropTypes.func,\n /**\n * To specify size of the Header.\n * `small` - Default size.\n *\n * `nano` - To be used in inner pages with menubar.\n */\n size: PropTypes.oneOf([\"nano\", \"small\"]),\n};\n\nexport default Header;\n"],"names":["SIZES","nano","small","DROPDOWN_BUTTON_SIZES","Header","_ref","title","_ref$titleHelpPopover","titleHelpPopoverProps","searchProps","_ref$className","className","actionBlock","_ref$breadcrumbs","breadcrumbs","_ref$renderDropdown","renderDropdown","noop","_ref$size","size","_ref$dataTestid","dataTestId","headerRef","useRef","useLayoutEffect","updateHeaderHeight","current","height","offsetHeight","document","body","style","setProperty","concat","window","addEventListener","removeEventListener","removeProperty","isNano","hasBreadcrumbs","isNotEmpty","TitleTag","_jsxs","ref","classnames","children","_jsx","Breadcrumbs","Typography","asChild","variant","weight","isPresent","HelpPopover","_objectSpread","side","_ref2","_ref2$dropdownButtonP","dropdownButtonProps","dropdownProps","_objectWithoutProperties","_excluded","MoreDropdown","Search","enableUrlSync"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
- import { HoverCard, HoverCardTrigger, HoverCardContent, Typography } from '@bigbinary/neeto-atoms';
3
+ import { Popover, Typography } from '@bigbinary/neeto-atoms';
4
4
  import classnames from 'classnames';
5
- import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
6
- import { jsxs, jsx } from 'react/jsx-runtime';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
7
  import { C as CircleQuestionMark } from '../circle-question-mark-Dib48f5Z.js';
8
8
  import '../createLucideIcon-mNMhCCpf.js';
9
9
  import 'react';
@@ -16,9 +16,8 @@ var SIZE = {
16
16
  var _excluded = ["label"];
17
17
  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; }
18
18
  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; }
19
- var HelpPopover = withT(function (_ref) {
20
- var t = _ref.t,
21
- title = _ref.title,
19
+ var HelpPopover = function HelpPopover(_ref) {
20
+ var title = _ref.title,
22
21
  _ref$size = _ref.size,
23
22
  size = _ref$size === void 0 ? "large" : _ref$size,
24
23
  description = _ref.description,
@@ -32,60 +31,58 @@ var HelpPopover = withT(function (_ref) {
32
31
  sideOffset = _ref.sideOffset,
33
32
  align = _ref.align,
34
33
  alignOffset = _ref.alignOffset;
35
- return /*#__PURE__*/jsxs(HoverCard, {
34
+ var _useTranslation = useTranslation(),
35
+ t = _useTranslation.t;
36
+ var position = align && align !== "center" ? "".concat(side, "-").concat(align) : side;
37
+ return /*#__PURE__*/jsx(Popover, {
38
+ alignOffset: alignOffset,
39
+ position: position,
40
+ sideOffset: sideOffset,
36
41
  closeDelay: 150,
37
42
  openDelay: 0,
38
- children: [/*#__PURE__*/jsx(HoverCardTrigger, {
39
- asChild: true,
40
- children: /*#__PURE__*/jsx("button", {
41
- "data-testid": "help-popover-button",
42
- type: "button",
43
- className: classnames("inline-flex cursor-pointer items-center justify-center rounded-full border-none bg-transparent p-0", className),
44
- children: /*#__PURE__*/jsx(IconComponent, {
45
- color: iconColor,
46
- size: SIZE[size]
47
- })
48
- })
49
- }), /*#__PURE__*/jsx(HoverCardContent, {
50
- align: align,
51
- alignOffset: alignOffset,
52
- side: side,
53
- sideOffset: sideOffset,
54
- children: /*#__PURE__*/jsxs("div", {
55
- className: "flex flex-col",
56
- onClick: function onClick(event) {
57
- return event.stopPropagation();
58
- },
59
- children: [title && /*#__PURE__*/jsx(Typography, {
60
- asChild: true,
61
- variant: "body2",
62
- weight: "semibold",
63
- children: /*#__PURE__*/jsx("h3", {
64
- className: "mb-2",
65
- "data-testid": "help-popover-title",
66
- children: title
67
- })
68
- }), typeof description === "string" ? /*#__PURE__*/jsx(Typography, {
69
- color: "muted",
70
- "data-testid": "help-popover-description",
71
- variant: "body2",
72
- children: description
73
- }) : description, helpLinkProps && function () {
74
- var linkLabel = helpLinkProps.label,
75
- restLinkProps = _objectWithoutProperties(helpLinkProps, _excluded);
76
- return /*#__PURE__*/jsx("a", _objectSpread(_objectSpread({
77
- className: "text-primary mt-3 text-sm hover:underline",
78
- "data-testid": "help-popover-link-button",
79
- rel: "noreferrer",
80
- target: "_blank"
81
- }, restLinkProps), {}, {
82
- children: linkLabel !== null && linkLabel !== void 0 ? linkLabel : t("neetoMolecules.common.viewHelpArticle")
83
- }));
84
- }()]
43
+ trigger: /*#__PURE__*/jsx("button", {
44
+ "data-testid": "help-popover-button",
45
+ type: "button",
46
+ className: classnames("inline-flex cursor-pointer items-center justify-center rounded-full border-none bg-transparent p-0", className),
47
+ children: /*#__PURE__*/jsx(IconComponent, {
48
+ color: iconColor,
49
+ size: SIZE[size]
85
50
  })
86
- })]
51
+ }),
52
+ children: /*#__PURE__*/jsxs("div", {
53
+ className: "flex flex-col",
54
+ onClick: function onClick(event) {
55
+ return event.stopPropagation();
56
+ },
57
+ children: [title && /*#__PURE__*/jsx(Typography, {
58
+ asChild: true,
59
+ variant: "body2",
60
+ weight: "semibold",
61
+ children: /*#__PURE__*/jsx("h3", {
62
+ className: "mb-2",
63
+ "data-testid": "help-popover-title",
64
+ children: title
65
+ })
66
+ }), typeof description === "string" ? /*#__PURE__*/jsx(Typography, {
67
+ color: "muted",
68
+ "data-testid": "help-popover-description",
69
+ variant: "body2",
70
+ children: description
71
+ }) : description, helpLinkProps && function () {
72
+ var linkLabel = helpLinkProps.label,
73
+ restLinkProps = _objectWithoutProperties(helpLinkProps, _excluded);
74
+ return /*#__PURE__*/jsx("a", _objectSpread(_objectSpread({
75
+ className: "text-primary mt-3 text-sm hover:underline",
76
+ "data-testid": "help-popover-link-button",
77
+ rel: "noreferrer",
78
+ target: "_blank"
79
+ }, restLinkProps), {}, {
80
+ children: linkLabel !== null && linkLabel !== void 0 ? linkLabel : t("neetoMolecules.common.viewHelpArticle")
81
+ }));
82
+ }()]
83
+ })
87
84
  });
88
- });
85
+ };
89
86
 
90
87
  export { HelpPopover as default };
91
88
  //# sourceMappingURL=HelpPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HelpPopover.js","sources":["../../src/v2/components/HelpPopover/constants.js","../../src/v2/components/HelpPopover/index.jsx"],"sourcesContent":["export const SIZE = { default: 16, large: 20 };\n","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport {\n HoverCard,\n HoverCardContent,\n HoverCardTrigger,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { CircleHelp } from \"lucide-react\";\nimport { withT } from \"neetocommons/react-utils\";\nimport PropTypes from \"prop-types\";\n\nimport { SIZE } from \"./constants\";\n\nconst HelpPopover = withT(\n ({\n t,\n title,\n size = \"large\",\n description,\n helpLinkProps,\n className,\n iconColor = \"currentColor\",\n icon: IconComponent = CircleHelp,\n side,\n sideOffset,\n align,\n alignOffset,\n }) => (\n <HoverCard closeDelay={150} openDelay={0}>\n <HoverCardTrigger asChild>\n <button\n data-testid=\"help-popover-button\"\n type=\"button\"\n className={classNames(\n \"inline-flex cursor-pointer items-center justify-center rounded-full border-none bg-transparent p-0\",\n className\n )}\n >\n <IconComponent color={iconColor} size={SIZE[size]} />\n </button>\n </HoverCardTrigger>\n <HoverCardContent {...{ align, alignOffset, side, sideOffset }}>\n <div\n className=\"flex flex-col\"\n onClick={event => event.stopPropagation()}\n >\n {title && (\n <Typography asChild variant=\"body2\" weight=\"semibold\">\n <h3 className=\"mb-2\" data-testid=\"help-popover-title\">\n {title}\n </h3>\n </Typography>\n )}\n {typeof description === \"string\" ? (\n <Typography\n color=\"muted\"\n data-testid=\"help-popover-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n ) : (\n description\n )}\n {helpLinkProps &&\n (() => {\n const { label: linkLabel, ...restLinkProps } = helpLinkProps;\n\n return (\n <a\n className=\"text-primary mt-3 text-sm hover:underline\"\n data-testid=\"help-popover-link-button\"\n rel=\"noreferrer\"\n target=\"_blank\"\n {...restLinkProps}\n >\n {linkLabel ?? t(\"neetoMolecules.common.viewHelpArticle\")}\n </a>\n );\n })()}\n </div>\n </HoverCardContent>\n </HoverCard>\n )\n);\n\nHelpPopover.propTypes = {\n title: PropTypes.string,\n size: PropTypes.oneOf([\"default\", \"large\"]),\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n helpLinkProps: PropTypes.object,\n className: PropTypes.string,\n iconColor: PropTypes.string,\n icon: PropTypes.node,\n side: PropTypes.oneOf([\"top\", \"right\", \"bottom\", \"left\"]),\n sideOffset: PropTypes.number,\n align: PropTypes.oneOf([\"start\", \"center\", \"end\"]),\n alignOffset: PropTypes.number,\n};\n\nexport default HelpPopover;\n"],"names":["SIZE","large","HelpPopover","withT","_ref","t","title","_ref$size","size","description","helpLinkProps","className","_ref$iconColor","iconColor","_ref$icon","icon","IconComponent","CircleHelp","side","sideOffset","align","alignOffset","_jsxs","HoverCard","closeDelay","openDelay","children","_jsx","HoverCardTrigger","asChild","type","classNames","color","HoverCardContent","onClick","event","stopPropagation","Typography","variant","weight","linkLabel","label","restLinkProps","_objectWithoutProperties","_excluded","_objectSpread","rel","target"],"mappings":"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"}
1
+ {"version":3,"file":"HelpPopover.js","sources":["../../src/v2/components/HelpPopover/constants.js","../../src/v2/components/HelpPopover/index.jsx"],"sourcesContent":["export const SIZE = { default: 16, large: 20 };\n","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport { Popover, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { CircleHelp } from \"lucide-react\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZE } from \"./constants\";\n\nconst HelpPopover = ({\n title,\n size = \"large\",\n description,\n helpLinkProps,\n className,\n iconColor = \"currentColor\",\n icon: IconComponent = CircleHelp,\n side,\n sideOffset,\n align,\n alignOffset,\n}) => {\n const { t } = useTranslation();\n\n const position = align && align !== \"center\" ? `${side}-${align}` : side;\n\n return (\n <Popover\n {...{ alignOffset, position, sideOffset }}\n closeDelay={150}\n openDelay={0}\n trigger={\n <button\n data-testid=\"help-popover-button\"\n type=\"button\"\n className={classNames(\n \"inline-flex cursor-pointer items-center justify-center rounded-full border-none bg-transparent p-0\",\n className\n )}\n >\n <IconComponent color={iconColor} size={SIZE[size]} />\n </button>\n }\n >\n <div className=\"flex flex-col\" onClick={event => event.stopPropagation()}>\n {title && (\n <Typography asChild variant=\"body2\" weight=\"semibold\">\n <h3 className=\"mb-2\" data-testid=\"help-popover-title\">\n {title}\n </h3>\n </Typography>\n )}\n {typeof description === \"string\" ? (\n <Typography\n color=\"muted\"\n data-testid=\"help-popover-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n ) : (\n description\n )}\n {helpLinkProps &&\n (() => {\n const { label: linkLabel, ...restLinkProps } = helpLinkProps;\n\n return (\n <a\n className=\"text-primary mt-3 text-sm hover:underline\"\n data-testid=\"help-popover-link-button\"\n rel=\"noreferrer\"\n target=\"_blank\"\n {...restLinkProps}\n >\n {linkLabel ?? t(\"neetoMolecules.common.viewHelpArticle\")}\n </a>\n );\n })()}\n </div>\n </Popover>\n );\n};\n\nHelpPopover.propTypes = {\n title: PropTypes.string,\n size: PropTypes.oneOf([\"default\", \"large\"]),\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n helpLinkProps: PropTypes.object,\n className: PropTypes.string,\n iconColor: PropTypes.string,\n icon: PropTypes.node,\n side: PropTypes.oneOf([\"top\", \"right\", \"bottom\", \"left\"]),\n sideOffset: PropTypes.number,\n align: PropTypes.oneOf([\"start\", \"center\", \"end\"]),\n alignOffset: PropTypes.number,\n};\n\nexport default HelpPopover;\n"],"names":["SIZE","large","HelpPopover","_ref","title","_ref$size","size","description","helpLinkProps","className","_ref$iconColor","iconColor","_ref$icon","icon","IconComponent","CircleHelp","side","sideOffset","align","alignOffset","_useTranslation","useTranslation","t","position","concat","_jsx","Popover","closeDelay","openDelay","trigger","type","classNames","children","color","_jsxs","onClick","event","stopPropagation","Typography","asChild","variant","weight","linkLabel","label","restLinkProps","_objectWithoutProperties","_excluded","_objectSpread","rel","target"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { useShallow } from 'zustand/shallow';
2
2
  import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
3
3
  import { create } from 'zustand';
4
4
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
- import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent, Kbd, Button } from '@bigbinary/neeto-atoms';
5
+ import { Tooltip, Kbd, Button } from '@bigbinary/neeto-atoms';
6
6
  import classnames from 'classnames';
7
7
  import useHotkeys from '@bigbinary/neeto-hotkeys';
8
8
  import { manager } from '@bigbinary/neetoui/managers';
@@ -159,17 +159,11 @@ var KbdKey = function KbdKey(_ref2) {
159
159
  var keyName = _ref2.keyName,
160
160
  tooltipProps = _ref2.tooltipProps;
161
161
  if (tooltipProps) {
162
- return /*#__PURE__*/jsx(TooltipProvider, {
163
- children: /*#__PURE__*/jsxs(Tooltip, {
164
- children: [/*#__PURE__*/jsx(TooltipTrigger, {
165
- asChild: true,
166
- children: /*#__PURE__*/jsx(KbdWithRef, {
167
- children: keyName
168
- })
169
- }), /*#__PURE__*/jsx(TooltipContent, {
170
- side: "top",
171
- children: tooltipProps.content
172
- })]
162
+ return /*#__PURE__*/jsx(Tooltip, {
163
+ content: tooltipProps.content,
164
+ position: "top",
165
+ children: /*#__PURE__*/jsx(KbdWithRef, {
166
+ children: keyName
173
167
  })
174
168
  });
175
169
  }
@@ -303,14 +297,12 @@ var KeyboardShortcutsPane = function KeyboardShortcutsPane(_ref) {
303
297
  children: t("neetoMolecules.keyboardShortcuts.title")
304
298
  }), /*#__PURE__*/jsx(Button, {
305
299
  "data-testid": "keyboard-shortcuts-pane-close-button",
300
+ icon: X,
306
301
  size: "icon",
307
302
  variant: "ghost",
308
303
  onClick: function onClick() {
309
304
  return setIsOpen(false);
310
- },
311
- children: /*#__PURE__*/jsx(X, {
312
- size: 16
313
- })
305
+ }
314
306
  })]
315
307
  }), /*#__PURE__*/jsx(HotKeyList$1, {
316
308
  hotkeys: GLOBAL_SHORTCUTS
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcuts.js","sources":["../../src/v2/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js","../../src/v2/components/KeyboardShortcuts/Pane/constants.js","../../src/v2/components/KeyboardShortcuts/Pane/utils.js","../../src/v2/components/KeyboardShortcuts/Pane/HotKey.jsx","../../src/v2/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../../src/v2/components/KeyboardShortcuts/Pane/index.jsx","../../src/v2/components/KeyboardShortcuts/index.js"],"sourcesContent":["import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useKeyboardShortcutsStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useKeyboardShortcutsPaneState = () => {\n const { isOpen, setIsOpen } = useKeyboardShortcutsStore.pick();\n\n return [isOpen, setIsOpen];\n};\n\nexport default useKeyboardShortcutsPaneState;\n","export const KEY_SHORTFORM_MAP = {\n command: \"\\u2318\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"macOS\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"\\u2318\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport { toPairs } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const parser = new UAParser(navigator.userAgent);\n const result = parser.getResult();\n const isOSX = result.os.name?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"command+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n openProductSwitcher: {\n sequence: \"command+u\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openProductSwitcher\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, forwardRef, Fragment } from \"react\";\n\nimport {\n Kbd,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@bigbinary/neeto-atoms\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst KbdWithRef = forwardRef(({ children, ...props }, ref) => (\n <span {...{ ref, ...props }}>\n <Kbd className=\"neeto-ui-kbd\">{children}</Kbd>\n </span>\n));\nKbdWithRef.displayName = \"KbdWithRef\";\n\nconst KbdKey = ({ keyName, tooltipProps }) => {\n if (tooltipProps) {\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <KbdWithRef>{keyName}</KbdWithRef>\n </TooltipTrigger>\n <TooltipContent side=\"top\">{tooltipProps.content}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return <Kbd className=\"neeto-ui-kbd\">{keyName}</Kbd>;\n};\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-testid=\"hotkey-item\"\n >\n <span className=\"text-foreground min-w-0 flex-grow text-sm leading-normal break-words\">\n {description}\n </span>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <KbdKey\n {...{ keyName }}\n tooltipProps={getTooltipProps(keyName)}\n />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <KbdKey keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <span className=\"text-foreground text-xs font-bold uppercase\">\n {categoryName}\n </span>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button asChild className=\"mb-3\" variant=\"link\">\n <a href={fullShortcutsLink} rel=\"noreferrer\" target=\"_blank\">\n {t(\"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\")}\n </a>\n </Button>\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport useHotkeys from \"neetohotkeys\";\nimport { manager } from \"neetoui/managers\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(\n shortcuts.openKeyboardShortcutsPane.sequence,\n () => setIsOpen(prevIsOpen => !prevIsOpen),\n { mode: \"global\" }\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false), {\n mode: \"global\",\n enabled: isOpen,\n });\n\n return (\n <div\n data-testid=\"keyboard-shortcuts-pane\"\n style={{ zIndex: \"calc(var(--neeto-ui-modal-z-index) + 1)\" }}\n className={classnames(\n \"border-border bg-background transition-width ms-auto h-dvh shrink-0 grow-0 overflow-hidden border-l duration-300 ease-in-out rtl:border-r rtl:border-l-0\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"end-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"border-border my-2 flex items-center justify-between border-b px-4 pb-2\">\n <h4\n className=\"text-foreground text-base font-semibold\"\n data-testid=\"keyboard-shortcuts-pane-title\"\n >\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </h4>\n <Button\n data-testid=\"keyboard-shortcuts-pane-close-button\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => setIsOpen(false)}\n >\n <X size={16} />\n </Button>\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["useKeyboardShortcutsStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_useKeyboardShortcuts","useShallow","store","KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_result$os$name","parser","UAParser","navigator","userAgent","result","getResult","isOSX","os","name","includes","shortenHotKey","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","openProductSwitcher","getTooltipProps","key","position","content","followCursor","KbdWithRef","forwardRef","ref","children","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Kbd","className","displayName","KbdKey","tooltipProps","TooltipProvider","_jsxs","Tooltip","TooltipTrigger","asChild","TooltipContent","side","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","idx","Fragment","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","_ref3$","_createElement","Button","variant","href","rel","target","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts2","hasOverlays","manager","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","mode","enabled","style","zIndex","classnames","absolute","size","onClick","X","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardShortcuts.js","sources":["../../src/v2/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js","../../src/v2/components/KeyboardShortcuts/Pane/constants.js","../../src/v2/components/KeyboardShortcuts/Pane/utils.js","../../src/v2/components/KeyboardShortcuts/Pane/HotKey.jsx","../../src/v2/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../../src/v2/components/KeyboardShortcuts/Pane/index.jsx","../../src/v2/components/KeyboardShortcuts/index.js"],"sourcesContent":["import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useKeyboardShortcutsStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useKeyboardShortcutsPaneState = () => {\n const { isOpen, setIsOpen } = useKeyboardShortcutsStore.pick();\n\n return [isOpen, setIsOpen];\n};\n\nexport default useKeyboardShortcutsPaneState;\n","export const KEY_SHORTFORM_MAP = {\n command: \"\\u2318\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"macOS\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"\\u2318\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport { toPairs } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const parser = new UAParser(navigator.userAgent);\n const result = parser.getResult();\n const isOSX = result.os.name?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"command+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n openProductSwitcher: {\n sequence: \"command+u\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openProductSwitcher\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, forwardRef, Fragment } from \"react\";\n\nimport { Kbd, Tooltip } from \"@bigbinary/neeto-atoms\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst KbdWithRef = forwardRef(({ children, ...props }, ref) => (\n <span {...{ ref, ...props }}>\n <Kbd className=\"neeto-ui-kbd\">{children}</Kbd>\n </span>\n));\nKbdWithRef.displayName = \"KbdWithRef\";\n\nconst KbdKey = ({ keyName, tooltipProps }) => {\n if (tooltipProps) {\n return (\n <Tooltip content={tooltipProps.content} position=\"top\">\n <KbdWithRef>{keyName}</KbdWithRef>\n </Tooltip>\n );\n }\n\n return <Kbd className=\"neeto-ui-kbd\">{keyName}</Kbd>;\n};\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-testid=\"hotkey-item\"\n >\n <span className=\"text-foreground min-w-0 flex-grow text-sm leading-normal break-words\">\n {description}\n </span>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <KbdKey\n {...{ keyName }}\n tooltipProps={getTooltipProps(keyName)}\n />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <KbdKey keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <span className=\"text-foreground text-xs font-bold uppercase\">\n {categoryName}\n </span>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button asChild className=\"mb-3\" variant=\"link\">\n <a href={fullShortcutsLink} rel=\"noreferrer\" target=\"_blank\">\n {t(\"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\")}\n </a>\n </Button>\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport useHotkeys from \"neetohotkeys\";\nimport { manager } from \"neetoui/managers\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = manager.hasOverlays();\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(\n shortcuts.openKeyboardShortcutsPane.sequence,\n () => setIsOpen(prevIsOpen => !prevIsOpen),\n { mode: \"global\" }\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false), {\n mode: \"global\",\n enabled: isOpen,\n });\n\n return (\n <div\n data-testid=\"keyboard-shortcuts-pane\"\n style={{ zIndex: \"calc(var(--neeto-ui-modal-z-index) + 1)\" }}\n className={classnames(\n \"border-border bg-background transition-width ms-auto h-dvh shrink-0 grow-0 overflow-hidden border-l duration-300 ease-in-out rtl:border-r rtl:border-l-0\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"end-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"border-border my-2 flex items-center justify-between border-b px-4 pb-2\">\n <h4\n className=\"text-foreground text-base font-semibold\"\n data-testid=\"keyboard-shortcuts-pane-title\"\n >\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </h4>\n <Button\n data-testid=\"keyboard-shortcuts-pane-close-button\"\n icon={X}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["useKeyboardShortcutsStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_useKeyboardShortcuts","useShallow","store","KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_result$os$name","parser","UAParser","navigator","userAgent","result","getResult","isOSX","os","name","includes","shortenHotKey","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","openProductSwitcher","getTooltipProps","key","position","content","followCursor","KbdWithRef","forwardRef","ref","children","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Kbd","className","displayName","KbdKey","tooltipProps","Tooltip","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","_jsxs","idx","Fragment","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","_ref3$","_createElement","Button","asChild","variant","href","rel","target","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts2","hasOverlays","manager","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","mode","enabled","style","zIndex","classnames","absolute","icon","X","size","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAMA,yBAAyB,GAAGC,MAAM,CACtCC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,MAAM,EAAE,KAAK;AAEbC,IAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEC,GAAG,EAAI;AAChB,MAAA,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC7BH,GAAG,CAAC,UAAAI,KAAK,EAAA;UAAA,OAAK;AAAEH,YAAAA,MAAM,EAAEE,GAAG,CAACC,KAAK,CAACH,MAAM;WAAG;AAAA,QAAA,CAAC,CAAC;AAC/C,MAAA,CAAC,MAAM;AACLD,QAAAA,GAAG,CAAC;AAAEC,UAAAA,MAAM,EAAEE;AAAI,SAAC,CAAC;AACtB,MAAA;AACF,IAAA;GACD;AAAA,CAAC,CACJ,CAAC;AAED,IAAME,6BAA6B,GAAG,SAAhCA,6BAA6BA,GAAS;AAC1C,EAAA,IAAAC,qBAAA,GAAAT,yBAAA,CAAAU,UAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQP,QAAAA,MAAM,EAAAO,KAAA,CAAA,QAAA,CAAA;AAAEN,QAAAA,SAAS,EAAAM,KAAA,CAAA,WAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAAjBP,MAAM,GAAAK,qBAAA,CAANL,MAAM;IAAEC,SAAS,GAAAI,qBAAA,CAATJ,SAAS;AAEzB,EAAA,OAAO,CAACD,MAAM,EAAEC,SAAS,CAAC;AAC5B,CAAC;;ACtBM,IAAMO,iBAAiB,GAAG;AAC/BC,EAAAA,OAAO,EAAE,QAAQ;AACjBC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,MAAM,EAAE,KAAK;EACb,QAAA,EAAQ;AACV,CAAC;AAEM,IAAMC,uBAAuB,GAAG;AACrCD,EAAAA,MAAM,EAAE,KAAK;AACbH,EAAAA,OAAO,EAAE,MAAM;AACf,EAAA,QAAA,EAAQ,OAAO;EACf,QAAA,EAAQ;AACV,CAAC;AAEM,IAAMK,EAAE,GAAG;AAAEC,EAAAA,GAAG,EAAE,OAA4B,CAAC;AAE/C,IAAMC,6BAA6B,GAAG,mBAAmB;AAEzD,IAAMC,eAAe,GAAG;AAC7B,EAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,GAAG,EAAE,QAAQ;AACbC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,GAAG,EAAE,QAAQ;AACbC,EAAAA,SAAS,EAAE;AACb,CAAC;;ACdD,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC;AAAA,CAAA;AAExD,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIH,MAAM,EAAEI,OAAO,EAAEC,WAAW,EAAA;EAAA,OAC/CN,gBAAgB,CAACC,MAAM,CAAC,GACpBA,MAAM,CAACM,GAAG,CAAC,UAAAC,IAAI,EAAA;AAAA,IAAA,OAAIA,IAAI,CAACC,UAAU,CAACJ,OAAO,EAAEC,WAAW,CAAC;EAAA,CAAA,CAAC,GACzDL,MAAM,CAACQ,UAAU,CAACJ,OAAO,EAAEC,WAAW,CAAC;AAAA,CAAA;AAE7C,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGT,MAAM,EAAI;EACvCU,OAAO,CAACpB,uBAAuB,CAAC,CAACqB,OAAO,CAAC,UAAAC,IAAA,EAA0B;AAAA,IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAxBG,MAAAA,MAAM,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,UAAU,GAAAH,KAAA,CAAA,CAAA,CAAA;IAC3Db,MAAM,GAAGG,WAAW,CAACH,MAAM,EAAEe,MAAM,EAAEC,UAAU,CAAC;AAClD,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOhB,MAAM;AACf,CAAC;AAEM,IAAMiB,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAGjB,MAAM,EAAI;AAAA,EAAA,IAAAkB,eAAA;EACpD,IAAMC,MAAM,GAAG,IAAIC,QAAQ,CAACC,SAAS,CAACC,SAAS,CAAC;AAChD,EAAA,IAAMC,MAAM,GAAGJ,MAAM,CAACK,SAAS,EAAE;AACjC,EAAA,IAAMC,KAAK,GAAA,CAAAP,eAAA,GAAGK,MAAM,CAACG,EAAE,CAACC,IAAI,cAAAT,eAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,eAAA,CAAgBU,QAAQ,CAACrC,EAAE,CAACC,GAAG,CAAC;EAC9C,IAAIiC,KAAK,EAAE,OAAOzB,MAAM;EAExB,OAAOS,sBAAsB,CAACT,MAAM,CAAC;AACvC,CAAC;AAEM,IAAM6B,aAAa,GAAG,SAAhBA,aAAaA,CAAG7B,MAAM,EAAI;EACrC,IAAIuB,MAAM,GAAGvB,MAAM;EACnB8B,MAAM,CAACC,OAAO,CAAC9C,iBAAiB,CAAC,CAAC0B,OAAO,CAAC,UAAAqB,KAAA,EAA2B;AAAA,IAAA,IAAAC,KAAA,GAAAnB,cAAA,CAAAkB,KAAA,EAAA,CAAA,CAAA;AAAzBE,MAAAA,QAAQ,GAAAD,KAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,KAAA,CAAA,CAAA,CAAA;IAC7DV,MAAM,GAAGA,MAAM,CAACf,UAAU,CAAC0B,QAAQ,EAAEC,SAAS,CAAC;AACjD,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOZ,MAAM;AACf,CAAC;AAEM,IAAMa,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;EAAA,OAAAC,eAAA,KAC5BC,OAAO,CAACC,CAAC,CAAC,sDAAsD,CAAC,EAAG;AACnEC,IAAAA,yBAAyB,EAAE;AACzBC,MAAAA,QAAQ,EAAE,WAAW;AACrBC,MAAAA,WAAW,EAAEJ,OAAO,CAACC,CAAC,CACpB,mEACF;KACD;AACDI,IAAAA,KAAK,EAAE;AACLF,MAAAA,QAAQ,EAAE,KAAK;AACfC,MAAAA,WAAW,EAAEJ,OAAO,CAACC,CAAC,CAAC,+CAA+C;KACvE;AACDK,IAAAA,UAAU,EAAE;AACVH,MAAAA,QAAQ,EAAE,gBAAgB;AAC1BC,MAAAA,WAAW,EAAEJ,OAAO,CAACC,CAAC,CACpB,oDACF;KACD;AACDM,IAAAA,mBAAmB,EAAE;AACnBJ,MAAAA,QAAQ,EAAE,WAAW;AACrBC,MAAAA,WAAW,EAAEJ,OAAO,CAACC,CAAC,CACpB,6DACF;AACF;GACD,CAAA;AAAA,CACD;AAEK,IAAMO,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,GAAG,EAAI;AACpC,EAAA,IAAIrD,eAAe,CAACqD,GAAG,CAAC,EAAE;IACxB,OAAO;AACLC,MAAAA,QAAQ,EAAE,KAAK;AACfC,MAAAA,OAAO,EAAEvD,eAAe,CAACqD,GAAG,CAAC;AAC7BG,MAAAA,YAAY,EAAE;KACf;AACH,EAAA;AAEA,EAAA,OAAO,IAAI;AACb,CAAC;;;;;ACvED,IAAMC,UAAU,gBAAGC,UAAU,CAAC,UAAAxC,IAAA,EAAyByC,GAAG,EAAA;AAAA,EAAA,IAAzBC,QAAQ,GAAA1C,IAAA,CAAR0C,QAAQ;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAA5C,IAAA,EAAA6C,SAAA,CAAA;AAAA,EAAA,oBACjDC,GAAA,CAAA,MAAA,EAAAC,aAAA,CAAAA,aAAA,KAAAA,aAAA,CAAA;AAAYN,IAAAA,GAAG,EAAHA;AAAG,GAAA,EAAKE,KAAK,CAAA,CAAA,EAAA,EAAA,EAAA;IAAAD,QAAA,eACvBI,GAAA,CAACE,GAAG,EAAA;AAACC,MAAAA,SAAS,EAAC,cAAc;AAAAP,MAAAA,QAAA,EAAEA;KAAc;AAAC,GAAA,CAC1C,CAAC;AAAA,CACR,CAAC;AACFH,UAAU,CAACW,WAAW,GAAG,YAAY;AAErC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAlD,KAAA,EAAkC;AAAA,EAAA,IAA5BT,OAAO,GAAAS,KAAA,CAAPT,OAAO;IAAE4D,YAAY,GAAAnD,KAAA,CAAZmD,YAAY;AACrC,EAAA,IAAIA,YAAY,EAAE;IAChB,oBACEN,GAAA,CAACO,OAAO,EAAA;MAAChB,OAAO,EAAEe,YAAY,CAACf,OAAQ;AAACD,MAAAA,QAAQ,EAAC,KAAK;MAAAM,QAAA,eACpDI,GAAA,CAACP,UAAU,EAAA;AAAAG,QAAAA,QAAA,EAAElD;OAAoB;AAAC,KAC3B,CAAC;AAEd,EAAA;EAEA,oBAAOsD,GAAA,CAACE,GAAG,EAAA;AAACC,IAAAA,SAAS,EAAC,cAAc;AAAAP,IAAAA,QAAA,EAAElD;AAAO,GAAM,CAAC;AACtD,CAAC;AAED,IAAM8D,MAAM,GAAG,SAATA,MAAMA,CAAAlC,KAAA,EAAkC;AAAA,EAAA,IAA5BU,WAAW,GAAAV,KAAA,CAAXU,WAAW;IAAED,QAAQ,GAAAT,KAAA,CAARS,QAAQ;EACrC,IAAMzC,MAAM,GAAG6B,aAAa,CAACZ,4BAA4B,CAACwB,QAAQ,CAAC,CAAC;AACpE,EAAA,IAAM0B,kBAAkB,GAAGnE,MAAM,CAAC4B,QAAQ,CAAC,GAAG,CAAC;AAC/C,EAAA,IAAMwC,oBAAoB,GAAGpE,MAAM,CAAC4B,QAAQ,CAAC,GAAG,CAAC;AACjD,EAAA,IAAMyC,iBAAiB,GAAG,CAACF,kBAAkB,IAAI,CAACC,oBAAoB;EACtE,IAAIE,SAAS,GAAG,EAAE;AAElB,EAAA,IAAID,iBAAiB,EAAE;IACrBC,SAAS,GAAG,CAACtE,MAAM,CAAC;EACtB,CAAC,MAAM,IAAImE,kBAAkB,EAAE;AAC7BG,IAAAA,SAAS,GAAGtE,MAAM,CAACuE,KAAK,CAAC,GAAG,CAAC;EAC/B,CAAC,MAAM,IAAIH,oBAAoB,EAAE;AAC/BE,IAAAA,SAAS,GAAGtE,MAAM,CAACuE,KAAK,CAAC,GAAG,CAAC;AAC/B,EAAA;AAEA,EAAA,oBACEb,GAAA,CAAA,KAAA,EAAA;AAAKG,IAAAA,SAAS,EAAC,aAAa;AAAAP,IAAAA,QAAA,eAC1BkB,IAAA,CAAA,KAAA,EAAA;AACEX,MAAAA,SAAS,EAAC,yCAAyC;AACnD,MAAA,aAAA,EAAY,aAAa;AAAAP,MAAAA,QAAA,gBAEzBI,GAAA,CAAA,MAAA,EAAA;AAAMG,QAAAA,SAAS,EAAC,sEAAsE;AAAAP,QAAAA,QAAA,EACnFZ;OACG,CAAC,eACPgB,GAAA,CAAA,KAAA,EAAA;AAAKG,QAAAA,SAAS,EAAC,uCAAuC;QAAAP,QAAA,EACnDgB,SAAS,CAAChE,GAAG,CAAC,UAACF,OAAO,EAAEqE,GAAG,EAAA;UAAA,oBAC1BD,IAAA,CAACE,QAAQ,EAAA;YAAApB,QAAA,EAAA,cACPI,GAAA,CAACK,MAAM,EAAA;AACC3D,cAAAA,OAAO,EAAPA,OAAO;cACb4D,YAAY,EAAElB,eAAe,CAAC1C,OAAO;AAAE,aACxC,CAAC,EACD+D,kBAAkB,IAAIM,GAAG,GAAG,CAAC,KAAKH,SAAS,CAACK,MAAM,iBACjDjB,GAAA,CAACK,MAAM,EAAA;AAAC3D,cAAAA,OAAO,EAAC;AAAM,aAAE,CACzB;AAAA,WAAA,EAPYqE,GAQL,CAAC;QAAA,CACZ;AAAC,OACC,CAAC;KACH;AAAC,GACH,CAAC;AAEV,CAAC;AAED,eAAA,aAAeG,IAAI,CAACV,MAAM,CAAC;;AC/D3B,IAAMW,UAAU,GAAGC,KAAK,CAAC,UAAAlE,IAAA,EAAA;AAAA,EAAA,IAAG2B,CAAC,GAAA3B,IAAA,CAAD2B,CAAC;IAAEwC,OAAO,GAAAnE,IAAA,CAAPmE,OAAO;EAAA,OACpCjD,MAAM,CAACkD,IAAI,CAACD,OAAO,CAAC,CAACzE,GAAG,CAAC,UAAA2E,YAAY,EAAI;AACvC,IAAA,IAAMC,cAAc,GAAGH,OAAO,CAACE,YAAY,CAAC;AAC5C,IAAA,IAAME,iBAAiB,GAAGD,cAAc,CAACzF,6BAA6B,CAAC;AAEvE,IAAA,oBACE+E,IAAA,CAAA,KAAA,EAAA;AAAKX,MAAAA,SAAS,EAAC,WAAW;AAAAP,MAAAA,QAAA,gBACxBI,GAAA,CAAA,MAAA,EAAA;AAAMG,QAAAA,SAAS,EAAC,6CAA6C;AAAAP,QAAAA,QAAA,EAC1D2B;AAAY,OACT,CAAC,EACNnD,MAAM,CAACC,OAAO,CAACmD,cAAc,CAAC,CAAC5E,GAAG,CACjC,UAAAO,KAAA,EAAA;AAAA,QAAA,IAAAmB,KAAA,GAAAlB,cAAA,CAAAD,KAAA,EAAA,CAAA,CAAA;AAAAuE,UAAAA,MAAA,GAAApD,KAAA,CAAA,CAAA,CAAA;UAAMS,QAAQ,GAAA2C,MAAA,CAAR3C,QAAQ;UAAEC,WAAW,GAAA0C,MAAA,CAAX1C,WAAW;AAAA,QAAA,OACzBD,QAAQ,iBAAI4C,aAAA,CAACnB,QAAM,EAAA;AAAOxB,UAAAA,WAAW,EAAXA,WAAW;AAAED,UAAAA,QAAQ,EAARA,QAAQ;AAAIM,UAAAA,GAAG,EAAEN;AAAS,SAAE,CAAC;AAAA,MAAA,CACxE,CAAC,EACA0C,iBAAiB,iBAChBzB,GAAA,CAAC4B,MAAM,EAAA;QAACC,OAAO,EAAA,IAAA;AAAC1B,QAAAA,SAAS,EAAC,MAAM;AAAC2B,QAAAA,OAAO,EAAC,MAAM;AAAAlC,QAAAA,QAAA,eAC7CI,GAAA,CAAA,GAAA,EAAA;AAAG+B,UAAAA,IAAI,EAAEN,iBAAkB;AAACO,UAAAA,GAAG,EAAC,YAAY;AAACC,UAAAA,MAAM,EAAC,QAAQ;UAAArC,QAAA,EACzDf,CAAC,CAAC,0DAA0D;SAC5D;AAAC,OACE,CACT;AAAA,KAAA,EAd6B0C,YAe3B,CAAC;AAEV,EAAA,CAAC,CAAC;AAAA,CACJ,CAAC;AAED,mBAAA,aAAeL,IAAI,CAACC,UAAU,CAAC;;ACrB/B,IAAMe,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAhF,IAAA,EAAkC;AAAA,EAAA,IAAAiF,qBAAA,GAAAjF,IAAA,CAA5BkF,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AACpD,EAAA,IAAA/G,qBAAA,GAA4BD,6BAA6B,EAAE;IAAAkH,sBAAA,GAAAjF,cAAA,CAAAhC,qBAAA,EAAA,CAAA,CAAA;AAApDL,IAAAA,MAAM,GAAAsH,sBAAA,CAAA,CAAA,CAAA;AAAErH,IAAAA,SAAS,GAAAqH,sBAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAMC,WAAW,GAAGC,OAAO,CAACD,WAAW,EAAE;AACzC;AACA,EAAA,IAAME,gBAAgB,GAAG9D,kBAAkB,EAAE;AAC7C,EAAA,IAAA+D,eAAA,GAAcC,cAAc,EAAE;IAAtB7D,CAAC,GAAA4D,eAAA,CAAD5D,CAAC;EAET,IAAM8D,SAAS,GACbH,gBAAgB,CAAC3D,CAAC,CAAC,sDAAsD,CAAC,CAAC;AAE7E+D,EAAAA,UAAU,CACRD,SAAS,CAAC7D,yBAAyB,CAACC,QAAQ,EAC5C,YAAA;IAAA,OAAM/D,SAAS,CAAC,UAAA6H,UAAU,EAAA;AAAA,MAAA,OAAI,CAACA,UAAU;IAAA,CAAA,CAAC;EAAA,CAAA,EAC1C;AAAEC,IAAAA,IAAI,EAAE;AAAS,GACnB,CAAC;AAEDF,EAAAA,UAAU,CAACD,SAAS,CAAC1D,KAAK,CAACF,QAAQ,EAAE,YAAA;IAAA,OAAM/D,SAAS,CAAC,KAAK,CAAC;EAAA,CAAA,EAAE;AAC3D8H,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,OAAO,EAAEhI;AACX,GAAC,CAAC;AAEF,EAAA,oBACEiF,GAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,yBAAyB;AACrCgD,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAE;KAA4C;AAC7D9C,IAAAA,SAAS,EAAE+C,UAAU,CACnB,0JAA0J,EAC1J;AACE,MAAA,MAAM,EAAEnI,MAAM;MACd,KAAK,EAAE,CAACA,MAAM;AACdoI,MAAAA,QAAQ,EAAEb,WAAW;AACrB,MAAA,OAAO,EAAEA;AACX,KACF,CAAE;AAAA1C,IAAAA,QAAA,eAEFkB,IAAA,CAAA,KAAA,EAAA;AAAKX,MAAAA,SAAS,EAAC,6BAA6B;AAAAP,MAAAA,QAAA,gBAC1CkB,IAAA,CAAA,KAAA,EAAA;AAAKX,QAAAA,SAAS,EAAC,yEAAyE;AAAAP,QAAAA,QAAA,gBACtFI,GAAA,CAAA,IAAA,EAAA;AACEG,UAAAA,SAAS,EAAC,yCAAyC;AACnD,UAAA,aAAA,EAAY,+BAA+B;UAAAP,QAAA,EAE1Cf,CAAC,CAAC,wCAAwC;AAAC,SAC1C,CAAC,eACLmB,GAAA,CAAC4B,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,sCAAsC;AAClDwB,UAAAA,IAAI,EAAEC,CAAE;AACRC,UAAAA,IAAI,EAAC,MAAM;AACXxB,UAAAA,OAAO,EAAC,OAAO;UACfyB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQvI,SAAS,CAAC,KAAK,CAAC;AAAA,UAAA;AAAC,SACjC,CAAC;AAAA,OACC,CAAC,eACNgF,GAAA,CAACmB,YAAU,EAAA;AAACE,QAAAA,OAAO,EAAEmB;AAAiB,OAAE,CAAC,eACzCxC,GAAA,CAACmB,YAAU,EAAA;AAACE,QAAAA,OAAO,EAAEe;AAAiB,OAAE,CAAC;KACtC;AAAC,GACH,CAAC;AAEV,CAAC;;ACjED,IAAMoB,iBAAiB,GAAG;AACxBC,EAAAA,IAAI,EAAEvB,qBAAqB;AAC3BwB,EAAAA,YAAY,EAAEvI,6BAA6B;EAC3CqH,gBAAgB,EAAE9D,kBAAkB;AACtC;;;;"}
@@ -1,12 +1,12 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
- import { DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, DropdownMenuSeparator, DropdownMenuItem, TooltipProvider, Tooltip, TooltipTrigger, Button, TooltipContent, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent } from '@bigbinary/neeto-atoms';
3
+ import { DropdownMenu, Tooltip, Button } from '@bigbinary/neeto-atoms';
4
4
  import classnames from 'classnames';
5
5
  import { hyphenate } from '@bigbinary/neeto-cist';
6
6
  import { mergeRight } from 'ramda';
7
7
  import { useTranslation } from 'react-i18next';
8
8
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
9
- import { jsxs, jsx } from 'react/jsx-runtime';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
10
  import { c as createLucideIcon } from '../createLucideIcon-mNMhCCpf.js';
11
11
  import { E as Ellipsis } from '../ellipsis-DpI9xqUK.js';
12
12
  import 'react';
@@ -31,11 +31,6 @@ var DEFAULT_TOOLTIP_PROPS = {
31
31
  position: "bottom",
32
32
  touch: ["hold", 500]
33
33
  };
34
- var ICON_SIZES = {
35
- small: 20,
36
- medium: 24,
37
- large: 30
38
- };
39
34
  var STYLE_TO_VARIANT = {
40
35
  primary: "default",
41
36
  secondary: "secondary",
@@ -54,23 +49,24 @@ var Submenu = withT(function (_ref) {
54
49
  label = _ref.label,
55
50
  _ref$menuItems = _ref.menuItems,
56
51
  menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems;
57
- return /*#__PURE__*/jsxs(DropdownMenuSub, {
58
- children: [/*#__PURE__*/jsx(DropdownMenuSubTrigger, {
59
- "aria-haspopup": "menu",
60
- children: label
61
- }), /*#__PURE__*/jsx(DropdownMenuSubContent, {
52
+ return /*#__PURE__*/jsx(DropdownMenu.SubMenu, {
53
+ label: label,
54
+ triggerProps: {
55
+ "aria-haspopup": "menu"
56
+ },
57
+ contentProps: {
62
58
  "aria-label": t("neetoMolecules.moreDropdown.submenuAriaLabel", {
63
59
  label: label
64
- }),
65
- children: menuItems.map(function (_ref2) {
66
- var _ref2$isVisible = _ref2.isVisible,
67
- isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
68
- key = _ref2.key,
69
- itemProps = _objectWithoutProperties(_ref2, _excluded$2);
70
- if (!isVisible) return null;
71
- return /*#__PURE__*/jsx(MenuItem, _objectSpread$2({}, itemProps), key !== null && key !== void 0 ? key : hyphenate(itemProps.label || "menu-item"));
72
60
  })
73
- })]
61
+ },
62
+ children: menuItems.map(function (_ref2) {
63
+ var _ref2$isVisible = _ref2.isVisible,
64
+ isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
65
+ key = _ref2.key,
66
+ itemProps = _objectWithoutProperties(_ref2, _excluded$2);
67
+ if (!isVisible) return null;
68
+ return /*#__PURE__*/jsx(MenuItem, _objectSpread$2({}, itemProps), key !== null && key !== void 0 ? key : hyphenate(itemProps.label || "menu-item"));
69
+ })
74
70
  });
75
71
  });
76
72
 
@@ -87,7 +83,7 @@ var MenuItem = function MenuItem(_ref) {
87
83
  menuItems = _ref.menuItems,
88
84
  dropdownProps = _ref.dropdownProps,
89
85
  menuItemProps = _objectWithoutProperties(_ref, _excluded$1);
90
- if (type === "divider") return /*#__PURE__*/jsx(DropdownMenuSeparator, {
86
+ if (type === "divider") return /*#__PURE__*/jsx(DropdownMenu.Divider, {
91
87
  role: "separator"
92
88
  });
93
89
  if (hasSubItems) {
@@ -97,7 +93,7 @@ var MenuItem = function MenuItem(_ref) {
97
93
  menuItems: menuItems
98
94
  }, menuItemProps)));
99
95
  }
100
- return /*#__PURE__*/jsx(DropdownMenuItem, _objectSpread$1(_objectSpread$1({
96
+ return /*#__PURE__*/jsx(DropdownMenu.MenuItem.Button, _objectSpread$1(_objectSpread$1({
101
97
  onClick: onClick,
102
98
  role: "menuitem"
103
99
  }, menuItemProps), {}, {
@@ -124,74 +120,59 @@ var MoreDropdown = function MoreDropdown(_ref) {
124
120
  menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems;
125
121
  var _useTranslation = useTranslation(),
126
122
  t = _useTranslation.t;
127
- var isRoundedButton = dropdownButtonProps.isRounded,
128
- _dropdownButtonProps$ = dropdownButtonProps.size,
129
- buttonSize = _dropdownButtonProps$ === void 0 ? "medium" : _dropdownButtonProps$,
130
- customTooltipProps = dropdownButtonProps.tooltipProps,
123
+ var isRoundedButton = dropdownButtonProps.isRounded;
124
+ dropdownButtonProps.size;
125
+ var customTooltipProps = dropdownButtonProps.tooltipProps,
131
126
  buttonStyle = dropdownButtonProps.style,
132
127
  buttonProps = _objectWithoutProperties(dropdownButtonProps, _excluded);
133
128
  var tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, customTooltipProps);
134
129
  var variant = STYLE_TO_VARIANT[buttonStyle] || "ghost";
135
130
  var TargetIcon = isVertical ? EllipsisVertical : Ellipsis;
136
- var iconSize = ICON_SIZES[buttonSize] || 20;
137
131
  var isDropdownDisabled = isDisabled || dropdownProps.disabled;
138
132
  if (isDropdownDisabled && !tooltipProps.disabled) {
139
- return /*#__PURE__*/jsx(TooltipProvider, {
140
- children: /*#__PURE__*/jsxs(Tooltip, {
141
- children: [/*#__PURE__*/jsx(TooltipTrigger, {
142
- asChild: true,
143
- children: /*#__PURE__*/jsx("span", {
144
- children: /*#__PURE__*/jsx(Button, _objectSpread(_objectSpread({
145
- variant: variant,
146
- disabled: true,
147
- "data-dropdown-button-style": "more-dropdown",
148
- "data-testid": "more-dropdown-button",
149
- size: "icon",
150
- className: classnames("shrink-0", {
151
- "rounded-full": isRoundedButton
152
- })
153
- }, buttonProps), {}, {
154
- children: /*#__PURE__*/jsx(TargetIcon, {
155
- size: iconSize
156
- })
157
- }))
133
+ return /*#__PURE__*/jsx(Tooltip, {
134
+ content: tooltipProps.content,
135
+ position: tooltipProps.position || "bottom",
136
+ children: /*#__PURE__*/jsx("span", {
137
+ children: /*#__PURE__*/jsx(Button, _objectSpread({
138
+ variant: variant,
139
+ disabled: true,
140
+ "data-dropdown-button-style": "more-dropdown",
141
+ "data-testid": "more-dropdown-button",
142
+ icon: TargetIcon,
143
+ size: "icon",
144
+ className: classnames("shrink-0", {
145
+ "rounded-full": isRoundedButton
158
146
  })
159
- }), /*#__PURE__*/jsx(TooltipContent, {
160
- side: tooltipProps.position || "bottom",
161
- children: tooltipProps.content
162
- })]
147
+ }, buttonProps))
163
148
  })
164
149
  });
165
150
  }
166
- return /*#__PURE__*/jsxs(DropdownMenu, _objectSpread(_objectSpread({}, dropdownProps), {}, {
167
- children: [/*#__PURE__*/jsx(DropdownMenuTrigger, {
168
- asChild: true,
169
- children: /*#__PURE__*/jsx(Button, _objectSpread(_objectSpread({
170
- variant: variant,
171
- "aria-haspopup": "menu",
172
- "aria-label": t("neetoMolecules.moreDropdown.buttonAriaLabel"),
173
- "data-dropdown-button-style": "more-dropdown",
174
- disabled: isDropdownDisabled,
175
- size: "icon",
176
- className: classnames("shrink-0", {
177
- "rounded-full": isRoundedButton
178
- })
179
- }, buttonProps), {}, {
180
- children: /*#__PURE__*/jsx(TargetIcon, {
181
- size: iconSize
182
- })
183
- }))
184
- }), /*#__PURE__*/jsxs(DropdownMenuContent, {
185
- "aria-label": t("neetoMolecules.moreDropdown.menuAriaLabel"),
186
- children: [menuTopChildren, menuItems.map(function (_ref2) {
187
- var _ref2$isVisible = _ref2.isVisible,
188
- isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
189
- key = _ref2.key,
190
- menuItemProps = _objectWithoutProperties(_ref2, _excluded2);
191
- if (!isVisible) return null;
192
- return /*#__PURE__*/jsx(MenuItem, _objectSpread({}, menuItemProps), key !== null && key !== void 0 ? key : hyphenate(menuItemProps.label || "menu-item"));
193
- }), menuBottomChildren]
194
- })]
151
+ return /*#__PURE__*/jsxs(DropdownMenu, _objectSpread(_objectSpread({
152
+ customTarget: /*#__PURE__*/jsx(Button, _objectSpread({
153
+ variant: variant,
154
+ "aria-haspopup": "menu",
155
+ "aria-label": t("neetoMolecules.moreDropdown.buttonAriaLabel"),
156
+ "data-dropdown-button-style": "more-dropdown",
157
+ disabled: isDropdownDisabled,
158
+ icon: TargetIcon,
159
+ size: "icon",
160
+ className: classnames("shrink-0", {
161
+ "rounded-full": isRoundedButton
162
+ })
163
+ }, buttonProps)),
164
+ dropdownProps: {
165
+ "aria-label": t("neetoMolecules.moreDropdown.menuAriaLabel")
166
+ }
167
+ }, dropdownProps), {}, {
168
+ children: [menuTopChildren, menuItems.map(function (_ref2) {
169
+ var _ref2$isVisible = _ref2.isVisible,
170
+ isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
171
+ key = _ref2.key,
172
+ menuItemProps = _objectWithoutProperties(_ref2, _excluded2);
173
+ if (!isVisible) return null;
174
+ return /*#__PURE__*/jsx(MenuItem, _objectSpread({}, menuItemProps), key !== null && key !== void 0 ? key : hyphenate(menuItemProps.label || "menu-item"));
175
+ }), menuBottomChildren]
195
176
  }));
196
177
  };
197
178