@boostdev/design-system-components 0.1.15 → 0.1.17

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 (34) hide show
  1. package/AGENTS.md +4 -4
  2. package/README.md +50 -1
  3. package/dist/client.cjs +203 -114
  4. package/dist/client.css +520 -435
  5. package/dist/client.d.cts +23 -3
  6. package/dist/client.d.ts +23 -3
  7. package/dist/client.js +202 -114
  8. package/dist/index.cjs +203 -114
  9. package/dist/index.css +520 -435
  10. package/dist/index.d.cts +23 -3
  11. package/dist/index.d.ts +23 -3
  12. package/dist/index.js +202 -114
  13. package/package.json +1 -1
  14. package/src/components/interaction/Command/Command.mdx +1 -0
  15. package/src/components/interaction/Command/Command.spec.tsx +18 -0
  16. package/src/components/interaction/Command/Command.tsx +5 -0
  17. package/src/components/interaction/Dialog/Dialog.spec.tsx +18 -0
  18. package/src/components/interaction/Drawer/Drawer.spec.tsx +18 -0
  19. package/src/components/interaction/Drawer/Drawer.tsx +5 -0
  20. package/src/components/interaction/form/SegmentedControl/SegmentedControl.mdx +64 -0
  21. package/src/components/interaction/form/SegmentedControl/SegmentedControl.module.css +99 -0
  22. package/src/components/interaction/form/SegmentedControl/SegmentedControl.spec.tsx +87 -0
  23. package/src/components/interaction/form/SegmentedControl/SegmentedControl.stories.tsx +110 -0
  24. package/src/components/interaction/form/SegmentedControl/SegmentedControl.tsx +89 -0
  25. package/src/components/interaction/form/SegmentedControl/index.ts +2 -0
  26. package/src/components/interaction/form/Switch/Switch.mdx +7 -2
  27. package/src/components/interaction/form/Switch/Switch.module.css +6 -6
  28. package/src/components/interaction/form/Switch/Switch.spec.tsx +23 -0
  29. package/src/components/interaction/form/Switch/Switch.stories.tsx +8 -0
  30. package/src/components/interaction/form/Switch/Switch.tsx +5 -2
  31. package/src/components/interaction/form/atoms/Label.module.css +0 -1
  32. package/src/components/ui/Progress/Progress.module.css +0 -4
  33. package/src/index.ts +2 -0
  34. package/src/stories/Introduction.mdx +4 -3
package/dist/client.d.cts CHANGED
@@ -391,6 +391,25 @@ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'>
391
391
  }
392
392
  declare function Radio({ label, name, description, error, hint, className, ...props }: RadioProps): react_jsx_runtime.JSX.Element;
393
393
 
394
+ interface SegmentedControlOption {
395
+ value: string;
396
+ label: ReactNode;
397
+ disabled?: boolean;
398
+ }
399
+ interface SegmentedControlProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'size'> {
400
+ name: string;
401
+ options: SegmentedControlOption[];
402
+ /** Controlled selected value */
403
+ value?: string;
404
+ /** Uncontrolled initial value (defaults to first option) */
405
+ defaultValue?: string;
406
+ onChange?: (value: string) => void;
407
+ disabled?: boolean;
408
+ size?: 'small' | 'medium' | 'large';
409
+ className?: string;
410
+ }
411
+ declare function SegmentedControl({ name, options, value, defaultValue, onChange, disabled, size, className, ...rest }: Readonly<SegmentedControlProps>): react_jsx_runtime.JSX.Element;
412
+
394
413
  interface SelectOption {
395
414
  value: string;
396
415
  label: string;
@@ -419,15 +438,16 @@ interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'
419
438
  }
420
439
  declare function Slider({ label, name, min, max, showValue, error, hint, className, onChange, ...props }: Readonly<SliderProps>): react_jsx_runtime.JSX.Element;
421
440
 
422
- interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
441
+ interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size' | 'prefix'> {
423
442
  label: string;
424
443
  name: string;
425
444
  size?: 'small' | 'medium' | 'large';
426
445
  error?: string;
427
446
  hint?: string;
428
447
  className?: string;
448
+ prefix?: ReactNode;
429
449
  }
430
- declare function Switch({ label, name, size, error, hint, className, ...props }: Readonly<SwitchProps>): react_jsx_runtime.JSX.Element;
450
+ declare function Switch({ label, name, size, error, hint, className, prefix, ...props }: Readonly<SwitchProps>): react_jsx_runtime.JSX.Element;
431
451
 
432
452
  interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
433
453
  label: ReactNode;
@@ -474,4 +494,4 @@ interface Props {
474
494
  }
475
495
  declare function IconWrapper({ children, className }: Props): react_jsx_runtime.JSX.Element;
476
496
 
477
- 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, Select, type SelectOption, Separator, Skeleton, SkipLink, Slider, Switch, type TabItem, Table, type TableColumn, Tabs, Textarea, ToastProvider, Tooltip, Typography, useToast };
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 };
package/dist/client.d.ts CHANGED
@@ -391,6 +391,25 @@ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'>
391
391
  }
392
392
  declare function Radio({ label, name, description, error, hint, className, ...props }: RadioProps): react_jsx_runtime.JSX.Element;
393
393
 
394
+ interface SegmentedControlOption {
395
+ value: string;
396
+ label: ReactNode;
397
+ disabled?: boolean;
398
+ }
399
+ interface SegmentedControlProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'size'> {
400
+ name: string;
401
+ options: SegmentedControlOption[];
402
+ /** Controlled selected value */
403
+ value?: string;
404
+ /** Uncontrolled initial value (defaults to first option) */
405
+ defaultValue?: string;
406
+ onChange?: (value: string) => void;
407
+ disabled?: boolean;
408
+ size?: 'small' | 'medium' | 'large';
409
+ className?: string;
410
+ }
411
+ declare function SegmentedControl({ name, options, value, defaultValue, onChange, disabled, size, className, ...rest }: Readonly<SegmentedControlProps>): react_jsx_runtime.JSX.Element;
412
+
394
413
  interface SelectOption {
395
414
  value: string;
396
415
  label: string;
@@ -419,15 +438,16 @@ interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'
419
438
  }
420
439
  declare function Slider({ label, name, min, max, showValue, error, hint, className, onChange, ...props }: Readonly<SliderProps>): react_jsx_runtime.JSX.Element;
421
440
 
422
- interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
441
+ interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size' | 'prefix'> {
423
442
  label: string;
424
443
  name: string;
425
444
  size?: 'small' | 'medium' | 'large';
426
445
  error?: string;
427
446
  hint?: string;
428
447
  className?: string;
448
+ prefix?: ReactNode;
429
449
  }
430
- declare function Switch({ label, name, size, error, hint, className, ...props }: Readonly<SwitchProps>): react_jsx_runtime.JSX.Element;
450
+ declare function Switch({ label, name, size, error, hint, className, prefix, ...props }: Readonly<SwitchProps>): react_jsx_runtime.JSX.Element;
431
451
 
432
452
  interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
433
453
  label: ReactNode;
@@ -474,4 +494,4 @@ interface Props {
474
494
  }
475
495
  declare function IconWrapper({ children, className }: Props): react_jsx_runtime.JSX.Element;
476
496
 
477
- 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, Select, type SelectOption, Separator, Skeleton, SkipLink, Slider, Switch, type TabItem, Table, type TableColumn, Tabs, Textarea, ToastProvider, Tooltip, Typography, useToast };
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 };