@bigbinary/neeto-molecules 4.1.49 → 4.1.51

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 (108) hide show
  1. package/dist/CSSTransition-DU3ZFKUe.js +1097 -0
  2. package/dist/CSSTransition-DU3ZFKUe.js.map +1 -0
  3. package/dist/CalendarView.js +2 -1
  4. package/dist/CalendarView.js.map +1 -1
  5. package/dist/{Columns-BB50-jks.js → Columns-D68XA-e7.js} +2 -53
  6. package/dist/Columns-D68XA-e7.js.map +1 -0
  7. package/dist/Columns-cUgR6NTO.js +502 -0
  8. package/dist/Columns-cUgR6NTO.js.map +1 -0
  9. package/dist/Columns.js +2 -1
  10. package/dist/Columns.js.map +1 -1
  11. package/dist/MenuBar.js +8 -1095
  12. package/dist/MenuBar.js.map +1 -1
  13. package/dist/SubHeader.js +2 -1
  14. package/dist/SubHeader.js.map +1 -1
  15. package/dist/Taxonomy.js +2 -1
  16. package/dist/Taxonomy.js.map +1 -1
  17. package/dist/circle-question-mark-Dib48f5Z.js +19 -0
  18. package/dist/circle-question-mark-Dib48f5Z.js.map +1 -0
  19. package/dist/cjs/CSSTransition-D_jVZ_GR.js +1099 -0
  20. package/dist/cjs/CSSTransition-D_jVZ_GR.js.map +1 -0
  21. package/dist/cjs/CalendarView.js +2 -1
  22. package/dist/cjs/CalendarView.js.map +1 -1
  23. package/dist/cjs/{Columns-jm_CUnLP.js → Columns-BACqpEQU.js} +3 -54
  24. package/dist/cjs/Columns-BACqpEQU.js.map +1 -0
  25. package/dist/cjs/Columns-D3eocaeY.js +508 -0
  26. package/dist/cjs/Columns-D3eocaeY.js.map +1 -0
  27. package/dist/cjs/Columns.js +2 -1
  28. package/dist/cjs/Columns.js.map +1 -1
  29. package/dist/cjs/MenuBar.js +7 -1094
  30. package/dist/cjs/MenuBar.js.map +1 -1
  31. package/dist/cjs/SubHeader.js +2 -1
  32. package/dist/cjs/SubHeader.js.map +1 -1
  33. package/dist/cjs/Taxonomy.js +2 -1
  34. package/dist/cjs/Taxonomy.js.map +1 -1
  35. package/dist/cjs/circle-question-mark-kxBMPyWQ.js +21 -0
  36. package/dist/cjs/circle-question-mark-kxBMPyWQ.js.map +1 -0
  37. package/dist/cjs/ellipsis-BcfLTtl5.js +21 -0
  38. package/dist/cjs/ellipsis-BcfLTtl5.js.map +1 -0
  39. package/dist/cjs/plus-MoDFAiKt.js +20 -0
  40. package/dist/cjs/plus-MoDFAiKt.js.map +1 -0
  41. package/dist/cjs/search-BBuFYdmG.js +20 -0
  42. package/dist/cjs/search-BBuFYdmG.js.map +1 -0
  43. package/dist/cjs/utilities.esm-jwIHISzF.js +58 -0
  44. package/dist/cjs/utilities.esm-jwIHISzF.js.map +1 -0
  45. package/dist/cjs/v2/Breadcrumbs.js +50 -0
  46. package/dist/cjs/v2/Breadcrumbs.js.map +1 -0
  47. package/dist/cjs/v2/Columns.js +34 -0
  48. package/dist/cjs/v2/Columns.js.map +1 -0
  49. package/dist/cjs/v2/Container.js +34 -0
  50. package/dist/cjs/v2/Container.js.map +1 -0
  51. package/dist/cjs/v2/FloatingActionMenu.js +22 -49
  52. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  53. package/dist/cjs/v2/Header.js +128 -0
  54. package/dist/cjs/v2/Header.js.map +1 -0
  55. package/dist/cjs/v2/HelpPopover.js +93 -0
  56. package/dist/cjs/v2/HelpPopover.js.map +1 -0
  57. package/dist/cjs/v2/MenuBar.js +265 -0
  58. package/dist/cjs/v2/MenuBar.js.map +1 -0
  59. package/dist/cjs/v2/MoreDropdown.js +201 -0
  60. package/dist/cjs/v2/MoreDropdown.js.map +1 -0
  61. package/dist/cjs/v2/Search.js +129 -0
  62. package/dist/cjs/v2/Search.js.map +1 -0
  63. package/dist/cjs/v2/Sidebar.js +5 -32
  64. package/dist/cjs/v2/Sidebar.js.map +1 -1
  65. package/dist/cjs/v2/SubHeader.js +246 -0
  66. package/dist/cjs/v2/SubHeader.js.map +1 -0
  67. package/dist/ellipsis-DpI9xqUK.js +19 -0
  68. package/dist/ellipsis-DpI9xqUK.js.map +1 -0
  69. package/dist/plus-clM1IC_E.js +18 -0
  70. package/dist/plus-clM1IC_E.js.map +1 -0
  71. package/dist/search-DCgpNjip.js +18 -0
  72. package/dist/search-DCgpNjip.js.map +1 -0
  73. package/dist/utilities.esm-CS21Daln.js +56 -0
  74. package/dist/utilities.esm-CS21Daln.js.map +1 -0
  75. package/dist/v2/Breadcrumbs.js +48 -0
  76. package/dist/v2/Breadcrumbs.js.map +1 -0
  77. package/dist/v2/Columns.js +22 -0
  78. package/dist/v2/Columns.js.map +1 -0
  79. package/dist/v2/Container.js +32 -0
  80. package/dist/v2/Container.js.map +1 -0
  81. package/dist/v2/FloatingActionMenu.js +19 -46
  82. package/dist/v2/FloatingActionMenu.js.map +1 -1
  83. package/dist/v2/Header.js +126 -0
  84. package/dist/v2/Header.js.map +1 -0
  85. package/dist/v2/HelpPopover.js +91 -0
  86. package/dist/v2/HelpPopover.js.map +1 -0
  87. package/dist/v2/MenuBar.js +263 -0
  88. package/dist/v2/MenuBar.js.map +1 -0
  89. package/dist/v2/MoreDropdown.js +199 -0
  90. package/dist/v2/MoreDropdown.js.map +1 -0
  91. package/dist/v2/Search.js +127 -0
  92. package/dist/v2/Search.js.map +1 -0
  93. package/dist/v2/Sidebar.js +3 -30
  94. package/dist/v2/Sidebar.js.map +1 -1
  95. package/dist/v2/SubHeader.js +244 -0
  96. package/dist/v2/SubHeader.js.map +1 -0
  97. package/package.json +1 -1
  98. package/types/v2/Breadcrumbs.d.ts +12 -0
  99. package/types/v2/Columns.d.ts +42 -0
  100. package/types/v2/Container.d.ts +8 -0
  101. package/types/v2/Header.d.ts +22 -0
  102. package/types/v2/HelpPopover.d.ts +23 -0
  103. package/types/v2/MenuBar.d.ts +68 -0
  104. package/types/v2/MoreDropdown.d.ts +42 -0
  105. package/types/v2/Search.d.ts +16 -0
  106. package/types/v2/SubHeader.d.ts +51 -0
  107. package/dist/Columns-BB50-jks.js.map +0 -1
  108. package/dist/cjs/Columns-jm_CUnLP.js.map +0 -1
@@ -0,0 +1,128 @@
1
+ 'use strict';
2
+
3
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var React = require('react');
6
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
7
+ var classnames = require('classnames');
8
+ var neetoCist = require('@bigbinary/neeto-cist');
9
+ var v2_Breadcrumbs = require('./Breadcrumbs.js');
10
+ var v2_HelpPopover = require('./HelpPopover.js');
11
+ var v2_MoreDropdown = require('./MoreDropdown.js');
12
+ var v2_Search = require('./Search.js');
13
+ var jsxRuntime = require('react/jsx-runtime');
14
+ require('@bigbinary/neeto-commons-frontend/react-utils');
15
+ require('@bigbinary/neeto-commons-frontend/utils/general');
16
+ require('react-router-dom');
17
+ require('../circle-question-mark-kxBMPyWQ.js');
18
+ require('../createLucideIcon-DBDhE7kE.js');
19
+ require('ramda');
20
+ require('react-i18next');
21
+ require('../ellipsis-BcfLTtl5.js');
22
+ require('@babel/runtime/helpers/slicedToArray');
23
+ require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
24
+ require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
25
+ require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
26
+ require('@bigbinary/neeto-commons-frontend/utils');
27
+ require('../search-BBuFYdmG.js');
28
+
29
+ var SIZES = {
30
+ nano: "nano",
31
+ small: "small"
32
+ };
33
+ var DROPDOWN_BUTTON_SIZES = {
34
+ nano: "small",
35
+ small: "medium"
36
+ };
37
+
38
+ var _excluded = ["dropdownButtonProps"];
39
+ 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; }
40
+ 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; }
41
+ var Header = function Header(_ref) {
42
+ var title = _ref.title,
43
+ _ref$titleHelpPopover = _ref.titleHelpPopoverProps,
44
+ titleHelpPopoverProps = _ref$titleHelpPopover === void 0 ? {} : _ref$titleHelpPopover,
45
+ searchProps = _ref.searchProps,
46
+ _ref$className = _ref.className,
47
+ className = _ref$className === void 0 ? "" : _ref$className,
48
+ actionBlock = _ref.actionBlock,
49
+ _ref$breadcrumbs = _ref.breadcrumbs,
50
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
51
+ _ref$renderDropdown = _ref.renderDropdown,
52
+ renderDropdown = _ref$renderDropdown === void 0 ? neetoCist.noop : _ref$renderDropdown,
53
+ _ref$size = _ref.size,
54
+ size = _ref$size === void 0 ? "small" : _ref$size,
55
+ _ref$dataTestid = _ref["data-testid"],
56
+ dataTestId = _ref$dataTestid === void 0 ? "neeto-molecules-header" : _ref$dataTestid;
57
+ var headerRef = React.useRef(null);
58
+ React.useLayoutEffect(function () {
59
+ var updateHeaderHeight = function updateHeaderHeight() {
60
+ if (!headerRef.current) return;
61
+ var height = headerRef.current.offsetHeight;
62
+ document.body.style.setProperty("--neeto-molecules-effective-header-height", "".concat(height, "px"));
63
+ };
64
+ updateHeaderHeight();
65
+ window.addEventListener("resize", updateHeaderHeight);
66
+ return function () {
67
+ window.removeEventListener("resize", updateHeaderHeight);
68
+ document.body.style.removeProperty("--neeto-molecules-effective-header-height");
69
+ };
70
+ }, []);
71
+ var isNano = size === SIZES.nano;
72
+ var hasBreadcrumbs = neetoCist.isNotEmpty(breadcrumbs);
73
+ var TitleTag = isNano ? "h3" : "h1";
74
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
75
+ "data-testid": dataTestId,
76
+ ref: headerRef,
77
+ className: classnames("bg-background text-foreground flex w-full shrink-0 flex-row items-start justify-between gap-4 pt-10 pb-6", "flex-wrap lg:flex-nowrap", {
78
+ "min-h-0": isNano || size === SIZES.small
79
+ }, className),
80
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
81
+ className: "flex flex-row flex-wrap items-start justify-start",
82
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
83
+ className: "flex flex-wrap",
84
+ children: [hasBreadcrumbs && /*#__PURE__*/jsxRuntime.jsx(v2_Breadcrumbs, {
85
+ breadcrumbs: breadcrumbs
86
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
87
+ className: classnames("flex w-full flex-row items-center gap-3", hasBreadcrumbs ? "mt-0" : "-mt-1 max-lg:-mt-2.5 max-md:-mt-2 max-sm:-mt-1"),
88
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
89
+ asChild: true,
90
+ variant: isNano ? "h3" : "h1",
91
+ weight: "semibold",
92
+ children: /*#__PURE__*/jsxRuntime.jsxs(TitleTag, {
93
+ "data-testid": "main-header",
94
+ children: [title, neetoCist.isPresent(titleHelpPopoverProps) && /*#__PURE__*/jsxRuntime.jsx(v2_HelpPopover, _objectSpread({
95
+ className: "ms-2 inline-flex align-middle",
96
+ side: "right"
97
+ }, titleHelpPopoverProps)), renderDropdown(function (_ref2) {
98
+ var _ref2$dropdownButtonP = _ref2.dropdownButtonProps,
99
+ dropdownButtonProps = _ref2$dropdownButtonP === void 0 ? {} : _ref2$dropdownButtonP,
100
+ dropdownProps = _objectWithoutProperties(_ref2, _excluded);
101
+ return /*#__PURE__*/jsxRuntime.jsx("span", {
102
+ className: "ms-2 inline-flex align-middle",
103
+ children: /*#__PURE__*/jsxRuntime.jsx(v2_MoreDropdown, _objectSpread({
104
+ dropdownButtonProps: _objectSpread({
105
+ size: DROPDOWN_BUTTON_SIZES[size]
106
+ }, dropdownButtonProps)
107
+ }, dropdownProps))
108
+ });
109
+ })]
110
+ })
111
+ })
112
+ })]
113
+ })
114
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
115
+ className: classnames("flex items-center gap-3 empty:hidden", "flex-wrap justify-start md:flex-nowrap md:justify-end"),
116
+ children: [searchProps && /*#__PURE__*/jsxRuntime.jsx(v2_Search, _objectSpread({
117
+ enableUrlSync: true,
118
+ className: classnames("min-w-[12.6rem] grow-0", searchProps.className)
119
+ }, searchProps)), actionBlock && /*#__PURE__*/jsxRuntime.jsx("div", {
120
+ className: "flex shrink-0 items-center justify-end gap-3 max-[360px]:shrink max-[360px]:flex-wrap max-[360px]:justify-start",
121
+ children: actionBlock
122
+ })]
123
+ })]
124
+ });
125
+ };
126
+
127
+ module.exports = Header;
128
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +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 \"bg-background text-foreground 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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"}
@@ -0,0 +1,93 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
6
+ var classnames = require('classnames');
7
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var circleQuestionMark = require('../circle-question-mark-kxBMPyWQ.js');
10
+ require('../createLucideIcon-DBDhE7kE.js');
11
+ require('react');
12
+
13
+ var SIZE = {
14
+ "default": 16,
15
+ large: 20
16
+ };
17
+
18
+ var _excluded = ["label"];
19
+ 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; }
20
+ 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; }
21
+ var HelpPopover = reactUtils.withT(function (_ref) {
22
+ var t = _ref.t,
23
+ title = _ref.title,
24
+ _ref$size = _ref.size,
25
+ size = _ref$size === void 0 ? "large" : _ref$size,
26
+ description = _ref.description,
27
+ helpLinkProps = _ref.helpLinkProps,
28
+ className = _ref.className,
29
+ _ref$iconColor = _ref.iconColor,
30
+ iconColor = _ref$iconColor === void 0 ? "currentColor" : _ref$iconColor,
31
+ _ref$icon = _ref.icon,
32
+ IconComponent = _ref$icon === void 0 ? circleQuestionMark.CircleQuestionMark : _ref$icon,
33
+ side = _ref.side,
34
+ sideOffset = _ref.sideOffset,
35
+ align = _ref.align,
36
+ alignOffset = _ref.alignOffset;
37
+ return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.HoverCard, {
38
+ closeDelay: 150,
39
+ openDelay: 0,
40
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.HoverCardTrigger, {
41
+ asChild: true,
42
+ children: /*#__PURE__*/jsxRuntime.jsx("button", {
43
+ "data-testid": "help-popover-button",
44
+ type: "button",
45
+ className: classnames("inline-flex cursor-pointer items-center justify-center rounded-full border-none bg-transparent p-0", className),
46
+ children: /*#__PURE__*/jsxRuntime.jsx(IconComponent, {
47
+ color: iconColor,
48
+ size: SIZE[size]
49
+ })
50
+ })
51
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.HoverCardContent, {
52
+ align: align,
53
+ alignOffset: alignOffset,
54
+ side: side,
55
+ sideOffset: sideOffset,
56
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
57
+ className: "flex flex-col",
58
+ onClick: function onClick(event) {
59
+ return event.stopPropagation();
60
+ },
61
+ children: [title && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
62
+ asChild: true,
63
+ variant: "body2",
64
+ weight: "semibold",
65
+ children: /*#__PURE__*/jsxRuntime.jsx("h3", {
66
+ className: "mb-2",
67
+ "data-testid": "help-popover-title",
68
+ children: title
69
+ })
70
+ }), typeof description === "string" ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
71
+ color: "muted",
72
+ "data-testid": "help-popover-description",
73
+ variant: "body2",
74
+ children: description
75
+ }) : description, helpLinkProps && function () {
76
+ var linkLabel = helpLinkProps.label,
77
+ restLinkProps = _objectWithoutProperties(helpLinkProps, _excluded);
78
+ return /*#__PURE__*/jsxRuntime.jsx("a", _objectSpread(_objectSpread({
79
+ className: "text-primary mt-3 text-sm hover:underline",
80
+ "data-testid": "help-popover-link-button",
81
+ rel: "noreferrer",
82
+ target: "_blank"
83
+ }, restLinkProps), {}, {
84
+ children: linkLabel !== null && linkLabel !== void 0 ? linkLabel : t("neetoMolecules.common.viewHelpArticle")
85
+ }));
86
+ }()]
87
+ })
88
+ })]
89
+ });
90
+ });
91
+
92
+ module.exports = HelpPopover;
93
+ //# sourceMappingURL=HelpPopover.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,265 @@
1
+ 'use strict';
2
+
3
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
4
+ var React = require('react');
5
+ var classnames = require('classnames');
6
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
7
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
8
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+ var plus = require('../plus-MoDFAiKt.js');
11
+ var neetoCist = require('@bigbinary/neeto-cist');
12
+ var general = require('@bigbinary/neeto-commons-frontend/utils/general');
13
+ var reactRouterDom = require('react-router-dom');
14
+ var reactI18next = require('react-i18next');
15
+ var search = require('../search-BBuFYdmG.js');
16
+ var createLucideIcon = require('../createLucideIcon-DBDhE7kE.js');
17
+ var CSSTransition = require('../CSSTransition-D_jVZ_GR.js');
18
+ require('@babel/runtime/helpers/esm/extends');
19
+ require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
20
+ require('@babel/runtime/helpers/esm/inheritsLoose');
21
+ require('../index-JY2zVpnv.js');
22
+ require('../_commonjsHelpers-BJu3ubxk.js');
23
+ require('react-dom');
24
+
25
+ /**
26
+ * @license lucide-react v1.7.0 - ISC
27
+ *
28
+ * This source code is licensed under the ISC license.
29
+ * See the LICENSE file in the root directory of this source tree.
30
+ */
31
+
32
+
33
+ const __iconNode = [
34
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
35
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
36
+ ];
37
+ const X = createLucideIcon.createLucideIcon("x", __iconNode);
38
+
39
+ var _excluded$5 = ["label", "onClick"];
40
+ function ownKeys$4(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; }
41
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
42
+ var AddNew = function AddNew(_ref) {
43
+ var _ref$label = _ref.label,
44
+ label = _ref$label === void 0 ? "" : _ref$label,
45
+ onClick = _ref.onClick,
46
+ otherProps = _objectWithoutProperties(_ref, _excluded$5);
47
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$4(_objectSpread$4({
48
+ className: "mb-2 px-2 py-1.5"
49
+ }, otherProps), {}, {
50
+ children: /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Button, {
51
+ onClick: onClick,
52
+ className: "gap-1 text-sm",
53
+ size: "sm",
54
+ variant: "link",
55
+ children: [/*#__PURE__*/jsxRuntime.jsx(plus.Plus, {
56
+ size: 16
57
+ }), label]
58
+ })
59
+ }));
60
+ };
61
+
62
+ var _excluded$4 = ["url", "icon", "label", "count", "active", "onEdit", "onClick", "className"];
63
+ function ownKeys$3(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; }
64
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
65
+ var Block = function Block(_ref) {
66
+ var url = _ref.url,
67
+ icon = _ref.icon,
68
+ label = _ref.label,
69
+ count = _ref.count,
70
+ _ref$active = _ref.active,
71
+ active = _ref$active === void 0 ? false : _ref$active,
72
+ onEdit = _ref.onEdit,
73
+ _ref$onClick = _ref.onClick,
74
+ onClick = _ref$onClick === void 0 ? neetoCist.noop : _ref$onClick,
75
+ className = _ref.className,
76
+ otherProps = _objectWithoutProperties(_ref, _excluded$4);
77
+ var handleEdit = function handleEdit(e) {
78
+ if (!onEdit) return;
79
+ e.stopPropagation();
80
+ onEdit();
81
+ };
82
+ var Parent = url ? reactRouterDom.Link : function (props) {
83
+ return /*#__PURE__*/jsxRuntime.jsx("button", _objectSpread$3({
84
+ type: "button"
85
+ }, props));
86
+ };
87
+ return /*#__PURE__*/jsxRuntime.jsxs(Parent, _objectSpread$3(_objectSpread$3({
88
+ "data-testid": otherProps["data-testid"] || "menubar-block",
89
+ to: url,
90
+ className: classnames("hover:bg-accent focus:bg-accent active:bg-accent relative mb-2 flex w-full cursor-pointer items-center justify-between rounded-md border border-transparent px-2 py-1.5 text-start transition-all hover:no-underline focus:outline-none motion-reduce:transition-none", _defineProperty({
91
+ "bg-primary/10 border-primary/10 after:bg-primary hover:bg-primary/10 focus:bg-primary/10 active:bg-primary/10 after:absolute after:inset-y-0 after:start-[-1px] after:w-[3px] after:rounded-s-md": active
92
+ }, className, className))
93
+ }, _objectSpread$3({
94
+ onClick: onClick
95
+ }, otherProps)), {}, {
96
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
97
+ className: "flex items-center",
98
+ "data-testid": general.joinHyphenCase("menubar-block-label", label),
99
+ children: [icon && /*#__PURE__*/jsxRuntime.jsx("i", {
100
+ className: "me-1 flex items-center",
101
+ children: icon
102
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
103
+ className: "text-sm font-medium",
104
+ title: label,
105
+ children: label
106
+ })]
107
+ }), Number.isInteger(count) && /*#__PURE__*/jsxRuntime.jsx("div", {
108
+ onClick: handleEdit,
109
+ children: /*#__PURE__*/jsxRuntime.jsx("span", {
110
+ className: "text-sm font-medium",
111
+ children: count
112
+ })
113
+ })]
114
+ }));
115
+ };
116
+
117
+ var _excluded$3 = ["label", "description", "active", "className"];
118
+ function ownKeys$2(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; }
119
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
120
+ var Item = function Item(_ref) {
121
+ var _ref$label = _ref.label,
122
+ label = _ref$label === void 0 ? "" : _ref$label,
123
+ _ref$description = _ref.description,
124
+ description = _ref$description === void 0 ? "" : _ref$description,
125
+ _ref$active = _ref.active,
126
+ active = _ref$active === void 0 ? false : _ref$active,
127
+ _ref$className = _ref.className,
128
+ className = _ref$className === void 0 ? "" : _ref$className,
129
+ otherProps = _objectWithoutProperties(_ref, _excluded$3);
130
+ return /*#__PURE__*/jsxRuntime.jsxs("button", _objectSpread$2(_objectSpread$2({
131
+ type: "button",
132
+ className: classnames("hover:bg-accent focus:bg-accent active:bg-accent mb-2 w-full cursor-pointer rounded-md border border-transparent p-3 text-start transition-all focus:outline-none motion-reduce:transition-none max-lg:p-2.5 max-md:p-2", _defineProperty({
133
+ "border-border bg-background text-foreground hover:bg-background focus:bg-background active:bg-background shadow-sm": active
134
+ }, className, className))
135
+ }, otherProps), {}, {
136
+ children: [/*#__PURE__*/jsxRuntime.jsx("h5", {
137
+ className: "text-sm font-semibold",
138
+ children: label
139
+ }), /*#__PURE__*/jsxRuntime.jsx("p", {
140
+ className: "text-muted-foreground text-xs",
141
+ children: description
142
+ })]
143
+ }));
144
+ };
145
+
146
+ var _excluded$2 = ["isCollapsed", "onCollapse"];
147
+ function ownKeys$1(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; }
148
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
149
+ var Search = function Search(_ref) {
150
+ var _ref$isCollapsed = _ref.isCollapsed,
151
+ isCollapsed = _ref$isCollapsed === void 0 ? true : _ref$isCollapsed,
152
+ onCollapse = _ref.onCollapse,
153
+ props = _objectWithoutProperties(_ref, _excluded$2);
154
+ var _useTranslation = reactI18next.useTranslation(),
155
+ t = _useTranslation.t;
156
+ if (isCollapsed) return null;
157
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
158
+ className: "mb-5 flex items-center gap-1",
159
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
160
+ className: "relative flex-grow",
161
+ children: [/*#__PURE__*/jsxRuntime.jsx(search.Search, {
162
+ className: "text-muted-foreground absolute start-3 top-1/2 size-4 -translate-y-1/2"
163
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Input, _objectSpread$1({
164
+ className: "ps-9",
165
+ placeholder: t("neetoMolecules.common.actions.search"),
166
+ type: "search"
167
+ }, props))]
168
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
169
+ "data-testid": "menubar-search-close-icon",
170
+ size: "icon-sm",
171
+ variant: "ghost",
172
+ onClick: onCollapse,
173
+ children: /*#__PURE__*/jsxRuntime.jsx(X, {
174
+ size: 16
175
+ })
176
+ })]
177
+ });
178
+ };
179
+
180
+ var _excluded$1 = ["children", "iconProps"],
181
+ _excluded2 = ["icon", "onClick"];
182
+ 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; }
183
+ 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; }
184
+ var SubTitle = function SubTitle(_ref) {
185
+ var children = _ref.children,
186
+ iconProps = _ref.iconProps,
187
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
188
+ return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
189
+ className: "my-5 flex items-center justify-between",
190
+ "data-testid": otherProps["data-testid"] || "menubar-subtitle-heading"
191
+ }, otherProps), {}, {
192
+ children: [children, /*#__PURE__*/jsxRuntime.jsx("div", {
193
+ className: "flex items-center gap-1",
194
+ children: iconProps === null || iconProps === void 0 ? void 0 : iconProps.map(function (_ref2, index) {
195
+ var Icon = _ref2.icon,
196
+ onClick = _ref2.onClick,
197
+ rest = _objectWithoutProperties(_ref2, _excluded2);
198
+ return /*#__PURE__*/React.createElement(neetoAtoms.Button, _objectSpread({
199
+ onClick: onClick,
200
+ key: index,
201
+ size: "icon-sm",
202
+ variant: "ghost"
203
+ }, rest), Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
204
+ size: 16
205
+ }));
206
+ })
207
+ })]
208
+ }));
209
+ };
210
+
211
+ var _excluded = ["title", "children", "showMenu", "className"];
212
+ var MenuBar = function MenuBar(_ref) {
213
+ var _ref$title = _ref.title,
214
+ title = _ref$title === void 0 ? "" : _ref$title,
215
+ children = _ref.children,
216
+ _ref$showMenu = _ref.showMenu,
217
+ showMenu = _ref$showMenu === void 0 ? false : _ref$showMenu,
218
+ _ref$className = _ref.className,
219
+ className = _ref$className === void 0 ? "" : _ref$className,
220
+ otherProps = _objectWithoutProperties(_ref, _excluded);
221
+ var prefersReducedMotion = reactUtils.usePrefersReducedMotion();
222
+ var nodeRef = React.useRef(null);
223
+ return /*#__PURE__*/jsxRuntime.jsx(CSSTransition.CSSTransition, {
224
+ nodeRef: nodeRef,
225
+ unmountOnExit: true,
226
+ "in": showMenu,
227
+ timeout: prefersReducedMotion ? 0 : 300,
228
+ onEnter: function onEnter() {
229
+ if (nodeRef.current) nodeRef.current.style.width = "0";
230
+ },
231
+ onEntered: function onEntered() {
232
+ if (nodeRef.current) nodeRef.current.style.width = "";
233
+ },
234
+ onEntering: function onEntering() {
235
+ if (nodeRef.current) nodeRef.current.style.width = "20.25rem";
236
+ },
237
+ onExit: function onExit() {
238
+ if (nodeRef.current) nodeRef.current.style.width = "20.25rem";
239
+ },
240
+ onExiting: function onExiting() {
241
+ if (nodeRef.current) nodeRef.current.style.width = "0";
242
+ },
243
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
244
+ ref: nodeRef,
245
+ className: classnames("border-border bg-background shrink-0 overflow-hidden border-e transition-all duration-300 motion-reduce:transition-none", className),
246
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
247
+ className: "h-dvh w-[20.25rem] overflow-y-auto p-8 max-lg:w-[17.5rem] max-lg:px-6 max-lg:pt-10 max-lg:pb-6 max-md:w-60 max-md:px-5 max-md:pt-10 max-md:pb-6",
248
+ "data-testid": "menubar-container",
249
+ children: [title && /*#__PURE__*/jsxRuntime.jsx("h2", {
250
+ className: "mb-4 text-xl leading-tight font-semibold",
251
+ "data-testid": otherProps["data-testid"] || "menubar-heading",
252
+ children: title
253
+ }), children]
254
+ })
255
+ })
256
+ });
257
+ };
258
+ MenuBar.Block = Block;
259
+ MenuBar.Item = Item;
260
+ MenuBar.SubTitle = SubTitle;
261
+ MenuBar.Search = Search;
262
+ MenuBar.AddNew = AddNew;
263
+
264
+ module.exports = MenuBar;
265
+ //# sourceMappingURL=MenuBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuBar.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/x.js","../../../src/v2/components/MenuBar/AddNew.jsx","../../../src/v2/components/MenuBar/Block.jsx","../../../src/v2/components/MenuBar/Item.jsx","../../../src/v2/components/MenuBar/Search.jsx","../../../src/v2/components/MenuBar/SubTitle.jsx","../../../src/v2/components/MenuBar/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 [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n];\nconst X = createLucideIcon(\"x\", __iconNode);\n\nexport { __iconNode, X as default };\n//# sourceMappingURL=x.js.map\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { Plus } from \"lucide-react\";\nimport PropTypes from \"prop-types\";\n\nconst AddNew = ({ label = \"\", onClick, ...otherProps }) => (\n <div className=\"mb-2 px-2 py-1.5\" {...otherProps}>\n <Button {...{ onClick }} className=\"gap-1 text-sm\" size=\"sm\" variant=\"link\">\n <Plus size={16} />\n {label}\n </Button>\n </div>\n);\n\nAddNew.propTypes = {\n label: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport default AddNew;\n","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nconst Block = ({\n url,\n icon,\n label,\n count,\n active = false,\n onEdit,\n onClick = noop,\n className,\n ...otherProps\n}) => {\n const handleEdit = e => {\n if (!onEdit) return;\n\n e.stopPropagation();\n onEdit();\n };\n\n const Parent = url ? Link : props => <button type=\"button\" {...props} />;\n\n return (\n <Parent\n data-testid={otherProps[\"data-testid\"] || \"menubar-block\"}\n to={url}\n className={classnames(\n \"hover:bg-accent focus:bg-accent active:bg-accent relative mb-2 flex w-full cursor-pointer items-center justify-between rounded-md border border-transparent px-2 py-1.5 text-start transition-all hover:no-underline focus:outline-none motion-reduce:transition-none\",\n {\n \"bg-primary/10 border-primary/10 after:bg-primary hover:bg-primary/10 focus:bg-primary/10 active:bg-primary/10 after:absolute after:inset-y-0 after:start-[-1px] after:w-[3px] after:rounded-s-md\":\n active,\n [className]: className,\n }\n )}\n {...{ onClick, ...otherProps }}\n >\n <div\n className=\"flex items-center\"\n data-testid={joinHyphenCase(\"menubar-block-label\", label)}\n >\n {icon && <i className=\"me-1 flex items-center\">{icon}</i>}\n <span className=\"text-sm font-medium\" title={label}>\n {label}\n </span>\n </div>\n {Number.isInteger(count) && (\n <div onClick={handleEdit}>\n <span className=\"text-sm font-medium\">{count}</span>\n </div>\n )}\n </Parent>\n );\n};\n\nBlock.propTypes = {\n url: PropTypes.string,\n icon: PropTypes.node,\n label: PropTypes.string,\n count: PropTypes.number,\n active: PropTypes.bool,\n onEdit: PropTypes.func,\n onClick: PropTypes.func,\n className: PropTypes.string,\n};\n\nexport default Block;\n","/* eslint-disable @bigbinary/neeto/use-neetoui-classes */\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Item = ({\n label = \"\",\n description = \"\",\n active = false,\n className = \"\",\n ...otherProps\n}) => (\n <button\n type=\"button\"\n className={classnames(\n \"hover:bg-accent focus:bg-accent active:bg-accent mb-2 w-full cursor-pointer rounded-md border border-transparent p-3 text-start transition-all focus:outline-none motion-reduce:transition-none max-lg:p-2.5 max-md:p-2\",\n {\n \"border-border bg-background text-foreground hover:bg-background focus:bg-background active:bg-background shadow-sm\":\n active,\n [className]: className,\n }\n )}\n {...otherProps}\n >\n <h5 className=\"text-sm font-semibold\">{label}</h5>\n <p className=\"text-muted-foreground text-xs\">{description}</p>\n </button>\n);\n\nItem.propTypes = {\n label: PropTypes.string,\n description: PropTypes.string,\n active: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Item;\n","import { Button, Input } from \"@bigbinary/neeto-atoms\";\nimport { Search as SearchIcon, X } from \"lucide-react\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Search = ({ isCollapsed = true, onCollapse, ...props }) => {\n const { t } = useTranslation();\n\n if (isCollapsed) return null;\n\n return (\n <div className=\"mb-5 flex items-center gap-1\">\n <div className=\"relative flex-grow\">\n <SearchIcon className=\"text-muted-foreground absolute start-3 top-1/2 size-4 -translate-y-1/2\" />\n <Input\n className=\"ps-9\"\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n type=\"search\"\n {...props}\n />\n </div>\n <Button\n data-testid=\"menubar-search-close-icon\"\n size=\"icon-sm\"\n variant=\"ghost\"\n onClick={onCollapse}\n >\n <X size={16} />\n </Button>\n </div>\n );\n};\n\nSearch.propTypes = {\n isCollapsed: PropTypes.bool,\n onCollapse: PropTypes.func,\n};\n\nexport default Search;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport PropTypes from \"prop-types\";\n\nconst SubTitle = ({ children, iconProps, ...otherProps }) => (\n <div\n className=\"my-5 flex items-center justify-between\"\n data-testid={otherProps[\"data-testid\"] || \"menubar-subtitle-heading\"}\n {...otherProps}\n >\n {children}\n <div className=\"flex items-center gap-1\">\n {iconProps?.map(({ icon: Icon, onClick, ...rest }, index) => (\n <Button\n {...{ onClick }}\n key={index}\n size=\"icon-sm\"\n variant=\"ghost\"\n {...rest}\n >\n {Icon && <Icon size={16} />}\n </Button>\n ))}\n </div>\n </div>\n);\n\nSubTitle.propTypes = {\n children: PropTypes.node,\n iconProps: PropTypes.array,\n};\n\nexport default SubTitle;\n","import { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { usePrefersReducedMotion } from \"neetocommons/react-utils\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport AddNew from \"./AddNew\";\nimport Block from \"./Block\";\nimport Item from \"./Item\";\nimport Search from \"./Search\";\nimport SubTitle from \"./SubTitle\";\n\nconst MenuBar = ({\n title = \"\",\n children,\n showMenu = false,\n className = \"\",\n ...otherProps\n}) => {\n const prefersReducedMotion = usePrefersReducedMotion();\n const nodeRef = useRef(null);\n\n return (\n <CSSTransition\n {...{ nodeRef }}\n unmountOnExit\n in={showMenu}\n timeout={prefersReducedMotion ? 0 : 300}\n onEnter={() => {\n if (nodeRef.current) nodeRef.current.style.width = \"0\";\n }}\n onEntered={() => {\n if (nodeRef.current) nodeRef.current.style.width = \"\";\n }}\n onEntering={() => {\n if (nodeRef.current) nodeRef.current.style.width = \"20.25rem\";\n }}\n onExit={() => {\n if (nodeRef.current) nodeRef.current.style.width = \"20.25rem\";\n }}\n onExiting={() => {\n if (nodeRef.current) nodeRef.current.style.width = \"0\";\n }}\n >\n <div\n ref={nodeRef}\n className={classnames(\n \"border-border bg-background shrink-0 overflow-hidden border-e transition-all duration-300 motion-reduce:transition-none\",\n className\n )}\n >\n <div\n className=\"h-dvh w-[20.25rem] overflow-y-auto p-8 max-lg:w-[17.5rem] max-lg:px-6 max-lg:pt-10 max-lg:pb-6 max-md:w-60 max-md:px-5 max-md:pt-10 max-md:pb-6\"\n data-testid=\"menubar-container\"\n >\n {title && (\n <h2\n className=\"mb-4 text-xl leading-tight font-semibold\"\n data-testid={otherProps[\"data-testid\"] || \"menubar-heading\"}\n >\n {title}\n </h2>\n )}\n {children}\n </div>\n </div>\n </CSSTransition>\n );\n};\n\nMenuBar.Block = Block;\nMenuBar.Item = Item;\nMenuBar.SubTitle = SubTitle;\nMenuBar.Search = Search;\nMenuBar.AddNew = AddNew;\n\nMenuBar.propTypes = {\n title: PropTypes.node,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n showMenu: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default MenuBar;\n"],"names":["createLucideIcon","AddNew","_ref","_ref$label","label","onClick","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","children","_jsxs","Button","size","variant","Plus","Block","url","icon","count","_ref$active","active","onEdit","_ref$onClick","noop","handleEdit","e","stopPropagation","Parent","Link","props","type","to","classnames","_defineProperty","joinHyphenCase","title","Number","isInteger","Item","_ref$description","description","_ref$className","Search","_ref$isCollapsed","isCollapsed","onCollapse","_useTranslation","useTranslation","t","SearchIcon","Input","placeholder","X","SubTitle","iconProps","map","_ref2","index","Icon","rest","_excluded2","_createElement","key","MenuBar","_ref$title","_ref$showMenu","showMenu","prefersReducedMotion","usePrefersReducedMotion","nodeRef","useRef","CSSTransition","unmountOnExit","timeout","onEnter","current","style","width","onEntered","onEntering","onExit","onExiting","ref"],"mappings":"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","x_google_ignoreList":[0]}