@boostdev/design-system-components 0.1.18 → 1.0.0

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 (137) hide show
  1. package/AGENTS.md +65 -27
  2. package/README.md +64 -29
  3. package/dist/client.cjs +412 -241
  4. package/dist/client.css +1378 -1186
  5. package/dist/client.d.cts +43 -16
  6. package/dist/client.d.ts +43 -16
  7. package/dist/client.js +414 -245
  8. package/dist/index.cjs +412 -241
  9. package/dist/index.css +1378 -1186
  10. package/dist/index.d.cts +43 -16
  11. package/dist/index.d.ts +43 -16
  12. package/dist/index.js +414 -245
  13. package/package.json +9 -4
  14. package/src/components/interaction/Button/Button.mdx +2 -5
  15. package/src/components/interaction/Button/Button.module.css +74 -44
  16. package/src/components/interaction/Button/Button.stories.tsx +4 -4
  17. package/src/components/interaction/Button/Button.tsx +5 -5
  18. package/src/components/interaction/Button/index.ts +1 -0
  19. package/src/components/interaction/Command/Command.module.css +53 -38
  20. package/src/components/interaction/Command/Command.spec.tsx +24 -0
  21. package/src/components/interaction/Command/Command.tsx +5 -0
  22. package/src/components/interaction/Dialog/Dialog.mdx +2 -2
  23. package/src/components/interaction/Dialog/Dialog.module.css +20 -10
  24. package/src/components/interaction/Dialog/Dialog.spec.tsx +19 -0
  25. package/src/components/interaction/Dialog/Dialog.tsx +22 -0
  26. package/src/components/interaction/Drawer/Drawer.module.css +11 -11
  27. package/src/components/interaction/Drawer/Drawer.spec.tsx +30 -0
  28. package/src/components/interaction/Drawer/Drawer.tsx +7 -3
  29. package/src/components/interaction/DropdownMenu/DropdownMenu.module.css +24 -19
  30. package/src/components/interaction/DropdownMenu/DropdownMenu.stories.tsx +4 -4
  31. package/src/components/interaction/Popover/Popover.module.css +17 -12
  32. package/src/components/interaction/Popover/Popover.spec.tsx +25 -4
  33. package/src/components/interaction/Popover/Popover.stories.tsx +1 -1
  34. package/src/components/interaction/Popover/Popover.tsx +5 -2
  35. package/src/components/interaction/Rating/Rating.module.css +3 -3
  36. package/src/components/interaction/Toast/Toast.module.css +19 -19
  37. package/src/components/interaction/Toast/Toast.tsx +1 -1
  38. package/src/components/interaction/form/Checkbox/Checkbox.mdx +2 -2
  39. package/src/components/interaction/form/Checkbox/Checkbox.module.css +22 -18
  40. package/src/components/interaction/form/Checkbox/Checkbox.tsx +2 -2
  41. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.module.css +29 -0
  42. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.spec.tsx +87 -0
  43. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.stories.tsx +62 -0
  44. package/src/components/interaction/form/CheckboxGroup/CheckboxGroup.tsx +46 -0
  45. package/src/components/interaction/form/CheckboxGroup/index.ts +2 -0
  46. package/src/components/interaction/form/Combobox/Combobox.module.css +44 -34
  47. package/src/components/interaction/form/Combobox/Combobox.tsx +0 -1
  48. package/src/components/interaction/form/FileInput/FileInput.module.css +24 -16
  49. package/src/components/interaction/form/FileInput/FileInput.tsx +5 -2
  50. package/src/components/interaction/form/FormInput/FormInput.module.css +21 -16
  51. package/src/components/interaction/form/FormInput/FormInput.tsx +3 -0
  52. package/src/components/interaction/form/NumberInput/NumberInput.module.css +25 -19
  53. package/src/components/interaction/form/NumberInput/NumberInput.tsx +5 -2
  54. package/src/components/interaction/form/Radio/Radio.mdx +3 -3
  55. package/src/components/interaction/form/Radio/Radio.module.css +28 -24
  56. package/src/components/interaction/form/Radio/Radio.stories.tsx +1 -1
  57. package/src/components/interaction/form/Radio/Radio.tsx +2 -2
  58. package/src/components/interaction/form/RadioGroup/RadioGroup.module.css +29 -0
  59. package/src/components/interaction/form/RadioGroup/RadioGroup.spec.tsx +75 -0
  60. package/src/components/interaction/form/RadioGroup/RadioGroup.stories.tsx +64 -0
  61. package/src/components/interaction/form/RadioGroup/RadioGroup.tsx +46 -0
  62. package/src/components/interaction/form/RadioGroup/index.ts +2 -0
  63. package/src/components/interaction/form/SegmentedControl/SegmentedControl.mdx +5 -5
  64. package/src/components/interaction/form/SegmentedControl/SegmentedControl.module.css +26 -26
  65. package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +4 -0
  66. package/src/components/interaction/form/Select/Select.module.css +24 -19
  67. package/src/components/interaction/form/Select/Select.tsx +3 -0
  68. package/src/components/interaction/form/Slider/Slider.mdx +1 -1
  69. package/src/components/interaction/form/Slider/Slider.module.css +24 -24
  70. package/src/components/interaction/form/Slider/Slider.tsx +1 -0
  71. package/src/components/interaction/form/Switch/Switch.mdx +4 -4
  72. package/src/components/interaction/form/Switch/Switch.module.css +22 -16
  73. package/src/components/interaction/form/Switch/Switch.tsx +1 -1
  74. package/src/components/interaction/form/Textarea/Textarea.module.css +23 -18
  75. package/src/components/interaction/form/Textarea/Textarea.tsx +3 -0
  76. package/src/components/interaction/form/atoms/InputContainer.module.css +2 -2
  77. package/src/components/interaction/form/atoms/Label.module.css +2 -2
  78. package/src/components/interaction/form/atoms/Message.module.css +2 -2
  79. package/src/components/layout/ButtonGroup/ButtonGroup.module.css +2 -2
  80. package/src/components/layout/ButtonGroup/ButtonGroup.stories.tsx +2 -2
  81. package/src/components/layout/ButtonGroup/ButtonGroup.tsx +8 -3
  82. package/src/components/layout/ButtonGroup/index.ts +1 -0
  83. package/src/components/layout/Card/Card.module.css +30 -16
  84. package/src/components/layout/Card/Card.tsx +1 -1
  85. package/src/components/layout/IconWrapper/IconWrapper.mdx +2 -2
  86. package/src/components/layout/IconWrapper/IconWrapper.module.css +5 -5
  87. package/src/components/layout/IconWrapper/IconWrapper.tsx +4 -3
  88. package/src/components/layout/IconWrapper/index.ts +1 -0
  89. package/src/components/layout/SectionHeader/SectionHeader.module.css +23 -23
  90. package/src/components/layout/SectionHeader/SectionHeader.spec.tsx +2 -2
  91. package/src/components/layout/SectionHeader/SectionHeader.tsx +2 -2
  92. package/src/components/ui/Accordion/Accordion.module.css +23 -18
  93. package/src/components/ui/Alert/Alert.module.css +31 -27
  94. package/src/components/ui/Avatar/Avatar.module.css +6 -6
  95. package/src/components/ui/Avatar/Avatar.tsx +1 -1
  96. package/src/components/ui/Badge/Badge.mdx +2 -2
  97. package/src/components/ui/Badge/Badge.module.css +15 -15
  98. package/src/components/ui/Breadcrumb/Breadcrumb.module.css +11 -11
  99. package/src/components/ui/Calendar/Calendar.module.css +39 -29
  100. package/src/components/ui/Calendar/Calendar.tsx +6 -2
  101. package/src/components/ui/Carousel/Carousel.module.css +15 -10
  102. package/src/components/ui/Carousel/Carousel.stories.tsx +1 -1
  103. package/src/components/ui/Collapsible/Collapsible.mdx +6 -6
  104. package/src/components/ui/Collapsible/Collapsible.module.css +18 -18
  105. package/src/components/ui/DescriptionList/DescriptionList.module.css +8 -8
  106. package/src/components/ui/Link/Link.module.css +14 -14
  107. package/src/components/ui/Loading/Loading.module.css +8 -2
  108. package/src/components/ui/NotificationBanner/NotificationBanner.module.css +27 -23
  109. package/src/components/ui/Pagination/Pagination.module.css +22 -17
  110. package/src/components/ui/Progress/Progress.mdx +1 -1
  111. package/src/components/ui/Progress/Progress.module.css +10 -10
  112. package/src/components/ui/ProgressCircle/ProgressCircle.module.css +8 -8
  113. package/src/components/ui/Separator/Separator.module.css +1 -1
  114. package/src/components/ui/Separator/Separator.tsx +1 -1
  115. package/src/components/ui/Skeleton/Skeleton.module.css +5 -5
  116. package/src/components/ui/SkipLink/SkipLink.module.css +17 -12
  117. package/src/components/ui/Table/Table.module.css +35 -30
  118. package/src/components/ui/Table/Table.tsx +2 -1
  119. package/src/components/ui/Tabs/Tabs.module.css +17 -17
  120. package/src/components/ui/Tabs/Tabs.tsx +0 -1
  121. package/src/components/ui/Tooltip/Tooltip.module.css +12 -12
  122. package/src/components/ui/Tooltip/Tooltip.spec.tsx +3 -3
  123. package/src/components/ui/Tooltip/Tooltip.tsx +10 -2
  124. package/src/components/ui/Typography/Typography.module.css +18 -18
  125. package/src/css/bdc.css +61 -0
  126. package/src/css/index.css +5 -0
  127. package/src/index.ts +7 -0
  128. package/src/stories/DesignSystem/Borders.mdx +158 -0
  129. package/src/stories/DesignSystem/Colors.mdx +196 -0
  130. package/src/stories/DesignSystem/Elevation.mdx +127 -0
  131. package/src/stories/DesignSystem/Grid.mdx +140 -0
  132. package/src/stories/DesignSystem/Motion.mdx +96 -0
  133. package/src/stories/DesignSystem/Overview.mdx +99 -0
  134. package/src/stories/DesignSystem/Spacing.mdx +74 -0
  135. package/src/stories/DesignSystem/Typography.mdx +110 -0
  136. package/src/stories/Introduction.css +2 -2
  137. package/src/stories/Introduction.mdx +7 -7
package/dist/client.d.cts CHANGED
@@ -220,7 +220,7 @@ declare function Typography({ variant, component, children, className }: Typogra
220
220
 
221
221
  interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {
222
222
  href?: string;
223
- variant?: 'primary' | 'secondary';
223
+ variant?: 'default' | 'ghost';
224
224
  type?: 'button' | 'submit' | 'reset';
225
225
  size?: 'small' | 'medium' | 'large';
226
226
  iconStart?: ReactNode;
@@ -269,9 +269,9 @@ interface DrawerProps {
269
269
  children: ReactNode;
270
270
  side?: 'left' | 'right';
271
271
  className?: string;
272
- arialLabel?: string;
272
+ ariaLabel?: string;
273
273
  }
274
- declare function Drawer({ isOpen, onClose, title, children, side, arialLabel, className, }: Readonly<DrawerProps>): react_jsx_runtime.JSX.Element;
274
+ declare function Drawer({ isOpen, onClose, title, children, side, ariaLabel, className, }: Readonly<DrawerProps>): react_jsx_runtime.JSX.Element;
275
275
 
276
276
  interface DropdownMenuItem {
277
277
  id: string;
@@ -294,8 +294,9 @@ interface PopoverProps {
294
294
  content: ReactNode;
295
295
  placement?: 'top' | 'bottom' | 'left' | 'right';
296
296
  className?: string;
297
+ 'aria-label'?: string;
297
298
  }
298
- declare function Popover({ children, content, placement, className, }: Readonly<PopoverProps>): react_jsx_runtime.JSX.Element;
299
+ declare function Popover({ children, content, placement, className, 'aria-label': ariaLabel, }: Readonly<PopoverProps>): react_jsx_runtime.JSX.Element;
299
300
 
300
301
  interface RatingProps {
301
302
  value: number;
@@ -314,7 +315,7 @@ declare function ToastProvider({ children }: {
314
315
  declare function useToast(): ToastContextType;
315
316
 
316
317
  interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
317
- label: string;
318
+ label: ReactNode;
318
319
  name: string;
319
320
  error?: string;
320
321
  hint?: string;
@@ -322,6 +323,17 @@ interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'typ
322
323
  }
323
324
  declare function Checkbox({ label, name, error, hint, className, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
324
325
 
326
+ interface CheckboxGroupProps {
327
+ legend: string;
328
+ children: ReactNode;
329
+ error?: string;
330
+ hint?: string;
331
+ required?: boolean;
332
+ disabled?: boolean;
333
+ className?: string;
334
+ }
335
+ declare function CheckboxGroup({ legend, children, error, hint, required, disabled, className, }: Readonly<CheckboxGroupProps>): react_jsx_runtime.JSX.Element;
336
+
325
337
  interface ComboboxOption {
326
338
  value: string;
327
339
  label: string;
@@ -347,12 +359,13 @@ interface FileInputProps {
347
359
  accept?: string;
348
360
  multiple?: boolean;
349
361
  disabled?: boolean;
362
+ required?: boolean;
350
363
  error?: string;
351
364
  hint?: string;
352
365
  onChange?: (files: FileList | null) => void;
353
366
  className?: string;
354
367
  }
355
- declare function FileInput({ label, name, accept, multiple, disabled, error, hint, onChange, className, }: Readonly<FileInputProps>): react_jsx_runtime.JSX.Element;
368
+ declare function FileInput({ label, name, accept, multiple, disabled, required, error, hint, onChange, className, }: Readonly<FileInputProps>): react_jsx_runtime.JSX.Element;
356
369
 
357
370
  interface FormInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
358
371
  label: ReactNode;
@@ -363,7 +376,7 @@ interface FormInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'ty
363
376
  hint?: string;
364
377
  className?: string;
365
378
  }
366
- declare function FormInput({ label, name, ariaLabel, error, hint, className, ...props }: FormInputProps): react_jsx_runtime.JSX.Element;
379
+ declare function FormInput({ label, name, ariaLabel, error, hint, className, required, ...props }: FormInputProps): react_jsx_runtime.JSX.Element;
367
380
 
368
381
  interface NumberInputProps {
369
382
  label: string;
@@ -382,7 +395,7 @@ interface NumberInputProps {
382
395
  declare function NumberInput({ label, name, value, defaultValue, min, max, step, disabled, error, hint, onChange, className, }: Readonly<NumberInputProps>): react_jsx_runtime.JSX.Element;
383
396
 
384
397
  interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
385
- label: string;
398
+ label: ReactNode;
386
399
  name: string;
387
400
  description?: string;
388
401
  error?: string;
@@ -391,6 +404,17 @@ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'>
391
404
  }
392
405
  declare function Radio({ label, name, description, error, hint, className, ...props }: RadioProps): react_jsx_runtime.JSX.Element;
393
406
 
407
+ interface RadioGroupProps {
408
+ legend: string;
409
+ children: ReactNode;
410
+ error?: string;
411
+ hint?: string;
412
+ required?: boolean;
413
+ disabled?: boolean;
414
+ className?: string;
415
+ }
416
+ declare function RadioGroup({ legend, children, error, hint, required, disabled, className, }: Readonly<RadioGroupProps>): react_jsx_runtime.JSX.Element;
417
+
394
418
  interface SegmentedControlOption {
395
419
  value: string;
396
420
  label: ReactNode;
@@ -407,8 +431,9 @@ interface SegmentedControlProps extends Omit<InputHTMLAttributes<HTMLInputElemen
407
431
  disabled?: boolean;
408
432
  size?: 'small' | 'medium' | 'large';
409
433
  className?: string;
434
+ 'aria-label'?: string;
410
435
  }
411
- declare function SegmentedControl({ name, options, value, defaultValue, onChange, disabled, size, className, ...rest }: Readonly<SegmentedControlProps>): react_jsx_runtime.JSX.Element;
436
+ declare function SegmentedControl({ name, options, value, defaultValue, onChange, disabled, size, className, 'aria-label': ariaLabel, ...rest }: Readonly<SegmentedControlProps>): react_jsx_runtime.JSX.Element;
412
437
 
413
438
  interface SelectOption {
414
439
  value: string;
@@ -424,7 +449,7 @@ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'chi
424
449
  hint?: string;
425
450
  className?: string;
426
451
  }
427
- declare function Select({ label, name, options, placeholder, error, hint, className, ...props }: Readonly<SelectProps>): react_jsx_runtime.JSX.Element;
452
+ declare function Select({ label, name, options, placeholder, error, hint, className, required, ...props }: Readonly<SelectProps>): react_jsx_runtime.JSX.Element;
428
453
 
429
454
  interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
430
455
  label: string;
@@ -456,18 +481,19 @@ interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
456
481
  hint?: string;
457
482
  className?: string;
458
483
  }
459
- declare function Textarea({ label, name, error, hint, className, ...props }: Readonly<TextareaProps>): react_jsx_runtime.JSX.Element;
484
+ declare function Textarea({ label, name, error, hint, className, required, ...props }: Readonly<TextareaProps>): react_jsx_runtime.JSX.Element;
460
485
 
461
486
  interface ButtonGroupProps {
462
487
  children: ReactNode;
463
488
  className?: string;
464
489
  variant?: 'flow' | 'card' | 'modal' | 'content';
490
+ 'aria-label'?: string;
465
491
  }
466
- declare function ButtonGroup({ children, className, variant }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
492
+ declare function ButtonGroup({ children, className, variant, 'aria-label': ariaLabel }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
467
493
 
468
494
  interface CardProps {
469
495
  children: ReactNode;
470
- className?: string;
496
+ className?: string | undefined;
471
497
  variant?: 'default' | 'elevated' | 'outlined';
472
498
  padding?: 'none' | 'small' | 'medium' | 'large';
473
499
  textAlign?: 'start' | 'center' | 'end';
@@ -488,10 +514,11 @@ type SectionHeaderProps = {
488
514
  };
489
515
  declare function SectionHeader({ title, subtitle, className, alignment, size, titleAs }: Readonly<SectionHeaderProps>): react_jsx_runtime.JSX.Element;
490
516
 
491
- interface Props {
517
+ interface IconWrapperProps {
492
518
  children: ReactNode;
493
519
  className?: string;
520
+ 'aria-hidden'?: boolean | 'true' | 'false';
494
521
  }
495
- declare function IconWrapper({ children, className }: Props): react_jsx_runtime.JSX.Element;
522
+ declare function IconWrapper({ children, className, 'aria-hidden': ariaHidden }: IconWrapperProps): react_jsx_runtime.JSX.Element;
496
523
 
497
- export { Accordion, type AccordionItem, Alert, Avatar, Badge, Breadcrumb, type BreadcrumbItem, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Collapsible, type CollapsibleProps, Combobox, type ComboboxOption, Command, type CommandItem, type DescriptionItem, DescriptionList, Dialog, Drawer, DropdownMenu, type DropdownMenuItem, FileInput, FormInput, IconWrapper, Link, Loading, NotificationBanner, NumberInput, Pagination, Popover, Progress, ProgressCircle, Radio, Rating, SectionHeader, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, type SelectOption, Separator, Skeleton, SkipLink, Slider, Switch, type TabItem, Table, type TableColumn, Tabs, Textarea, ToastProvider, Tooltip, Typography, useToast };
524
+ export { Accordion, type AccordionItem, Alert, Avatar, Badge, Breadcrumb, type BreadcrumbItem, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Calendar, Card, Carousel, Checkbox, CheckboxGroup, type CheckboxGroupProps, Collapsible, type CollapsibleProps, Combobox, type ComboboxOption, Command, type CommandItem, type DescriptionItem, DescriptionList, Dialog, Drawer, DropdownMenu, type DropdownMenuItem, FileInput, FormInput, IconWrapper, type IconWrapperProps, Link, Loading, NotificationBanner, NumberInput, Pagination, Popover, Progress, ProgressCircle, Radio, RadioGroup, type RadioGroupProps, Rating, SectionHeader, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, type SelectOption, Separator, Skeleton, SkipLink, Slider, Switch, type TabItem, Table, type TableColumn, Tabs, Textarea, ToastProvider, Tooltip, Typography, useToast };
package/dist/client.d.ts CHANGED
@@ -220,7 +220,7 @@ declare function Typography({ variant, component, children, className }: Typogra
220
220
 
221
221
  interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {
222
222
  href?: string;
223
- variant?: 'primary' | 'secondary';
223
+ variant?: 'default' | 'ghost';
224
224
  type?: 'button' | 'submit' | 'reset';
225
225
  size?: 'small' | 'medium' | 'large';
226
226
  iconStart?: ReactNode;
@@ -269,9 +269,9 @@ interface DrawerProps {
269
269
  children: ReactNode;
270
270
  side?: 'left' | 'right';
271
271
  className?: string;
272
- arialLabel?: string;
272
+ ariaLabel?: string;
273
273
  }
274
- declare function Drawer({ isOpen, onClose, title, children, side, arialLabel, className, }: Readonly<DrawerProps>): react_jsx_runtime.JSX.Element;
274
+ declare function Drawer({ isOpen, onClose, title, children, side, ariaLabel, className, }: Readonly<DrawerProps>): react_jsx_runtime.JSX.Element;
275
275
 
276
276
  interface DropdownMenuItem {
277
277
  id: string;
@@ -294,8 +294,9 @@ interface PopoverProps {
294
294
  content: ReactNode;
295
295
  placement?: 'top' | 'bottom' | 'left' | 'right';
296
296
  className?: string;
297
+ 'aria-label'?: string;
297
298
  }
298
- declare function Popover({ children, content, placement, className, }: Readonly<PopoverProps>): react_jsx_runtime.JSX.Element;
299
+ declare function Popover({ children, content, placement, className, 'aria-label': ariaLabel, }: Readonly<PopoverProps>): react_jsx_runtime.JSX.Element;
299
300
 
300
301
  interface RatingProps {
301
302
  value: number;
@@ -314,7 +315,7 @@ declare function ToastProvider({ children }: {
314
315
  declare function useToast(): ToastContextType;
315
316
 
316
317
  interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
317
- label: string;
318
+ label: ReactNode;
318
319
  name: string;
319
320
  error?: string;
320
321
  hint?: string;
@@ -322,6 +323,17 @@ interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'typ
322
323
  }
323
324
  declare function Checkbox({ label, name, error, hint, className, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
324
325
 
326
+ interface CheckboxGroupProps {
327
+ legend: string;
328
+ children: ReactNode;
329
+ error?: string;
330
+ hint?: string;
331
+ required?: boolean;
332
+ disabled?: boolean;
333
+ className?: string;
334
+ }
335
+ declare function CheckboxGroup({ legend, children, error, hint, required, disabled, className, }: Readonly<CheckboxGroupProps>): react_jsx_runtime.JSX.Element;
336
+
325
337
  interface ComboboxOption {
326
338
  value: string;
327
339
  label: string;
@@ -347,12 +359,13 @@ interface FileInputProps {
347
359
  accept?: string;
348
360
  multiple?: boolean;
349
361
  disabled?: boolean;
362
+ required?: boolean;
350
363
  error?: string;
351
364
  hint?: string;
352
365
  onChange?: (files: FileList | null) => void;
353
366
  className?: string;
354
367
  }
355
- declare function FileInput({ label, name, accept, multiple, disabled, error, hint, onChange, className, }: Readonly<FileInputProps>): react_jsx_runtime.JSX.Element;
368
+ declare function FileInput({ label, name, accept, multiple, disabled, required, error, hint, onChange, className, }: Readonly<FileInputProps>): react_jsx_runtime.JSX.Element;
356
369
 
357
370
  interface FormInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
358
371
  label: ReactNode;
@@ -363,7 +376,7 @@ interface FormInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'ty
363
376
  hint?: string;
364
377
  className?: string;
365
378
  }
366
- declare function FormInput({ label, name, ariaLabel, error, hint, className, ...props }: FormInputProps): react_jsx_runtime.JSX.Element;
379
+ declare function FormInput({ label, name, ariaLabel, error, hint, className, required, ...props }: FormInputProps): react_jsx_runtime.JSX.Element;
367
380
 
368
381
  interface NumberInputProps {
369
382
  label: string;
@@ -382,7 +395,7 @@ interface NumberInputProps {
382
395
  declare function NumberInput({ label, name, value, defaultValue, min, max, step, disabled, error, hint, onChange, className, }: Readonly<NumberInputProps>): react_jsx_runtime.JSX.Element;
383
396
 
384
397
  interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
385
- label: string;
398
+ label: ReactNode;
386
399
  name: string;
387
400
  description?: string;
388
401
  error?: string;
@@ -391,6 +404,17 @@ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'>
391
404
  }
392
405
  declare function Radio({ label, name, description, error, hint, className, ...props }: RadioProps): react_jsx_runtime.JSX.Element;
393
406
 
407
+ interface RadioGroupProps {
408
+ legend: string;
409
+ children: ReactNode;
410
+ error?: string;
411
+ hint?: string;
412
+ required?: boolean;
413
+ disabled?: boolean;
414
+ className?: string;
415
+ }
416
+ declare function RadioGroup({ legend, children, error, hint, required, disabled, className, }: Readonly<RadioGroupProps>): react_jsx_runtime.JSX.Element;
417
+
394
418
  interface SegmentedControlOption {
395
419
  value: string;
396
420
  label: ReactNode;
@@ -407,8 +431,9 @@ interface SegmentedControlProps extends Omit<InputHTMLAttributes<HTMLInputElemen
407
431
  disabled?: boolean;
408
432
  size?: 'small' | 'medium' | 'large';
409
433
  className?: string;
434
+ 'aria-label'?: string;
410
435
  }
411
- declare function SegmentedControl({ name, options, value, defaultValue, onChange, disabled, size, className, ...rest }: Readonly<SegmentedControlProps>): react_jsx_runtime.JSX.Element;
436
+ declare function SegmentedControl({ name, options, value, defaultValue, onChange, disabled, size, className, 'aria-label': ariaLabel, ...rest }: Readonly<SegmentedControlProps>): react_jsx_runtime.JSX.Element;
412
437
 
413
438
  interface SelectOption {
414
439
  value: string;
@@ -424,7 +449,7 @@ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'chi
424
449
  hint?: string;
425
450
  className?: string;
426
451
  }
427
- declare function Select({ label, name, options, placeholder, error, hint, className, ...props }: Readonly<SelectProps>): react_jsx_runtime.JSX.Element;
452
+ declare function Select({ label, name, options, placeholder, error, hint, className, required, ...props }: Readonly<SelectProps>): react_jsx_runtime.JSX.Element;
428
453
 
429
454
  interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
430
455
  label: string;
@@ -456,18 +481,19 @@ interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
456
481
  hint?: string;
457
482
  className?: string;
458
483
  }
459
- declare function Textarea({ label, name, error, hint, className, ...props }: Readonly<TextareaProps>): react_jsx_runtime.JSX.Element;
484
+ declare function Textarea({ label, name, error, hint, className, required, ...props }: Readonly<TextareaProps>): react_jsx_runtime.JSX.Element;
460
485
 
461
486
  interface ButtonGroupProps {
462
487
  children: ReactNode;
463
488
  className?: string;
464
489
  variant?: 'flow' | 'card' | 'modal' | 'content';
490
+ 'aria-label'?: string;
465
491
  }
466
- declare function ButtonGroup({ children, className, variant }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
492
+ declare function ButtonGroup({ children, className, variant, 'aria-label': ariaLabel }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
467
493
 
468
494
  interface CardProps {
469
495
  children: ReactNode;
470
- className?: string;
496
+ className?: string | undefined;
471
497
  variant?: 'default' | 'elevated' | 'outlined';
472
498
  padding?: 'none' | 'small' | 'medium' | 'large';
473
499
  textAlign?: 'start' | 'center' | 'end';
@@ -488,10 +514,11 @@ type SectionHeaderProps = {
488
514
  };
489
515
  declare function SectionHeader({ title, subtitle, className, alignment, size, titleAs }: Readonly<SectionHeaderProps>): react_jsx_runtime.JSX.Element;
490
516
 
491
- interface Props {
517
+ interface IconWrapperProps {
492
518
  children: ReactNode;
493
519
  className?: string;
520
+ 'aria-hidden'?: boolean | 'true' | 'false';
494
521
  }
495
- declare function IconWrapper({ children, className }: Props): react_jsx_runtime.JSX.Element;
522
+ declare function IconWrapper({ children, className, 'aria-hidden': ariaHidden }: IconWrapperProps): react_jsx_runtime.JSX.Element;
496
523
 
497
- export { Accordion, type AccordionItem, Alert, Avatar, Badge, Breadcrumb, type BreadcrumbItem, Button, ButtonGroup, Calendar, Card, Carousel, Checkbox, Collapsible, type CollapsibleProps, Combobox, type ComboboxOption, Command, type CommandItem, type DescriptionItem, DescriptionList, Dialog, Drawer, DropdownMenu, type DropdownMenuItem, FileInput, FormInput, IconWrapper, Link, Loading, NotificationBanner, NumberInput, Pagination, Popover, Progress, ProgressCircle, Radio, Rating, SectionHeader, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, type SelectOption, Separator, Skeleton, SkipLink, Slider, Switch, type TabItem, Table, type TableColumn, Tabs, Textarea, ToastProvider, Tooltip, Typography, useToast };
524
+ export { Accordion, type AccordionItem, Alert, Avatar, Badge, Breadcrumb, type BreadcrumbItem, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Calendar, Card, Carousel, Checkbox, CheckboxGroup, type CheckboxGroupProps, Collapsible, type CollapsibleProps, Combobox, type ComboboxOption, Command, type CommandItem, type DescriptionItem, DescriptionList, Dialog, Drawer, DropdownMenu, type DropdownMenuItem, FileInput, FormInput, IconWrapper, type IconWrapperProps, Link, Loading, NotificationBanner, NumberInput, Pagination, Popover, Progress, ProgressCircle, Radio, RadioGroup, type RadioGroupProps, Rating, SectionHeader, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, type SelectOption, Separator, Skeleton, SkipLink, Slider, Switch, type TabItem, Table, type TableColumn, Tabs, Textarea, ToastProvider, Tooltip, Typography, useToast };