@sproutsocial/seeds-react-menu 1.10.8 → 1.11.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 (50) hide show
  1. package/.turbo/turbo-build.log +21 -15
  2. package/CHANGELOG.md +22 -0
  3. package/dist/esm/index.js +45 -24
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/v2/index.js +1 -1
  6. package/dist/esm/v2/index.js.map +1 -1
  7. package/dist/esm/v3/index.js +800 -0
  8. package/dist/esm/v3/index.js.map +1 -0
  9. package/dist/index.d.mts +22 -22
  10. package/dist/index.d.ts +22 -22
  11. package/dist/index.js +35 -14
  12. package/dist/index.js.map +1 -1
  13. package/dist/v2/index.js +1 -1
  14. package/dist/v2/index.js.map +1 -1
  15. package/dist/v3/index.d.mts +295 -0
  16. package/dist/v3/index.d.ts +295 -0
  17. package/dist/v3/index.js +868 -0
  18. package/dist/v3/index.js.map +1 -0
  19. package/package.json +7 -1
  20. package/src/MenuGroup/MenuGroup.tsx +16 -3
  21. package/src/MenuGroup/__tests__/MenuGroup.test.tsx +19 -0
  22. package/src/MenuItem/MenuItem.tsx +21 -10
  23. package/src/MenuItem/__tests__/MenuItem.test.tsx +19 -0
  24. package/src/v2/Common-V2/ComboboxContent.tsx +1 -1
  25. package/src/v3/Common/ComboboxItem.tsx +82 -0
  26. package/src/v3/Common/ComboboxStyles.tsx +475 -0
  27. package/src/v3/Common/SelectGroup.tsx +28 -0
  28. package/src/v3/Common/SelectIcons.tsx +26 -0
  29. package/src/v3/Common/SelectItem.tsx +108 -0
  30. package/src/v3/Common/SelectStyles.tsx +126 -0
  31. package/src/v3/Common/VirtualizedComboboxList.tsx +200 -0
  32. package/src/v3/Common/groupItems.ts +12 -0
  33. package/src/v3/Common/types.ts +3 -0
  34. package/src/v3/ModalStories.stories.tsx +181 -0
  35. package/src/v3/MultiCombobox.stories.tsx +322 -0
  36. package/src/v3/MultiCombobox.tsx +562 -0
  37. package/src/v3/MultiSearchableSelect.stories.tsx +389 -0
  38. package/src/v3/MultiSearchableSelect.tsx +545 -0
  39. package/src/v3/MultiSelect.stories.tsx +300 -0
  40. package/src/v3/MultiSelect.tsx +498 -0
  41. package/src/v3/SeedsPortal.tsx +35 -0
  42. package/src/v3/SingleCombobox.stories.tsx +169 -0
  43. package/src/v3/SingleCombobox.tsx +304 -0
  44. package/src/v3/SingleSearchableSelect.stories.tsx +239 -0
  45. package/src/v3/SingleSearchableSelect.tsx +319 -0
  46. package/src/v3/SingleSelect.stories.tsx +227 -0
  47. package/src/v3/SingleSelect.tsx +245 -0
  48. package/src/v3/index.ts +7 -0
  49. package/src/v3/storyData.tsx +117 -0
  50. package/tsup.config.ts +1 -0
@@ -0,0 +1,295 @@
1
+ import * as react from 'react';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import * as _base_ui_react_combobox from '@base-ui/react/combobox';
4
+ import * as styled_components from 'styled-components';
5
+
6
+ interface DataWithId {
7
+ id: string | number;
8
+ }
9
+
10
+ interface SingleSelectBaseProps {
11
+ id?: string;
12
+ placeholder?: string;
13
+ includePlaceholderItem?: boolean;
14
+ }
15
+ interface SingleSelectDataProps<T extends DataWithId> extends SingleSelectBaseProps {
16
+ data: T[];
17
+ itemToString: (item: T | null) => string;
18
+ renderItem?: (item: T) => react.ReactNode;
19
+ inputType?: "icon" | "radio";
20
+ selectedItemId?: T["id"] | null;
21
+ defaultSelectedItemId?: T["id"] | null;
22
+ onSelectedItemIdChange?: (id: T["id"] | null) => void;
23
+ renderSelection?: (item: T) => react.ReactNode;
24
+ groupBy?: (item: T) => string;
25
+ renderGroupHeading?: (label: string) => react.ReactNode;
26
+ children?: never;
27
+ }
28
+ interface SingleSelectChildrenProps extends SingleSelectBaseProps {
29
+ children: react.ReactNode;
30
+ selectedItemId?: string | number | null;
31
+ defaultSelectedItemId?: string | number | null;
32
+ onSelectedItemIdChange?: (id: string | number | null) => void;
33
+ data?: never;
34
+ itemToString?: never;
35
+ renderItem?: never;
36
+ inputType?: never;
37
+ renderSelection?: never;
38
+ groupBy?: never;
39
+ renderGroupHeading?: never;
40
+ }
41
+ type SingleSelectProps<T extends DataWithId> = SingleSelectDataProps<T> | SingleSelectChildrenProps;
42
+
43
+ interface MultiSelectBaseProps {
44
+ id?: string;
45
+ placeholder?: string;
46
+ }
47
+ interface MultiSelectDataProps<T extends DataWithId> extends MultiSelectBaseProps {
48
+ data: T[];
49
+ itemToString: (item: T) => string;
50
+ renderItem?: (item: T) => react.ReactNode;
51
+ customRenderSelections?: (item: T) => string;
52
+ renderSelection?: (items: T[]) => react.ReactNode;
53
+ inputType?: "icon" | "radio" | "checkbox" | "none";
54
+ maxSelections?: number;
55
+ selectedItemIds?: Array<T["id"]>;
56
+ defaultSelectedItemIds?: Array<T["id"]>;
57
+ onSelectedItemIdsChange?: (ids: Array<T["id"]>) => void;
58
+ groupBy?: (item: T) => string;
59
+ renderGroupHeading?: (label: string) => react.ReactNode;
60
+ removeSelectedItems?: boolean;
61
+ children?: never;
62
+ }
63
+ interface MultiSelectChildrenProps extends MultiSelectBaseProps {
64
+ children: react.ReactNode;
65
+ selectedItemIds?: Array<string | number>;
66
+ defaultSelectedItemIds?: Array<string | number>;
67
+ onSelectedItemIdsChange?: (ids: Array<string | number>) => void;
68
+ data?: never;
69
+ itemToString?: never;
70
+ renderItem?: never;
71
+ customRenderSelections?: never;
72
+ renderSelection?: never;
73
+ inputType?: never;
74
+ maxSelections?: never;
75
+ groupBy?: never;
76
+ renderGroupHeading?: never;
77
+ removeSelectedItems?: never;
78
+ }
79
+ type MultiSelectProps<T extends DataWithId> = MultiSelectDataProps<T> | MultiSelectChildrenProps;
80
+
81
+ interface SingleComboboxBaseProps {
82
+ id?: string;
83
+ placeholder?: string;
84
+ emptyText?: string;
85
+ }
86
+ interface SingleComboboxDataBaseProps<T extends DataWithId> extends SingleComboboxBaseProps {
87
+ data: T[];
88
+ itemToString: (item: T | null) => string;
89
+ renderItem?: (item: T) => react.ReactNode;
90
+ inputType?: "icon" | "radio" | "checkbox" | "none";
91
+ selectedItemId?: T["id"] | null;
92
+ defaultSelectedItemId?: T["id"] | null;
93
+ onSelectedItemIdChange?: (id: T["id"] | null) => void;
94
+ children?: never;
95
+ }
96
+ interface SingleComboboxDataProps<T extends DataWithId> extends SingleComboboxDataBaseProps<T> {
97
+ isVirtualized?: false;
98
+ groupBy?: (item: T) => string;
99
+ renderGroupHeading?: (label: string) => react.ReactNode;
100
+ }
101
+ interface SingleComboboxVirtualizedProps<T extends DataWithId> extends SingleComboboxDataBaseProps<T> {
102
+ isVirtualized: true;
103
+ groupBy?: never;
104
+ renderGroupHeading?: never;
105
+ }
106
+ interface SingleComboboxChildrenProps extends SingleComboboxBaseProps {
107
+ children: react.ReactNode;
108
+ selectedItemId?: string | number | null;
109
+ defaultSelectedItemId?: string | number | null;
110
+ onSelectedItemIdChange?: (id: string | number | null) => void;
111
+ data?: never;
112
+ itemToString?: never;
113
+ renderItem?: never;
114
+ inputType?: never;
115
+ groupBy?: never;
116
+ renderGroupHeading?: never;
117
+ isVirtualized?: never;
118
+ }
119
+ type SingleComboboxProps<T extends DataWithId> = SingleComboboxDataProps<T> | SingleComboboxVirtualizedProps<T> | SingleComboboxChildrenProps;
120
+
121
+ interface MultiComboboxBaseProps {
122
+ id?: string;
123
+ placeholder?: string;
124
+ emptyText?: string;
125
+ isLoading?: boolean;
126
+ loadingText?: string;
127
+ }
128
+ interface MultiComboboxDataProps<T extends DataWithId> extends MultiComboboxBaseProps {
129
+ data: T[];
130
+ itemToString: (item: T) => string;
131
+ renderItem?: (item: T) => react.ReactNode;
132
+ renderToken?: (item: T) => react.ReactNode;
133
+ renderSelection?: (items: T[]) => react.ReactNode;
134
+ inputType?: "icon" | "checkbox" | "none";
135
+ selectedItemIds?: Array<T["id"]>;
136
+ defaultSelectedItemIds?: Array<T["id"]>;
137
+ onSelectedItemIdsChange?: (ids: Array<T["id"]>) => void;
138
+ groupBy?: (item: T) => string;
139
+ renderGroupHeading?: (label: string) => react.ReactNode;
140
+ selectHeadings?: boolean;
141
+ selectAll?: boolean;
142
+ isVirtualized?: boolean;
143
+ removeSelectedItems?: boolean;
144
+ maxTokens?: number;
145
+ children?: never;
146
+ }
147
+ interface MultiComboboxChildrenProps extends MultiComboboxBaseProps {
148
+ children: react.ReactNode;
149
+ selectedItemIds?: Array<string | number>;
150
+ defaultSelectedItemIds?: Array<string | number>;
151
+ onSelectedItemIdsChange?: (ids: Array<string | number>) => void;
152
+ data?: never;
153
+ itemToString?: never;
154
+ renderItem?: never;
155
+ renderToken?: never;
156
+ renderSelection?: never;
157
+ inputType?: never;
158
+ groupBy?: never;
159
+ renderGroupHeading?: never;
160
+ selectHeadings?: never;
161
+ selectAll?: never;
162
+ removeSelectedItems?: never;
163
+ }
164
+ type MultiComboboxProps<T extends DataWithId> = MultiComboboxDataProps<T> | MultiComboboxChildrenProps;
165
+
166
+ interface SingleSearchableSelectBaseProps {
167
+ id?: string;
168
+ placeholder?: string;
169
+ searchPlaceholder?: string;
170
+ emptyText?: string;
171
+ isLoading?: boolean;
172
+ loadingText?: string;
173
+ }
174
+ interface SingleSearchableSelectDataBaseProps<T extends DataWithId> extends SingleSearchableSelectBaseProps {
175
+ data: T[];
176
+ itemToString: (item: T | null) => string;
177
+ renderItem?: (item: T) => react.ReactNode;
178
+ renderSelection?: (item: T) => react.ReactNode;
179
+ inputType?: "icon" | "radio" | "checkbox" | "none";
180
+ selectedItemId?: T["id"] | null;
181
+ defaultSelectedItemId?: T["id"] | null;
182
+ onSelectedItemIdChange?: (id: T["id"] | null) => void;
183
+ children?: never;
184
+ }
185
+ interface SingleSearchableSelectDataProps<T extends DataWithId> extends SingleSearchableSelectDataBaseProps<T> {
186
+ isVirtualized?: false;
187
+ groupBy?: (item: T) => string;
188
+ renderGroupHeading?: (label: string) => react.ReactNode;
189
+ }
190
+ interface SingleSearchableSelectVirtualizedProps<T extends DataWithId> extends SingleSearchableSelectDataBaseProps<T> {
191
+ isVirtualized: true;
192
+ groupBy?: never;
193
+ renderGroupHeading?: never;
194
+ }
195
+ interface SingleSearchableSelectChildrenProps extends SingleSearchableSelectBaseProps {
196
+ children: react.ReactNode;
197
+ selectedItemId?: string | number | null;
198
+ defaultSelectedItemId?: string | number | null;
199
+ onSelectedItemIdChange?: (id: string | number | null) => void;
200
+ data?: never;
201
+ itemToString?: never;
202
+ renderItem?: never;
203
+ renderSelection?: never;
204
+ inputType?: never;
205
+ groupBy?: never;
206
+ renderGroupHeading?: never;
207
+ isVirtualized?: never;
208
+ }
209
+ type SingleSearchableSelectProps<T extends DataWithId> = SingleSearchableSelectDataProps<T> | SingleSearchableSelectVirtualizedProps<T> | SingleSearchableSelectChildrenProps;
210
+
211
+ interface MultiSearchableSelectBaseProps {
212
+ id?: string;
213
+ placeholder?: string;
214
+ searchPlaceholder?: string;
215
+ emptyText?: string;
216
+ isLoading?: boolean;
217
+ loadingText?: string;
218
+ }
219
+ interface MultiSearchableSelectDataProps<T extends DataWithId> extends MultiSearchableSelectBaseProps {
220
+ data: T[];
221
+ itemToString: (item: T) => string;
222
+ renderItem?: (item: T) => react.ReactNode;
223
+ customRenderSelections?: (item: T) => string;
224
+ renderSelection?: (items: T[]) => react.ReactNode;
225
+ inputType?: "icon" | "checkbox" | "none";
226
+ maxSelections?: number;
227
+ selectedItemIds?: Array<T["id"]>;
228
+ defaultSelectedItemIds?: Array<T["id"]>;
229
+ onSelectedItemIdsChange?: (ids: Array<T["id"]>) => void;
230
+ groupBy?: (item: T) => string;
231
+ renderGroupHeading?: (label: string) => react.ReactNode;
232
+ selectHeadings?: boolean;
233
+ selectAll?: boolean;
234
+ isVirtualized?: boolean;
235
+ removeSelectedItems?: boolean;
236
+ children?: never;
237
+ }
238
+ interface MultiSearchableSelectChildrenProps extends MultiSearchableSelectBaseProps {
239
+ children: react.ReactNode;
240
+ selectedItemIds?: Array<string | number>;
241
+ defaultSelectedItemIds?: Array<string | number>;
242
+ onSelectedItemIdsChange?: (ids: Array<string | number>) => void;
243
+ data?: never;
244
+ itemToString?: never;
245
+ renderItem?: never;
246
+ customRenderSelections?: never;
247
+ renderSelection?: never;
248
+ inputType?: never;
249
+ maxSelections?: never;
250
+ groupBy?: never;
251
+ renderGroupHeading?: never;
252
+ selectHeadings?: never;
253
+ selectAll?: never;
254
+ isVirtualized?: never;
255
+ removeSelectedItems?: never;
256
+ }
257
+ type MultiSearchableSelectProps<T extends DataWithId> = MultiSearchableSelectDataProps<T> | MultiSearchableSelectChildrenProps;
258
+
259
+ declare const ComboboxLabel: styled_components.StyledComponent<"label", styled_components.DefaultTheme, {}, never>;
260
+ declare const ComboboxInputGroup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputGroupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
261
+ declare const ComboboxInput: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputProps, "ref"> & react.RefAttributes<HTMLInputElement>>, styled_components.DefaultTheme, {}, never>;
262
+ declare const ComboboxTokenInput: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputProps, "ref"> & react.RefAttributes<HTMLInputElement>>, styled_components.DefaultTheme, {}, never>;
263
+ declare const ComboboxActionButtons: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {}, never>;
264
+ declare const ComboboxClear: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxClearProps, "ref"> & react.RefAttributes<HTMLButtonElement>>, styled_components.DefaultTheme, {}, never>;
265
+ declare const ComboboxTrigger: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>, styled_components.DefaultTheme, {}, never>;
266
+ declare const ComboboxPositioner: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxPositionerProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
267
+ declare const ComboboxPopup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxPopupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
268
+ declare const ComboboxList: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxListProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
269
+ declare const ComboboxStatus: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxStatusProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
270
+ declare const ComboboxEmpty: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxEmptyProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
271
+ declare const ComboboxItem: styled_components.StyledComponent<react.NamedExoticComponent<Omit<_base_ui_react_combobox.ComboboxItemProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
272
+ declare const ComboboxItemIndicator: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxItemIndicatorProps, "ref"> & react.RefAttributes<HTMLSpanElement>>, styled_components.DefaultTheme, {}, never>;
273
+ declare const ComboboxGroup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxGroupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
274
+ declare const ComboboxGroupLabel: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxGroupLabelProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
275
+ declare const ComboboxSeparator: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {}, never>;
276
+ declare const ComboboxGroupHeaderItem: styled_components.StyledComponent<react.NamedExoticComponent<Omit<_base_ui_react_combobox.ComboboxItemProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
277
+ declare const ComboboxSelectAllItem: styled_components.StyledComponent<react.NamedExoticComponent<Omit<_base_ui_react_combobox.ComboboxItemProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
278
+ declare function ComboboxGroupHeaderCheckbox({ $state, id, }: {
279
+ $state: "none" | "partial" | "all";
280
+ id: string;
281
+ }): react_jsx_runtime.JSX.Element;
282
+ declare const ComboboxToken: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxChipsProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
283
+ declare const ComboboxTokenInputGroup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputGroupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
284
+ declare const Token: styled_components.StyledComponent<"span", styled_components.DefaultTheme, {}, never>;
285
+ declare const TokenRemove: styled_components.StyledComponent<"button", styled_components.DefaultTheme, {}, never>;
286
+ declare const SearchableSelectTrigger: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>, styled_components.DefaultTheme, {}, never>;
287
+ declare const SearchableSelectTriggerIcon: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxIconProps, "ref"> & react.RefAttributes<HTMLSpanElement>>, styled_components.DefaultTheme, {}, never>;
288
+ declare const SearchableSelectPlaceholder: styled_components.StyledComponent<"span", styled_components.DefaultTheme, {}, never>;
289
+ declare const SearchableSelectPopup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxPopupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
290
+ declare const SearchableSelectSearchContainer: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {}, never>;
291
+ declare const SearchableSelectInput: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputProps, "ref"> & react.RefAttributes<HTMLInputElement>>, styled_components.DefaultTheme, {}, never>;
292
+ declare const SearchableSelectList: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxListProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
293
+ declare const SearchableSelectTokenTrigger: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>, styled_components.DefaultTheme, {}, never>;
294
+
295
+ export { ComboboxActionButtons, ComboboxClear, ComboboxEmpty, ComboboxGroup, ComboboxGroupHeaderCheckbox, ComboboxGroupHeaderItem, ComboboxGroupLabel, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPositioner, ComboboxSelectAllItem, ComboboxSeparator, ComboboxStatus, ComboboxToken, ComboboxTokenInput, ComboboxTokenInputGroup, ComboboxTrigger, type MultiComboboxProps, type MultiSearchableSelectProps, type MultiSelectProps, SearchableSelectInput, SearchableSelectList, SearchableSelectPlaceholder, SearchableSelectPopup, SearchableSelectSearchContainer, SearchableSelectTokenTrigger, SearchableSelectTrigger, SearchableSelectTriggerIcon, type SingleComboboxProps, type SingleSearchableSelectProps, type SingleSelectProps, Token, TokenRemove };
@@ -0,0 +1,295 @@
1
+ import * as react from 'react';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import * as _base_ui_react_combobox from '@base-ui/react/combobox';
4
+ import * as styled_components from 'styled-components';
5
+
6
+ interface DataWithId {
7
+ id: string | number;
8
+ }
9
+
10
+ interface SingleSelectBaseProps {
11
+ id?: string;
12
+ placeholder?: string;
13
+ includePlaceholderItem?: boolean;
14
+ }
15
+ interface SingleSelectDataProps<T extends DataWithId> extends SingleSelectBaseProps {
16
+ data: T[];
17
+ itemToString: (item: T | null) => string;
18
+ renderItem?: (item: T) => react.ReactNode;
19
+ inputType?: "icon" | "radio";
20
+ selectedItemId?: T["id"] | null;
21
+ defaultSelectedItemId?: T["id"] | null;
22
+ onSelectedItemIdChange?: (id: T["id"] | null) => void;
23
+ renderSelection?: (item: T) => react.ReactNode;
24
+ groupBy?: (item: T) => string;
25
+ renderGroupHeading?: (label: string) => react.ReactNode;
26
+ children?: never;
27
+ }
28
+ interface SingleSelectChildrenProps extends SingleSelectBaseProps {
29
+ children: react.ReactNode;
30
+ selectedItemId?: string | number | null;
31
+ defaultSelectedItemId?: string | number | null;
32
+ onSelectedItemIdChange?: (id: string | number | null) => void;
33
+ data?: never;
34
+ itemToString?: never;
35
+ renderItem?: never;
36
+ inputType?: never;
37
+ renderSelection?: never;
38
+ groupBy?: never;
39
+ renderGroupHeading?: never;
40
+ }
41
+ type SingleSelectProps<T extends DataWithId> = SingleSelectDataProps<T> | SingleSelectChildrenProps;
42
+
43
+ interface MultiSelectBaseProps {
44
+ id?: string;
45
+ placeholder?: string;
46
+ }
47
+ interface MultiSelectDataProps<T extends DataWithId> extends MultiSelectBaseProps {
48
+ data: T[];
49
+ itemToString: (item: T) => string;
50
+ renderItem?: (item: T) => react.ReactNode;
51
+ customRenderSelections?: (item: T) => string;
52
+ renderSelection?: (items: T[]) => react.ReactNode;
53
+ inputType?: "icon" | "radio" | "checkbox" | "none";
54
+ maxSelections?: number;
55
+ selectedItemIds?: Array<T["id"]>;
56
+ defaultSelectedItemIds?: Array<T["id"]>;
57
+ onSelectedItemIdsChange?: (ids: Array<T["id"]>) => void;
58
+ groupBy?: (item: T) => string;
59
+ renderGroupHeading?: (label: string) => react.ReactNode;
60
+ removeSelectedItems?: boolean;
61
+ children?: never;
62
+ }
63
+ interface MultiSelectChildrenProps extends MultiSelectBaseProps {
64
+ children: react.ReactNode;
65
+ selectedItemIds?: Array<string | number>;
66
+ defaultSelectedItemIds?: Array<string | number>;
67
+ onSelectedItemIdsChange?: (ids: Array<string | number>) => void;
68
+ data?: never;
69
+ itemToString?: never;
70
+ renderItem?: never;
71
+ customRenderSelections?: never;
72
+ renderSelection?: never;
73
+ inputType?: never;
74
+ maxSelections?: never;
75
+ groupBy?: never;
76
+ renderGroupHeading?: never;
77
+ removeSelectedItems?: never;
78
+ }
79
+ type MultiSelectProps<T extends DataWithId> = MultiSelectDataProps<T> | MultiSelectChildrenProps;
80
+
81
+ interface SingleComboboxBaseProps {
82
+ id?: string;
83
+ placeholder?: string;
84
+ emptyText?: string;
85
+ }
86
+ interface SingleComboboxDataBaseProps<T extends DataWithId> extends SingleComboboxBaseProps {
87
+ data: T[];
88
+ itemToString: (item: T | null) => string;
89
+ renderItem?: (item: T) => react.ReactNode;
90
+ inputType?: "icon" | "radio" | "checkbox" | "none";
91
+ selectedItemId?: T["id"] | null;
92
+ defaultSelectedItemId?: T["id"] | null;
93
+ onSelectedItemIdChange?: (id: T["id"] | null) => void;
94
+ children?: never;
95
+ }
96
+ interface SingleComboboxDataProps<T extends DataWithId> extends SingleComboboxDataBaseProps<T> {
97
+ isVirtualized?: false;
98
+ groupBy?: (item: T) => string;
99
+ renderGroupHeading?: (label: string) => react.ReactNode;
100
+ }
101
+ interface SingleComboboxVirtualizedProps<T extends DataWithId> extends SingleComboboxDataBaseProps<T> {
102
+ isVirtualized: true;
103
+ groupBy?: never;
104
+ renderGroupHeading?: never;
105
+ }
106
+ interface SingleComboboxChildrenProps extends SingleComboboxBaseProps {
107
+ children: react.ReactNode;
108
+ selectedItemId?: string | number | null;
109
+ defaultSelectedItemId?: string | number | null;
110
+ onSelectedItemIdChange?: (id: string | number | null) => void;
111
+ data?: never;
112
+ itemToString?: never;
113
+ renderItem?: never;
114
+ inputType?: never;
115
+ groupBy?: never;
116
+ renderGroupHeading?: never;
117
+ isVirtualized?: never;
118
+ }
119
+ type SingleComboboxProps<T extends DataWithId> = SingleComboboxDataProps<T> | SingleComboboxVirtualizedProps<T> | SingleComboboxChildrenProps;
120
+
121
+ interface MultiComboboxBaseProps {
122
+ id?: string;
123
+ placeholder?: string;
124
+ emptyText?: string;
125
+ isLoading?: boolean;
126
+ loadingText?: string;
127
+ }
128
+ interface MultiComboboxDataProps<T extends DataWithId> extends MultiComboboxBaseProps {
129
+ data: T[];
130
+ itemToString: (item: T) => string;
131
+ renderItem?: (item: T) => react.ReactNode;
132
+ renderToken?: (item: T) => react.ReactNode;
133
+ renderSelection?: (items: T[]) => react.ReactNode;
134
+ inputType?: "icon" | "checkbox" | "none";
135
+ selectedItemIds?: Array<T["id"]>;
136
+ defaultSelectedItemIds?: Array<T["id"]>;
137
+ onSelectedItemIdsChange?: (ids: Array<T["id"]>) => void;
138
+ groupBy?: (item: T) => string;
139
+ renderGroupHeading?: (label: string) => react.ReactNode;
140
+ selectHeadings?: boolean;
141
+ selectAll?: boolean;
142
+ isVirtualized?: boolean;
143
+ removeSelectedItems?: boolean;
144
+ maxTokens?: number;
145
+ children?: never;
146
+ }
147
+ interface MultiComboboxChildrenProps extends MultiComboboxBaseProps {
148
+ children: react.ReactNode;
149
+ selectedItemIds?: Array<string | number>;
150
+ defaultSelectedItemIds?: Array<string | number>;
151
+ onSelectedItemIdsChange?: (ids: Array<string | number>) => void;
152
+ data?: never;
153
+ itemToString?: never;
154
+ renderItem?: never;
155
+ renderToken?: never;
156
+ renderSelection?: never;
157
+ inputType?: never;
158
+ groupBy?: never;
159
+ renderGroupHeading?: never;
160
+ selectHeadings?: never;
161
+ selectAll?: never;
162
+ removeSelectedItems?: never;
163
+ }
164
+ type MultiComboboxProps<T extends DataWithId> = MultiComboboxDataProps<T> | MultiComboboxChildrenProps;
165
+
166
+ interface SingleSearchableSelectBaseProps {
167
+ id?: string;
168
+ placeholder?: string;
169
+ searchPlaceholder?: string;
170
+ emptyText?: string;
171
+ isLoading?: boolean;
172
+ loadingText?: string;
173
+ }
174
+ interface SingleSearchableSelectDataBaseProps<T extends DataWithId> extends SingleSearchableSelectBaseProps {
175
+ data: T[];
176
+ itemToString: (item: T | null) => string;
177
+ renderItem?: (item: T) => react.ReactNode;
178
+ renderSelection?: (item: T) => react.ReactNode;
179
+ inputType?: "icon" | "radio" | "checkbox" | "none";
180
+ selectedItemId?: T["id"] | null;
181
+ defaultSelectedItemId?: T["id"] | null;
182
+ onSelectedItemIdChange?: (id: T["id"] | null) => void;
183
+ children?: never;
184
+ }
185
+ interface SingleSearchableSelectDataProps<T extends DataWithId> extends SingleSearchableSelectDataBaseProps<T> {
186
+ isVirtualized?: false;
187
+ groupBy?: (item: T) => string;
188
+ renderGroupHeading?: (label: string) => react.ReactNode;
189
+ }
190
+ interface SingleSearchableSelectVirtualizedProps<T extends DataWithId> extends SingleSearchableSelectDataBaseProps<T> {
191
+ isVirtualized: true;
192
+ groupBy?: never;
193
+ renderGroupHeading?: never;
194
+ }
195
+ interface SingleSearchableSelectChildrenProps extends SingleSearchableSelectBaseProps {
196
+ children: react.ReactNode;
197
+ selectedItemId?: string | number | null;
198
+ defaultSelectedItemId?: string | number | null;
199
+ onSelectedItemIdChange?: (id: string | number | null) => void;
200
+ data?: never;
201
+ itemToString?: never;
202
+ renderItem?: never;
203
+ renderSelection?: never;
204
+ inputType?: never;
205
+ groupBy?: never;
206
+ renderGroupHeading?: never;
207
+ isVirtualized?: never;
208
+ }
209
+ type SingleSearchableSelectProps<T extends DataWithId> = SingleSearchableSelectDataProps<T> | SingleSearchableSelectVirtualizedProps<T> | SingleSearchableSelectChildrenProps;
210
+
211
+ interface MultiSearchableSelectBaseProps {
212
+ id?: string;
213
+ placeholder?: string;
214
+ searchPlaceholder?: string;
215
+ emptyText?: string;
216
+ isLoading?: boolean;
217
+ loadingText?: string;
218
+ }
219
+ interface MultiSearchableSelectDataProps<T extends DataWithId> extends MultiSearchableSelectBaseProps {
220
+ data: T[];
221
+ itemToString: (item: T) => string;
222
+ renderItem?: (item: T) => react.ReactNode;
223
+ customRenderSelections?: (item: T) => string;
224
+ renderSelection?: (items: T[]) => react.ReactNode;
225
+ inputType?: "icon" | "checkbox" | "none";
226
+ maxSelections?: number;
227
+ selectedItemIds?: Array<T["id"]>;
228
+ defaultSelectedItemIds?: Array<T["id"]>;
229
+ onSelectedItemIdsChange?: (ids: Array<T["id"]>) => void;
230
+ groupBy?: (item: T) => string;
231
+ renderGroupHeading?: (label: string) => react.ReactNode;
232
+ selectHeadings?: boolean;
233
+ selectAll?: boolean;
234
+ isVirtualized?: boolean;
235
+ removeSelectedItems?: boolean;
236
+ children?: never;
237
+ }
238
+ interface MultiSearchableSelectChildrenProps extends MultiSearchableSelectBaseProps {
239
+ children: react.ReactNode;
240
+ selectedItemIds?: Array<string | number>;
241
+ defaultSelectedItemIds?: Array<string | number>;
242
+ onSelectedItemIdsChange?: (ids: Array<string | number>) => void;
243
+ data?: never;
244
+ itemToString?: never;
245
+ renderItem?: never;
246
+ customRenderSelections?: never;
247
+ renderSelection?: never;
248
+ inputType?: never;
249
+ maxSelections?: never;
250
+ groupBy?: never;
251
+ renderGroupHeading?: never;
252
+ selectHeadings?: never;
253
+ selectAll?: never;
254
+ isVirtualized?: never;
255
+ removeSelectedItems?: never;
256
+ }
257
+ type MultiSearchableSelectProps<T extends DataWithId> = MultiSearchableSelectDataProps<T> | MultiSearchableSelectChildrenProps;
258
+
259
+ declare const ComboboxLabel: styled_components.StyledComponent<"label", styled_components.DefaultTheme, {}, never>;
260
+ declare const ComboboxInputGroup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputGroupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
261
+ declare const ComboboxInput: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputProps, "ref"> & react.RefAttributes<HTMLInputElement>>, styled_components.DefaultTheme, {}, never>;
262
+ declare const ComboboxTokenInput: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputProps, "ref"> & react.RefAttributes<HTMLInputElement>>, styled_components.DefaultTheme, {}, never>;
263
+ declare const ComboboxActionButtons: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {}, never>;
264
+ declare const ComboboxClear: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxClearProps, "ref"> & react.RefAttributes<HTMLButtonElement>>, styled_components.DefaultTheme, {}, never>;
265
+ declare const ComboboxTrigger: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>, styled_components.DefaultTheme, {}, never>;
266
+ declare const ComboboxPositioner: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxPositionerProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
267
+ declare const ComboboxPopup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxPopupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
268
+ declare const ComboboxList: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxListProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
269
+ declare const ComboboxStatus: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxStatusProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
270
+ declare const ComboboxEmpty: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxEmptyProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
271
+ declare const ComboboxItem: styled_components.StyledComponent<react.NamedExoticComponent<Omit<_base_ui_react_combobox.ComboboxItemProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
272
+ declare const ComboboxItemIndicator: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxItemIndicatorProps, "ref"> & react.RefAttributes<HTMLSpanElement>>, styled_components.DefaultTheme, {}, never>;
273
+ declare const ComboboxGroup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxGroupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
274
+ declare const ComboboxGroupLabel: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxGroupLabelProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
275
+ declare const ComboboxSeparator: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {}, never>;
276
+ declare const ComboboxGroupHeaderItem: styled_components.StyledComponent<react.NamedExoticComponent<Omit<_base_ui_react_combobox.ComboboxItemProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
277
+ declare const ComboboxSelectAllItem: styled_components.StyledComponent<react.NamedExoticComponent<Omit<_base_ui_react_combobox.ComboboxItemProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
278
+ declare function ComboboxGroupHeaderCheckbox({ $state, id, }: {
279
+ $state: "none" | "partial" | "all";
280
+ id: string;
281
+ }): react_jsx_runtime.JSX.Element;
282
+ declare const ComboboxToken: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxChipsProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
283
+ declare const ComboboxTokenInputGroup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputGroupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
284
+ declare const Token: styled_components.StyledComponent<"span", styled_components.DefaultTheme, {}, never>;
285
+ declare const TokenRemove: styled_components.StyledComponent<"button", styled_components.DefaultTheme, {}, never>;
286
+ declare const SearchableSelectTrigger: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>, styled_components.DefaultTheme, {}, never>;
287
+ declare const SearchableSelectTriggerIcon: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxIconProps, "ref"> & react.RefAttributes<HTMLSpanElement>>, styled_components.DefaultTheme, {}, never>;
288
+ declare const SearchableSelectPlaceholder: styled_components.StyledComponent<"span", styled_components.DefaultTheme, {}, never>;
289
+ declare const SearchableSelectPopup: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxPopupProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
290
+ declare const SearchableSelectSearchContainer: styled_components.StyledComponent<"div", styled_components.DefaultTheme, {}, never>;
291
+ declare const SearchableSelectInput: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxInputProps, "ref"> & react.RefAttributes<HTMLInputElement>>, styled_components.DefaultTheme, {}, never>;
292
+ declare const SearchableSelectList: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxListProps, "ref"> & react.RefAttributes<HTMLDivElement>>, styled_components.DefaultTheme, {}, never>;
293
+ declare const SearchableSelectTokenTrigger: styled_components.StyledComponent<react.ForwardRefExoticComponent<Omit<_base_ui_react_combobox.ComboboxTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>, styled_components.DefaultTheme, {}, never>;
294
+
295
+ export { ComboboxActionButtons, ComboboxClear, ComboboxEmpty, ComboboxGroup, ComboboxGroupHeaderCheckbox, ComboboxGroupHeaderItem, ComboboxGroupLabel, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPositioner, ComboboxSelectAllItem, ComboboxSeparator, ComboboxStatus, ComboboxToken, ComboboxTokenInput, ComboboxTokenInputGroup, ComboboxTrigger, type MultiComboboxProps, type MultiSearchableSelectProps, type MultiSelectProps, SearchableSelectInput, SearchableSelectList, SearchableSelectPlaceholder, SearchableSelectPopup, SearchableSelectSearchContainer, SearchableSelectTokenTrigger, SearchableSelectTrigger, SearchableSelectTriggerIcon, type SingleComboboxProps, type SingleSearchableSelectProps, type SingleSelectProps, Token, TokenRemove };