@proteos/ui 0.55.0 → 0.57.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/{chunk-IKAX76MB.js → chunk-NSE4VW3Z.js} +45 -21
- package/dist/chunk-NSE4VW3Z.js.map +1 -0
- package/dist/{chunk-MWAXK66H.cjs → chunk-NWGG5WFL.cjs} +45 -21
- package/dist/chunk-NWGG5WFL.cjs.map +1 -0
- package/dist/index.cjs +377 -361
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +46 -14
- package/dist/index.d.ts +46 -14
- package/dist/index.js +124 -108
- package/dist/index.js.map +1 -1
- package/dist/{pdf-view-MH75RVQP.js → pdf-view-RQ2OZYHJ.js} +3 -3
- package/dist/{pdf-view-MH75RVQP.js.map → pdf-view-RQ2OZYHJ.js.map} +1 -1
- package/dist/{pdf-view-K4MMVHVY.cjs → pdf-view-RRMAUK3L.cjs} +7 -7
- package/dist/{pdf-view-K4MMVHVY.cjs.map → pdf-view-RRMAUK3L.cjs.map} +1 -1
- package/package.json +2 -2
- package/src/components/avatar/avatar.stories.tsx +13 -0
- package/src/components/avatar/avatar.tsx +16 -9
- package/src/components/badge-multi-select/badge-multi-select.tsx +2 -2
- package/src/components/button/button.stories.tsx +202 -97
- package/src/components/button/button.test.tsx +40 -7
- package/src/components/button/button.tsx +71 -18
- package/src/components/combobox/combobox.tsx +2 -2
- package/src/components/currency-input/currency-input.tsx +2 -2
- package/src/components/date-picker/calendar-internals.tsx +1 -1
- package/src/components/date-picker/date-picker.tsx +3 -3
- package/src/components/date-time-picker/date-time-picker.tsx +3 -3
- package/src/components/icon-picker/icon-picker.tsx +2 -2
- package/src/components/image-lightbox/image-lightbox.tsx +2 -2
- package/src/components/menu/menu.tsx +2 -2
- package/src/components/modal/modal.tsx +4 -4
- package/src/components/multi-select/multi-select.tsx +2 -2
- package/src/components/popover/popover.tsx +2 -2
- package/src/components/record-filter/chip-value.tsx +6 -5
- package/src/components/record-filter/filter-value-input.tsx +11 -9
- package/src/components/record-filter/nested-group.tsx +2 -2
- package/src/components/record-filter/operators.test.ts +67 -12
- package/src/components/record-filter/operators.ts +43 -2
- package/src/components/record-filter/record-filter-builder-panel.tsx +11 -23
- package/src/components/record-filter/record-filter-chips.tsx +3 -10
- package/src/components/record-filter/types.ts +6 -1
- package/src/components/segmented-control/segmented-control.stories.tsx +134 -8
- package/src/components/segmented-control/segmented-control.test.tsx +81 -8
- package/src/components/segmented-control/segmented-control.tsx +38 -19
- package/src/components/select/select.tsx +2 -2
- package/src/components/time-field/time-field.tsx +1 -1
- package/src/components/toast/toast.tsx +2 -2
- package/src/components/tooltip/tooltip.tsx +2 -2
- package/src/styles.css +58 -0
- package/dist/chunk-IKAX76MB.js.map +0 -1
- package/dist/chunk-MWAXK66H.cjs.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -113,6 +113,10 @@ declare const avatarStyles: tailwind_variants.TVReturnType<{
|
|
|
113
113
|
terra: string;
|
|
114
114
|
slate: string;
|
|
115
115
|
};
|
|
116
|
+
shape: {
|
|
117
|
+
circle: string;
|
|
118
|
+
square: string;
|
|
119
|
+
};
|
|
116
120
|
}, undefined, string[], {
|
|
117
121
|
size: {
|
|
118
122
|
sm: string;
|
|
@@ -127,6 +131,10 @@ declare const avatarStyles: tailwind_variants.TVReturnType<{
|
|
|
127
131
|
terra: string;
|
|
128
132
|
slate: string;
|
|
129
133
|
};
|
|
134
|
+
shape: {
|
|
135
|
+
circle: string;
|
|
136
|
+
square: string;
|
|
137
|
+
};
|
|
130
138
|
}, undefined, tailwind_variants.TVReturnType<{
|
|
131
139
|
size: {
|
|
132
140
|
sm: string;
|
|
@@ -141,6 +149,10 @@ declare const avatarStyles: tailwind_variants.TVReturnType<{
|
|
|
141
149
|
terra: string;
|
|
142
150
|
slate: string;
|
|
143
151
|
};
|
|
152
|
+
shape: {
|
|
153
|
+
circle: string;
|
|
154
|
+
square: string;
|
|
155
|
+
};
|
|
144
156
|
}, undefined, string[], unknown, unknown, undefined>>;
|
|
145
157
|
type AvatarVariants = VariantProps<typeof avatarStyles>;
|
|
146
158
|
type AvatarProps = HTMLAttributes<HTMLSpanElement> & AvatarVariants & {
|
|
@@ -154,7 +166,7 @@ type AvatarProps = HTMLAttributes<HTMLSpanElement> & AvatarVariants & {
|
|
|
154
166
|
/** Alt text for the image. Defaults to empty — the avatar is decorative. */
|
|
155
167
|
alt?: string;
|
|
156
168
|
};
|
|
157
|
-
declare function Avatar({ size, tone, initials, src, alt, className, children, ...props }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
169
|
+
declare function Avatar({ size, tone, shape, initials, src, alt, className, children, ...props }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
158
170
|
|
|
159
171
|
declare const avatarGroupStyles: tailwind_variants.TVReturnType<{
|
|
160
172
|
size: {
|
|
@@ -477,12 +489,14 @@ declare function Breadcrumbs({ items, separator, className, ...props }: Breadcru
|
|
|
477
489
|
|
|
478
490
|
declare const buttonStyles: tailwind_variants.TVReturnType<{
|
|
479
491
|
variant: {
|
|
480
|
-
|
|
492
|
+
cta: string[];
|
|
481
493
|
accent: string[];
|
|
494
|
+
primary: string[];
|
|
482
495
|
secondary: string[];
|
|
483
496
|
ghost: string[];
|
|
484
497
|
subtle: string[];
|
|
485
498
|
link: string[];
|
|
499
|
+
danger: string[];
|
|
486
500
|
};
|
|
487
501
|
size: {
|
|
488
502
|
sm: string;
|
|
@@ -498,12 +512,14 @@ declare const buttonStyles: tailwind_variants.TVReturnType<{
|
|
|
498
512
|
};
|
|
499
513
|
}, undefined, string[], {
|
|
500
514
|
variant: {
|
|
501
|
-
|
|
515
|
+
cta: string[];
|
|
502
516
|
accent: string[];
|
|
517
|
+
primary: string[];
|
|
503
518
|
secondary: string[];
|
|
504
519
|
ghost: string[];
|
|
505
520
|
subtle: string[];
|
|
506
521
|
link: string[];
|
|
522
|
+
danger: string[];
|
|
507
523
|
};
|
|
508
524
|
size: {
|
|
509
525
|
sm: string;
|
|
@@ -519,12 +535,14 @@ declare const buttonStyles: tailwind_variants.TVReturnType<{
|
|
|
519
535
|
};
|
|
520
536
|
}, undefined, tailwind_variants.TVReturnType<{
|
|
521
537
|
variant: {
|
|
522
|
-
|
|
538
|
+
cta: string[];
|
|
523
539
|
accent: string[];
|
|
540
|
+
primary: string[];
|
|
524
541
|
secondary: string[];
|
|
525
542
|
ghost: string[];
|
|
526
543
|
subtle: string[];
|
|
527
544
|
link: string[];
|
|
545
|
+
danger: string[];
|
|
528
546
|
};
|
|
529
547
|
size: {
|
|
530
548
|
sm: string;
|
|
@@ -2356,7 +2374,10 @@ type FilterField = {
|
|
|
2356
2374
|
/** Parent label for breadcrumb in chips, e.g. `'Owner'`. Omitted for top-level. */
|
|
2357
2375
|
parentLabel?: string;
|
|
2358
2376
|
type: FilterFieldType;
|
|
2359
|
-
/** Required when `type === 'enum'
|
|
2377
|
+
/** Required when `type === 'enum'`. For `type === 'array'` these are the
|
|
2378
|
+
* ITEM enum's values (an array of enum items), so the membership editors
|
|
2379
|
+
* and chips pick from the same list the record editor does. Ignored
|
|
2380
|
+
* otherwise. */
|
|
2360
2381
|
options?: ReadonlyArray<FilterFieldOption>;
|
|
2361
2382
|
/** Hint for `<Input type=…>`. Defaults derived from `type`. */
|
|
2362
2383
|
inputType?: 'text' | 'number' | 'date' | 'datetime' | 'email';
|
|
@@ -2407,7 +2428,7 @@ type FilterFieldRelation = {
|
|
|
2407
2428
|
/** Dot-path of the field on the related entity, e.g. `'name'` or `'address.city'`. */
|
|
2408
2429
|
relatedFieldPath: string;
|
|
2409
2430
|
};
|
|
2410
|
-
type ComparisonOperator = 'eq' | 'gt' | 'lt' | 'gte' | 'lte' | 'ne' | 'in' | 'not_in' | 'contains' | 'starts_with' | 'ends_with' | 'empty' | 'not_empty';
|
|
2431
|
+
type ComparisonOperator = 'eq' | 'gt' | 'lt' | 'gte' | 'lte' | 'ne' | 'in' | 'not_in' | 'contains' | 'not_contains' | 'contains_all' | 'starts_with' | 'ends_with' | 'empty' | 'not_empty';
|
|
2411
2432
|
type LogicalOperator = 'and' | 'or';
|
|
2412
2433
|
type FilterValue = string | string[] | boolean | null;
|
|
2413
2434
|
type FilterElement = {
|
|
@@ -2702,10 +2723,12 @@ declare const segmentedControlStyles: tailwind_variants.TVReturnType<{
|
|
|
2702
2723
|
segment: string;
|
|
2703
2724
|
};
|
|
2704
2725
|
};
|
|
2705
|
-
|
|
2706
|
-
|
|
2726
|
+
wrap: {
|
|
2727
|
+
true: {
|
|
2728
|
+
group: string;
|
|
2707
2729
|
segment: string;
|
|
2708
2730
|
};
|
|
2731
|
+
false: {};
|
|
2709
2732
|
};
|
|
2710
2733
|
}, {
|
|
2711
2734
|
group: string;
|
|
@@ -2719,10 +2742,12 @@ declare const segmentedControlStyles: tailwind_variants.TVReturnType<{
|
|
|
2719
2742
|
segment: string;
|
|
2720
2743
|
};
|
|
2721
2744
|
};
|
|
2722
|
-
|
|
2723
|
-
|
|
2745
|
+
wrap: {
|
|
2746
|
+
true: {
|
|
2747
|
+
group: string;
|
|
2724
2748
|
segment: string;
|
|
2725
2749
|
};
|
|
2750
|
+
false: {};
|
|
2726
2751
|
};
|
|
2727
2752
|
}, {
|
|
2728
2753
|
group: string;
|
|
@@ -2736,10 +2761,12 @@ declare const segmentedControlStyles: tailwind_variants.TVReturnType<{
|
|
|
2736
2761
|
segment: string;
|
|
2737
2762
|
};
|
|
2738
2763
|
};
|
|
2739
|
-
|
|
2740
|
-
|
|
2764
|
+
wrap: {
|
|
2765
|
+
true: {
|
|
2766
|
+
group: string;
|
|
2741
2767
|
segment: string;
|
|
2742
2768
|
};
|
|
2769
|
+
false: {};
|
|
2743
2770
|
};
|
|
2744
2771
|
}, {
|
|
2745
2772
|
group: string;
|
|
@@ -2750,12 +2777,17 @@ type SegmentedControlOption<T extends Key$1 = Key$1> = {
|
|
|
2750
2777
|
id: T;
|
|
2751
2778
|
label: ReactNode;
|
|
2752
2779
|
isDisabled?: boolean;
|
|
2780
|
+
/** Accessible name for icon-only segments. */
|
|
2781
|
+
'aria-label'?: string;
|
|
2753
2782
|
};
|
|
2754
2783
|
type SegmentedControlProps<T extends Key$1 = Key$1> = Omit<RadioGroupProps$1, 'children' | 'value' | 'onChange'> & {
|
|
2755
2784
|
options: ReadonlyArray<SegmentedControlOption<T>>;
|
|
2756
|
-
|
|
2785
|
+
/** `null` renders no selected segment. */
|
|
2786
|
+
value: T | null;
|
|
2757
2787
|
onChange: (value: T) => void;
|
|
2758
2788
|
size?: SegmentedControlVariants['size'];
|
|
2789
|
+
/** Flow-wrap long option lists; segments share the line equally. */
|
|
2790
|
+
wrap?: boolean;
|
|
2759
2791
|
/** Focus the selected segment on mount. RAC's RadioGroup doesn't surface
|
|
2760
2792
|
* `autoFocus` itself — it's a per-Radio prop — so we apply it to the
|
|
2761
2793
|
* Radio whose value matches `value`. */
|
|
@@ -2763,7 +2795,7 @@ type SegmentedControlProps<T extends Key$1 = Key$1> = Omit<RadioGroupProps$1, 'c
|
|
|
2763
2795
|
/** Visual override for the group wrapper. */
|
|
2764
2796
|
className?: string;
|
|
2765
2797
|
};
|
|
2766
|
-
declare function SegmentedControl<T extends Key$1>({ options, value, onChange, size, autoFocus, className, orientation, ...props }: SegmentedControlProps<T>): react_jsx_runtime.JSX.Element;
|
|
2798
|
+
declare function SegmentedControl<T extends Key$1>({ options, value, onChange, size, wrap, autoFocus, className, orientation, ...props }: SegmentedControlProps<T>): react_jsx_runtime.JSX.Element;
|
|
2767
2799
|
|
|
2768
2800
|
type SelectOption<T extends Key = Key> = {
|
|
2769
2801
|
id: T;
|
package/dist/index.d.ts
CHANGED
|
@@ -113,6 +113,10 @@ declare const avatarStyles: tailwind_variants.TVReturnType<{
|
|
|
113
113
|
terra: string;
|
|
114
114
|
slate: string;
|
|
115
115
|
};
|
|
116
|
+
shape: {
|
|
117
|
+
circle: string;
|
|
118
|
+
square: string;
|
|
119
|
+
};
|
|
116
120
|
}, undefined, string[], {
|
|
117
121
|
size: {
|
|
118
122
|
sm: string;
|
|
@@ -127,6 +131,10 @@ declare const avatarStyles: tailwind_variants.TVReturnType<{
|
|
|
127
131
|
terra: string;
|
|
128
132
|
slate: string;
|
|
129
133
|
};
|
|
134
|
+
shape: {
|
|
135
|
+
circle: string;
|
|
136
|
+
square: string;
|
|
137
|
+
};
|
|
130
138
|
}, undefined, tailwind_variants.TVReturnType<{
|
|
131
139
|
size: {
|
|
132
140
|
sm: string;
|
|
@@ -141,6 +149,10 @@ declare const avatarStyles: tailwind_variants.TVReturnType<{
|
|
|
141
149
|
terra: string;
|
|
142
150
|
slate: string;
|
|
143
151
|
};
|
|
152
|
+
shape: {
|
|
153
|
+
circle: string;
|
|
154
|
+
square: string;
|
|
155
|
+
};
|
|
144
156
|
}, undefined, string[], unknown, unknown, undefined>>;
|
|
145
157
|
type AvatarVariants = VariantProps<typeof avatarStyles>;
|
|
146
158
|
type AvatarProps = HTMLAttributes<HTMLSpanElement> & AvatarVariants & {
|
|
@@ -154,7 +166,7 @@ type AvatarProps = HTMLAttributes<HTMLSpanElement> & AvatarVariants & {
|
|
|
154
166
|
/** Alt text for the image. Defaults to empty — the avatar is decorative. */
|
|
155
167
|
alt?: string;
|
|
156
168
|
};
|
|
157
|
-
declare function Avatar({ size, tone, initials, src, alt, className, children, ...props }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
169
|
+
declare function Avatar({ size, tone, shape, initials, src, alt, className, children, ...props }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
158
170
|
|
|
159
171
|
declare const avatarGroupStyles: tailwind_variants.TVReturnType<{
|
|
160
172
|
size: {
|
|
@@ -477,12 +489,14 @@ declare function Breadcrumbs({ items, separator, className, ...props }: Breadcru
|
|
|
477
489
|
|
|
478
490
|
declare const buttonStyles: tailwind_variants.TVReturnType<{
|
|
479
491
|
variant: {
|
|
480
|
-
|
|
492
|
+
cta: string[];
|
|
481
493
|
accent: string[];
|
|
494
|
+
primary: string[];
|
|
482
495
|
secondary: string[];
|
|
483
496
|
ghost: string[];
|
|
484
497
|
subtle: string[];
|
|
485
498
|
link: string[];
|
|
499
|
+
danger: string[];
|
|
486
500
|
};
|
|
487
501
|
size: {
|
|
488
502
|
sm: string;
|
|
@@ -498,12 +512,14 @@ declare const buttonStyles: tailwind_variants.TVReturnType<{
|
|
|
498
512
|
};
|
|
499
513
|
}, undefined, string[], {
|
|
500
514
|
variant: {
|
|
501
|
-
|
|
515
|
+
cta: string[];
|
|
502
516
|
accent: string[];
|
|
517
|
+
primary: string[];
|
|
503
518
|
secondary: string[];
|
|
504
519
|
ghost: string[];
|
|
505
520
|
subtle: string[];
|
|
506
521
|
link: string[];
|
|
522
|
+
danger: string[];
|
|
507
523
|
};
|
|
508
524
|
size: {
|
|
509
525
|
sm: string;
|
|
@@ -519,12 +535,14 @@ declare const buttonStyles: tailwind_variants.TVReturnType<{
|
|
|
519
535
|
};
|
|
520
536
|
}, undefined, tailwind_variants.TVReturnType<{
|
|
521
537
|
variant: {
|
|
522
|
-
|
|
538
|
+
cta: string[];
|
|
523
539
|
accent: string[];
|
|
540
|
+
primary: string[];
|
|
524
541
|
secondary: string[];
|
|
525
542
|
ghost: string[];
|
|
526
543
|
subtle: string[];
|
|
527
544
|
link: string[];
|
|
545
|
+
danger: string[];
|
|
528
546
|
};
|
|
529
547
|
size: {
|
|
530
548
|
sm: string;
|
|
@@ -2356,7 +2374,10 @@ type FilterField = {
|
|
|
2356
2374
|
/** Parent label for breadcrumb in chips, e.g. `'Owner'`. Omitted for top-level. */
|
|
2357
2375
|
parentLabel?: string;
|
|
2358
2376
|
type: FilterFieldType;
|
|
2359
|
-
/** Required when `type === 'enum'
|
|
2377
|
+
/** Required when `type === 'enum'`. For `type === 'array'` these are the
|
|
2378
|
+
* ITEM enum's values (an array of enum items), so the membership editors
|
|
2379
|
+
* and chips pick from the same list the record editor does. Ignored
|
|
2380
|
+
* otherwise. */
|
|
2360
2381
|
options?: ReadonlyArray<FilterFieldOption>;
|
|
2361
2382
|
/** Hint for `<Input type=…>`. Defaults derived from `type`. */
|
|
2362
2383
|
inputType?: 'text' | 'number' | 'date' | 'datetime' | 'email';
|
|
@@ -2407,7 +2428,7 @@ type FilterFieldRelation = {
|
|
|
2407
2428
|
/** Dot-path of the field on the related entity, e.g. `'name'` or `'address.city'`. */
|
|
2408
2429
|
relatedFieldPath: string;
|
|
2409
2430
|
};
|
|
2410
|
-
type ComparisonOperator = 'eq' | 'gt' | 'lt' | 'gte' | 'lte' | 'ne' | 'in' | 'not_in' | 'contains' | 'starts_with' | 'ends_with' | 'empty' | 'not_empty';
|
|
2431
|
+
type ComparisonOperator = 'eq' | 'gt' | 'lt' | 'gte' | 'lte' | 'ne' | 'in' | 'not_in' | 'contains' | 'not_contains' | 'contains_all' | 'starts_with' | 'ends_with' | 'empty' | 'not_empty';
|
|
2411
2432
|
type LogicalOperator = 'and' | 'or';
|
|
2412
2433
|
type FilterValue = string | string[] | boolean | null;
|
|
2413
2434
|
type FilterElement = {
|
|
@@ -2702,10 +2723,12 @@ declare const segmentedControlStyles: tailwind_variants.TVReturnType<{
|
|
|
2702
2723
|
segment: string;
|
|
2703
2724
|
};
|
|
2704
2725
|
};
|
|
2705
|
-
|
|
2706
|
-
|
|
2726
|
+
wrap: {
|
|
2727
|
+
true: {
|
|
2728
|
+
group: string;
|
|
2707
2729
|
segment: string;
|
|
2708
2730
|
};
|
|
2731
|
+
false: {};
|
|
2709
2732
|
};
|
|
2710
2733
|
}, {
|
|
2711
2734
|
group: string;
|
|
@@ -2719,10 +2742,12 @@ declare const segmentedControlStyles: tailwind_variants.TVReturnType<{
|
|
|
2719
2742
|
segment: string;
|
|
2720
2743
|
};
|
|
2721
2744
|
};
|
|
2722
|
-
|
|
2723
|
-
|
|
2745
|
+
wrap: {
|
|
2746
|
+
true: {
|
|
2747
|
+
group: string;
|
|
2724
2748
|
segment: string;
|
|
2725
2749
|
};
|
|
2750
|
+
false: {};
|
|
2726
2751
|
};
|
|
2727
2752
|
}, {
|
|
2728
2753
|
group: string;
|
|
@@ -2736,10 +2761,12 @@ declare const segmentedControlStyles: tailwind_variants.TVReturnType<{
|
|
|
2736
2761
|
segment: string;
|
|
2737
2762
|
};
|
|
2738
2763
|
};
|
|
2739
|
-
|
|
2740
|
-
|
|
2764
|
+
wrap: {
|
|
2765
|
+
true: {
|
|
2766
|
+
group: string;
|
|
2741
2767
|
segment: string;
|
|
2742
2768
|
};
|
|
2769
|
+
false: {};
|
|
2743
2770
|
};
|
|
2744
2771
|
}, {
|
|
2745
2772
|
group: string;
|
|
@@ -2750,12 +2777,17 @@ type SegmentedControlOption<T extends Key$1 = Key$1> = {
|
|
|
2750
2777
|
id: T;
|
|
2751
2778
|
label: ReactNode;
|
|
2752
2779
|
isDisabled?: boolean;
|
|
2780
|
+
/** Accessible name for icon-only segments. */
|
|
2781
|
+
'aria-label'?: string;
|
|
2753
2782
|
};
|
|
2754
2783
|
type SegmentedControlProps<T extends Key$1 = Key$1> = Omit<RadioGroupProps$1, 'children' | 'value' | 'onChange'> & {
|
|
2755
2784
|
options: ReadonlyArray<SegmentedControlOption<T>>;
|
|
2756
|
-
|
|
2785
|
+
/** `null` renders no selected segment. */
|
|
2786
|
+
value: T | null;
|
|
2757
2787
|
onChange: (value: T) => void;
|
|
2758
2788
|
size?: SegmentedControlVariants['size'];
|
|
2789
|
+
/** Flow-wrap long option lists; segments share the line equally. */
|
|
2790
|
+
wrap?: boolean;
|
|
2759
2791
|
/** Focus the selected segment on mount. RAC's RadioGroup doesn't surface
|
|
2760
2792
|
* `autoFocus` itself — it's a per-Radio prop — so we apply it to the
|
|
2761
2793
|
* Radio whose value matches `value`. */
|
|
@@ -2763,7 +2795,7 @@ type SegmentedControlProps<T extends Key$1 = Key$1> = Omit<RadioGroupProps$1, 'c
|
|
|
2763
2795
|
/** Visual override for the group wrapper. */
|
|
2764
2796
|
className?: string;
|
|
2765
2797
|
};
|
|
2766
|
-
declare function SegmentedControl<T extends Key$1>({ options, value, onChange, size, autoFocus, className, orientation, ...props }: SegmentedControlProps<T>): react_jsx_runtime.JSX.Element;
|
|
2798
|
+
declare function SegmentedControl<T extends Key$1>({ options, value, onChange, size, wrap, autoFocus, className, orientation, ...props }: SegmentedControlProps<T>): react_jsx_runtime.JSX.Element;
|
|
2767
2799
|
|
|
2768
2800
|
type SelectOption<T extends Key = Key> = {
|
|
2769
2801
|
id: T;
|