@ngrok/mantle 0.79.2 → 0.80.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 (196) hide show
  1. package/dist/accordion.d.ts +169 -12
  2. package/dist/accordion.js +1 -1
  3. package/dist/agent.json +1 -1
  4. package/dist/alert-dialog.d.ts +496 -30
  5. package/dist/alert-dialog.js +1 -1
  6. package/dist/alert.d.ts +129 -9
  7. package/dist/alert.js +1 -1
  8. package/dist/anchor-_2meGDfj.js +1 -0
  9. package/dist/anchor.d.ts +2 -2
  10. package/dist/anchor.js +1 -1
  11. package/dist/as-child-D23mGo4f.d.ts +49 -0
  12. package/dist/badge.d.ts +44 -5
  13. package/dist/badge.js +1 -1
  14. package/dist/breadcrumb.d.ts +214 -14
  15. package/dist/breadcrumb.js +1 -1
  16. package/dist/button-5WsvzIQ6.js +1 -0
  17. package/dist/{button-DcXOWUYo.d.ts → button-BPMwa2jN.d.ts} +3 -3
  18. package/dist/button-D9n09xUg.js +1 -0
  19. package/dist/button.d.ts +3 -3
  20. package/dist/button.js +1 -1
  21. package/dist/calendar.d.ts +0 -3
  22. package/dist/calendar.js +1 -1
  23. package/dist/card.d.ts +146 -9
  24. package/dist/card.js +1 -1
  25. package/dist/centered-layout.d.ts +224 -8
  26. package/dist/centered-layout.js +1 -1
  27. package/dist/checkbox-Cq17y0-R.js +1 -0
  28. package/dist/checkbox.d.ts +12 -10
  29. package/dist/checkbox.js +1 -1
  30. package/dist/choice-Cc8dA5r8.js +1 -0
  31. package/dist/choice-Ct0KK8jw.d.ts +269 -0
  32. package/dist/choice.d.ts +1 -252
  33. package/dist/choice.js +1 -1
  34. package/dist/code-block.d.ts +270 -50
  35. package/dist/code-block.js +6 -6
  36. package/dist/code-block_highlight-utils.js +1 -1
  37. package/dist/code.d.ts +3 -2
  38. package/dist/code.js +1 -1
  39. package/dist/combobox.d.ts +190 -11
  40. package/dist/combobox.js +1 -1
  41. package/dist/command.d.ts +285 -81
  42. package/dist/command.js +1 -1
  43. package/dist/compose-refs-BdBMM9ga.js +1 -0
  44. package/dist/data-table.d.ts +33 -5
  45. package/dist/data-table.js +1 -1
  46. package/dist/description-list.d.ts +79 -6
  47. package/dist/description-list.js +1 -1
  48. package/dist/dialog-CQ2C6vkE.js +1 -0
  49. package/dist/dialog.d.ts +239 -18
  50. package/dist/dialog.js +1 -1
  51. package/dist/dropdown-menu-CSCDdA3K.js +1 -0
  52. package/dist/{dropdown-menu-DP_Ne9Mr.d.ts → dropdown-menu-CoyozLzy.d.ts} +170 -29
  53. package/dist/dropdown-menu.d.ts +2 -2
  54. package/dist/dropdown-menu.js +1 -1
  55. package/dist/empty.d.ts +1 -1
  56. package/dist/empty.js +1 -1
  57. package/dist/field.d.ts +596 -45
  58. package/dist/field.js +1 -1
  59. package/dist/flag.d.ts +0 -3
  60. package/dist/flag.js +1 -1
  61. package/dist/hooks.d.ts +3 -4
  62. package/dist/hooks.js +1 -1
  63. package/dist/hover-card.d.ts +54 -4
  64. package/dist/hover-card.js +1 -1
  65. package/dist/{icon-Cevjo93X.d.ts → icon-BDqpcZ-n.d.ts} +1 -1
  66. package/dist/icon-CGgMKpJg.js +1 -0
  67. package/dist/{icon-button-B7uEj1qq.d.ts → icon-button-C1AfGnQx.d.ts} +11 -60
  68. package/dist/icon-button-DiOhreJD.js +1 -0
  69. package/dist/icon.d.ts +2 -2
  70. package/dist/icon.js +1 -1
  71. package/dist/icons.d.ts +5 -13
  72. package/dist/icons.js +1 -1
  73. package/dist/{in-view-nkSOdED2.d.ts → in-view-DDEGUKDR.d.ts} +17 -9
  74. package/dist/index-B8mIWKIU.d.ts +211 -0
  75. package/dist/{index-Rv8RL7xy.d.ts → index-BtwKJTLq.d.ts} +1 -1
  76. package/dist/{index-BivvYYs-.d.ts → index-C2jj8U4a.d.ts} +8 -5
  77. package/dist/index-CdPXa9h1.d.ts +1 -0
  78. package/dist/{index-D47aqlpz.d.ts → index-DA4ig3gj.d.ts} +1 -1
  79. package/dist/input-CVyAVbim.js +1 -0
  80. package/dist/{types-C19IR7jf.d.ts → input-DV9M6K4v.d.ts} +42 -2
  81. package/dist/input.d.ts +4 -55
  82. package/dist/input.js +1 -1
  83. package/dist/{label-v2-bv98k.d.ts → label-C6YH9skg.d.ts} +8 -6
  84. package/dist/label-D-D11mlp.js +1 -0
  85. package/dist/label.d.ts +1 -1
  86. package/dist/label.js +1 -1
  87. package/dist/list.d.ts +150 -6
  88. package/dist/list.js +1 -1
  89. package/dist/llms.txt +1 -1
  90. package/dist/main.d.ts +20 -4
  91. package/dist/main.js +1 -1
  92. package/dist/mantle.css +21 -7
  93. package/dist/media-object.d.ts +27 -4
  94. package/dist/media-object.js +1 -1
  95. package/dist/multi-select.d.ts +312 -15
  96. package/dist/multi-select.js +1 -1
  97. package/dist/otp-input.d.ts +129 -5
  98. package/dist/otp-input.js +1 -1
  99. package/dist/pagination.d.ts +70 -6
  100. package/dist/pagination.js +1 -1
  101. package/dist/popover-CBMADtjV.js +1 -0
  102. package/dist/popover.d.ts +1 -181
  103. package/dist/popover.js +1 -1
  104. package/dist/primitive-CJRIlrLz.d.ts +31 -0
  105. package/dist/primitive-DCPHJsRs.js +1 -0
  106. package/dist/progress.js +1 -1
  107. package/dist/qr-code.d.ts +113 -5
  108. package/dist/qr-code.js +1 -1
  109. package/dist/radio-group.d.ts +128 -23
  110. package/dist/radio-group.js +1 -1
  111. package/dist/{resolve-pre-rendered-props-C3e5Auo3.js → resolve-pre-rendered-props-C9uaM9-V.js} +1 -1
  112. package/dist/sandboxed-on-click.d.ts +2 -2
  113. package/dist/sandboxed-on-click.js +1 -1
  114. package/dist/select-SR_9-bxA.js +1 -0
  115. package/dist/select-idm1jy7y.d.ts +600 -0
  116. package/dist/select.d.ts +1 -1
  117. package/dist/select.js +1 -1
  118. package/dist/selectable-list.d.ts +252 -298
  119. package/dist/selectable-list.js +1 -1
  120. package/dist/separator-B5UmkVRL.d.ts +75 -0
  121. package/dist/separator-bpE_kooz.js +1 -0
  122. package/dist/separator.d.ts +1 -52
  123. package/dist/separator.js +1 -1
  124. package/dist/sheet.d.ts +295 -21
  125. package/dist/sheet.js +1 -1
  126. package/dist/skeleton-CsbUHbBA.js +1 -0
  127. package/dist/skeleton.d.ts +4 -7
  128. package/dist/skeleton.js +1 -1
  129. package/dist/skip-to-main-link.d.ts +24 -4
  130. package/dist/skip-to-main-link.js +1 -1
  131. package/dist/slot-CDk0Bb9z.js +1 -0
  132. package/dist/slot.d.ts +1 -1
  133. package/dist/slot.js +1 -1
  134. package/dist/{sort-BPX2Fk9t.js → sort-B_DDQcVD.js} +1 -1
  135. package/dist/split-button.d.ts +28 -13
  136. package/dist/split-button.js +1 -1
  137. package/dist/{svg-only-BFeFS1aa.d.ts → svg-only-CdI_v82i.d.ts} +1 -1
  138. package/dist/svg-only-d-nMCfAI.js +1 -0
  139. package/dist/switch.d.ts +9 -6
  140. package/dist/switch.js +1 -1
  141. package/dist/table-DUSvU_Jw.d.ts +875 -0
  142. package/dist/table-GDkapNFi.js +1 -0
  143. package/dist/table.d.ts +1 -1
  144. package/dist/table.js +1 -1
  145. package/dist/tabs.d.ts +139 -12
  146. package/dist/tabs.js +1 -1
  147. package/dist/text-area.d.ts +1 -1
  148. package/dist/text-area.js +1 -1
  149. package/dist/theme-provider-BftkIiZn.js +1 -0
  150. package/dist/theme-switcher.d.ts +110 -29
  151. package/dist/theme-switcher.js +1 -1
  152. package/dist/theme-wVnzzx2F.js +1 -0
  153. package/dist/theme.d.ts +53 -14
  154. package/dist/theme.js +1 -1
  155. package/dist/toast-DKgMRv4F.js +1 -0
  156. package/dist/toast.d.ts +98 -10
  157. package/dist/toast.js +1 -1
  158. package/dist/tooltip.d.ts +28 -1
  159. package/dist/tooltip.js +1 -1
  160. package/dist/{traffic-policy-file-0g5RXFqu.js → traffic-policy-file-CF1lbWtp.js} +1 -1
  161. package/dist/types.d.ts +2 -2
  162. package/dist/utils.d.ts +1 -1
  163. package/dist/utils.js +1 -1
  164. package/dist/virtual-UrzmaSQm.js +1 -0
  165. package/dist/well.d.ts +3 -3
  166. package/dist/well.js +1 -1
  167. package/package.json +5 -5
  168. package/dist/anchor-C_tjSVy6.js +0 -1
  169. package/dist/as-child-CYEVu1WY.d.ts +0 -23
  170. package/dist/button-5t6-JS_I.js +0 -1
  171. package/dist/button-ClC60Nzg.js +0 -1
  172. package/dist/checkbox-DJ2xl7Rc.js +0 -1
  173. package/dist/choice-DOdyNzFC.js +0 -1
  174. package/dist/compose-refs-Cjf2gfB8.js +0 -1
  175. package/dist/dialog-ZCgG41hx.js +0 -1
  176. package/dist/dropdown-menu-Bt1aKF1g.js +0 -1
  177. package/dist/icon-CDtYjF_H.js +0 -1
  178. package/dist/icon-button-DV2-GZHf.js +0 -1
  179. package/dist/index-g2rfwNCH.d.ts +0 -1
  180. package/dist/input-Ct1YOqSy.js +0 -1
  181. package/dist/label-BMlHW_2D.js +0 -1
  182. package/dist/popover-D5WxxnBY.js +0 -1
  183. package/dist/primitive-C64-m48O.d.ts +0 -13
  184. package/dist/primitive-M-kZdNIS.js +0 -1
  185. package/dist/select-Bwt2YduR.d.ts +0 -345
  186. package/dist/select-D-5u0Blc.js +0 -1
  187. package/dist/separator-kBnnv3Cw.js +0 -1
  188. package/dist/skeleton-Bu3tgNcW.js +0 -1
  189. package/dist/slot-DmPrjM7N.js +0 -1
  190. package/dist/svg-only-DDx6FtJd.js +0 -1
  191. package/dist/table-CPH2md2-.js +0 -1
  192. package/dist/table-CwFHXC-G.d.ts +0 -414
  193. package/dist/theme-D8kZCOzM.js +0 -1
  194. package/dist/theme-provider-Djj_jBo6.js +0 -1
  195. package/dist/toast-D3ntBmn4.js +0 -1
  196. package/dist/virtual-DZMBu7Ch.js +0 -1
@@ -1,6 +1,5 @@
1
- import { t as WithAsChild } from "./as-child-CYEVu1WY.js";
2
- import { o as WithValidation } from "./validation-7QeiTFwl.js";
3
- import { i as WithInputType, r as WithAutoComplete } from "./types-C19IR7jf.js";
1
+ import { t as Choice } from "./choice-Ct0KK8jw.js";
2
+ import { t as Input } from "./input-DV9M6K4v.js";
4
3
  import { ComponentProps, ReactElement, ReactNode } from "react";
5
4
  //#region src/components/selectable-list/selectable-list.d.ts
6
5
  /**
@@ -157,6 +156,85 @@ type SelectableListRootProps = Omit<ComponentProps<"div">, "onChange"> & {
157
156
  */
158
157
  filter?: (option: SelectableListOption, query: string) => boolean;
159
158
  };
159
+ /**
160
+ * Root of a `SelectableList` — a filterable, multi-select **grid** of checkbox
161
+ * rows. Owns selection state (controlled via `value`/`onValueChange` or
162
+ * uncontrolled via `defaultValue`), the filter query (likewise controlled via
163
+ * `query`/`onQueryChange` or uncontrolled via `defaultQuery`), and the derived
164
+ * filtered options (a case-insensitive `label` substring match by default, or
165
+ * your own `filter` predicate), and shares them with the parts below it.
166
+ *
167
+ * Compose it with `SelectableList.Filter` (optional search box),
168
+ * `SelectableList.SelectAll` (optional tri-state header), a viewport
169
+ * (`SelectableList.Viewport`, or the windowed `SelectableList.VirtualViewport`),
170
+ * and `SelectableList.Empty` (shown when the filter matches nothing).
171
+ *
172
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
173
+ *
174
+ * @example
175
+ * ```tsx
176
+ * const options = accessKeys.map((key) => ({
177
+ * value: key.id,
178
+ * label: key.name,
179
+ * description: key.maskedToken,
180
+ * }));
181
+ *
182
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
183
+ * <SelectableList.Filter placeholder="Filter access keys…" />
184
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
185
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
186
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
187
+ * </SelectableList.Root>
188
+ * ```
189
+ */
190
+ declare const Root: {
191
+ ({ className, defaultQuery, defaultValue, filter, onQueryChange, onValueChange, options, query: queryProp, ref, value, ...props }: SelectableListRootProps): import("react").JSX.Element;
192
+ displayName: string;
193
+ };
194
+ /**
195
+ * The filter/search box for a `SelectableList`. Renders the mantle `Input` with
196
+ * a leading magnifying-glass icon and drives the list's filter query (a
197
+ * case-insensitive substring match over each option's plain text — `labelText`,
198
+ * or a string `label`). Optional — omit it for a non-filterable list.
199
+ *
200
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
201
+ *
202
+ * @example
203
+ * ```tsx
204
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
205
+ * <SelectableList.Filter placeholder="Filter access keys…" />
206
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
207
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
208
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
209
+ * </SelectableList.Root>
210
+ * ```
211
+ */
212
+ declare const Filter: {
213
+ ({ "aria-label": ariaLabel, ref, ...props }: Omit<ComponentProps<typeof Input>, "value" | "defaultValue" | "onChange" | "type" | "children">): import("react").JSX.Element;
214
+ displayName: string;
215
+ };
216
+ /**
217
+ * A tri-state "select all" header for a `SelectableList`. Reflects the selection
218
+ * of the **currently filtered** options — checked when all are selected,
219
+ * indeterminate when only some are, unchecked when none are — and toggling it
220
+ * selects or clears that filtered set. Optional. Children are the visible label.
221
+ *
222
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
223
+ *
224
+ * @example
225
+ * ```tsx
226
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
227
+ * <SelectableList.Filter placeholder="Filter access keys…" />
228
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
229
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
230
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
231
+ * </SelectableList.Root>
232
+ * ```
233
+ */
234
+ declare const SelectAll: {
235
+ ({ children, className, ref, ...props }: Omit<ComponentProps<"label">, "htmlFor">): import("react").JSX.Element;
236
+ displayName: string;
237
+ };
160
238
  /**
161
239
  * Props for `SelectableList.Item`. Extends `<div>` props with the option
162
240
  * `value` the row represents; selection and disabled state are read from the
@@ -182,6 +260,97 @@ type SelectableListItemProps = Omit<ComponentProps<"div">, "children" | "id"> &
182
260
  */
183
261
  children: ReactNode;
184
262
  };
263
+ /**
264
+ * A single selectable grid row. Renders a `role="row"` (via the `list`
265
+ * primitive) laid out with `Choice` — a `role="gridcell"` holding a real
266
+ * `Checkbox`, and a `role="gridcell"` holding the title + description. The whole
267
+ * row is click-to-toggle: the enclosing grid forwards a bare click anywhere on
268
+ * the row to activation, while clicks on the checkbox, the title label, or any
269
+ * nested interactive content are left to those controls (no double-toggle).
270
+ * Selection and disabled state are read from the list by `value`.
271
+ *
272
+ * Render it from a viewport's render-prop child for a custom row layout; the
273
+ * default row (title + description) uses it under the hood.
274
+ *
275
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
276
+ *
277
+ * @example
278
+ * ```tsx
279
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
280
+ * <SelectableList.Filter placeholder="Filter access keys…" />
281
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
282
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80">
283
+ * {(option) => (
284
+ * <SelectableList.Item value={option.value}>
285
+ * <SelectableList.ItemTitle>{option.label}</SelectableList.ItemTitle>
286
+ * <SelectableList.ItemDescription>{option.description}</SelectableList.ItemDescription>
287
+ * </SelectableList.Item>
288
+ * )}
289
+ * </SelectableList.Viewport>
290
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
291
+ * </SelectableList.Root>
292
+ * ```
293
+ */
294
+ declare const Item: {
295
+ ({ children, className, ref, value, ...props }: SelectableListItemProps): import("react").JSX.Element;
296
+ displayName: string;
297
+ };
298
+ /**
299
+ * The emphasized title of a `SelectableList.Item`, rendered as `Choice.Label` —
300
+ * a real `<label>` wired to the row's checkbox, so clicking it toggles the row
301
+ * and it supplies the checkbox's accessible name.
302
+ *
303
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
304
+ *
305
+ * @example
306
+ * ```tsx
307
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
308
+ * <SelectableList.Filter placeholder="Filter access keys…" />
309
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
310
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80">
311
+ * {(option) => (
312
+ * <SelectableList.Item value={option.value}>
313
+ * <SelectableList.ItemTitle>{option.label}</SelectableList.ItemTitle>
314
+ * <SelectableList.ItemDescription>{option.description}</SelectableList.ItemDescription>
315
+ * </SelectableList.Item>
316
+ * )}
317
+ * </SelectableList.Viewport>
318
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
319
+ * </SelectableList.Root>
320
+ * ```
321
+ */
322
+ declare const ItemTitle: {
323
+ (props: ComponentProps<typeof Choice.Label>): import("react").JSX.Element;
324
+ displayName: string;
325
+ };
326
+ /**
327
+ * The de-emphasized sub-line of a `SelectableList.Item`, rendered as
328
+ * `Choice.Description` — wired to the row's checkbox via `aria-describedby`
329
+ * (never a second label).
330
+ *
331
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
332
+ *
333
+ * @example
334
+ * ```tsx
335
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
336
+ * <SelectableList.Filter placeholder="Filter access keys…" />
337
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
338
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80">
339
+ * {(option) => (
340
+ * <SelectableList.Item value={option.value}>
341
+ * <SelectableList.ItemTitle>{option.label}</SelectableList.ItemTitle>
342
+ * <SelectableList.ItemDescription>{option.description}</SelectableList.ItemDescription>
343
+ * </SelectableList.Item>
344
+ * )}
345
+ * </SelectableList.Viewport>
346
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
347
+ * </SelectableList.Root>
348
+ * ```
349
+ */
350
+ declare const ItemDescription: {
351
+ (props: ComponentProps<typeof Choice.Description>): import("react").JSX.Element;
352
+ displayName: string;
353
+ };
185
354
  /**
186
355
  * Props for `SelectableList.Viewport`. Extends `<div>` props (the scroll
187
356
  * viewport) with an optional render-prop child for custom row layouts.
@@ -203,6 +372,31 @@ type SelectableListViewportProps = Omit<ComponentProps<"div">, "children"> & {
203
372
  */
204
373
  children?: (option: SelectableListOption) => ReactElement | null;
205
374
  };
375
+ /**
376
+ * The scrollable body of a `SelectableList`: a `role="grid"` of `role="row"`
377
+ * checkbox rows inside the bordered, rounded `bg-popover` viewport. Renders
378
+ * **every** filtered row — the non-virtualized default; for long lists, swap in
379
+ * `SelectableList.VirtualViewport`. Renders nothing when the filter matches
380
+ * nothing — pair with `SelectableList.Empty`. Provide an `aria-label` (or
381
+ * `aria-labelledby`) and **bound the height** (`max-h-*`, `h-*`, or
382
+ * `min-h-0 flex-1`).
383
+ *
384
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
385
+ *
386
+ * @example
387
+ * ```tsx
388
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
389
+ * <SelectableList.Filter placeholder="Filter access keys…" />
390
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
391
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
392
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
393
+ * </SelectableList.Root>
394
+ * ```
395
+ */
396
+ declare const Viewport: {
397
+ ({ children, ref, ...props }: SelectableListViewportProps): import("react").JSX.Element | null;
398
+ displayName: string;
399
+ };
206
400
  /**
207
401
  * Props for `SelectableList.VirtualViewport` — the `Viewport` props plus the
208
402
  * virtualizer knobs.
@@ -220,6 +414,52 @@ type SelectableListVirtualViewportProps = SelectableListViewportProps & {
220
414
  /** Rows rendered beyond the visible window on each side. */
221
415
  overscan?: number;
222
416
  };
417
+ /**
418
+ * The windowed counterpart to `SelectableList.Viewport`: renders only the
419
+ * visible slice of filtered rows via `@tanstack/react-virtual`, sharing the
420
+ * same grid semantics and row layout. Authored identically to `Viewport` — same
421
+ * `aria-label`, same optional render-prop — so opting into virtualization never
422
+ * changes the call site. **Bound the height** so the virtualizer has a viewport.
423
+ *
424
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
425
+ *
426
+ * @example
427
+ * ```tsx
428
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
429
+ * <SelectableList.Filter placeholder="Filter access keys…" />
430
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
431
+ * <SelectableList.VirtualViewport aria-label="Access keys" className="max-h-80" />
432
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
433
+ * </SelectableList.Root>
434
+ * ```
435
+ */
436
+ declare const VirtualViewport: {
437
+ ({ children, ref, ...props }: SelectableListVirtualViewportProps): import("react").JSX.Element | null;
438
+ displayName: string;
439
+ };
440
+ /**
441
+ * Shown in place of the viewport when the active filter matches no options.
442
+ * Renders its children (e.g. "No results found.") in muted, centered text.
443
+ * It is a polite `role="status"` live region that stays mounted (visually
444
+ * hidden while there are matches), so screen-reader users hear the message
445
+ * when their filter empties the list instead of the grid silently vanishing.
446
+ *
447
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
448
+ *
449
+ * @example
450
+ * ```tsx
451
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
452
+ * <SelectableList.Filter placeholder="Filter access keys…" />
453
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
454
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
455
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
456
+ * </SelectableList.Root>
457
+ * ```
458
+ */
459
+ declare const Empty: {
460
+ ({ children, className, ref, ...props }: ComponentProps<"div">): import("react").JSX.Element;
461
+ displayName: string;
462
+ };
223
463
  /**
224
464
  * A filterable, multi-select **grid** of checkbox rows — the inline
225
465
  * (non-popover) counterpart to `MultiSelect`/`Combobox`. Map your data into
@@ -281,7 +521,7 @@ declare const SelectableList: {
281
521
  * </SelectableList.Root>
282
522
  * ```
283
523
  */
284
- readonly Root: import("react").ForwardRefExoticComponent<Omit<SelectableListRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
524
+ readonly Root: typeof Root;
285
525
  /**
286
526
  * Optional filter/search box (mantle `Input` + magnifying-glass icon).
287
527
  *
@@ -297,9 +537,7 @@ declare const SelectableList: {
297
537
  * </SelectableList.Root>
298
538
  * ```
299
539
  */
300
- readonly Filter: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "autoComplete" | "type"> & WithAutoComplete & WithInputType & WithValidation & {
301
- children?: ReactNode | undefined;
302
- } & import("react").RefAttributes<HTMLInputElement>, "ref">, "children" | "defaultValue" | "onChange" | "type" | "value"> & import("react").RefAttributes<HTMLInputElement>>;
540
+ readonly Filter: typeof Filter;
303
541
  /**
304
542
  * Optional tri-state "select all" header over the filtered options.
305
543
  *
@@ -315,7 +553,7 @@ declare const SelectableList: {
315
553
  * </SelectableList.Root>
316
554
  * ```
317
555
  */
318
- readonly SelectAll: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "htmlFor">, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
556
+ readonly SelectAll: typeof SelectAll;
319
557
  /**
320
558
  * The scrollable grid of rows (non-virtualized). Give it an `aria-label`;
321
559
  * pass a render-prop child for a custom row layout, or omit it for the default.
@@ -332,7 +570,7 @@ declare const SelectableList: {
332
570
  * </SelectableList.Root>
333
571
  * ```
334
572
  */
335
- readonly Viewport: import("react").ForwardRefExoticComponent<Omit<SelectableListViewportProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
573
+ readonly Viewport: typeof Viewport;
336
574
  /**
337
575
  * The windowed grid of rows — same surface as `Viewport`, for long lists.
338
576
  *
@@ -348,7 +586,7 @@ declare const SelectableList: {
348
586
  * </SelectableList.Root>
349
587
  * ```
350
588
  */
351
- readonly VirtualViewport: import("react").ForwardRefExoticComponent<Omit<SelectableListVirtualViewportProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
589
+ readonly VirtualViewport: typeof VirtualViewport;
352
590
  /**
353
591
  * A selectable grid row for custom viewport rendering. Reads its selection
354
592
  * and disabled state from the list by `value`.
@@ -372,7 +610,7 @@ declare const SelectableList: {
372
610
  * </SelectableList.Root>
373
611
  * ```
374
612
  */
375
- readonly Item: import("react").ForwardRefExoticComponent<Omit<SelectableListItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
613
+ readonly Item: typeof Item;
376
614
  /**
377
615
  * Emphasized title (`Choice.Label`) for a `SelectableList.Item`.
378
616
  *
@@ -395,291 +633,7 @@ declare const SelectableList: {
395
633
  * </SelectableList.Root>
396
634
  * ```
397
635
  */
398
- readonly ItemTitle: import("react").ForwardRefExoticComponent<Omit<Omit<{
399
- key?: import("react").Key | null | undefined;
400
- ref?: import("react").Ref<HTMLLabelElement> | undefined;
401
- children?: ReactNode | undefined;
402
- dangerouslySetInnerHTML?: {
403
- __html: string | TrustedHTML;
404
- } | undefined;
405
- onCopy?: import("react").ClipboardEventHandler<HTMLLabelElement> | undefined;
406
- onCopyCapture?: import("react").ClipboardEventHandler<HTMLLabelElement> | undefined;
407
- onCut?: import("react").ClipboardEventHandler<HTMLLabelElement> | undefined;
408
- onCutCapture?: import("react").ClipboardEventHandler<HTMLLabelElement> | undefined;
409
- onPaste?: import("react").ClipboardEventHandler<HTMLLabelElement> | undefined;
410
- onPasteCapture?: import("react").ClipboardEventHandler<HTMLLabelElement> | undefined;
411
- onCompositionEnd?: import("react").CompositionEventHandler<HTMLLabelElement> | undefined;
412
- onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLLabelElement> | undefined;
413
- onCompositionStart?: import("react").CompositionEventHandler<HTMLLabelElement> | undefined;
414
- onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLLabelElement> | undefined;
415
- onCompositionUpdate?: import("react").CompositionEventHandler<HTMLLabelElement> | undefined;
416
- onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLLabelElement> | undefined;
417
- onFocus?: import("react").FocusEventHandler<HTMLLabelElement> | undefined;
418
- onFocusCapture?: import("react").FocusEventHandler<HTMLLabelElement> | undefined;
419
- onBlur?: import("react").FocusEventHandler<HTMLLabelElement> | undefined;
420
- onBlurCapture?: import("react").FocusEventHandler<HTMLLabelElement> | undefined;
421
- onChange?: import("react").ChangeEventHandler<HTMLLabelElement, Element> | undefined;
422
- onChangeCapture?: import("react").ChangeEventHandler<HTMLLabelElement, Element> | undefined;
423
- onBeforeInput?: import("react").InputEventHandler<HTMLLabelElement> | undefined;
424
- onBeforeInputCapture?: import("react").InputEventHandler<HTMLLabelElement> | undefined;
425
- onInput?: import("react").InputEventHandler<HTMLLabelElement> | undefined;
426
- onInputCapture?: import("react").InputEventHandler<HTMLLabelElement> | undefined;
427
- onReset?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
428
- onResetCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
429
- onSubmit?: import("react").SubmitEventHandler<HTMLLabelElement> | undefined;
430
- onSubmitCapture?: import("react").SubmitEventHandler<HTMLLabelElement> | undefined;
431
- onInvalid?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
432
- onInvalidCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
433
- onLoad?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
434
- onLoadCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
435
- onError?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
436
- onErrorCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
437
- onKeyDown?: import("react").KeyboardEventHandler<HTMLLabelElement> | undefined;
438
- onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLLabelElement> | undefined;
439
- onKeyPress?: import("react").KeyboardEventHandler<HTMLLabelElement> | undefined;
440
- onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLLabelElement> | undefined;
441
- onKeyUp?: import("react").KeyboardEventHandler<HTMLLabelElement> | undefined;
442
- onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLLabelElement> | undefined;
443
- onAbort?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
444
- onAbortCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
445
- onCanPlay?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
446
- onCanPlayCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
447
- onCanPlayThrough?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
448
- onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
449
- onDurationChange?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
450
- onDurationChangeCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
451
- onEmptied?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
452
- onEmptiedCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
453
- onEncrypted?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
454
- onEncryptedCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
455
- onEnded?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
456
- onEndedCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
457
- onLoadedData?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
458
- onLoadedDataCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
459
- onLoadedMetadata?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
460
- onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
461
- onLoadStart?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
462
- onLoadStartCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
463
- onPause?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
464
- onPauseCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
465
- onPlay?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
466
- onPlayCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
467
- onPlaying?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
468
- onPlayingCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
469
- onProgress?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
470
- onProgressCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
471
- onRateChange?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
472
- onRateChangeCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
473
- onSeeked?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
474
- onSeekedCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
475
- onSeeking?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
476
- onSeekingCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
477
- onStalled?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
478
- onStalledCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
479
- onSuspend?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
480
- onSuspendCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
481
- onTimeUpdate?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
482
- onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
483
- onVolumeChange?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
484
- onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
485
- onWaiting?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
486
- onWaitingCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
487
- onAuxClick?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
488
- onAuxClickCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
489
- onClick?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
490
- onClickCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
491
- onContextMenu?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
492
- onContextMenuCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
493
- onDoubleClick?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
494
- onDoubleClickCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
495
- onDrag?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
496
- onDragCapture?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
497
- onDragEnd?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
498
- onDragEndCapture?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
499
- onDragEnter?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
500
- onDragEnterCapture?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
501
- onDragExit?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
502
- onDragExitCapture?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
503
- onDragLeave?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
504
- onDragLeaveCapture?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
505
- onDragOver?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
506
- onDragOverCapture?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
507
- onDragStart?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
508
- onDragStartCapture?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
509
- onDrop?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
510
- onDropCapture?: import("react").DragEventHandler<HTMLLabelElement> | undefined;
511
- onMouseDown?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
512
- onMouseDownCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
513
- onMouseEnter?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
514
- onMouseLeave?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
515
- onMouseMove?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
516
- onMouseMoveCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
517
- onMouseOut?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
518
- onMouseOutCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
519
- onMouseOver?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
520
- onMouseOverCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
521
- onMouseUp?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
522
- onMouseUpCapture?: import("react").MouseEventHandler<HTMLLabelElement> | undefined;
523
- onSelect?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
524
- onSelectCapture?: import("react").ReactEventHandler<HTMLLabelElement> | undefined;
525
- onTouchCancel?: import("react").TouchEventHandler<HTMLLabelElement> | undefined;
526
- onTouchCancelCapture?: import("react").TouchEventHandler<HTMLLabelElement> | undefined;
527
- onTouchEnd?: import("react").TouchEventHandler<HTMLLabelElement> | undefined;
528
- onTouchEndCapture?: import("react").TouchEventHandler<HTMLLabelElement> | undefined;
529
- onTouchMove?: import("react").TouchEventHandler<HTMLLabelElement> | undefined;
530
- onTouchMoveCapture?: import("react").TouchEventHandler<HTMLLabelElement> | undefined;
531
- onTouchStart?: import("react").TouchEventHandler<HTMLLabelElement> | undefined;
532
- onTouchStartCapture?: import("react").TouchEventHandler<HTMLLabelElement> | undefined;
533
- onPointerDown?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
534
- onPointerDownCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
535
- onPointerMove?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
536
- onPointerMoveCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
537
- onPointerUp?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
538
- onPointerUpCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
539
- onPointerCancel?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
540
- onPointerCancelCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
541
- onPointerEnter?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
542
- onPointerLeave?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
543
- onPointerOver?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
544
- onPointerOverCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
545
- onPointerOut?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
546
- onPointerOutCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
547
- onGotPointerCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
548
- onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
549
- onLostPointerCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
550
- onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLLabelElement> | undefined;
551
- onScroll?: import("react").UIEventHandler<HTMLLabelElement> | undefined;
552
- onScrollCapture?: import("react").UIEventHandler<HTMLLabelElement> | undefined;
553
- onScrollEnd?: import("react").UIEventHandler<HTMLLabelElement> | undefined;
554
- onScrollEndCapture?: import("react").UIEventHandler<HTMLLabelElement> | undefined;
555
- onWheel?: import("react").WheelEventHandler<HTMLLabelElement> | undefined;
556
- onWheelCapture?: import("react").WheelEventHandler<HTMLLabelElement> | undefined;
557
- onAnimationStart?: import("react").AnimationEventHandler<HTMLLabelElement> | undefined;
558
- onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLLabelElement> | undefined;
559
- onAnimationEnd?: import("react").AnimationEventHandler<HTMLLabelElement> | undefined;
560
- onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLLabelElement> | undefined;
561
- onAnimationIteration?: import("react").AnimationEventHandler<HTMLLabelElement> | undefined;
562
- onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLLabelElement> | undefined;
563
- onToggle?: import("react").ToggleEventHandler<HTMLLabelElement> | undefined;
564
- onBeforeToggle?: import("react").ToggleEventHandler<HTMLLabelElement> | undefined;
565
- onTransitionCancel?: import("react").TransitionEventHandler<HTMLLabelElement> | undefined;
566
- onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLLabelElement> | undefined;
567
- onTransitionEnd?: import("react").TransitionEventHandler<HTMLLabelElement> | undefined;
568
- onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLLabelElement> | undefined;
569
- onTransitionRun?: import("react").TransitionEventHandler<HTMLLabelElement> | undefined;
570
- onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLLabelElement> | undefined;
571
- onTransitionStart?: import("react").TransitionEventHandler<HTMLLabelElement> | undefined;
572
- onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLLabelElement> | undefined;
573
- "aria-activedescendant"?: string | undefined;
574
- "aria-atomic"?: ("false" | "true" | boolean) | undefined;
575
- "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
576
- "aria-braillelabel"?: string | undefined;
577
- "aria-brailleroledescription"?: string | undefined;
578
- "aria-busy"?: ("false" | "true" | boolean) | undefined;
579
- "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
580
- "aria-colcount"?: number | undefined;
581
- "aria-colindex"?: number | undefined;
582
- "aria-colindextext"?: string | undefined;
583
- "aria-colspan"?: number | undefined;
584
- "aria-controls"?: string | undefined;
585
- "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
586
- "aria-describedby"?: string | undefined;
587
- "aria-description"?: string | undefined;
588
- "aria-details"?: string | undefined;
589
- "aria-disabled"?: ("false" | "true" | boolean) | undefined;
590
- "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
591
- "aria-errormessage"?: string | undefined;
592
- "aria-expanded"?: ("false" | "true" | boolean) | undefined;
593
- "aria-flowto"?: string | undefined;
594
- "aria-grabbed"?: ("false" | "true" | boolean) | undefined;
595
- "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
596
- "aria-hidden"?: ("false" | "true" | boolean) | undefined;
597
- "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
598
- "aria-keyshortcuts"?: string | undefined;
599
- "aria-label"?: string | undefined;
600
- "aria-labelledby"?: string | undefined;
601
- "aria-level"?: number | undefined;
602
- "aria-live"?: "off" | "assertive" | "polite" | undefined;
603
- "aria-modal"?: ("false" | "true" | boolean) | undefined;
604
- "aria-multiline"?: ("false" | "true" | boolean) | undefined;
605
- "aria-multiselectable"?: ("false" | "true" | boolean) | undefined;
606
- "aria-orientation"?: "horizontal" | "vertical" | undefined;
607
- "aria-owns"?: string | undefined;
608
- "aria-placeholder"?: string | undefined;
609
- "aria-posinset"?: number | undefined;
610
- "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
611
- "aria-readonly"?: ("false" | "true" | boolean) | undefined;
612
- "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
613
- "aria-required"?: ("false" | "true" | boolean) | undefined;
614
- "aria-roledescription"?: string | undefined;
615
- "aria-rowcount"?: number | undefined;
616
- "aria-rowindex"?: number | undefined;
617
- "aria-rowindextext"?: string | undefined;
618
- "aria-rowspan"?: number | undefined;
619
- "aria-selected"?: ("false" | "true" | boolean) | undefined;
620
- "aria-setsize"?: number | undefined;
621
- "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
622
- "aria-valuemax"?: number | undefined;
623
- "aria-valuemin"?: number | undefined;
624
- "aria-valuenow"?: number | undefined;
625
- "aria-valuetext"?: string | undefined;
626
- defaultChecked?: boolean | undefined;
627
- defaultValue?: string | number | readonly string[] | undefined;
628
- suppressContentEditableWarning?: boolean | undefined;
629
- suppressHydrationWarning?: boolean | undefined;
630
- accessKey?: string | undefined;
631
- autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
632
- autoFocus?: boolean | undefined;
633
- className?: string | undefined;
634
- contentEditable?: ("false" | "true" | boolean) | "inherit" | "plaintext-only" | undefined;
635
- contextMenu?: string | undefined;
636
- dir?: string | undefined;
637
- draggable?: ("false" | "true" | boolean) | undefined;
638
- enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
639
- hidden?: boolean | undefined;
640
- id?: string | undefined;
641
- lang?: string | undefined;
642
- nonce?: string | undefined;
643
- slot?: string | undefined;
644
- spellCheck?: ("false" | "true" | boolean) | undefined;
645
- style?: import("react").CSSProperties | undefined;
646
- tabIndex?: number | undefined;
647
- title?: string | undefined;
648
- translate?: "yes" | "no" | undefined;
649
- radioGroup?: string | undefined;
650
- role?: import("react").AriaRole | undefined;
651
- about?: string | undefined;
652
- content?: string | undefined;
653
- datatype?: string | undefined;
654
- inlist?: any;
655
- prefix?: string | undefined;
656
- property?: string | undefined;
657
- rel?: string | undefined;
658
- resource?: string | undefined;
659
- rev?: string | undefined;
660
- typeof?: string | undefined;
661
- vocab?: string | undefined;
662
- autoCorrect?: string | undefined;
663
- autoSave?: string | undefined;
664
- color?: string | undefined;
665
- itemProp?: string | undefined;
666
- itemScope?: boolean | undefined;
667
- itemType?: string | undefined;
668
- itemID?: string | undefined;
669
- itemRef?: string | undefined;
670
- results?: number | undefined;
671
- security?: string | undefined;
672
- unselectable?: "on" | "off" | undefined;
673
- popover?: "" | "auto" | "manual" | "hint" | undefined;
674
- popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
675
- popoverTarget?: string | undefined;
676
- inert?: boolean | undefined;
677
- inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
678
- is?: string | undefined;
679
- exportparts?: string | undefined;
680
- part?: string | undefined;
681
- form?: string | undefined;
682
- }, "ref"> & import("react").RefAttributes<HTMLLabelElement>, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
636
+ readonly ItemTitle: typeof ItemTitle;
683
637
  /**
684
638
  * De-emphasized sub-line (`Choice.Description`) for a `SelectableList.Item`.
685
639
  *
@@ -702,7 +656,7 @@ declare const SelectableList: {
702
656
  * </SelectableList.Root>
703
657
  * ```
704
658
  */
705
- readonly ItemDescription: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLParagraphElement> & import("react").HTMLAttributes<HTMLParagraphElement> & WithAsChild, "ref"> & import("react").RefAttributes<HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
659
+ readonly ItemDescription: typeof ItemDescription;
706
660
  /**
707
661
  * Shown when the filter matches no options — a polite `role="status"` live
708
662
  * region, so the empty state is announced as the filter narrows.
@@ -719,7 +673,7 @@ declare const SelectableList: {
719
673
  * </SelectableList.Root>
720
674
  * ```
721
675
  */
722
- readonly Empty: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
676
+ readonly Empty: typeof Empty;
723
677
  };
724
678
  //#endregion
725
679
  export { SelectableList, type SelectableListItemProps, type SelectableListOption, type SelectableListRootProps, type SelectableListViewportProps, type SelectableListVirtualViewportProps, filterSelectableOptions, optionLabelText, summarizeSelection, toggleSelectionValue };