@agentero/design-system 0.29.1 → 0.31.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.
@@ -1986,6 +1986,838 @@
1986
1986
  ],
1987
1987
  "import": "import { Checkbox, Label } from \"@agentero/design-system\";"
1988
1988
  },
1989
+ "components-combobox": {
1990
+ "id": "components-combobox",
1991
+ "name": "Combobox.Root",
1992
+ "path": "./src/combobox/combobox.stories.tsx",
1993
+ "jsDocTags": {
1994
+ "summary": [
1995
+ "Root provider for an input-triggered filterable list"
1996
+ ],
1997
+ "see": [
1998
+ "{@link https://base-ui.com/react/components/combobox Base UI Combobox}"
1999
+ ],
2000
+ "example": [
2001
+ "```tsx\nimport { Combobox } from '@agentero/design-system/combobox';\n\n<Combobox.Root items={states}>\n <Combobox.Input placeholder=\"Search states\" />\n <Combobox.Content>\n <Combobox.Empty>No matches found</Combobox.Empty>\n <Combobox.List>\n {(state: string) => <Combobox.Item key={state} value={state}>{state}</Combobox.Item>}\n </Combobox.List>\n </Combobox.Content>\n</Combobox.Root>\n```"
2002
+ ]
2003
+ },
2004
+ "description": "Combobox is a text input that filters a list and writes the chosen option back\ninto itself. Focusing the input or typing opens the list; picking a row fills the\ninput and closes it. Built on Base UI, whose Combobox primitive owns the\nfiltering, the keyboard navigation and the `role=\"combobox\"` wiring.",
2005
+ "summary": "Root provider for an input-triggered filterable list",
2006
+ "reactComponentMeta": {
2007
+ "displayName": "Combobox.Root",
2008
+ "exportName": "Combobox",
2009
+ "filePath": "/home/runner/work/design-system/design-system/src/combobox/index.ts",
2010
+ "description": "Root of a combobox: a text input that filters a list of options and writes the\nchosen one back into itself. With `Input` as the only trigger, the list opens on\nfocus or on the first keystroke.\n\nPass the options as `items`. For a list that comes from the server, set\n`filter={null}`, hand the already-filtered rows to `filteredItems`, and request\nthem from `onInputValueChange`; `Status` then announces the wait.",
2011
+ "jsDocTags": {
2012
+ "summary": [
2013
+ "Root provider for an input-triggered filterable list"
2014
+ ],
2015
+ "see": [
2016
+ "{@link https://base-ui.com/react/components/combobox Base UI Combobox}"
2017
+ ],
2018
+ "example": [
2019
+ "```tsx\nimport { Combobox } from '@agentero/design-system/combobox';\n\n<Combobox.Root items={states}>\n <Combobox.Input placeholder=\"Search states\" />\n <Combobox.Content>\n <Combobox.Empty>No matches found</Combobox.Empty>\n <Combobox.List>\n {(state: string) => <Combobox.Item key={state} value={state}>{state}</Combobox.Item>}\n </Combobox.List>\n </Combobox.Content>\n</Combobox.Root>\n```"
2020
+ ]
2021
+ },
2022
+ "props": {
2023
+ "filter": {
2024
+ "name": "filter",
2025
+ "required": false,
2026
+ "type": {
2027
+ "name": "((item: unknown, query: string, itemToString?: ((item: unknown) => string) | undefined) => boolean) | null | undefined"
2028
+ },
2029
+ "description": "Filter function used to match items vs input query.\nReceives the source item, which is the derived value's item when `items` is a `createItems()`\ncollection, and the item itself otherwise.",
2030
+ "defaultValue": null,
2031
+ "parent": {
2032
+ "name": "ComboboxRootProps",
2033
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2034
+ },
2035
+ "declarations": [
2036
+ {
2037
+ "name": "ComboboxRootProps",
2038
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2039
+ }
2040
+ ]
2041
+ },
2042
+ "form": {
2043
+ "name": "form",
2044
+ "required": false,
2045
+ "type": {
2046
+ "name": "string"
2047
+ },
2048
+ "description": "Identifies the form that owns the internal input.\nUseful when the combobox is rendered outside the form.",
2049
+ "defaultValue": null,
2050
+ "parent": {
2051
+ "name": "ComboboxRootProps",
2052
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2053
+ },
2054
+ "declarations": [
2055
+ {
2056
+ "name": "ComboboxRootProps",
2057
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2058
+ }
2059
+ ]
2060
+ },
2061
+ "id": {
2062
+ "name": "id",
2063
+ "required": false,
2064
+ "type": {
2065
+ "name": "string"
2066
+ },
2067
+ "description": "The id of the component.",
2068
+ "defaultValue": null,
2069
+ "parent": {
2070
+ "name": "ComboboxRootProps",
2071
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2072
+ },
2073
+ "declarations": [
2074
+ {
2075
+ "name": "ComboboxRootProps",
2076
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2077
+ }
2078
+ ]
2079
+ },
2080
+ "children": {
2081
+ "name": "children",
2082
+ "required": false,
2083
+ "type": {
2084
+ "name": "ReactNode"
2085
+ },
2086
+ "description": "",
2087
+ "defaultValue": null,
2088
+ "parent": {
2089
+ "name": "ComboboxRootProps",
2090
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2091
+ },
2092
+ "declarations": [
2093
+ {
2094
+ "name": "ComboboxRootProps",
2095
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2096
+ }
2097
+ ]
2098
+ },
2099
+ "grid": {
2100
+ "name": "grid",
2101
+ "required": false,
2102
+ "type": {
2103
+ "name": "boolean"
2104
+ },
2105
+ "description": "Whether list items are presented in a grid layout.\nWhen enabled, arrow keys navigate across rows and columns inferred from DOM rows.",
2106
+ "defaultValue": {
2107
+ "value": "false"
2108
+ },
2109
+ "parent": {
2110
+ "name": "ComboboxRootProps",
2111
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2112
+ },
2113
+ "declarations": [
2114
+ {
2115
+ "name": "ComboboxRootProps",
2116
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2117
+ }
2118
+ ]
2119
+ },
2120
+ "disabled": {
2121
+ "name": "disabled",
2122
+ "required": false,
2123
+ "type": {
2124
+ "name": "boolean"
2125
+ },
2126
+ "description": "Whether the component should ignore user interaction.",
2127
+ "defaultValue": {
2128
+ "value": "false"
2129
+ },
2130
+ "parent": {
2131
+ "name": "ComboboxRootProps",
2132
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2133
+ },
2134
+ "declarations": [
2135
+ {
2136
+ "name": "ComboboxRootProps",
2137
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2138
+ }
2139
+ ]
2140
+ },
2141
+ "defaultOpen": {
2142
+ "name": "defaultOpen",
2143
+ "required": false,
2144
+ "type": {
2145
+ "name": "boolean"
2146
+ },
2147
+ "description": "Whether the popup is initially open.\n\nTo render a controlled popup, use the `open` prop instead.",
2148
+ "defaultValue": {
2149
+ "value": "false"
2150
+ },
2151
+ "parent": {
2152
+ "name": "ComboboxRootProps",
2153
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2154
+ },
2155
+ "declarations": [
2156
+ {
2157
+ "name": "ComboboxRootProps",
2158
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2159
+ }
2160
+ ]
2161
+ },
2162
+ "open": {
2163
+ "name": "open",
2164
+ "required": false,
2165
+ "type": {
2166
+ "name": "boolean"
2167
+ },
2168
+ "description": "Whether the popup is currently open. Use when controlled.",
2169
+ "defaultValue": null,
2170
+ "parent": {
2171
+ "name": "ComboboxRootProps",
2172
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2173
+ },
2174
+ "declarations": [
2175
+ {
2176
+ "name": "ComboboxRootProps",
2177
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2178
+ }
2179
+ ]
2180
+ },
2181
+ "name": {
2182
+ "name": "name",
2183
+ "required": false,
2184
+ "type": {
2185
+ "name": "string"
2186
+ },
2187
+ "description": "Identifies the field when a form is submitted.",
2188
+ "defaultValue": null,
2189
+ "parent": {
2190
+ "name": "ComboboxRootProps",
2191
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2192
+ },
2193
+ "declarations": [
2194
+ {
2195
+ "name": "ComboboxRootProps",
2196
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2197
+ }
2198
+ ]
2199
+ },
2200
+ "inline": {
2201
+ "name": "inline",
2202
+ "required": false,
2203
+ "type": {
2204
+ "name": "boolean"
2205
+ },
2206
+ "description": "Whether the list is rendered inline without using the component's own popup.\n\nSpecify `open` unconditionally in conjunction with this prop so the list is considered\nvisible: `<Combobox.Root inline open>`\n\nIn a `Combobox.Root` > `Dialog.Root` composition, bind the Combobox's `open` and\n`onOpenChange` props to the `Dialog`'s `open` and `onOpenChange` state instead so the\ncomponent resets its transient state (filter query, highlighted item, and input value) when\nthe dialog closes.",
2207
+ "defaultValue": {
2208
+ "value": "false"
2209
+ },
2210
+ "parent": {
2211
+ "name": "ComboboxRootProps",
2212
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2213
+ },
2214
+ "declarations": [
2215
+ {
2216
+ "name": "ComboboxRootProps",
2217
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2218
+ }
2219
+ ]
2220
+ },
2221
+ "required": {
2222
+ "name": "required",
2223
+ "required": false,
2224
+ "type": {
2225
+ "name": "boolean"
2226
+ },
2227
+ "description": "Whether the user must choose a value before submitting a form.",
2228
+ "defaultValue": {
2229
+ "value": "false"
2230
+ },
2231
+ "parent": {
2232
+ "name": "ComboboxRootProps",
2233
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2234
+ },
2235
+ "declarations": [
2236
+ {
2237
+ "name": "ComboboxRootProps",
2238
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2239
+ }
2240
+ ]
2241
+ },
2242
+ "readOnly": {
2243
+ "name": "readOnly",
2244
+ "required": false,
2245
+ "type": {
2246
+ "name": "boolean"
2247
+ },
2248
+ "description": "Whether the user should be unable to choose a different option from the popup.",
2249
+ "defaultValue": {
2250
+ "value": "false"
2251
+ },
2252
+ "parent": {
2253
+ "name": "ComboboxRootProps",
2254
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2255
+ },
2256
+ "declarations": [
2257
+ {
2258
+ "name": "ComboboxRootProps",
2259
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2260
+ }
2261
+ ]
2262
+ },
2263
+ "onOpenChangeComplete": {
2264
+ "name": "onOpenChangeComplete",
2265
+ "required": false,
2266
+ "type": {
2267
+ "name": "(open: boolean) => void"
2268
+ },
2269
+ "description": "Event handler called after any animations complete when the popup is opened or closed.",
2270
+ "defaultValue": null,
2271
+ "parent": {
2272
+ "name": "ComboboxRootProps",
2273
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2274
+ },
2275
+ "declarations": [
2276
+ {
2277
+ "name": "ComboboxRootProps",
2278
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2279
+ }
2280
+ ]
2281
+ },
2282
+ "openOnInputClick": {
2283
+ "name": "openOnInputClick",
2284
+ "required": false,
2285
+ "type": {
2286
+ "name": "boolean"
2287
+ },
2288
+ "description": "Whether the popup opens when clicking the input.",
2289
+ "defaultValue": {
2290
+ "value": "true"
2291
+ },
2292
+ "parent": {
2293
+ "name": "ComboboxRootProps",
2294
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2295
+ },
2296
+ "declarations": [
2297
+ {
2298
+ "name": "ComboboxRootProps",
2299
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2300
+ }
2301
+ ]
2302
+ },
2303
+ "loopFocus": {
2304
+ "name": "loopFocus",
2305
+ "required": false,
2306
+ "type": {
2307
+ "name": "boolean"
2308
+ },
2309
+ "description": "Whether to loop keyboard focus back to the input when the end of the list is reached while using the arrow keys. The first item can then be reached by pressing <kbd>ArrowDown</kbd> again from the input, or the last item can be reached by pressing <kbd>ArrowUp</kbd> from the input.\nThe input is always included in the focus loop per [ARIA Authoring Practices](https://www.w3.org/WAI/ARIA/apg/patterns/combobox/).\nWhen disabled, focus does not move when on the last element and the user presses <kbd>ArrowDown</kbd>, or when on the first element and the user presses <kbd>ArrowUp</kbd>.",
2310
+ "defaultValue": {
2311
+ "value": "true"
2312
+ },
2313
+ "parent": {
2314
+ "name": "ComboboxRootProps",
2315
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2316
+ },
2317
+ "declarations": [
2318
+ {
2319
+ "name": "ComboboxRootProps",
2320
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2321
+ }
2322
+ ]
2323
+ },
2324
+ "inputValue": {
2325
+ "name": "inputValue",
2326
+ "required": false,
2327
+ "type": {
2328
+ "name": "string | number | readonly string[] | undefined"
2329
+ },
2330
+ "description": "The input value of the combobox. Use when controlled.",
2331
+ "defaultValue": null,
2332
+ "parent": {
2333
+ "name": "ComboboxRootProps",
2334
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2335
+ },
2336
+ "declarations": [
2337
+ {
2338
+ "name": "ComboboxRootProps",
2339
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2340
+ }
2341
+ ]
2342
+ },
2343
+ "defaultInputValue": {
2344
+ "name": "defaultInputValue",
2345
+ "required": false,
2346
+ "type": {
2347
+ "name": "string | number | readonly string[] | undefined"
2348
+ },
2349
+ "description": "The uncontrolled input value when initially rendered.\n\nTo render a controlled input, use the `inputValue` prop instead.",
2350
+ "defaultValue": null,
2351
+ "parent": {
2352
+ "name": "ComboboxRootProps",
2353
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2354
+ },
2355
+ "declarations": [
2356
+ {
2357
+ "name": "ComboboxRootProps",
2358
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2359
+ }
2360
+ ]
2361
+ },
2362
+ "inputRef": {
2363
+ "name": "inputRef",
2364
+ "required": false,
2365
+ "type": {
2366
+ "name": "Ref<HTMLInputElement> | undefined"
2367
+ },
2368
+ "description": "A ref to the hidden input element.",
2369
+ "defaultValue": null,
2370
+ "parent": {
2371
+ "name": "ComboboxRootProps",
2372
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2373
+ },
2374
+ "declarations": [
2375
+ {
2376
+ "name": "ComboboxRootProps",
2377
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2378
+ }
2379
+ ]
2380
+ },
2381
+ "items": {
2382
+ "name": "items",
2383
+ "required": false,
2384
+ "type": {
2385
+ "name": "readonly any[] | readonly Group<any>[] | ComboboxItemCollection<unknown, unknown> | undefined"
2386
+ },
2387
+ "description": "The items to be displayed in the list.\nCan be a flat array of items, an array of groups with items, or a collection created by\nthe `createItems()` function, which derives each item's selection value and label.\nNullish entries are not supported: remove them from the data before passing it.",
2388
+ "defaultValue": null,
2389
+ "parent": {
2390
+ "name": "ComboboxRootProps",
2391
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2392
+ },
2393
+ "declarations": [
2394
+ {
2395
+ "name": "ComboboxRootProps",
2396
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2397
+ }
2398
+ ]
2399
+ },
2400
+ "filteredItems": {
2401
+ "name": "filteredItems",
2402
+ "required": false,
2403
+ "type": {
2404
+ "name": "readonly unknown[] | readonly Group<unknown>[] | undefined"
2405
+ },
2406
+ "description": "Filtered items to display in the list.\nWhen provided, the list uses these items instead of filtering the `items` prop internally.\nWhen `items` is also provided, this array must preserve its flat or grouped structure.\nWith a `createItems()` collection, pass source items rather than derived values.\nNullish entries are not supported, as in `items`.\nUse when you want to control filtering logic externally with the `useFilter()` hook.",
2407
+ "defaultValue": null,
2408
+ "parent": {
2409
+ "name": "ComboboxRootProps",
2410
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2411
+ },
2412
+ "declarations": [
2413
+ {
2414
+ "name": "ComboboxRootProps",
2415
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2416
+ }
2417
+ ]
2418
+ },
2419
+ "virtualized": {
2420
+ "name": "virtualized",
2421
+ "required": false,
2422
+ "type": {
2423
+ "name": "boolean"
2424
+ },
2425
+ "description": "Whether the items are being externally virtualized.",
2426
+ "defaultValue": {
2427
+ "value": "false"
2428
+ },
2429
+ "parent": {
2430
+ "name": "ComboboxRootProps",
2431
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2432
+ },
2433
+ "declarations": [
2434
+ {
2435
+ "name": "ComboboxRootProps",
2436
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2437
+ }
2438
+ ]
2439
+ },
2440
+ "modal": {
2441
+ "name": "modal",
2442
+ "required": false,
2443
+ "type": {
2444
+ "name": "boolean"
2445
+ },
2446
+ "description": "Determines if the popup enters a modal state when open.\n- `true`: user interaction is limited to the popup: document page scroll is locked and pointer interactions on outside elements are disabled.\n- `false`: user interaction with the rest of the document is allowed.\n\nOn touch devices, a `true` modal blocks outside taps but leaves the page scrollable unless the popup spans nearly the full viewport width, matching native iOS behavior.",
2447
+ "defaultValue": {
2448
+ "value": "false"
2449
+ },
2450
+ "parent": {
2451
+ "name": "ComboboxRootProps",
2452
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2453
+ },
2454
+ "declarations": [
2455
+ {
2456
+ "name": "ComboboxRootProps",
2457
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2458
+ }
2459
+ ]
2460
+ },
2461
+ "limit": {
2462
+ "name": "limit",
2463
+ "required": false,
2464
+ "type": {
2465
+ "name": "number"
2466
+ },
2467
+ "description": "The maximum number of items to display in the list.",
2468
+ "defaultValue": {
2469
+ "value": "-1"
2470
+ },
2471
+ "parent": {
2472
+ "name": "ComboboxRootProps",
2473
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2474
+ },
2475
+ "declarations": [
2476
+ {
2477
+ "name": "ComboboxRootProps",
2478
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2479
+ }
2480
+ ]
2481
+ },
2482
+ "locale": {
2483
+ "name": "locale",
2484
+ "required": false,
2485
+ "type": {
2486
+ "name": "LocalesArgument"
2487
+ },
2488
+ "description": "The locale to use for string comparison.\nDefaults to the user's runtime locale.",
2489
+ "defaultValue": null,
2490
+ "parent": {
2491
+ "name": "ComboboxRootProps",
2492
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2493
+ },
2494
+ "declarations": [
2495
+ {
2496
+ "name": "ComboboxRootProps",
2497
+ "fileName": "node_modules/@base-ui/react/combobox/root/AriaCombobox.d.mts"
2498
+ }
2499
+ ]
2500
+ },
2501
+ "multiple": {
2502
+ "name": "multiple",
2503
+ "required": false,
2504
+ "type": {
2505
+ "name": "false"
2506
+ },
2507
+ "description": "Whether multiple items can be selected.",
2508
+ "defaultValue": {
2509
+ "value": "false"
2510
+ },
2511
+ "parent": {
2512
+ "name": "ComboboxRootProps",
2513
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2514
+ },
2515
+ "declarations": [
2516
+ {
2517
+ "name": "TypeLiteral",
2518
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2519
+ }
2520
+ ]
2521
+ },
2522
+ "autoComplete": {
2523
+ "name": "autoComplete",
2524
+ "required": false,
2525
+ "type": {
2526
+ "name": "string"
2527
+ },
2528
+ "description": "Provides a hint to the browser for autofill.",
2529
+ "defaultValue": null,
2530
+ "parent": {
2531
+ "name": "ComboboxRootProps",
2532
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2533
+ },
2534
+ "declarations": [
2535
+ {
2536
+ "name": "TypeLiteral",
2537
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2538
+ }
2539
+ ]
2540
+ },
2541
+ "autoHighlight": {
2542
+ "name": "autoHighlight",
2543
+ "required": false,
2544
+ "type": {
2545
+ "name": "boolean"
2546
+ },
2547
+ "description": "Whether the first matching item is highlighted automatically while filtering.",
2548
+ "defaultValue": {
2549
+ "value": "false"
2550
+ },
2551
+ "parent": {
2552
+ "name": "ComboboxRootProps",
2553
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2554
+ },
2555
+ "declarations": [
2556
+ {
2557
+ "name": "TypeLiteral",
2558
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2559
+ }
2560
+ ]
2561
+ },
2562
+ "highlightItemOnHover": {
2563
+ "name": "highlightItemOnHover",
2564
+ "required": false,
2565
+ "type": {
2566
+ "name": "boolean"
2567
+ },
2568
+ "description": "Whether moving the pointer over items should highlight them.\nDisabling this prop allows CSS `:hover` to be differentiated from the `:focus` (`data-highlighted`) state.",
2569
+ "defaultValue": {
2570
+ "value": "true"
2571
+ },
2572
+ "parent": {
2573
+ "name": "ComboboxRootProps",
2574
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2575
+ },
2576
+ "declarations": [
2577
+ {
2578
+ "name": "TypeLiteral",
2579
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2580
+ }
2581
+ ]
2582
+ },
2583
+ "itemToStringLabel": {
2584
+ "name": "itemToStringLabel",
2585
+ "required": false,
2586
+ "type": {
2587
+ "name": "(itemValue: unknown) => string"
2588
+ },
2589
+ "description": "When the item values are objects (`<Combobox.Item value={object}>`), this function converts the object value to a string representation for display in the input.\nIf the shape of the object is `{ value, label }`, the label will be used automatically without needing to specify this prop.\nWith a `createItems()` collection, this receives the derived value, and the collection's\n`getLabel` takes precedence for values it can resolve.",
2590
+ "defaultValue": null,
2591
+ "parent": {
2592
+ "name": "ComboboxRootProps",
2593
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2594
+ },
2595
+ "declarations": [
2596
+ {
2597
+ "name": "TypeLiteral",
2598
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2599
+ }
2600
+ ]
2601
+ },
2602
+ "itemToStringValue": {
2603
+ "name": "itemToStringValue",
2604
+ "required": false,
2605
+ "type": {
2606
+ "name": "(itemValue: unknown) => string"
2607
+ },
2608
+ "description": "When the item values are objects (`<Combobox.Item value={object}>`), this function converts the object value to a string representation for form submission.\nIf the shape of the object is `{ value, label }`, the value will be used automatically without needing to specify this prop.\nWith a `createItems()` collection, this receives the derived value.",
2609
+ "defaultValue": null,
2610
+ "parent": {
2611
+ "name": "ComboboxRootProps",
2612
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2613
+ },
2614
+ "declarations": [
2615
+ {
2616
+ "name": "TypeLiteral",
2617
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2618
+ }
2619
+ ]
2620
+ },
2621
+ "isItemEqualToValue": {
2622
+ "name": "isItemEqualToValue",
2623
+ "required": false,
2624
+ "type": {
2625
+ "name": "(itemValue: unknown, value: unknown) => boolean"
2626
+ },
2627
+ "description": "Custom comparison logic used to determine if a combobox item value matches the current selected value. Useful when item values are objects without matching referentially.\nWith a `createItems()` collection, both arguments are derived values.\nDefaults to `Object.is` comparison.",
2628
+ "defaultValue": null,
2629
+ "parent": {
2630
+ "name": "ComboboxRootProps",
2631
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2632
+ },
2633
+ "declarations": [
2634
+ {
2635
+ "name": "TypeLiteral",
2636
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2637
+ }
2638
+ ]
2639
+ },
2640
+ "defaultValue": {
2641
+ "name": "defaultValue",
2642
+ "required": false,
2643
+ "type": {
2644
+ "name": "unknown"
2645
+ },
2646
+ "description": "The uncontrolled selected value of the combobox when it's initially rendered.\n\nTo render a controlled combobox, use the `value` prop instead.",
2647
+ "defaultValue": null,
2648
+ "parent": {
2649
+ "name": "ComboboxRootProps",
2650
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2651
+ },
2652
+ "declarations": [
2653
+ {
2654
+ "name": "TypeLiteral",
2655
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2656
+ }
2657
+ ]
2658
+ },
2659
+ "actionsRef": {
2660
+ "name": "actionsRef",
2661
+ "required": false,
2662
+ "type": {
2663
+ "name": "RefObject<Actions | null>"
2664
+ },
2665
+ "description": "A ref to imperative actions.\n- `unmount`: Manually unmounts the combobox.\nCall this after any externally controlled closing animation finishes.",
2666
+ "defaultValue": null,
2667
+ "parent": {
2668
+ "name": "ComboboxRootProps",
2669
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2670
+ },
2671
+ "declarations": [
2672
+ {
2673
+ "name": "TypeLiteral",
2674
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2675
+ }
2676
+ ]
2677
+ },
2678
+ "onOpenChange": {
2679
+ "name": "onOpenChange",
2680
+ "required": false,
2681
+ "type": {
2682
+ "name": "(open: boolean, eventDetails: ChangeEventDetails) => void"
2683
+ },
2684
+ "description": "Event handler called when the popup is opened or closed.",
2685
+ "defaultValue": null,
2686
+ "parent": {
2687
+ "name": "ComboboxRootProps",
2688
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2689
+ },
2690
+ "declarations": [
2691
+ {
2692
+ "name": "TypeLiteral",
2693
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2694
+ }
2695
+ ]
2696
+ },
2697
+ "onInputValueChange": {
2698
+ "name": "onInputValueChange",
2699
+ "required": false,
2700
+ "type": {
2701
+ "name": "(inputValue: string, eventDetails: ChangeEventDetails) => void"
2702
+ },
2703
+ "description": "Event handler called when the input value changes.",
2704
+ "defaultValue": null,
2705
+ "parent": {
2706
+ "name": "ComboboxRootProps",
2707
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2708
+ },
2709
+ "declarations": [
2710
+ {
2711
+ "name": "TypeLiteral",
2712
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2713
+ }
2714
+ ]
2715
+ },
2716
+ "onItemHighlighted": {
2717
+ "name": "onItemHighlighted",
2718
+ "required": false,
2719
+ "type": {
2720
+ "name": "(highlightedValue: unknown, eventDetails: HighlightEventDetails) => void"
2721
+ },
2722
+ "description": "Callback fired when an item is highlighted or unhighlighted.\nReceives the highlighted item value (or `undefined` if no item is highlighted) and event details with a `reason` property describing why the highlight changed.\nThe `reason` can be:\n- `'keyboard'`: the highlight changed due to keyboard navigation.\n- `'pointer'`: the highlight changed due to pointer hovering.\n- `'none'`: the highlight changed programmatically.",
2723
+ "defaultValue": null,
2724
+ "parent": {
2725
+ "name": "ComboboxRootProps",
2726
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2727
+ },
2728
+ "declarations": [
2729
+ {
2730
+ "name": "TypeLiteral",
2731
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2732
+ }
2733
+ ]
2734
+ },
2735
+ "value": {
2736
+ "name": "value",
2737
+ "required": false,
2738
+ "type": {
2739
+ "name": "unknown"
2740
+ },
2741
+ "description": "The selected value of the combobox. Use when controlled.",
2742
+ "defaultValue": null,
2743
+ "parent": {
2744
+ "name": "ComboboxRootProps",
2745
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2746
+ },
2747
+ "declarations": [
2748
+ {
2749
+ "name": "TypeLiteral",
2750
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2751
+ }
2752
+ ]
2753
+ },
2754
+ "onValueChange": {
2755
+ "name": "onValueChange",
2756
+ "required": false,
2757
+ "type": {
2758
+ "name": "(value: unknown, eventDetails: ChangeEventDetails) => void"
2759
+ },
2760
+ "description": "Event handler called when the selected value of the combobox changes.",
2761
+ "defaultValue": null,
2762
+ "parent": {
2763
+ "name": "ComboboxRootProps",
2764
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2765
+ },
2766
+ "declarations": [
2767
+ {
2768
+ "name": "TypeLiteral",
2769
+ "fileName": "node_modules/@base-ui/react/combobox/root/ComboboxRoot.d.mts"
2770
+ }
2771
+ ]
2772
+ }
2773
+ }
2774
+ },
2775
+ "stories": [
2776
+ {
2777
+ "id": "components-combobox--default",
2778
+ "name": "Default",
2779
+ "snippet": "const Default = () => (\n <Combobox.Root items={STATES}>\n <Combobox.Input placeholder=\"Search states\" aria-label=\"Search states\" />\n <Combobox.Content>\n <Combobox.Empty>No matches found</Combobox.Empty>\n <Combobox.List>\n {(state: string) => (\n <Combobox.Item key={state} value={state}>\n {state}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox.Root>\n);",
2780
+ "description": "The common case: options are already in memory and Base UI filters them against\nwhat you type. Selecting a row fills the input and closes the list."
2781
+ },
2782
+ {
2783
+ "id": "components-combobox--no-matches",
2784
+ "name": "No Matches",
2785
+ "snippet": "const NoMatches = () => (\n <Combobox.Root items={STATES}>\n <Combobox.Input placeholder=\"Search states\" aria-label=\"Search states\" />\n <Combobox.Content>\n <Combobox.Empty>No matches found</Combobox.Empty>\n <Combobox.List>\n {(state: string) => (\n <Combobox.Item key={state} value={state}>\n {state}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox.Root>\n);",
2786
+ "description": "`Empty` stays mounted so screen readers announce the change; it renders its\nchildren only while nothing matches. It needs `items` on `Root` to know that."
2787
+ },
2788
+ {
2789
+ "id": "components-combobox--async-search",
2790
+ "name": "Async Search",
2791
+ "snippet": "const AsyncSearch = () => <SuspenseSearch />;",
2792
+ "description": "Options fetched as you type, the way the apps load data: the rows are a component\nthat suspends on the request, so a `Suspense` boundary inside `Content` shows\nplaceholder rows until they land. Nothing tracks `loading` by hand and no stale\nlist lingers under the wait: the data is read by query, which is also what makes\nout-of-order responses harmless. Drop a `useSuspenseQuery` where `use()` is."
2793
+ },
2794
+ {
2795
+ "id": "components-combobox--async-search-with-status",
2796
+ "name": "Async Search With Status",
2797
+ "snippet": "const AsyncSearchWithStatus = () => <StatusSearch />;",
2798
+ "description": "The same search without Suspense, for a consumer that gets a `loading` flag from\nits data layer instead: `filter={null}`, the rows arrive through `filteredItems`,\n`Content` is marked busy and `Status` announces the wait. The list is cleared\nbefore each request and a request that is no longer the latest is dropped."
2799
+ },
2800
+ {
2801
+ "id": "components-combobox--inside-field-text",
2802
+ "name": "Inside Field Text",
2803
+ "snippet": "const InsideFieldText = () => (\n <FieldText invalid required>\n <Label>Agency</Label>\n <Combobox.Root items={STATES}>\n <Combobox.Input placeholder=\"Search agencies\" />\n <Combobox.Content>\n <Combobox.Empty>No matches found</Combobox.Empty>\n <Combobox.List>\n {(state: string) => (\n <Combobox.Item key={state} value={state}>\n {state}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox.Root>\n <Field.Description>The agency this agent will be added to.</Field.Description>\n <Field.Error errors={[{ message: 'Pick an agency from the list' }]} />\n </FieldText>\n);",
2804
+ "description": "Dropped into a `FieldText`, the input takes the label, the description and\nthe error from the field with nothing wired by hand: `Combobox.Input` reads the\nsame `InputContext` the plain `Input` does."
2805
+ },
2806
+ {
2807
+ "id": "components-combobox--with-leading-icon",
2808
+ "name": "With Leading Icon",
2809
+ "snippet": "const WithLeadingIcon = () => (\n <Combobox.Root items={STATES}>\n <div className=\"relative\">\n <IconSearch\n aria-hidden\n className=\"pointer-events-none absolute top-1/2 left-3 z-1 size-6 -translate-y-1/2 [&>path]:fill-icon-default-base-tertiary\"\n />\n <Combobox.Input className=\"pl-11\" placeholder=\"Search states\" aria-label=\"Search states\" />\n </div>\n <Combobox.Content>\n <Combobox.Empty>No matches found</Combobox.Empty>\n <Combobox.List>\n {(state: string) => (\n <Combobox.Item key={state} value={state}>\n {state}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox.Root>\n);",
2810
+ "description": "A leading icon is composed around the input, not baked in: not every combobox\nis a search (a FEIN lookup or a template picker are not), so the component\nships no icon of its own. Until `InputGroup` lands in the design system, the\nmarketplace search fields get theirs like this — the icon overlaid, the input\npadded past it."
2811
+ },
2812
+ {
2813
+ "id": "components-combobox--inside-modal",
2814
+ "name": "Inside Modal",
2815
+ "snippet": "const InsideModal = () => (\n <Modal.Root>\n <Modal.Trigger asChild>\n <Button variant=\"secondary\">Assign agency</Button>\n </Modal.Trigger>\n <Modal.Content>\n <Modal.Title>Assign agency</Modal.Title>\n <Modal.Body>\n <Combobox.Root items={STATES}>\n <Combobox.Input placeholder=\"Search states\" aria-label=\"Search states\" />\n <Combobox.Content>\n <Combobox.Empty>No matches found</Combobox.Empty>\n <Combobox.List>\n {(state: string) => (\n <Combobox.Item key={state} value={state}>\n {state}\n </Combobox.Item>\n )}\n </Combobox.List>\n </Combobox.Content>\n </Combobox.Root>\n </Modal.Body>\n </Modal.Content>\n </Modal.Root>\n);",
2816
+ "description": "Inside a `Modal`, which is a Radix Dialog. The surface portals to the body, so\nthis checks that the dialog's modal layer neither blocks pointer events on the\nlist nor treats a click in it as a click outside and closes."
2817
+ }
2818
+ ],
2819
+ "import": "import { Button, Combobox, Field, FieldText, IconSearch, Label, Modal, Skeleton } from \"@agentero/design-system\";\nimport { Suspense } from \"react\";"
2820
+ },
1989
2821
  "components-command": {
1990
2822
  "id": "components-command",
1991
2823
  "name": "Command.Root",
@@ -5176,11 +6008,8 @@
5176
6008
  "required": false,
5177
6009
  "type": {
5178
6010
  "name": "enum",
5179
- "raw": "\"right\" | \"top\" | \"bottom\" | \"left\"",
6011
+ "raw": "\"top\" | \"bottom\" | \"left\" | \"right\"",
5180
6012
  "value": [
5181
- {
5182
- "value": "\"right\""
5183
- },
5184
6013
  {
5185
6014
  "value": "\"top\""
5186
6015
  },
@@ -5189,6 +6018,9 @@
5189
6018
  },
5190
6019
  {
5191
6020
  "value": "\"left\""
6021
+ },
6022
+ {
6023
+ "value": "\"right\""
5192
6024
  }
5193
6025
  ]
5194
6026
  },
@@ -5738,13 +6570,13 @@
5738
6570
  }
5739
6571
  ]
5740
6572
  },
5741
- "placeholder": {
5742
- "name": "placeholder",
6573
+ "readOnly": {
6574
+ "name": "readOnly",
5743
6575
  "required": false,
5744
6576
  "type": {
5745
- "name": "string"
6577
+ "name": "boolean"
5746
6578
  },
5747
- "description": "Short hint shown while the field is empty. It disappears on the first\nkeystroke, so it is never a substitute for a label.",
6579
+ "description": "Keeps the value focusable and copyable but not editable, and still\nsubmits it. Unlike `disabled`, it stays in the tab order.",
5748
6580
  "defaultValue": null,
5749
6581
  "parent": {
5750
6582
  "name": "InputHTMLAttributes",
@@ -5761,13 +6593,13 @@
5761
6593
  }
5762
6594
  ]
5763
6595
  },
5764
- "readOnly": {
5765
- "name": "readOnly",
6596
+ "placeholder": {
6597
+ "name": "placeholder",
5766
6598
  "required": false,
5767
6599
  "type": {
5768
- "name": "boolean"
6600
+ "name": "string"
5769
6601
  },
5770
- "description": "Keeps the value focusable and copyable but not editable, and still\nsubmits it. Unlike `disabled`, it stays in the tab order.",
6602
+ "description": "Short hint shown while the field is empty. It disappears on the first\nkeystroke, so it is never a substitute for a label.",
5771
6603
  "defaultValue": null,
5772
6604
  "parent": {
5773
6605
  "name": "InputHTMLAttributes",
@@ -7821,6 +8653,274 @@
7821
8653
  ],
7822
8654
  "import": "import { Tag } from \"@agentero/design-system\";"
7823
8655
  },
8656
+ "components-textarea": {
8657
+ "id": "components-textarea",
8658
+ "name": "TextArea",
8659
+ "path": "./src/textarea/textarea.stories.tsx",
8660
+ "jsDocTags": {
8661
+ "summary": [
8662
+ "Base multi-line text control sharing Input's skin, states and sizes"
8663
+ ],
8664
+ "example": [
8665
+ "<Label htmlFor=\"notes\">Notes</Label>\n<TextArea id=\"notes\" placeholder=\"Anything the underwriter should know\" />"
8666
+ ]
8667
+ },
8668
+ "description": "TextArea is the base multi-line text control, with Input's skin, sizes and\nstates. It wires nothing on its own: `id`, `aria-invalid` and\n`aria-describedby` are plain props, set by whoever owns the field.",
8669
+ "summary": "Base multi-line text control sharing Input's skin, states and sizes",
8670
+ "reactComponentMeta": {
8671
+ "displayName": "TextArea",
8672
+ "exportName": "TextArea",
8673
+ "filePath": "/home/runner/work/design-system/design-system/src/textarea/textarea.tsx",
8674
+ "description": "TextArea is the design system's multi-line text control: Input's skin, states\nand sizes on a single `<textarea>` with nothing around it, so the native\nresize handle and scrollbar keep working. Pair it with\n[Label](?path=/docs/components-label--docs) the way you pair an Input.\n\nIt wires nothing itself — `id`, `aria-describedby` and `aria-invalid` are the\nfield owner's job, and there is no `status` prop. It holds no value either, so\na character counter belongs to whoever owns it.",
8675
+ "jsDocTags": {
8676
+ "summary": [
8677
+ "Base multi-line text control sharing Input's skin, states and sizes"
8678
+ ],
8679
+ "example": [
8680
+ "<Label htmlFor=\"notes\">Notes</Label>\n<TextArea id=\"notes\" placeholder=\"Anything the underwriter should know\" />"
8681
+ ]
8682
+ },
8683
+ "props": {
8684
+ "disabled": {
8685
+ "name": "disabled",
8686
+ "required": false,
8687
+ "type": {
8688
+ "name": "boolean"
8689
+ },
8690
+ "description": "Blocks interaction and drops the value from the submission. Use `readOnly`\nwhen the user still needs to read or copy it.",
8691
+ "defaultValue": null,
8692
+ "parent": {
8693
+ "name": "TextareaHTMLAttributes",
8694
+ "fileName": "node_modules/@types/react/index.d.ts"
8695
+ },
8696
+ "declarations": [
8697
+ {
8698
+ "name": "TextareaHTMLAttributes",
8699
+ "fileName": "node_modules/@types/react/index.d.ts"
8700
+ },
8701
+ {
8702
+ "name": "TypeLiteral",
8703
+ "fileName": "src/textarea/textarea.tsx"
8704
+ }
8705
+ ]
8706
+ },
8707
+ "maxLength": {
8708
+ "name": "maxLength",
8709
+ "required": false,
8710
+ "type": {
8711
+ "name": "number"
8712
+ },
8713
+ "description": "Caps the value in UTF-16 code units: typing stops there and a paste is cut.",
8714
+ "defaultValue": null,
8715
+ "parent": {
8716
+ "name": "TextareaHTMLAttributes",
8717
+ "fileName": "node_modules/@types/react/index.d.ts"
8718
+ },
8719
+ "declarations": [
8720
+ {
8721
+ "name": "TextareaHTMLAttributes",
8722
+ "fileName": "node_modules/@types/react/index.d.ts"
8723
+ },
8724
+ {
8725
+ "name": "TypeLiteral",
8726
+ "fileName": "src/textarea/textarea.tsx"
8727
+ }
8728
+ ]
8729
+ },
8730
+ "placeholder": {
8731
+ "name": "placeholder",
8732
+ "required": false,
8733
+ "type": {
8734
+ "name": "string"
8735
+ },
8736
+ "description": "Hint shown while empty; never a substitute for a label.",
8737
+ "defaultValue": null,
8738
+ "parent": {
8739
+ "name": "TextareaHTMLAttributes",
8740
+ "fileName": "node_modules/@types/react/index.d.ts"
8741
+ },
8742
+ "declarations": [
8743
+ {
8744
+ "name": "TextareaHTMLAttributes",
8745
+ "fileName": "node_modules/@types/react/index.d.ts"
8746
+ },
8747
+ {
8748
+ "name": "TypeLiteral",
8749
+ "fileName": "src/textarea/textarea.tsx"
8750
+ }
8751
+ ]
8752
+ },
8753
+ "readOnly": {
8754
+ "name": "readOnly",
8755
+ "required": false,
8756
+ "type": {
8757
+ "name": "boolean"
8758
+ },
8759
+ "description": "Focusable, copyable and submitted, but not editable.",
8760
+ "defaultValue": null,
8761
+ "parent": {
8762
+ "name": "TextareaHTMLAttributes",
8763
+ "fileName": "node_modules/@types/react/index.d.ts"
8764
+ },
8765
+ "declarations": [
8766
+ {
8767
+ "name": "TextareaHTMLAttributes",
8768
+ "fileName": "node_modules/@types/react/index.d.ts"
8769
+ },
8770
+ {
8771
+ "name": "TypeLiteral",
8772
+ "fileName": "src/textarea/textarea.tsx"
8773
+ }
8774
+ ]
8775
+ },
8776
+ "required": {
8777
+ "name": "required",
8778
+ "required": false,
8779
+ "type": {
8780
+ "name": "boolean"
8781
+ },
8782
+ "description": "Marks the control required for both the browser and assistive technology.",
8783
+ "defaultValue": null,
8784
+ "parent": {
8785
+ "name": "TextareaHTMLAttributes",
8786
+ "fileName": "node_modules/@types/react/index.d.ts"
8787
+ },
8788
+ "declarations": [
8789
+ {
8790
+ "name": "TextareaHTMLAttributes",
8791
+ "fileName": "node_modules/@types/react/index.d.ts"
8792
+ },
8793
+ {
8794
+ "name": "TypeLiteral",
8795
+ "fileName": "src/textarea/textarea.tsx"
8796
+ }
8797
+ ]
8798
+ },
8799
+ "rows": {
8800
+ "name": "rows",
8801
+ "required": false,
8802
+ "type": {
8803
+ "name": "number"
8804
+ },
8805
+ "description": "Rows visible at rest when three are not enough.",
8806
+ "defaultValue": null,
8807
+ "parent": {
8808
+ "name": "TextareaHTMLAttributes",
8809
+ "fileName": "node_modules/@types/react/index.d.ts"
8810
+ },
8811
+ "declarations": [
8812
+ {
8813
+ "name": "TextareaHTMLAttributes",
8814
+ "fileName": "node_modules/@types/react/index.d.ts"
8815
+ },
8816
+ {
8817
+ "name": "TypeLiteral",
8818
+ "fileName": "src/textarea/textarea.tsx"
8819
+ }
8820
+ ]
8821
+ },
8822
+ "aria-invalid": {
8823
+ "name": "aria-invalid",
8824
+ "required": false,
8825
+ "type": {
8826
+ "name": "boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\" | undefined"
8827
+ },
8828
+ "description": "Indicates the entered value does not conform to the format expected by the application.\nDrives the destructive border and is what assistive technology announces.",
8829
+ "defaultValue": null,
8830
+ "parent": {
8831
+ "name": "AriaAttributes",
8832
+ "fileName": "node_modules/@types/react/index.d.ts"
8833
+ },
8834
+ "declarations": [
8835
+ {
8836
+ "name": "AriaAttributes",
8837
+ "fileName": "node_modules/@types/react/index.d.ts"
8838
+ },
8839
+ {
8840
+ "name": "TypeLiteral",
8841
+ "fileName": "src/textarea/textarea.tsx"
8842
+ }
8843
+ ]
8844
+ },
8845
+ "size": {
8846
+ "name": "size",
8847
+ "required": false,
8848
+ "type": {
8849
+ "name": "enum",
8850
+ "raw": "\"sm\" | \"md\" | \"lg\"",
8851
+ "value": [
8852
+ {
8853
+ "value": "\"sm\""
8854
+ },
8855
+ {
8856
+ "value": "\"md\""
8857
+ },
8858
+ {
8859
+ "value": "\"lg\""
8860
+ }
8861
+ ]
8862
+ },
8863
+ "description": "Defaults to `'md'`. The first row measures one Input of the same size and\nthree rows show at rest: `sm` 76px, `md` 84px, `lg` 96px (`lg` also raises\nthe text to `base` and the radius to `lg`).",
8864
+ "defaultValue": null,
8865
+ "parent": {
8866
+ "name": "TextAreaProps",
8867
+ "fileName": "src/textarea/textarea.tsx"
8868
+ },
8869
+ "declarations": [
8870
+ {
8871
+ "name": "TypeLiteral",
8872
+ "fileName": "src/textarea/textarea.tsx"
8873
+ }
8874
+ ]
8875
+ }
8876
+ }
8877
+ },
8878
+ "stories": [
8879
+ {
8880
+ "id": "components-textarea--default",
8881
+ "name": "Default",
8882
+ "snippet": "const Default = () => <TextArea placeholder=\"Anything the underwriter should know\" aria-label=\"Notes\" />;",
8883
+ "description": "The default control at `md`: three rows at rest and a vertical resize handle\nthe user can drag to make it taller.",
8884
+ "summary": "Default standalone text area"
8885
+ },
8886
+ {
8887
+ "id": "components-textarea--all-sizes",
8888
+ "name": "All Sizes",
8889
+ "snippet": "const AllSizes = () => <div style={{ display: 'grid', gap: '1rem' }}>\n <TextArea size=\"sm\" aria-label=\"Small\" placeholder=\"sm — 76px, three rows\" />\n <TextArea size=\"md\" aria-label=\"Medium\" placeholder=\"md — 84px, three rows\" />\n <TextArea size=\"lg\" aria-label=\"Large\" placeholder=\"lg — 96px, three rows\" />\n</div>;",
8890
+ "description": "The three sizes mirror Input's: the first row measures one Input of the same\nsize and the minimum height shows three rows.",
8891
+ "summary": "The three sizes, three rows tall at rest"
8892
+ },
8893
+ {
8894
+ "id": "components-textarea--rows",
8895
+ "name": "Rows",
8896
+ "snippet": "const Rows = () => <TextArea\n placeholder=\"Six rows visible before scrolling\"\n aria-label=\"Notes\"\n rows={6} />;",
8897
+ "description": "`rows` sets a taller initial height when three rows are not enough.",
8898
+ "summary": "Taller initial height through the native rows attribute"
8899
+ },
8900
+ {
8901
+ "id": "components-textarea--invalid",
8902
+ "name": "Invalid",
8903
+ "snippet": "const Invalid = () => <div style={{ display: 'grid', gap: '0.25rem' }}>\n <TextArea\n placeholder=\"Anything the underwriter should know\"\n aria-label=\"Reason\"\n aria-invalid\n aria-describedby=\"reason-error\"\n defaultValue=\"n/a\" />\n <span id=\"reason-error\">Tell us why you are cancelling.</span>\n</div>;",
8904
+ "description": "The invalid treatment comes purely from `aria-invalid`; point\n`aria-describedby` at the message so it is read with the control.",
8905
+ "summary": "Invalid state driven by aria-invalid"
8906
+ },
8907
+ {
8908
+ "id": "components-textarea--disabled",
8909
+ "name": "Disabled",
8910
+ "snippet": "const Disabled = () => <TextArea\n placeholder=\"Anything the underwriter should know\"\n aria-label=\"Notes\"\n disabled\n defaultValue=\"Cannot be edited\" />;",
8911
+ "description": "",
8912
+ "summary": "Disabled state"
8913
+ },
8914
+ {
8915
+ "id": "components-textarea--read-only",
8916
+ "name": "Read Only",
8917
+ "snippet": "const ReadOnly = () => <TextArea\n placeholder=\"Anything the underwriter should know\"\n aria-label=\"Notes\"\n readOnly\n defaultValue=\"Copy me, but do not change me\" />;",
8918
+ "description": "",
8919
+ "summary": "Read-only value that stays focusable and copyable"
8920
+ }
8921
+ ],
8922
+ "import": "import { TextArea } from \"@agentero/design-system\";"
8923
+ },
7824
8924
  "components-toast": {
7825
8925
  "id": "components-toast",
7826
8926
  "name": "Toast",
@@ -8251,11 +9351,8 @@
8251
9351
  "required": false,
8252
9352
  "type": {
8253
9353
  "name": "enum",
8254
- "raw": "\"right\" | \"top\" | \"bottom\" | \"left\"",
9354
+ "raw": "\"top\" | \"bottom\" | \"left\" | \"right\"",
8255
9355
  "value": [
8256
- {
8257
- "value": "\"right\""
8258
- },
8259
9356
  {
8260
9357
  "value": "\"top\""
8261
9358
  },
@@ -8264,6 +9361,9 @@
8264
9361
  },
8265
9362
  {
8266
9363
  "value": "\"left\""
9364
+ },
9365
+ {
9366
+ "value": "\"right\""
8267
9367
  }
8268
9368
  ]
8269
9369
  },
@@ -8606,6 +9706,6 @@
8606
9706
  },
8607
9707
  "meta": {
8608
9708
  "docgen": "react-component-meta",
8609
- "durationMs": 4314
9709
+ "durationMs": 3433
8610
9710
  }
8611
9711
  }