@hellboy/ds 0.1.3 → 0.2.7

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 (298) hide show
  1. package/README.md +512 -162
  2. package/{src/style/components/badge → dist/components}/badge.css +9 -25
  3. package/dist/components/badge.d.mts +12 -0
  4. package/dist/components/badge.d.ts +12 -0
  5. package/dist/components/badge.js +42 -0
  6. package/dist/components/badge.mjs +15 -0
  7. package/dist/components/banner.css +280 -0
  8. package/dist/components/banner.d.mts +12 -0
  9. package/dist/components/banner.d.ts +12 -0
  10. package/dist/components/banner.js +184 -0
  11. package/dist/components/banner.mjs +147 -0
  12. package/dist/components/button-group.css +289 -0
  13. package/dist/components/button-group.d.mts +81 -0
  14. package/dist/components/button-group.d.ts +81 -0
  15. package/dist/components/button-group.js +180 -0
  16. package/dist/components/button-group.mjs +143 -0
  17. package/{src/style/components/button → dist/components}/button.css +59 -62
  18. package/dist/components/button.d.mts +57 -0
  19. package/dist/components/button.d.ts +57 -0
  20. package/dist/components/button.js +129 -0
  21. package/dist/components/button.mjs +92 -0
  22. package/{src/style/components/card → dist/components}/card.css +9 -30
  23. package/dist/components/card.d.mts +31 -0
  24. package/dist/components/card.d.ts +31 -0
  25. package/dist/components/card.js +59 -0
  26. package/dist/components/card.mjs +32 -0
  27. package/{src/style → dist}/components/checkbox.css +51 -43
  28. package/dist/components/checkbox.d.mts +31 -0
  29. package/dist/components/checkbox.d.ts +31 -0
  30. package/dist/components/checkbox.js +130 -0
  31. package/dist/components/checkbox.mjs +93 -0
  32. package/{src/style/components/code-block → dist/components}/code-block.css +3 -7
  33. package/dist/components/code-block.d.mts +24 -0
  34. package/dist/components/code-block.d.ts +24 -0
  35. package/dist/components/code-block.js +43 -0
  36. package/dist/components/code-block.mjs +16 -0
  37. package/dist/components/color-control.css +285 -0
  38. package/dist/components/color-control.d.mts +5 -0
  39. package/dist/components/color-control.d.ts +5 -0
  40. package/dist/components/color-control.js +534 -0
  41. package/dist/components/color-control.mjs +497 -0
  42. package/dist/components/dialog.css +930 -0
  43. package/dist/components/dialog.d.mts +32 -0
  44. package/dist/components/dialog.d.ts +32 -0
  45. package/dist/components/dialog.js +1111 -0
  46. package/dist/components/dialog.mjs +1074 -0
  47. package/dist/components/divider.css +356 -0
  48. package/dist/components/divider.d.mts +32 -0
  49. package/dist/components/divider.d.ts +32 -0
  50. package/dist/components/divider.js +344 -0
  51. package/dist/components/divider.mjs +307 -0
  52. package/{src/style/components/drag-handle → dist/components}/drag-handle.css +3 -18
  53. package/dist/components/drag-handle.d.mts +11 -0
  54. package/dist/components/drag-handle.d.ts +11 -0
  55. package/dist/components/drag-handle.js +103 -0
  56. package/dist/components/drag-handle.mjs +66 -0
  57. package/dist/components/drawer.css +1027 -0
  58. package/dist/components/drawer.d.mts +14 -0
  59. package/dist/components/drawer.d.ts +14 -0
  60. package/dist/components/drawer.js +1072 -0
  61. package/dist/components/drawer.mjs +1035 -0
  62. package/dist/components/floating-bar.css +17 -0
  63. package/dist/components/floating-bar.d.mts +25 -0
  64. package/dist/components/floating-bar.d.ts +25 -0
  65. package/dist/components/floating-bar.js +52 -0
  66. package/dist/components/floating-bar.mjs +25 -0
  67. package/dist/components/footer.css +40 -0
  68. package/dist/components/footer.d.mts +8 -0
  69. package/dist/components/footer.d.ts +8 -0
  70. package/dist/components/footer.js +44 -0
  71. package/dist/components/footer.mjs +17 -0
  72. package/dist/components/grid.css +47 -0
  73. package/dist/components/grid.d.mts +27 -0
  74. package/dist/components/grid.d.ts +27 -0
  75. package/dist/components/grid.js +52 -0
  76. package/dist/components/grid.mjs +25 -0
  77. package/dist/components/header.css +1075 -0
  78. package/dist/components/header.d.mts +35 -0
  79. package/dist/components/header.d.ts +35 -0
  80. package/dist/components/header.js +1402 -0
  81. package/dist/components/header.mjs +1365 -0
  82. package/dist/components/hero.css +121 -0
  83. package/dist/components/hero.d.mts +111 -0
  84. package/dist/components/hero.d.ts +111 -0
  85. package/dist/components/hero.js +285 -0
  86. package/dist/components/hero.mjs +248 -0
  87. package/{src/style/components/icons → dist/components}/icons.css +14 -15
  88. package/dist/components/icons.d.mts +104 -0
  89. package/dist/components/icons.d.ts +104 -0
  90. package/dist/components/icons.js +239 -0
  91. package/dist/components/icons.mjs +203 -0
  92. package/{src/style/components/input → dist/components}/input.css +189 -102
  93. package/dist/components/input.d.mts +114 -0
  94. package/dist/components/input.d.ts +114 -0
  95. package/dist/components/input.js +926 -0
  96. package/dist/components/input.mjs +879 -0
  97. package/dist/components/layout.css +551 -0
  98. package/dist/components/layout.d.mts +16 -0
  99. package/dist/components/layout.d.ts +16 -0
  100. package/dist/components/layout.js +387 -0
  101. package/dist/components/layout.mjs +352 -0
  102. package/{src/style/components/list → dist/components}/list.css +47 -41
  103. package/dist/components/list.d.mts +46 -0
  104. package/dist/components/list.d.ts +46 -0
  105. package/dist/components/list.js +124 -0
  106. package/dist/components/list.mjs +96 -0
  107. package/dist/components/navbar.css +706 -0
  108. package/dist/components/navbar.d.mts +56 -0
  109. package/dist/components/navbar.d.ts +56 -0
  110. package/dist/components/navbar.js +994 -0
  111. package/dist/components/navbar.mjs +952 -0
  112. package/{src/style/components/page-index → dist/components}/page-index.css +2 -47
  113. package/dist/components/page-index.d.mts +25 -0
  114. package/dist/components/page-index.d.ts +25 -0
  115. package/dist/components/page-index.js +239 -0
  116. package/dist/components/page-index.mjs +202 -0
  117. package/{src/style/components/page → dist/components}/page.css +4 -15
  118. package/dist/components/page.d.mts +30 -0
  119. package/dist/components/page.d.ts +30 -0
  120. package/dist/components/page.js +40 -0
  121. package/dist/components/page.mjs +13 -0
  122. package/dist/components/popover.css +87 -0
  123. package/dist/components/popover.d.mts +22 -0
  124. package/dist/components/popover.d.ts +22 -0
  125. package/dist/components/popover.js +243 -0
  126. package/dist/components/popover.mjs +206 -0
  127. package/{src/style → dist}/components/radio.css +8 -51
  128. package/dist/components/radio.d.mts +59 -0
  129. package/dist/components/radio.d.ts +59 -0
  130. package/dist/components/radio.js +133 -0
  131. package/dist/components/radio.mjs +95 -0
  132. package/dist/components/section.css +993 -0
  133. package/dist/components/section.d.mts +33 -0
  134. package/dist/components/section.d.ts +33 -0
  135. package/dist/components/section.js +1401 -0
  136. package/dist/components/section.mjs +1364 -0
  137. package/dist/components/select.css +391 -0
  138. package/dist/components/select.d.mts +63 -0
  139. package/dist/components/select.d.ts +63 -0
  140. package/dist/components/select.js +452 -0
  141. package/dist/components/select.mjs +415 -0
  142. package/{src/style/components/slider → dist/components}/slider.css +55 -33
  143. package/dist/components/slider.d.mts +69 -0
  144. package/dist/components/slider.d.ts +69 -0
  145. package/dist/components/slider.js +254 -0
  146. package/dist/components/slider.mjs +217 -0
  147. package/dist/components/switch.css +1081 -0
  148. package/dist/components/switch.d.mts +33 -0
  149. package/dist/components/switch.d.ts +33 -0
  150. package/dist/components/switch.js +1092 -0
  151. package/dist/components/switch.mjs +1055 -0
  152. package/{src/style/components/table → dist/components}/table.css +3 -28
  153. package/dist/components/table.d.mts +42 -0
  154. package/dist/components/table.d.ts +42 -0
  155. package/dist/components/table.js +108 -0
  156. package/dist/components/table.mjs +76 -0
  157. package/dist/components/tag.css +97 -0
  158. package/dist/components/tag.d.mts +12 -0
  159. package/dist/components/tag.d.ts +12 -0
  160. package/dist/components/tag.js +42 -0
  161. package/dist/components/tag.mjs +15 -0
  162. package/dist/components/textarea.css +1359 -0
  163. package/dist/components/textarea.d.mts +84 -0
  164. package/dist/components/textarea.d.ts +84 -0
  165. package/dist/components/textarea.js +1962 -0
  166. package/dist/components/textarea.mjs +1924 -0
  167. package/{src/style/components/theme-control → dist/components}/theme-control.css +3 -7
  168. package/dist/components/theme-control.d.mts +9 -0
  169. package/dist/components/theme-control.d.ts +9 -0
  170. package/dist/components/theme-control.js +235 -0
  171. package/dist/components/theme-control.mjs +200 -0
  172. package/{src/style/components/tooltip → dist/components}/tooltip.css +5 -13
  173. package/dist/components/tooltip.d.mts +12 -0
  174. package/dist/components/tooltip.d.ts +12 -0
  175. package/dist/components/tooltip.js +200 -0
  176. package/dist/components/tooltip.mjs +163 -0
  177. package/dist/icons-Czahnf-r.d.mts +15 -0
  178. package/dist/icons-Czahnf-r.d.ts +15 -0
  179. package/dist/index.css +2914 -2067
  180. package/dist/index.d.mts +144 -721
  181. package/dist/index.d.ts +144 -721
  182. package/dist/index.js +4076 -2282
  183. package/dist/index.mjs +4132 -2366
  184. package/dist/theme.css +34 -34
  185. package/package.json +27 -8
  186. package/dist/index.css.map +0 -1
  187. package/dist/index.js.map +0 -1
  188. package/dist/index.mjs.map +0 -1
  189. package/hellboy-ds-0.1.2.tgz +0 -0
  190. package/src/components/badge/Badge.tsx +0 -29
  191. package/src/components/badge/index.ts +0 -1
  192. package/src/components/banner/Banner.tsx +0 -48
  193. package/src/components/banner/banner.css +0 -44
  194. package/src/components/banner/index.ts +0 -1
  195. package/src/components/button/button.tsx +0 -127
  196. package/src/components/button/index.ts +0 -1
  197. package/src/components/card/card.tsx +0 -57
  198. package/src/components/card/index.ts +0 -1
  199. package/src/components/checkbox/Checkbox.tsx +0 -98
  200. package/src/components/checkbox/index.ts +0 -1
  201. package/src/components/code-block/code-block.tsx +0 -44
  202. package/src/components/code-block/index.ts +0 -1
  203. package/src/components/color-control/color-control.tsx +0 -322
  204. package/src/components/color-control/index.ts +0 -1
  205. package/src/components/drag-handle/DragHandle.tsx +0 -78
  206. package/src/components/drag-handle/index.ts +0 -1
  207. package/src/components/drawer/drawer.tsx +0 -82
  208. package/src/components/drawer/index.ts +0 -1
  209. package/src/components/floating-bar/floating-bar.tsx +0 -52
  210. package/src/components/floating-bar/index.ts +0 -2
  211. package/src/components/footer/footer.tsx +0 -28
  212. package/src/components/footer/index.ts +0 -1
  213. package/src/components/grid/Grid.tsx +0 -53
  214. package/src/components/grid/index.ts +0 -1
  215. package/src/components/header/header.tsx +0 -57
  216. package/src/components/header/index.ts +0 -1
  217. package/src/components/icons/icons.tsx +0 -44
  218. package/src/components/icons/index.ts +0 -1
  219. package/src/components/index.ts +0 -29
  220. package/src/components/input/DatePicker.tsx +0 -133
  221. package/src/components/input/Input.tsx +0 -220
  222. package/src/components/input/InputDate.tsx +0 -10
  223. package/src/components/input/InputDateTime.tsx +0 -10
  224. package/src/components/input/InputEmail.tsx +0 -10
  225. package/src/components/input/InputField.tsx +0 -137
  226. package/src/components/input/InputNumber.tsx +0 -10
  227. package/src/components/input/InputPassword.tsx +0 -10
  228. package/src/components/input/InputSearch.tsx +0 -10
  229. package/src/components/input/InputTel.tsx +0 -10
  230. package/src/components/input/InputText.tsx +0 -10
  231. package/src/components/input/InputTime.tsx +0 -10
  232. package/src/components/input/InputUrl.tsx +0 -10
  233. package/src/components/input/TimePicker.tsx +0 -151
  234. package/src/components/input/index.ts +0 -11
  235. package/src/components/layout/Layout.tsx +0 -244
  236. package/src/components/layout/index.ts +0 -1
  237. package/src/components/list/List.tsx +0 -159
  238. package/src/components/list/index.ts +0 -1
  239. package/src/components/navbar/MenuCategory.tsx +0 -20
  240. package/src/components/navbar/MenuGroup.tsx +0 -288
  241. package/src/components/navbar/MenuItem.tsx +0 -65
  242. package/src/components/navbar/Navbar.tsx +0 -23
  243. package/src/components/navbar/index.ts +0 -4
  244. package/src/components/page/index.ts +0 -1
  245. package/src/components/page/page.tsx +0 -46
  246. package/src/components/page-index/PageIndex.tsx +0 -275
  247. package/src/components/page-index/index.ts +0 -1
  248. package/src/components/popover/index.ts +0 -1
  249. package/src/components/popover/popover.tsx +0 -199
  250. package/src/components/radio/Radio.tsx +0 -176
  251. package/src/components/radio/index.ts +0 -1
  252. package/src/components/section/index.ts +0 -1
  253. package/src/components/section/section.tsx +0 -66
  254. package/src/components/select/Select.tsx +0 -212
  255. package/src/components/select/index.ts +0 -1
  256. package/src/components/slider/Slider.tsx +0 -267
  257. package/src/components/slider/index.ts +0 -1
  258. package/src/components/switch/index.ts +0 -1
  259. package/src/components/switch/switch.tsx +0 -99
  260. package/src/components/table/Table.tsx +0 -147
  261. package/src/components/table/index.ts +0 -1
  262. package/src/components/theme-control/index.ts +0 -1
  263. package/src/components/theme-control/theme-control.tsx +0 -78
  264. package/src/components/tooltip/index.ts +0 -1
  265. package/src/components/tooltip/tooltip.tsx +0 -207
  266. package/src/contexts/NavbarTooltipContext.tsx +0 -48
  267. package/src/contexts/index.ts +0 -1
  268. package/src/foundations/motion.md +0 -136
  269. package/src/index.ts +0 -40
  270. package/src/style/_shared/field.css +0 -69
  271. package/src/style/components/color-control/color-control.css +0 -126
  272. package/src/style/components/drawer/drawer.css +0 -210
  273. package/src/style/components/floating-bar/floating-bar.css +0 -39
  274. package/src/style/components/footer/footer.css +0 -108
  275. package/src/style/components/grid/grid.css +0 -33
  276. package/src/style/components/header/header.css +0 -44
  277. package/src/style/components/layout/layout.css +0 -205
  278. package/src/style/components/navbar/navbar.css +0 -342
  279. package/src/style/components/popover/popover.css +0 -44
  280. package/src/style/components/section/section.css +0 -67
  281. package/src/style/components/select/select.css +0 -143
  282. package/src/style/components/switch/switch.css +0 -267
  283. package/src/style/foundations/global.css +0 -316
  284. package/src/style/foundations/motion.css +0 -164
  285. package/src/style/foundations/spacing.css +0 -51
  286. package/src/style/foundations/typography.css +0 -39
  287. package/src/style/foundations/z-index.css +0 -81
  288. package/src/style/modes/dark.css +0 -146
  289. package/src/style/modes/light.css +0 -147
  290. package/src/style/semantic.css +0 -52
  291. package/src/style/styles.css +0 -51
  292. package/src/style/themes/theme.json +0 -37
  293. package/src/utils/README.md +0 -305
  294. package/src/utils/USER_PREFERENCES.md +0 -558
  295. package/src/utils/theme.ts +0 -127
  296. package/src/utils/user-preferences.ts +0 -577
  297. package/tsconfig.json +0 -25
  298. package/tsup.config.ts +0 -52
package/dist/index.d.mts CHANGED
@@ -1,6 +1,42 @@
1
1
  import * as React from 'react';
2
- import React__default, { ReactNode } from 'react';
3
- import { ButtonProps as ButtonProps$1, CheckboxProps as CheckboxProps$1, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, DialogProps, useDialogStore } from '@ariakit/react';
2
+ import React__default from 'react';
3
+ export { Badge, BadgeProps, BadgeSize, BadgeVariant } from './components/badge.mjs';
4
+ export { Banner, BannerProps, BannerType } from './components/banner.mjs';
5
+ export { Button, ButtonProps, ButtonSize, ButtonVariant } from './components/button.mjs';
6
+ export { ButtonGroup, ButtonGroupMode, ButtonGroupOption, ButtonGroupOrientation, ButtonGroupProps, ButtonGroupSize, ButtonGroupVariant } from './components/button-group.mjs';
7
+ export { Card, CardProps, CardVariant } from './components/card.mjs';
8
+ export { Checkbox, CheckboxProps, CheckboxSize } from './components/checkbox.mjs';
9
+ export { CodeBlock, CodeBlockProps, CodeBlockVariant } from './components/code-block.mjs';
10
+ export { ColorControl } from './components/color-control.mjs';
11
+ export { Dialog, DialogProps, DialogSize } from './components/dialog.mjs';
12
+ export { Divider, DividerProps, DividerSize, DividerVariant } from './components/divider.mjs';
13
+ export { DragHandle, DragHandleProps } from './components/drag-handle.mjs';
14
+ export { Drawer, DrawerPlacement, DrawerProps } from './components/drawer.mjs';
15
+ export { FloatingBar, FloatingBarPosition, FloatingBarProps } from './components/floating-bar.mjs';
16
+ export { Footer, FooterProps } from './components/footer.mjs';
17
+ export { Grid, GridColumns, GridProps } from './components/grid.mjs';
18
+ export { Header, HeaderProps } from './components/header.mjs';
19
+ export { Hero, HeroProps } from './components/hero.mjs';
20
+ export { I as Icon, a as IconName, b as IconProps } from './icons-Czahnf-r.mjs';
21
+ export { ACTION_ICONS, BANNER_TYPE_ICONS, CHECKBOX_ICONS, FILE_TYPE_ICONS, INPUT_TYPE_ICONS, LIST_ICONS, NAVIGATION_ICONS, STATUS_ICONS, SWITCH_ICONS } from './components/icons.mjs';
22
+ export { Input, InputDate, InputDateProps, InputDateTime, InputDateTimeProps, InputEmail, InputEmailProps, InputNumber, InputNumberProps, InputPassword, InputPasswordProps, InputProps, InputSearch, InputSearchProps, InputTel, InputTelProps, InputText, InputTextProps, InputTime, InputTimeProps, InputType, InputUrl, InputUrlProps } from './components/input.mjs';
23
+ export { Layout, LayoutProps, LayoutVariant } from './components/layout.mjs';
24
+ export { List, ListItem, ListItemProps, ListProps } from './components/list.mjs';
25
+ export { NAVBAR_COLLAPSED_WIDTH, NAVBAR_COLLAPSE_BREAKPOINT, NAVBAR_EXPANDED_WIDTH, NAVBAR_MIN_PERSIST_WIDTH, Navbar, NavbarMenuCategory, NavbarMenuCategoryProps, NavbarMenuGroup, NavbarMenuGroupProps, NavbarMenuItem, NavbarMenuItemProps, NavbarProps } from './components/navbar.mjs';
26
+ export { Page, PageProps, PageWidth } from './components/page.mjs';
27
+ export { PageIndex, PageIndexItem, PageIndexProps } from './components/page-index.mjs';
28
+ export { Popover, PopoverProps } from './components/popover.mjs';
29
+ export { Radio, RadioGroup, RadioGroupProps, RadioProps, RadioSize } from './components/radio.mjs';
30
+ export { Section, SectionProps, SectionSize } from './components/section.mjs';
31
+ export { Select, SelectOption, SelectProps } from './components/select.mjs';
32
+ export { Slider, SliderProps } from './components/slider.mjs';
33
+ export { Switch, SwitchProps, SwitchSize } from './components/switch.mjs';
34
+ export { Table, TableBody, TableBodyProps, TableCell, TableCellProps, TableContainer, TableContainerProps, TableHead, TableHeadProps, TableProps, TableRow, TableRowProps } from './components/table.mjs';
35
+ export { Tag, TagProps, TagSize, TagVariant } from './components/tag.mjs';
36
+ export { RichTextarea, RichTextareaProps, Textarea, TextareaProps, ToolbarOption } from './components/textarea.mjs';
37
+ export { ThemeControl, ThemeControlProps } from './components/theme-control.mjs';
38
+ export { Tooltip, TooltipProps } from './components/tooltip.mjs';
39
+ import '@ariakit/react';
4
40
 
5
41
  interface NavbarTooltipContextType {
6
42
  hasOpenPopover: boolean;
@@ -14,786 +50,173 @@ declare const NavbarTooltipProvider: React.FC<{
14
50
  }>;
15
51
  declare const useNavbarTooltip: () => NavbarTooltipContextType;
16
52
 
17
- type IconName = string;
18
- interface IconProps {
19
- name: IconName;
20
- size?: number;
21
- className?: string;
22
- /** Render a skeleton placeholder instead of the real icon (useful while downloading/loading) */
23
- loading?: boolean;
24
- /** aria-label for icon-only buttons etc. */
25
- 'aria-label'?: string;
26
- }
27
- declare const Icon: React__default.FC<IconProps>;
28
-
29
- type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'ghost';
30
- type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
31
- interface ButtonProps extends Omit<ButtonProps$1, 'children'> {
32
- /**
33
- * Visual variant of the button
34
- * @default 'primary'
35
- */
36
- variant?: ButtonVariant;
37
- /**
38
- * Size of the button
39
- * @default 'md'
40
- */
41
- size?: ButtonSize;
42
- /**
43
- * Button content
44
- */
45
- children?: ReactNode;
46
- /**
47
- * Whether the button is in a loading state
48
- * @default false
49
- */
50
- isLoading?: boolean;
51
- /**
52
- * Full width button
53
- * @default false
54
- */
55
- fullWidth?: boolean;
56
- /**
57
- * Icon to display at the start of the button
58
- */
59
- startIcon?: IconName;
60
- /**
61
- * Icon to display at the end of the button
62
- */
63
- endIcon?: IconName;
64
- /**
65
- * Whether the button should only display an icon (no text)
66
- * @default false
67
- */
68
- iconOnly?: boolean;
69
- /**
70
- * URL to navigate to when button is clicked (makes it work like a link)
71
- */
72
- href?: string;
53
+ interface BackdropProps extends React.HTMLAttributes<HTMLDivElement> {
54
+ /** Apply blur effect */
55
+ blur?: boolean;
73
56
  }
74
- declare const Button: React__default.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
75
-
76
- type BadgeVariant = 'primary' | 'secondary' | 'tertiary' | 'accent' | 'success' | 'warning' | 'error' | 'info';
77
- type BadgeSize = 'sm' | 'md' | 'lg';
78
- interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
79
- variant?: BadgeVariant;
80
- size?: BadgeSize;
81
- children: React.ReactNode;
82
- }
83
- declare const Badge: React.FC<BadgeProps>;
84
-
85
- type CheckboxSize = 'sm' | 'md' | 'lg';
86
- interface CheckboxProps extends Omit<CheckboxProps$1, 'children' | 'size'> {
87
- /**
88
- * Size of the checkbox
89
- * @default 'md'
90
- */
91
- size?: CheckboxSize;
92
- /**
93
- * Label text for the checkbox
94
- */
95
- label?: React__default.ReactNode;
96
- /**
97
- * Error message to display below the checkbox
98
- */
99
- error?: string;
100
- /**
101
- * Helper text to display below the checkbox
102
- */
103
- helperText?: string;
104
- /**
105
- * Whether the checkbox is in an indeterminate state
106
- * @default false
107
- */
108
- indeterminate?: boolean;
109
- }
110
- declare const Checkbox: React__default.ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
57
+ /**
58
+ * Backdrop component for modals, dialogs, drawers, and overlays.
59
+ * Provides a consistent darkened background with optional blur effect.
60
+ */
61
+ declare const Backdrop: React.ForwardRefExoticComponent<BackdropProps & React.RefAttributes<HTMLDivElement>>;
111
62
 
112
- type SwitchSize = 'sm' | 'md' | 'lg';
113
- interface SwitchProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size'> {
63
+ interface ThumbProps {
114
64
  /**
115
- * Size of the switch
116
- * @default 'md'
65
+ * Icon name to display inside the thumb
117
66
  */
118
- size?: SwitchSize;
67
+ icon?: string;
119
68
  /**
120
- * Label text for the switch
69
+ * Icon size
70
+ * @default 16
121
71
  */
122
- label?: React__default.ReactNode;
72
+ iconSize?: number;
123
73
  /**
124
- * Icon to display when switch is ON
74
+ * Additional className for the thumb
125
75
  */
126
- onIcon?: string;
76
+ className?: string;
127
77
  /**
128
- * Icon to display when switch is OFF
78
+ * Inline styles for the thumb
129
79
  */
130
- offIcon?: string;
80
+ style?: React__default.CSSProperties;
131
81
  /**
132
- * Error message to display below the switch
82
+ * Children to render inside the thumb
133
83
  */
134
- error?: string;
84
+ children?: React__default.ReactNode;
135
85
  /**
136
- * Helper text to display below the switch
86
+ * Hover state
137
87
  */
138
- helperText?: string;
139
- }
140
- declare const Switch: React__default.ForwardRefExoticComponent<SwitchProps & React__default.RefAttributes<HTMLInputElement>>;
141
-
142
- type LayoutVariant = "single" | "stacked" | "sidebar-main-sidebar";
143
- interface LayoutProps extends React.HTMLAttributes<HTMLDivElement> {
144
- variant?: LayoutVariant;
145
- header?: React.ReactNode;
146
- footer?: React.ReactNode;
147
- sidebarLeft?: React.ReactNode;
148
- sidebarRight?: React.ReactNode;
149
- bottomBar?: React.ReactNode;
150
- resizable?: boolean;
151
- }
152
- declare const Layout: React.FC<LayoutProps>;
153
-
154
- type PageWidth = 'full' | 'wide' | 'medium' | 'narrow';
155
- interface PageProps {
88
+ hover?: boolean;
156
89
  /**
157
- * Page content width
158
- * - full: 100% width
159
- * - wide: 1400px max
160
- * - medium: 1200px max (default)
161
- * - narrow: 800px max
162
- * @default 'medium'
90
+ * Active/pressed state
163
91
  */
164
- width?: PageWidth;
92
+ active?: boolean;
165
93
  /**
166
- * Page content
94
+ * Disabled state
167
95
  */
168
- children: ReactNode;
96
+ disabled?: boolean;
169
97
  /**
170
- * Custom class name
98
+ * Checked/on state (for switches)
171
99
  */
172
- className?: string;
100
+ checked?: boolean;
173
101
  }
174
102
  /**
175
- * Page Component
176
- * Main content container with responsive width control
177
- * Use inside Layout's children for consistent content sizing
103
+ * Shared Thumb component used across interactive controls (Slider, Switch, etc.)
104
+ * Provides a consistent visual pattern with optional icon support.
178
105
  */
179
- declare const Page: React__default.FC<PageProps>;
106
+ declare const Thumb: React__default.FC<ThumbProps>;
180
107
 
181
- interface HeaderProps {
108
+ interface HeadingAnchorProps {
182
109
  /**
183
- * Header title
110
+ * The heading text to generate ID from
184
111
  */
185
- title?: ReactNode;
112
+ title: string;
186
113
  /**
187
- * Header subtitle/description
114
+ * Custom ID override
188
115
  */
189
- subtitle?: ReactNode;
116
+ id?: string;
190
117
  /**
191
- * Header content - overrides title/subtitle
118
+ * Custom class name for the anchor button
192
119
  */
193
- children?: ReactNode;
120
+ className?: string;
194
121
  /**
195
- * Custom class name
122
+ * Dialog title
123
+ * @default "Section Link"
196
124
  */
197
- className?: string;
125
+ dialogTitle?: string;
198
126
  }
199
127
  /**
200
- * Header component for page headers
201
- * Displays title, subtitle, or custom content
128
+ * Generate ID from text
202
129
  */
203
- declare const Header: React__default.FC<HeaderProps>;
204
-
205
- type SectionSize = 'sm' | 'md' | 'lg';
206
- interface SectionProps {
207
- /**
208
- * Section title
209
- */
210
- title?: ReactNode;
211
- /**
212
- * Section content
213
- */
214
- children: ReactNode;
215
- /**
216
- * Section size/padding
217
- * @default 'md'
218
- */
219
- size?: SectionSize;
220
- /**
221
- * Custom class name
222
- */
223
- className?: string;
224
- }
130
+ declare function generateHeadingId(text: string): string;
225
131
  /**
226
- * Section component for content areas
227
- * Provides consistent spacing and styling for content sections
132
+ * HeadingAnchor Component
133
+ *
134
+ * Provides anchor link functionality for headings (Section, Header, etc.)
135
+ * Renders a clickable # button that opens a dialog with a shareable link
136
+ *
137
+ * Dependencies:
138
+ * - Internal: Dialog, Button, InputText (from @hellboy/ds)
139
+ * - External: React
228
140
  */
229
- declare const Section: React__default.FC<SectionProps>;
230
-
231
- type CodeBlockVariant = 'block' | 'inline';
232
- interface CodeBlockProps {
233
- /**
234
- * Code content
235
- */
236
- children: ReactNode;
237
- /**
238
- * Variant of the code block
239
- * @default 'block'
240
- */
241
- variant?: CodeBlockVariant;
242
- /**
243
- * Custom class name
244
- */
245
- className?: string;
246
- }
141
+ declare const HeadingAnchor: React__default.FC<HeadingAnchorProps>;
247
142
  /**
248
- * CodeBlock component for displaying code snippets
143
+ * Hook to use heading ID generation
249
144
  */
250
- declare const CodeBlock: React__default.FC<CodeBlockProps>;
251
-
252
- interface NavbarProps {
253
- children: React.ReactNode;
254
- className?: string;
255
- /** Default width (px) the navbar should assume when expanded and no user preference exists */
256
- defaultExpandedWidth?: number;
257
- }
258
- declare const Navbar: React.FC<NavbarProps>;
145
+ declare function useHeadingId(title?: string | React__default.ReactNode, customId?: string): string | undefined;
259
146
 
260
- interface MenuItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
261
- icon?: string;
262
- active?: boolean;
263
- children: React.ReactNode;
264
- as?: React.ElementType<any>;
265
- isCollapsed?: boolean;
266
- showTooltipWhenCollapsed?: boolean;
267
- [key: string]: any;
268
- }
269
- declare const MenuItem: React.FC<MenuItemProps>;
270
-
271
- interface MenuGroupProps {
272
- title: string;
273
- icon?: string;
274
- children: React.ReactNode;
275
- defaultExpanded?: boolean;
276
- autoExpand?: boolean;
277
- expandable?: boolean;
278
- isCollapsed?: boolean;
279
- }
280
- declare const MenuGroup: React.FC<MenuGroupProps>;
281
-
282
- interface MenuCategoryProps {
283
- title: string;
284
- children: React.ReactNode;
285
- }
286
- declare const MenuCategory: React.FC<MenuCategoryProps>;
287
-
288
- type Theme$1 = 'light' | 'dark';
289
- interface ThemeControlProps {
290
- onThemeChange?: (theme: Theme$1) => void;
291
- }
292
- declare const ThemeControl: React.FC<ThemeControlProps>;
293
-
294
- type CardVariant = 'default' | 'elevated' | 'outlined';
295
- interface CardProps {
296
- /**
297
- * Visual variant of the card
298
- * @default 'default'
299
- */
300
- variant?: CardVariant;
301
- /**
302
- * Card content
303
- */
304
- children: ReactNode;
305
- /**
306
- * Additional CSS classes
307
- */
308
- className?: string;
309
- /**
310
- * Click handler for interactive cards
311
- */
312
- onClick?: () => void;
313
- }
314
- declare const Card: React__default.FC<CardProps>;
315
-
316
- declare const ColorControl: React__default.FC;
317
-
318
- type GridColumns = number | "auto-fit" | "auto-fill";
319
- interface GridProps extends React.HTMLAttributes<HTMLDivElement> {
320
- /**
321
- * Number of columns or auto-fit/auto-fill
322
- * @default "auto-fit"
323
- */
324
- columns?: GridColumns;
325
- /**
326
- * Minimum width for each column (when using auto-fit/auto-fill)
327
- * @default "250px"
328
- */
329
- minWidth?: string;
330
- /**
331
- * Gap between grid items
332
- * @default "1rem"
333
- */
334
- gap?: string;
335
- /**
336
- * Maximum number of columns (when columns is a number)
337
- */
338
- maxColumns?: number;
339
- }
340
- declare const Grid: React.FC<GridProps>;
341
-
342
- interface SliderProps {
343
- /**
344
- * Minimum value
345
- * @default 0
346
- */
347
- min?: number;
348
- /**
349
- * Maximum value
350
- * @default 100
351
- */
352
- max?: number;
353
- /**
354
- * Current value
355
- */
356
- value: number;
357
- /**
358
- * Step increment
359
- * @default 1
360
- */
361
- step?: number;
362
- /**
363
- * Callback when value changes
364
- */
365
- onChange: (value: number) => void;
366
- /**
367
- * Callback when drag starts
368
- */
369
- onDragStart?: () => void;
370
- /**
371
- * Callback when drag ends (value committed)
372
- */
373
- onChangeEnd?: (value: number) => void;
374
- /**
375
- * Label for the slider
376
- */
377
- label?: string;
378
- /**
379
- * Show value display
380
- * @default true
381
- */
382
- showValue?: boolean;
383
- /**
384
- * Custom class name
385
- */
386
- className?: string;
387
- /**
388
- * Disabled state
389
- * @default false
390
- */
391
- disabled?: boolean;
392
- /**
393
- * Slider type for different backgrounds
394
- * @default 'default'
395
- */
396
- type?: 'default' | 'hue' | 'saturation' | 'lightness';
397
- /**
398
- * Base color for saturation/lightness gradients (hsl values)
399
- */
400
- baseHue?: number;
401
- /**
402
- * Base saturation for lightness gradient (0-100)
403
- */
404
- baseSaturation?: number;
405
- }
406
- declare const Slider: React__default.FC<SliderProps>;
407
-
408
- interface DragHandleProps {
409
- onResize: (delta: number) => void;
410
- onResizeEnd?: () => void;
411
- orientation?: 'vertical' | 'horizontal';
412
- className?: string;
413
- }
414
- declare const DragHandle: React__default.FC<DragHandleProps>;
415
-
416
- interface FooterProps extends React__default.HTMLAttributes<HTMLElement> {
417
- children?: React__default.ReactNode;
418
- }
419
- declare const Footer: React__default.FC<FooterProps>;
420
-
421
- interface InputFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
422
- /**
423
- * Input native type (text, email, password, etc.)
424
- */
425
- type?: string;
426
- /**
427
- * Label text
428
- */
429
- label?: string;
430
- /**
431
- * Helper text shown below the input
432
- */
433
- helperText?: string;
434
- /**
435
- * Error message - when present, input is in error state
436
- */
437
- error?: string;
147
+ interface BreadcrumbItem {
438
148
  /**
439
- * Icon name from our icon library (shown on the left)
149
+ * Label to display
440
150
  */
441
- icon?: string;
442
- /**
443
- * Icon name for the right side
444
- */
445
- iconRight?: string;
446
- /**
447
- * Full width input
448
- * @default false
449
- */
450
- fullWidth?: boolean;
451
- /**
452
- * Size variant
453
- * @default 'md'
454
- */
455
- size?: 'sm' | 'md' | 'lg';
456
- /**
457
- * Custom class name
458
- */
459
- className?: string;
460
- /**
461
- * Right icon click handler
462
- */
463
- onRightIconClick?: () => void;
464
- }
465
-
466
- type InputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local';
467
- interface InputProps extends Omit<InputFieldProps, 'type' | 'iconRight' | 'onRightIconClick'> {
468
- /**
469
- * Input type with extended support for date/time pickers
470
- * @default 'text'
471
- */
472
- type?: InputType;
473
- /**
474
- * Show milliseconds in time picker (only for time type)
475
- * @default false
476
- */
477
- showMilliseconds?: boolean;
478
- /**
479
- * Minute step in time picker (only for time type)
480
- * @default 1
481
- */
482
- minuteStep?: 1 | 5 | 15 | 30;
151
+ label: string;
483
152
  /**
484
- * Show clear button for search inputs when they have value
485
- * @default true
153
+ * URL path for navigation
486
154
  */
487
- showClear?: boolean;
155
+ path?: string;
488
156
  }
489
-
490
- interface InputTextProps extends Omit<InputProps, 'type'> {
491
- }
492
- declare const InputText: React__default.ForwardRefExoticComponent<InputTextProps & React__default.RefAttributes<HTMLInputElement>>;
493
-
494
- interface InputEmailProps extends Omit<InputProps, 'type'> {
495
- }
496
- declare const InputEmail: React__default.ForwardRefExoticComponent<InputEmailProps & React__default.RefAttributes<HTMLInputElement>>;
497
-
498
- interface InputPasswordProps extends Omit<InputProps, 'type'> {
499
- }
500
- declare const InputPassword: React__default.ForwardRefExoticComponent<InputPasswordProps & React__default.RefAttributes<HTMLInputElement>>;
501
-
502
- interface InputSearchProps extends Omit<InputProps, 'type'> {
503
- }
504
- declare const InputSearch: React__default.ForwardRefExoticComponent<InputSearchProps & React__default.RefAttributes<HTMLInputElement>>;
505
-
506
- interface InputTelProps extends Omit<InputProps, 'type'> {
507
- }
508
- declare const InputTel: React__default.ForwardRefExoticComponent<InputTelProps & React__default.RefAttributes<HTMLInputElement>>;
509
-
510
- interface InputUrlProps extends Omit<InputProps, 'type'> {
511
- }
512
- declare const InputUrl: React__default.ForwardRefExoticComponent<InputUrlProps & React__default.RefAttributes<HTMLInputElement>>;
513
-
514
- interface InputNumberProps extends Omit<InputProps, 'type'> {
515
- }
516
- declare const InputNumber: React__default.ForwardRefExoticComponent<InputNumberProps & React__default.RefAttributes<HTMLInputElement>>;
517
-
518
- interface InputDateProps extends Omit<InputProps, 'type'> {
519
- }
520
- declare const InputDate: React__default.ForwardRefExoticComponent<InputDateProps & React__default.RefAttributes<HTMLInputElement>>;
521
-
522
- interface InputTimeProps extends Omit<InputProps, 'type'> {
523
- }
524
- declare const InputTime: React__default.ForwardRefExoticComponent<InputTimeProps & React__default.RefAttributes<HTMLInputElement>>;
525
-
526
- interface InputDateTimeProps extends Omit<InputProps, 'type'> {
527
- }
528
- declare const InputDateTime: React__default.ForwardRefExoticComponent<InputDateTimeProps & React__default.RefAttributes<HTMLInputElement>>;
529
-
530
- interface ListItemProps extends React.HTMLAttributes<HTMLDivElement> {
157
+ interface BreadcrumbsProps {
531
158
  /**
532
- * Item content
159
+ * Array of breadcrumb items
533
160
  */
534
- children: React.ReactNode;
535
- /**
536
- * Icon name from our icon library
537
- */
538
- icon?: string;
161
+ items: BreadcrumbItem[];
539
162
  /**
540
- * Whether the item is selected
163
+ * Custom separator between items
164
+ * @default "/"
541
165
  */
542
- selected?: boolean;
543
- /**
544
- * Whether the item is disabled
545
- */
546
- disabled?: boolean;
547
- /**
548
- * Click handler
549
- */
550
- onClick?: () => void;
166
+ separator?: React__default.ReactNode;
551
167
  /**
552
168
  * Custom class name
553
169
  */
554
170
  className?: string;
555
171
  /**
556
- * Category label for organizing items (display only)
557
- */
558
- category?: string;
559
- }
560
- declare const ListItem: React.FC<ListItemProps>;
561
- interface ListProps extends React.HTMLAttributes<HTMLDivElement> {
562
- /**
563
- * List items
564
- */
565
- children: React.ReactNode;
566
- /**
567
- * Custom class name
172
+ * Custom onClick handler for navigation
173
+ * If not provided, will use native anchor links
568
174
  */
569
- className?: string;
175
+ onNavigate?: (path: string) => void;
570
176
  }
571
- declare const List: React.FC<ListProps>;
177
+ /**
178
+ * Breadcrumbs Component
179
+ *
180
+ * Navigation component that shows the current page's location in the site hierarchy.
181
+ * Allows users to navigate back to parent pages.
182
+ *
183
+ * Dependencies:
184
+ * - External: React
185
+ */
186
+ declare const Breadcrumbs: React__default.FC<BreadcrumbsProps>;
572
187
 
573
- type RadioSize = 'sm' | 'md' | 'lg';
574
- interface RadioProps extends Omit<RadioProps$1, 'children' | 'size'> {
575
- /**
576
- * Size of the radio button
577
- * @default 'md'
578
- */
579
- size?: RadioSize;
580
- /**
581
- * Label text for the radio button
582
- */
583
- label?: React__default.ReactNode;
584
- /**
585
- * Error state
586
- */
587
- error?: boolean;
588
- }
589
- interface RadioGroupProps extends Omit<RadioGroupProps$1, 'onChange'> {
590
- /**
591
- * Size of all radio buttons in the group
592
- * @default 'md'
593
- */
594
- size?: RadioSize;
595
- /**
596
- * Label for the radio group
597
- */
188
+ type MenuNodeBase = {
189
+ id: string;
598
190
  label?: string;
599
- /**
600
- * Error message to display below the radio group
601
- */
602
- error?: string;
603
- /**
604
- * Helper text to display below the radio group
605
- */
606
- helperText?: string;
607
- /**
608
- * Children (Radio components)
609
- */
610
- children: React__default.ReactNode;
611
- /**
612
- * Orientation of the radio group
613
- * @default 'vertical'
614
- */
615
- orientation?: 'horizontal' | 'vertical';
616
- /**
617
- * The value of the selected radio button
618
- */
619
- value?: string | number | null;
620
- /**
621
- * Callback when the selected value changes
622
- */
623
- onChange?: (value: string | number | null) => void;
624
- }
625
- declare const Radio: React__default.ForwardRefExoticComponent<Omit<RadioProps, "ref"> & React__default.RefAttributes<HTMLInputElement>>;
626
- declare const RadioGroup: React__default.ForwardRefExoticComponent<Omit<RadioGroupProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
627
-
628
- interface SelectOption {
629
- value: string;
630
- label: string;
191
+ meta?: Record<string, any>;
192
+ };
193
+ type MenuItemNode = MenuNodeBase & {
194
+ type: "item";
631
195
  icon?: string;
632
- disabled?: boolean;
633
- }
634
- interface SelectProps {
635
- /**
636
- * Select options
637
- */
638
- options: SelectOption[];
639
- /**
640
- * Current value
641
- */
642
- value?: string;
643
- /**
644
- * Change handler
645
- */
646
- onChange?: (value: string) => void;
647
- /**
648
- * Label text
649
- */
650
- label?: string;
651
- /**
652
- * Placeholder when no value selected
653
- */
654
- placeholder?: string;
655
- /**
656
- * Helper text shown below the select
657
- */
658
- helperText?: string;
659
- /**
660
- * Error message - when present, select is in error state
661
- */
662
- error?: string;
663
- /**
664
- * Whether the select is disabled
665
- */
666
- disabled?: boolean;
667
- /**
668
- * Full width select
669
- * @default false
670
- */
671
- fullWidth?: boolean;
672
- /**
673
- * Size variant
674
- * @default 'md'
675
- */
676
- size?: 'sm' | 'md' | 'lg';
677
- /**
678
- * Custom class name
679
- */
680
- className?: string;
681
- /**
682
- * ID for accessibility
683
- */
684
- id?: string;
685
- }
686
- declare const Select: React.FC<SelectProps>;
687
-
688
- type BannerType = 'info' | 'warning' | 'error' | 'success';
689
- interface BannerProps {
690
- type?: BannerType;
691
- children: ReactNode;
196
+ to?: string;
197
+ href?: string;
198
+ action?: string;
199
+ };
200
+ type MenuGroupNode = MenuNodeBase & {
201
+ type: "group";
692
202
  icon?: string;
693
- onDismiss?: () => void;
694
- }
695
- declare const Banner: React__default.FC<BannerProps>;
696
-
697
- type FloatingBarPosition = 'top' | 'bottom';
698
- interface FloatingBarProps extends React__default.HTMLAttributes<HTMLDivElement> {
699
- /**
700
- * Position of the floating bar
701
- * @default 'bottom'
702
- */
703
- position?: FloatingBarPosition;
704
- /**
705
- * Content of the floating bar
706
- */
707
- children: React__default.ReactNode;
708
- /**
709
- * Additional CSS classes
710
- */
711
- className?: string;
712
- }
713
- /**
714
- * FloatingBar Component
715
- * A floating bar that sticks to the top or bottom within the main layout container
716
- */
717
- declare const FloatingBar: React__default.FC<FloatingBarProps>;
718
-
719
- interface PopoverProps {
720
- trigger: React.ReactNode;
721
- children: React.ReactNode;
722
- isOpen?: boolean;
723
- onToggle?: () => void;
724
- placement?: 'top' | 'bottom' | 'left' | 'right';
725
- }
726
- declare const Popover: React.FC<PopoverProps>;
727
-
728
- interface TooltipProps {
729
- content: React.ReactNode;
730
- children: React.ReactNode;
731
- placement?: 'top' | 'bottom' | 'left' | 'right';
732
- delay?: number;
733
- disabled?: boolean;
734
- }
735
- declare const Tooltip: React.FC<TooltipProps>;
736
-
737
- type DrawerPlacement = "top" | "bottom" | "left" | "right";
738
- interface DrawerProps extends Omit<DialogProps, "children"> {
739
- children: React.ReactNode;
740
- title?: string;
741
- placement?: DrawerPlacement;
742
- size?: string | number;
743
- store: ReturnType<typeof useDialogStore>;
744
- }
745
- declare const Drawer: React.FC<DrawerProps>;
746
-
747
- interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {
748
- /**
749
- * Whether the table should have a border
750
- */
751
- bordered?: boolean;
752
- /**
753
- * Whether the table should have striped rows
754
- */
755
- striped?: boolean;
756
- /**
757
- * Whether the table should have hover effects
758
- */
759
- hover?: boolean;
760
- /**
761
- * Size variant for the table
762
- */
763
- size?: "sm" | "md" | "lg";
764
- }
765
- interface TableHeadProps extends React.HTMLAttributes<HTMLTableSectionElement> {
766
- }
767
- interface TableBodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
768
- }
769
- interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {
770
- }
771
- interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
772
- /**
773
- * Whether this is a header cell
774
- */
775
- header?: boolean;
776
- }
777
- interface TableContainerProps extends React.HTMLAttributes<HTMLDivElement> {
778
- }
779
- declare const Table: React.FC<TableProps>;
780
- declare const TableHead: React.FC<TableHeadProps>;
781
- declare const TableBody: React.FC<TableBodyProps>;
782
- declare const TableRow: React.FC<TableRowProps>;
783
- declare const TableCell: React.FC<TableCellProps>;
784
- declare const TableContainer: React.FC<TableContainerProps>;
203
+ children: MenuNode[];
204
+ collapsible?: boolean;
205
+ };
206
+ type MenuCategoryNode = MenuNodeBase & {
207
+ type: "category";
208
+ children: MenuNode[];
209
+ };
210
+ type MenuNode = MenuItemNode | MenuGroupNode | MenuCategoryNode;
785
211
 
786
- interface PageIndexProps extends React.HTMLAttributes<HTMLDivElement> {
787
- /**
788
- * Custom title for the index
789
- */
790
- title?: string;
791
- /**
792
- * Whether the sidebar is collapsed
793
- */
794
- collapsed?: boolean;
212
+ interface MenuRendererProps {
213
+ data: MenuNode[];
214
+ collapsed: boolean;
215
+ actionHandler: (node: MenuItemNode) => void;
216
+ iconResolver: (icon?: string) => string | React.ReactElement | undefined;
217
+ currentPath?: string;
795
218
  }
796
- declare const PageIndex: React.FC<PageIndexProps>;
219
+ declare const MenuRenderer: React.FC<MenuRendererProps>;
797
220
 
798
221
  /**
799
222
  * Theme Utility
@@ -1084,4 +507,4 @@ declare const createPreferenceNamespace: (namespace: string) => {
1084
507
  clear: () => void;
1085
508
  };
1086
509
 
1087
- export { Badge, type BadgeProps, type BadgeSize, type BadgeVariant, Banner, type BannerProps, type BannerType, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, type CardVariant, Checkbox, type CheckboxProps, type CheckboxSize, CodeBlock, type CodeBlockProps, type CodeBlockVariant, ColorControl, DragHandle, type DragHandleProps, Drawer, FloatingBar, type FloatingBarPosition, type FloatingBarProps, Footer, type FooterProps, Grid, type GridColumns, type GridProps, Header, type HeaderProps, Icon, type IconName, type IconProps, InputDate, type InputDateProps, InputDateTime, type InputDateTimeProps, InputEmail, type InputEmailProps, InputNumber, type InputNumberProps, InputPassword, type InputPasswordProps, InputSearch, type InputSearchProps, InputTel, type InputTelProps, InputText, type InputTextProps, InputTime, type InputTimeProps, InputUrl, type InputUrlProps, Layout, type LayoutProps, type LayoutVariant, List, ListItem, type ListItemProps, type ListProps, MenuCategory, type MenuCategoryProps, MenuGroup, type MenuGroupProps, MenuItem, type MenuItemProps, Navbar, type NavbarProps, NavbarTooltipProvider, Page, PageIndex, type PageProps, type PageWidth, Popover, Radio, RadioGroup, type RadioGroupProps, type RadioProps, type RadioSize, Section, type SectionProps, type SectionSize, Select, type SelectOption, type SelectProps, Slider, type SliderProps, Switch, type SwitchProps, type SwitchSize, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, ThemeControl, type ThemeControlProps, Tooltip, type UserPreferences, applyTheme, clearPreferences, clearPreferencesAsync, configurePreferences, createPreferenceNamespace, exportPreferences, getAllPreferences, getPreference, getPreferenceAsync, getSavedTheme, getTheme, importPreferences, initializeTheme, onSystemThemeChange, removePreference, removePreferenceAsync, setPreference, setPreferenceAsync, setTheme, toggleTheme, useNavbarTooltip };
510
+ export { Backdrop, type BackdropProps, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, HeadingAnchor, type HeadingAnchorProps, type MenuCategoryNode, type MenuGroupNode, type MenuItemNode, type MenuNode, type MenuNodeBase, MenuRenderer, type MenuRendererProps, NavbarTooltipProvider, Thumb, type ThumbProps, type UserPreferences, applyTheme, clearPreferences, clearPreferencesAsync, configurePreferences, createPreferenceNamespace, exportPreferences, generateHeadingId, getAllPreferences, getPreference, getPreferenceAsync, getSavedTheme, getTheme, importPreferences, initializeTheme, onSystemThemeChange, removePreference, removePreferenceAsync, setPreference, setPreferenceAsync, setTheme, toggleTheme, useHeadingId, useNavbarTooltip };