@mage-ui/components 1.0.35 → 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 (53) hide show
  1. package/dist/components/controls/utils/chevron/Chevron.d.mts +2 -2
  2. package/dist/components/controls/utils/clear-button/ClearButton.d.mts +2 -2
  3. package/dist/components/data-display/index.d.mts +1 -1
  4. package/dist/components/data-display/notification-banner/NotificationBanner.d.mts +9 -4
  5. package/dist/components/data-display/notification-banner/NotificationBanner.d.mts.map +1 -1
  6. package/dist/components/data-display/notification-banner/NotificationBanner.mjs +1 -1
  7. package/dist/components/data-display/notification-banner/NotificationBanner.mjs.map +1 -1
  8. package/dist/components/data-display/removable-item/RemovableItem.d.mts +2 -2
  9. package/dist/components/data-display/tag/Tag.d.mts +3 -3
  10. package/dist/components/data-display/tag-group/TagGroup.d.mts +2 -2
  11. package/dist/components/data-display/uploaded-file/UploadedFile.d.mts +2 -2
  12. package/dist/components/data-display/uploaded-file/UploadedFileDetails.d.mts +2 -2
  13. package/dist/components/forms/rules/password-rules.mjs +1 -1
  14. package/dist/components/forms/rules/password-rules.mjs.map +1 -1
  15. package/dist/components/index.d.mts +2 -2
  16. package/dist/components/layouts/top-bar/TopBar.d.mts +2 -2
  17. package/dist/components/misc/horizontal-divider/HorizontalDivider.d.mts +2 -2
  18. package/dist/components/misc/visually-hidden/VisuallyHidden.d.mts +2 -2
  19. package/dist/components/navigations/breadcrumbs/Breadcrumbs.d.mts +2 -2
  20. package/dist/components/navigations/index.d.mts +1 -1
  21. package/dist/components/navigations/menu/Menu.d.mts +12 -1
  22. package/dist/components/navigations/menu/Menu.d.mts.map +1 -1
  23. package/dist/components/navigations/menu/Menu.mjs +1 -1
  24. package/dist/components/navigations/menu/Menu.mjs.map +1 -1
  25. package/dist/components/navigations/sidebars/sidebar/Sidebar.d.mts +98 -9
  26. package/dist/components/navigations/sidebars/sidebar/Sidebar.d.mts.map +1 -1
  27. package/dist/components/navigations/sidebars/sidebar/Sidebar.mjs +1 -1
  28. package/dist/components/navigations/sidebars/sidebar/Sidebar.mjs.map +1 -1
  29. package/dist/components/navigations/sidebars/sidebar/SidebarContext.mjs +2 -0
  30. package/dist/components/navigations/sidebars/sidebar/SidebarContext.mjs.map +1 -0
  31. package/dist/components/navigations/sidebars/sidebar/SidebarNavGroup.mjs +1 -1
  32. package/dist/components/navigations/sidebars/sidebar/SidebarNavGroup.mjs.map +1 -1
  33. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.d.mts +4 -0
  34. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.d.mts.map +1 -1
  35. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.mjs +1 -1
  36. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.mjs.map +1 -1
  37. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.d.mts +36 -0
  38. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.d.mts.map +1 -0
  39. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.mjs +2 -0
  40. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.mjs.map +1 -0
  41. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButtonCollapsed.mjs +2 -0
  42. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButtonCollapsed.mjs.map +1 -0
  43. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.mts +19 -2
  44. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.mts.map +1 -1
  45. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.mjs +2 -0
  46. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.mjs.map +1 -0
  47. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.d.mts +17 -0
  48. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.d.mts.map +1 -0
  49. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.mjs +2 -0
  50. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.mjs.map +1 -0
  51. package/dist/index.d.mts +3 -3
  52. package/dist/index.mjs +1 -1
  53. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime64 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime70 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/controls/utils/chevron/Chevron.d.ts
4
4
  type ChevronProps = {
@@ -21,7 +21,7 @@ declare const Chevron: ({
21
21
  chevronOpen,
22
22
  chevronClose,
23
23
  classNames
24
- }: ChevronProps) => react_jsx_runtime64.JSX.Element;
24
+ }: ChevronProps) => react_jsx_runtime70.JSX.Element;
25
25
  //#endregion
26
26
  export { Chevron, ChevronProps };
27
27
  //# sourceMappingURL=Chevron.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime65 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime71 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/controls/utils/clear-button/ClearButton.d.ts
4
4
  type ClearButtonProps = {
@@ -20,7 +20,7 @@ declare const ClearButton: ({
20
20
  onClick,
21
21
  name,
22
22
  classNames
23
- }: ClearButtonProps) => react_jsx_runtime65.JSX.Element;
23
+ }: ClearButtonProps) => react_jsx_runtime71.JSX.Element;
24
24
  //#endregion
25
25
  export { ClearButton, ClearButtonProps };
26
26
  //# sourceMappingURL=ClearButton.d.mts.map
@@ -11,7 +11,7 @@ import { LoaderDot, LoaderDotProps } from "./loader-dot/LoaderDot.mjs";
11
11
  import { LoaderOval, LoaderOvalProps } from "./loader-oval/LoaderOval.mjs";
12
12
  import { LogoImage, LogoImageProps } from "./logos/logo-image/LogoImage.mjs";
13
13
  import { LogoSvg, LogoSvgProps } from "./logos/logo-svg/LogoSvg.mjs";
14
- import { NotificationBanner, NotificationBannerProps } from "./notification-banner/NotificationBanner.mjs";
14
+ import { NotificationBanner, NotificationBannerIntent, NotificationBannerProps } from "./notification-banner/NotificationBanner.mjs";
15
15
  import { RemovableItem, RemovableItemProps } from "./removable-item/RemovableItem.mjs";
16
16
  import { Tag, TagProps } from "./tag/Tag.mjs";
17
17
  import { TagGroup, TagGroupProps } from "./tag-group/TagGroup.mjs";
@@ -1,9 +1,11 @@
1
1
  import { IconProps } from "../icons/icon/Icon.mjs";
2
2
  import { IconWrappedProps } from "../icons/icon-wrapped/IconWrapped.mjs";
3
- import { ComponentPropsWithRef, ReactNode } from "react";
3
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
4
4
 
5
5
  //#region src/components/data-display/notification-banner/NotificationBanner.d.ts
6
- type NotificationBannerProps = ComponentPropsWithRef<'div'> & {
6
+ type NotificationBannerIntent = 'info' | 'success' | 'warning' | 'danger';
7
+ type NotificationBannerProps = ComponentPropsWithoutRef<'div'> & {
8
+ intent?: NotificationBannerIntent;
7
9
  startSlot?: ReactNode;
8
10
  children: ReactNode;
9
11
  classNames?: {
@@ -17,10 +19,13 @@ type NotificationBannerProps = ComponentPropsWithRef<'div'> & {
17
19
  };
18
20
  };
19
21
  declare const NotificationBanner: ({
22
+ intent,
20
23
  startSlot,
21
24
  children,
22
- classNames
25
+ classNames,
26
+ className,
27
+ ...props
23
28
  }: NotificationBannerProps) => ReactNode;
24
29
  //#endregion
25
- export { NotificationBanner, NotificationBannerProps };
30
+ export { NotificationBanner, NotificationBannerIntent, NotificationBannerProps };
26
31
  //# sourceMappingURL=NotificationBanner.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationBanner.d.mts","names":[],"sources":["../../../../src/components/data-display/notification-banner/NotificationBanner.tsx"],"mappings":";;;;;KAuBY,uBAAA,GAA0B,qBAAA;EACpC,SAAA,GAAY,SAAA;EACZ,QAAA,EAAU,SAAA;EACV,UAAA;IACE,kBAAA;IACA,IAAA;IACA,OAAA;IACA,OAAA;IACA,OAAA;IACA,WAAA,GAAc,gBAAA;IACd,IAAA,GAAO,SAAA;EAAA;AAAA;AAAA,cAIE,kBAAA;EAAsB,SAAA;EAAA,QAAA;EAAA;AAAA,GAIhC,uBAAA,KAA0B,SAAA"}
1
+ {"version":3,"file":"NotificationBanner.d.mts","names":[],"sources":["../../../../src/components/data-display/notification-banner/NotificationBanner.tsx"],"mappings":";;;;;KAuBY,wBAAA;AAAA,KAaA,uBAAA,GAA0B,wBAAA;EACpC,MAAA,GAAS,wBAAA;EACT,SAAA,GAAY,SAAA;EACZ,QAAA,EAAU,SAAA;EACV,UAAA;IACE,kBAAA;IACA,IAAA;IACA,OAAA;IACA,OAAA;IACA,OAAA;IACA,WAAA,GAAc,gBAAA;IACd,IAAA,GAAO,SAAA;EAAA;AAAA;AAAA,cAIE,kBAAA;EAAsB,MAAA;EAAA,SAAA;EAAA,QAAA;EAAA,UAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAOhC,uBAAA,KAA0B,SAAA"}
@@ -1,2 +1,2 @@
1
- import{Icon as e}from"../icons/icon/Icon.mjs";import{IconWrapped as t}from"../icons/icon-wrapped/IconWrapped.mjs";import{cx as n}from"@mage-ui/styled-system/css";import{notificationBanner as r,notificationBannerContent as i,notificationBannerIcon as a,notificationBannerIconIconRaw as o,notificationBannerIconIconRawRoot as s,notificationBannerIconRoot as c,notificationBannerIconWrapped as l,notificationBannerIconWrappedRoot as u,notificationBannerRoot as d,notificationBannerSection as f,notificationBannerWrapper as p}from"@mage-ui/styled-system/recipes";import{jsx as m,jsxs as h}from"react/jsx-runtime";const g=({startSlot:g,children:_,classNames:v})=>m(`div`,{className:n(v?.notificationBanner??r(),v?.root??d()),children:h(`div`,{className:v?.wrapper??p(),children:[m(`div`,{className:v?.section??f(),children:g||m(t,{classNames:{iconWrapped:v?.iconWrapped?.iconWrapped??l(),root:v?.iconWrapped?.root??u()},children:m(e,{name:`mage-notification-banner-info-circle`,path:`/icons/sprite-mage.svg`,classNames:{icon:v?.icon?.icon??a(),root:v?.icon?.root??c(),iconRaw:{iconRaw:v?.icon?.iconRaw?.iconRaw??o(),root:v?.icon?.iconRaw?.root??s()}}})})}),m(`div`,{className:v?.content??i(),children:_})]})});export{g as NotificationBanner};
1
+ import{Icon as e}from"../icons/icon/Icon.mjs";import{IconWrapped as t}from"../icons/icon-wrapped/IconWrapped.mjs";import{cx as n}from"@mage-ui/styled-system/css";import{notificationBanner as r,notificationBannerContent as i,notificationBannerIcon as a,notificationBannerIconIconRaw as o,notificationBannerIconIconRawRoot as s,notificationBannerIconRoot as c,notificationBannerIconWrapped as l,notificationBannerIconWrappedRoot as u,notificationBannerRoot as d,notificationBannerSection as f,notificationBannerWrapper as p}from"@mage-ui/styled-system/recipes";import{jsx as m,jsxs as h}from"react/jsx-runtime";const g={info:`mage-notification-banner-info-circle`,success:`mage-notification-banner-info-circle`,warning:`mage-notification-banner-info-circle`,danger:`mage-notification-banner-info-circle`},_=({intent:_=`info`,startSlot:v,children:y,classNames:b,className:x,...S})=>{let C=g[_];return m(`div`,{...S,"data-intent":_,className:n(b?.notificationBanner??r(),b?.root??d(),x),children:h(`div`,{className:b?.wrapper??p(),children:[m(`div`,{className:b?.section??f(),children:v||m(t,{classNames:{iconWrapped:b?.iconWrapped?.iconWrapped??l(),root:b?.iconWrapped?.root??u()},children:m(e,{name:C,path:`/icons/sprite-mage.svg`,classNames:{icon:b?.icon?.icon??a(),root:b?.icon?.root??c(),iconRaw:{iconRaw:b?.icon?.iconRaw?.iconRaw??o(),root:b?.icon?.iconRaw?.root??s()}}})})}),m(`div`,{className:b?.content??i(),children:y})]})})};export{_ as NotificationBanner};
2
2
  //# sourceMappingURL=NotificationBanner.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationBanner.mjs","names":[],"sources":["../../../../src/components/data-display/notification-banner/NotificationBanner.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n notificationBanner,\n notificationBannerContent,\n notificationBannerIcon,\n notificationBannerIconIconRaw,\n notificationBannerIconIconRawRoot,\n notificationBannerIconRoot,\n notificationBannerIconWrapped,\n notificationBannerIconWrappedRoot,\n notificationBannerRoot,\n notificationBannerSection,\n notificationBannerWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Icon, type IconProps } from '../icons/icon/Icon';\nimport {\n IconWrapped,\n type IconWrappedProps,\n} from '../icons/icon-wrapped/IconWrapped';\n\nexport type NotificationBannerProps = ComponentPropsWithRef<'div'> & {\n startSlot?: ReactNode;\n children: ReactNode;\n classNames?: {\n notificationBanner?: string;\n root?: string;\n wrapper?: string;\n section?: string;\n content?: string;\n iconWrapped?: IconWrappedProps['classNames'];\n icon?: IconProps['classNames'];\n };\n};\n\nexport const NotificationBanner = ({\n startSlot,\n children,\n classNames,\n}: NotificationBannerProps): ReactNode => {\n return (\n <div\n className={cx(\n classNames?.notificationBanner ?? notificationBanner(),\n classNames?.root ?? notificationBannerRoot(),\n )}\n >\n <div className={classNames?.wrapper ?? notificationBannerWrapper()}>\n <div className={classNames?.section ?? notificationBannerSection()}>\n {startSlot ? (\n startSlot\n ) : (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.iconWrapped?.iconWrapped ??\n notificationBannerIconWrapped(),\n root:\n classNames?.iconWrapped?.root ??\n notificationBannerIconWrappedRoot(),\n }}\n >\n <Icon\n name='mage-notification-banner-info-circle'\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.icon?.icon ?? notificationBannerIcon(),\n root: classNames?.icon?.root ?? notificationBannerIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.icon?.iconRaw?.iconRaw ??\n notificationBannerIconIconRaw(),\n root:\n classNames?.icon?.iconRaw?.root ??\n notificationBannerIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n )}\n </div>\n <div className={classNames?.content ?? notificationBannerContent()}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"imBAqCA,MAAa,GAAsB,CACjC,YACA,WACA,gBAGE,EAAC,MAAA,CACC,UAAW,EACT,GAAY,oBAAsB,GAAoB,CACtD,GAAY,MAAQ,GAAwB,CAC7C,UAED,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,WAChE,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,UAC/D,GAGC,EAAC,EAAA,CACC,WAAY,CACV,YACE,GAAY,aAAa,aACzB,GAA+B,CACjC,KACE,GAAY,aAAa,MACzB,GAAmC,CACtC,UAED,EAAC,EAAA,CACC,KAAK,uCACL,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,MAAM,MAAQ,GAAwB,CACxD,KAAM,GAAY,MAAM,MAAQ,GAA4B,CAC5D,QAAS,CACP,QACE,GAAY,MAAM,SAAS,SAC3B,GAA+B,CACjC,KACE,GAAY,MAAM,SAAS,MAC3B,GAAmC,CACtC,CACF,EACD,EACU,EAEZ,CACN,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,CAC/D,YACG,CAAA,EACF,EACF"}
1
+ {"version":3,"file":"NotificationBanner.mjs","names":[],"sources":["../../../../src/components/data-display/notification-banner/NotificationBanner.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n notificationBanner,\n notificationBannerContent,\n notificationBannerIcon,\n notificationBannerIconIconRaw,\n notificationBannerIconIconRawRoot,\n notificationBannerIconRoot,\n notificationBannerIconWrapped,\n notificationBannerIconWrappedRoot,\n notificationBannerRoot,\n notificationBannerSection,\n notificationBannerWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Icon, type IconProps } from '../icons/icon/Icon';\nimport {\n IconWrapped,\n type IconWrappedProps,\n} from '../icons/icon-wrapped/IconWrapped';\n\nexport type NotificationBannerIntent =\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\n\nconst INTENT_ICON_NAME_MAP: Record<NotificationBannerIntent, string> = {\n info: 'mage-notification-banner-info-circle',\n success: 'mage-notification-banner-info-circle',\n warning: 'mage-notification-banner-info-circle',\n danger: 'mage-notification-banner-info-circle',\n};\n\nexport type NotificationBannerProps = ComponentPropsWithoutRef<'div'> & {\n intent?: NotificationBannerIntent;\n startSlot?: ReactNode;\n children: ReactNode;\n classNames?: {\n notificationBanner?: string;\n root?: string;\n wrapper?: string;\n section?: string;\n content?: string;\n iconWrapped?: IconWrappedProps['classNames'];\n icon?: IconProps['classNames'];\n };\n};\n\nexport const NotificationBanner = ({\n intent = 'info',\n startSlot,\n children,\n classNames,\n className,\n ...props\n}: NotificationBannerProps): ReactNode => {\n const iconName = INTENT_ICON_NAME_MAP[intent];\n\n return (\n <div\n {...props}\n data-intent={intent}\n className={cx(\n classNames?.notificationBanner ?? notificationBanner(),\n classNames?.root ?? notificationBannerRoot(),\n className,\n )}\n >\n <div className={classNames?.wrapper ?? notificationBannerWrapper()}>\n <div className={classNames?.section ?? notificationBannerSection()}>\n {startSlot ? (\n startSlot\n ) : (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.iconWrapped?.iconWrapped ??\n notificationBannerIconWrapped(),\n root:\n classNames?.iconWrapped?.root ??\n notificationBannerIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.icon?.icon ?? notificationBannerIcon(),\n root: classNames?.icon?.root ?? notificationBannerIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.icon?.iconRaw?.iconRaw ??\n notificationBannerIconIconRaw(),\n root:\n classNames?.icon?.iconRaw?.root ??\n notificationBannerIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n )}\n </div>\n <div className={classNames?.content ?? notificationBannerContent()}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"imBA6BA,MAAM,EAAiE,CACrE,KAAM,uCACN,QAAS,uCACT,QAAS,uCACT,OAAQ,uCACT,CAiBY,GAAsB,CACjC,SAAS,OACT,YACA,WACA,aACA,YACA,GAAG,KACqC,CACxC,IAAM,EAAW,EAAqB,GAEtC,OACE,EAAC,MAAA,CACC,GAAI,EACJ,cAAa,EACb,UAAW,EACT,GAAY,oBAAsB,GAAoB,CACtD,GAAY,MAAQ,GAAwB,CAC5C,EACD,UAED,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,WAChE,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,UAC/D,GAGC,EAAC,EAAA,CACC,WAAY,CACV,YACE,GAAY,aAAa,aACzB,GAA+B,CACjC,KACE,GAAY,aAAa,MACzB,GAAmC,CACtC,UAED,EAAC,EAAA,CACC,KAAM,EACN,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,MAAM,MAAQ,GAAwB,CACxD,KAAM,GAAY,MAAM,MAAQ,GAA4B,CAC5D,QAAS,CACP,QACE,GAAY,MAAM,SAAS,SAC3B,GAA+B,CACjC,KACE,GAAY,MAAM,SAAS,MAC3B,GAAmC,CACtC,CACF,EACD,EACU,EAEZ,CACN,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,CAC/D,YACG,CAAA,EACF,EACF"}
@@ -1,6 +1,6 @@
1
1
  import { ButtonIconProps } from "../../buttons/button-icon/ButtonIcon.mjs";
2
2
  import "../../buttons/index.mjs";
3
- import * as react_jsx_runtime45 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime46 from "react/jsx-runtime";
4
4
  import { ReactNode } from "react";
5
5
 
6
6
  //#region src/components/data-display/removable-item/RemovableItem.d.ts
@@ -23,7 +23,7 @@ declare const RemovableItem: ({
23
23
  onRemove,
24
24
  removeButtonLabel,
25
25
  classNames
26
- }: RemovableItemProps) => react_jsx_runtime45.JSX.Element;
26
+ }: RemovableItemProps) => react_jsx_runtime46.JSX.Element;
27
27
  //#endregion
28
28
  export { RemovableItem, RemovableItemProps };
29
29
  //# sourceMappingURL=RemovableItem.d.mts.map
@@ -1,7 +1,7 @@
1
1
  import { BadgeProps } from "../badge/Badge.mjs";
2
2
  import { TagGroupProps } from "../tag-group/TagGroup.mjs";
3
3
  import "../index.mjs";
4
- import * as react_jsx_runtime46 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime47 from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/data-display/tag/Tag.d.ts
7
7
  type TagProps = Omit<BadgeProps, 'classNames'> & {
@@ -25,11 +25,11 @@ declare const Tag: {
25
25
  onRemove,
26
26
  classNames,
27
27
  children
28
- }: TagProps): react_jsx_runtime46.JSX.Element;
28
+ }: TagProps): react_jsx_runtime47.JSX.Element;
29
29
  Group: ({
30
30
  children,
31
31
  classNames
32
- }: TagGroupProps) => react_jsx_runtime46.JSX.Element;
32
+ }: TagGroupProps) => react_jsx_runtime47.JSX.Element;
33
33
  };
34
34
  //#endregion
35
35
  export { Tag, TagProps };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime48 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime49 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/data-display/tag-group/TagGroup.d.ts
4
4
  type TagGroupProps = {
@@ -11,7 +11,7 @@ type TagGroupProps = {
11
11
  declare const TagGroup: ({
12
12
  children,
13
13
  classNames
14
- }: TagGroupProps) => react_jsx_runtime48.JSX.Element;
14
+ }: TagGroupProps) => react_jsx_runtime49.JSX.Element;
15
15
  //#endregion
16
16
  export { TagGroup, TagGroupProps };
17
17
  //# sourceMappingURL=TagGroup.d.mts.map
@@ -2,7 +2,7 @@ import { IconProps } from "../icons/icon/Icon.mjs";
2
2
  import { IconWrappedProps } from "../icons/icon-wrapped/IconWrapped.mjs";
3
3
  import { RemovableItemProps } from "../removable-item/RemovableItem.mjs";
4
4
  import "../index.mjs";
5
- import * as react_jsx_runtime49 from "react/jsx-runtime";
5
+ import * as react_jsx_runtime50 from "react/jsx-runtime";
6
6
  import { ReactNode } from "react";
7
7
 
8
8
  //#region src/components/data-display/uploaded-file/UploadedFile.d.ts
@@ -35,7 +35,7 @@ declare const UploadedFile: ({
35
35
  children,
36
36
  onRemove,
37
37
  classNames
38
- }: UploadedFileProps) => react_jsx_runtime49.JSX.Element;
38
+ }: UploadedFileProps) => react_jsx_runtime50.JSX.Element;
39
39
  //#endregion
40
40
  export { UploadedFile, UploadedFileProps };
41
41
  //# sourceMappingURL=UploadedFile.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime50 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime45 from "react/jsx-runtime";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/data-display/uploaded-file/UploadedFileDetails.d.ts
@@ -17,7 +17,7 @@ declare const UploadedFileDetails: ({
17
17
  fileDate,
18
18
  fileType,
19
19
  classNames
20
- }: UploadedFileDetailsProps) => react_jsx_runtime50.JSX.Element;
20
+ }: UploadedFileDetailsProps) => react_jsx_runtime45.JSX.Element;
21
21
  //#endregion
22
22
  export { UploadedFileDetails, UploadedFileDetailsProps };
23
23
  //# sourceMappingURL=UploadedFileDetails.d.mts.map
@@ -1,2 +1,2 @@
1
- const e=[{key:`password.rules.min`,text:`Mínimo 12 caracteres`,validate:e=>e.length>=12},{key:`password.rules.lower`,text:`Al menos una minúscula`,validate:e=>/[a-z]/.test(e)},{key:`password.rules.upper`,text:`Al menos una mayúscula`,validate:e=>/[A-Z]/.test(e)},{key:`password.rules.digit`,text:`Al menos un número`,validate:e=>/[0-9]/.test(e)},{key:`password.rules.symbol`,text:`Al menos un símbolo`,validate:e=>/[\W_]/.test(e)},{key:`password.rules.whitespace`,text:`Sin espacios en blanco`,validate:e=>!/\s/.test(e)}];export{e as PASSWORD_RULES};
1
+ const e=[{key:`password.rules.min`,text:`Mínimo 12 caracteres`,validate:e=>e.length>=12},{key:`password.rules.lower`,text:`Al menos una minúscula`,validate:e=>/[a-z]/.test(e)},{key:`password.rules.upper`,text:`Al menos una mayúscula`,validate:e=>/[A-Z]/.test(e)},{key:`password.rules.digit`,text:`Al menos un número`,validate:e=>/[0-9]/.test(e)},{key:`password.rules.symbol`,text:`Al menos un símbolo`,validate:e=>/[^A-Za-z0-9\s]/.test(e)},{key:`password.rules.whitespace`,text:`Sin espacios en blanco`,validate:e=>!/\s/.test(e)}];export{e as PASSWORD_RULES};
2
2
  //# sourceMappingURL=password-rules.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"password-rules.mjs","names":[],"sources":["../../../../src/components/forms/rules/password-rules.ts"],"sourcesContent":["import type { PasswordRuleDefinition } from '@/components/controls/password-input/usePasswordRules';\n\nexport const PASSWORD_RULES: PasswordRuleDefinition[] = [\n {\n key: 'password.rules.min',\n text: 'Mínimo 12 caracteres',\n validate: (v) => v.length >= 12,\n },\n {\n key: 'password.rules.lower',\n text: 'Al menos una minúscula',\n validate: (v) => /[a-z]/.test(v),\n },\n {\n key: 'password.rules.upper',\n text: 'Al menos una mayúscula',\n validate: (v) => /[A-Z]/.test(v),\n },\n {\n key: 'password.rules.digit',\n text: 'Al menos un número',\n validate: (v) => /[0-9]/.test(v),\n },\n {\n key: 'password.rules.symbol',\n text: 'Al menos un símbolo',\n validate: (v) => /[\\W_]/.test(v),\n },\n {\n key: 'password.rules.whitespace',\n text: 'Sin espacios en blanco',\n validate: (v) => !/\\s/.test(v),\n },\n];\n"],"mappings":"AAEA,MAAa,EAA2C,CACtD,CACE,IAAK,qBACL,KAAM,uBACN,SAAW,GAAM,EAAE,QAAU,GAC9B,CACD,CACE,IAAK,uBACL,KAAM,yBACN,SAAW,GAAM,QAAQ,KAAK,EAAE,CACjC,CACD,CACE,IAAK,uBACL,KAAM,yBACN,SAAW,GAAM,QAAQ,KAAK,EAAE,CACjC,CACD,CACE,IAAK,uBACL,KAAM,qBACN,SAAW,GAAM,QAAQ,KAAK,EAAE,CACjC,CACD,CACE,IAAK,wBACL,KAAM,sBACN,SAAW,GAAM,QAAQ,KAAK,EAAE,CACjC,CACD,CACE,IAAK,4BACL,KAAM,yBACN,SAAW,GAAM,CAAC,KAAK,KAAK,EAAE,CAC/B,CACF"}
1
+ {"version":3,"file":"password-rules.mjs","names":[],"sources":["../../../../src/components/forms/rules/password-rules.ts"],"sourcesContent":["import type { PasswordRuleDefinition } from '@/components/controls/password-input/usePasswordRules';\n\nexport const PASSWORD_RULES: PasswordRuleDefinition[] = [\n {\n key: 'password.rules.min',\n text: 'Mínimo 12 caracteres',\n validate: (v) => v.length >= 12,\n },\n {\n key: 'password.rules.lower',\n text: 'Al menos una minúscula',\n validate: (v) => /[a-z]/.test(v),\n },\n {\n key: 'password.rules.upper',\n text: 'Al menos una mayúscula',\n validate: (v) => /[A-Z]/.test(v),\n },\n {\n key: 'password.rules.digit',\n text: 'Al menos un número',\n validate: (v) => /[0-9]/.test(v),\n },\n {\n key: 'password.rules.symbol',\n text: 'Al menos un símbolo',\n validate: (v) => /[^A-Za-z0-9\\s]/.test(v),\n },\n {\n key: 'password.rules.whitespace',\n text: 'Sin espacios en blanco',\n validate: (v) => !/\\s/.test(v),\n },\n];\n"],"mappings":"AAEA,MAAa,EAA2C,CACtD,CACE,IAAK,qBACL,KAAM,uBACN,SAAW,GAAM,EAAE,QAAU,GAC9B,CACD,CACE,IAAK,uBACL,KAAM,yBACN,SAAW,GAAM,QAAQ,KAAK,EAAE,CACjC,CACD,CACE,IAAK,uBACL,KAAM,yBACN,SAAW,GAAM,QAAQ,KAAK,EAAE,CACjC,CACD,CACE,IAAK,uBACL,KAAM,qBACN,SAAW,GAAM,QAAQ,KAAK,EAAE,CACjC,CACD,CACE,IAAK,wBACL,KAAM,sBACN,SAAW,GAAM,iBAAiB,KAAK,EAAE,CAC1C,CACD,CACE,IAAK,4BACL,KAAM,yBACN,SAAW,GAAM,CAAC,KAAK,KAAK,EAAE,CAC/B,CACF"}
@@ -23,7 +23,7 @@ import { LoaderDot, LoaderDotProps } from "./data-display/loader-dot/LoaderDot.m
23
23
  import { LoaderOval, LoaderOvalProps } from "./data-display/loader-oval/LoaderOval.mjs";
24
24
  import { LogoImage, LogoImageProps } from "./data-display/logos/logo-image/LogoImage.mjs";
25
25
  import { LogoSvg, LogoSvgProps } from "./data-display/logos/logo-svg/LogoSvg.mjs";
26
- import { NotificationBanner, NotificationBannerProps } from "./data-display/notification-banner/NotificationBanner.mjs";
26
+ import { NotificationBanner, NotificationBannerIntent, NotificationBannerProps } from "./data-display/notification-banner/NotificationBanner.mjs";
27
27
  import { RemovableItem, RemovableItemProps } from "./data-display/removable-item/RemovableItem.mjs";
28
28
  import { Tag, TagProps } from "./data-display/tag/Tag.mjs";
29
29
  import { TagGroup, TagGroupProps } from "./data-display/tag-group/TagGroup.mjs";
@@ -59,7 +59,7 @@ import { ScrollAreaAutosize, ScrollAreaAutosizeProps } from "./misc/scroll-area-
59
59
  import { VisuallyHidden, VisuallyHiddenProps } from "./misc/visually-hidden/VisuallyHidden.mjs";
60
60
  import "./misc/index.mjs";
61
61
  import { Breadcrumbs, BreadcrumbsProps } from "./navigations/breadcrumbs/Breadcrumbs.mjs";
62
- import { ItemType, NavType, Sidebar, SidebarProps } from "./navigations/sidebars/sidebar/Sidebar.mjs";
62
+ import { NavType, Sidebar, SidebarProps } from "./navigations/sidebars/sidebar/Sidebar.mjs";
63
63
  import "./navigations/index.mjs";
64
64
  import { Modal, ModalProps, ModalRootProps } from "./overlays/modal/Modal.mjs";
65
65
  import { ModalAlert, ModalAlertClassNames, ModalAlertPublicProps } from "./overlays/modals/alert/ModalAlert.mjs";
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime62 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime68 from "react/jsx-runtime";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/layouts/top-bar/TopBar.d.ts
@@ -17,7 +17,7 @@ declare const TopBar: ({
17
17
  startSlot,
18
18
  endSlot,
19
19
  classNames
20
- }: TopBarProps) => react_jsx_runtime62.JSX.Element;
20
+ }: TopBarProps) => react_jsx_runtime68.JSX.Element;
21
21
  //#endregion
22
22
  export { TopBar, TopBarProps };
23
23
  //# sourceMappingURL=TopBar.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime51 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime52 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/components/misc/horizontal-divider/HorizontalDivider.d.ts
4
4
  type HorizontalDividerProps = {
@@ -9,7 +9,7 @@ type HorizontalDividerProps = {
9
9
  };
10
10
  declare const HorizontalDivider: ({
11
11
  classNames
12
- }: HorizontalDividerProps) => react_jsx_runtime51.JSX.Element;
12
+ }: HorizontalDividerProps) => react_jsx_runtime52.JSX.Element;
13
13
  //#endregion
14
14
  export { HorizontalDivider, HorizontalDividerProps };
15
15
  //# sourceMappingURL=HorizontalDivider.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime52 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime51 from "react/jsx-runtime";
2
2
  import { ComponentPropsWithoutRef, ReactNode } from "react";
3
3
 
4
4
  //#region src/components/misc/visually-hidden/VisuallyHidden.d.ts
@@ -8,7 +8,7 @@ type VisuallyHiddenProps = {
8
8
  declare const VisuallyHidden: ({
9
9
  children,
10
10
  ...props
11
- }: VisuallyHiddenProps) => react_jsx_runtime52.JSX.Element;
11
+ }: VisuallyHiddenProps) => react_jsx_runtime51.JSX.Element;
12
12
  //#endregion
13
13
  export { VisuallyHidden, VisuallyHiddenProps };
14
14
  //# sourceMappingURL=VisuallyHidden.d.mts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime61 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime67 from "react/jsx-runtime";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  //#region src/components/navigations/breadcrumbs/Breadcrumbs.d.ts
@@ -19,7 +19,7 @@ declare const Breadcrumbs: {
19
19
  separator,
20
20
  children,
21
21
  classNames
22
- }: BreadcrumbsProps): react_jsx_runtime61.JSX.Element;
22
+ }: BreadcrumbsProps): react_jsx_runtime67.JSX.Element;
23
23
  Item: {
24
24
  ({
25
25
  children
@@ -1,3 +1,3 @@
1
1
  import { Menu, MenuProps } from "./menu/Menu.mjs";
2
2
  import { Breadcrumbs, BreadcrumbsProps } from "./breadcrumbs/Breadcrumbs.mjs";
3
- import { ItemType, NavType, Sidebar, SidebarProps } from "./sidebars/sidebar/Sidebar.mjs";
3
+ import { NavType, Sidebar, SidebarProps } from "./sidebars/sidebar/Sidebar.mjs";
@@ -4,10 +4,15 @@ import * as react_jsx_runtime22 from "react/jsx-runtime";
4
4
  import { ReactNode } from "react";
5
5
 
6
6
  //#region src/components/navigations/menu/Menu.d.ts
7
+ type MenuTargetButtonProps = Partial<ButtonProps> & {
8
+ [key: `data-${string}`]: string | number | boolean | undefined;
9
+ };
7
10
  type MenuProps = {
8
11
  target: ReactNode;
9
12
  children: ReactNode;
10
13
  withinPortal?: boolean;
14
+ opened?: boolean;
15
+ onOpenedChange?: (opened: boolean) => void;
11
16
  position?: 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end';
12
17
  width?: number | string;
13
18
  keepMounted?: boolean;
@@ -21,15 +26,21 @@ type MenuProps = {
21
26
  divider?: string;
22
27
  target?: {
23
28
  button: string;
29
+ root?: string;
30
+ inner?: string;
31
+ label?: string;
32
+ section?: string;
24
33
  };
25
34
  };
26
- targetButtonProps?: Partial<ButtonProps>;
35
+ targetButtonProps?: MenuTargetButtonProps;
27
36
  };
28
37
  declare const Menu: {
29
38
  ({
30
39
  target,
31
40
  children,
32
41
  withinPortal,
42
+ opened,
43
+ onOpenedChange,
33
44
  position,
34
45
  width,
35
46
  keepMounted,
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.mts","names":[],"sources":["../../../../src/components/navigations/menu/Menu.tsx"],"mappings":";;;;;;KAeY,SAAA;EACV,MAAA,EAAQ,SAAA;EACR,QAAA,EAAU,SAAA;EACV,YAAA;EACA,QAAA;EAaA,KAAA;EACA,WAAA;EACA,MAAA;EACA,UAAA;IACE,IAAA;IACA,IAAA;IACA,IAAA;IACA,SAAA;IACA,WAAA;IACA,OAAA;IACA,MAAA;MACE,MAAA;IAAA;EAAA;EAGJ,iBAAA,GAAoB,OAAA,CAAQ,WAAA;AAAA;AAAA,cAGjB,IAAA;EAAA;;;;;;;;;;KAUV,SAAA,GAAS,mBAAA,CAAA,GAAA,CAAA,OAAA;;;;;MAwCsB,QAAA,EAAU,SAAA;IAAA,IAAW,mBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Menu.d.mts","names":[],"sources":["../../../../src/components/navigations/menu/Menu.tsx"],"mappings":";;;;;;KAmBK,qBAAA,GAAwB,OAAA,CAAQ,WAAA;EAAA,CAClC,GAAA;AAAA;AAAA,KAGS,SAAA;EACV,MAAA,EAAQ,SAAA;EACR,QAAA,EAAU,SAAA;EACV,YAAA;EACA,MAAA;EACA,cAAA,IAAkB,MAAA;EAClB,QAAA;EAaA,KAAA;EACA,WAAA;EACA,MAAA;EACA,UAAA;IACE,IAAA;IACA,IAAA;IACA,IAAA;IACA,SAAA;IACA,WAAA;IACA,OAAA;IACA,MAAA;MACE,MAAA;MACA,IAAA;MACA,KAAA;MACA,KAAA;MACA,OAAA;IAAA;EAAA;EAGJ,iBAAA,GAAoB,qBAAA;AAAA;AAAA,cAGT,IAAA;EAAA;;;;;;;;;;;;KAYV,SAAA,GAAS,mBAAA,CAAA,GAAA,CAAA,OAAA;;;;;MA8CsB,QAAA,EAAU,SAAA;IAAA,IAAW,mBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +1,2 @@
1
- import{Button as e}from"../../buttons/button/Button.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{menu as n,menuDivider as r,menuItem as i,menuItemLabel as a,menuItemSection as o,menuRoot as s,menuTargetButton as c}from"@mage-ui/styled-system/recipes";import{Menu as l,useCombobox as u}from"@mantine/core";import{jsx as d,jsxs as f}from"react/jsx-runtime";const p=({target:p,children:m,withinPortal:h,position:g,width:_,keepMounted:v,offset:y,classNames:b,targetButtonProps:x})=>{let S=u({onDropdownClose:()=>S.resetSelectedOption()});return f(l,{offset:y||4,withinPortal:h,position:g,width:_,keepMounted:v,classNames:{dropdown:t(b?.menu??n(),b?.root??s()),item:b?.item??i(),itemLabel:b?.itemLabel??a(),itemSection:b?.itemSection??o(),divider:b?.divider??r()},children:[d(l.Target,{children:d(e,{classNames:{button:b?.target?.button??c()},onClick:()=>S.toggleDropdown(),...x,children:p})}),d(l.Dropdown,{children:m})]})},m=({children:e})=>d(l.Item,{component:`div`,children:e}),h=()=>d(l.Divider,{});p.Item=m,m.displayName=`Menu.Item`,p.Divider=h,h.displayName=`Menu.Divider`;export{p as Menu};
1
+ import{Button as e}from"../../buttons/button/Button.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{menu as n,menuDivider as r,menuItem as i,menuItemLabel as a,menuItemSection as o,menuRoot as s,menuTargetButton as c,menuTargetButtonInner as l,menuTargetButtonLabel as u,menuTargetButtonRoot as d,menuTargetButtonSection as f}from"@mage-ui/styled-system/recipes";import{Menu as p,useCombobox as m}from"@mantine/core";import{jsx as h,jsxs as g}from"react/jsx-runtime";const _=({target:_,children:v,withinPortal:y,opened:b,onOpenedChange:x,position:S,width:C,keepMounted:w,offset:T,classNames:E,targetButtonProps:D})=>{let O=m({onDropdownClose:()=>O.resetSelectedOption()});return g(p,{offset:T||4,withinPortal:y,opened:b,onChange:x,position:S,width:C,keepMounted:w,classNames:{dropdown:t(E?.menu??n(),E?.root??s()),item:E?.item??i(),itemLabel:E?.itemLabel??a(),itemSection:E?.itemSection??o(),divider:E?.divider??r()},children:[h(p.Target,{children:h(e,{classNames:{button:E?.target?.button??c(),root:E?.target?.root??d(),inner:E?.target?.inner??l(),label:E?.target?.label??u(),section:E?.target?.section??f()},onClick:()=>O.toggleDropdown(),...D,children:_})}),h(p.Dropdown,{children:v})]})},v=({children:e})=>h(p.Item,{component:`div`,children:e}),y=()=>h(p.Divider,{});_.Item=v,v.displayName=`Menu.Item`,_.Divider=y,y.displayName=`Menu.Divider`;export{_ as Menu};
2
2
  //# sourceMappingURL=Menu.mjs.map
@@ -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";
2
+ import { NavItemButtonProps } from "./SidebarNavItemButton.mjs";
3
+ import { LinkType, NavItemLinkProps } from "./SidebarNavItemLink.mjs";
4
+ import { SubnavProps } from "./SidebarSubnav.mjs";
3
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,6 +46,7 @@ declare const Sidebar: {
38
46
  ({
39
47
  classNames,
40
48
  isVisible,
49
+ isSubnav,
41
50
  children
42
51
  }: NavItemProps): react_jsx_runtime59.JSX.Element | null;
43
52
  displayName: string;
@@ -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
70
  }): react_jsx_runtime59.JSX.Element | null;
62
71
  displayName: string;
63
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;
151
+ displayName: string;
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"}
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 };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{AssignedUser as i}from"./components/data-display/assigned-user/AssignedUser.mjs";import{Avatar as a}from"./components/data-display/avatar/Avatar.mjs";import{Badge as o}from"./components/data-display/badge/Badge.mjs";import{Calendar as s,momentLocalizer as c}from"./components/data-display/calendar/Calendar.mjs";import{IconRaw as l}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as u}from"./components/data-display/icons/icon/Icon.mjs";import{IconSvg as d}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{IconWrapped as f}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Indicator as p}from"./components/data-display/indicator/Indicator.mjs";import{LoaderDot as m}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as h}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as g}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as _}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as v}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as y}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as b}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as x}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as S}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as C}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{HorizontalDivider as w}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollArea as T}from"./components/misc/scroll-area/ScrollArea.mjs";import{ScrollAreaAutosize as E}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{ButtonIcon as D}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as O}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as k}from"./components/buttons/button-visual/ButtonVisual.mjs";import{Menu as A}from"./components/navigations/menu/Menu.mjs";import{TextInput as j}from"./components/controls/text-input/TextInput.mjs";import{Chevron as M}from"./components/controls/utils/chevron/Chevron.mjs";import{ClearButton as N}from"./components/controls/utils/clear-button/ClearButton.mjs";import{Combobox as P}from"./components/controls/combobox/Combobox.mjs";import{Autocomplete as F}from"./components/controls/autocomplete/Autocomplete.mjs";import{Checkbox as I}from"./components/controls/checkbox/Checkbox.mjs";import{DatePicker as L}from"./components/controls/date-picker/DatePicker.mjs";import{Dropzone as R}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneFiles as z}from"./components/controls/dropzone-files/DropzoneFiles.mjs";import{FileInput as B}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as V}from"./components/controls/file-input/FileInputMultiple.mjs";import{MultiSelect as H}from"./components/controls/multi-select/MultiSelect.mjs";import{MultiSelectTags as U}from"./components/controls/multi-select/MultiSelectTags.mjs";import{PasswordInput as W}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as G}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as K}from"./components/controls/password-input/usePasswordRules.mjs";import{PasswordInputStrength as q}from"./components/controls/password-input-strength/oldPasswordInputStrength.mjs";import{Radio as J}from"./components/controls/radio/Radio.mjs";import{Select as Y}from"./components/controls/select/Select.mjs";import{Textarea as X}from"./components/controls/textarea/Textarea.mjs";import{PASSWORD_RULES as Z}from"./components/forms/rules/password-rules.mjs";import{z as Q}from"./components/forms/rules/zod.mjs";import{Form as $}from"./components/forms/Form.mjs";import{TopBar as ee}from"./components/layouts/top-bar/TopBar.mjs";import{Breadcrumbs as te}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Sidebar as ne}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{Modal as re}from"./components/overlays/modal/Modal.mjs";import{createModal as ie}from"./components/overlays/modals/registry/createModal.mjs";import{ModalAlert as ae}from"./components/overlays/modals/alert/ModalAlert.mjs";import{alert as oe}from"./components/overlays/modals/alert/alert.mjs";import{openModalById as se}from"./components/overlays/modals/registry/openModalById.mjs";import{alertById as ce}from"./components/overlays/modals/alert/alertById.mjs";import{ModalConfirm as le}from"./components/overlays/modals/confirm/ModalConfirm.mjs";import{confirm as ue}from"./components/overlays/modals/confirm/confirm.mjs";import{confirmById as de}from"./components/overlays/modals/confirm/confirmById.mjs";import{ModalsProvider as fe}from"./components/overlays/modals/ModalsProvider.mjs";import{registerModal as pe}from"./components/overlays/modals/registry/registerModal.mjs";import{Tooltip as me}from"./components/overlays/tooltip/Tooltip.mjs";import{MageUiProvider as he}from"./providers/MageUiProvider.mjs";import{Notification as ge}from"./semedlab/components/data-display/notification/Notification.mjs";import{UserGroupPreview as _e}from"./semedlab/components/data-display/user-group-preview/UserGroupPreview.mjs";import{UserProfile as ve}from"./semedlab/components/data-display/user-profile/UserProfile.mjs";import{NotificationMenu as ye}from"./semedlab/components/navigations/notification-menu/NotificationMenu.mjs";import{ProfileMenu as be}from"./semedlab/components/navigations/profile-menu/ProfileMenu.mjs";import{BackofficeTopBar as xe}from"./semedlab/components/navigations/backoffice-top-bar/BackofficeTopBar.mjs";import{BreadcrumbsBar as Se}from"./semedlab/components/navigations/breadcrumbs-bar/BreadcrumbsBar.mjs";import{NotificationList as Ce}from"./semedlab/components/navigations/notification-list/NotificationList.mjs";export{i as AssignedUser,F as Autocomplete,a as Avatar,xe as BackofficeTopBar,o as Badge,te as Breadcrumbs,Se as BreadcrumbsBar,e as Button,n as ButtonAction,D as ButtonIcon,O as ButtonIconVisual,r as ButtonLoader,k as ButtonVisual,s as Calendar,I as Checkbox,M as Chevron,N as ClearButton,P as Combobox,L as DatePicker,R as Dropzone,z as DropzoneFiles,B as FileInput,V as FileInputMultiple,$ as Form,w as HorizontalDivider,u as Icon,l as IconRaw,d as IconSvg,f as IconWrapped,p as Indicator,m as LoaderDot,h as LoaderOval,g as LogoImage,_ as LogoSvg,he as MageUiProvider,A as Menu,re as Modal,ae as ModalAlert,le as ModalConfirm,fe as ModalsProvider,H as MultiSelect,U as MultiSelectTags,ge as Notification,v as NotificationBanner,Ce as NotificationList,ye as NotificationMenu,Z as PASSWORD_RULES,W as PasswordInput,q as PasswordInputStrength,G as PasswordStrengthInput,be as ProfileMenu,J as Radio,y as RemovableItem,T as ScrollArea,E as ScrollAreaAutosize,Y as Select,ne as Sidebar,x as Tag,b as TagGroup,j as TextInput,X as Textarea,me as Tooltip,ee as TopBar,S as UploadedFile,C as UploadedFileDetails,_e as UserGroupPreview,ve as UserProfile,t as VisuallyHidden,oe as alert,ce as alertById,ue as confirm,de as confirmById,ie as createModal,c as momentLocalizer,se as openModalById,pe as registerModal,K as usePasswordRules,Q as z};
1
+ import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{AssignedUser as i}from"./components/data-display/assigned-user/AssignedUser.mjs";import{Avatar as a}from"./components/data-display/avatar/Avatar.mjs";import{Badge as o}from"./components/data-display/badge/Badge.mjs";import{Calendar as s,momentLocalizer as c}from"./components/data-display/calendar/Calendar.mjs";import{IconRaw as l}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as u}from"./components/data-display/icons/icon/Icon.mjs";import{IconSvg as d}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{IconWrapped as f}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Indicator as p}from"./components/data-display/indicator/Indicator.mjs";import{LoaderDot as m}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as h}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as g}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as _}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as v}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as y}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as b}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as x}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as S}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as C}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{HorizontalDivider as w}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollArea as T}from"./components/misc/scroll-area/ScrollArea.mjs";import{ScrollAreaAutosize as E}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{ButtonIcon as D}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as O}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as k}from"./components/buttons/button-visual/ButtonVisual.mjs";import{Menu as A}from"./components/navigations/menu/Menu.mjs";import{TextInput as j}from"./components/controls/text-input/TextInput.mjs";import{Chevron as M}from"./components/controls/utils/chevron/Chevron.mjs";import{ClearButton as N}from"./components/controls/utils/clear-button/ClearButton.mjs";import{Combobox as P}from"./components/controls/combobox/Combobox.mjs";import{Autocomplete as F}from"./components/controls/autocomplete/Autocomplete.mjs";import{Checkbox as I}from"./components/controls/checkbox/Checkbox.mjs";import{DatePicker as L}from"./components/controls/date-picker/DatePicker.mjs";import{Dropzone as R}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneFiles as z}from"./components/controls/dropzone-files/DropzoneFiles.mjs";import{FileInput as B}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as V}from"./components/controls/file-input/FileInputMultiple.mjs";import{MultiSelect as H}from"./components/controls/multi-select/MultiSelect.mjs";import{MultiSelectTags as U}from"./components/controls/multi-select/MultiSelectTags.mjs";import{PasswordInput as W}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as G}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as K}from"./components/controls/password-input/usePasswordRules.mjs";import{PasswordInputStrength as q}from"./components/controls/password-input-strength/oldPasswordInputStrength.mjs";import{Radio as J}from"./components/controls/radio/Radio.mjs";import{Select as Y}from"./components/controls/select/Select.mjs";import{Textarea as X}from"./components/controls/textarea/Textarea.mjs";import{PASSWORD_RULES as Z}from"./components/forms/rules/password-rules.mjs";import{z as Q}from"./components/forms/rules/zod.mjs";import{Form as $}from"./components/forms/Form.mjs";import{TopBar as ee}from"./components/layouts/top-bar/TopBar.mjs";import{Breadcrumbs as te}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Modal as ne}from"./components/overlays/modal/Modal.mjs";import{createModal as re}from"./components/overlays/modals/registry/createModal.mjs";import{ModalAlert as ie}from"./components/overlays/modals/alert/ModalAlert.mjs";import{alert as ae}from"./components/overlays/modals/alert/alert.mjs";import{openModalById as oe}from"./components/overlays/modals/registry/openModalById.mjs";import{alertById as se}from"./components/overlays/modals/alert/alertById.mjs";import{ModalConfirm as ce}from"./components/overlays/modals/confirm/ModalConfirm.mjs";import{confirm as le}from"./components/overlays/modals/confirm/confirm.mjs";import{confirmById as ue}from"./components/overlays/modals/confirm/confirmById.mjs";import{ModalsProvider as de}from"./components/overlays/modals/ModalsProvider.mjs";import{registerModal as fe}from"./components/overlays/modals/registry/registerModal.mjs";import{Tooltip as pe}from"./components/overlays/tooltip/Tooltip.mjs";import{Sidebar as me}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{MageUiProvider as he}from"./providers/MageUiProvider.mjs";import{Notification as ge}from"./semedlab/components/data-display/notification/Notification.mjs";import{UserGroupPreview as _e}from"./semedlab/components/data-display/user-group-preview/UserGroupPreview.mjs";import{UserProfile as ve}from"./semedlab/components/data-display/user-profile/UserProfile.mjs";import{NotificationMenu as ye}from"./semedlab/components/navigations/notification-menu/NotificationMenu.mjs";import{ProfileMenu as be}from"./semedlab/components/navigations/profile-menu/ProfileMenu.mjs";import{BackofficeTopBar as xe}from"./semedlab/components/navigations/backoffice-top-bar/BackofficeTopBar.mjs";import{BreadcrumbsBar as Se}from"./semedlab/components/navigations/breadcrumbs-bar/BreadcrumbsBar.mjs";import{NotificationList as Ce}from"./semedlab/components/navigations/notification-list/NotificationList.mjs";export{i as AssignedUser,F as Autocomplete,a as Avatar,xe as BackofficeTopBar,o as Badge,te as Breadcrumbs,Se as BreadcrumbsBar,e as Button,n as ButtonAction,D as ButtonIcon,O as ButtonIconVisual,r as ButtonLoader,k as ButtonVisual,s as Calendar,I as Checkbox,M as Chevron,N as ClearButton,P as Combobox,L as DatePicker,R as Dropzone,z as DropzoneFiles,B as FileInput,V as FileInputMultiple,$ as Form,w as HorizontalDivider,u as Icon,l as IconRaw,d as IconSvg,f as IconWrapped,p as Indicator,m as LoaderDot,h as LoaderOval,g as LogoImage,_ as LogoSvg,he as MageUiProvider,A as Menu,ne as Modal,ie as ModalAlert,ce as ModalConfirm,de as ModalsProvider,H as MultiSelect,U as MultiSelectTags,ge as Notification,v as NotificationBanner,Ce as NotificationList,ye as NotificationMenu,Z as PASSWORD_RULES,W as PasswordInput,q as PasswordInputStrength,G as PasswordStrengthInput,be as ProfileMenu,J as Radio,y as RemovableItem,T as ScrollArea,E as ScrollAreaAutosize,Y as Select,me as Sidebar,x as Tag,b as TagGroup,j as TextInput,X as Textarea,pe as Tooltip,ee as TopBar,S as UploadedFile,C as UploadedFileDetails,_e as UserGroupPreview,ve as UserProfile,t as VisuallyHidden,ae as alert,se as alertById,le as confirm,ue as confirmById,re as createModal,c as momentLocalizer,oe as openModalById,fe as registerModal,K as usePasswordRules,Q as z};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mage-ui/components",
3
- "version": "1.0.35",
3
+ "version": "1.0.36",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [],
@@ -26,7 +26,7 @@
26
26
  "tsdown": "^0.20.1",
27
27
  "typescript": "^5.9.3",
28
28
  "baseline-browser-mapping": "^2.9.19",
29
- "@mage-ui/preset": "1.0.35",
29
+ "@mage-ui/preset": "1.0.36",
30
30
  "@mage-ui/styled-system": "1.0.8"
31
31
  },
32
32
  "peerDependencies": {