@unifiedsoftware/react-ui 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -68,6 +68,10 @@ __export(src_exports, {
68
68
  Breadcrumb: () => Breadcrumb,
69
69
  Button: () => Button,
70
70
  CloseIcon: () => CloseIcon,
71
+ Collapse: () => Collapse_default,
72
+ CollapseContent: () => CollapseContent_default,
73
+ CollapseContext: () => CollapseContext_default,
74
+ CollapseTrigger: () => CollapseTrigger_default,
71
75
  DrawerContext: () => DrawerContext,
72
76
  DrawerContextProvider: () => DrawerContextProvider,
73
77
  DropEnumList: () => DropEnumList,
@@ -78,9 +82,15 @@ __export(src_exports, {
78
82
  ItemSidebar: () => ItemSidebar,
79
83
  LoaderGrid: () => LoaderGrid,
80
84
  Main: () => Main,
81
- MenuItem: () => MenuItem,
85
+ Menu: () => Menu_default,
86
+ MenuContext: () => MenuContext_default,
87
+ MenuGroup: () => MenuGroup_default,
88
+ MenuItem: () => MenuItem_default,
89
+ MenuItems: () => MenuItem2,
82
90
  MenuOptions: () => MenuOptions,
91
+ MenuSubmenu: () => MenuSubmenu_default,
83
92
  MenuTitle: () => MenuTitle,
93
+ MenuValueContext: () => MenuValueContext_default,
84
94
  NavOptions: () => NavOptions,
85
95
  Navbar: () => Navbar,
86
96
  SidebarMainContext: () => SidebarMainContext,
@@ -89,7 +99,11 @@ __export(src_exports, {
89
99
  Tab: () => Tab,
90
100
  Tabs: () => Tabs,
91
101
  Title: () => Title,
102
+ getOpenValuesByPathname: () => getOpenValuesByPathname,
103
+ useCollapse: () => useCollapse,
92
104
  useLocalStorage: () => useLocalStorage,
105
+ useMenu: () => useMenu,
106
+ useMenuItemValue: () => useMenuItemValue,
93
107
  usePrevious: () => usePrevious,
94
108
  useStep: () => useStep
95
109
  });
@@ -98,45 +112,507 @@ module.exports = __toCommonJS(src_exports);
98
112
  // src/components/Button/Button.tsx
99
113
  var import_clsx = __toESM(require("clsx"));
100
114
  var import_react = require("react");
115
+ var import_ri = require("react-icons/ri");
116
+
117
+ // src/constants/index.ts
118
+ var PREFIX_CLS = "us-";
119
+
120
+ // src/components/Button/Button.tsx
101
121
  var import_jsx_runtime = require("react/jsx-runtime");
102
- var prefixCls = "us-";
103
122
  var Button = (0, import_react.forwardRef)(
104
123
  (_a, ref) => {
105
- var _b = _a, { as: Component = "button", children, className, variant = "text", color = "primary", size = "md" } = _b, rest = __objRest(_b, ["as", "children", "className", "variant", "color", "size"]);
124
+ var _b = _a, {
125
+ as: Component = "button",
126
+ children,
127
+ className,
128
+ role = "presentation",
129
+ variant = "text",
130
+ color = "primary",
131
+ size = "md",
132
+ prefix,
133
+ suffix,
134
+ loading
135
+ } = _b, rest = __objRest(_b, [
136
+ "as",
137
+ "children",
138
+ "className",
139
+ "role",
140
+ "variant",
141
+ "color",
142
+ "size",
143
+ "prefix",
144
+ "suffix",
145
+ "loading"
146
+ ]);
106
147
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
107
148
  Component,
108
149
  __spreadProps(__spreadValues({
109
150
  ref,
110
151
  className: (0, import_clsx.default)(
111
- `${prefixCls}button`,
152
+ `${PREFIX_CLS}button`,
112
153
  {
113
- [`${prefixCls}button--${variant}`]: variant,
114
- [`${prefixCls}button--${color}`]: color,
115
- [`${prefixCls}button--${size}`]: size
154
+ [`${PREFIX_CLS}button--${variant}`]: variant,
155
+ [`${PREFIX_CLS}button--${color}`]: color,
156
+ [`${PREFIX_CLS}button--${size}`]: size
116
157
  },
117
158
  className
118
- )
159
+ ),
160
+ role
119
161
  }, rest), {
120
162
  children: [
121
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: `${prefixCls}button__elevation` }),
122
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: `${prefixCls}button__outline` }),
123
- children
163
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: `${PREFIX_CLS}overlay` }),
164
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ri.RiLoader4Line, { className: `${PREFIX_CLS}icon ${PREFIX_CLS}animation-spin` }) : prefix,
165
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: `${PREFIX_CLS}button__content`, children }),
166
+ suffix
124
167
  ]
125
168
  })
126
169
  );
127
170
  }
128
171
  );
129
172
 
130
- // src/components/Tabs/Tab.tsx
173
+ // src/components/Collapse/Collapse.tsx
174
+ var import_react3 = require("react");
175
+
176
+ // src/components/Collapse/CollapseContext.tsx
177
+ var import_react2 = require("react");
178
+ var CollapseContext = (0, import_react2.createContext)(null);
179
+ var useCollapse = () => {
180
+ const context = (0, import_react2.useContext)(CollapseContext);
181
+ if (!context) {
182
+ throw new Error("`useCollapse` must be used within a `<Collapse />`");
183
+ }
184
+ return context;
185
+ };
186
+ var CollapseContext_default = CollapseContext;
187
+
188
+ // src/components/Collapse/Collapse.tsx
189
+ var import_jsx_runtime2 = require("react/jsx-runtime");
190
+ var Collapse = ({ children, isOpen, onOpen, onClose, onToggle }) => {
191
+ const collapseRef = (0, import_react3.useRef)(null);
192
+ const [selfIsOpen, setSelfIsOpen] = (0, import_react3.useState)(isOpen != null ? isOpen : false);
193
+ const [heightAuto, setHeightAuto] = (0, import_react3.useState)(false);
194
+ const [trigger, content] = import_react3.Children.toArray(children);
195
+ const handleOpen = () => {
196
+ setSelfIsOpen(true);
197
+ onOpen == null ? void 0 : onOpen();
198
+ };
199
+ const handleClose = () => {
200
+ setSelfIsOpen(false);
201
+ onClose == null ? void 0 : onClose();
202
+ };
203
+ const handleToggle = () => {
204
+ setSelfIsOpen((prevState) => !prevState);
205
+ onToggle == null ? void 0 : onToggle();
206
+ };
207
+ (0, import_react3.useEffect)(() => {
208
+ if (isOpen !== void 0) {
209
+ setSelfIsOpen(isOpen);
210
+ }
211
+ setTimeout(() => {
212
+ if (isOpen) {
213
+ setHeightAuto(true);
214
+ } else {
215
+ setHeightAuto(false);
216
+ }
217
+ }, 100);
218
+ }, [isOpen]);
219
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
220
+ CollapseContext_default.Provider,
221
+ {
222
+ value: {
223
+ collapseRef,
224
+ isOpen: selfIsOpen,
225
+ heightAuto,
226
+ onOpen: handleOpen,
227
+ onClose: handleClose,
228
+ onToggle: handleToggle
229
+ },
230
+ children: [
231
+ trigger,
232
+ content
233
+ ]
234
+ }
235
+ );
236
+ };
237
+ var Collapse_default = Collapse;
238
+
239
+ // src/components/Collapse/CollapseContent.tsx
131
240
  var import_clsx2 = __toESM(require("clsx"));
241
+ var import_react4 = require("react");
242
+ var CollapseContent = (0, import_react4.forwardRef)(({ children }, ref) => {
243
+ var _a, _b;
244
+ const { collapseRef, isOpen, heightAuto } = useCollapse();
245
+ const child = import_react4.Children.only(children);
246
+ return (0, import_react4.cloneElement)(child, __spreadProps(__spreadValues({}, child.props), {
247
+ ref: (node) => {
248
+ collapseRef.current = node;
249
+ if (ref !== null) {
250
+ ref.current = node;
251
+ }
252
+ },
253
+ style: __spreadProps(__spreadValues({}, child.props.style), {
254
+ height: isOpen && heightAuto ? "auto" : isOpen ? (_a = collapseRef.current) == null ? void 0 : _a.scrollHeight : !isOpen && heightAuto ? (_b = collapseRef.current) == null ? void 0 : _b.scrollHeight : 0
255
+ }),
256
+ className: (0, import_clsx2.default)(`${PREFIX_CLS}collapse`, child.props.className)
257
+ }));
258
+ });
259
+ var CollapseContent_default = CollapseContent;
260
+
261
+ // src/components/Collapse/CollapseTrigger.tsx
262
+ var import_react5 = require("react");
263
+ var CollapseTrigger = (0, import_react5.forwardRef)(({ children }, ref) => {
264
+ const { collapseRef, onToggle } = useCollapse();
265
+ const child = import_react5.Children.only(children);
266
+ return (0, import_react5.cloneElement)(child, __spreadValues({
267
+ ref,
268
+ onClick: (event) => {
269
+ var _a, _b;
270
+ if (!collapseRef.current) {
271
+ return;
272
+ }
273
+ onToggle();
274
+ (_b = (_a = child.props).onClick) == null ? void 0 : _b.call(_a, event);
275
+ }
276
+ }, child.props));
277
+ });
278
+ var CollapseTrigger_default = CollapseTrigger;
279
+
280
+ // src/components/Menu/Menu.tsx
281
+ var import_clsx6 = __toESM(require("clsx"));
282
+ var import_react11 = require("react");
283
+
284
+ // src/components/Menu/MenuContext.tsx
285
+ var import_react6 = require("react");
286
+ var MenuContext = (0, import_react6.createContext)(null);
287
+ var useMenu = () => {
288
+ const context = (0, import_react6.useContext)(MenuContext);
289
+ if (!context) {
290
+ throw new Error("`useMenu` must be used within a `<Menu />`");
291
+ }
292
+ return context;
293
+ };
294
+ var MenuContext_default = MenuContext;
295
+
296
+ // src/components/Menu/MenuGroup.tsx
297
+ var import_clsx5 = __toESM(require("clsx"));
298
+ var import_react10 = require("react");
299
+
300
+ // src/components/Menu/MenuItem.tsx
301
+ var import_clsx3 = __toESM(require("clsx"));
302
+ var import_react8 = require("react");
303
+
304
+ // src/components/Menu/MenuValueContext.tsx
305
+ var import_react7 = require("react");
306
+ var MenuValueContext = (0, import_react7.createContext)([]);
307
+ var useMenuItemValue = () => {
308
+ const context = (0, import_react7.useContext)(MenuValueContext);
309
+ if (!context) {
310
+ throw new Error("`useMenuValue` must be used within a `<MenuValueContext.Provider />`");
311
+ }
312
+ return context;
313
+ };
314
+ var MenuValueContext_default = MenuValueContext;
315
+
316
+ // src/components/Menu/MenuItem.tsx
317
+ var import_jsx_runtime3 = require("react/jsx-runtime");
318
+ var MenuItem = (0, import_react8.forwardRef)((props, ref) => {
319
+ const _a = props, { as: Component = "div", className, style, value, title, icon, level = 1, disabled, onClick } = _a, rest = __objRest(_a, ["as", "className", "style", "value", "title", "icon", "level", "disabled", "onClick"]);
320
+ const { value: menuValue, originalValue, openMode, onChange, onOpen, onItemSelect } = useMenu();
321
+ const values = (0, import_react8.useContext)(MenuValueContext_default);
322
+ const mergedValues = [...values, value];
323
+ const handleClick = (event) => {
324
+ if (value !== void 0) {
325
+ onChange(mergedValues);
326
+ }
327
+ onClick == null ? void 0 : onClick(event);
328
+ onItemSelect == null ? void 0 : onItemSelect(props);
329
+ };
330
+ (0, import_react8.useEffect)(() => {
331
+ if (openMode === "automatic" && originalValue.length > 0 && originalValue[originalValue.length - 1] === value) {
332
+ onOpen(values);
333
+ onChange(mergedValues);
334
+ }
335
+ }, [value, originalValue, openMode]);
336
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
337
+ Component,
338
+ __spreadProps(__spreadValues({
339
+ ref,
340
+ className: (0, import_clsx3.default)(
341
+ `${PREFIX_CLS}menu-item`,
342
+ {
343
+ [`${PREFIX_CLS}menu-item--selected`]: menuValue.includes(value),
344
+ [`${PREFIX_CLS}menu-item--disabled`]: disabled
345
+ },
346
+ className
347
+ ),
348
+ style: __spreadValues({
349
+ paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-item-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-item-padding-level))`
350
+ }, style),
351
+ onClick: handleClick
352
+ }, rest), {
353
+ children: [
354
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
355
+ icon && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
356
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) })
357
+ ]
358
+ })
359
+ );
360
+ });
361
+ MenuItem.displayName = "MenuItem";
362
+ var MenuItem_default = MenuItem;
363
+
364
+ // src/components/Menu/MenuSubmenu.tsx
365
+ var import_clsx4 = __toESM(require("clsx"));
366
+ var import_react9 = require("react");
367
+ var import_md = require("react-icons/md");
368
+
369
+ // src/components/Menu/utils.ts
370
+ var getOpenValuesByPathname = (pathname) => {
371
+ return pathname.split("/").reduce((previousValue, currentValue) => {
372
+ const previousPath = previousValue[previousValue.length - 1];
373
+ if (previousPath != void 0) {
374
+ previousValue.push(previousPath + "/" + currentValue);
375
+ } else {
376
+ previousValue.push("");
377
+ }
378
+ return previousValue;
379
+ }, []);
380
+ };
381
+ var addOrRemoveValueInArray = (array, value) => {
382
+ const index = array.indexOf(value);
383
+ const newArray = [...array];
384
+ if (index === -1) {
385
+ newArray.push(value);
386
+ } else {
387
+ newArray.splice(index, 1);
388
+ }
389
+ return newArray;
390
+ };
391
+
392
+ // src/components/Menu/MenuSubmenu.tsx
393
+ var import_jsx_runtime4 = require("react/jsx-runtime");
394
+ var MenuSubmenu = (_a) => {
395
+ var _b = _a, {
396
+ children,
397
+ className,
398
+ style,
399
+ value,
400
+ title,
401
+ icon,
402
+ level = 1,
403
+ items,
404
+ onClick
405
+ } = _b, rest = __objRest(_b, [
406
+ "children",
407
+ "className",
408
+ "style",
409
+ "value",
410
+ "title",
411
+ "icon",
412
+ "level",
413
+ "items",
414
+ "onClick"
415
+ ]);
416
+ const { value: menuValue, openValues, expandMode, onOpen } = useMenu();
417
+ const values = (0, import_react9.useContext)(MenuValueContext_default);
418
+ const isOpen = openValues.includes(value);
419
+ const mergedValues = [...values, value];
420
+ const content = (0, import_react9.useMemo)(() => {
421
+ return items == null ? void 0 : items.map((_a2, index) => {
422
+ var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
423
+ return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuSubmenu, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "group" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuGroup_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index);
424
+ });
425
+ }, [items]);
426
+ const handleClick = (event) => {
427
+ if (expandMode === "multiple") {
428
+ const updatedOpenValues = addOrRemoveValueInArray(openValues, value);
429
+ onOpen(updatedOpenValues);
430
+ } else {
431
+ if (isOpen) {
432
+ const updatedOpenValues = addOrRemoveValueInArray(mergedValues, value);
433
+ onOpen(updatedOpenValues);
434
+ } else {
435
+ const updatedOpenValues = addOrRemoveValueInArray(values, value);
436
+ onOpen(updatedOpenValues);
437
+ }
438
+ }
439
+ onClick == null ? void 0 : onClick(event);
440
+ };
441
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MenuValueContext_default.Provider, { value: mergedValues, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: (0, import_clsx4.default)(`${PREFIX_CLS}menu-submenu`), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Collapse_default, { isOpen, children: [
442
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CollapseTrigger_default, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
443
+ "div",
444
+ __spreadProps(__spreadValues({
445
+ className: (0, import_clsx4.default)(
446
+ `${PREFIX_CLS}menu-item`,
447
+ {
448
+ [`${PREFIX_CLS}menu-item--selected`]: menuValue.includes(value) || items && mergedValues.includes(menuValue)
449
+ },
450
+ className
451
+ ),
452
+ style: __spreadValues({
453
+ paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-item-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-item-padding-level))`
454
+ }, style),
455
+ onClick: handleClick
456
+ }, rest), {
457
+ children: [
458
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
459
+ icon && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
460
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) }),
461
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_md.MdKeyboardArrowUp, { className: `${PREFIX_CLS}icon` }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_md.MdKeyboardArrowDown, { className: `${PREFIX_CLS}icon` }) })
462
+ ]
463
+ })
464
+ ) }),
465
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CollapseContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
466
+ "ul",
467
+ {
468
+ className: (0, import_clsx4.default)(`${PREFIX_CLS}menu`, {
469
+ [`${PREFIX_CLS}menu-open`]: !open
470
+ }),
471
+ children: content || children
472
+ }
473
+ ) })
474
+ ] }) }) });
475
+ };
476
+ var MenuSubmenu_default = MenuSubmenu;
477
+
478
+ // src/components/Menu/MenuGroup.tsx
479
+ var import_jsx_runtime5 = require("react/jsx-runtime");
480
+ var MenuGroup = (_a) => {
481
+ var _b = _a, {
482
+ children,
483
+ className,
484
+ style,
485
+ title,
486
+ icon,
487
+ level = 1,
488
+ items
489
+ } = _b, rest = __objRest(_b, [
490
+ "children",
491
+ "className",
492
+ "style",
493
+ "title",
494
+ "icon",
495
+ "level",
496
+ "items"
497
+ ]);
498
+ const content = (0, import_react10.useMemo)(() => {
499
+ return items == null ? void 0 : items.map((_a2, index) => {
500
+ var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
501
+ return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(MenuSubmenu_default, __spreadValues({}, item), index) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(MenuItem_default, __spreadValues({}, item), index);
502
+ });
503
+ }, [items]);
504
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
505
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
506
+ "div",
507
+ __spreadProps(__spreadValues({
508
+ className: (0, import_clsx5.default)(`${PREFIX_CLS}menu-group`, className),
509
+ style: __spreadValues({
510
+ paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-group-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-group-padding-level))`
511
+ }, style)
512
+ }, rest), {
513
+ children: [
514
+ icon && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `${PREFIX_CLS}menu-group__icon`, children: icon }),
515
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `${PREFIX_CLS}menu-group__content`, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: `${PREFIX_CLS}menu-group__title`, children: title }) })
516
+ ]
517
+ })
518
+ ),
519
+ content || children
520
+ ] });
521
+ };
522
+ var MenuGroup_default = MenuGroup;
523
+
524
+ // src/components/Menu/Menu.tsx
525
+ var import_jsx_runtime6 = require("react/jsx-runtime");
526
+ var Menu = (_a) => {
527
+ var _b = _a, {
528
+ children,
529
+ value: valueProp = [],
530
+ defaultValue,
531
+ openValues: openValuesProp,
532
+ expandMode = "multiple",
533
+ openMode = "manual",
534
+ items,
535
+ onChange,
536
+ onOpen,
537
+ onItemSelect
538
+ } = _b, rest = __objRest(_b, [
539
+ "children",
540
+ "value",
541
+ "defaultValue",
542
+ "openValues",
543
+ "expandMode",
544
+ "openMode",
545
+ "items",
546
+ "onChange",
547
+ "onOpen",
548
+ "onItemSelect"
549
+ ]);
550
+ var _a2;
551
+ const [selfValue, setSelfValue] = (0, import_react11.useState)((_a2 = valueProp != null ? valueProp : defaultValue) != null ? _a2 : []);
552
+ const [selfOpenValues, setSelfOpenValues] = (0, import_react11.useState)(openValuesProp != null ? openValuesProp : []);
553
+ const content = (0, import_react11.useMemo)(() => {
554
+ return items == null ? void 0 : items.map((_a3, index) => {
555
+ var _b2 = _a3, { type } = _b2, item = __objRest(_b2, ["type"]);
556
+ return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MenuSubmenu_default, __spreadValues({}, item), index) : type === "group" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MenuGroup_default, __spreadValues({}, item), index) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MenuItem_default, __spreadValues({}, item), index);
557
+ });
558
+ }, [items]);
559
+ const handleChange = (value) => {
560
+ if (valueProp !== void 0 && openMode !== "automatic") {
561
+ onChange == null ? void 0 : onChange(value);
562
+ } else {
563
+ setSelfValue(value);
564
+ }
565
+ };
566
+ const handleOpen = (values) => {
567
+ if (openValuesProp !== void 0) {
568
+ onOpen == null ? void 0 : onOpen(values);
569
+ } else {
570
+ setSelfOpenValues(values);
571
+ }
572
+ };
573
+ const handleItemSelect = (props) => {
574
+ onItemSelect == null ? void 0 : onItemSelect(props);
575
+ };
576
+ (0, import_react11.useEffect)(() => {
577
+ if (valueProp !== void 0 && openMode !== "automatic") {
578
+ setSelfValue(valueProp);
579
+ }
580
+ }, [valueProp]);
581
+ (0, import_react11.useEffect)(() => {
582
+ if (openValuesProp !== void 0) {
583
+ setSelfOpenValues(openValuesProp);
584
+ }
585
+ }, [openValuesProp]);
586
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
587
+ MenuContext_default.Provider,
588
+ {
589
+ value: {
590
+ value: selfValue,
591
+ originalValue: valueProp,
592
+ openValues: selfOpenValues,
593
+ expandMode,
594
+ openMode,
595
+ onOpen: handleOpen,
596
+ onChange: handleChange,
597
+ onItemSelect: handleItemSelect
598
+ },
599
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", __spreadProps(__spreadValues({ className: (0, import_clsx6.default)(`${PREFIX_CLS}menu`) }, rest), { children: content || children }))
600
+ }
601
+ );
602
+ };
603
+ Menu.displayName = "Menu";
604
+ var Menu_default = Menu;
605
+
606
+ // src/components/Tabs/Tab.tsx
607
+ var import_clsx7 = __toESM(require("clsx"));
132
608
  var import_merge_refs = __toESM(require("merge-refs"));
133
- var import_react3 = require("react");
609
+ var import_react13 = require("react");
134
610
 
135
611
  // src/components/Tabs/TabsContext.ts
136
- var import_react2 = require("react");
137
- var TabsContext = (0, import_react2.createContext)(null);
612
+ var import_react12 = require("react");
613
+ var TabsContext = (0, import_react12.createContext)(null);
138
614
  var useTabs = () => {
139
- const context = (0, import_react2.useContext)(TabsContext);
615
+ const context = (0, import_react12.useContext)(TabsContext);
140
616
  if (!context) {
141
617
  throw new Error("`useTabs` must be used within a `<Tabs />`");
142
618
  }
@@ -144,12 +620,11 @@ var useTabs = () => {
144
620
  };
145
621
 
146
622
  // src/components/Tabs/Tab.tsx
147
- var import_jsx_runtime2 = require("react/jsx-runtime");
148
- var prefixCls2 = "us-";
149
- var Tab = (0, import_react3.forwardRef)(
623
+ var import_jsx_runtime7 = require("react/jsx-runtime");
624
+ var Tab = (0, import_react13.forwardRef)(
150
625
  (_a, ref) => {
151
- var _b = _a, { as: Component = "div", children, className, value, onClick } = _b, rest = __objRest(_b, ["as", "children", "className", "value", "onClick"]);
152
- const tabRef = (0, import_react3.useRef)(null);
626
+ var _b = _a, { as: Component = "div", children, className, role = "presentation", value, onClick } = _b, rest = __objRest(_b, ["as", "children", "className", "role", "value", "onClick"]);
627
+ const tabRef = (0, import_react13.useRef)(null);
153
628
  const tabs = useTabs();
154
629
  const handleClick = (event) => {
155
630
  const previousTab = tabs.previousTabRef.current;
@@ -157,8 +632,8 @@ var Tab = (0, import_react3.forwardRef)(
157
632
  if (!currentTab)
158
633
  return;
159
634
  if (previousTab) {
160
- const previousIndicator = previousTab.querySelector(`.${prefixCls2}tab__indicator`);
161
- const currentIndicator = currentTab.querySelector(`.${prefixCls2}tab__indicator`);
635
+ const previousIndicator = previousTab.querySelector(`.${PREFIX_CLS}tab__indicator`);
636
+ const currentIndicator = currentTab.querySelector(`.${PREFIX_CLS}tab__indicator`);
162
637
  if (!previousIndicator || !currentIndicator)
163
638
  return;
164
639
  const from = {};
@@ -185,55 +660,57 @@ var Tab = (0, import_react3.forwardRef)(
185
660
  tabs.onChange(value);
186
661
  onClick == null ? void 0 : onClick(event);
187
662
  };
188
- (0, import_react3.useEffect)(() => {
663
+ (0, import_react13.useEffect)(() => {
189
664
  if (value === tabs.value) {
190
665
  tabs.previousTabRef.current = tabRef.current;
191
666
  }
192
667
  }, []);
193
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
668
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
194
669
  Component,
195
670
  __spreadProps(__spreadValues({
196
671
  ref: (0, import_merge_refs.default)(tabRef, ref),
197
- className: (0, import_clsx2.default)(`${prefixCls2}tab`, { [`${prefixCls2}tab--selected`]: value === tabs.value }, className),
672
+ className: (0, import_clsx7.default)(`${PREFIX_CLS}tab`, { [`${PREFIX_CLS}tab--selected`]: value === tabs.value }, className),
673
+ role,
198
674
  onClick: handleClick
199
675
  }, rest), {
200
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: `${prefixCls2}tab__content`, children: [
201
- children,
202
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: `${prefixCls2}tab__indicator` })
203
- ] })
676
+ children: [
677
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `${PREFIX_CLS}overlay` }),
678
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `${PREFIX_CLS}tab__content`, children }),
679
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `${PREFIX_CLS}tab__indicator` })
680
+ ]
204
681
  })
205
682
  );
206
683
  }
207
684
  );
208
685
 
209
686
  // src/components/Tabs/Tabs.tsx
210
- var import_clsx3 = __toESM(require("clsx"));
211
- var import_react4 = require("react");
212
- var import_jsx_runtime3 = require("react/jsx-runtime");
213
- var prefixCls3 = "us-";
687
+ var import_clsx8 = __toESM(require("clsx"));
688
+ var import_react14 = require("react");
689
+ var import_jsx_runtime8 = require("react/jsx-runtime");
690
+ var prefixCls = "us-";
214
691
  var Tabs = (_a) => {
215
692
  var _b = _a, { children, className, value, defaultValue, onChange } = _b, rest = __objRest(_b, ["children", "className", "value", "defaultValue", "onChange"]);
216
- const previousTabRef = (0, import_react4.useRef)(null);
217
- const [selfValue, setSelfValue] = (0, import_react4.useState)(value != null ? value : defaultValue);
693
+ const previousTabRef = (0, import_react14.useRef)(null);
694
+ const [selfValue, setSelfValue] = (0, import_react14.useState)(value != null ? value : defaultValue);
218
695
  const handleChange = (value2) => {
219
696
  setSelfValue(value2);
220
697
  onChange == null ? void 0 : onChange(value2);
221
698
  };
222
- (0, import_react4.useEffect)(() => {
699
+ (0, import_react14.useEffect)(() => {
223
700
  if (value !== void 0) {
224
701
  setSelfValue(value);
225
702
  }
226
703
  }, [value]);
227
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(TabsContext.Provider, { value: { previousTabRef, value: selfValue, onChange: handleChange }, children: [
228
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", __spreadProps(__spreadValues({ className: (0, import_clsx3.default)(`${prefixCls3}tabs`, className) }, rest), { children })),
229
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `${prefixCls3}divider` })
704
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(TabsContext.Provider, { value: { previousTabRef, value: selfValue, onChange: handleChange }, children: [
705
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", __spreadProps(__spreadValues({ className: (0, import_clsx8.default)(`${prefixCls}tabs`, className) }, rest), { children })),
706
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: `${prefixCls}divider` })
230
707
  ] });
231
708
  };
232
709
 
233
710
  // src/components/DropdownEnumList.tsx
234
711
  var import_kendo_react_dropdowns = require("@progress/kendo-react-dropdowns");
235
- var import_react5 = require("react");
236
- var import_jsx_runtime4 = require("react/jsx-runtime");
712
+ var import_react15 = require("react");
713
+ var import_jsx_runtime9 = require("react/jsx-runtime");
237
714
  function parsearDataForComboBox(array, key, text, itemAll = false) {
238
715
  const dataForComboBox = [];
239
716
  if (itemAll)
@@ -268,16 +745,16 @@ function EnumToArray(typeEnum, replaceGuionForSpace = true, description) {
268
745
  return values;
269
746
  }
270
747
  var DropEnumList = ({ dataEnum, description, onChange, width, defaultValue }) => {
271
- const [value, setValue] = (0, import_react5.useState)("");
272
- const [data, setData] = (0, import_react5.useState)([]);
273
- (0, import_react5.useEffect)(() => {
748
+ const [value, setValue] = (0, import_react15.useState)("");
749
+ const [data, setData] = (0, import_react15.useState)([]);
750
+ (0, import_react15.useEffect)(() => {
274
751
  setData(
275
752
  parsearDataForComboBox(EnumToArray(dataEnum, true, description), "value", "label", false).sort(
276
753
  (a, b) => Number(a.key) - Number(b.key)
277
754
  )
278
755
  );
279
756
  }, []);
280
- (0, import_react5.useEffect)(() => {
757
+ (0, import_react15.useEffect)(() => {
281
758
  if (data.length > 0) {
282
759
  setValue(data.filter((x) => x.key == defaultValue)[0]);
283
760
  }
@@ -286,7 +763,7 @@ var DropEnumList = ({ dataEnum, description, onChange, width, defaultValue }) =>
286
763
  onChange(e);
287
764
  setValue(e);
288
765
  };
289
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
766
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
290
767
  import_kendo_react_dropdowns.DropDownList,
291
768
  {
292
769
  className: "d-inline-block align-middle mr-2",
@@ -307,22 +784,22 @@ var DropEnumList = ({ dataEnum, description, onChange, width, defaultValue }) =>
307
784
  };
308
785
 
309
786
  // src/contexts/BreadCrumbContext.tsx
310
- var import_react9 = require("react");
787
+ var import_react19 = require("react");
311
788
 
312
789
  // src/hooks/useLocalStorage.tsx
313
- var import_react8 = require("react");
790
+ var import_react18 = require("react");
314
791
 
315
792
  // src/hooks/useEventListener.tsx
316
- var import_react7 = require("react");
793
+ var import_react17 = require("react");
317
794
 
318
795
  // src/hooks/useIsomorphicLayoutEffect.tsx
319
- var import_react6 = require("react");
320
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react6.useLayoutEffect : import_react6.useEffect;
796
+ var import_react16 = require("react");
797
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react16.useLayoutEffect : import_react16.useEffect;
321
798
  var useIsomorphicLayoutEffect_default = useIsomorphicLayoutEffect;
322
799
 
323
800
  // src/hooks/useEventListener.tsx
324
801
  function useEventListener(handler) {
325
- const savedHandler = (0, import_react7.useRef)(handler);
802
+ const savedHandler = (0, import_react17.useRef)(handler);
326
803
  useIsomorphicLayoutEffect_default(() => {
327
804
  savedHandler.current = handler;
328
805
  }, [handler]);
@@ -331,7 +808,7 @@ var useEventListener_default = useEventListener;
331
808
 
332
809
  // src/hooks/useLocalStorage.tsx
333
810
  function useLocalStorage(key, initialValue) {
334
- const readValue = (0, import_react8.useCallback)(() => {
811
+ const readValue = (0, import_react18.useCallback)(() => {
335
812
  if (typeof window === "undefined") {
336
813
  return initialValue;
337
814
  }
@@ -343,8 +820,8 @@ function useLocalStorage(key, initialValue) {
343
820
  return initialValue;
344
821
  }
345
822
  }, [initialValue, key]);
346
- const [storedValue, setStoredValue] = (0, import_react8.useState)(readValue);
347
- const setValue = (0, import_react8.useCallback)(
823
+ const [storedValue, setStoredValue] = (0, import_react18.useState)(readValue);
824
+ const setValue = (0, import_react18.useCallback)(
348
825
  (value) => {
349
826
  if (typeof window == "undefined") {
350
827
  console.warn(`Tried setting localStorage key \u201C${key}\u201D even though environment is not a client`);
@@ -360,10 +837,10 @@ function useLocalStorage(key, initialValue) {
360
837
  },
361
838
  [key, storedValue]
362
839
  );
363
- (0, import_react8.useEffect)(() => {
840
+ (0, import_react18.useEffect)(() => {
364
841
  setStoredValue(readValue());
365
842
  }, []);
366
- const handleStorageChange = (0, import_react8.useCallback)(() => {
843
+ const handleStorageChange = (0, import_react18.useCallback)(() => {
367
844
  setStoredValue(readValue());
368
845
  }, [readValue]);
369
846
  useEventListener_default("storage", handleStorageChange);
@@ -380,15 +857,15 @@ function parseJSON(value) {
380
857
  }
381
858
 
382
859
  // src/contexts/BreadCrumbContext.tsx
383
- var import_jsx_runtime5 = require("react/jsx-runtime");
384
- var BreadCrumbContext = (0, import_react9.createContext)({});
860
+ var import_jsx_runtime10 = require("react/jsx-runtime");
861
+ var BreadCrumbContext = (0, import_react19.createContext)({});
385
862
  var BreadCrumbContextProvider = ({ children }) => {
386
863
  const [active, setActive] = useLocalStorage("@active", "");
387
864
  const [path, setPath] = useLocalStorage("@path", "/");
388
865
  const [goBack, setGoBack] = useLocalStorage("@goBack", false);
389
866
  const [pathChild, setPathChild] = useLocalStorage("@pathChild", "");
390
- const [routes, setRoutes] = (0, import_react9.useState)([]);
391
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
867
+ const [routes, setRoutes] = (0, import_react19.useState)([]);
868
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
392
869
  BreadCrumbContext.Provider,
393
870
  {
394
871
  value: {
@@ -409,18 +886,18 @@ var BreadCrumbContextProvider = ({ children }) => {
409
886
  };
410
887
 
411
888
  // src/contexts/DrawerContext.tsx
412
- var import_react10 = require("react");
413
- var import_jsx_runtime6 = require("react/jsx-runtime");
414
- var DrawerContext = (0, import_react10.createContext)({});
889
+ var import_react20 = require("react");
890
+ var import_jsx_runtime11 = require("react/jsx-runtime");
891
+ var DrawerContext = (0, import_react20.createContext)({});
415
892
  var DrawerContextProvider = ({ children }) => {
416
- const [active, setActive] = (0, import_react10.useState)(false);
417
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DrawerContext.Provider, { value: { active, setActive }, children });
893
+ const [active, setActive] = (0, import_react20.useState)(false);
894
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DrawerContext.Provider, { value: { active, setActive }, children });
418
895
  };
419
896
 
420
897
  // src/contexts/HistoryContext.tsx
421
- var import_react11 = require("react");
422
- var import_jsx_runtime7 = require("react/jsx-runtime");
423
- var HistoryContext = (0, import_react11.createContext)({});
898
+ var import_react21 = require("react");
899
+ var import_jsx_runtime12 = require("react/jsx-runtime");
900
+ var HistoryContext = (0, import_react21.createContext)({});
424
901
  var HistoryContextProvider = ({ children }) => {
425
902
  const [list, setList] = useLocalStorage("@list_paths", []);
426
903
  const updateList = (value) => {
@@ -432,41 +909,41 @@ var HistoryContextProvider = ({ children }) => {
432
909
  })
433
910
  );
434
911
  };
435
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(HistoryContext.Provider, { value: { list, updateList }, children });
912
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(HistoryContext.Provider, { value: { list, updateList }, children });
436
913
  };
437
914
 
438
915
  // src/contexts/SidebarMainContext.tsx
439
- var import_react12 = require("react");
440
- var import_jsx_runtime8 = require("react/jsx-runtime");
441
- var SidebarMainContext = (0, import_react12.createContext)({});
916
+ var import_react22 = require("react");
917
+ var import_jsx_runtime13 = require("react/jsx-runtime");
918
+ var SidebarMainContext = (0, import_react22.createContext)({});
442
919
  var SidebarMainContextProvider = ({ children }) => {
443
- const [open, setOpen] = (0, import_react12.useState)(true);
444
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SidebarMainContext.Provider, { value: { open, setOpen }, children });
920
+ const [open2, setOpen] = (0, import_react22.useState)(true);
921
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SidebarMainContext.Provider, { value: { open: open2, setOpen }, children });
445
922
  };
446
923
 
447
924
  // src/contexts/GlobalProvider.tsx
448
- var import_jsx_runtime9 = require("react/jsx-runtime");
925
+ var import_jsx_runtime14 = require("react/jsx-runtime");
449
926
  function GlobalProvider({ children }) {
450
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(HistoryContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(BreadCrumbContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SidebarMainContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DrawerContextProvider, { children }) }) }) });
927
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(HistoryContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(BreadCrumbContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(SidebarMainContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DrawerContextProvider, { children }) }) }) });
451
928
  }
452
929
 
453
930
  // src/hooks/usePrevious.tsx
454
- var import_react13 = require("react");
931
+ var import_react23 = require("react");
455
932
  var usePrevious = (value) => {
456
- const ref = (0, import_react13.useRef)();
457
- (0, import_react13.useEffect)(() => {
933
+ const ref = (0, import_react23.useRef)();
934
+ (0, import_react23.useEffect)(() => {
458
935
  ref.current = value;
459
936
  });
460
937
  return ref.current;
461
938
  };
462
939
 
463
940
  // src/hooks/useStep.tsx
464
- var import_react14 = require("react");
941
+ var import_react24 = require("react");
465
942
  var useStep = (maxStep) => {
466
- const [currentStep, setCurrentStep] = (0, import_react14.useState)(1);
467
- const canGoToNextStep = (0, import_react14.useMemo)(() => currentStep + 1 <= maxStep, [currentStep, maxStep]);
468
- const canGoToPrevStep = (0, import_react14.useMemo)(() => currentStep - 1 >= 1, [currentStep]);
469
- const setStep = (0, import_react14.useCallback)(
943
+ const [currentStep, setCurrentStep] = (0, import_react24.useState)(1);
944
+ const canGoToNextStep = (0, import_react24.useMemo)(() => currentStep + 1 <= maxStep, [currentStep, maxStep]);
945
+ const canGoToPrevStep = (0, import_react24.useMemo)(() => currentStep - 1 >= 1, [currentStep]);
946
+ const setStep = (0, import_react24.useCallback)(
470
947
  (step) => {
471
948
  const newStep = step instanceof Function ? step(currentStep) : step;
472
949
  if (newStep >= 1 && newStep <= maxStep) {
@@ -477,17 +954,17 @@ var useStep = (maxStep) => {
477
954
  },
478
955
  [maxStep, currentStep]
479
956
  );
480
- const goToNextStep = (0, import_react14.useCallback)(() => {
957
+ const goToNextStep = (0, import_react24.useCallback)(() => {
481
958
  if (canGoToNextStep) {
482
959
  setCurrentStep((step) => step + 1);
483
960
  }
484
961
  }, [canGoToNextStep]);
485
- const goToPrevStep = (0, import_react14.useCallback)(() => {
962
+ const goToPrevStep = (0, import_react24.useCallback)(() => {
486
963
  if (canGoToPrevStep) {
487
964
  setCurrentStep((step) => step - 1);
488
965
  }
489
966
  }, [canGoToPrevStep]);
490
- const reset = (0, import_react14.useCallback)(() => {
967
+ const reset = (0, import_react24.useCallback)(() => {
491
968
  setCurrentStep(1);
492
969
  }, []);
493
970
  return [
@@ -504,8 +981,8 @@ var useStep = (maxStep) => {
504
981
  };
505
982
 
506
983
  // src/layout/AppBreadcrumb.tsx
507
- var import_react15 = require("react");
508
- var import_md = require("react-icons/md");
984
+ var import_react25 = require("react");
985
+ var import_md2 = require("react-icons/md");
509
986
  var import_vsc = require("react-icons/vsc");
510
987
  var import_react_router_dom3 = require("react-router-dom");
511
988
 
@@ -550,7 +1027,7 @@ var TitlePage = import_styled_components.default.div`
550
1027
  // src/styled-components/menu.ts
551
1028
  var import_react_router_dom = require("react-router-dom");
552
1029
  var import_styled_components2 = __toESM(require("styled-components"));
553
- var MenuItem = (0, import_styled_components2.default)(import_react_router_dom.Link)`
1030
+ var MenuItem2 = (0, import_styled_components2.default)(import_react_router_dom.Link)`
554
1031
  text-decoration: none;
555
1032
  color: black;
556
1033
  display: flex;
@@ -929,48 +1406,48 @@ var CloseIcon = import_styled_components6.default.button`
929
1406
  `;
930
1407
 
931
1408
  // src/layout/AppBreadcrumb.tsx
932
- var import_jsx_runtime10 = require("react/jsx-runtime");
1409
+ var import_jsx_runtime15 = require("react/jsx-runtime");
933
1410
  var AppBreadCrumb = ({ title, paths }) => {
934
- const { setRoutes } = (0, import_react15.useContext)(BreadCrumbContext);
935
- (0, import_react15.useEffect)(() => {
1411
+ const { setRoutes } = (0, import_react25.useContext)(BreadCrumbContext);
1412
+ (0, import_react25.useEffect)(() => {
936
1413
  if (!(paths == null ? void 0 : paths.length))
937
1414
  return;
938
1415
  setRoutes(paths != null ? paths : []);
939
1416
  }, []);
940
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(BreadCrumbTitle, { children: title != null ? title : "Home" });
1417
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(BreadCrumbTitle, { children: title != null ? title : "Home" });
941
1418
  };
942
1419
  var AppBreadCrumbNav = ({
943
1420
  paths,
944
1421
  onPush
945
1422
  }) => {
946
- const { active, path, routes, setRoutes } = (0, import_react15.useContext)(BreadCrumbContext);
947
- const { updateList } = (0, import_react15.useContext)(HistoryContext);
948
- (0, import_react15.useEffect)(() => {
1423
+ const { active, path, routes, setRoutes } = (0, import_react25.useContext)(BreadCrumbContext);
1424
+ const { updateList } = (0, import_react25.useContext)(HistoryContext);
1425
+ (0, import_react25.useEffect)(() => {
949
1426
  updateList({ name: active, path });
950
1427
  }, [path, active]);
951
- (0, import_react15.useEffect)(() => {
1428
+ (0, import_react25.useEffect)(() => {
952
1429
  setRoutes(paths != null ? paths : []);
953
1430
  }, [paths]);
954
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Breadcrumb, { children: [
955
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "d-flex align-items-center", children: [
956
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_router_dom3.Link, { to: "/", className: "link", children: "HOME" }),
957
- routes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_vsc.VscChevronRight, { color: "black" }),
1431
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Breadcrumb, { children: [
1432
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "d-flex align-items-center", children: [
1433
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react_router_dom3.Link, { to: "/", className: "link", children: "HOME" }),
1434
+ routes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_vsc.VscChevronRight, { color: "black" }),
958
1435
  routes.length > 0 ? routes.map((i, idx, arr) => {
959
1436
  if (i.route === -1) {
960
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("span", { className: "link", onClick: () => onPush(-1), children: [
1437
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "link", onClick: () => onPush(-1), children: [
961
1438
  i.title,
962
1439
  " ",
963
- idx + 1 === arr.length ? "" : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_vsc.VscChevronRight, { color: "black" })
1440
+ idx + 1 === arr.length ? "" : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_vsc.VscChevronRight, { color: "black" })
964
1441
  ] }, idx);
965
1442
  }
966
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_router_dom3.Link, { to: i.route, className: "link", children: [
1443
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react_router_dom3.Link, { to: i.route, className: "link", children: [
967
1444
  i.title,
968
1445
  " ",
969
- idx + 1 === arr.length ? "" : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_vsc.VscChevronRight, { color: "black" })
1446
+ idx + 1 === arr.length ? "" : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_vsc.VscChevronRight, { color: "black" })
970
1447
  ] }, idx);
971
1448
  }) : ""
972
1449
  ] }),
973
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1450
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
974
1451
  CloseIcon,
975
1452
  {
976
1453
  onClick: () => {
@@ -981,21 +1458,21 @@ var AppBreadCrumbNav = ({
981
1458
  }
982
1459
  onPush(`${routes && routes[(routes == null ? void 0 : routes.length) - 2].route}`);
983
1460
  },
984
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_md.MdClose, { fontSize: 20 })
1461
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_md2.MdClose, { fontSize: 20 })
985
1462
  }
986
1463
  )
987
1464
  ] });
988
1465
  };
989
1466
 
990
1467
  // src/layout/AppLoader.tsx
991
- var import_react16 = require("react");
1468
+ var import_react26 = require("react");
992
1469
  var import_react_dom = __toESM(require("react-dom"));
993
- var import_jsx_runtime11 = require("react/jsx-runtime");
1470
+ var import_jsx_runtime16 = require("react/jsx-runtime");
994
1471
  var LoaderGrid = () => {
995
- const Loader = /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "k-loading-mask", children: [
996
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "k-loading-text", children: "Loading" }),
997
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "k-loading-image" }),
998
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "k-loading-color" })
1472
+ const Loader = /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "k-loading-mask", children: [
1473
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "k-loading-text", children: "Loading" }),
1474
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "k-loading-image" }),
1475
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "k-loading-color" })
999
1476
  ] });
1000
1477
  const gridContent = document && document.querySelector(".k-grid-content");
1001
1478
  const reportContent = document && document.querySelector(".loading-report");
@@ -1004,12 +1481,12 @@ var LoaderGrid = () => {
1004
1481
  var AppLoader = (props) => {
1005
1482
  const { type = "grid", parent, minDuration } = props;
1006
1483
  const parentEl = type === "grid" ? document.querySelector(parent != null ? parent : ".k-grid-container") : parent ? document.querySelector(parent) : null;
1007
- const Loading = /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: `${type}-loading k-loading-mask`, children: [
1008
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "k-loading-text", children: "Loading" }),
1009
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "k-loading-image" }),
1010
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "k-loading-color" })
1484
+ const Loading = /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: `${type}-loading k-loading-mask`, children: [
1485
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "k-loading-text", children: "Loading" }),
1486
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "k-loading-image" }),
1487
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "k-loading-color" })
1011
1488
  ] });
1012
- (0, import_react16.useEffect)(() => {
1489
+ (0, import_react26.useEffect)(() => {
1013
1490
  if (type === "button") {
1014
1491
  const loadingEl = document.createElement("div");
1015
1492
  loadingEl.className = "icon button-loading k-loading-mask";
@@ -1048,7 +1525,7 @@ var AppLoader = (props) => {
1048
1525
  var import_react_bootstrap = require("react-bootstrap");
1049
1526
  var import_bs = require("react-icons/bs");
1050
1527
  var import_fi = require("react-icons/fi");
1051
- var import_jsx_runtime12 = require("react/jsx-runtime");
1528
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1052
1529
  var NavOptions = ({
1053
1530
  exportExcel,
1054
1531
  customButtons,
@@ -1058,27 +1535,27 @@ var NavOptions = ({
1058
1535
  onClear,
1059
1536
  onExpandScreen
1060
1537
  }) => {
1061
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(MenuOptions, { children: [
1062
- onCreate && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("button", { className: "button-option", onClick: onCreate, children: [
1063
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_fi.FiPlusSquare, { className: "icon" }),
1538
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(MenuOptions, { children: [
1539
+ onCreate && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("button", { className: "button-option", onClick: onCreate, children: [
1540
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_fi.FiPlusSquare, { className: "icon" }),
1064
1541
  " ",
1065
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text", children: "New" })
1542
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text", children: "New" })
1066
1543
  ] }),
1067
- onRefresh && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("button", { className: "button-option", onClick: onRefresh, children: [
1068
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_fi.FiRefreshCcw, { className: "icon" }),
1544
+ onRefresh && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("button", { className: "button-option", onClick: onRefresh, children: [
1545
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_fi.FiRefreshCcw, { className: "icon" }),
1069
1546
  " ",
1070
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text", children: "Refresh" })
1547
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text", children: "Refresh" })
1071
1548
  ] }),
1072
- exportExcel && exportExcel.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_bootstrap.Dropdown, { className: "button-option", children: [
1073
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1549
+ exportExcel && exportExcel.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_bootstrap.Dropdown, { className: "button-option", children: [
1550
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1074
1551
  import_react_bootstrap.Dropdown.Toggle,
1075
1552
  {
1076
1553
  id: "btnExport",
1077
1554
  className: "p-2 bg-light text-dark border-0 font-weight-bold",
1078
1555
  title: "Export to Excel",
1079
1556
  children: [
1080
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_fi.FiSave, { className: "icon" }),
1081
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1557
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_fi.FiSave, { className: "icon" }),
1558
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1082
1559
  "span",
1083
1560
  {
1084
1561
  style: {
@@ -1092,45 +1569,45 @@ var NavOptions = ({
1092
1569
  ]
1093
1570
  }
1094
1571
  ),
1095
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_bootstrap.Dropdown.Menu, { children: exportExcel.map((item, index) => {
1096
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_bootstrap.Dropdown.Item, { onClick: item.onAction, children: [
1097
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("i", { className: `${item.classNameIcon} mr-2` }),
1572
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_bootstrap.Dropdown.Menu, { children: exportExcel.map((item, index) => {
1573
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_bootstrap.Dropdown.Item, { onClick: item.onAction, children: [
1574
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("i", { className: `${item.classNameIcon} mr-2` }),
1098
1575
  " ",
1099
1576
  item.title
1100
1577
  ] }, index);
1101
1578
  }) })
1102
1579
  ] }),
1103
- onSelect && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("button", { className: "button-option", onClick: onSelect, children: [
1104
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_fi.FiCheckCircle, { className: "icon" }),
1580
+ onSelect && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("button", { className: "button-option", onClick: onSelect, children: [
1581
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_fi.FiCheckCircle, { className: "icon" }),
1105
1582
  " ",
1106
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text", children: "Select All" })
1583
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text", children: "Select All" })
1107
1584
  ] }),
1108
- onClear && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("button", { className: "button-option", onClick: onClear, children: [
1109
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_fi.FiFilter, { className: "icon" }),
1585
+ onClear && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("button", { className: "button-option", onClick: onClear, children: [
1586
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_fi.FiFilter, { className: "icon" }),
1110
1587
  " ",
1111
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text", children: "Clear Filters" })
1588
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text", children: "Clear Filters" })
1112
1589
  ] }),
1113
- onExpandScreen && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("button", { className: "button-option", onClick: onExpandScreen, children: [
1114
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_bs.BsArrowsFullscreen, { className: "icon" }),
1590
+ onExpandScreen && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("button", { className: "button-option", onClick: onExpandScreen, children: [
1591
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_bs.BsArrowsFullscreen, { className: "icon" }),
1115
1592
  " ",
1116
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text", children: "Full Page" })
1593
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text", children: "Full Page" })
1117
1594
  ] }),
1118
1595
  customButtons == null ? void 0 : customButtons.map((custom, index) => {
1119
1596
  if (custom.render) {
1120
1597
  return custom.render;
1121
1598
  }
1122
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("button", { className: "button-option", onClick: custom.onAction, children: [
1123
- custom.Icon !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(custom.Icon, { className: "icon" }),
1124
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text", children: custom.title })
1599
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("button", { className: "button-option", onClick: custom.onAction, children: [
1600
+ custom.Icon !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(custom.Icon, { className: "icon" }),
1601
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text", children: custom.title })
1125
1602
  ] }, index);
1126
1603
  })
1127
1604
  ] });
1128
1605
  };
1129
1606
 
1130
1607
  // src/layout/title.tsx
1131
- var import_jsx_runtime13 = require("react/jsx-runtime");
1608
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1132
1609
  var Title = ({ title }) => {
1133
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(TitlePage, { children: title != null ? title : "Home" });
1610
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(TitlePage, { children: title != null ? title : "Home" });
1134
1611
  };
1135
1612
  // Annotate the CommonJS export names for ESM import in node:
1136
1613
  0 && (module.exports = {
@@ -1143,6 +1620,10 @@ var Title = ({ title }) => {
1143
1620
  Breadcrumb,
1144
1621
  Button,
1145
1622
  CloseIcon,
1623
+ Collapse,
1624
+ CollapseContent,
1625
+ CollapseContext,
1626
+ CollapseTrigger,
1146
1627
  DrawerContext,
1147
1628
  DrawerContextProvider,
1148
1629
  DropEnumList,
@@ -1153,9 +1634,15 @@ var Title = ({ title }) => {
1153
1634
  ItemSidebar,
1154
1635
  LoaderGrid,
1155
1636
  Main,
1637
+ Menu,
1638
+ MenuContext,
1639
+ MenuGroup,
1156
1640
  MenuItem,
1641
+ MenuItems,
1157
1642
  MenuOptions,
1643
+ MenuSubmenu,
1158
1644
  MenuTitle,
1645
+ MenuValueContext,
1159
1646
  NavOptions,
1160
1647
  Navbar,
1161
1648
  SidebarMainContext,
@@ -1164,7 +1651,11 @@ var Title = ({ title }) => {
1164
1651
  Tab,
1165
1652
  Tabs,
1166
1653
  Title,
1654
+ getOpenValuesByPathname,
1655
+ useCollapse,
1167
1656
  useLocalStorage,
1657
+ useMenu,
1658
+ useMenuItemValue,
1168
1659
  usePrevious,
1169
1660
  useStep
1170
1661
  });