@mage-ui/components 1.0.34 → 1.0.36

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 (74) hide show
  1. package/dist/components/buttons/button/Button.d.mts +2 -2
  2. package/dist/components/buttons/button-action/ButtonAction.d.mts +2 -2
  3. package/dist/components/buttons/button-action/ButtonLoader.d.mts +2 -2
  4. package/dist/components/buttons/button-icon/ButtonIcon.d.mts +2 -2
  5. package/dist/components/buttons/button-icon-visual/ButtonIconVisual.d.mts +2 -2
  6. package/dist/components/buttons/button-visual/ButtonVisual.d.mts +2 -2
  7. package/dist/components/controls/utils/chevron/Chevron.d.mts +2 -2
  8. package/dist/components/controls/utils/clear-button/ClearButton.d.mts +2 -2
  9. package/dist/components/data-display/assigned-user/AssignedUser.d.mts +2 -2
  10. package/dist/components/data-display/avatar/Avatar.d.mts +2 -2
  11. package/dist/components/data-display/badge/Badge.d.mts +2 -2
  12. package/dist/components/data-display/calendar/Calendar.d.mts +2 -2
  13. package/dist/components/data-display/index.d.mts +1 -1
  14. package/dist/components/data-display/loader-dot/LoaderDot.d.mts +2 -2
  15. package/dist/components/data-display/loader-oval/LoaderOval.d.mts +2 -2
  16. package/dist/components/data-display/notification-banner/NotificationBanner.d.mts +9 -4
  17. package/dist/components/data-display/notification-banner/NotificationBanner.d.mts.map +1 -1
  18. package/dist/components/data-display/notification-banner/NotificationBanner.mjs +1 -1
  19. package/dist/components/data-display/notification-banner/NotificationBanner.mjs.map +1 -1
  20. package/dist/components/data-display/removable-item/RemovableItem.d.mts +2 -2
  21. package/dist/components/data-display/tag/Tag.d.mts +3 -3
  22. package/dist/components/data-display/tag-group/TagGroup.d.mts +2 -2
  23. package/dist/components/data-display/uploaded-file/UploadedFile.d.mts +2 -2
  24. package/dist/components/data-display/uploaded-file/UploadedFileDetails.d.mts +2 -2
  25. package/dist/components/forms/Form.d.mts +7 -7
  26. package/dist/components/forms/rules/password-rules.mjs +1 -1
  27. package/dist/components/forms/rules/password-rules.mjs.map +1 -1
  28. package/dist/components/index.d.mts +2 -2
  29. package/dist/components/layouts/top-bar/TopBar.d.mts +2 -2
  30. package/dist/components/misc/horizontal-divider/HorizontalDivider.d.mts +2 -2
  31. package/dist/components/misc/visually-hidden/VisuallyHidden.d.mts +2 -2
  32. package/dist/components/navigations/breadcrumbs/Breadcrumbs.d.mts +2 -2
  33. package/dist/components/navigations/index.d.mts +1 -1
  34. package/dist/components/navigations/menu/Menu.d.mts +12 -1
  35. package/dist/components/navigations/menu/Menu.d.mts.map +1 -1
  36. package/dist/components/navigations/menu/Menu.mjs +1 -1
  37. package/dist/components/navigations/menu/Menu.mjs.map +1 -1
  38. package/dist/components/navigations/sidebars/sidebar/Sidebar.d.mts +101 -12
  39. package/dist/components/navigations/sidebars/sidebar/Sidebar.d.mts.map +1 -1
  40. package/dist/components/navigations/sidebars/sidebar/Sidebar.mjs +1 -1
  41. package/dist/components/navigations/sidebars/sidebar/Sidebar.mjs.map +1 -1
  42. package/dist/components/navigations/sidebars/sidebar/SidebarContext.mjs +2 -0
  43. package/dist/components/navigations/sidebars/sidebar/SidebarContext.mjs.map +1 -0
  44. package/dist/components/navigations/sidebars/sidebar/SidebarNavGroup.mjs +1 -1
  45. package/dist/components/navigations/sidebars/sidebar/SidebarNavGroup.mjs.map +1 -1
  46. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.d.mts +4 -0
  47. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.d.mts.map +1 -1
  48. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.mjs +1 -1
  49. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.mjs.map +1 -1
  50. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.d.mts +36 -0
  51. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.d.mts.map +1 -0
  52. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.mjs +2 -0
  53. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.mjs.map +1 -0
  54. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButtonCollapsed.mjs +2 -0
  55. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButtonCollapsed.mjs.map +1 -0
  56. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.mts +19 -2
  57. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.mts.map +1 -1
  58. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.mjs +2 -0
  59. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.mjs.map +1 -0
  60. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.d.mts +17 -0
  61. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.d.mts.map +1 -0
  62. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.mjs +2 -0
  63. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.mjs.map +1 -0
  64. package/dist/components/overlays/modal/Modal.d.mts +10 -10
  65. package/dist/components/overlays/modals/ModalsProvider.d.mts +2 -2
  66. package/dist/components/overlays/tooltip/Tooltip.d.mts +2 -2
  67. package/dist/components/overlays/tooltip/Tooltip.d.mts.map +1 -1
  68. package/dist/index.d.mts +3 -3
  69. package/dist/index.mjs +1 -1
  70. package/dist/semedlab/components/navigations/backoffice-top-bar/BackofficeTopBar.d.mts +2 -2
  71. package/dist/semedlab/components/navigations/notification-list/NotificationList.d.mts +2 -2
  72. package/dist/semedlab/components/navigations/notification-menu/NotificationMenu.d.mts +2 -2
  73. package/dist/semedlab/components/navigations/profile-menu/ProfileMenu.d.mts +2 -2
  74. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.mjs","names":["Menu","MantineMenu","Button"],"sources":["../../../../src/components/navigations/menu/Menu.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n menu,\n menuDivider,\n menuItem,\n menuItemLabel,\n menuItemSection,\n menuRoot,\n menuTargetButton,\n} from '@mage-ui/styled-system/recipes';\nimport { Menu as MantineMenu, useCombobox } from '@mantine/core';\nimport { Button, type ButtonProps } from '@/components/buttons';\n\nexport type MenuProps = {\n target: ReactNode;\n children: ReactNode;\n withinPortal?: boolean;\n position?:\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n width?: number | string;\n keepMounted?: boolean;\n offset?: number;\n classNames?: {\n menu?: string;\n root?: string;\n item?: string;\n itemLabel?: string;\n itemSection?: string;\n divider?: string;\n target?: {\n button: string;\n };\n };\n targetButtonProps?: Partial<ButtonProps>;\n};\n\nexport const Menu = ({\n target,\n children,\n withinPortal,\n position,\n width,\n keepMounted,\n offset,\n classNames,\n targetButtonProps,\n}: MenuProps) => {\n const combobox = useCombobox({\n onDropdownClose: () => combobox.resetSelectedOption(),\n });\n\n return (\n <MantineMenu\n offset={offset || 4}\n withinPortal={withinPortal}\n position={position}\n width={width}\n keepMounted={keepMounted}\n classNames={{\n dropdown: cx(\n classNames?.menu ?? menu(),\n classNames?.root ?? menuRoot(),\n ),\n item: classNames?.item ?? menuItem(),\n itemLabel: classNames?.itemLabel ?? menuItemLabel(),\n itemSection: classNames?.itemSection ?? menuItemSection(),\n divider: classNames?.divider ?? menuDivider(),\n }}\n >\n <MantineMenu.Target>\n <Button\n classNames={{\n button: classNames?.target?.button ?? menuTargetButton(),\n }}\n onClick={() => combobox.toggleDropdown()}\n {...targetButtonProps}\n >\n {target}\n </Button>\n </MantineMenu.Target>\n\n <MantineMenu.Dropdown>{children}</MantineMenu.Dropdown>\n </MantineMenu>\n );\n};\n\nconst MenuItem = ({ children }: { children: ReactNode }) => {\n return <MantineMenu.Item component='div'>{children}</MantineMenu.Item>;\n};\n\nconst MenuDivider = () => {\n return <MantineMenu.Divider />;\n};\n\nMenu.Item = MenuItem;\nMenuItem.displayName = 'Menu.Item';\nMenu.Divider = MenuDivider;\nMenuDivider.displayName = 'Menu.Divider';\n"],"mappings":"kXAiDA,MAAaA,GAAQ,CACnB,SACA,WACA,eACA,WACA,QACA,cACA,SACA,aACA,uBACe,CACf,IAAM,EAAW,EAAY,CAC3B,oBAAuB,EAAS,qBAAqB,CACtD,CAAC,CAEF,OACE,EAACC,EAAAA,CACC,OAAQ,GAAU,EACJ,eACJ,WACH,QACM,cACb,WAAY,CACV,SAAU,EACR,GAAY,MAAQ,GAAM,CAC1B,GAAY,MAAQ,GAAU,CAC/B,CACD,KAAM,GAAY,MAAQ,GAAU,CACpC,UAAW,GAAY,WAAa,GAAe,CACnD,YAAa,GAAY,aAAe,GAAiB,CACzD,QAAS,GAAY,SAAW,GAAa,CAC9C,WAED,EAACA,EAAY,OAAA,CAAA,SACX,EAACC,EAAAA,CACC,WAAY,CACV,OAAQ,GAAY,QAAQ,QAAU,GAAkB,CACzD,CACD,YAAe,EAAS,gBAAgB,CACxC,GAAI,WAEH,GACM,CAAA,CACU,CAErB,EAACD,EAAY,SAAA,CAAU,WAAA,CAAgC,CAAA,EAC3C,EAIZ,GAAY,CAAE,cACX,EAACA,EAAY,KAAA,CAAK,UAAU,MAAO,YAA4B,CAGlE,MACG,EAACA,EAAY,QAAA,EAAA,CAAU,CAGhC,EAAK,KAAO,EACZ,EAAS,YAAc,YACvB,EAAK,QAAU,EACf,EAAY,YAAc"}
1
+ {"version":3,"file":"Menu.mjs","names":["Menu","MantineMenu","Button"],"sources":["../../../../src/components/navigations/menu/Menu.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n menu,\n menuDivider,\n menuItem,\n menuItemLabel,\n menuItemSection,\n menuRoot,\n menuTargetButton,\n menuTargetButtonInner,\n menuTargetButtonLabel,\n menuTargetButtonRoot,\n menuTargetButtonSection,\n} from '@mage-ui/styled-system/recipes';\nimport { Menu as MantineMenu, useCombobox } from '@mantine/core';\nimport { Button, type ButtonProps } from '@/components/buttons';\n\ntype MenuTargetButtonProps = Partial<ButtonProps> & {\n [key: `data-${string}`]: string | number | boolean | undefined;\n};\n\nexport type MenuProps = {\n target: ReactNode;\n children: ReactNode;\n withinPortal?: boolean;\n opened?: boolean;\n onOpenedChange?: (opened: boolean) => void;\n position?:\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n width?: number | string;\n keepMounted?: boolean;\n offset?: number;\n classNames?: {\n menu?: string;\n root?: string;\n item?: string;\n itemLabel?: string;\n itemSection?: string;\n divider?: string;\n target?: {\n button: string;\n root?: string;\n inner?: string;\n label?: string;\n section?: string;\n };\n };\n targetButtonProps?: MenuTargetButtonProps;\n};\n\nexport const Menu = ({\n target,\n children,\n withinPortal,\n opened,\n onOpenedChange,\n position,\n width,\n keepMounted,\n offset,\n classNames,\n targetButtonProps,\n}: MenuProps) => {\n const combobox = useCombobox({\n onDropdownClose: () => combobox.resetSelectedOption(),\n });\n\n return (\n <MantineMenu\n offset={offset || 4}\n withinPortal={withinPortal}\n opened={opened}\n onChange={onOpenedChange}\n position={position}\n width={width}\n keepMounted={keepMounted}\n classNames={{\n dropdown: cx(\n classNames?.menu ?? menu(),\n classNames?.root ?? menuRoot(),\n ),\n item: classNames?.item ?? menuItem(),\n itemLabel: classNames?.itemLabel ?? menuItemLabel(),\n itemSection: classNames?.itemSection ?? menuItemSection(),\n divider: classNames?.divider ?? menuDivider(),\n }}\n >\n <MantineMenu.Target>\n <Button\n classNames={{\n button: classNames?.target?.button ?? menuTargetButton(),\n root: classNames?.target?.root ?? menuTargetButtonRoot(),\n inner: classNames?.target?.inner ?? menuTargetButtonInner(),\n label: classNames?.target?.label ?? menuTargetButtonLabel(),\n section: classNames?.target?.section ?? menuTargetButtonSection(),\n }}\n onClick={() => combobox.toggleDropdown()}\n {...targetButtonProps}\n >\n {target}\n </Button>\n </MantineMenu.Target>\n\n <MantineMenu.Dropdown>{children}</MantineMenu.Dropdown>\n </MantineMenu>\n );\n};\n\nconst MenuItem = ({ children }: { children: ReactNode }) => {\n return <MantineMenu.Item component='div'>{children}</MantineMenu.Item>;\n};\n\nconst MenuDivider = () => {\n return <MantineMenu.Divider />;\n};\n\nMenu.Item = MenuItem;\nMenuItem.displayName = 'Menu.Item';\nMenu.Divider = MenuDivider;\nMenuDivider.displayName = 'Menu.Divider';\n"],"mappings":"+dA+DA,MAAaA,GAAQ,CACnB,SACA,WACA,eACA,SACA,iBACA,WACA,QACA,cACA,SACA,aACA,uBACe,CACf,IAAM,EAAW,EAAY,CAC3B,oBAAuB,EAAS,qBAAqB,CACtD,CAAC,CAEF,OACE,EAACC,EAAAA,CACC,OAAQ,GAAU,EACJ,eACN,SACR,SAAU,EACA,WACH,QACM,cACb,WAAY,CACV,SAAU,EACR,GAAY,MAAQ,GAAM,CAC1B,GAAY,MAAQ,GAAU,CAC/B,CACD,KAAM,GAAY,MAAQ,GAAU,CACpC,UAAW,GAAY,WAAa,GAAe,CACnD,YAAa,GAAY,aAAe,GAAiB,CACzD,QAAS,GAAY,SAAW,GAAa,CAC9C,WAED,EAACA,EAAY,OAAA,CAAA,SACX,EAACC,EAAAA,CACC,WAAY,CACV,OAAQ,GAAY,QAAQ,QAAU,GAAkB,CACxD,KAAM,GAAY,QAAQ,MAAQ,GAAsB,CACxD,MAAO,GAAY,QAAQ,OAAS,GAAuB,CAC3D,MAAO,GAAY,QAAQ,OAAS,GAAuB,CAC3D,QAAS,GAAY,QAAQ,SAAW,GAAyB,CAClE,CACD,YAAe,EAAS,gBAAgB,CACxC,GAAI,WAEH,GACM,CAAA,CACU,CAErB,EAACD,EAAY,SAAA,CAAU,WAAA,CAAgC,CAAA,EAC3C,EAIZ,GAAY,CAAE,cACX,EAACA,EAAY,KAAA,CAAK,UAAU,MAAO,YAA4B,CAGlE,MACG,EAACA,EAAY,QAAA,EAAA,CAAU,CAGhC,EAAK,KAAO,EACZ,EAAS,YAAc,YACvB,EAAK,QAAU,EACf,EAAY,YAAc"}
@@ -1,15 +1,11 @@
1
1
  import { NavItemProps } from "./SidebarNavItem.mjs";
2
- import { LinkType } from "./SidebarNavItemLink.mjs";
3
- import * as react_jsx_runtime60 from "react/jsx-runtime";
2
+ import { NavItemButtonProps } from "./SidebarNavItemButton.mjs";
3
+ import { LinkType, NavItemLinkProps } from "./SidebarNavItemLink.mjs";
4
+ import { SubnavProps } from "./SidebarSubnav.mjs";
5
+ import * as react_jsx_runtime59 from "react/jsx-runtime";
4
6
  import { ReactNode } from "react";
5
7
 
6
8
  //#region src/components/navigations/sidebars/sidebar/Sidebar.d.ts
7
- type ItemType = {
8
- text: string;
9
- icon?: string;
10
- link?: string;
11
- subNav?: ItemType[];
12
- };
13
9
  type NavType = {
14
10
  list?: string;
15
11
  item?: string;
@@ -21,9 +17,16 @@ type SidebarProps = {
21
17
  classNames?: {
22
18
  sidebar?: string;
23
19
  root?: string;
20
+ startSlot?: string;
21
+ endSlot?: string;
24
22
  nav?: NavType;
25
23
  };
26
24
  isCollapsed: boolean;
25
+ expandedItems?: string[];
26
+ defaultExpandedItems?: string[];
27
+ onExpandedItemsChange?: (expandedItems: string[]) => void;
28
+ startSlot?: ReactNode;
29
+ endSlot?: ReactNode;
27
30
  children?: ReactNode;
28
31
  };
29
32
  declare const Sidebar: {
@@ -31,6 +34,11 @@ declare const Sidebar: {
31
34
  area,
32
35
  classNames,
33
36
  isCollapsed,
37
+ expandedItems,
38
+ defaultExpandedItems,
39
+ onExpandedItemsChange,
40
+ startSlot,
41
+ endSlot,
34
42
  children
35
43
  }: SidebarProps): ReactNode;
36
44
  displayName: string;
@@ -38,8 +46,9 @@ declare const Sidebar: {
38
46
  ({
39
47
  classNames,
40
48
  isVisible,
49
+ isSubnav,
41
50
  children
42
- }: NavItemProps): react_jsx_runtime60.JSX.Element | null;
51
+ }: NavItemProps): react_jsx_runtime59.JSX.Element | null;
43
52
  displayName: string;
44
53
  };
45
54
  Group: {
@@ -54,14 +63,94 @@ declare const Sidebar: {
54
63
  classNames?: {
55
64
  nav?: {
56
65
  group?: string;
57
- groupLabel?: string;
66
+ groupTitle?: string;
58
67
  };
59
68
  };
60
69
  isVisible?: boolean;
61
- }): react_jsx_runtime60.JSX.Element | null;
70
+ }): react_jsx_runtime59.JSX.Element | null;
71
+ displayName: string;
72
+ };
73
+ NavList: {
74
+ ({
75
+ classNames,
76
+ children
77
+ }: {
78
+ classNames?: {
79
+ nav?: {
80
+ list?: string;
81
+ };
82
+ };
83
+ children?: ReactNode;
84
+ }): react_jsx_runtime59.JSX.Element;
85
+ displayName: string;
86
+ };
87
+ NavItem: {
88
+ ({
89
+ classNames,
90
+ isVisible,
91
+ isSubnav,
92
+ children
93
+ }: NavItemProps): react_jsx_runtime59.JSX.Element | null;
94
+ displayName: string;
95
+ };
96
+ NavGroup: {
97
+ ({
98
+ title,
99
+ isVisible,
100
+ children,
101
+ classNames
102
+ }: {
103
+ title?: string;
104
+ children?: React.ReactNode;
105
+ classNames?: {
106
+ nav?: {
107
+ group?: string;
108
+ groupTitle?: string;
109
+ };
110
+ };
111
+ isVisible?: boolean;
112
+ }): react_jsx_runtime59.JSX.Element | null;
113
+ displayName: string;
114
+ };
115
+ NavItemButton: {
116
+ ({
117
+ id,
118
+ children,
119
+ startSlot,
120
+ endSlot,
121
+ subnav,
122
+ collapsedSubnav,
123
+ onClick,
124
+ classNames,
125
+ isVisible,
126
+ tooltipLabel
127
+ }: NavItemButtonProps): react_jsx_runtime59.JSX.Element | null;
128
+ displayName: string;
129
+ };
130
+ NavItemLink: {
131
+ ({
132
+ children,
133
+ startSlot,
134
+ endSlot,
135
+ classNames,
136
+ tooltipLabel,
137
+ withTooltip,
138
+ isSelected,
139
+ isExpanded,
140
+ isVisible,
141
+ isSubnav
142
+ }: NavItemLinkProps): react_jsx_runtime59.JSX.Element | null;
143
+ displayName: string;
144
+ };
145
+ Subnav: {
146
+ ({
147
+ classNames,
148
+ isVisible,
149
+ children
150
+ }: SubnavProps): react_jsx_runtime59.JSX.Element | null;
62
151
  displayName: string;
63
152
  };
64
153
  };
65
154
  //#endregion
66
- export { ItemType, NavType, Sidebar, SidebarProps };
155
+ export { NavType, Sidebar, SidebarProps };
67
156
  //# sourceMappingURL=Sidebar.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.mts","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/Sidebar.tsx"],"mappings":";;;;;;KAcY,QAAA;EACV,IAAA;EACA,IAAA;EACA,IAAA;EACA,MAAA,GAAS,QAAA;AAAA;AAAA,KAGC,OAAA;EACV,IAAA;EACA,IAAA;EACA,IAAA,GAAO,QAAA;EACP,IAAA;AAAA;AAAA,KAGU,YAAA;EACV,IAAA;EACA,UAAA;IACE,OAAA;IACA,IAAA;IACA,GAAA,GAAM,OAAA;EAAA;EAER,WAAA;EACA,QAAA,GAAW,SAAA;AAAA;AAAA,cAGA,OAAA;EAAA;;;;;KAKV,YAAA,GAAe,SAAA"}
1
+ {"version":3,"file":"Sidebar.d.mts","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/Sidebar.tsx"],"mappings":";;;;;;;;KAmBY,OAAA;EACV,IAAA;EACA,IAAA;EACA,IAAA,GAAO,QAAA;EACP,IAAA;AAAA;AAAA,KAGU,YAAA;EACV,IAAA;EACA,UAAA;IACE,OAAA;IACA,IAAA;IACA,SAAA;IACA,OAAA;IACA,GAAA,GAAM,OAAA;EAAA;EAER,WAAA;EACA,aAAA;EACA,oBAAA;EACA,qBAAA,IAAyB,aAAA;EACzB,SAAA,GAAY,SAAA;EACZ,OAAA,GAAU,SAAA;EACV,QAAA,GAAW,SAAA;AAAA;AAAA,cAGA,OAAA;EAAA;;;;;;;;;;KAUV,YAAA,GAAe,SAAA"}
@@ -1,2 +1,2 @@
1
- import{NavList as e}from"./SidebarNavList.mjs";import{NavGroup as t}from"./SidebarNavGroup.mjs";import{NavItem as n}from"./SidebarNavItem.mjs";import{cx as r}from"@mage-ui/styled-system/css";import{sidebar as i,sidebarNavRoot as a,sidebarRoot as o}from"@mage-ui/styled-system/recipes";import{jsx as s}from"react/jsx-runtime";const c=({area:t=`sidebar`,classNames:n,isCollapsed:c,children:l})=>{let u=t===`sidebar`?void 0:{"--sidebar-grid-area":t};return s(`div`,{"data-collapsed":c||!1,className:r(n?.sidebar??i(),n?.root??o(),`group`),style:u,children:s(`nav`,{className:n?.nav?.root??a(),children:s(e,{classNames:n,children:l})})})};c.displayName=`Sidebar`,c.Item=n,c.Group=t;export{c as Sidebar};
1
+ import{SidebarProvider as e}from"./SidebarContext.mjs";import{NavList as t}from"./SidebarNavList.mjs";import{NavGroup as n}from"./SidebarNavGroup.mjs";import{NavItem as r}from"./SidebarNavItem.mjs";import{NavItemButton as i}from"./SidebarNavItemButton.mjs";import{NavItemLink as a}from"./SidebarNavItemLink.mjs";import{Subnav as o}from"./SidebarSubnav.mjs";import{cx as s}from"@mage-ui/styled-system/css";import{sidebar as c,sidebarNavRoot as l,sidebarRoot as u}from"@mage-ui/styled-system/recipes";import{jsx as d,jsxs as f}from"react/jsx-runtime";import{useEffect as p,useMemo as m,useRef as h,useState as g}from"react";const _=({area:n=`sidebar`,classNames:r,isCollapsed:i=!1,expandedItems:a,defaultExpandedItems:o=[],onExpandedItemsChange:_,startSlot:v,endSlot:y,children:b})=>{let[x,S]=g(o),C=h(!1),w=a??x,T=e=>{a===void 0&&S(e),_?.(e)};p(()=>{!C.current&&i&&T([]),C.current=i},[i,T]);let E=e=>{let t=w.includes(e);if(i){T(t?[]:[e]);return}T(t?w.filter(t=>t!==e):[...w,e])},D=(e,t)=>{if(t!==w.includes(e)){if(i){T(t?[e]:[]);return}T(t?[...w,e]:w.filter(t=>t!==e))}},O=m(()=>({isCollapsed:i,expandedItems:w,toggleItem:E,setItemExpanded:D,isItemExpanded:e=>w.includes(e)}),[w,i,D,E]),k=n===`sidebar`?void 0:{"--sidebar-grid-area":n};return d(e,{value:O,children:f(`div`,{"data-collapsed":i?`true`:`false`,className:s(r?.sidebar??c(),r?.root??u(),`group`),style:k,children:[v?d(`div`,{className:r?.startSlot,children:v}):null,d(`nav`,{className:r?.nav?.root??l(),children:d(t,{classNames:r,children:b})}),y?d(`div`,{className:r?.endSlot,children:y}):null]})})};_.displayName=`Sidebar`,_.Item=r,_.Group=n,_.NavList=t,_.NavItem=r,_.NavGroup=n,_.NavItemButton=i,_.NavItemLink=a,_.Subnav=o;export{_ as Sidebar};
2
2
  //# sourceMappingURL=Sidebar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/Sidebar.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n sidebar,\n sidebarNavRoot,\n sidebarRoot,\n} from '@mage-ui/styled-system/recipes';\n\nimport { NavGroup } from './SidebarNavGroup';\nimport { NavItem } from './SidebarNavItem';\nimport type { LinkType } from './SidebarNavItemLink';\nimport { NavList } from './SidebarNavList';\n\nexport type ItemType = {\n text: string;\n icon?: string;\n link?: string;\n subNav?: ItemType[];\n};\n\nexport type NavType = {\n list?: string;\n item?: string;\n link?: LinkType;\n root?: string;\n};\n\nexport type SidebarProps = {\n area?: string;\n classNames?: {\n sidebar?: string;\n root?: string;\n nav?: NavType;\n };\n isCollapsed: boolean;\n children?: ReactNode;\n};\n\nexport const Sidebar = ({\n area = 'sidebar',\n classNames,\n isCollapsed,\n children,\n}: SidebarProps): ReactNode => {\n const style =\n area !== 'sidebar' ? { '--sidebar-grid-area': area } : undefined;\n\n return (\n <div\n data-collapsed={isCollapsed || false}\n className={cx(\n classNames?.sidebar ?? sidebar(),\n classNames?.root ?? sidebarRoot(),\n 'group',\n )}\n style={style as CSSProperties}\n >\n <nav className={classNames?.nav?.root ?? sidebarNavRoot()}>\n <NavList classNames={classNames}>{children}</NavList>\n </nav>\n </div>\n );\n};\n\nSidebar.displayName = 'Sidebar';\nSidebar.Item = NavItem;\nSidebar.Group = NavGroup;\n"],"mappings":"qUAuCA,MAAa,GAAW,CACtB,OAAO,UACP,aACA,cACA,cAC6B,CAC7B,IAAM,EACJ,IAAS,UAA8C,IAAA,GAAlC,CAAE,sBAAuB,EAAM,CAEtD,OACE,EAAC,MAAA,CACC,iBAAgB,GAAe,GAC/B,UAAW,EACT,GAAY,SAAW,GAAS,CAChC,GAAY,MAAQ,GAAa,CACjC,QACD,CACM,iBAEP,EAAC,MAAA,CAAI,UAAW,GAAY,KAAK,MAAQ,GAAgB,UACvD,EAAC,EAAA,CAAoB,aAAa,YAAmB,EACjD,EACF,EAIV,EAAQ,YAAc,UACtB,EAAQ,KAAO,EACf,EAAQ,MAAQ"}
1
+ {"version":3,"file":"Sidebar.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/Sidebar.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n sidebar,\n sidebarNavRoot,\n sidebarRoot,\n} from '@mage-ui/styled-system/recipes';\n\nimport { SidebarProvider } from './SidebarContext';\nimport { NavGroup } from './SidebarNavGroup';\nimport { NavItem } from './SidebarNavItem';\nimport { NavItemButton } from './SidebarNavItemButton';\nimport type { LinkType } from './SidebarNavItemLink';\nimport { NavItemLink } from './SidebarNavItemLink';\nimport { NavList } from './SidebarNavList';\nimport { Subnav } from './SidebarSubnav';\n\nexport type NavType = {\n list?: string;\n item?: string;\n link?: LinkType;\n root?: string;\n};\n\nexport type SidebarProps = {\n area?: string;\n classNames?: {\n sidebar?: string;\n root?: string;\n startSlot?: string;\n endSlot?: string;\n nav?: NavType;\n };\n isCollapsed: boolean;\n expandedItems?: string[];\n defaultExpandedItems?: string[];\n onExpandedItemsChange?: (expandedItems: string[]) => void;\n startSlot?: ReactNode;\n endSlot?: ReactNode;\n children?: ReactNode;\n};\n\nexport const Sidebar = ({\n area = 'sidebar',\n classNames,\n isCollapsed = false,\n expandedItems,\n defaultExpandedItems = [],\n onExpandedItemsChange,\n startSlot,\n endSlot,\n children,\n}: SidebarProps): ReactNode => {\n const [uncontrolledExpandedItems, setUncontrolledExpandedItems] =\n useState<string[]>(defaultExpandedItems);\n const wasCollapsedRef = useRef(false);\n\n const currentExpandedItems = expandedItems ?? uncontrolledExpandedItems;\n\n const setExpandedItems = (nextExpandedItems: string[]) => {\n if (expandedItems === undefined) {\n setUncontrolledExpandedItems(nextExpandedItems);\n }\n\n onExpandedItemsChange?.(nextExpandedItems);\n };\n\n useEffect(() => {\n // Normalize state on collapse so expanded desktop subnavs do not remain\n // visible as flyouts.\n if (!wasCollapsedRef.current && isCollapsed) {\n setExpandedItems([]);\n }\n\n wasCollapsedRef.current = isCollapsed;\n }, [isCollapsed, setExpandedItems]);\n\n const toggleItem = (itemId: string) => {\n const isExpanded = currentExpandedItems.includes(itemId);\n\n if (isCollapsed) {\n setExpandedItems(isExpanded ? [] : [itemId]);\n return;\n }\n\n setExpandedItems(\n isExpanded\n ? currentExpandedItems.filter((id) => id !== itemId)\n : [...currentExpandedItems, itemId],\n );\n };\n\n const setItemExpanded = (itemId: string, isExpanded: boolean) => {\n const alreadyExpanded = currentExpandedItems.includes(itemId);\n\n if (isExpanded === alreadyExpanded) {\n return;\n }\n\n if (isCollapsed) {\n setExpandedItems(isExpanded ? [itemId] : []);\n return;\n }\n\n setExpandedItems(\n isExpanded\n ? [...currentExpandedItems, itemId]\n : currentExpandedItems.filter((id) => id !== itemId),\n );\n };\n\n const contextValue = useMemo(\n () => ({\n isCollapsed,\n expandedItems: currentExpandedItems,\n toggleItem,\n setItemExpanded,\n isItemExpanded: (itemId: string) => currentExpandedItems.includes(itemId),\n }),\n [currentExpandedItems, isCollapsed, setItemExpanded, toggleItem],\n );\n\n const style =\n area !== 'sidebar' ? { '--sidebar-grid-area': area } : undefined;\n\n return (\n <SidebarProvider value={contextValue}>\n <div\n data-collapsed={isCollapsed ? 'true' : 'false'}\n className={cx(\n classNames?.sidebar ?? sidebar(),\n classNames?.root ?? sidebarRoot(),\n 'group',\n )}\n style={style as CSSProperties}\n >\n {startSlot ? (\n <div className={classNames?.startSlot}>{startSlot}</div>\n ) : null}\n\n <nav className={classNames?.nav?.root ?? sidebarNavRoot()}>\n <NavList classNames={classNames}>{children}</NavList>\n </nav>\n\n {endSlot ? <div className={classNames?.endSlot}>{endSlot}</div> : null}\n </div>\n </SidebarProvider>\n );\n};\n\nSidebar.displayName = 'Sidebar';\nSidebar.Item = NavItem;\nSidebar.Group = NavGroup;\nSidebar.NavList = NavList;\nSidebar.NavItem = NavItem;\nSidebar.NavGroup = NavGroup;\nSidebar.NavItemButton = NavItemButton;\nSidebar.NavItemLink = NavItemLink;\nSidebar.Subnav = Subnav;\n"],"mappings":"8mBA4CA,MAAa,GAAW,CACtB,OAAO,UACP,aACA,cAAc,GACd,gBACA,uBAAuB,EAAE,CACzB,wBACA,YACA,UACA,cAC6B,CAC7B,GAAM,CAAC,EAA2B,GAChC,EAAmB,EAAqB,CACpC,EAAkB,EAAO,GAAM,CAE/B,EAAuB,GAAiB,EAExC,EAAoB,GAAgC,CACpD,IAAkB,IAAA,IACpB,EAA6B,EAAkB,CAGjD,IAAwB,EAAkB,EAG5C,MAAgB,CAGV,CAAC,EAAgB,SAAW,GAC9B,EAAiB,EAAE,CAAC,CAGtB,EAAgB,QAAU,GACzB,CAAC,EAAa,EAAiB,CAAC,CAEnC,IAAM,EAAc,GAAmB,CACrC,IAAM,EAAa,EAAqB,SAAS,EAAO,CAExD,GAAI,EAAa,CACf,EAAiB,EAAa,EAAE,CAAG,CAAC,EAAO,CAAC,CAC5C,OAGF,EACE,EACI,EAAqB,OAAQ,GAAO,IAAO,EAAO,CAClD,CAAC,GAAG,EAAsB,EAAO,CACtC,EAGG,GAAmB,EAAgB,IAAwB,CAG3D,OAFoB,EAAqB,SAAS,EAAO,CAM7D,IAAI,EAAa,CACf,EAAiB,EAAa,CAAC,EAAO,CAAG,EAAE,CAAC,CAC5C,OAGF,EACE,EACI,CAAC,GAAG,EAAsB,EAAO,CACjC,EAAqB,OAAQ,GAAO,IAAO,EAAO,CACvD,GAGG,EAAe,OACZ,CACL,cACA,cAAe,EACf,aACA,kBACA,eAAiB,GAAmB,EAAqB,SAAS,EAAO,CAC1E,EACD,CAAC,EAAsB,EAAa,EAAiB,EAAW,CACjE,CAEK,EACJ,IAAS,UAA8C,IAAA,GAAlC,CAAE,sBAAuB,EAAM,CAEtD,OACE,EAAC,EAAA,CAAgB,MAAO,WACtB,EAAC,MAAA,CACC,iBAAgB,EAAc,OAAS,QACvC,UAAW,EACT,GAAY,SAAW,GAAS,CAChC,GAAY,MAAQ,GAAa,CACjC,QACD,CACM,kBAEN,EACC,EAAC,MAAA,CAAI,UAAW,GAAY,mBAAY,GAAgB,CACtD,KAEJ,EAAC,MAAA,CAAI,UAAW,GAAY,KAAK,MAAQ,GAAgB,UACvD,EAAC,EAAA,CAAoB,aAAa,YAAmB,EACjD,CAEL,EAAU,EAAC,MAAA,CAAI,UAAW,GAAY,iBAAU,GAAc,CAAG,OAC9D,EACU,EAItB,EAAQ,YAAc,UACtB,EAAQ,KAAO,EACf,EAAQ,MAAQ,EAChB,EAAQ,QAAU,EAClB,EAAQ,QAAU,EAClB,EAAQ,SAAW,EACnB,EAAQ,cAAgB,EACxB,EAAQ,YAAc,EACtB,EAAQ,OAAS"}
@@ -0,0 +1,2 @@
1
+ import{createContext as e,useContext as t}from"react";const n=e(null),r=n.Provider,i=()=>{let e=t(n);if(!e)throw Error(`Sidebar compound components must be used within <Sidebar>.`);return e};export{r as SidebarProvider,i as useSidebarContext};
2
+ //# sourceMappingURL=SidebarContext.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarContext.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\ntype SidebarContextValue = {\n isCollapsed: boolean;\n expandedItems: string[];\n toggleItem: (itemId: string) => void;\n setItemExpanded: (itemId: string, isExpanded: boolean) => void;\n isItemExpanded: (itemId: string) => boolean;\n};\n\nconst SidebarContext = createContext<SidebarContextValue | null>(null);\n\nexport const SidebarProvider = SidebarContext.Provider;\n\nexport const useSidebarContext = (): SidebarContextValue => {\n const context = useContext(SidebarContext);\n\n if (!context) {\n throw new Error(\n 'Sidebar compound components must be used within <Sidebar>.',\n );\n }\n\n return context;\n};\n"],"mappings":"sDAUA,MAAM,EAAiB,EAA0C,KAAK,CAEzD,EAAkB,EAAe,SAEjC,MAA+C,CAC1D,IAAM,EAAU,EAAW,EAAe,CAE1C,GAAI,CAAC,EACH,MAAU,MACR,6DACD,CAGH,OAAO"}
@@ -1,2 +1,2 @@
1
- import{NavList as e}from"./SidebarNavList.mjs";import{jsx as t,jsxs as n}from"react/jsx-runtime";const r=({title:r,isVisible:i=!0,children:a,classNames:o})=>i?n(`li`,{className:o?.nav?.group,children:[r&&t(`span`,{className:o?.nav?.groupLabel,children:r}),t(e,{children:a})]}):null;r.displayName=`Sidebar.NavGroup`;export{r as NavGroup};
1
+ import{NavList as e}from"./SidebarNavList.mjs";import{sidebarNavGroup as t,sidebarNavGroupTitle as n}from"@mage-ui/styled-system/recipes";import{jsx as r,jsxs as i}from"react/jsx-runtime";const a=({title:a,isVisible:o=!0,children:s,classNames:c})=>o?i(`li`,{className:c?.nav?.group??t(),children:[a?r(`p`,{className:c?.nav?.groupTitle??n(),children:a}):null,r(e,{children:s})]}):null;a.displayName=`Sidebar.NavGroup`;export{a as NavGroup};
2
2
  //# sourceMappingURL=SidebarNavGroup.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarNavGroup.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavGroup.tsx"],"sourcesContent":["import { NavList } from './SidebarNavList';\n\ntype NavGroupProps = {\n title?: string;\n children?: React.ReactNode;\n classNames?: {\n nav?: {\n group?: string;\n groupLabel?: string;\n };\n };\n isVisible?: boolean;\n};\n\nexport const NavGroup = ({\n title,\n isVisible = true,\n children,\n classNames,\n}: NavGroupProps) => {\n if (!isVisible) {\n return null;\n }\n return (\n <li className={classNames?.nav?.group}>\n {title && <span className={classNames?.nav?.groupLabel}>{title}</span>}\n <NavList>{children}</NavList>\n </li>\n );\n};\n\nNavGroup.displayName = 'Sidebar.NavGroup';\n"],"mappings":"iGAcA,MAAa,GAAY,CACvB,QACA,YAAY,GACZ,WACA,gBAEK,EAIH,EAAC,KAAA,CAAG,UAAW,GAAY,KAAK,gBAC7B,GAAS,EAAC,OAAA,CAAK,UAAW,GAAY,KAAK,oBAAa,GAAa,CACtE,EAAC,EAAA,CAAS,WAAA,CAAmB,CAAA,EAC1B,CANE,KAUX,EAAS,YAAc"}
1
+ {"version":3,"file":"SidebarNavGroup.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavGroup.tsx"],"sourcesContent":["import {\n sidebarNavGroup,\n sidebarNavGroupTitle,\n} from '@mage-ui/styled-system/recipes';\n\nimport { NavList } from './SidebarNavList';\n\ntype NavGroupProps = {\n title?: string;\n children?: React.ReactNode;\n classNames?: {\n nav?: {\n group?: string;\n groupTitle?: string;\n };\n };\n isVisible?: boolean;\n};\n\nexport const NavGroup = ({\n title,\n isVisible = true,\n children,\n classNames,\n}: NavGroupProps) => {\n if (!isVisible) {\n return null;\n }\n return (\n <li className={classNames?.nav?.group ?? sidebarNavGroup()}>\n {title ? (\n <p className={classNames?.nav?.groupTitle ?? sidebarNavGroupTitle()}>\n {title}\n </p>\n ) : null}\n <NavList>{children}</NavList>\n </li>\n );\n};\n\nNavGroup.displayName = 'Sidebar.NavGroup';\n"],"mappings":"4LAmBA,MAAa,GAAY,CACvB,QACA,YAAY,GACZ,WACA,gBAEK,EAIH,EAAC,KAAA,CAAG,UAAW,GAAY,KAAK,OAAS,GAAiB,WACvD,EACC,EAAC,IAAA,CAAE,UAAW,GAAY,KAAK,YAAc,GAAsB,UAChE,GACC,CACF,KACJ,EAAC,EAAA,CAAS,WAAA,CAAmB,CAAA,EAC1B,CAVE,KAcX,EAAS,YAAc"}
@@ -7,9 +7,13 @@ type NavItemProps = {
7
7
  nav?: {
8
8
  item?: string;
9
9
  };
10
+ subnav?: {
11
+ item?: string;
12
+ };
10
13
  };
11
14
  children?: React.ReactNode;
12
15
  isVisible?: boolean;
16
+ isSubnav?: boolean;
13
17
  };
14
18
  //#endregion
15
19
  export { NavItemProps };
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarNavItem.d.mts","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItem.tsx"],"mappings":";;;;KAKY,YAAA;EACV,UAAA;IACE,GAAA;MACE,IAAA;IAAA;EAAA;EAGJ,QAAA,GAAW,KAAA,CAAM,SAAA;EACjB,SAAA;AAAA"}
1
+ {"version":3,"file":"SidebarNavItem.d.mts","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItem.tsx"],"mappings":";;;;KAQY,YAAA;EACV,UAAA;IACE,GAAA;MACE,IAAA;IAAA;IAEF,MAAA;MACE,IAAA;IAAA;EAAA;EAGJ,QAAA,GAAW,KAAA,CAAM,SAAA;EACjB,SAAA;EACA,QAAA;AAAA"}
@@ -1,2 +1,2 @@
1
- import{cx as e}from"@mage-ui/styled-system/css";import{sidebarNavItem as t}from"@mage-ui/styled-system/recipes";import{jsx as n}from"react/jsx-runtime";const r=({classNames:r,isVisible:i=!0,children:a})=>i?n(`li`,{className:e(r?.nav?.item??t()),children:a}):null;r.displayName=`Sidebar.NavItem`;export{r as NavItem};
1
+ import{cx as e}from"@mage-ui/styled-system/css";import{sidebarNavItem as t,sidebarSubnavItem as n}from"@mage-ui/styled-system/recipes";import{jsx as r}from"react/jsx-runtime";const i=({classNames:i,isVisible:a=!0,isSubnav:o=!1,children:s})=>a?r(`li`,{className:e(o?i?.subnav?.item??n():i?.nav?.item??t()),children:s}):null;i.displayName=`Sidebar.NavItem`;export{i as NavItem};
2
2
  //# sourceMappingURL=SidebarNavItem.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarNavItem.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItem.tsx"],"sourcesContent":["import type React from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { sidebarNavItem } from '@mage-ui/styled-system/recipes';\n\nexport type NavItemProps = {\n classNames?: {\n nav?: {\n item?: string;\n };\n };\n children?: React.ReactNode;\n isVisible?: boolean;\n};\n\nexport const NavItem = ({\n classNames,\n isVisible = true,\n children,\n}: NavItemProps) => {\n if (!isVisible) {\n return null;\n }\n return (\n <li className={cx(classNames?.nav?.item ?? sidebarNavItem())}>\n {children}\n </li>\n );\n};\n\nNavItem.displayName = 'Sidebar.NavItem';\n"],"mappings":"wJAeA,MAAa,GAAW,CACtB,aACA,YAAY,GACZ,cAEK,EAIH,EAAC,KAAA,CAAG,UAAW,EAAG,GAAY,KAAK,MAAQ,GAAgB,CAAC,CACzD,YACE,CALE,KASX,EAAQ,YAAc"}
1
+ {"version":3,"file":"SidebarNavItem.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItem.tsx"],"sourcesContent":["import type React from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n sidebarNavItem,\n sidebarSubnavItem,\n} from '@mage-ui/styled-system/recipes';\n\nexport type NavItemProps = {\n classNames?: {\n nav?: {\n item?: string;\n };\n subnav?: {\n item?: string;\n };\n };\n children?: React.ReactNode;\n isVisible?: boolean;\n isSubnav?: boolean;\n};\n\nexport const NavItem = ({\n classNames,\n isVisible = true,\n isSubnav = false,\n children,\n}: NavItemProps) => {\n if (!isVisible) {\n return null;\n }\n\n const itemClassName = isSubnav\n ? (classNames?.subnav?.item ?? sidebarSubnavItem())\n : (classNames?.nav?.item ?? sidebarNavItem());\n\n return <li className={cx(itemClassName)}>{children}</li>;\n};\n\nNavItem.displayName = 'Sidebar.NavItem';\n"],"mappings":"+KAsBA,MAAa,GAAW,CACtB,aACA,YAAY,GACZ,WAAW,GACX,cAEK,EAQE,EAAC,KAAA,CAAG,UAAW,EAJA,EACjB,GAAY,QAAQ,MAAQ,GAAmB,CAC/C,GAAY,KAAK,MAAQ,GAAgB,CAEP,CAAG,YAAc,CAP/C,KAUX,EAAQ,YAAc"}
@@ -0,0 +1,36 @@
1
+ import "react/jsx-runtime";
2
+ import { ReactNode } from "react";
3
+
4
+ //#region src/components/navigations/sidebars/sidebar/SidebarNavItemButton.d.ts
5
+ type NavItemButtonProps = {
6
+ id?: string;
7
+ children?: ReactNode;
8
+ startSlot: ReactNode;
9
+ endSlot?: ReactNode;
10
+ subnav: ReactNode;
11
+ collapsedSubnav?: ReactNode;
12
+ onClick?: () => void;
13
+ classNames?: {
14
+ button?: {
15
+ root?: string;
16
+ inner?: string;
17
+ label?: string;
18
+ section?: string;
19
+ iconToggle?: string;
20
+ };
21
+ subnav?: {
22
+ list?: string;
23
+ item?: string;
24
+ link?: {
25
+ anchor?: string;
26
+ label?: string;
27
+ };
28
+ root?: string;
29
+ };
30
+ };
31
+ isVisible?: boolean;
32
+ tooltipLabel?: ReactNode;
33
+ };
34
+ //#endregion
35
+ export { NavItemButtonProps };
36
+ //# sourceMappingURL=SidebarNavItemButton.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItemButton.d.mts","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItemButton.tsx"],"mappings":";;;;KAwBY,kBAAA;EACV,EAAA;EACA,QAAA,GAAW,SAAA;EACX,SAAA,EAAW,SAAA;EACX,OAAA,GAAU,SAAA;EACV,MAAA,EAAQ,SAAA;EACR,eAAA,GAAkB,SAAA;EAClB,OAAA;EACA,UAAA;IACE,MAAA;MACE,IAAA;MACA,KAAA;MACA,KAAA;MACA,OAAA;MACA,UAAA;IAAA;IAEF,MAAA;MACE,IAAA;MACA,IAAA;MACA,IAAA;QACE,MAAA;QACA,KAAA;MAAA;MAEF,IAAA;IAAA;EAAA;EAGJ,SAAA;EACA,YAAA,GAAe,SAAA;AAAA"}
@@ -0,0 +1,2 @@
1
+ import{Button as e}from"../../../buttons/button/Button.mjs";import{Icon as t}from"../../../data-display/icons/icon/Icon.mjs";import{Menu as n}from"../../menu/Menu.mjs";import{useSidebarContext as r}from"./SidebarContext.mjs";import{Tooltip as i}from"../../../overlays/tooltip/Tooltip.mjs";import{NavItemButtonCollapsed as a}from"./SidebarNavItemButtonCollapsed.mjs";import{sidebarNavItemButtonIconToggle as o,sidebarNavItemButtonInner as s,sidebarNavItemButtonLabel as c,sidebarNavItemButtonRoot as l,sidebarNavItemButtonSection as u}from"@mage-ui/styled-system/recipes";import{Fragment as d,jsx as f,jsxs as p}from"react/jsx-runtime";import{Children as m,cloneElement as h,isValidElement as g,useId as _}from"react";const v=e=>g(e)&&e.type.displayName===`Sidebar.Subnav`,y=e=>g(e)&&e.type.displayName===`Sidebar.NavItem`,b=e=>g(e)&&e.type.displayName===`Sidebar.NavItemLink`,x=(e,t)=>t||(v(e)?m.toArray(e.props.children).map((e,t)=>{let r=g(e)&&e.key!=null?e.key:t;if(!y(e))return f(n.Item,{children:e},r);let i=e.props.children,a=b(i)?h(i,{withTooltip:!1}):i;return f(n.Item,{children:a},r)}):e),S=({id:n,children:m,startSlot:h,endSlot:g,subnav:v,collapsedSubnav:y,onClick:b,classNames:S,isVisible:C=!0,tooltipLabel:w})=>{let{isCollapsed:T,toggleItem:E,isItemExpanded:D}=r(),O=_(),k=n??O,A=x(v,y);if(!C)return null;let j=D(k),M=()=>{E(k),b?.()};return T?f(a,{itemId:k,startSlot:h,targetLabel:m,classNames:S,isExpanded:j,tooltipLabel:w??m,children:A}):p(d,{children:[f(i,{label:w??m,position:`right`,offset:4,disabled:!T,children:f(e,{type:`button`,"aria-expanded":j,"data-expanded":j,classNames:{root:S?.button?.root??l(),inner:S?.button?.inner??s(),label:S?.button?.label??c(),section:S?.button?.section??u()},startSlot:h,endSlot:g??f(t,{path:`/icons/sprite-mage.svg`,name:j?`mage-sidebar-subnav-toogle-plus`:`mage-sidebar-subnav-toogle-minus`,classNames:{icon:S?.button?.iconToggle??o()}}),onClick:M,children:m})}),!T&&j?v:null]})};S.displayName=`Sidebar.NavItemButton`;export{S as NavItemButton};
2
+ //# sourceMappingURL=SidebarNavItemButton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItemButton.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItemButton.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n isValidElement,\n type ReactElement,\n type ReactNode,\n useId,\n} from 'react';\n\nimport {\n sidebarNavItemButtonIconToggle,\n sidebarNavItemButtonInner,\n sidebarNavItemButtonLabel,\n sidebarNavItemButtonRoot,\n sidebarNavItemButtonSection,\n} from '@mage-ui/styled-system/recipes';\nimport { Button } from '@/components/buttons';\nimport { Icon } from '@/components/data-display';\nimport { Tooltip } from '@/components/overlays';\n\nimport { Menu } from '../../menu/Menu';\nimport { useSidebarContext } from './SidebarContext';\nimport { NavItemButtonCollapsed } from './SidebarNavItemButtonCollapsed';\n\nexport type NavItemButtonProps = {\n id?: string;\n children?: ReactNode;\n startSlot: ReactNode;\n endSlot?: ReactNode;\n subnav: ReactNode;\n collapsedSubnav?: ReactNode;\n onClick?: () => void;\n classNames?: {\n button?: {\n root?: string;\n inner?: string;\n label?: string;\n section?: string;\n iconToggle?: string;\n };\n subnav?: {\n list?: string;\n item?: string;\n link?: {\n anchor?: string;\n label?: string;\n };\n root?: string;\n };\n };\n isVisible?: boolean;\n tooltipLabel?: ReactNode;\n};\n\ntype SidebarElementWithChildren = ReactElement<{ children?: ReactNode }>;\ntype SidebarNavItemLinkElement = ReactElement<{\n children?: ReactNode;\n withTooltip?: boolean;\n}>;\n\nconst isSidebarSubnav = (node: ReactNode): node is SidebarElementWithChildren =>\n isValidElement(node) &&\n (node.type as { displayName?: string }).displayName === 'Sidebar.Subnav';\n\nconst isSidebarNavItem = (\n node: ReactNode,\n): node is SidebarElementWithChildren =>\n isValidElement(node) &&\n (node.type as { displayName?: string }).displayName === 'Sidebar.NavItem';\n\nconst isSidebarNavItemLink = (\n node: ReactNode,\n): node is SidebarNavItemLinkElement =>\n isValidElement(node) &&\n (node.type as { displayName?: string }).displayName === 'Sidebar.NavItemLink';\n\nconst getCollapsedSubnavContent = (\n subnav: ReactNode,\n collapsedSubnav?: ReactNode,\n) => {\n if (collapsedSubnav) {\n return collapsedSubnav;\n }\n\n if (!isSidebarSubnav(subnav)) {\n return subnav;\n }\n\n return Children.toArray(subnav.props.children).map((itemNode, index) => {\n const key =\n isValidElement(itemNode) && itemNode.key != null ? itemNode.key : index;\n\n if (!isSidebarNavItem(itemNode)) {\n return <Menu.Item key={key}>{itemNode}</Menu.Item>;\n }\n\n const content = itemNode.props.children;\n const collapsedContent = isSidebarNavItemLink(content)\n ? cloneElement(content, { withTooltip: false })\n : content;\n\n return <Menu.Item key={key}>{collapsedContent}</Menu.Item>;\n });\n};\n\nexport const NavItemButton = ({\n id,\n children,\n startSlot,\n endSlot,\n subnav,\n collapsedSubnav,\n onClick,\n classNames,\n isVisible = true,\n tooltipLabel,\n}: NavItemButtonProps) => {\n const { isCollapsed, toggleItem, isItemExpanded } = useSidebarContext();\n const generatedId = useId();\n const itemId = id ?? generatedId;\n const collapsedSubnavContent = getCollapsedSubnavContent(\n subnav,\n collapsedSubnav,\n );\n\n if (!isVisible) {\n return null;\n }\n\n const isExpanded = isItemExpanded(itemId);\n\n const handleToggle = () => {\n toggleItem(itemId);\n onClick?.();\n };\n\n if (isCollapsed) {\n return (\n <NavItemButtonCollapsed\n itemId={itemId}\n startSlot={startSlot}\n targetLabel={children}\n classNames={classNames}\n isExpanded={isExpanded}\n tooltipLabel={tooltipLabel ?? children}\n >\n {collapsedSubnavContent}\n </NavItemButtonCollapsed>\n );\n }\n\n return (\n <>\n <Tooltip\n label={tooltipLabel ?? children}\n position='right'\n offset={4}\n disabled={!isCollapsed}\n >\n <Button\n type='button'\n aria-expanded={isExpanded}\n data-expanded={isExpanded}\n classNames={{\n root: classNames?.button?.root ?? sidebarNavItemButtonRoot(),\n inner: classNames?.button?.inner ?? sidebarNavItemButtonInner(),\n label: classNames?.button?.label ?? sidebarNavItemButtonLabel(),\n section:\n classNames?.button?.section ?? sidebarNavItemButtonSection(),\n }}\n startSlot={startSlot}\n endSlot={\n endSlot ?? (\n <Icon\n path='/icons/sprite-mage.svg'\n name={\n isExpanded\n ? 'mage-sidebar-subnav-toogle-plus'\n : 'mage-sidebar-subnav-toogle-minus'\n }\n classNames={{\n icon:\n classNames?.button?.iconToggle ??\n sidebarNavItemButtonIconToggle(),\n }}\n />\n )\n }\n onClick={handleToggle}\n >\n {children}\n </Button>\n </Tooltip>\n\n {!isCollapsed && isExpanded ? subnav : null}\n </>\n );\n};\n\nNavItemButton.displayName = 'Sidebar.NavItemButton';\n"],"mappings":"6sBA4DA,MAAM,EAAmB,GACvB,EAAe,EAAK,EACnB,EAAK,KAAkC,cAAgB,iBAEpD,EACJ,GAEA,EAAe,EAAK,EACnB,EAAK,KAAkC,cAAgB,kBAEpD,EACJ,GAEA,EAAe,EAAK,EACnB,EAAK,KAAkC,cAAgB,sBAEpD,GACJ,EACA,IAEI,IAIC,EAAgB,EAAO,CAIrB,EAAS,QAAQ,EAAO,MAAM,SAAS,CAAC,KAAK,EAAU,IAAU,CACtE,IAAM,EACJ,EAAe,EAAS,EAAI,EAAS,KAAO,KAAO,EAAS,IAAM,EAEpE,GAAI,CAAC,EAAiB,EAAS,CAC7B,OAAO,EAAC,EAAK,KAAA,CAAA,SAAgB,EAAA,CAAN,EAA2B,CAGpD,IAAM,EAAU,EAAS,MAAM,SACzB,EAAmB,EAAqB,EAAQ,CAClD,EAAa,EAAS,CAAE,YAAa,GAAO,CAAC,CAC7C,EAEJ,OAAO,EAAC,EAAK,KAAA,CAAA,SAAgB,EAAA,CAAN,EAAmC,EAC1D,CAjBO,GAoBE,GAAiB,CAC5B,KACA,WACA,YACA,UACA,SACA,kBACA,UACA,aACA,YAAY,GACZ,kBACwB,CACxB,GAAM,CAAE,cAAa,aAAY,kBAAmB,GAAmB,CACjE,EAAc,GAAO,CACrB,EAAS,GAAM,EACf,EAAyB,EAC7B,EACA,EACD,CAED,GAAI,CAAC,EACH,OAAO,KAGT,IAAM,EAAa,EAAe,EAAO,CAEnC,MAAqB,CACzB,EAAW,EAAO,CAClB,KAAW,EAkBb,OAfI,EAEA,EAAC,EAAA,CACS,SACG,YACX,YAAa,EACD,aACA,aACZ,aAAc,GAAgB,WAE7B,GACsB,CAK3B,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAA,CACC,MAAO,GAAgB,EACvB,SAAS,QACT,OAAQ,EACR,SAAU,CAAC,WAEX,EAAC,EAAA,CACC,KAAK,SACL,gBAAe,EACf,gBAAe,EACf,WAAY,CACV,KAAM,GAAY,QAAQ,MAAQ,GAA0B,CAC5D,MAAO,GAAY,QAAQ,OAAS,GAA2B,CAC/D,MAAO,GAAY,QAAQ,OAAS,GAA2B,CAC/D,QACE,GAAY,QAAQ,SAAW,GAA6B,CAC/D,CACU,YACX,QACE,GACE,EAAC,EAAA,CACC,KAAK,yBACL,KACE,EACI,kCACA,mCAEN,WAAY,CACV,KACE,GAAY,QAAQ,YACpB,GAAgC,CACnC,EACD,CAGN,QAAS,EAER,YACM,EACD,CAET,CAAC,GAAe,EAAa,EAAS,KAAA,CAAA,CACtC,EAIP,EAAc,YAAc"}
@@ -0,0 +1,2 @@
1
+ "use client";import{Menu as e}from"../../menu/Menu.mjs";import{useSidebarContext as t}from"./SidebarContext.mjs";import{Tooltip as n}from"../../../overlays/tooltip/Tooltip.mjs";import{cx as r}from"@mage-ui/styled-system/css";import{sidebar as i,sidebarNavItemButtonCollapsedRoot as a,sidebarNavItemButtonInner as o,sidebarNavItemButtonLabel as s,sidebarNavItemButtonSection as c,sidebarSubnavCollapsedRoot as l,sidebarSubnavItem as u,sidebarSubnavList as d}from"@mage-ui/styled-system/recipes";import{jsx as f}from"react/jsx-runtime";const p=({itemId:p,targetLabel:m,startSlot:h,children:g,classNames:_,isExpanded:v,tooltipLabel:y})=>{let{setItemExpanded:b}=t();return f(n,{label:y,position:`right`,offset:4,withinPortal:!0,children:f(`span`,{children:f(e,{withinPortal:!0,keepMounted:!0,opened:v,onOpenedChange:e=>{b(p,e)},target:m,classNames:{menu:_?.subnav?.list??d(),root:_?.subnav?.root??r(i(),l()),item:_?.subnav?.item??u(),target:{button:_?.button?.root??a(),inner:_?.button?.inner??o(),label:_?.button?.label??s(),section:_?.button?.section??c()}},targetButtonProps:{type:`button`,"aria-expanded":v,"data-expanded":v||void 0,startSlot:h},position:`bottom-start`,children:g})})})};p.displayName=`Sidebar.NavItemButtonCollapsed`;export{p as NavItemButtonCollapsed};
2
+ //# sourceMappingURL=SidebarNavItemButtonCollapsed.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItemButtonCollapsed.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItemButtonCollapsed.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n sidebar,\n sidebarNavItemButtonCollapsedRoot,\n sidebarNavItemButtonInner,\n sidebarNavItemButtonLabel,\n sidebarNavItemButtonSection,\n sidebarSubnavCollapsedRoot,\n sidebarSubnavItem,\n sidebarSubnavList,\n} from '@mage-ui/styled-system/recipes';\nimport { Tooltip } from '@/components/overlays';\n\nimport { Menu } from '../../menu/Menu';\nimport { useSidebarContext } from './SidebarContext';\n\nexport type NavItemButtonCollapsedProps = {\n itemId: string;\n targetLabel?: ReactNode;\n startSlot: ReactNode;\n children?: ReactNode;\n classNames?: {\n button?: {\n root?: string;\n inner?: string;\n label?: string;\n section?: string;\n };\n subnav?: {\n list?: string;\n item?: string;\n root?: string;\n };\n };\n isExpanded: boolean;\n tooltipLabel: ReactNode;\n};\n\nexport const NavItemButtonCollapsed = ({\n itemId,\n targetLabel,\n startSlot,\n children,\n classNames,\n isExpanded,\n tooltipLabel,\n}: NavItemButtonCollapsedProps) => {\n const { setItemExpanded } = useSidebarContext();\n\n return (\n <Tooltip label={tooltipLabel} position='right' offset={4} withinPortal>\n <span>\n <Menu\n withinPortal\n keepMounted\n opened={isExpanded}\n onOpenedChange={(opened: boolean) => {\n setItemExpanded(itemId, opened);\n }}\n target={targetLabel}\n classNames={{\n menu: classNames?.subnav?.list ?? sidebarSubnavList(),\n root:\n classNames?.subnav?.root ??\n cx(sidebar(), sidebarSubnavCollapsedRoot()),\n item: classNames?.subnav?.item ?? sidebarSubnavItem(),\n target: {\n button:\n classNames?.button?.root ?? sidebarNavItemButtonCollapsedRoot(),\n inner: classNames?.button?.inner ?? sidebarNavItemButtonInner(),\n label: classNames?.button?.label ?? sidebarNavItemButtonLabel(),\n section:\n classNames?.button?.section ?? sidebarNavItemButtonSection(),\n },\n }}\n targetButtonProps={{\n type: 'button',\n 'aria-expanded': isExpanded,\n 'data-expanded': isExpanded || undefined,\n startSlot: startSlot,\n }}\n position='bottom-start'\n >\n {children}\n </Menu>\n </span>\n </Tooltip>\n );\n};\n\nNavItemButtonCollapsed.displayName = 'Sidebar.NavItemButtonCollapsed';\n"],"mappings":"shBA0CA,MAAa,GAA0B,CACrC,SACA,cACA,YACA,WACA,aACA,aACA,kBACiC,CACjC,GAAM,CAAE,mBAAoB,GAAmB,CAE/C,OACE,EAAC,EAAA,CAAQ,MAAO,EAAc,SAAS,QAAQ,OAAQ,EAAG,aAAA,YACxD,EAAC,OAAA,CAAA,SACC,EAAC,EAAA,CACC,aAAA,GACA,YAAA,GACA,OAAQ,EACR,eAAiB,GAAoB,CACnC,EAAgB,EAAQ,EAAO,EAEjC,OAAQ,EACR,WAAY,CACV,KAAM,GAAY,QAAQ,MAAQ,GAAmB,CACrD,KACE,GAAY,QAAQ,MACpB,EAAG,GAAS,CAAE,GAA4B,CAAC,CAC7C,KAAM,GAAY,QAAQ,MAAQ,GAAmB,CACrD,OAAQ,CACN,OACE,GAAY,QAAQ,MAAQ,GAAmC,CACjE,MAAO,GAAY,QAAQ,OAAS,GAA2B,CAC/D,MAAO,GAAY,QAAQ,OAAS,GAA2B,CAC/D,QACE,GAAY,QAAQ,SAAW,GAA6B,CAC/D,CACF,CACD,kBAAmB,CACjB,KAAM,SACN,gBAAiB,EACjB,gBAAiB,GAAc,IAAA,GACpB,YACZ,CACD,SAAS,eAER,YACI,CAAA,CACF,EACC,EAId,EAAuB,YAAc"}
@@ -1,11 +1,28 @@
1
- import "./Sidebar.mjs";
2
1
  import "react/jsx-runtime";
2
+ import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.ts
5
5
  type LinkType = {
6
6
  anchor?: string;
7
7
  label?: string;
8
8
  };
9
+ type NavItemLinkProps = {
10
+ children?: ReactNode;
11
+ startSlot?: ReactNode;
12
+ endSlot?: ReactNode;
13
+ classNames?: {
14
+ link?: LinkType;
15
+ subnav?: {
16
+ link?: LinkType;
17
+ };
18
+ };
19
+ tooltipLabel?: ReactNode;
20
+ withTooltip?: boolean;
21
+ isSelected?: boolean;
22
+ isExpanded?: boolean;
23
+ isVisible?: boolean;
24
+ isSubnav?: boolean;
25
+ };
9
26
  //#endregion
10
- export { LinkType };
27
+ export { LinkType, NavItemLinkProps };
11
28
  //# sourceMappingURL=SidebarNavItemLink.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarNavItemLink.d.mts","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItemLink.tsx"],"mappings":";;;;KAUY,QAAA;EACV,MAAA;EACA,KAAA;AAAA"}
1
+ {"version":3,"file":"SidebarNavItemLink.d.mts","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItemLink.tsx"],"mappings":";;;;KAYY,QAAA;EACV,MAAA;EACA,KAAA;AAAA;AAAA,KAGU,gBAAA;EACV,QAAA,GAAW,SAAA;EACX,SAAA,GAAY,SAAA;EACZ,OAAA,GAAU,SAAA;EACV,UAAA;IACE,IAAA,GAAO,QAAA;IACP,MAAA;MACE,IAAA,GAAO,QAAA;IAAA;EAAA;EAGX,YAAA,GAAe,SAAA;EACf,WAAA;EACA,UAAA;EACA,UAAA;EACA,SAAA;EACA,QAAA;AAAA"}
@@ -0,0 +1,2 @@
1
+ import{useSidebarContext as e}from"./SidebarContext.mjs";import{Tooltip as t}from"../../../overlays/tooltip/Tooltip.mjs";import{sidebarNavItemLinkAnchor as n,sidebarNavItemLinkLabel as r,sidebarSubnavItemLinkAnchor as i,sidebarSubnavItemLinkLabel as a}from"@mage-ui/styled-system/recipes";import{jsx as o,jsxs as s}from"react/jsx-runtime";const c=({children:c,startSlot:l,endSlot:u,classNames:d,tooltipLabel:f,withTooltip:p=!0,isSelected:m,isExpanded:h,isVisible:g=!0,isSubnav:_=!1})=>{let{isCollapsed:v}=e();if(!g)return null;let y=_?d?.subnav?.link?.anchor??i():d?.link?.anchor??n(),b=_?d?.subnav?.link?.label??a():d?.link?.label??r(),x=s(`span`,{className:y,"data-selected":m||void 0,"data-expanded":h||void 0,children:[l,o(`span`,{className:b,children:c}),u]});return p?o(t,{label:f??c,position:`right`,offset:4,disabled:!v,children:x}):x};c.displayName=`Sidebar.NavItemLink`;export{c as NavItemLink};
2
+ //# sourceMappingURL=SidebarNavItemLink.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItemLink.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarNavItemLink.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n sidebarNavItemLinkAnchor,\n sidebarNavItemLinkLabel,\n sidebarSubnavItemLinkAnchor,\n sidebarSubnavItemLinkLabel,\n} from '@mage-ui/styled-system/recipes';\nimport { Tooltip } from '@/components/overlays';\n\nimport { useSidebarContext } from './SidebarContext';\n\nexport type LinkType = {\n anchor?: string;\n label?: string;\n};\n\nexport type NavItemLinkProps = {\n children?: ReactNode;\n startSlot?: ReactNode;\n endSlot?: ReactNode;\n classNames?: {\n link?: LinkType;\n subnav?: {\n link?: LinkType;\n };\n };\n tooltipLabel?: ReactNode;\n withTooltip?: boolean;\n isSelected?: boolean;\n isExpanded?: boolean;\n isVisible?: boolean;\n isSubnav?: boolean;\n};\n\nexport const NavItemLink = ({\n children,\n startSlot,\n endSlot,\n classNames,\n tooltipLabel,\n withTooltip = true,\n isSelected,\n isExpanded,\n isVisible = true,\n isSubnav = false,\n}: NavItemLinkProps) => {\n const { isCollapsed } = useSidebarContext();\n\n if (!isVisible) {\n return null;\n }\n\n const anchorClassName = isSubnav\n ? (classNames?.subnav?.link?.anchor ?? sidebarSubnavItemLinkAnchor())\n : (classNames?.link?.anchor ?? sidebarNavItemLinkAnchor());\n const labelClassName = isSubnav\n ? (classNames?.subnav?.link?.label ?? sidebarSubnavItemLinkLabel())\n : (classNames?.link?.label ?? sidebarNavItemLinkLabel());\n\n const content = (\n <span\n className={anchorClassName}\n data-selected={isSelected || undefined}\n data-expanded={isExpanded || undefined}\n >\n {startSlot}\n <span className={labelClassName}>{children}</span>\n {endSlot}\n </span>\n );\n\n if (!withTooltip) {\n return content;\n }\n\n return (\n <Tooltip\n label={tooltipLabel ?? children}\n position='right'\n offset={4}\n disabled={!isCollapsed}\n >\n {content}\n </Tooltip>\n );\n};\n\nNavItemLink.displayName = 'Sidebar.NavItemLink';\n"],"mappings":"mVAmCA,MAAa,GAAe,CAC1B,WACA,YACA,UACA,aACA,eACA,cAAc,GACd,aACA,aACA,YAAY,GACZ,WAAW,MACW,CACtB,GAAM,CAAE,eAAgB,GAAmB,CAE3C,GAAI,CAAC,EACH,OAAO,KAGT,IAAM,EAAkB,EACnB,GAAY,QAAQ,MAAM,QAAU,GAA6B,CACjE,GAAY,MAAM,QAAU,GAA0B,CACrD,EAAiB,EAClB,GAAY,QAAQ,MAAM,OAAS,GAA4B,CAC/D,GAAY,MAAM,OAAS,GAAyB,CAEnD,EACJ,EAAC,OAAA,CACC,UAAW,EACX,gBAAe,GAAc,IAAA,GAC7B,gBAAe,GAAc,IAAA,aAE5B,EACD,EAAC,OAAA,CAAK,UAAW,EAAiB,YAAgB,CACjD,IACI,CAOT,OAJK,EAKH,EAAC,EAAA,CACC,MAAO,GAAgB,EACvB,SAAS,QACT,OAAQ,EACR,SAAU,CAAC,WAEV,GACO,CAXH,GAeX,EAAY,YAAc"}
@@ -0,0 +1,17 @@
1
+ import "react/jsx-runtime";
2
+ import { ReactNode } from "react";
3
+
4
+ //#region src/components/navigations/sidebars/sidebar/SidebarSubnav.d.ts
5
+ type SubnavProps = {
6
+ classNames?: {
7
+ subnav?: {
8
+ list?: string;
9
+ root?: string;
10
+ };
11
+ };
12
+ isVisible?: boolean;
13
+ children?: ReactNode;
14
+ };
15
+ //#endregion
16
+ export { SubnavProps };
17
+ //# sourceMappingURL=SidebarSubnav.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSubnav.d.mts","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarSubnav.tsx"],"mappings":";;;;KAOY,WAAA;EACV,UAAA;IACE,MAAA;MACE,IAAA;MACA,IAAA;IAAA;EAAA;EAGJ,SAAA;EACA,QAAA,GAAW,SAAA;AAAA"}
@@ -0,0 +1,2 @@
1
+ import{sidebarSubnavList as e,sidebarSubnavRoot as t}from"@mage-ui/styled-system/recipes";import{jsx as n}from"react/jsx-runtime";const r=({classNames:r,isVisible:i=!0,children:a})=>i?n(`div`,{className:r?.subnav?.root??t(),children:n(`ul`,{className:r?.subnav?.list??e(),children:a})}):null;r.displayName=`Sidebar.Subnav`;export{r as Subnav};
2
+ //# sourceMappingURL=SidebarSubnav.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSubnav.mjs","names":[],"sources":["../../../../../src/components/navigations/sidebars/sidebar/SidebarSubnav.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n sidebarSubnavList,\n sidebarSubnavRoot,\n} from '@mage-ui/styled-system/recipes';\n\nexport type SubnavProps = {\n classNames?: {\n subnav?: {\n list?: string;\n root?: string;\n };\n };\n isVisible?: boolean;\n children?: ReactNode;\n};\n\nexport const Subnav = ({\n classNames,\n isVisible = true,\n children,\n}: SubnavProps) => {\n if (!isVisible) {\n return null;\n }\n\n return (\n <div className={classNames?.subnav?.root ?? sidebarSubnavRoot()}>\n <ul className={classNames?.subnav?.list ?? sidebarSubnavList()}>\n {children}\n </ul>\n </div>\n );\n};\n\nSubnav.displayName = 'Sidebar.Subnav';\n"],"mappings":"kIAkBA,MAAa,GAAU,CACrB,aACA,YAAY,GACZ,cAEK,EAKH,EAAC,MAAA,CAAI,UAAW,GAAY,QAAQ,MAAQ,GAAmB,UAC7D,EAAC,KAAA,CAAG,UAAW,GAAY,QAAQ,MAAQ,GAAmB,CAC3D,YACE,EACD,CARC,KAYX,EAAO,YAAc"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime5 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime6 from "react/jsx-runtime";
2
2
  import { HTMLAttributes, ReactNode } from "react";
3
3
 
4
4
  //#region src/components/overlays/modal/Modal.d.ts
@@ -41,7 +41,7 @@ declare const Modal: {
41
41
  withinPortal,
42
42
  keepMounted,
43
43
  classNames
44
- }: ModalProps): react_jsx_runtime5.JSX.Element;
44
+ }: ModalProps): react_jsx_runtime6.JSX.Element;
45
45
  Root: {
46
46
  ({
47
47
  opened,
@@ -53,13 +53,13 @@ declare const Modal: {
53
53
  centered,
54
54
  classNames,
55
55
  intent
56
- }: ModalRootProps): react_jsx_runtime5.JSX.Element;
56
+ }: ModalRootProps): react_jsx_runtime6.JSX.Element;
57
57
  displayName: string;
58
58
  };
59
59
  Overlay: {
60
60
  (_: {
61
61
  children?: never;
62
- }): react_jsx_runtime5.JSX.Element;
62
+ }): react_jsx_runtime6.JSX.Element;
63
63
  displayName: string;
64
64
  };
65
65
  Content: {
@@ -67,7 +67,7 @@ declare const Modal: {
67
67
  children
68
68
  }: {
69
69
  children: ReactNode;
70
- }): react_jsx_runtime5.JSX.Element;
70
+ }): react_jsx_runtime6.JSX.Element;
71
71
  displayName: string;
72
72
  };
73
73
  Header: {
@@ -75,7 +75,7 @@ declare const Modal: {
75
75
  children
76
76
  }: {
77
77
  children: ReactNode;
78
- }): react_jsx_runtime5.JSX.Element;
78
+ }): react_jsx_runtime6.JSX.Element;
79
79
  displayName: string;
80
80
  };
81
81
  Body: {
@@ -83,7 +83,7 @@ declare const Modal: {
83
83
  children
84
84
  }: {
85
85
  children: ReactNode;
86
- }): react_jsx_runtime5.JSX.Element;
86
+ }): react_jsx_runtime6.JSX.Element;
87
87
  displayName: string;
88
88
  };
89
89
  Title: {
@@ -91,11 +91,11 @@ declare const Modal: {
91
91
  children
92
92
  }: {
93
93
  children: ReactNode;
94
- }): react_jsx_runtime5.JSX.Element;
94
+ }): react_jsx_runtime6.JSX.Element;
95
95
  displayName: string;
96
96
  };
97
97
  CloseButton: {
98
- (): react_jsx_runtime5.JSX.Element;
98
+ (): react_jsx_runtime6.JSX.Element;
99
99
  displayName: string;
100
100
  };
101
101
  Footer: {
@@ -103,7 +103,7 @@ declare const Modal: {
103
103
  children,
104
104
  className,
105
105
  ...props
106
- }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime5.JSX.Element;
106
+ }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime6.JSX.Element;
107
107
  displayName: string;
108
108
  };
109
109
  };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime14 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime15 from "react/jsx-runtime";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/overlays/modals/ModalsProvider.d.ts
@@ -7,7 +7,7 @@ type ModalsProviderProps = {
7
7
  };
8
8
  declare const ModalsProvider: ({
9
9
  children
10
- }: ModalsProviderProps) => react_jsx_runtime14.JSX.Element;
10
+ }: ModalsProviderProps) => react_jsx_runtime15.JSX.Element;
11
11
  //#endregion
12
12
  export { ModalsProvider, ModalsProviderProps };
13
13
  //# sourceMappingURL=ModalsProvider.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime15 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/overlays/tooltip/Tooltip.d.ts
@@ -35,7 +35,7 @@ declare const Tooltip: ({
35
35
  keepMounted,
36
36
  withinPortal,
37
37
  classNames
38
- }: TooltipProps) => react_jsx_runtime15.JSX.Element;
38
+ }: TooltipProps) => react_jsx_runtime5.JSX.Element;
39
39
  //#endregion
40
40
  export { Tooltip, TooltipProps };
41
41
  //# sourceMappingURL=Tooltip.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.mts","names":[],"sources":["../../../../src/components/overlays/tooltip/Tooltip.tsx"],"mappings":";;;;KAUY,YAAA;EACV,QAAA,GAAW,SAAA;EACX,KAAA,EAAO,SAAA;EACP,MAAA;EACA,EAAA;EACA,QAAA;EAaA,MAAA;EACA,SAAA;EACA,QAAA;EACA,MAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;IACE,IAAA;IACA,OAAA;IACA,KAAA;EAAA;AAAA;AAAA,cAIS,OAAA;EAAW,QAAA;EAAA,KAAA;EAAA,MAAA;EAAA,EAAA;EAAA,QAAA;EAAA,MAAA;EAAA,SAAA;EAAA,QAAA;EAAA,MAAA;EAAA,SAAA;EAAA,WAAA;EAAA,YAAA;EAAA;AAAA,GAcrB,YAAA,KAAY,mBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Tooltip.d.mts","names":[],"sources":["../../../../src/components/overlays/tooltip/Tooltip.tsx"],"mappings":";;;;KAUY,YAAA;EACV,QAAA,GAAW,SAAA;EACX,KAAA,EAAO,SAAA;EACP,MAAA;EACA,EAAA;EACA,QAAA;EAaA,MAAA;EACA,SAAA;EACA,QAAA;EACA,MAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;IACE,IAAA;IACA,OAAA;IACA,KAAA;EAAA;AAAA;AAAA,cAIS,OAAA;EAAW,QAAA;EAAA,KAAA;EAAA,MAAA;EAAA,EAAA;EAAA,QAAA;EAAA,MAAA;EAAA,SAAA;EAAA,QAAA;EAAA,MAAA;EAAA,SAAA;EAAA,WAAA;EAAA,YAAA;EAAA;AAAA,GAcrB,YAAA,KAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
package/dist/index.d.mts CHANGED
@@ -22,7 +22,7 @@ import { LoaderDot, LoaderDotProps } from "./components/data-display/loader-dot/
22
22
  import { LoaderOval, LoaderOvalProps } from "./components/data-display/loader-oval/LoaderOval.mjs";
23
23
  import { LogoImage, LogoImageProps } from "./components/data-display/logos/logo-image/LogoImage.mjs";
24
24
  import { LogoSvg, LogoSvgProps } from "./components/data-display/logos/logo-svg/LogoSvg.mjs";
25
- import { NotificationBanner, NotificationBannerProps } from "./components/data-display/notification-banner/NotificationBanner.mjs";
25
+ import { NotificationBanner, NotificationBannerIntent, NotificationBannerProps } from "./components/data-display/notification-banner/NotificationBanner.mjs";
26
26
  import { RemovableItem, RemovableItemProps } from "./components/data-display/removable-item/RemovableItem.mjs";
27
27
  import { Tag, TagProps } from "./components/data-display/tag/Tag.mjs";
28
28
  import { TagGroup, TagGroupProps } from "./components/data-display/tag-group/TagGroup.mjs";
@@ -53,7 +53,7 @@ import { ScrollArea, ScrollAreaProps } from "./components/misc/scroll-area/Scrol
53
53
  import { ScrollAreaAutosize, ScrollAreaAutosizeProps } from "./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";
54
54
  import { VisuallyHidden, VisuallyHiddenProps } from "./components/misc/visually-hidden/VisuallyHidden.mjs";
55
55
  import { Breadcrumbs, BreadcrumbsProps } from "./components/navigations/breadcrumbs/Breadcrumbs.mjs";
56
- import { ItemType, NavType, Sidebar, SidebarProps } from "./components/navigations/sidebars/sidebar/Sidebar.mjs";
56
+ import { NavType, Sidebar, SidebarProps } from "./components/navigations/sidebars/sidebar/Sidebar.mjs";
57
57
  import { Modal, ModalProps, ModalRootProps } from "./components/overlays/modal/Modal.mjs";
58
58
  import { ModalAlert, ModalAlertClassNames, ModalAlertPublicProps } from "./components/overlays/modals/alert/ModalAlert.mjs";
59
59
  import { alert } from "./components/overlays/modals/alert/alert.mjs";
@@ -78,4 +78,4 @@ import { BackofficeTopBar, BackofficeTopBarProps } from "./semedlab/components/n
78
78
  import { BreadcrumbsBar, BreadcrumbsBarProps } from "./semedlab/components/navigations/breadcrumbs-bar/BreadcrumbsBar.mjs";
79
79
  import { NotificationList, NotificationListProps } from "./semedlab/components/navigations/notification-list/NotificationList.mjs";
80
80
  import "./semedlab/components/index.mjs";
81
- export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarProps, BackofficeTopBar, BackofficeTopBarProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBar, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, Checkbox, CheckboxProps, Chevron, ChevronProps, ClearButton, ClearButtonProps, Combobox, ComboboxProps, DateLocalizer, DatePicker, DatePickerProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, Form, FormProps, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, ItemType, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalAlert, ModalAlertClassNames, ModalAlertPublicProps, ModalComponent, ModalConfirm, ModalConfirmClassNames, ModalConfirmPublicProps, ModalInternalProps, ModalProps, ModalRootProps, ModalsProvider, ModalsProviderProps, MultiSelect, MultiSelectProps, MultiSelectTags, MultiSelectTagsProps, NavType, Notification, NotificationBanner, NotificationBannerProps, NotificationList, NotificationListProps, NotificationMenu, NotificationMenuProps, NotificationProps, OptionProps, PASSWORD_RULES, PasswordInput, PasswordInputProps, PasswordInputStrength, PasswordInputStrengthProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, ProfileMenu, ProfileMenuProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Tooltip, TooltipProps, TopBar, TopBarProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, UserGroupPreview, UserGroupPreviewProps, UserProfile, UserProfileProps, VisuallyHidden, VisuallyHiddenProps, alert, alertById, confirm, confirmById, createModal, momentLocalizer, openModalById, registerModal, usePasswordRules, z };
81
+ export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarProps, BackofficeTopBar, BackofficeTopBarProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBar, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, Checkbox, CheckboxProps, Chevron, ChevronProps, ClearButton, ClearButtonProps, Combobox, ComboboxProps, DateLocalizer, DatePicker, DatePickerProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, Form, FormProps, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalAlert, ModalAlertClassNames, ModalAlertPublicProps, ModalComponent, ModalConfirm, ModalConfirmClassNames, ModalConfirmPublicProps, ModalInternalProps, ModalProps, ModalRootProps, ModalsProvider, ModalsProviderProps, MultiSelect, MultiSelectProps, MultiSelectTags, MultiSelectTagsProps, NavType, Notification, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, NotificationList, NotificationListProps, NotificationMenu, NotificationMenuProps, NotificationProps, OptionProps, PASSWORD_RULES, PasswordInput, PasswordInputProps, PasswordInputStrength, PasswordInputStrengthProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, ProfileMenu, ProfileMenuProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Tooltip, TooltipProps, TopBar, TopBarProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, UserGroupPreview, UserGroupPreviewProps, UserProfile, UserProfileProps, VisuallyHidden, VisuallyHiddenProps, alert, alertById, confirm, confirmById, createModal, momentLocalizer, openModalById, registerModal, usePasswordRules, z };