@usefidel/design-system 0.21.0 → 0.23.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.
package/dist/index.css CHANGED
@@ -2356,6 +2356,54 @@
2356
2356
  margin-top: var(--spacing-3, 12px);
2357
2357
  }
2358
2358
 
2359
+ /* src/components/Swatch/swatch.css */
2360
+ .fds-swatch {
2361
+ box-sizing: border-box;
2362
+ display: flex;
2363
+ flex-direction: column;
2364
+ min-width: 0;
2365
+ border: 1px solid var(--color-border, #e5e5e5);
2366
+ border-radius: var(--radius-lg, 8px);
2367
+ background: var(--color-bg, #ffffff);
2368
+ overflow: hidden;
2369
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
2370
+ }
2371
+ .fds-swatch__color {
2372
+ height: var(--spacing-12, 48px);
2373
+ background: var(--fds-swatch-color, transparent);
2374
+ box-shadow: inset 0 -1px 0 var(--color-black-alpha-8, rgba(0, 0, 0, 0.08));
2375
+ }
2376
+ .fds-swatch__body {
2377
+ display: flex;
2378
+ flex-direction: column;
2379
+ gap: var(--spacing-1, 4px);
2380
+ padding: var(--spacing-2, 8px) var(--spacing-3, 12px) var(--spacing-3, 12px);
2381
+ min-width: 0;
2382
+ }
2383
+ .fds-swatch__name {
2384
+ margin: 0;
2385
+ font-family: var(--font-mono, "JetBrains Mono", monospace);
2386
+ font-size: var(--font-size-text-xs, 12px);
2387
+ line-height: var(--line-height-text-xs, 18px);
2388
+ font-weight: var(--font-weight-semibold, 600);
2389
+ color: var(--color-text, #171717);
2390
+ overflow-wrap: anywhere;
2391
+ }
2392
+ .fds-swatch__value {
2393
+ margin: 0;
2394
+ font-family: var(--font-mono, "JetBrains Mono", monospace);
2395
+ font-size: var(--font-size-text-2xs, 11px);
2396
+ line-height: var(--line-height-text-2xs, 16px);
2397
+ color: var(--color-text-tertiary, #737373);
2398
+ overflow-wrap: anywhere;
2399
+ }
2400
+ .fds-swatch__detail {
2401
+ display: flex;
2402
+ flex-wrap: wrap;
2403
+ gap: var(--spacing-1, 4px);
2404
+ margin-top: var(--spacing-1, 4px);
2405
+ }
2406
+
2359
2407
  /* src/components/Checkbox/checkbox.css */
2360
2408
  .fds-checkbox {
2361
2409
  display: inline-flex;
@@ -2532,6 +2580,120 @@
2532
2580
  }
2533
2581
  }
2534
2582
 
2583
+ /* src/components/RadioCard/radio-card.css */
2584
+ .fds-radio-card {
2585
+ position: relative;
2586
+ display: flex;
2587
+ min-width: 0;
2588
+ }
2589
+ .fds-radio-card__input {
2590
+ position: absolute;
2591
+ inset: 0;
2592
+ width: 100%;
2593
+ height: 100%;
2594
+ margin: 0;
2595
+ opacity: 0;
2596
+ cursor: pointer;
2597
+ z-index: 1;
2598
+ }
2599
+ .fds-radio-card__input:disabled {
2600
+ cursor: not-allowed;
2601
+ }
2602
+ .fds-radio-card__body {
2603
+ box-sizing: border-box;
2604
+ flex: 1;
2605
+ display: flex;
2606
+ align-items: flex-start;
2607
+ gap: var(--spacing-3, 12px);
2608
+ padding: var(--spacing-4, 16px);
2609
+ border: 1px solid var(--color-border, #e5e5e5);
2610
+ border-radius: var(--radius-xl, 12px);
2611
+ background: var(--color-bg, #ffffff);
2612
+ cursor: pointer;
2613
+ transition: border-color var(--duration-quick, 150ms) ease, box-shadow var(--duration-quick, 150ms) ease;
2614
+ }
2615
+ .fds-radio-card__input:hover:not(:disabled):not(:checked) ~ .fds-radio-card__body {
2616
+ border-color: var(--color-border-strong, #d4d4d4);
2617
+ }
2618
+ .fds-radio-card__input:checked ~ .fds-radio-card__body {
2619
+ border-color: var(--color-text, #171717);
2620
+ box-shadow: 0 0 0 1px var(--color-text, #171717);
2621
+ }
2622
+ .fds-radio-card__input:focus-visible ~ .fds-radio-card__body {
2623
+ outline: 2px solid var(--color-focus, #ea580c);
2624
+ outline-offset: 2px;
2625
+ }
2626
+ .fds-radio-card__icon {
2627
+ flex-shrink: 0;
2628
+ display: inline-flex;
2629
+ align-items: center;
2630
+ justify-content: center;
2631
+ width: 36px;
2632
+ height: 36px;
2633
+ border-radius: var(--radius-lg, 8px);
2634
+ background: var(--color-surface, #f5f5f5);
2635
+ color: var(--color-text, #171717);
2636
+ }
2637
+ .fds-radio-card__text {
2638
+ flex: 1;
2639
+ min-width: 0;
2640
+ display: flex;
2641
+ flex-direction: column;
2642
+ gap: 2px;
2643
+ }
2644
+ .fds-radio-card__label {
2645
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
2646
+ font-size: var(--font-size-text-sm, 14px);
2647
+ line-height: var(--line-height-text-sm, 22px);
2648
+ font-weight: var(--font-weight-semibold, 600);
2649
+ color: var(--color-text, #171717);
2650
+ }
2651
+ .fds-radio-card__description {
2652
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
2653
+ font-size: var(--font-size-text-compact, 13px);
2654
+ line-height: var(--line-height-text-compact, 20px);
2655
+ color: var(--color-text-secondary, #525252);
2656
+ }
2657
+ .fds-radio-card__meta {
2658
+ margin-top: var(--spacing-1, 4px);
2659
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
2660
+ font-size: var(--font-size-text-xs, 12px);
2661
+ line-height: var(--line-height-text-xs, 18px);
2662
+ color: var(--color-text-secondary, #525252);
2663
+ }
2664
+ .fds-radio-card__circle {
2665
+ box-sizing: border-box;
2666
+ flex-shrink: 0;
2667
+ width: 16px;
2668
+ height: 16px;
2669
+ margin-top: 3px;
2670
+ border: 1px solid var(--color-border-strong, #d4d4d4);
2671
+ border-radius: var(--radius-full, 9999px);
2672
+ background: var(--color-bg, #ffffff);
2673
+ transition: border-color var(--duration-quick, 150ms) ease, border-width var(--duration-quick, 150ms) ease;
2674
+ }
2675
+ .fds-radio-card__input:checked ~ .fds-radio-card__body .fds-radio-card__circle {
2676
+ border: 5px solid var(--color-text, #171717);
2677
+ }
2678
+ .fds-radio-card[data-disabled] .fds-radio-card__body {
2679
+ cursor: not-allowed;
2680
+ background: var(--color-surface-subtle, #fafafa);
2681
+ }
2682
+ .fds-radio-card[data-disabled] .fds-radio-card__label,
2683
+ .fds-radio-card[data-disabled] .fds-radio-card__description,
2684
+ .fds-radio-card[data-disabled] .fds-radio-card__meta {
2685
+ color: var(--color-text-muted, #a3a3a3);
2686
+ }
2687
+ .fds-radio-card[data-disabled] .fds-radio-card__circle {
2688
+ opacity: 0.5;
2689
+ }
2690
+ @media (prefers-reduced-motion: reduce) {
2691
+ .fds-radio-card__body,
2692
+ .fds-radio-card__circle {
2693
+ transition: none;
2694
+ }
2695
+ }
2696
+
2535
2697
  /* src/components/Accordion/accordion.css */
2536
2698
  .fds-accordion {
2537
2699
  box-sizing: border-box;
@@ -2883,8 +3045,10 @@
2883
3045
 
2884
3046
  /* src/components/Table/table.css */
2885
3047
  .fds-table {
3048
+ box-sizing: border-box;
2886
3049
  width: 100%;
2887
3050
  overflow-x: auto;
3051
+ border: 1px solid var(--color-border, #e5e5e5);
2888
3052
  border-radius: var(--radius-xl, 12px);
2889
3053
  background: var(--color-surface-raised, #ffffff);
2890
3054
  }
@@ -2899,20 +3063,24 @@
2899
3063
  }
2900
3064
  .fds-table__table th {
2901
3065
  padding: var(--spacing-2, 8px) var(--spacing-4, 16px);
2902
- background: var(--color-surface, #f5f5f5);
3066
+ background: var(--color-surface-subtle, #fafafa);
3067
+ border-bottom: 1px solid var(--color-border, #e5e5e5);
2903
3068
  font-size: var(--font-size-text-2xs, 11px);
2904
- font-weight: var(--font-weight-medium, 500);
3069
+ line-height: var(--line-height-text-2xs, 16px);
3070
+ font-weight: var(--font-weight-semibold, 600);
3071
+ letter-spacing: 0.02em;
3072
+ text-transform: uppercase;
2905
3073
  color: var(--color-text-secondary, #525252);
2906
3074
  text-align: left;
2907
3075
  white-space: nowrap;
2908
3076
  }
2909
3077
  .fds-table__table td {
2910
3078
  padding: var(--spacing-3, 12px) var(--spacing-4, 16px);
2911
- border-bottom: 1px solid var(--color-border-light, #f5f5f5);
3079
+ border-top: 1px solid var(--color-border-light, #f5f5f5);
2912
3080
  vertical-align: middle;
2913
3081
  }
2914
- .fds-table__table tbody tr:last-child td {
2915
- border-bottom: 0;
3082
+ .fds-table__table tbody tr:first-child td {
3083
+ border-top: 0;
2916
3084
  }
2917
3085
  .fds-table__table .fds-table__cell--end {
2918
3086
  text-align: right;
package/dist/index.d.cts CHANGED
@@ -666,6 +666,23 @@ interface StatProps extends HTMLAttributes<HTMLDivElement> {
666
666
  */
667
667
  declare function Stat({ label, value, children, className, ...rest }: StatProps): react.JSX.Element;
668
668
 
669
+ interface SwatchProps extends HTMLAttributes<HTMLDivElement> {
670
+ /** The colour to show, as any CSS colour. Pass a value you have already validated. */
671
+ color: string;
672
+ /** The token's name, e.g. "accent". Set in mono. */
673
+ name: ReactNode;
674
+ /** The value as written, e.g. "#ff6b00". Set in mono under the name. */
675
+ value?: ReactNode;
676
+ /** Detail under the value, e.g. a row of Tags. */
677
+ children?: ReactNode;
678
+ }
679
+ /**
680
+ * Fidel design-system Swatch: a colour block over a token's name and value.
681
+ * A hairline inside the block keeps white and near-background colours visible.
682
+ * Lay several out in a grid.
683
+ */
684
+ declare function Swatch({ color, name, value, children, className, ...rest }: SwatchProps): react.JSX.Element;
685
+
669
686
  interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
670
687
  /** Text beside the box. Without one, pass `aria-label`. */
671
688
  label?: ReactNode;
@@ -696,6 +713,25 @@ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'
696
713
  */
697
714
  declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
698
715
 
716
+ interface RadioCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
717
+ /** Card title. */
718
+ label: ReactNode;
719
+ /** One or two lines under the title saying what the choice does. */
720
+ description?: ReactNode;
721
+ /** Small picture left of the text, usually an 18px icon. */
722
+ icon?: ReactNode;
723
+ /** Extra line under the description, e.g. a status or requirement. */
724
+ meta?: ReactNode;
725
+ }
726
+ /**
727
+ * Fidel design-system RadioCard: one choice of several, shown as a card with
728
+ * an icon, title and description. A native radio underneath, so cards that
729
+ * share a `name` move with the arrow keys and submit like any radio. Wrap the
730
+ * set in a `role="radiogroup"` element (or a fieldset) with a label; lay the
731
+ * cards out with the parent's grid or flex.
732
+ */
733
+ declare const RadioCard: react.ForwardRefExoticComponent<RadioCardProps & react.RefAttributes<HTMLInputElement>>;
734
+
699
735
  interface AccordionProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
700
736
  /** Header content, always visible. Clicking it opens and closes the body. */
701
737
  summary: ReactNode;
@@ -822,11 +858,11 @@ interface TableProps<Row> extends Omit<HTMLAttributes<HTMLDivElement>, 'children
822
858
  'aria-label': string;
823
859
  }
824
860
  /**
825
- * Fidel design-system Table: a grey header row over hairline-divided rows,
826
- * for records people scan by column, like payments. With no rows it keeps
827
- * the header and shows `empty` beneath it. Scrolls sideways on narrow
828
- * screens instead of squashing columns. Measured from Figma Settings ·
829
- * Billing history.
861
+ * Fidel design-system Table: a bordered card with a light uppercase header
862
+ * row over hairline-divided rows, for records people scan by column, like
863
+ * payments. With no rows it keeps the header and shows `empty` beneath it.
864
+ * Scrolls sideways on narrow screens instead of squashing columns. Same look
865
+ * as the webapp's Projects table.
830
866
  */
831
867
  declare function Table<Row>({ columns, rows, rowKey, empty, className, 'aria-label': ariaLabel, ...rest }: TableProps<Row>): react.JSX.Element;
832
868
 
@@ -859,4 +895,4 @@ interface PricingCardProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
859
895
  */
860
896
  declare function PricingCard({ eyebrow, title, badge, price, period, description, action, featuresTitle, featuresIntro, features, highlighted, className, ...rest }: PricingCardProps): react.JSX.Element;
861
897
 
862
- export { Accordion, type AccordionProps, AppNav, type AppNavProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type Breakpoint, Button, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, Callout, type CalloutProps, type CalloutTone, Card, type CardPadding, type CardProps, type CardTone, Checkbox, type CheckboxProps, type DiffElement, type DiffPropertyLine, DiffPropertyList, type DiffPropertyListProps, DiffSection, type DiffSectionProps, EmptyState, type EmptyStateProps, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, Input, type InputProps, Menu, type MenuItem, type MenuProps, MismatchCard, type MismatchCardProps, type MismatchProperty, Modal, type ModalProps, type ModalSize, type ModalTone, MultiSelect, type MultiSelectOption, type MultiSelectProps, Pagination, type PaginationProps, PricingCard, type PricingCardProps, Radio, type RadioProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Select, type SelectOption, type SelectProps, SettingsSection, type SettingsSectionProps, Skeleton, SkeletonGroup, type SkeletonGroupProps, type SkeletonProps, type SkeletonShape, Split, type SplitProps, StackedCardsIllustration, Stat, type StatProps, type Step, StepList, type StepListProps, type StepStatus, TabNav, type TabNavProps, Table, type TableColumn, type TableProps, Tag, type TagProps, Toggle, type ToggleProps, type ToggleSize, type Tone, breakpoints };
898
+ export { Accordion, type AccordionProps, AppNav, type AppNavProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type Breakpoint, Button, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, Callout, type CalloutProps, type CalloutTone, Card, type CardPadding, type CardProps, type CardTone, Checkbox, type CheckboxProps, type DiffElement, type DiffPropertyLine, DiffPropertyList, type DiffPropertyListProps, DiffSection, type DiffSectionProps, EmptyState, type EmptyStateProps, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, Input, type InputProps, Menu, type MenuItem, type MenuProps, MismatchCard, type MismatchCardProps, type MismatchProperty, Modal, type ModalProps, type ModalSize, type ModalTone, MultiSelect, type MultiSelectOption, type MultiSelectProps, Pagination, type PaginationProps, PricingCard, type PricingCardProps, Radio, RadioCard, type RadioCardProps, type RadioProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Select, type SelectOption, type SelectProps, SettingsSection, type SettingsSectionProps, Skeleton, SkeletonGroup, type SkeletonGroupProps, type SkeletonProps, type SkeletonShape, Split, type SplitProps, StackedCardsIllustration, Stat, type StatProps, type Step, StepList, type StepListProps, type StepStatus, Swatch, type SwatchProps, TabNav, type TabNavProps, Table, type TableColumn, type TableProps, Tag, type TagProps, Toggle, type ToggleProps, type ToggleSize, type Tone, breakpoints };
package/dist/index.d.ts CHANGED
@@ -666,6 +666,23 @@ interface StatProps extends HTMLAttributes<HTMLDivElement> {
666
666
  */
667
667
  declare function Stat({ label, value, children, className, ...rest }: StatProps): react.JSX.Element;
668
668
 
669
+ interface SwatchProps extends HTMLAttributes<HTMLDivElement> {
670
+ /** The colour to show, as any CSS colour. Pass a value you have already validated. */
671
+ color: string;
672
+ /** The token's name, e.g. "accent". Set in mono. */
673
+ name: ReactNode;
674
+ /** The value as written, e.g. "#ff6b00". Set in mono under the name. */
675
+ value?: ReactNode;
676
+ /** Detail under the value, e.g. a row of Tags. */
677
+ children?: ReactNode;
678
+ }
679
+ /**
680
+ * Fidel design-system Swatch: a colour block over a token's name and value.
681
+ * A hairline inside the block keeps white and near-background colours visible.
682
+ * Lay several out in a grid.
683
+ */
684
+ declare function Swatch({ color, name, value, children, className, ...rest }: SwatchProps): react.JSX.Element;
685
+
669
686
  interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
670
687
  /** Text beside the box. Without one, pass `aria-label`. */
671
688
  label?: ReactNode;
@@ -696,6 +713,25 @@ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'
696
713
  */
697
714
  declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
698
715
 
716
+ interface RadioCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
717
+ /** Card title. */
718
+ label: ReactNode;
719
+ /** One or two lines under the title saying what the choice does. */
720
+ description?: ReactNode;
721
+ /** Small picture left of the text, usually an 18px icon. */
722
+ icon?: ReactNode;
723
+ /** Extra line under the description, e.g. a status or requirement. */
724
+ meta?: ReactNode;
725
+ }
726
+ /**
727
+ * Fidel design-system RadioCard: one choice of several, shown as a card with
728
+ * an icon, title and description. A native radio underneath, so cards that
729
+ * share a `name` move with the arrow keys and submit like any radio. Wrap the
730
+ * set in a `role="radiogroup"` element (or a fieldset) with a label; lay the
731
+ * cards out with the parent's grid or flex.
732
+ */
733
+ declare const RadioCard: react.ForwardRefExoticComponent<RadioCardProps & react.RefAttributes<HTMLInputElement>>;
734
+
699
735
  interface AccordionProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
700
736
  /** Header content, always visible. Clicking it opens and closes the body. */
701
737
  summary: ReactNode;
@@ -822,11 +858,11 @@ interface TableProps<Row> extends Omit<HTMLAttributes<HTMLDivElement>, 'children
822
858
  'aria-label': string;
823
859
  }
824
860
  /**
825
- * Fidel design-system Table: a grey header row over hairline-divided rows,
826
- * for records people scan by column, like payments. With no rows it keeps
827
- * the header and shows `empty` beneath it. Scrolls sideways on narrow
828
- * screens instead of squashing columns. Measured from Figma Settings ·
829
- * Billing history.
861
+ * Fidel design-system Table: a bordered card with a light uppercase header
862
+ * row over hairline-divided rows, for records people scan by column, like
863
+ * payments. With no rows it keeps the header and shows `empty` beneath it.
864
+ * Scrolls sideways on narrow screens instead of squashing columns. Same look
865
+ * as the webapp's Projects table.
830
866
  */
831
867
  declare function Table<Row>({ columns, rows, rowKey, empty, className, 'aria-label': ariaLabel, ...rest }: TableProps<Row>): react.JSX.Element;
832
868
 
@@ -859,4 +895,4 @@ interface PricingCardProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
859
895
  */
860
896
  declare function PricingCard({ eyebrow, title, badge, price, period, description, action, featuresTitle, featuresIntro, features, highlighted, className, ...rest }: PricingCardProps): react.JSX.Element;
861
897
 
862
- export { Accordion, type AccordionProps, AppNav, type AppNavProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type Breakpoint, Button, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, Callout, type CalloutProps, type CalloutTone, Card, type CardPadding, type CardProps, type CardTone, Checkbox, type CheckboxProps, type DiffElement, type DiffPropertyLine, DiffPropertyList, type DiffPropertyListProps, DiffSection, type DiffSectionProps, EmptyState, type EmptyStateProps, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, Input, type InputProps, Menu, type MenuItem, type MenuProps, MismatchCard, type MismatchCardProps, type MismatchProperty, Modal, type ModalProps, type ModalSize, type ModalTone, MultiSelect, type MultiSelectOption, type MultiSelectProps, Pagination, type PaginationProps, PricingCard, type PricingCardProps, Radio, type RadioProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Select, type SelectOption, type SelectProps, SettingsSection, type SettingsSectionProps, Skeleton, SkeletonGroup, type SkeletonGroupProps, type SkeletonProps, type SkeletonShape, Split, type SplitProps, StackedCardsIllustration, Stat, type StatProps, type Step, StepList, type StepListProps, type StepStatus, TabNav, type TabNavProps, Table, type TableColumn, type TableProps, Tag, type TagProps, Toggle, type ToggleProps, type ToggleSize, type Tone, breakpoints };
898
+ export { Accordion, type AccordionProps, AppNav, type AppNavProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type Breakpoint, Button, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, Callout, type CalloutProps, type CalloutTone, Card, type CardPadding, type CardProps, type CardTone, Checkbox, type CheckboxProps, type DiffElement, type DiffPropertyLine, DiffPropertyList, type DiffPropertyListProps, DiffSection, type DiffSectionProps, EmptyState, type EmptyStateProps, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, Input, type InputProps, Menu, type MenuItem, type MenuProps, MismatchCard, type MismatchCardProps, type MismatchProperty, Modal, type ModalProps, type ModalSize, type ModalTone, MultiSelect, type MultiSelectOption, type MultiSelectProps, Pagination, type PaginationProps, PricingCard, type PricingCardProps, Radio, RadioCard, type RadioCardProps, type RadioProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Select, type SelectOption, type SelectProps, SettingsSection, type SettingsSectionProps, Skeleton, SkeletonGroup, type SkeletonGroupProps, type SkeletonProps, type SkeletonShape, Split, type SplitProps, StackedCardsIllustration, Stat, type StatProps, type Step, StepList, type StepListProps, type StepStatus, Swatch, type SwatchProps, TabNav, type TabNavProps, Table, type TableColumn, type TableProps, Tag, type TagProps, Toggle, type ToggleProps, type ToggleSize, type Tone, breakpoints };