@ngrok/mantle 0.79.3 → 0.81.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 (222) hide show
  1. package/dist/accordion.d.ts +158 -19
  2. package/dist/accordion.js +1 -1
  3. package/dist/agent.json +5 -1
  4. package/dist/alert-dialog.d.ts +465 -32
  5. package/dist/alert-dialog.js +1 -1
  6. package/dist/alert.d.ts +116 -14
  7. package/dist/alert.js +1 -1
  8. package/dist/anchor-DfeXTpKW.js +1 -0
  9. package/dist/anchor.d.ts +2 -2
  10. package/dist/anchor.js +1 -1
  11. package/dist/area-chart.d.ts +504 -0
  12. package/dist/area-chart.js +1 -0
  13. package/dist/as-child-D23mGo4f.d.ts +49 -0
  14. package/dist/badge.d.ts +44 -5
  15. package/dist/badge.js +1 -1
  16. package/dist/bar-chart.d.ts +491 -0
  17. package/dist/bar-chart.js +1 -0
  18. package/dist/breadcrumb.d.ts +196 -14
  19. package/dist/breadcrumb.js +1 -1
  20. package/dist/button-BAno7KIU.js +1 -0
  21. package/dist/{index-BSAizFod.d.ts → button-C-gMbPso.d.ts} +5 -5
  22. package/dist/{icon-button-BvQvT790.d.ts → button-C7vAl6lS.d.ts} +22 -63
  23. package/dist/button-D9n09xUg.js +1 -0
  24. package/dist/{button-DcXOWUYo.d.ts → button-DARFK2KJ.d.ts} +4 -4
  25. package/dist/button-DjpEKt2X.js +1 -0
  26. package/dist/button-DvHMWAPl.js +1 -0
  27. package/dist/button.d.ts +5 -5
  28. package/dist/button.js +1 -1
  29. package/dist/calendar.d.ts +0 -3
  30. package/dist/calendar.js +1 -1
  31. package/dist/card.d.ts +131 -9
  32. package/dist/card.js +1 -1
  33. package/dist/centered-layout.d.ts +209 -8
  34. package/dist/centered-layout.js +1 -1
  35. package/dist/chart-BROa2gqt.js +2 -0
  36. package/dist/chart-BcOC6Qj0.d.ts +275 -0
  37. package/dist/checkbox-0EoxOyMA.js +1 -0
  38. package/dist/checkbox.d.ts +13 -11
  39. package/dist/checkbox.js +1 -1
  40. package/dist/choice-BHwFSSyv.js +1 -0
  41. package/dist/choice-BNRQXszu.d.ts +254 -0
  42. package/dist/choice.d.ts +1 -252
  43. package/dist/choice.js +1 -1
  44. package/dist/code-block.d.ts +242 -52
  45. package/dist/code-block.js +6 -6
  46. package/dist/code-block_highlight-utils.d.ts +1 -1
  47. package/dist/code-block_highlight-utils.js +1 -1
  48. package/dist/code.d.ts +3 -2
  49. package/dist/code.js +1 -1
  50. package/dist/combobox.d.ts +171 -16
  51. package/dist/combobox.js +1 -1
  52. package/dist/command.d.ts +279 -81
  53. package/dist/command.js +1 -1
  54. package/dist/compose-refs-BdBMM9ga.js +1 -0
  55. package/dist/data-table.d.ts +28 -6
  56. package/dist/data-table.js +1 -1
  57. package/dist/description-list.d.ts +67 -6
  58. package/dist/description-list.js +1 -1
  59. package/dist/dialog-BM4wPCft.d.ts +24 -0
  60. package/dist/dialog-DWZWd5Jt.js +1 -0
  61. package/dist/dialog.d.ts +226 -35
  62. package/dist/dialog.js +1 -1
  63. package/dist/{dropdown-menu-DP_Ne9Mr.d.ts → dropdown-menu-DZg-Cd69.d.ts} +137 -32
  64. package/dist/dropdown-menu-Dw-OtXPm.d.ts +1 -0
  65. package/dist/dropdown-menu-RyDWoKHx.js +1 -0
  66. package/dist/dropdown-menu.d.ts +2 -2
  67. package/dist/dropdown-menu.js +1 -1
  68. package/dist/empty.d.ts +7 -22
  69. package/dist/empty.js +1 -1
  70. package/dist/field-B1wqeZr4.js +1 -0
  71. package/dist/field.d.ts +568 -47
  72. package/dist/field.js +1 -1
  73. package/dist/flag.d.ts +0 -3
  74. package/dist/flag.js +1 -1
  75. package/dist/hooks.d.ts +3 -4
  76. package/dist/hooks.js +1 -1
  77. package/dist/hover-card.d.ts +48 -7
  78. package/dist/hover-card.js +1 -1
  79. package/dist/{svg-only-BFeFS1aa.d.ts → icon-CX_gj6sW.d.ts} +2 -2
  80. package/dist/icon-d-nMCfAI.js +1 -0
  81. package/dist/{icon-Cevjo93X.d.ts → icon-k4E9yNWD.d.ts} +2 -2
  82. package/dist/icon-lZ48P8Nn.js +1 -0
  83. package/dist/icon.d.ts +3 -3
  84. package/dist/icon.js +1 -1
  85. package/dist/{sort-BPX2Fk9t.js → icons-B_DDQcVD.js} +1 -1
  86. package/dist/{traffic-policy-file-0g5RXFqu.js → icons-CF1lbWtp.js} +1 -1
  87. package/dist/icons-DLCs1hLP.js +1 -0
  88. package/dist/icons.d.ts +7 -15
  89. package/dist/icons.js +1 -1
  90. package/dist/{in-view-nkSOdED2.d.ts → in-view-DDEGUKDR.d.ts} +17 -9
  91. package/dist/{index-D47aqlpz.d.ts → index-DA4ig3gj.d.ts} +1 -1
  92. package/dist/input-BnlpQF0c.js +1 -0
  93. package/dist/{types-C19IR7jf.d.ts → input-BuYDU6CF.d.ts} +42 -2
  94. package/dist/input.d.ts +5 -56
  95. package/dist/input.js +1 -1
  96. package/dist/{label-v2-bv98k.d.ts → label-C6YH9skg.d.ts} +8 -6
  97. package/dist/label-D-D11mlp.js +1 -0
  98. package/dist/label.d.ts +1 -1
  99. package/dist/label.js +1 -1
  100. package/dist/line-chart.d.ts +490 -0
  101. package/dist/line-chart.js +1 -0
  102. package/dist/list-51KQvENW.js +1 -0
  103. package/dist/list.d.ts +135 -6
  104. package/dist/list.js +1 -1
  105. package/dist/llms.txt +5 -1
  106. package/dist/main.d.ts +20 -4
  107. package/dist/main.js +1 -1
  108. package/dist/mantle-dark-high-contrast.css +17 -0
  109. package/dist/mantle-dark.css +13 -0
  110. package/dist/mantle-light-high-contrast.css +15 -0
  111. package/dist/mantle.css +29 -0
  112. package/dist/media-object.d.ts +18 -4
  113. package/dist/media-object.js +1 -1
  114. package/dist/multi-select.d.ts +282 -24
  115. package/dist/multi-select.js +1 -1
  116. package/dist/otp-input.d.ts +118 -6
  117. package/dist/otp-input.js +1 -1
  118. package/dist/pagination.d.ts +61 -6
  119. package/dist/pagination.js +1 -1
  120. package/dist/popover-CE4OlWkd.d.ts +208 -0
  121. package/dist/popover-CQ9s7jG5.js +1 -0
  122. package/dist/popover.d.ts +1 -181
  123. package/dist/popover.js +1 -1
  124. package/dist/primitive-trJDqIXJ.js +1 -0
  125. package/dist/progress.d.ts +2 -8
  126. package/dist/progress.js +1 -1
  127. package/dist/qr-code.d.ts +101 -5
  128. package/dist/qr-code.js +1 -1
  129. package/dist/radio-group.d.ts +110 -35
  130. package/dist/radio-group.js +1 -1
  131. package/dist/sandboxed-on-click.d.ts +2 -2
  132. package/dist/sandboxed-on-click.js +1 -1
  133. package/dist/scatter-plot.d.ts +495 -0
  134. package/dist/scatter-plot.js +1 -0
  135. package/dist/select-0z7HVS6r.d.ts +579 -0
  136. package/dist/select-BCHWvmyC.js +1 -0
  137. package/dist/select.d.ts +1 -1
  138. package/dist/select.js +1 -1
  139. package/dist/selectable-list.d.ts +225 -298
  140. package/dist/selectable-list.js +1 -1
  141. package/dist/separator-B5UmkVRL.d.ts +75 -0
  142. package/dist/separator-bpE_kooz.js +1 -0
  143. package/dist/separator.d.ts +1 -52
  144. package/dist/separator.js +1 -1
  145. package/dist/sheet.d.ts +285 -38
  146. package/dist/sheet.js +1 -1
  147. package/dist/skeleton-CsbUHbBA.js +1 -0
  148. package/dist/skeleton.d.ts +4 -7
  149. package/dist/skeleton.js +1 -1
  150. package/dist/skip-to-main-link.d.ts +24 -4
  151. package/dist/skip-to-main-link.js +1 -1
  152. package/dist/slider.js +1 -1
  153. package/dist/{index-Rv8RL7xy.d.ts → slot-BtwKJTLq.d.ts} +1 -1
  154. package/dist/slot-CDk0Bb9z.js +1 -0
  155. package/dist/slot.d.ts +1 -1
  156. package/dist/slot.js +1 -1
  157. package/dist/split-button.d.ts +14 -14
  158. package/dist/split-button.js +1 -1
  159. package/dist/switch.d.ts +10 -7
  160. package/dist/switch.js +1 -1
  161. package/dist/table-Bo0vNxIJ.d.ts +848 -0
  162. package/dist/table-CGxJwtbL.js +1 -0
  163. package/dist/table.d.ts +1 -1
  164. package/dist/table.js +1 -1
  165. package/dist/tabs.d.ts +124 -25
  166. package/dist/tabs.js +1 -1
  167. package/dist/text-area.d.ts +2 -2
  168. package/dist/text-area.js +1 -1
  169. package/dist/theme-C26-Xolp.js +1 -0
  170. package/dist/theme-switcher.d.ts +105 -33
  171. package/dist/theme-switcher.js +1 -1
  172. package/dist/theme.d.ts +54 -15
  173. package/dist/theme.js +1 -1
  174. package/dist/toast.d.ts +86 -10
  175. package/dist/toast.js +1 -1
  176. package/dist/tooltip.d.ts +50 -5
  177. package/dist/tooltip.js +1 -1
  178. package/dist/types.d.ts +2 -2
  179. package/dist/utils.d.ts +1 -1
  180. package/dist/utils.js +1 -1
  181. package/dist/well.d.ts +3 -3
  182. package/dist/well.js +1 -1
  183. package/package.json +9 -3
  184. package/dist/anchor-C_tjSVy6.js +0 -1
  185. package/dist/as-child-CYEVu1WY.d.ts +0 -23
  186. package/dist/button-5t6-JS_I.js +0 -1
  187. package/dist/button-ClC60Nzg.js +0 -1
  188. package/dist/checkbox-DJ2xl7Rc.js +0 -1
  189. package/dist/choice-DOdyNzFC.js +0 -1
  190. package/dist/compose-refs-Cjf2gfB8.js +0 -1
  191. package/dist/dialog-vxLIvB8M.js +0 -1
  192. package/dist/dropdown-menu-Bt1aKF1g.js +0 -1
  193. package/dist/field-context-BR01g789.js +0 -1
  194. package/dist/icon-CDtYjF_H.js +0 -1
  195. package/dist/icon-button-DV2-GZHf.js +0 -1
  196. package/dist/index-g2rfwNCH.d.ts +0 -1
  197. package/dist/input-Ct1YOqSy.js +0 -1
  198. package/dist/label-BMlHW_2D.js +0 -1
  199. package/dist/popover-D5WxxnBY.js +0 -1
  200. package/dist/primitive-C64-m48O.d.ts +0 -13
  201. package/dist/primitive-IKruV2iB.js +0 -1
  202. package/dist/select-Bwt2YduR.d.ts +0 -345
  203. package/dist/select-D-5u0Blc.js +0 -1
  204. package/dist/separator-kBnnv3Cw.js +0 -1
  205. package/dist/skeleton-Bu3tgNcW.js +0 -1
  206. package/dist/slot-DmPrjM7N.js +0 -1
  207. package/dist/svg-only-DDx6FtJd.js +0 -1
  208. package/dist/table-CPH2md2-.js +0 -1
  209. package/dist/table-CwFHXC-G.d.ts +0 -414
  210. package/dist/theme-D3MDng6U.js +0 -1
  211. package/dist/theme-provider-C9zpDyJW.js +0 -1
  212. package/dist/toast-BsCjaMVS.js +0 -1
  213. package/dist/virtual-DZMBu7Ch.js +0 -1
  214. /package/dist/{sizes-BCoI4bhP.d.ts → button-BCoI4bhP.d.ts} +0 -0
  215. /package/dist/{intents-DdSKSj1c.d.ts → button-DdSKSj1c.d.ts} +0 -0
  216. /package/dist/{resolve-pre-rendered-props-B6OlZrSI.d.ts → code-block-B6OlZrSI.d.ts} +0 -0
  217. /package/dist/{resolve-pre-rendered-props-C9uaM9-V.js → code-block-C9uaM9-V.js} +0 -0
  218. /package/dist/{validation-7QeiTFwl.d.ts → field-7QeiTFwl.d.ts} +0 -0
  219. /package/dist/{validation-Bpptk_9t.js → field-Bpptk_9t.js} +0 -0
  220. /package/dist/{types-D1RY5Tcj.d.ts → icon-D1RY5Tcj.d.ts} +0 -0
  221. /package/dist/{is-input-CXmS0OFN.js → input-CXmS0OFN.js} +0 -0
  222. /package/dist/{themes-CYNpplwN.d.ts → theme-CYNpplwN.d.ts} +0 -0
@@ -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-BNRQXszu.js";
2
+ import { t as Input } from "./input-BuYDU6CF.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,76 @@ 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: ({ className, defaultQuery, defaultValue, filter, onQueryChange, onValueChange, options, query: queryProp, ref, value, ...props }: SelectableListRootProps) => import("react").JSX.Element;
191
+ /**
192
+ * The filter/search box for a `SelectableList`. Renders the mantle `Input` with
193
+ * a leading magnifying-glass icon and drives the list's filter query (a
194
+ * case-insensitive substring match over each option's plain text — `labelText`,
195
+ * or a string `label`). Optional — omit it for a non-filterable list.
196
+ *
197
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
198
+ *
199
+ * @example
200
+ * ```tsx
201
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
202
+ * <SelectableList.Filter placeholder="Filter access keys…" />
203
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
204
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
205
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
206
+ * </SelectableList.Root>
207
+ * ```
208
+ */
209
+ declare const Filter: ({ "aria-label": ariaLabel, ref, ...props }: Omit<ComponentProps<typeof Input>, "value" | "defaultValue" | "onChange" | "type" | "children">) => import("react").JSX.Element;
210
+ /**
211
+ * A tri-state "select all" header for a `SelectableList`. Reflects the selection
212
+ * of the **currently filtered** options — checked when all are selected,
213
+ * indeterminate when only some are, unchecked when none are — and toggling it
214
+ * selects or clears that filtered set. Optional. Children are the visible label.
215
+ *
216
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
217
+ *
218
+ * @example
219
+ * ```tsx
220
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
221
+ * <SelectableList.Filter placeholder="Filter access keys…" />
222
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
223
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
224
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
225
+ * </SelectableList.Root>
226
+ * ```
227
+ */
228
+ declare const SelectAll: ({ children, className, ref, ...props }: Omit<ComponentProps<"label">, "htmlFor">) => import("react").JSX.Element;
160
229
  /**
161
230
  * Props for `SelectableList.Item`. Extends `<div>` props with the option
162
231
  * `value` the row represents; selection and disabled state are read from the
@@ -182,6 +251,88 @@ type SelectableListItemProps = Omit<ComponentProps<"div">, "children" | "id"> &
182
251
  */
183
252
  children: ReactNode;
184
253
  };
254
+ /**
255
+ * A single selectable grid row. Renders a `role="row"` (via the `list`
256
+ * primitive) laid out with `Choice` — a `role="gridcell"` holding a real
257
+ * `Checkbox`, and a `role="gridcell"` holding the title + description. The whole
258
+ * row is click-to-toggle: the enclosing grid forwards a bare click anywhere on
259
+ * the row to activation, while clicks on the checkbox, the title label, or any
260
+ * nested interactive content are left to those controls (no double-toggle).
261
+ * Selection and disabled state are read from the list by `value`.
262
+ *
263
+ * Render it from a viewport's render-prop child for a custom row layout; the
264
+ * default row (title + description) uses it under the hood.
265
+ *
266
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
267
+ *
268
+ * @example
269
+ * ```tsx
270
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
271
+ * <SelectableList.Filter placeholder="Filter access keys…" />
272
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
273
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80">
274
+ * {(option) => (
275
+ * <SelectableList.Item value={option.value}>
276
+ * <SelectableList.ItemTitle>{option.label}</SelectableList.ItemTitle>
277
+ * <SelectableList.ItemDescription>{option.description}</SelectableList.ItemDescription>
278
+ * </SelectableList.Item>
279
+ * )}
280
+ * </SelectableList.Viewport>
281
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
282
+ * </SelectableList.Root>
283
+ * ```
284
+ */
285
+ declare const Item: ({ children, className, ref, value, ...props }: SelectableListItemProps) => import("react").JSX.Element;
286
+ /**
287
+ * The emphasized title of a `SelectableList.Item`, rendered as `Choice.Label` —
288
+ * a real `<label>` wired to the row's checkbox, so clicking it toggles the row
289
+ * and it supplies the checkbox's accessible name.
290
+ *
291
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
292
+ *
293
+ * @example
294
+ * ```tsx
295
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
296
+ * <SelectableList.Filter placeholder="Filter access keys…" />
297
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
298
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80">
299
+ * {(option) => (
300
+ * <SelectableList.Item value={option.value}>
301
+ * <SelectableList.ItemTitle>{option.label}</SelectableList.ItemTitle>
302
+ * <SelectableList.ItemDescription>{option.description}</SelectableList.ItemDescription>
303
+ * </SelectableList.Item>
304
+ * )}
305
+ * </SelectableList.Viewport>
306
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
307
+ * </SelectableList.Root>
308
+ * ```
309
+ */
310
+ declare const ItemTitle: (props: ComponentProps<typeof Choice.Label>) => import("react").JSX.Element;
311
+ /**
312
+ * The de-emphasized sub-line of a `SelectableList.Item`, rendered as
313
+ * `Choice.Description` — wired to the row's checkbox via `aria-describedby`
314
+ * (never a second label).
315
+ *
316
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
317
+ *
318
+ * @example
319
+ * ```tsx
320
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
321
+ * <SelectableList.Filter placeholder="Filter access keys…" />
322
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
323
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80">
324
+ * {(option) => (
325
+ * <SelectableList.Item value={option.value}>
326
+ * <SelectableList.ItemTitle>{option.label}</SelectableList.ItemTitle>
327
+ * <SelectableList.ItemDescription>{option.description}</SelectableList.ItemDescription>
328
+ * </SelectableList.Item>
329
+ * )}
330
+ * </SelectableList.Viewport>
331
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
332
+ * </SelectableList.Root>
333
+ * ```
334
+ */
335
+ declare const ItemDescription: (props: ComponentProps<typeof Choice.Description>) => import("react").JSX.Element;
185
336
  /**
186
337
  * Props for `SelectableList.Viewport`. Extends `<div>` props (the scroll
187
338
  * viewport) with an optional render-prop child for custom row layouts.
@@ -203,6 +354,28 @@ type SelectableListViewportProps = Omit<ComponentProps<"div">, "children"> & {
203
354
  */
204
355
  children?: (option: SelectableListOption) => ReactElement | null;
205
356
  };
357
+ /**
358
+ * The scrollable body of a `SelectableList`: a `role="grid"` of `role="row"`
359
+ * checkbox rows inside the bordered, rounded `bg-popover` viewport. Renders
360
+ * **every** filtered row — the non-virtualized default; for long lists, swap in
361
+ * `SelectableList.VirtualViewport`. Renders nothing when the filter matches
362
+ * nothing — pair with `SelectableList.Empty`. Provide an `aria-label` (or
363
+ * `aria-labelledby`) and **bound the height** (`max-h-*`, `h-*`, or
364
+ * `min-h-0 flex-1`).
365
+ *
366
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
367
+ *
368
+ * @example
369
+ * ```tsx
370
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
371
+ * <SelectableList.Filter placeholder="Filter access keys…" />
372
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
373
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
374
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
375
+ * </SelectableList.Root>
376
+ * ```
377
+ */
378
+ declare const Viewport: ({ children, ref, ...props }: SelectableListViewportProps) => import("react").JSX.Element | null;
206
379
  /**
207
380
  * Props for `SelectableList.VirtualViewport` — the `Viewport` props plus the
208
381
  * virtualizer knobs.
@@ -220,6 +393,46 @@ type SelectableListVirtualViewportProps = SelectableListViewportProps & {
220
393
  /** Rows rendered beyond the visible window on each side. */
221
394
  overscan?: number;
222
395
  };
396
+ /**
397
+ * The windowed counterpart to `SelectableList.Viewport`: renders only the
398
+ * visible slice of filtered rows via `@tanstack/react-virtual`, sharing the
399
+ * same grid semantics and row layout. Authored identically to `Viewport` — same
400
+ * `aria-label`, same optional render-prop — so opting into virtualization never
401
+ * changes the call site. **Bound the height** so the virtualizer has a viewport.
402
+ *
403
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
404
+ *
405
+ * @example
406
+ * ```tsx
407
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
408
+ * <SelectableList.Filter placeholder="Filter access keys…" />
409
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
410
+ * <SelectableList.VirtualViewport aria-label="Access keys" className="max-h-80" />
411
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
412
+ * </SelectableList.Root>
413
+ * ```
414
+ */
415
+ declare const VirtualViewport: ({ children, ref, ...props }: SelectableListVirtualViewportProps) => import("react").JSX.Element | null;
416
+ /**
417
+ * Shown in place of the viewport when the active filter matches no options.
418
+ * Renders its children (e.g. "No results found.") in muted, centered text.
419
+ * It is a polite `role="status"` live region that stays mounted (visually
420
+ * hidden while there are matches), so screen-reader users hear the message
421
+ * when their filter empties the list instead of the grid silently vanishing.
422
+ *
423
+ * @see https://mantle.ngrok.com/components/data-display/selectable-list
424
+ *
425
+ * @example
426
+ * ```tsx
427
+ * <SelectableList.Root options={options} value={selected} onValueChange={setSelected}>
428
+ * <SelectableList.Filter placeholder="Filter access keys…" />
429
+ * <SelectableList.SelectAll>Select all</SelectableList.SelectAll>
430
+ * <SelectableList.Viewport aria-label="Access keys" className="max-h-80" />
431
+ * <SelectableList.Empty>No access keys found.</SelectableList.Empty>
432
+ * </SelectableList.Root>
433
+ * ```
434
+ */
435
+ declare const Empty: ({ children, className, ref, ...props }: ComponentProps<"div">) => import("react").JSX.Element;
223
436
  /**
224
437
  * A filterable, multi-select **grid** of checkbox rows — the inline
225
438
  * (non-popover) counterpart to `MultiSelect`/`Combobox`. Map your data into
@@ -281,7 +494,7 @@ declare const SelectableList: {
281
494
  * </SelectableList.Root>
282
495
  * ```
283
496
  */
284
- readonly Root: import("react").ForwardRefExoticComponent<Omit<SelectableListRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
497
+ readonly Root: typeof Root;
285
498
  /**
286
499
  * Optional filter/search box (mantle `Input` + magnifying-glass icon).
287
500
  *
@@ -297,9 +510,7 @@ declare const SelectableList: {
297
510
  * </SelectableList.Root>
298
511
  * ```
299
512
  */
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>>;
513
+ readonly Filter: typeof Filter;
303
514
  /**
304
515
  * Optional tri-state "select all" header over the filtered options.
305
516
  *
@@ -315,7 +526,7 @@ declare const SelectableList: {
315
526
  * </SelectableList.Root>
316
527
  * ```
317
528
  */
318
- readonly SelectAll: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "htmlFor">, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
529
+ readonly SelectAll: typeof SelectAll;
319
530
  /**
320
531
  * The scrollable grid of rows (non-virtualized). Give it an `aria-label`;
321
532
  * pass a render-prop child for a custom row layout, or omit it for the default.
@@ -332,7 +543,7 @@ declare const SelectableList: {
332
543
  * </SelectableList.Root>
333
544
  * ```
334
545
  */
335
- readonly Viewport: import("react").ForwardRefExoticComponent<Omit<SelectableListViewportProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
546
+ readonly Viewport: typeof Viewport;
336
547
  /**
337
548
  * The windowed grid of rows — same surface as `Viewport`, for long lists.
338
549
  *
@@ -348,7 +559,7 @@ declare const SelectableList: {
348
559
  * </SelectableList.Root>
349
560
  * ```
350
561
  */
351
- readonly VirtualViewport: import("react").ForwardRefExoticComponent<Omit<SelectableListVirtualViewportProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
562
+ readonly VirtualViewport: typeof VirtualViewport;
352
563
  /**
353
564
  * A selectable grid row for custom viewport rendering. Reads its selection
354
565
  * and disabled state from the list by `value`.
@@ -372,7 +583,7 @@ declare const SelectableList: {
372
583
  * </SelectableList.Root>
373
584
  * ```
374
585
  */
375
- readonly Item: import("react").ForwardRefExoticComponent<Omit<SelectableListItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
586
+ readonly Item: typeof Item;
376
587
  /**
377
588
  * Emphasized title (`Choice.Label`) for a `SelectableList.Item`.
378
589
  *
@@ -395,291 +606,7 @@ declare const SelectableList: {
395
606
  * </SelectableList.Root>
396
607
  * ```
397
608
  */
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>>;
609
+ readonly ItemTitle: typeof ItemTitle;
683
610
  /**
684
611
  * De-emphasized sub-line (`Choice.Description`) for a `SelectableList.Item`.
685
612
  *
@@ -702,7 +629,7 @@ declare const SelectableList: {
702
629
  * </SelectableList.Root>
703
630
  * ```
704
631
  */
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>>;
632
+ readonly ItemDescription: typeof ItemDescription;
706
633
  /**
707
634
  * Shown when the filter matches no options — a polite `role="status"` live
708
635
  * region, so the empty state is announced as the filter narrows.
@@ -719,7 +646,7 @@ declare const SelectableList: {
719
646
  * </SelectableList.Root>
720
647
  * ```
721
648
  */
722
- readonly Empty: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
649
+ readonly Empty: typeof Empty;
723
650
  };
724
651
  //#endregion
725
652
  export { SelectableList, type SelectableListItemProps, type SelectableListOption, type SelectableListRootProps, type SelectableListViewportProps, type SelectableListVirtualViewportProps, filterSelectableOptions, optionLabelText, summarizeSelection, toggleSelectionValue };