@fragment-build/ui 2.2.1 → 3.0.4

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 (229) hide show
  1. package/README.md +19 -29
  2. package/components/grid/Grid.js +1 -22
  3. package/components/grid/Grid.js.map +1 -1
  4. package/components/grid/Grid.styles.d.ts +43 -0
  5. package/components/grid/Grid.styles.js +17 -0
  6. package/components/grid/Grid.styles.js.map +1 -0
  7. package/components/multi-switch/MultiSwitch.d.ts +3 -6
  8. package/components/multi-switch/MultiSwitch.js +4 -29
  9. package/components/multi-switch/MultiSwitch.js.map +1 -1
  10. package/components/multi-switch/MultiSwitch.styles.d.ts +43 -0
  11. package/components/multi-switch/MultiSwitch.styles.js +14 -0
  12. package/components/multi-switch/MultiSwitch.styles.js.map +1 -0
  13. package/components/theme-switch/ThemeSwitch.d.ts +1 -1
  14. package/components/theme-switch/ThemeSwitch.js +2 -2
  15. package/components/theme-switch/ThemeSwitch.js.map +1 -1
  16. package/context.d.ts +6 -105
  17. package/context.js +5 -466
  18. package/context.js.map +1 -1
  19. package/fragments/form/Form.js +5 -11
  20. package/fragments/form/Form.js.map +1 -1
  21. package/fragments/form/Form.styles.d.ts +25 -0
  22. package/fragments/form/Form.styles.js +7 -0
  23. package/fragments/form/Form.styles.js.map +1 -0
  24. package/fragments/form/FormSection.js +3 -34
  25. package/fragments/form/FormSection.js.map +1 -1
  26. package/fragments/form/FormSection.styles.d.ts +61 -0
  27. package/fragments/form/FormSection.styles.js +24 -0
  28. package/fragments/form/FormSection.styles.js.map +1 -0
  29. package/fragments/navbar/Navbar.d.ts +30 -0
  30. package/fragments/navbar/Navbar.js +26 -0
  31. package/fragments/navbar/Navbar.js.map +1 -0
  32. package/fragments/navbar/Navbar.styles.d.ts +55 -0
  33. package/fragments/navbar/Navbar.styles.js +12 -0
  34. package/fragments/navbar/Navbar.styles.js.map +1 -0
  35. package/fragments/page/PageHeader.js +1 -8
  36. package/fragments/page/PageHeader.js.map +1 -1
  37. package/fragments/page/PageHeader.styles.d.ts +37 -0
  38. package/fragments/page/PageHeader.styles.js +9 -0
  39. package/fragments/page/PageHeader.styles.js.map +1 -0
  40. package/fragments/shell/Shell.d.ts +10 -1
  41. package/fragments/shell/Shell.js +8 -2
  42. package/fragments/shell/Shell.js.map +1 -1
  43. package/fragments/shell/Shell.styles.d.ts +37 -0
  44. package/fragments/shell/Shell.styles.js +18 -0
  45. package/fragments/shell/Shell.styles.js.map +1 -0
  46. package/fragments/sidebar/Sidebar.d.ts +5 -15
  47. package/fragments/sidebar/Sidebar.js +39 -49
  48. package/fragments/sidebar/Sidebar.js.map +1 -1
  49. package/fragments/sidebar/Sidebar.styles.d.ts +9 -48
  50. package/fragments/sidebar/Sidebar.styles.js +16 -35
  51. package/fragments/sidebar/Sidebar.styles.js.map +1 -1
  52. package/fragments/sidebar/SidebarNavigation.d.ts +19 -0
  53. package/fragments/sidebar/SidebarNavigation.js +51 -0
  54. package/fragments/sidebar/SidebarNavigation.js.map +1 -0
  55. package/fragments/widget/Widget.d.ts +2 -2
  56. package/fragments/widget/Widget.js +5 -304
  57. package/fragments/widget/Widget.js.map +1 -1
  58. package/fragments/widget/Widget.styles.d.ts +52 -0
  59. package/fragments/widget/Widget.styles.js +20 -0
  60. package/fragments/widget/Widget.styles.js.map +1 -0
  61. package/index.d.ts +1 -54
  62. package/index.js +2 -55
  63. package/index.js.map +1 -1
  64. package/package.json +44 -40
  65. package/provider.d.ts +4 -4
  66. package/provider.js +3 -13
  67. package/provider.js.map +1 -1
  68. package/components/base/Accordion.d.ts +0 -2
  69. package/components/base/Accordion.js +0 -5
  70. package/components/base/Accordion.js.map +0 -1
  71. package/components/base/Alert.d.ts +0 -1
  72. package/components/base/Alert.js +0 -4
  73. package/components/base/Alert.js.map +0 -1
  74. package/components/base/Autocomplete.d.ts +0 -3
  75. package/components/base/Autocomplete.js +0 -6
  76. package/components/base/Autocomplete.js.map +0 -1
  77. package/components/base/Avatar.d.ts +0 -2
  78. package/components/base/Avatar.js +0 -5
  79. package/components/base/Avatar.js.map +0 -1
  80. package/components/base/Badge.d.ts +0 -1
  81. package/components/base/Badge.js +0 -4
  82. package/components/base/Badge.js.map +0 -1
  83. package/components/base/Breadcrumbs.d.ts +0 -2
  84. package/components/base/Breadcrumbs.js +0 -5
  85. package/components/base/Breadcrumbs.js.map +0 -1
  86. package/components/base/Button.d.ts +0 -2
  87. package/components/base/Button.js +0 -5
  88. package/components/base/Button.js.map +0 -1
  89. package/components/base/Calendar.d.ts +0 -1
  90. package/components/base/Calendar.js +0 -4
  91. package/components/base/Calendar.js.map +0 -1
  92. package/components/base/Card.d.ts +0 -2
  93. package/components/base/Card.js +0 -5
  94. package/components/base/Card.js.map +0 -1
  95. package/components/base/Checkbox.d.ts +0 -2
  96. package/components/base/Checkbox.js +0 -5
  97. package/components/base/Checkbox.js.map +0 -1
  98. package/components/base/Chip.d.ts +0 -1
  99. package/components/base/Chip.js +0 -4
  100. package/components/base/Chip.js.map +0 -1
  101. package/components/base/CircularProgress.d.ts +0 -1
  102. package/components/base/CircularProgress.js +0 -4
  103. package/components/base/CircularProgress.js.map +0 -1
  104. package/components/base/Code.d.ts +0 -1
  105. package/components/base/Code.js +0 -4
  106. package/components/base/Code.js.map +0 -1
  107. package/components/base/DateInput.d.ts +0 -1
  108. package/components/base/DateInput.js +0 -4
  109. package/components/base/DateInput.js.map +0 -1
  110. package/components/base/DatePicker.d.ts +0 -1
  111. package/components/base/DatePicker.js +0 -4
  112. package/components/base/DatePicker.js.map +0 -1
  113. package/components/base/DateRangePicker.d.ts +0 -1
  114. package/components/base/DateRangePicker.js +0 -4
  115. package/components/base/DateRangePicker.js.map +0 -1
  116. package/components/base/Divider.d.ts +0 -1
  117. package/components/base/Divider.js +0 -4
  118. package/components/base/Divider.js.map +0 -1
  119. package/components/base/Drawer.d.ts +0 -8
  120. package/components/base/Drawer.js +0 -8
  121. package/components/base/Drawer.js.map +0 -1
  122. package/components/base/Dropdown.d.ts +0 -11
  123. package/components/base/Dropdown.js +0 -8
  124. package/components/base/Dropdown.js.map +0 -1
  125. package/components/base/Form.d.ts +0 -0
  126. package/components/base/Form.js +0 -6
  127. package/components/base/Form.js.map +0 -1
  128. package/components/base/Image.d.ts +0 -1
  129. package/components/base/Image.js +0 -4
  130. package/components/base/Image.js.map +0 -1
  131. package/components/base/Input.d.ts +0 -1
  132. package/components/base/Input.js +0 -4
  133. package/components/base/Input.js.map +0 -1
  134. package/components/base/InputOtp.d.ts +0 -1
  135. package/components/base/InputOtp.js +0 -4
  136. package/components/base/InputOtp.js.map +0 -1
  137. package/components/base/Kbd.d.ts +0 -1
  138. package/components/base/Kbd.js +0 -4
  139. package/components/base/Kbd.js.map +0 -1
  140. package/components/base/Link.d.ts +0 -1
  141. package/components/base/Link.js +0 -4
  142. package/components/base/Link.js.map +0 -1
  143. package/components/base/Listbox.d.ts +0 -3
  144. package/components/base/Listbox.js +0 -6
  145. package/components/base/Listbox.js.map +0 -1
  146. package/components/base/Modal.d.ts +0 -8
  147. package/components/base/Modal.js +0 -8
  148. package/components/base/Modal.js.map +0 -1
  149. package/components/base/Navbar.d.ts +0 -7
  150. package/components/base/Navbar.js +0 -10
  151. package/components/base/Navbar.js.map +0 -1
  152. package/components/base/NumberInput.d.ts +0 -1
  153. package/components/base/NumberInput.js +0 -4
  154. package/components/base/NumberInput.js.map +0 -1
  155. package/components/base/Pagination.d.ts +0 -3
  156. package/components/base/Pagination.js +0 -6
  157. package/components/base/Pagination.js.map +0 -1
  158. package/components/base/Popover.d.ts +0 -234
  159. package/components/base/Popover.js +0 -6
  160. package/components/base/Popover.js.map +0 -1
  161. package/components/base/Progress.d.ts +0 -1
  162. package/components/base/Progress.js +0 -4
  163. package/components/base/Progress.js.map +0 -1
  164. package/components/base/Radio.d.ts +0 -2
  165. package/components/base/Radio.js +0 -5
  166. package/components/base/Radio.js.map +0 -1
  167. package/components/base/RangeCalendar.d.ts +0 -1
  168. package/components/base/RangeCalendar.js +0 -4
  169. package/components/base/RangeCalendar.js.map +0 -1
  170. package/components/base/ScrollShadow.d.ts +0 -1
  171. package/components/base/ScrollShadow.js +0 -4
  172. package/components/base/ScrollShadow.js.map +0 -1
  173. package/components/base/Select.d.ts +0 -3
  174. package/components/base/Select.js +0 -6
  175. package/components/base/Select.js.map +0 -1
  176. package/components/base/Skeleton.d.ts +0 -1
  177. package/components/base/Skeleton.js +0 -4
  178. package/components/base/Skeleton.js.map +0 -1
  179. package/components/base/Slider.d.ts +0 -1
  180. package/components/base/Slider.js +0 -4
  181. package/components/base/Slider.js.map +0 -1
  182. package/components/base/Snippet.d.ts +0 -1
  183. package/components/base/Snippet.js +0 -4
  184. package/components/base/Snippet.js.map +0 -1
  185. package/components/base/Spacer.d.ts +0 -1
  186. package/components/base/Spacer.js +0 -4
  187. package/components/base/Spacer.js.map +0 -1
  188. package/components/base/Spinner.d.ts +0 -1
  189. package/components/base/Spinner.js +0 -4
  190. package/components/base/Spinner.js.map +0 -1
  191. package/components/base/Switch.d.ts +0 -1
  192. package/components/base/Switch.js +0 -4
  193. package/components/base/Switch.js.map +0 -1
  194. package/components/base/Table.d.ts +0 -6
  195. package/components/base/Table.js +0 -9
  196. package/components/base/Table.js.map +0 -1
  197. package/components/base/Tabs.d.ts +0 -2
  198. package/components/base/Tabs.js +0 -5
  199. package/components/base/Tabs.js.map +0 -1
  200. package/components/base/Textarea.d.ts +0 -1
  201. package/components/base/Textarea.js +0 -4
  202. package/components/base/Textarea.js.map +0 -1
  203. package/components/base/TimeInput.d.ts +0 -1
  204. package/components/base/TimeInput.js +0 -4
  205. package/components/base/TimeInput.js.map +0 -1
  206. package/components/base/Toast.d.ts +0 -2
  207. package/components/base/Toast.js +0 -5
  208. package/components/base/Toast.js.map +0 -1
  209. package/components/base/Tooltip.d.ts +0 -1
  210. package/components/base/Tooltip.js +0 -4
  211. package/components/base/Tooltip.js.map +0 -1
  212. package/components/base/User.d.ts +0 -1
  213. package/components/base/User.js +0 -4
  214. package/components/base/User.js.map +0 -1
  215. package/components/chart/Chart.d.ts +0 -13
  216. package/components/chart/Chart.js +0 -18
  217. package/components/chart/Chart.js.map +0 -1
  218. package/components/color-input/ColorInput.d.ts +0 -8
  219. package/components/color-input/ColorInput.js +0 -24
  220. package/components/color-input/ColorInput.js.map +0 -1
  221. package/components/color-selector/ColorSelector.d.ts +0 -14
  222. package/components/color-selector/ColorSelector.js +0 -16
  223. package/components/color-selector/ColorSelector.js.map +0 -1
  224. package/tailwind.plugin.d.ts +0 -3
  225. package/tailwind.plugin.js +0 -52
  226. package/tailwind.plugin.js.map +0 -1
  227. package/withFragment.d.ts +0 -2
  228. package/withFragment.js +0 -21
  229. package/withFragment.js.map +0 -1
@@ -0,0 +1,24 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const formSection = tv({
3
+ slots: {
4
+ base: 'fragment-form-section',
5
+ main: 'fragment-form-section__main',
6
+ info: 'fragment-form-section__info',
7
+ content: 'fragment-form-section__content',
8
+ description: 'fragment-form-section__description',
9
+ },
10
+ variants: {
11
+ direction: {
12
+ horizontal: { base: 'fragment-form-section--horizontal' },
13
+ vertical: { base: 'fragment-form-section--vertical' },
14
+ },
15
+ fullWidth: {
16
+ true: { base: 'fragment-form-section--full-width' },
17
+ },
18
+ },
19
+ defaultVariants: {
20
+ direction: 'vertical',
21
+ fullWidth: false,
22
+ },
23
+ });
24
+ //# sourceMappingURL=FormSection.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormSection.styles.js","sourceRoot":"","sources":["../../src/fragments/form/FormSection.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;IAC5B,KAAK,EAAE;QACL,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,oCAAoC;KAClD;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,UAAU,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE;YACzD,QAAQ,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE;SACtD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE;SACpD;KACF;IACD,eAAe,EAAE;QACf,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,KAAK;KACjB;CACF,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { AvatarImageProps, AvatarProps, DropdownItemProps, DropdownProps } from '@heroui/react';
2
+ /**
3
+ * Primary UI component for Dashboard Navbars
4
+ */
5
+ interface NavbarNavigationItem {
6
+ label: string;
7
+ link: string;
8
+ onClick?: React.MouseEventHandler;
9
+ icon?: React.ReactNode;
10
+ endContent?: React.ReactNode;
11
+ badgeContent?: React.ReactNode;
12
+ }
13
+ interface NavbarItemUser {
14
+ avatar?: AvatarProps & AvatarImageProps;
15
+ name: string;
16
+ description?: string;
17
+ dropdown?: Omit<DropdownProps, 'children'>;
18
+ dropdownItems?: (Omit<DropdownItemProps, 'children'> & {
19
+ label: string;
20
+ })[];
21
+ }
22
+ export interface NavbarProps {
23
+ startContent?: React.ReactNode;
24
+ endContent?: React.ReactNode;
25
+ navigation?: NavbarNavigationItem[];
26
+ user?: NavbarItemUser;
27
+ currentPath?: string;
28
+ }
29
+ export declare const Navbar: React.FC<NavbarProps>;
30
+ export {};
@@ -0,0 +1,26 @@
1
+ import { createElement as _createElement } from "react";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Avatar, Badge, Button, Dropdown, ScrollShadow, Tabs, Tooltip } from '@heroui/react';
4
+ import { IconDots } from '@tabler/icons-react';
5
+ import { useEffect, useState } from 'react';
6
+ import { useFragmentUI } from '../../context';
7
+ import { navbar } from './Navbar.styles';
8
+ const getActiveNav = (currentPath, navigation) => {
9
+ if (!currentPath)
10
+ return;
11
+ const possibleMatches = navigation.filter((navItem) => navItem.link.startsWith(currentPath)).sort((a, b) => b.link.length - a.link.length);
12
+ return possibleMatches.find((pMatch) => pMatch.link === currentPath) || possibleMatches[0];
13
+ };
14
+ export const Navbar = ({ navigation, user, startContent, endContent, currentPath }) => {
15
+ const v = navbar();
16
+ const { linkComponent: LinkComponent } = useFragmentUI();
17
+ const [activeNav, setActiveNav] = useState(getActiveNav(currentPath, navigation ?? []));
18
+ useEffect(() => setActiveNav(getActiveNav(currentPath, navigation ?? [])), [currentPath, navigation]);
19
+ const overflowItems = (navigation ?? []).slice(4);
20
+ const isOverflowActive = overflowItems.some((item) => activeNav?.link === item.link);
21
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: v.topbar(), children: [startContent, _jsx(ScrollShadow, { hideScrollBar: true, orientation: "horizontal", className: v.tabs(), children: _jsx(Tabs, { selectedKey: activeNav?.label, onSelectionChange: (key) => {
22
+ const nav = navigation?.find((item) => item.label === key);
23
+ setActiveNav(nav);
24
+ }, children: _jsx(Tabs.ListContainer, { children: _jsx(Tabs.List, { children: navigation?.map((item) => (_jsxs(Tabs.Tab, { id: item.label, className: v.tab(), render: (domProps) => _jsx(LinkComponent, { ...domProps, href: item.link }), children: [item.label, _jsx(Tabs.Indicator, {})] }, item.label))) }) }) }) }), _jsxs("div", { className: v.end(), children: [endContent, user && (_jsxs(Dropdown, { ...user.dropdown, children: [_jsx(Dropdown.Trigger, { children: _jsxs(Avatar, { ...user.avatar, children: [_jsx(Avatar.Image, { ...user.avatar }), _jsx(Avatar.Fallback, { children: user.name.charAt(0) })] }) }), _jsx(Dropdown.Popover, { className: "min-w-[256px]", placement: "bottom start", children: _jsx(Dropdown.Menu, { "aria-label": "User Actions", items: user.dropdownItems || [], children: (dropdownItem) => (_createElement(Dropdown.Item, { ...dropdownItem, key: dropdownItem.label }, dropdownItem.label)) }) })] }))] })] }), _jsxs("nav", { className: v.bottomNav(), children: [navigation?.slice(0, 4).map((navItem) => (_jsxs(Tooltip, { children: [_jsx(Tooltip.Content, { placement: "top", offset: 10, children: navItem.label }), _jsx(Button, { render: (props) => _jsx(LinkComponent, { href: navItem.link, children: _jsx("button", { ...props }) }), isIconOnly: true, variant: activeNav?.link === navItem.link ? 'tertiary' : 'ghost', fullWidth: true, children: _jsxs(Badge.Anchor, { children: [navItem.icon, typeof navItem.badgeContent === 'string' && navItem.badgeContent ? (_jsx(Badge, { variant: "primary", color: "accent", size: "sm", className: v.bottomNavBadge(), children: navItem.badgeContent })) : null] }) })] }, navItem.label))), overflowItems.length > 0 && (_jsxs(Dropdown, { children: [_jsx(Dropdown.Trigger, { children: _jsx(Button, { variant: isOverflowActive ? 'tertiary' : 'ghost', isIconOnly: true, fullWidth: true, children: _jsx(IconDots, {}) }) }), _jsx(Dropdown.Popover, { placement: "top end", children: _jsx(Dropdown.Menu, { "aria-label": "More navigation", children: overflowItems.map((item) => (_jsxs(Dropdown.Item, { href: item.link, children: [item.icon, item.label] }, item.label))) }) })] }))] })] }));
25
+ };
26
+ //# sourceMappingURL=Navbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navbar.js","sourceRoot":"","sources":["../../src/fragments/navbar/Navbar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export declare const navbar: import("tailwind-variants").TVReturnType<{
2
+ [key: string]: {
3
+ [key: string]: import("tailwind-variants").ClassValue | {
4
+ end?: import("tailwind-variants").ClassValue;
5
+ tab?: import("tailwind-variants").ClassValue;
6
+ topbar?: import("tailwind-variants").ClassValue;
7
+ tabs?: import("tailwind-variants").ClassValue;
8
+ bottomNav?: import("tailwind-variants").ClassValue;
9
+ bottomNavBadge?: import("tailwind-variants").ClassValue;
10
+ };
11
+ };
12
+ } | {
13
+ [x: string]: {
14
+ [x: string]: import("tailwind-variants").ClassValue | {
15
+ end?: import("tailwind-variants").ClassValue;
16
+ tab?: import("tailwind-variants").ClassValue;
17
+ topbar?: import("tailwind-variants").ClassValue;
18
+ tabs?: import("tailwind-variants").ClassValue;
19
+ bottomNav?: import("tailwind-variants").ClassValue;
20
+ bottomNavBadge?: import("tailwind-variants").ClassValue;
21
+ };
22
+ };
23
+ } | {}, {
24
+ topbar: string;
25
+ tabs: string;
26
+ tab: string;
27
+ end: string;
28
+ bottomNav: string;
29
+ bottomNavBadge: string;
30
+ }, undefined, {
31
+ [key: string]: {
32
+ [key: string]: import("tailwind-variants").ClassValue | {
33
+ end?: import("tailwind-variants").ClassValue;
34
+ tab?: import("tailwind-variants").ClassValue;
35
+ topbar?: import("tailwind-variants").ClassValue;
36
+ tabs?: import("tailwind-variants").ClassValue;
37
+ bottomNav?: import("tailwind-variants").ClassValue;
38
+ bottomNavBadge?: import("tailwind-variants").ClassValue;
39
+ };
40
+ };
41
+ } | {}, {
42
+ topbar: string;
43
+ tabs: string;
44
+ tab: string;
45
+ end: string;
46
+ bottomNav: string;
47
+ bottomNavBadge: string;
48
+ }, import("tailwind-variants").TVReturnType<unknown, {
49
+ topbar: string;
50
+ tabs: string;
51
+ tab: string;
52
+ end: string;
53
+ bottomNav: string;
54
+ bottomNavBadge: string;
55
+ }, undefined, unknown, unknown, undefined>>;
@@ -0,0 +1,12 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const navbar = tv({
3
+ slots: {
4
+ topbar: 'fragment-navbar__topbar',
5
+ tabs: 'fragment-navbar__tabs',
6
+ tab: 'fragment-navbar__tab',
7
+ end: 'fragment-navbar__end',
8
+ bottomNav: 'fragment-navbar__bottom-nav',
9
+ bottomNavBadge: 'fragment-navbar__bottom-nav-badge',
10
+ },
11
+ });
12
+ //# sourceMappingURL=Navbar.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navbar.styles.js","sourceRoot":"","sources":["../../src/fragments/navbar/Navbar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;IACvB,KAAK,EAAE;QACL,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,sBAAsB;QAC3B,GAAG,EAAE,sBAAsB;QAC3B,SAAS,EAAE,6BAA6B;QACxC,cAAc,EAAE,mCAAmC;KACpD;CACF,CAAC,CAAC"}
@@ -1,12 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { tv } from 'tailwind-variants';
3
- const pageHeader = tv({
4
- slots: {
5
- base: 'flex gap-4 justify-between sm:items-end mb-8 flex-col sm:flex-row',
6
- description: 'mt-2 text-foreground-500 ',
7
- actions: 'flex gap-4',
8
- },
9
- });
2
+ import { pageHeader } from './PageHeader.styles';
10
3
  export const PageHeader = ({ children, title, description, ...props }) => {
11
4
  const v = pageHeader(props);
12
5
  return (_jsxs("header", { className: v.base(), children: [_jsxs("div", { children: [_jsx("h1", { children: title }), description && _jsx("p", { className: v.description(), children: description })] }), _jsx("div", { className: v.actions(), children: children })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"PageHeader.js","sourceRoot":"","sources":["../../src/fragments/page/PageHeader.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAQvC,MAAM,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,EAAE;QACL,IAAI,EAAE,mEAAmE;QACzE,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,YAAY;KACtB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAClG,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAE5B,OAAO,CACL,kBAAQ,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,aACzB,0BACE,uBAAK,KAAK,GAAM,EACf,WAAW,IAAI,YAAG,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,YAAG,WAAW,GAAK,IAC5D,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,YAAG,QAAQ,GAAO,IACtC,CACV,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"PageHeader.js","sourceRoot":"","sources":["../../src/fragments/page/PageHeader.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AASjD,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAClG,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAE5B,OAAO,CACL,kBAAQ,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,aACzB,0BACE,uBAAK,KAAK,GAAM,EACf,WAAW,IAAI,YAAG,SAAS,EAAE,CAAC,CAAC,WAAW,EAAE,YAAG,WAAW,GAAK,IAC5D,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,YAAG,QAAQ,GAAO,IACtC,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ export declare const pageHeader: import("tailwind-variants").TVReturnType<{
2
+ [key: string]: {
3
+ [key: string]: import("tailwind-variants").ClassValue | {
4
+ base?: import("tailwind-variants").ClassValue;
5
+ description?: import("tailwind-variants").ClassValue;
6
+ actions?: import("tailwind-variants").ClassValue;
7
+ };
8
+ };
9
+ } | {
10
+ [x: string]: {
11
+ [x: string]: import("tailwind-variants").ClassValue | {
12
+ base?: import("tailwind-variants").ClassValue;
13
+ description?: import("tailwind-variants").ClassValue;
14
+ actions?: import("tailwind-variants").ClassValue;
15
+ };
16
+ };
17
+ } | {}, {
18
+ base: string;
19
+ description: string;
20
+ actions: string;
21
+ }, undefined, {
22
+ [key: string]: {
23
+ [key: string]: import("tailwind-variants").ClassValue | {
24
+ base?: import("tailwind-variants").ClassValue;
25
+ description?: import("tailwind-variants").ClassValue;
26
+ actions?: import("tailwind-variants").ClassValue;
27
+ };
28
+ };
29
+ } | {}, {
30
+ base: string;
31
+ description: string;
32
+ actions: string;
33
+ }, import("tailwind-variants").TVReturnType<unknown, {
34
+ base: string;
35
+ description: string;
36
+ actions: string;
37
+ }, undefined, unknown, unknown, undefined>>;
@@ -0,0 +1,9 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const pageHeader = tv({
3
+ slots: {
4
+ base: 'fragment-page-header',
5
+ description: 'fragment-page-header__description',
6
+ actions: 'fragment-page-header__actions',
7
+ },
8
+ });
9
+ //# sourceMappingURL=PageHeader.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHeader.styles.js","sourceRoot":"","sources":["../../src/fragments/page/PageHeader.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,+BAA+B;KACzC;CACF,CAAC,CAAC"}
@@ -1,9 +1,18 @@
1
+ import { type NavbarProps } from '../navbar/Navbar';
1
2
  import { type SidebarProps } from '../sidebar/Sidebar';
2
3
  /**
3
4
  * Primary UI component for Dashboard App Shell
4
5
  */
5
- export interface ShellProps {
6
+ interface ShellPropsHorizontal {
7
+ direction: 'horizontal';
6
8
  sidebar: SidebarProps;
7
9
  children: React.ReactNode;
8
10
  }
11
+ interface ShellPropsVertical {
12
+ direction: 'vertical';
13
+ navbar: NavbarProps;
14
+ children: React.ReactNode;
15
+ }
16
+ export type ShellProps = ShellPropsHorizontal | ShellPropsVertical;
9
17
  export declare const Shell: React.FC<ShellProps>;
18
+ export {};
@@ -1,6 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Navbar } from '../navbar/Navbar';
2
3
  import { Sidebar } from '../sidebar/Sidebar';
3
- export const Shell = ({ sidebar, children }) => {
4
- return (_jsxs("div", { className: "flex min-h-screen", children: [_jsx(Sidebar, { ...sidebar }), _jsx("main", { className: "flex-1 px-6 lg:px-12 xl:px-20 py-14 min-w-0 max-w-[1920px] mx-auto", children: children })] }));
4
+ import { shell } from './Shell.styles';
5
+ export const Shell = (props) => {
6
+ const v = shell({ direction: props.direction });
7
+ if (props.direction === 'vertical') {
8
+ return (_jsxs("div", { className: v.base(), children: [_jsx(Navbar, { ...props.navbar }), _jsx("main", { className: v.main(), children: props.children })] }));
9
+ }
10
+ return (_jsxs("div", { className: v.base(), children: [_jsx(Sidebar, { ...props.sidebar }), _jsx("main", { className: v.main(), children: props.children })] }));
5
11
  };
6
12
  //# sourceMappingURL=Shell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shell.js","sourceRoot":"","sources":["../../src/fragments/shell/Shell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AAWhE,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,OAAO,CACL,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,OAAO,OAAK,OAAO,GAAI,EACxB,eAAM,SAAS,EAAC,oEAAoE,YACjF,QAAQ,GACJ,IACH,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Shell.js","sourceRoot":"","sources":["../../src/fragments/shell/Shell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAoBvC,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,KAAK,EAAE,EAAE;IACnD,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhD,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,CACL,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,aACtB,KAAC,MAAM,OAAK,KAAK,CAAC,MAAM,GAAI,EAC5B,eAAM,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,YACtB,KAAK,CAAC,QAAQ,GACV,IACH,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,aACtB,KAAC,OAAO,OAAK,KAAK,CAAC,OAAO,GAAI,EAC9B,eAAM,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,YACtB,KAAK,CAAC,QAAQ,GACV,IACH,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ export declare const shell: import("tailwind-variants").TVReturnType<{
2
+ direction: {
3
+ horizontal: {
4
+ base: string;
5
+ };
6
+ vertical: {
7
+ base: string;
8
+ };
9
+ };
10
+ }, {
11
+ base: string;
12
+ main: string;
13
+ }, undefined, {
14
+ direction: {
15
+ horizontal: {
16
+ base: string;
17
+ };
18
+ vertical: {
19
+ base: string;
20
+ };
21
+ };
22
+ }, {
23
+ base: string;
24
+ main: string;
25
+ }, import("tailwind-variants").TVReturnType<{
26
+ direction: {
27
+ horizontal: {
28
+ base: string;
29
+ };
30
+ vertical: {
31
+ base: string;
32
+ };
33
+ };
34
+ }, {
35
+ base: string;
36
+ main: string;
37
+ }, undefined, unknown, unknown, undefined>>;
@@ -0,0 +1,18 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const shell = tv({
3
+ slots: {
4
+ base: 'fragment-shell',
5
+ main: 'fragment-shell__main',
6
+ },
7
+ variants: {
8
+ direction: {
9
+ horizontal: {
10
+ base: 'fragment-shell--horizontal',
11
+ },
12
+ vertical: {
13
+ base: 'fragment-shell--vertical',
14
+ },
15
+ },
16
+ },
17
+ });
18
+ //# sourceMappingURL=Shell.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shell.styles.js","sourceRoot":"","sources":["../../src/fragments/shell/Shell.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;IACtB,KAAK,EAAE;QACL,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,sBAAsB;KAC7B;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,UAAU,EAAE;gBACV,IAAI,EAAE,4BAA4B;aACnC;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,0BAA0B;aACjC;SACF;KACF;CACF,CAAC,CAAC"}
@@ -1,18 +1,8 @@
1
- import type { AvatarProps } from '@heroui/avatar';
2
- import type { DropdownItemProps, DropdownProps } from '@heroui/dropdown';
3
- import type { ListboxProps } from '@heroui/listbox';
1
+ import type { AvatarImageProps, AvatarProps, DropdownItemProps, DropdownProps, ListBoxProps } from '@heroui/react';
2
+ import type { SidebarNavigationItem, SidebarChildNavigationItem } from './SidebarNavigation';
4
3
  /**
5
4
  * Primary UI component for Dashboard Sidebars
6
5
  */
7
- interface SidebarNavigationItem {
8
- label: string;
9
- link: string;
10
- onClick?: React.MouseEventHandler;
11
- icon?: React.ReactNode;
12
- endContent?: React.ReactNode;
13
- badgeContent?: React.ReactNode;
14
- items?: SidebarItemVariants[];
15
- }
16
6
  interface SidebarItem {
17
7
  key: string;
18
8
  align?: 'top' | 'center' | 'bottom';
@@ -21,11 +11,11 @@ interface SidebarItemNavigation extends SidebarItem {
21
11
  type: 'navigation';
22
12
  label?: string;
23
13
  navigation: SidebarNavigationItem[];
24
- listboxProps?: Omit<ListboxProps, 'children'>;
14
+ listboxProps?: Omit<ListBoxProps<object>, 'children'>;
25
15
  }
26
16
  interface SidebarItemUser extends SidebarItem {
27
17
  type: 'user';
28
- avatar?: AvatarProps;
18
+ avatar?: AvatarProps & AvatarImageProps;
29
19
  name: string;
30
20
  description?: string;
31
21
  dropdown?: Omit<DropdownProps, 'children'>;
@@ -45,5 +35,5 @@ export interface SidebarProps {
45
35
  layout?: 'auto' | 'collapsed' | 'expanded';
46
36
  currentPath?: string;
47
37
  }
38
+ export type { SidebarNavigationItem, SidebarChildNavigationItem };
48
39
  export declare const Sidebar: React.FC<SidebarProps>;
49
- export {};
@@ -1,61 +1,51 @@
1
1
  import { createElement as _createElement } from "react";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Avatar, Badge, Button, Description, Dropdown, Label, Modal, ScrollShadow, Tooltip } from '@heroui/react';
3
4
  import { IconChevronLeft, IconDots } from '@tabler/icons-react';
4
5
  import { useEffect, useState } from 'react';
5
- import { Listbox, ListboxItem, ListboxSection } from '../../components/base/Listbox';
6
- import { Chip } from '../../components/base/Chip';
7
- import { Tooltip } from '../../components/base/Tooltip';
8
- import { Button } from '../../components/base/Button';
9
- import { Badge } from '../../components/base/Badge';
10
- import { Dropdown, DropdownItem, DropdownMenu, DropdownTrigger } from '../../components/base/Dropdown';
11
- import { User } from '../../components/base/User';
12
- import { Avatar } from '../../components/base/Avatar';
13
- import { ScrollShadow } from '../../components/base/ScrollShadow';
14
- import { Link } from '../../components/base/Link';
15
- import { Modal, ModalBody, ModalContent, ModalFooter, ModalHeader } from '../../components/base/Modal';
6
+ import { useFragmentUI } from '../../context';
16
7
  import { sidebar } from './Sidebar.styles';
17
8
  import { breakpointsTailwind } from '../../constants';
18
- const getAlignmentClasses = (align) => {
19
- switch (align) {
20
- case 'center':
21
- return 'my-auto max-w-full';
22
- case 'bottom':
23
- return 'mt-auto max-w-full sticky bottom-0';
24
- default:
25
- return '';
26
- }
9
+ import { SidebarNavigation } from './SidebarNavigation';
10
+ const getAlignmentClass = (align) => align ? `fragment-sidebar__item--${align}` : '';
11
+ const ButtonLink = ({ href, ...props }) => {
12
+ const { linkComponent: LinkComponent } = useFragmentUI();
13
+ return _jsx(LinkComponent, { href: href, children: _jsx("button", { ...props }) });
27
14
  };
28
15
  const renderItems = (item, options) => {
29
16
  switch (item.type) {
30
17
  case 'navigation':
31
- return options.layout === 'expanded' ? (_jsx(Listbox, { variant: "flat", "aria-label": "Listbox menu with sections", itemClasses: {
32
- base: 'h-12 gap-6',
33
- }, ...item.listboxProps, children: _jsx(ListboxSection, { title: item.label, classNames: { group: 'flex flex-col gap-1' }, children: item.navigation.map((navItem) => (_jsx(ListboxItem, { startContent: navItem.icon, endContent: typeof navItem.badgeContent === 'string' ? _jsx(Chip, { size: "sm", color: "primary", variant: navItem.badgeContent ? 'solid' : 'dot', classNames: { base: 'border-none' }, children: navItem.badgeContent }) : navItem.endContent, href: navItem.link, color: options.activeNav?.link === navItem.link ? 'primary' : 'default', className: options.activeNav?.link === navItem.link ? 'text-primary' : '', children: navItem.label }, navItem.label))) }) })) : (_jsx("nav", { className: "flex flex-col gap-1", children: item.navigation.map((navItem) => (_jsx(Tooltip, { placement: "right", content: navItem.label, children: _jsx(Button, { color: options.activeNav?.link === navItem.link ? 'primary' : 'default', variant: "light", size: "lg", as: Link, href: navItem.link, isIconOnly: true, children: _jsx(Badge, { content: navItem.badgeContent, color: "primary", size: "sm", isInvisible: typeof navItem.badgeContent !== 'string', children: navItem.icon }) }) }, navItem.label))) }));
18
+ return (_jsx(SidebarNavigation, { navigation: item.navigation, label: item.label, layout: options.layout === 'expanded' ? 'expanded' : 'collapsed', activeLink: options.activeLink, listboxProps: item.listboxProps }));
34
19
  case 'user':
35
- return (_jsxs(Dropdown, { placement: "bottom-start", classNames: { trigger: options.layout === 'expanded' ? 'justify-start px-2' : 'justify-start' }, ...item.dropdown, children: [_jsx(DropdownTrigger, { children: options.layout === 'expanded' ? (_jsx(User, { as: "button", avatarProps: item.avatar, className: "transition-transform", description: item.description, name: item.name })) : (_jsx(Avatar, { as: "button", className: "transition-transform", ...item.avatar })) }), _jsx(DropdownMenu, { "aria-label": "User Actions", color: "primary", variant: "flat", items: item.dropdownItems || [], children: (dropdownItem) => (_createElement(DropdownItem, { ...dropdownItem, key: dropdownItem.label }, dropdownItem.label)) })] }));
20
+ return (_jsxs(Dropdown, { ...item.dropdown, children: [_jsx(Dropdown.Trigger, { className: "fragment-sidebar__user-trigger", children: options.layout === 'expanded' ? (_jsxs("div", { className: "fragment-sidebar__user-info", children: [_jsxs(Avatar, { ...item.avatar, children: [_jsx(Avatar.Image, { ...item.avatar }), _jsx(Avatar.Fallback, { children: item.name.charAt(0) })] }), _jsxs("div", { className: "fragment-sidebar__user-text", children: [_jsx(Label, { children: item.name }), _jsx(Description, { children: item.description })] })] })) : (_jsxs(Avatar, { ...item.avatar, children: [_jsx(Avatar.Image, { ...item.avatar }), _jsx(Avatar.Fallback, { children: item.name.charAt(0) })] })) }), _jsx(Dropdown.Popover, { className: "min-w-[256px]", placement: "bottom start", children: _jsx(Dropdown.Menu, { "aria-label": "User Actions", items: item.dropdownItems || [], children: (dropdownItem) => (_createElement(Dropdown.Item, { ...dropdownItem, key: dropdownItem.label }, dropdownItem.label)) }) })] }));
36
21
  case 'custom':
37
22
  return ((!item.showExpandedOnly && !item.showCollapsedOnly) ||
38
23
  (options.layout === 'expanded' && item.showExpandedOnly) ||
39
24
  (options.layout === 'collapsed' && item.showCollapsedOnly))
40
- ? _jsx("div", { className: "px-2", children: item.render })
25
+ ? _jsx("div", { className: "fragment-sidebar__custom-item", children: item.render })
41
26
  : null;
42
27
  default:
43
28
  return null;
44
29
  }
45
30
  };
46
- const getActiveNav = (currentPath, items) => {
31
+ const getActiveLink = (currentPath, items) => {
47
32
  if (!currentPath)
48
- return;
49
- const navigations = [];
33
+ return undefined;
34
+ const allNavItems = [];
50
35
  items.forEach((item) => {
51
36
  if (item.type !== 'navigation')
52
37
  return;
53
- navigations.push(item.navigation);
38
+ item.navigation.forEach((navItem) => {
39
+ allNavItems.push(navItem);
40
+ navItem.items?.forEach((child) => allNavItems.push(child));
41
+ });
54
42
  });
55
- const possibleMatches = navigations.flat().filter((navItem) => navItem.link.startsWith(currentPath)).sort((a, b) => b.link.length - a.link.length);
56
- return possibleMatches.find((pMatch) => pMatch.link === currentPath) || possibleMatches[0];
43
+ const possibleMatches = allNavItems
44
+ .filter((navItem) => navItem.link && (currentPath === navItem.link || currentPath.startsWith(navItem.link + '/')))
45
+ .sort((a, b) => b.link.length - a.link.length);
46
+ return (possibleMatches.find((m) => m.link === currentPath) || possibleMatches[0])?.link;
57
47
  };
58
- export const Sidebar = ({ items, currentPath, layout: defaultLayout = "auto" }) => {
48
+ export const Sidebar = ({ items, currentPath, layout: defaultLayout = 'auto' }) => {
59
49
  const [layout, setLayout] = useState(defaultLayout);
60
50
  const toggleLayout = () => {
61
51
  if (layout === 'auto') {
@@ -67,27 +57,27 @@ export const Sidebar = ({ items, currentPath, layout: defaultLayout = "auto" })
67
57
  setLayout(layout === 'collapsed' ? 'expanded' : 'collapsed');
68
58
  };
69
59
  const v = sidebar({ layout });
70
- const [activeNav, setActiveNav] = useState(getActiveNav(currentPath, items));
60
+ const [activeLink, setActiveLink] = useState(getActiveLink(currentPath, items));
71
61
  const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
72
- useEffect(() => setActiveNav(getActiveNav(currentPath, items)), [currentPath, items]);
62
+ useEffect(() => setActiveLink(getActiveLink(currentPath, items)), [currentPath, items]);
73
63
  return (_jsxs(_Fragment, { children: [_jsxs("div", { className: v.base(), children: [_jsxs("div", { className: v.collapsed(), children: [_jsx(ScrollShadow, { hideScrollBar: true, className: v.collapsedBody(), children: items.map((item) => {
74
- const children = item.align !== 'bottom' ? renderItems(item, { layout: 'collapsed', activeNav }) : null;
75
- return children ? (_jsx("div", { className: getAlignmentClasses(item.align), children: children }, item.key)) : null;
64
+ const children = item.align !== 'bottom' ? renderItems(item, { layout: 'collapsed', activeLink }) : null;
65
+ return children ? (_jsx("div", { className: getAlignmentClass(item.align), children: children }, item.key)) : null;
76
66
  }) }), _jsx("div", { className: v.collapsedFooter(), children: items.map((item) => {
77
- const children = item.align === 'bottom' ? renderItems(item, { layout: 'collapsed', activeNav }) : null;
78
- return children ? (_jsx("div", { className: getAlignmentClasses(item.align), children: children }, item.key)) : null;
67
+ const children = item.align === 'bottom' ? renderItems(item, { layout: 'collapsed', activeLink }) : null;
68
+ return children ? (_jsx("div", { className: getAlignmentClass(item.align), children: children }, item.key)) : null;
79
69
  }) })] }), _jsxs("div", { className: v.expanded(), children: [_jsx(ScrollShadow, { hideScrollBar: true, className: v.expandedBody(), children: items.map((item) => {
80
- const children = item.align !== 'bottom' ? renderItems(item, { layout: 'expanded', activeNav }) : null;
81
- return children ? (_jsx("div", { className: getAlignmentClasses(item.align), children: children }, item.key)) : null;
70
+ const children = item.align !== 'bottom' ? renderItems(item, { layout: 'expanded', activeLink }) : null;
71
+ return children ? (_jsx("div", { className: getAlignmentClass(item.align), children: children }, item.key)) : null;
82
72
  }) }), _jsx("div", { className: v.expandedFooter(), children: items.map((item) => {
83
- const children = item.align === 'bottom' ? renderItems(item, { layout: 'expanded', activeNav }) : null;
84
- return children ? (_jsx("div", { className: getAlignmentClasses(item.align), children: children }, item.key)) : null;
85
- }) })] }), _jsx("div", { className: v.placeholder() }), _jsx("div", { className: v.layoutButtonWrapper(), children: _jsx(Button, { size: "sm", isIconOnly: true, radius: "full", className: v.layoutButton(), onPress: toggleLayout, children: _jsx(IconChevronLeft, { size: 14 }) }) })] }), _jsxs("nav", { className: v.bottomNav(), onClick: () => setMobileMenuOpen(false), children: [items.find((item) => item.type === 'navigation')?.navigation?.map((navItem) => (_jsx(Tooltip, { placement: "top", content: navItem.label, offset: 10, children: _jsx(Button, { as: Link, radius: "md", className: v.bottomNavButton(), variant: "light", isIconOnly: true, color: activeNav?.link === navItem.link ? 'primary' : 'default', onPress: () => setMobileMenuOpen(false), href: navItem.link, children: _jsx(Badge, { content: navItem.badgeContent, color: "primary", size: "sm", isInvisible: typeof navItem.badgeContent !== 'string', children: navItem.icon }) }) }, navItem.label))), _jsx(Button, { radius: "md", className: v.bottomNavMenuButton(), variant: mobileMenuOpen ? 'flat' : 'light', isIconOnly: true, onPress: () => setMobileMenuOpen(!mobileMenuOpen), children: _jsx(IconDots, { size: 24, stroke: 1.5 }) })] }), _jsx(Modal, { isOpen: mobileMenuOpen, onClose: () => setMobileMenuOpen(false), classNames: { wrapper: v.bottomNavModalWrapper(), backdrop: v.bottomNavModalBackdrop(), base: v.bottomNavModalBase() }, isDismissable: false, radius: "none", children: _jsx(ModalContent, { children: () => (_jsxs(_Fragment, { children: [_jsx(ModalHeader, {}), _jsx(ModalBody, { as: ScrollShadow, hideScrollBar: true, className: v.bottomNavModalFooter(), children: items.map((item) => {
86
- const children = item.align !== 'bottom' ? renderItems(item, { layout: 'expanded', activeNav }) : null;
87
- return children ? (_jsx("div", { className: getAlignmentClasses(item.align), children: children }, item.key)) : null;
88
- }) }), _jsx(ModalFooter, { className: v.bottomNavModalBody(), children: items.map((item) => {
89
- const children = item.align === 'bottom' ? renderItems(item, { layout: 'expanded', activeNav }) : null;
90
- return children ? (_jsx("div", { className: getAlignmentClasses(item.align), children: children }, item.key)) : null;
91
- }) })] })) }) })] }));
73
+ const children = item.align === 'bottom' ? renderItems(item, { layout: 'expanded', activeLink }) : null;
74
+ return children ? (_jsx("div", { className: getAlignmentClass(item.align), children: children }, item.key)) : null;
75
+ }) })] }), _jsx("div", { className: v.placeholder() }), _jsx("div", { className: v.layoutButtonWrapper(), children: _jsx(Button, { size: "sm", isIconOnly: true, variant: "tertiary", className: v.layoutButton(), onPress: toggleLayout, children: _jsx(IconChevronLeft, {}) }) })] }), _jsxs("nav", { className: v.bottomNav(), onClick: () => setMobileMenuOpen(false), children: [items.find((item) => item.type === 'navigation')?.navigation?.map((navItem) => (_jsxs(Tooltip, { children: [_jsx(Tooltip.Trigger, { children: _jsx(Button, { render: (props) => _jsx(ButtonLink, { ...props, href: navItem.link }), isIconOnly: true, variant: activeLink === navItem.link ? 'tertiary' : 'ghost', onPress: () => setMobileMenuOpen(false), children: _jsxs(Badge.Anchor, { children: [navItem.icon, typeof navItem.badgeContent === 'string' && navItem.badgeContent ? (_jsx(Badge, { variant: "primary", color: "accent", size: "sm", className: "fragment-sidebar__bottom-nav-badge", children: navItem.badgeContent })) : null] }) }) }), _jsx(Tooltip.Content, { placement: "top", offset: 10, children: navItem.label })] }, navItem.label))), _jsx(Button, { variant: mobileMenuOpen ? 'tertiary' : 'ghost', isIconOnly: true, onPress: () => setMobileMenuOpen(!mobileMenuOpen), children: _jsx(IconDots, {}) })] }), _jsx(Modal, { isOpen: mobileMenuOpen, onOpenChange: setMobileMenuOpen, children: _jsx(Modal.Backdrop, { children: _jsx(Modal.Container, { children: _jsxs(Modal.Dialog, { children: [_jsx(Modal.Header, {}), _jsx(Modal.Body, { className: v.bottomNavModalBody(), children: items.map((item) => {
76
+ const children = item.align !== 'bottom' ? renderItems(item, { layout: 'expanded', activeLink }) : null;
77
+ return children ? (_jsx("div", { className: getAlignmentClass(item.align), children: children }, item.key)) : null;
78
+ }) }), _jsx(Modal.Footer, { className: v.bottomNavModalFooter(), children: items.map((item) => {
79
+ const children = item.align === 'bottom' ? renderItems(item, { layout: 'expanded', activeLink }) : null;
80
+ return children ? (_jsx("div", { className: getAlignmentClass(item.align), children: children }, item.key)) : null;
81
+ }) })] }) }) }) })] }));
92
82
  };
93
83
  //# sourceMappingURL=Sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../src/fragments/sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../src/fragments/sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}