@rookcom/monarch-react 0.0.0-stage → 0.2.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 (165) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +4 -2
  3. package/dist/components/alert.d.ts +17 -0
  4. package/dist/components/alert.d.ts.map +1 -0
  5. package/dist/components/alert.js +17 -0
  6. package/dist/components/alert.js.map +1 -0
  7. package/dist/components/avatar.d.ts +16 -0
  8. package/dist/components/avatar.d.ts.map +1 -0
  9. package/dist/components/avatar.js +28 -0
  10. package/dist/components/avatar.js.map +1 -0
  11. package/dist/components/badge.d.ts +13 -0
  12. package/dist/components/badge.d.ts.map +1 -0
  13. package/dist/components/badge.js +7 -0
  14. package/dist/components/badge.js.map +1 -0
  15. package/dist/components/breadcrumb.d.ts +19 -0
  16. package/dist/components/breadcrumb.d.ts.map +1 -0
  17. package/dist/components/breadcrumb.js +19 -0
  18. package/dist/components/breadcrumb.js.map +1 -0
  19. package/dist/components/button.d.ts +32 -0
  20. package/dist/components/button.d.ts.map +1 -0
  21. package/dist/components/button.js +30 -0
  22. package/dist/components/button.js.map +1 -0
  23. package/dist/components/card.d.ts +18 -0
  24. package/dist/components/card.d.ts.map +1 -0
  25. package/dist/components/card.js +21 -0
  26. package/dist/components/card.js.map +1 -0
  27. package/dist/components/checkbox.d.ts +15 -0
  28. package/dist/components/checkbox.d.ts.map +1 -0
  29. package/dist/components/checkbox.js +23 -0
  30. package/dist/components/checkbox.js.map +1 -0
  31. package/dist/components/combobox.d.ts +35 -0
  32. package/dist/components/combobox.d.ts.map +1 -0
  33. package/dist/components/combobox.js +152 -0
  34. package/dist/components/combobox.js.map +1 -0
  35. package/dist/components/dialog.d.ts +22 -0
  36. package/dist/components/dialog.d.ts.map +1 -0
  37. package/dist/components/dialog.js +33 -0
  38. package/dist/components/dialog.js.map +1 -0
  39. package/dist/components/dropdown-menu.d.ts +24 -0
  40. package/dist/components/dropdown-menu.d.ts.map +1 -0
  41. package/dist/components/dropdown-menu.js +41 -0
  42. package/dist/components/dropdown-menu.js.map +1 -0
  43. package/dist/components/empty-state.d.ts +17 -0
  44. package/dist/components/empty-state.d.ts.map +1 -0
  45. package/dist/components/empty-state.js +10 -0
  46. package/dist/components/empty-state.js.map +1 -0
  47. package/dist/components/field.d.ts +65 -0
  48. package/dist/components/field.d.ts.map +1 -0
  49. package/dist/components/field.js +101 -0
  50. package/dist/components/field.js.map +1 -0
  51. package/dist/components/input.d.ts +15 -0
  52. package/dist/components/input.d.ts.map +1 -0
  53. package/dist/components/input.js +14 -0
  54. package/dist/components/input.js.map +1 -0
  55. package/dist/components/kbd.d.ts +4 -0
  56. package/dist/components/kbd.d.ts.map +1 -0
  57. package/dist/components/kbd.js +7 -0
  58. package/dist/components/kbd.js.map +1 -0
  59. package/dist/components/link.d.ts +13 -0
  60. package/dist/components/link.d.ts.map +1 -0
  61. package/dist/components/link.js +18 -0
  62. package/dist/components/link.js.map +1 -0
  63. package/dist/components/pagination.d.ts +18 -0
  64. package/dist/components/pagination.d.ts.map +1 -0
  65. package/dist/components/pagination.js +40 -0
  66. package/dist/components/pagination.js.map +1 -0
  67. package/dist/components/popover.d.ts +8 -0
  68. package/dist/components/popover.d.ts.map +1 -0
  69. package/dist/components/popover.js +14 -0
  70. package/dist/components/popover.js.map +1 -0
  71. package/dist/components/progress.d.ts +14 -0
  72. package/dist/components/progress.d.ts.map +1 -0
  73. package/dist/components/progress.js +12 -0
  74. package/dist/components/progress.js.map +1 -0
  75. package/dist/components/select.d.ts +27 -0
  76. package/dist/components/select.d.ts.map +1 -0
  77. package/dist/components/select.js +39 -0
  78. package/dist/components/select.js.map +1 -0
  79. package/dist/components/separator.d.ts +4 -0
  80. package/dist/components/separator.d.ts.map +1 -0
  81. package/dist/components/separator.js +9 -0
  82. package/dist/components/separator.js.map +1 -0
  83. package/dist/components/skeleton.d.ts +12 -0
  84. package/dist/components/skeleton.d.ts.map +1 -0
  85. package/dist/components/skeleton.js +10 -0
  86. package/dist/components/skeleton.js.map +1 -0
  87. package/dist/components/spinner.d.ts +12 -0
  88. package/dist/components/spinner.d.ts.map +1 -0
  89. package/dist/components/spinner.js +10 -0
  90. package/dist/components/spinner.js.map +1 -0
  91. package/dist/components/switch.d.ts +13 -0
  92. package/dist/components/switch.d.ts.map +1 -0
  93. package/dist/components/switch.js +21 -0
  94. package/dist/components/switch.js.map +1 -0
  95. package/dist/components/table.d.ts +53 -0
  96. package/dist/components/table.d.ts.map +1 -0
  97. package/dist/components/table.js +47 -0
  98. package/dist/components/table.js.map +1 -0
  99. package/dist/components/tabs.d.ts +12 -0
  100. package/dist/components/tabs.d.ts.map +1 -0
  101. package/dist/components/tabs.js +17 -0
  102. package/dist/components/tabs.js.map +1 -0
  103. package/dist/components/toast.d.ts +40 -0
  104. package/dist/components/toast.d.ts.map +1 -0
  105. package/dist/components/toast.js +67 -0
  106. package/dist/components/toast.js.map +1 -0
  107. package/dist/components/tooltip.d.ts +20 -0
  108. package/dist/components/tooltip.d.ts.map +1 -0
  109. package/dist/components/tooltip.js +12 -0
  110. package/dist/components/tooltip.js.map +1 -0
  111. package/dist/components/visually-hidden.d.ts +4 -0
  112. package/dist/components/visually-hidden.d.ts.map +1 -0
  113. package/dist/components/visually-hidden.js +7 -0
  114. package/dist/components/visually-hidden.js.map +1 -0
  115. package/dist/index.d.ts +31 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +34 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/internal/cx.d.ts +3 -0
  120. package/dist/internal/cx.d.ts.map +1 -0
  121. package/dist/internal/cx.js +6 -0
  122. package/dist/internal/cx.js.map +1 -0
  123. package/dist/internal/icons.d.ts +12 -0
  124. package/dist/internal/icons.d.ts.map +1 -0
  125. package/dist/internal/icons.js +41 -0
  126. package/dist/internal/icons.js.map +1 -0
  127. package/dist/manifest.json +3814 -0
  128. package/dist/patterns/description-list.d.ts +17 -0
  129. package/dist/patterns/description-list.d.ts.map +1 -0
  130. package/dist/patterns/description-list.js +10 -0
  131. package/dist/patterns/description-list.js.map +1 -0
  132. package/dist/patterns/filter-bar.d.ts +25 -0
  133. package/dist/patterns/filter-bar.d.ts.map +1 -0
  134. package/dist/patterns/filter-bar.js +13 -0
  135. package/dist/patterns/filter-bar.js.map +1 -0
  136. package/dist/patterns/index.d.ts +9 -0
  137. package/dist/patterns/index.d.ts.map +1 -0
  138. package/dist/patterns/index.js +9 -0
  139. package/dist/patterns/index.js.map +1 -0
  140. package/dist/patterns/page-header.d.ts +17 -0
  141. package/dist/patterns/page-header.d.ts.map +1 -0
  142. package/dist/patterns/page-header.js +7 -0
  143. package/dist/patterns/page-header.js.map +1 -0
  144. package/dist/patterns/settings.d.ts +33 -0
  145. package/dist/patterns/settings.d.ts.map +1 -0
  146. package/dist/patterns/settings.js +15 -0
  147. package/dist/patterns/settings.js.map +1 -0
  148. package/dist/patterns/split-layout.d.ts +21 -0
  149. package/dist/patterns/split-layout.d.ts.map +1 -0
  150. package/dist/patterns/split-layout.js +10 -0
  151. package/dist/patterns/split-layout.js.map +1 -0
  152. package/dist/patterns/stat-card.d.ts +19 -0
  153. package/dist/patterns/stat-card.d.ts.map +1 -0
  154. package/dist/patterns/stat-card.js +11 -0
  155. package/dist/patterns/stat-card.js.map +1 -0
  156. package/dist/patterns/states.d.ts +23 -0
  157. package/dist/patterns/states.d.ts.map +1 -0
  158. package/dist/patterns/states.js +15 -0
  159. package/dist/patterns/states.js.map +1 -0
  160. package/dist/patterns/toolbar.d.ts +20 -0
  161. package/dist/patterns/toolbar.d.ts.map +1 -0
  162. package/dist/patterns/toolbar.js +46 -0
  163. package/dist/patterns/toolbar.js.map +1 -0
  164. package/dist/styles.css +1984 -0
  165. package/package.json +70 -4
@@ -0,0 +1,3814 @@
1
+ {
2
+ "$schema": "https://monarch.rookhq.com/schema/manifest.json",
3
+ "package": "@rookcom/monarch-react",
4
+ "version": "0.2.0",
5
+ "generatedBy": "packages/react/scripts/manifest.ts",
6
+ "styles": "@rookcom/monarch-react/styles.css",
7
+ "tokens": "@rookcom/monarch-tokens/css",
8
+ "components": [
9
+ {
10
+ "name": "Alert",
11
+ "kind": "component",
12
+ "description": "Inline message about the state of a page or section.",
13
+ "className": "mn-alert",
14
+ "clientOnly": false,
15
+ "props": [
16
+ {
17
+ "name": "actions",
18
+ "type": "ReactNode",
19
+ "required": false,
20
+ "description": "Actions on the trailing edge, e.g. a Button or a dismiss IconButton."
21
+ },
22
+ {
23
+ "name": "children",
24
+ "type": "ReactNode",
25
+ "required": false,
26
+ "description": ""
27
+ },
28
+ {
29
+ "name": "className",
30
+ "type": "string",
31
+ "required": false,
32
+ "description": ""
33
+ },
34
+ {
35
+ "name": "icon",
36
+ "type": "ReactNode",
37
+ "required": false,
38
+ "description": "Replaces the default tone icon. Pass `null` for none."
39
+ },
40
+ {
41
+ "name": "id",
42
+ "type": "string",
43
+ "required": false,
44
+ "description": ""
45
+ },
46
+ {
47
+ "name": "live",
48
+ "type": "\"polite\" | \"assertive\"",
49
+ "required": false,
50
+ "description": "Set when the alert appears in response to something the user did, so it\nis announced. `assertive` only for errors that block progress."
51
+ },
52
+ {
53
+ "name": "title",
54
+ "type": "ReactNode",
55
+ "required": false,
56
+ "description": ""
57
+ },
58
+ {
59
+ "name": "tone",
60
+ "type": "\"danger\" | \"neutral\" | \"info\" | \"success\" | \"warning\"",
61
+ "required": false,
62
+ "description": ""
63
+ }
64
+ ]
65
+ },
66
+ {
67
+ "name": "Avatar",
68
+ "kind": "component",
69
+ "description": "",
70
+ "className": "mn-avatar",
71
+ "clientOnly": true,
72
+ "props": [
73
+ {
74
+ "name": "name",
75
+ "type": "string",
76
+ "required": true,
77
+ "description": "Person or entity name. Used for the image alt text and the initials fallback."
78
+ },
79
+ {
80
+ "name": "className",
81
+ "type": "string",
82
+ "required": false,
83
+ "description": ""
84
+ },
85
+ {
86
+ "name": "decorative",
87
+ "type": "boolean",
88
+ "required": false,
89
+ "description": "Set when a visible name sits next to the avatar, so screen readers do not\nhear the name twice."
90
+ },
91
+ {
92
+ "name": "id",
93
+ "type": "string",
94
+ "required": false,
95
+ "description": ""
96
+ },
97
+ {
98
+ "name": "shape",
99
+ "type": "\"circle\" | \"square\"",
100
+ "required": false,
101
+ "description": ""
102
+ },
103
+ {
104
+ "name": "size",
105
+ "type": "\"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\"",
106
+ "required": false,
107
+ "description": ""
108
+ },
109
+ {
110
+ "name": "src",
111
+ "type": "string | null",
112
+ "required": false,
113
+ "description": ""
114
+ }
115
+ ]
116
+ },
117
+ {
118
+ "name": "Badge",
119
+ "kind": "component",
120
+ "description": "Short status or metadata label. Never the only way to convey meaning: keep the text.",
121
+ "className": "mn-badge",
122
+ "clientOnly": false,
123
+ "props": [
124
+ {
125
+ "name": "children",
126
+ "type": "ReactNode",
127
+ "required": false,
128
+ "description": ""
129
+ },
130
+ {
131
+ "name": "className",
132
+ "type": "string",
133
+ "required": false,
134
+ "description": ""
135
+ },
136
+ {
137
+ "name": "dot",
138
+ "type": "boolean",
139
+ "required": false,
140
+ "description": "Leading status dot."
141
+ },
142
+ {
143
+ "name": "id",
144
+ "type": "string",
145
+ "required": false,
146
+ "description": ""
147
+ },
148
+ {
149
+ "name": "size",
150
+ "type": "\"sm\" | \"md\"",
151
+ "required": false,
152
+ "description": ""
153
+ },
154
+ {
155
+ "name": "tone",
156
+ "type": "Tone",
157
+ "required": false,
158
+ "description": ""
159
+ },
160
+ {
161
+ "name": "variant",
162
+ "type": "\"subtle\" | \"solid\" | \"outline\"",
163
+ "required": false,
164
+ "description": "`subtle` (default) for status in tables, `solid` for counts, `outline` for metadata."
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "name": "Breadcrumb",
170
+ "kind": "component",
171
+ "description": "Location trail. The last item is the current page (`aria-current=\"page\"`).",
172
+ "className": "mn-breadcrumb",
173
+ "clientOnly": true,
174
+ "props": [
175
+ {
176
+ "name": "items",
177
+ "type": "BreadcrumbItem[]",
178
+ "required": true,
179
+ "description": ""
180
+ },
181
+ {
182
+ "name": "className",
183
+ "type": "string",
184
+ "required": false,
185
+ "description": ""
186
+ },
187
+ {
188
+ "name": "label",
189
+ "type": "string",
190
+ "required": false,
191
+ "description": "Accessible name of the nav."
192
+ },
193
+ {
194
+ "name": "linkAs",
195
+ "type": "ElementType<AnchorHTMLAttributes<HTMLAnchorElement>>",
196
+ "required": false,
197
+ "description": "Link component, e.g. Next.js `Link`. Defaults to `a`."
198
+ },
199
+ {
200
+ "name": "maxVisible",
201
+ "type": "number",
202
+ "required": false,
203
+ "description": "Show at most this many items; the middle ones collapse into a menu. Default 4."
204
+ }
205
+ ]
206
+ },
207
+ {
208
+ "name": "Button",
209
+ "kind": "component",
210
+ "description": "The primary action control.\n\nDefaults to `type=\"button\"` so a button inside a form never submits by\naccident; pass `type=\"submit\"` explicitly.",
211
+ "className": "mn-button",
212
+ "clientOnly": true,
213
+ "props": [
214
+ {
215
+ "name": "asChild",
216
+ "type": "boolean",
217
+ "required": false,
218
+ "description": "Render the child element (e.g. a Next.js <Link>) with button styling."
219
+ },
220
+ {
221
+ "name": "block",
222
+ "type": "boolean",
223
+ "required": false,
224
+ "description": "Stretch to the container width."
225
+ },
226
+ {
227
+ "name": "children",
228
+ "type": "ReactNode",
229
+ "required": false,
230
+ "description": ""
231
+ },
232
+ {
233
+ "name": "className",
234
+ "type": "string",
235
+ "required": false,
236
+ "description": ""
237
+ },
238
+ {
239
+ "name": "disabled",
240
+ "type": "boolean",
241
+ "required": false,
242
+ "description": ""
243
+ },
244
+ {
245
+ "name": "id",
246
+ "type": "string",
247
+ "required": false,
248
+ "description": ""
249
+ },
250
+ {
251
+ "name": "leadingIcon",
252
+ "type": "ReactNode",
253
+ "required": false,
254
+ "description": "Icon before the label. Decorative: hidden from assistive technology."
255
+ },
256
+ {
257
+ "name": "loading",
258
+ "type": "boolean",
259
+ "required": false,
260
+ "description": "Shows a spinner, sets aria-busy and blocks clicks while keeping focus."
261
+ },
262
+ {
263
+ "name": "size",
264
+ "type": "ButtonSize",
265
+ "required": false,
266
+ "description": ""
267
+ },
268
+ {
269
+ "name": "trailingIcon",
270
+ "type": "ReactNode",
271
+ "required": false,
272
+ "description": ""
273
+ },
274
+ {
275
+ "name": "variant",
276
+ "type": "ButtonVariant",
277
+ "required": false,
278
+ "description": "Visual weight. Use one `primary` per view region. Default `secondary`."
279
+ }
280
+ ]
281
+ },
282
+ {
283
+ "name": "Card",
284
+ "kind": "component",
285
+ "description": "",
286
+ "className": "mn-card",
287
+ "clientOnly": false,
288
+ "props": [
289
+ {
290
+ "name": "children",
291
+ "type": "ReactNode",
292
+ "required": false,
293
+ "description": ""
294
+ },
295
+ {
296
+ "name": "className",
297
+ "type": "string",
298
+ "required": false,
299
+ "description": ""
300
+ },
301
+ {
302
+ "name": "flush",
303
+ "type": "boolean",
304
+ "required": false,
305
+ "description": "Remove inner padding, e.g. for a card wrapping a table."
306
+ },
307
+ {
308
+ "name": "id",
309
+ "type": "string",
310
+ "required": false,
311
+ "description": ""
312
+ },
313
+ {
314
+ "name": "variant",
315
+ "type": "\"subtle\" | \"outline\" | \"raised\"",
316
+ "required": false,
317
+ "description": "`outline` (default) for most content, `raised` for floating panels, `subtle` inside other cards."
318
+ }
319
+ ]
320
+ },
321
+ {
322
+ "name": "CardContent",
323
+ "kind": "component",
324
+ "description": "",
325
+ "className": "mn-card",
326
+ "clientOnly": false,
327
+ "props": [
328
+ {
329
+ "name": "children",
330
+ "type": "ReactNode",
331
+ "required": false,
332
+ "description": ""
333
+ },
334
+ {
335
+ "name": "className",
336
+ "type": "string",
337
+ "required": false,
338
+ "description": ""
339
+ },
340
+ {
341
+ "name": "id",
342
+ "type": "string",
343
+ "required": false,
344
+ "description": ""
345
+ }
346
+ ]
347
+ },
348
+ {
349
+ "name": "CardDescription",
350
+ "kind": "component",
351
+ "description": "",
352
+ "className": "mn-card",
353
+ "clientOnly": false,
354
+ "props": [
355
+ {
356
+ "name": "children",
357
+ "type": "ReactNode",
358
+ "required": false,
359
+ "description": ""
360
+ },
361
+ {
362
+ "name": "className",
363
+ "type": "string",
364
+ "required": false,
365
+ "description": ""
366
+ },
367
+ {
368
+ "name": "id",
369
+ "type": "string",
370
+ "required": false,
371
+ "description": ""
372
+ }
373
+ ]
374
+ },
375
+ {
376
+ "name": "CardFooter",
377
+ "kind": "component",
378
+ "description": "",
379
+ "className": "mn-card",
380
+ "clientOnly": false,
381
+ "props": [
382
+ {
383
+ "name": "children",
384
+ "type": "ReactNode",
385
+ "required": false,
386
+ "description": ""
387
+ },
388
+ {
389
+ "name": "className",
390
+ "type": "string",
391
+ "required": false,
392
+ "description": ""
393
+ },
394
+ {
395
+ "name": "id",
396
+ "type": "string",
397
+ "required": false,
398
+ "description": ""
399
+ }
400
+ ]
401
+ },
402
+ {
403
+ "name": "CardHeader",
404
+ "kind": "component",
405
+ "description": "",
406
+ "className": "mn-card",
407
+ "clientOnly": false,
408
+ "props": [
409
+ {
410
+ "name": "children",
411
+ "type": "ReactNode",
412
+ "required": false,
413
+ "description": ""
414
+ },
415
+ {
416
+ "name": "className",
417
+ "type": "string",
418
+ "required": false,
419
+ "description": ""
420
+ },
421
+ {
422
+ "name": "id",
423
+ "type": "string",
424
+ "required": false,
425
+ "description": ""
426
+ }
427
+ ]
428
+ },
429
+ {
430
+ "name": "CardTitle",
431
+ "kind": "component",
432
+ "description": "",
433
+ "className": "mn-card",
434
+ "clientOnly": false,
435
+ "props": [
436
+ {
437
+ "name": "as",
438
+ "type": "\"h2\" | \"h3\" | \"h4\"",
439
+ "required": false,
440
+ "description": "Heading level that fits the page outline. Default h3."
441
+ },
442
+ {
443
+ "name": "children",
444
+ "type": "ReactNode",
445
+ "required": false,
446
+ "description": ""
447
+ },
448
+ {
449
+ "name": "className",
450
+ "type": "string",
451
+ "required": false,
452
+ "description": ""
453
+ },
454
+ {
455
+ "name": "id",
456
+ "type": "string",
457
+ "required": false,
458
+ "description": ""
459
+ }
460
+ ]
461
+ },
462
+ {
463
+ "name": "Checkbox",
464
+ "kind": "component",
465
+ "description": "A checkbox with optional inline label. Supports `checked=\"indeterminate\"`.\nSpace toggles it; it participates in native forms via `name`/`value`.",
466
+ "className": "mn-checkbox-",
467
+ "clientOnly": true,
468
+ "props": [
469
+ {
470
+ "name": "asChild",
471
+ "type": "boolean",
472
+ "required": false,
473
+ "description": ""
474
+ },
475
+ {
476
+ "name": "children",
477
+ "type": "ReactNode",
478
+ "required": false,
479
+ "description": ""
480
+ },
481
+ {
482
+ "name": "className",
483
+ "type": "string",
484
+ "required": false,
485
+ "description": ""
486
+ },
487
+ {
488
+ "name": "description",
489
+ "type": "ReactNode",
490
+ "required": false,
491
+ "description": "Secondary text under an inline label."
492
+ },
493
+ {
494
+ "name": "disabled",
495
+ "type": "boolean",
496
+ "required": false,
497
+ "description": ""
498
+ },
499
+ {
500
+ "name": "id",
501
+ "type": "string",
502
+ "required": false,
503
+ "description": ""
504
+ },
505
+ {
506
+ "name": "invalid",
507
+ "type": "boolean",
508
+ "required": false,
509
+ "description": ""
510
+ },
511
+ {
512
+ "name": "label",
513
+ "type": "ReactNode",
514
+ "required": false,
515
+ "description": "Inline label. Omit when the checkbox sits inside a Field with a FieldLabel."
516
+ }
517
+ ]
518
+ },
519
+ {
520
+ "name": "Combobox",
521
+ "kind": "component",
522
+ "description": "Single-select with typeahead. The input is the combobox; the list is a\nlistbox positioned by Radix Popover. Keyboard: Down/Up move, Home/End jump,\nEnter selects, Escape closes, typing filters.",
523
+ "className": "mn-combobox-",
524
+ "clientOnly": true,
525
+ "props": [
526
+ {
527
+ "name": "options",
528
+ "type": "ComboboxOption[]",
529
+ "required": true,
530
+ "description": ""
531
+ },
532
+ {
533
+ "name": "children",
534
+ "type": "ReactNode",
535
+ "required": false,
536
+ "description": ""
537
+ },
538
+ {
539
+ "name": "className",
540
+ "type": "string",
541
+ "required": false,
542
+ "description": ""
543
+ },
544
+ {
545
+ "name": "clearable",
546
+ "type": "boolean",
547
+ "required": false,
548
+ "description": "Allow clearing the selection with the clear button / Backspace on empty input."
549
+ },
550
+ {
551
+ "name": "defaultValue",
552
+ "type": "string | null",
553
+ "required": false,
554
+ "description": ""
555
+ },
556
+ {
557
+ "name": "disabled",
558
+ "type": "boolean",
559
+ "required": false,
560
+ "description": ""
561
+ },
562
+ {
563
+ "name": "emptyMessage",
564
+ "type": "ReactNode",
565
+ "required": false,
566
+ "description": "Shown when no option matches."
567
+ },
568
+ {
569
+ "name": "filter",
570
+ "type": "((option: ComboboxOption, query: string) => boolean)",
571
+ "required": false,
572
+ "description": "Custom filter. Default: case-insensitive label match. Pass `() => true` for server-filtered lists."
573
+ },
574
+ {
575
+ "name": "id",
576
+ "type": "string",
577
+ "required": false,
578
+ "description": ""
579
+ },
580
+ {
581
+ "name": "inputValue",
582
+ "type": "string",
583
+ "required": false,
584
+ "description": "Text typed in the input (controlled). Use for server-side filtering."
585
+ },
586
+ {
587
+ "name": "invalid",
588
+ "type": "boolean",
589
+ "required": false,
590
+ "description": ""
591
+ },
592
+ {
593
+ "name": "loading",
594
+ "type": "boolean",
595
+ "required": false,
596
+ "description": "Shown while options load."
597
+ },
598
+ {
599
+ "name": "onInputValueChange",
600
+ "type": "((text: string) => void)",
601
+ "required": false,
602
+ "description": ""
603
+ },
604
+ {
605
+ "name": "onValueChange",
606
+ "type": "((value: string | null) => void)",
607
+ "required": false,
608
+ "description": ""
609
+ },
610
+ {
611
+ "name": "size",
612
+ "type": "\"sm\" | \"md\" | \"lg\"",
613
+ "required": false,
614
+ "description": ""
615
+ },
616
+ {
617
+ "name": "value",
618
+ "type": "string | null",
619
+ "required": false,
620
+ "description": "Selected option value (controlled)."
621
+ }
622
+ ]
623
+ },
624
+ {
625
+ "name": "cx",
626
+ "kind": "utility",
627
+ "description": "Joins class names, skipping falsy values. Tiny on purpose: no dependency.",
628
+ "clientOnly": false,
629
+ "props": []
630
+ },
631
+ {
632
+ "name": "DescriptionItem",
633
+ "kind": "component",
634
+ "description": "",
635
+ "className": "mn-dl",
636
+ "clientOnly": false,
637
+ "props": [
638
+ {
639
+ "name": "children",
640
+ "type": "ReactNode",
641
+ "required": true,
642
+ "description": ""
643
+ },
644
+ {
645
+ "name": "term",
646
+ "type": "ReactNode",
647
+ "required": true,
648
+ "description": ""
649
+ },
650
+ {
651
+ "name": "className",
652
+ "type": "string",
653
+ "required": false,
654
+ "description": ""
655
+ },
656
+ {
657
+ "name": "wide",
658
+ "type": "boolean",
659
+ "required": false,
660
+ "description": "Span all columns."
661
+ }
662
+ ]
663
+ },
664
+ {
665
+ "name": "DescriptionList",
666
+ "kind": "component",
667
+ "description": "Key/value facts on detail pages (owner, stage, created, …).",
668
+ "className": "mn-dl",
669
+ "clientOnly": false,
670
+ "props": [
671
+ {
672
+ "name": "children",
673
+ "type": "ReactNode",
674
+ "required": false,
675
+ "description": ""
676
+ },
677
+ {
678
+ "name": "className",
679
+ "type": "string",
680
+ "required": false,
681
+ "description": ""
682
+ },
683
+ {
684
+ "name": "columns",
685
+ "type": "3 | 1 | 2",
686
+ "required": false,
687
+ "description": ""
688
+ },
689
+ {
690
+ "name": "id",
691
+ "type": "string",
692
+ "required": false,
693
+ "description": ""
694
+ },
695
+ {
696
+ "name": "layout",
697
+ "type": "\"inline\" | \"stacked\"",
698
+ "required": false,
699
+ "description": "`stacked` (default) puts the term above the value; `inline` side by side."
700
+ }
701
+ ]
702
+ },
703
+ {
704
+ "name": "Dialog",
705
+ "kind": "component",
706
+ "description": "Modal dialog. Focus is trapped inside, Escape closes it, and focus returns\nto the trigger. Every dialog needs a DialogTitle (visually hidden if\nnecessary) so it has an accessible name.",
707
+ "className": "mn-overlay",
708
+ "clientOnly": true,
709
+ "props": [
710
+ {
711
+ "name": "children",
712
+ "type": "React.ReactNode",
713
+ "required": false,
714
+ "description": ""
715
+ }
716
+ ]
717
+ },
718
+ {
719
+ "name": "DialogBody",
720
+ "kind": "component",
721
+ "description": "",
722
+ "className": "mn-overlay",
723
+ "clientOnly": true,
724
+ "props": [
725
+ {
726
+ "name": "children",
727
+ "type": "ReactNode",
728
+ "required": false,
729
+ "description": ""
730
+ },
731
+ {
732
+ "name": "className",
733
+ "type": "string",
734
+ "required": false,
735
+ "description": ""
736
+ },
737
+ {
738
+ "name": "id",
739
+ "type": "string",
740
+ "required": false,
741
+ "description": ""
742
+ }
743
+ ]
744
+ },
745
+ {
746
+ "name": "DialogClose",
747
+ "kind": "component",
748
+ "description": "",
749
+ "className": "mn-overlay",
750
+ "clientOnly": true,
751
+ "props": [
752
+ {
753
+ "name": "asChild",
754
+ "type": "boolean",
755
+ "required": false,
756
+ "description": ""
757
+ },
758
+ {
759
+ "name": "children",
760
+ "type": "ReactNode",
761
+ "required": false,
762
+ "description": ""
763
+ },
764
+ {
765
+ "name": "className",
766
+ "type": "string",
767
+ "required": false,
768
+ "description": ""
769
+ },
770
+ {
771
+ "name": "disabled",
772
+ "type": "boolean",
773
+ "required": false,
774
+ "description": ""
775
+ },
776
+ {
777
+ "name": "id",
778
+ "type": "string",
779
+ "required": false,
780
+ "description": ""
781
+ }
782
+ ]
783
+ },
784
+ {
785
+ "name": "DialogContent",
786
+ "kind": "component",
787
+ "description": "",
788
+ "className": "mn-overlay",
789
+ "clientOnly": true,
790
+ "props": [
791
+ {
792
+ "name": "asChild",
793
+ "type": "boolean",
794
+ "required": false,
795
+ "description": ""
796
+ },
797
+ {
798
+ "name": "children",
799
+ "type": "ReactNode",
800
+ "required": false,
801
+ "description": ""
802
+ },
803
+ {
804
+ "name": "className",
805
+ "type": "string",
806
+ "required": false,
807
+ "description": ""
808
+ },
809
+ {
810
+ "name": "closeLabel",
811
+ "type": "string | null",
812
+ "required": false,
813
+ "description": "Accessible label of the built-in close button. Pass null to hide the button."
814
+ },
815
+ {
816
+ "name": "id",
817
+ "type": "string",
818
+ "required": false,
819
+ "description": ""
820
+ },
821
+ {
822
+ "name": "size",
823
+ "type": "\"sm\" | \"md\" | \"lg\" | \"xl\"",
824
+ "required": false,
825
+ "description": ""
826
+ }
827
+ ]
828
+ },
829
+ {
830
+ "name": "DialogDescription",
831
+ "kind": "component",
832
+ "description": "",
833
+ "className": "mn-overlay",
834
+ "clientOnly": true,
835
+ "props": [
836
+ {
837
+ "name": "asChild",
838
+ "type": "boolean",
839
+ "required": false,
840
+ "description": ""
841
+ },
842
+ {
843
+ "name": "children",
844
+ "type": "ReactNode",
845
+ "required": false,
846
+ "description": ""
847
+ },
848
+ {
849
+ "name": "className",
850
+ "type": "string",
851
+ "required": false,
852
+ "description": ""
853
+ },
854
+ {
855
+ "name": "id",
856
+ "type": "string",
857
+ "required": false,
858
+ "description": ""
859
+ }
860
+ ]
861
+ },
862
+ {
863
+ "name": "DialogFooter",
864
+ "kind": "component",
865
+ "description": "",
866
+ "className": "mn-overlay",
867
+ "clientOnly": true,
868
+ "props": [
869
+ {
870
+ "name": "children",
871
+ "type": "ReactNode",
872
+ "required": false,
873
+ "description": ""
874
+ },
875
+ {
876
+ "name": "className",
877
+ "type": "string",
878
+ "required": false,
879
+ "description": ""
880
+ },
881
+ {
882
+ "name": "id",
883
+ "type": "string",
884
+ "required": false,
885
+ "description": ""
886
+ }
887
+ ]
888
+ },
889
+ {
890
+ "name": "DialogHeader",
891
+ "kind": "component",
892
+ "description": "",
893
+ "className": "mn-overlay",
894
+ "clientOnly": true,
895
+ "props": [
896
+ {
897
+ "name": "children",
898
+ "type": "ReactNode",
899
+ "required": false,
900
+ "description": ""
901
+ },
902
+ {
903
+ "name": "className",
904
+ "type": "string",
905
+ "required": false,
906
+ "description": ""
907
+ },
908
+ {
909
+ "name": "id",
910
+ "type": "string",
911
+ "required": false,
912
+ "description": ""
913
+ }
914
+ ]
915
+ },
916
+ {
917
+ "name": "DialogTitle",
918
+ "kind": "component",
919
+ "description": "",
920
+ "className": "mn-overlay",
921
+ "clientOnly": true,
922
+ "props": [
923
+ {
924
+ "name": "asChild",
925
+ "type": "boolean",
926
+ "required": false,
927
+ "description": ""
928
+ },
929
+ {
930
+ "name": "children",
931
+ "type": "ReactNode",
932
+ "required": false,
933
+ "description": ""
934
+ },
935
+ {
936
+ "name": "className",
937
+ "type": "string",
938
+ "required": false,
939
+ "description": ""
940
+ },
941
+ {
942
+ "name": "id",
943
+ "type": "string",
944
+ "required": false,
945
+ "description": ""
946
+ }
947
+ ]
948
+ },
949
+ {
950
+ "name": "DialogTrigger",
951
+ "kind": "component",
952
+ "description": "",
953
+ "className": "mn-overlay",
954
+ "clientOnly": true,
955
+ "props": [
956
+ {
957
+ "name": "asChild",
958
+ "type": "boolean",
959
+ "required": false,
960
+ "description": ""
961
+ },
962
+ {
963
+ "name": "children",
964
+ "type": "ReactNode",
965
+ "required": false,
966
+ "description": ""
967
+ },
968
+ {
969
+ "name": "className",
970
+ "type": "string",
971
+ "required": false,
972
+ "description": ""
973
+ },
974
+ {
975
+ "name": "disabled",
976
+ "type": "boolean",
977
+ "required": false,
978
+ "description": ""
979
+ },
980
+ {
981
+ "name": "id",
982
+ "type": "string",
983
+ "required": false,
984
+ "description": ""
985
+ }
986
+ ]
987
+ },
988
+ {
989
+ "name": "DropdownMenu",
990
+ "kind": "component",
991
+ "description": "Action menu. Arrow keys move, typeahead jumps, Escape closes and restores focus.",
992
+ "className": "mn-menu",
993
+ "clientOnly": true,
994
+ "props": [
995
+ {
996
+ "name": "children",
997
+ "type": "React.ReactNode",
998
+ "required": false,
999
+ "description": ""
1000
+ }
1001
+ ]
1002
+ },
1003
+ {
1004
+ "name": "DropdownMenuCheckboxItem",
1005
+ "kind": "component",
1006
+ "description": "",
1007
+ "className": "mn-menu",
1008
+ "clientOnly": true,
1009
+ "props": [
1010
+ {
1011
+ "name": "asChild",
1012
+ "type": "boolean",
1013
+ "required": false,
1014
+ "description": ""
1015
+ },
1016
+ {
1017
+ "name": "children",
1018
+ "type": "ReactNode",
1019
+ "required": false,
1020
+ "description": ""
1021
+ },
1022
+ {
1023
+ "name": "className",
1024
+ "type": "string",
1025
+ "required": false,
1026
+ "description": ""
1027
+ },
1028
+ {
1029
+ "name": "disabled",
1030
+ "type": "boolean",
1031
+ "required": false,
1032
+ "description": ""
1033
+ },
1034
+ {
1035
+ "name": "id",
1036
+ "type": "string",
1037
+ "required": false,
1038
+ "description": ""
1039
+ }
1040
+ ]
1041
+ },
1042
+ {
1043
+ "name": "DropdownMenuContent",
1044
+ "kind": "component",
1045
+ "description": "",
1046
+ "className": "mn-menu",
1047
+ "clientOnly": true,
1048
+ "props": [
1049
+ {
1050
+ "name": "asChild",
1051
+ "type": "boolean",
1052
+ "required": false,
1053
+ "description": ""
1054
+ },
1055
+ {
1056
+ "name": "children",
1057
+ "type": "ReactNode",
1058
+ "required": false,
1059
+ "description": ""
1060
+ },
1061
+ {
1062
+ "name": "className",
1063
+ "type": "string",
1064
+ "required": false,
1065
+ "description": ""
1066
+ },
1067
+ {
1068
+ "name": "id",
1069
+ "type": "string",
1070
+ "required": false,
1071
+ "description": ""
1072
+ }
1073
+ ]
1074
+ },
1075
+ {
1076
+ "name": "DropdownMenuGroup",
1077
+ "kind": "component",
1078
+ "description": "",
1079
+ "className": "mn-menu",
1080
+ "clientOnly": true,
1081
+ "props": [
1082
+ {
1083
+ "name": "asChild",
1084
+ "type": "boolean",
1085
+ "required": false,
1086
+ "description": ""
1087
+ },
1088
+ {
1089
+ "name": "children",
1090
+ "type": "ReactNode",
1091
+ "required": false,
1092
+ "description": ""
1093
+ },
1094
+ {
1095
+ "name": "className",
1096
+ "type": "string",
1097
+ "required": false,
1098
+ "description": ""
1099
+ },
1100
+ {
1101
+ "name": "id",
1102
+ "type": "string",
1103
+ "required": false,
1104
+ "description": ""
1105
+ }
1106
+ ]
1107
+ },
1108
+ {
1109
+ "name": "DropdownMenuItem",
1110
+ "kind": "component",
1111
+ "description": "",
1112
+ "className": "mn-menu",
1113
+ "clientOnly": true,
1114
+ "props": [
1115
+ {
1116
+ "name": "asChild",
1117
+ "type": "boolean",
1118
+ "required": false,
1119
+ "description": ""
1120
+ },
1121
+ {
1122
+ "name": "children",
1123
+ "type": "ReactNode",
1124
+ "required": false,
1125
+ "description": ""
1126
+ },
1127
+ {
1128
+ "name": "className",
1129
+ "type": "string",
1130
+ "required": false,
1131
+ "description": ""
1132
+ },
1133
+ {
1134
+ "name": "disabled",
1135
+ "type": "boolean",
1136
+ "required": false,
1137
+ "description": ""
1138
+ },
1139
+ {
1140
+ "name": "icon",
1141
+ "type": "ReactNode",
1142
+ "required": false,
1143
+ "description": ""
1144
+ },
1145
+ {
1146
+ "name": "id",
1147
+ "type": "string",
1148
+ "required": false,
1149
+ "description": ""
1150
+ },
1151
+ {
1152
+ "name": "shortcut",
1153
+ "type": "string",
1154
+ "required": false,
1155
+ "description": "Keyboard shortcut hint, e.g. \"⌘D\". Display only."
1156
+ },
1157
+ {
1158
+ "name": "tone",
1159
+ "type": "\"danger\" | \"default\"",
1160
+ "required": false,
1161
+ "description": "`danger` for destructive actions. Pair with a confirmation step."
1162
+ }
1163
+ ]
1164
+ },
1165
+ {
1166
+ "name": "DropdownMenuLabel",
1167
+ "kind": "component",
1168
+ "description": "",
1169
+ "className": "mn-menu",
1170
+ "clientOnly": true,
1171
+ "props": [
1172
+ {
1173
+ "name": "asChild",
1174
+ "type": "boolean",
1175
+ "required": false,
1176
+ "description": ""
1177
+ },
1178
+ {
1179
+ "name": "children",
1180
+ "type": "ReactNode",
1181
+ "required": false,
1182
+ "description": ""
1183
+ },
1184
+ {
1185
+ "name": "className",
1186
+ "type": "string",
1187
+ "required": false,
1188
+ "description": ""
1189
+ },
1190
+ {
1191
+ "name": "id",
1192
+ "type": "string",
1193
+ "required": false,
1194
+ "description": ""
1195
+ }
1196
+ ]
1197
+ },
1198
+ {
1199
+ "name": "DropdownMenuRadioGroup",
1200
+ "kind": "component",
1201
+ "description": "",
1202
+ "className": "mn-menu",
1203
+ "clientOnly": true,
1204
+ "props": [
1205
+ {
1206
+ "name": "asChild",
1207
+ "type": "boolean",
1208
+ "required": false,
1209
+ "description": ""
1210
+ },
1211
+ {
1212
+ "name": "children",
1213
+ "type": "ReactNode",
1214
+ "required": false,
1215
+ "description": ""
1216
+ },
1217
+ {
1218
+ "name": "className",
1219
+ "type": "string",
1220
+ "required": false,
1221
+ "description": ""
1222
+ },
1223
+ {
1224
+ "name": "id",
1225
+ "type": "string",
1226
+ "required": false,
1227
+ "description": ""
1228
+ }
1229
+ ]
1230
+ },
1231
+ {
1232
+ "name": "DropdownMenuRadioItem",
1233
+ "kind": "component",
1234
+ "description": "",
1235
+ "className": "mn-menu",
1236
+ "clientOnly": true,
1237
+ "props": [
1238
+ {
1239
+ "name": "asChild",
1240
+ "type": "boolean",
1241
+ "required": false,
1242
+ "description": ""
1243
+ },
1244
+ {
1245
+ "name": "children",
1246
+ "type": "ReactNode",
1247
+ "required": false,
1248
+ "description": ""
1249
+ },
1250
+ {
1251
+ "name": "className",
1252
+ "type": "string",
1253
+ "required": false,
1254
+ "description": ""
1255
+ },
1256
+ {
1257
+ "name": "disabled",
1258
+ "type": "boolean",
1259
+ "required": false,
1260
+ "description": ""
1261
+ },
1262
+ {
1263
+ "name": "id",
1264
+ "type": "string",
1265
+ "required": false,
1266
+ "description": ""
1267
+ }
1268
+ ]
1269
+ },
1270
+ {
1271
+ "name": "DropdownMenuSeparator",
1272
+ "kind": "component",
1273
+ "description": "",
1274
+ "className": "mn-menu",
1275
+ "clientOnly": true,
1276
+ "props": [
1277
+ {
1278
+ "name": "asChild",
1279
+ "type": "boolean",
1280
+ "required": false,
1281
+ "description": ""
1282
+ },
1283
+ {
1284
+ "name": "children",
1285
+ "type": "ReactNode",
1286
+ "required": false,
1287
+ "description": ""
1288
+ },
1289
+ {
1290
+ "name": "className",
1291
+ "type": "string",
1292
+ "required": false,
1293
+ "description": ""
1294
+ },
1295
+ {
1296
+ "name": "id",
1297
+ "type": "string",
1298
+ "required": false,
1299
+ "description": ""
1300
+ }
1301
+ ]
1302
+ },
1303
+ {
1304
+ "name": "DropdownMenuSub",
1305
+ "kind": "component",
1306
+ "description": "",
1307
+ "className": "mn-menu",
1308
+ "clientOnly": true,
1309
+ "props": [
1310
+ {
1311
+ "name": "children",
1312
+ "type": "React.ReactNode",
1313
+ "required": false,
1314
+ "description": ""
1315
+ }
1316
+ ]
1317
+ },
1318
+ {
1319
+ "name": "DropdownMenuSubContent",
1320
+ "kind": "component",
1321
+ "description": "",
1322
+ "className": "mn-menu",
1323
+ "clientOnly": true,
1324
+ "props": [
1325
+ {
1326
+ "name": "asChild",
1327
+ "type": "boolean",
1328
+ "required": false,
1329
+ "description": ""
1330
+ },
1331
+ {
1332
+ "name": "children",
1333
+ "type": "ReactNode",
1334
+ "required": false,
1335
+ "description": ""
1336
+ },
1337
+ {
1338
+ "name": "className",
1339
+ "type": "string",
1340
+ "required": false,
1341
+ "description": ""
1342
+ },
1343
+ {
1344
+ "name": "id",
1345
+ "type": "string",
1346
+ "required": false,
1347
+ "description": ""
1348
+ }
1349
+ ]
1350
+ },
1351
+ {
1352
+ "name": "DropdownMenuSubTrigger",
1353
+ "kind": "component",
1354
+ "description": "",
1355
+ "className": "mn-menu",
1356
+ "clientOnly": true,
1357
+ "props": [
1358
+ {
1359
+ "name": "asChild",
1360
+ "type": "boolean",
1361
+ "required": false,
1362
+ "description": ""
1363
+ },
1364
+ {
1365
+ "name": "children",
1366
+ "type": "ReactNode",
1367
+ "required": false,
1368
+ "description": ""
1369
+ },
1370
+ {
1371
+ "name": "className",
1372
+ "type": "string",
1373
+ "required": false,
1374
+ "description": ""
1375
+ },
1376
+ {
1377
+ "name": "disabled",
1378
+ "type": "boolean",
1379
+ "required": false,
1380
+ "description": ""
1381
+ },
1382
+ {
1383
+ "name": "id",
1384
+ "type": "string",
1385
+ "required": false,
1386
+ "description": ""
1387
+ }
1388
+ ]
1389
+ },
1390
+ {
1391
+ "name": "DropdownMenuTrigger",
1392
+ "kind": "component",
1393
+ "description": "",
1394
+ "className": "mn-menu",
1395
+ "clientOnly": true,
1396
+ "props": [
1397
+ {
1398
+ "name": "asChild",
1399
+ "type": "boolean",
1400
+ "required": false,
1401
+ "description": ""
1402
+ },
1403
+ {
1404
+ "name": "children",
1405
+ "type": "ReactNode",
1406
+ "required": false,
1407
+ "description": ""
1408
+ },
1409
+ {
1410
+ "name": "className",
1411
+ "type": "string",
1412
+ "required": false,
1413
+ "description": ""
1414
+ },
1415
+ {
1416
+ "name": "disabled",
1417
+ "type": "boolean",
1418
+ "required": false,
1419
+ "description": ""
1420
+ },
1421
+ {
1422
+ "name": "id",
1423
+ "type": "string",
1424
+ "required": false,
1425
+ "description": ""
1426
+ }
1427
+ ]
1428
+ },
1429
+ {
1430
+ "name": "EmptyState",
1431
+ "kind": "component",
1432
+ "description": "Shown when there is nothing to display yet. Say what will appear here and\noffer the action that creates it.",
1433
+ "className": "mn-empty-state",
1434
+ "clientOnly": false,
1435
+ "props": [
1436
+ {
1437
+ "name": "title",
1438
+ "type": "ReactNode",
1439
+ "required": true,
1440
+ "description": ""
1441
+ },
1442
+ {
1443
+ "name": "actions",
1444
+ "type": "ReactNode",
1445
+ "required": false,
1446
+ "description": "Primary and secondary actions, usually Buttons."
1447
+ },
1448
+ {
1449
+ "name": "children",
1450
+ "type": "ReactNode",
1451
+ "required": false,
1452
+ "description": ""
1453
+ },
1454
+ {
1455
+ "name": "className",
1456
+ "type": "string",
1457
+ "required": false,
1458
+ "description": ""
1459
+ },
1460
+ {
1461
+ "name": "description",
1462
+ "type": "ReactNode",
1463
+ "required": false,
1464
+ "description": ""
1465
+ },
1466
+ {
1467
+ "name": "headingLevel",
1468
+ "type": "\"h2\" | \"h3\" | \"h4\"",
1469
+ "required": false,
1470
+ "description": ""
1471
+ },
1472
+ {
1473
+ "name": "icon",
1474
+ "type": "ReactNode",
1475
+ "required": false,
1476
+ "description": ""
1477
+ },
1478
+ {
1479
+ "name": "id",
1480
+ "type": "string",
1481
+ "required": false,
1482
+ "description": ""
1483
+ },
1484
+ {
1485
+ "name": "size",
1486
+ "type": "\"inline\" | \"page\"",
1487
+ "required": false,
1488
+ "description": "`page` fills an empty view; `inline` sits inside a card or table."
1489
+ }
1490
+ ]
1491
+ },
1492
+ {
1493
+ "name": "ErrorState",
1494
+ "kind": "component",
1495
+ "description": "Something failed to load. Say what failed and offer a retry.",
1496
+ "className": "mn-error-state",
1497
+ "clientOnly": false,
1498
+ "props": [
1499
+ {
1500
+ "name": "title",
1501
+ "type": "ReactNode",
1502
+ "required": true,
1503
+ "description": ""
1504
+ },
1505
+ {
1506
+ "name": "actions",
1507
+ "type": "ReactNode",
1508
+ "required": false,
1509
+ "description": "Extra actions next to retry."
1510
+ },
1511
+ {
1512
+ "name": "children",
1513
+ "type": "ReactNode",
1514
+ "required": false,
1515
+ "description": ""
1516
+ },
1517
+ {
1518
+ "name": "className",
1519
+ "type": "string",
1520
+ "required": false,
1521
+ "description": ""
1522
+ },
1523
+ {
1524
+ "name": "description",
1525
+ "type": "ReactNode",
1526
+ "required": false,
1527
+ "description": ""
1528
+ },
1529
+ {
1530
+ "name": "headingLevel",
1531
+ "type": "\"h2\" | \"h3\" | \"h4\"",
1532
+ "required": false,
1533
+ "description": ""
1534
+ },
1535
+ {
1536
+ "name": "icon",
1537
+ "type": "ReactNode",
1538
+ "required": false,
1539
+ "description": ""
1540
+ },
1541
+ {
1542
+ "name": "id",
1543
+ "type": "string",
1544
+ "required": false,
1545
+ "description": ""
1546
+ },
1547
+ {
1548
+ "name": "onRetry",
1549
+ "type": "(() => void)",
1550
+ "required": false,
1551
+ "description": "Retry handler; renders a \"Try again\" button."
1552
+ },
1553
+ {
1554
+ "name": "retryLabel",
1555
+ "type": "string",
1556
+ "required": false,
1557
+ "description": ""
1558
+ },
1559
+ {
1560
+ "name": "size",
1561
+ "type": "\"inline\" | \"page\"",
1562
+ "required": false,
1563
+ "description": "`page` fills an empty view; `inline` sits inside a card or table."
1564
+ }
1565
+ ]
1566
+ },
1567
+ {
1568
+ "name": "Field",
1569
+ "kind": "component",
1570
+ "description": "Groups a label, a control, help text and an error message, and wires their\nids together: the control gets `id`, `aria-describedby`, `aria-invalid`,\n`aria-required` and `disabled` automatically. Descriptions and errors\nregister themselves, so `aria-describedby` only names elements that exist.\n\n <Field invalid={!!error}>\n <FieldLabel>Email</FieldLabel>\n <Input type=\"email\" />\n <FieldError>{error}</FieldError>\n </Field>",
1571
+ "className": "mn-field-",
1572
+ "clientOnly": true,
1573
+ "props": [
1574
+ {
1575
+ "name": "children",
1576
+ "type": "ReactNode",
1577
+ "required": true,
1578
+ "description": ""
1579
+ },
1580
+ {
1581
+ "name": "className",
1582
+ "type": "string",
1583
+ "required": false,
1584
+ "description": ""
1585
+ },
1586
+ {
1587
+ "name": "disabled",
1588
+ "type": "boolean",
1589
+ "required": false,
1590
+ "description": ""
1591
+ },
1592
+ {
1593
+ "name": "id",
1594
+ "type": "string",
1595
+ "required": false,
1596
+ "description": "Override the generated control id (e.g. to match an existing label)."
1597
+ },
1598
+ {
1599
+ "name": "invalid",
1600
+ "type": "boolean",
1601
+ "required": false,
1602
+ "description": ""
1603
+ },
1604
+ {
1605
+ "name": "required",
1606
+ "type": "boolean",
1607
+ "required": false,
1608
+ "description": ""
1609
+ }
1610
+ ]
1611
+ },
1612
+ {
1613
+ "name": "FieldDescription",
1614
+ "kind": "component",
1615
+ "description": "",
1616
+ "className": "mn-field-",
1617
+ "clientOnly": true,
1618
+ "props": [
1619
+ {
1620
+ "name": "children",
1621
+ "type": "ReactNode",
1622
+ "required": false,
1623
+ "description": ""
1624
+ },
1625
+ {
1626
+ "name": "className",
1627
+ "type": "string",
1628
+ "required": false,
1629
+ "description": ""
1630
+ },
1631
+ {
1632
+ "name": "id",
1633
+ "type": "string",
1634
+ "required": false,
1635
+ "description": ""
1636
+ }
1637
+ ]
1638
+ },
1639
+ {
1640
+ "name": "FieldError",
1641
+ "kind": "component",
1642
+ "description": "Renders nothing when empty, so it can always be present. Announced politely\nwhen it appears.",
1643
+ "className": "mn-field-",
1644
+ "clientOnly": true,
1645
+ "props": [
1646
+ {
1647
+ "name": "children",
1648
+ "type": "ReactNode",
1649
+ "required": false,
1650
+ "description": ""
1651
+ },
1652
+ {
1653
+ "name": "className",
1654
+ "type": "string",
1655
+ "required": false,
1656
+ "description": ""
1657
+ },
1658
+ {
1659
+ "name": "id",
1660
+ "type": "string",
1661
+ "required": false,
1662
+ "description": ""
1663
+ }
1664
+ ]
1665
+ },
1666
+ {
1667
+ "name": "FieldLabel",
1668
+ "kind": "component",
1669
+ "description": "",
1670
+ "className": "mn-field-",
1671
+ "clientOnly": true,
1672
+ "props": [
1673
+ {
1674
+ "name": "children",
1675
+ "type": "ReactNode",
1676
+ "required": false,
1677
+ "description": ""
1678
+ },
1679
+ {
1680
+ "name": "className",
1681
+ "type": "string",
1682
+ "required": false,
1683
+ "description": ""
1684
+ },
1685
+ {
1686
+ "name": "id",
1687
+ "type": "string",
1688
+ "required": false,
1689
+ "description": ""
1690
+ },
1691
+ {
1692
+ "name": "optionalText",
1693
+ "type": "string",
1694
+ "required": false,
1695
+ "description": "Text shown after the label for optional fields, e.g. \"Optional\"."
1696
+ }
1697
+ ]
1698
+ },
1699
+ {
1700
+ "name": "FilterBar",
1701
+ "kind": "component",
1702
+ "description": "Row of FilterChips with an optional add control and \"Clear all\".",
1703
+ "className": "mn-filter-chip",
1704
+ "clientOnly": true,
1705
+ "props": [
1706
+ {
1707
+ "name": "add",
1708
+ "type": "ReactNode",
1709
+ "required": false,
1710
+ "description": "Slot for an \"Add filter\" control."
1711
+ },
1712
+ {
1713
+ "name": "children",
1714
+ "type": "ReactNode",
1715
+ "required": false,
1716
+ "description": ""
1717
+ },
1718
+ {
1719
+ "name": "className",
1720
+ "type": "string",
1721
+ "required": false,
1722
+ "description": ""
1723
+ },
1724
+ {
1725
+ "name": "clearAllLabel",
1726
+ "type": "string",
1727
+ "required": false,
1728
+ "description": "Hide \"Clear all\" when there is nothing to clear."
1729
+ },
1730
+ {
1731
+ "name": "id",
1732
+ "type": "string",
1733
+ "required": false,
1734
+ "description": ""
1735
+ },
1736
+ {
1737
+ "name": "label",
1738
+ "type": "string",
1739
+ "required": false,
1740
+ "description": "Accessible name of the group."
1741
+ },
1742
+ {
1743
+ "name": "onClearAll",
1744
+ "type": "(() => void)",
1745
+ "required": false,
1746
+ "description": "Called by the \"Clear all\" button; the button is hidden when omitted."
1747
+ }
1748
+ ]
1749
+ },
1750
+ {
1751
+ "name": "FilterChip",
1752
+ "kind": "component",
1753
+ "description": "One active filter.",
1754
+ "className": "mn-filter-chip",
1755
+ "clientOnly": true,
1756
+ "props": [
1757
+ {
1758
+ "name": "name",
1759
+ "type": "string",
1760
+ "required": true,
1761
+ "description": "Filter field, e.g. \"Status\"."
1762
+ },
1763
+ {
1764
+ "name": "value",
1765
+ "type": "ReactNode",
1766
+ "required": true,
1767
+ "description": "Current value, e.g. \"Open\"."
1768
+ },
1769
+ {
1770
+ "name": "className",
1771
+ "type": "string",
1772
+ "required": false,
1773
+ "description": ""
1774
+ },
1775
+ {
1776
+ "name": "id",
1777
+ "type": "string",
1778
+ "required": false,
1779
+ "description": ""
1780
+ },
1781
+ {
1782
+ "name": "onRemove",
1783
+ "type": "(() => void)",
1784
+ "required": false,
1785
+ "description": "Removes the filter. The remove button is labelled \"Remove <name> filter\"."
1786
+ }
1787
+ ]
1788
+ },
1789
+ {
1790
+ "name": "IconButton",
1791
+ "kind": "component",
1792
+ "description": "Square button containing only an icon. `label` is required by the type system.",
1793
+ "className": "mn-button",
1794
+ "clientOnly": true,
1795
+ "props": [
1796
+ {
1797
+ "name": "icon",
1798
+ "type": "ReactNode",
1799
+ "required": true,
1800
+ "description": ""
1801
+ },
1802
+ {
1803
+ "name": "label",
1804
+ "type": "string",
1805
+ "required": true,
1806
+ "description": "Required accessible name, since there is no visible text."
1807
+ },
1808
+ {
1809
+ "name": "asChild",
1810
+ "type": "boolean",
1811
+ "required": false,
1812
+ "description": "Render the child element (e.g. a Next.js <Link>) with button styling."
1813
+ },
1814
+ {
1815
+ "name": "className",
1816
+ "type": "string",
1817
+ "required": false,
1818
+ "description": ""
1819
+ },
1820
+ {
1821
+ "name": "disabled",
1822
+ "type": "boolean",
1823
+ "required": false,
1824
+ "description": ""
1825
+ },
1826
+ {
1827
+ "name": "id",
1828
+ "type": "string",
1829
+ "required": false,
1830
+ "description": ""
1831
+ },
1832
+ {
1833
+ "name": "loading",
1834
+ "type": "boolean",
1835
+ "required": false,
1836
+ "description": "Shows a spinner, sets aria-busy and blocks clicks while keeping focus."
1837
+ },
1838
+ {
1839
+ "name": "size",
1840
+ "type": "ButtonSize",
1841
+ "required": false,
1842
+ "description": ""
1843
+ },
1844
+ {
1845
+ "name": "variant",
1846
+ "type": "ButtonVariant",
1847
+ "required": false,
1848
+ "description": "Visual weight. Use one `primary` per view region. Default `secondary`."
1849
+ }
1850
+ ]
1851
+ },
1852
+ {
1853
+ "name": "initials",
1854
+ "kind": "utility",
1855
+ "description": "",
1856
+ "clientOnly": true,
1857
+ "props": []
1858
+ },
1859
+ {
1860
+ "name": "Input",
1861
+ "kind": "component",
1862
+ "description": "",
1863
+ "className": "mn-input",
1864
+ "clientOnly": true,
1865
+ "props": [
1866
+ {
1867
+ "name": "children",
1868
+ "type": "ReactNode",
1869
+ "required": false,
1870
+ "description": ""
1871
+ },
1872
+ {
1873
+ "name": "className",
1874
+ "type": "string",
1875
+ "required": false,
1876
+ "description": ""
1877
+ },
1878
+ {
1879
+ "name": "disabled",
1880
+ "type": "boolean",
1881
+ "required": false,
1882
+ "description": ""
1883
+ },
1884
+ {
1885
+ "name": "id",
1886
+ "type": "string",
1887
+ "required": false,
1888
+ "description": ""
1889
+ },
1890
+ {
1891
+ "name": "invalid",
1892
+ "type": "boolean",
1893
+ "required": false,
1894
+ "description": "Marks the value invalid. Inside a Field, the Field's `invalid` is used."
1895
+ },
1896
+ {
1897
+ "name": "size",
1898
+ "type": "ControlSize",
1899
+ "required": false,
1900
+ "description": ""
1901
+ }
1902
+ ]
1903
+ },
1904
+ {
1905
+ "name": "Kbd",
1906
+ "kind": "component",
1907
+ "description": "A keyboard key or shortcut, e.g. <Kbd>⌘K</Kbd>.",
1908
+ "className": "mn-kbd",
1909
+ "clientOnly": false,
1910
+ "props": [
1911
+ {
1912
+ "name": "children",
1913
+ "type": "ReactNode",
1914
+ "required": false,
1915
+ "description": ""
1916
+ },
1917
+ {
1918
+ "name": "className",
1919
+ "type": "string",
1920
+ "required": false,
1921
+ "description": ""
1922
+ },
1923
+ {
1924
+ "name": "id",
1925
+ "type": "string",
1926
+ "required": false,
1927
+ "description": ""
1928
+ }
1929
+ ]
1930
+ },
1931
+ {
1932
+ "name": "Link",
1933
+ "kind": "component",
1934
+ "description": "Text link. When `target=\"_blank\"` it adds `rel=\"noopener noreferrer\"`, an\nexternal icon and a hidden \"opens in a new tab\" note.",
1935
+ "className": "mn-link",
1936
+ "clientOnly": false,
1937
+ "props": [
1938
+ {
1939
+ "name": "asChild",
1940
+ "type": "boolean",
1941
+ "required": false,
1942
+ "description": "Render the child element (e.g. a Next.js Link) with link styling."
1943
+ },
1944
+ {
1945
+ "name": "children",
1946
+ "type": "ReactNode",
1947
+ "required": false,
1948
+ "description": ""
1949
+ },
1950
+ {
1951
+ "name": "className",
1952
+ "type": "string",
1953
+ "required": false,
1954
+ "description": ""
1955
+ },
1956
+ {
1957
+ "name": "id",
1958
+ "type": "string",
1959
+ "required": false,
1960
+ "description": ""
1961
+ },
1962
+ {
1963
+ "name": "variant",
1964
+ "type": "\"subtle\" | \"inline\" | \"standalone\"",
1965
+ "required": false,
1966
+ "description": "`inline` (default) for links in text, `standalone` for links in lists and footers."
1967
+ }
1968
+ ]
1969
+ },
1970
+ {
1971
+ "name": "LoadingState",
1972
+ "kind": "component",
1973
+ "description": "Skeleton placeholder with an aria-busy region and a live announcement.",
1974
+ "className": "mn-error-state",
1975
+ "clientOnly": false,
1976
+ "props": [
1977
+ {
1978
+ "name": "label",
1979
+ "type": "string",
1980
+ "required": true,
1981
+ "description": "Announced to screen readers, e.g. \"Loading tickets\"."
1982
+ },
1983
+ {
1984
+ "name": "children",
1985
+ "type": "ReactNode",
1986
+ "required": false,
1987
+ "description": ""
1988
+ },
1989
+ {
1990
+ "name": "className",
1991
+ "type": "string",
1992
+ "required": false,
1993
+ "description": ""
1994
+ },
1995
+ {
1996
+ "name": "id",
1997
+ "type": "string",
1998
+ "required": false,
1999
+ "description": ""
2000
+ },
2001
+ {
2002
+ "name": "rows",
2003
+ "type": "number",
2004
+ "required": false,
2005
+ "description": "Skeleton rows to render."
2006
+ },
2007
+ {
2008
+ "name": "variant",
2009
+ "type": "\"list\" | \"cards\" | \"detail\"",
2010
+ "required": false,
2011
+ "description": "`list` (default) stacks rows; `cards` renders a grid; `detail` a title + paragraphs."
2012
+ }
2013
+ ]
2014
+ },
2015
+ {
2016
+ "name": "PageHeader",
2017
+ "kind": "component",
2018
+ "description": "Top of every main view: title, context, and the actions that apply to the whole page.",
2019
+ "className": "mn-page-header",
2020
+ "clientOnly": false,
2021
+ "props": [
2022
+ {
2023
+ "name": "title",
2024
+ "type": "ReactNode",
2025
+ "required": true,
2026
+ "description": "Page title, rendered as the page's single h1."
2027
+ },
2028
+ {
2029
+ "name": "actions",
2030
+ "type": "ReactNode",
2031
+ "required": false,
2032
+ "description": "Primary and secondary actions. Keep one `primary` Button."
2033
+ },
2034
+ {
2035
+ "name": "children",
2036
+ "type": "ReactNode",
2037
+ "required": false,
2038
+ "description": ""
2039
+ },
2040
+ {
2041
+ "name": "className",
2042
+ "type": "string",
2043
+ "required": false,
2044
+ "description": ""
2045
+ },
2046
+ {
2047
+ "name": "description",
2048
+ "type": "ReactNode",
2049
+ "required": false,
2050
+ "description": ""
2051
+ },
2052
+ {
2053
+ "name": "eyebrow",
2054
+ "type": "ReactNode",
2055
+ "required": false,
2056
+ "description": "Breadcrumb or eyebrow text above the title."
2057
+ },
2058
+ {
2059
+ "name": "id",
2060
+ "type": "string",
2061
+ "required": false,
2062
+ "description": ""
2063
+ },
2064
+ {
2065
+ "name": "meta",
2066
+ "type": "ReactNode",
2067
+ "required": false,
2068
+ "description": "Badge or status next to the title."
2069
+ },
2070
+ {
2071
+ "name": "tabs",
2072
+ "type": "ReactNode",
2073
+ "required": false,
2074
+ "description": "A TabsList for section navigation below the title."
2075
+ }
2076
+ ]
2077
+ },
2078
+ {
2079
+ "name": "pageWindow",
2080
+ "kind": "utility",
2081
+ "description": "Which page numbers to show: first, last, and a window around the current page.",
2082
+ "clientOnly": true,
2083
+ "props": []
2084
+ },
2085
+ {
2086
+ "name": "Pagination",
2087
+ "kind": "component",
2088
+ "description": "",
2089
+ "className": "mn-pagination",
2090
+ "clientOnly": true,
2091
+ "props": [
2092
+ {
2093
+ "name": "onPageChange",
2094
+ "type": "(page: number) => void",
2095
+ "required": true,
2096
+ "description": ""
2097
+ },
2098
+ {
2099
+ "name": "page",
2100
+ "type": "number",
2101
+ "required": true,
2102
+ "description": "1-based current page."
2103
+ },
2104
+ {
2105
+ "name": "pageCount",
2106
+ "type": "number",
2107
+ "required": true,
2108
+ "description": ""
2109
+ },
2110
+ {
2111
+ "name": "className",
2112
+ "type": "string",
2113
+ "required": false,
2114
+ "description": ""
2115
+ },
2116
+ {
2117
+ "name": "label",
2118
+ "type": "string",
2119
+ "required": false,
2120
+ "description": "Accessible name of the nav."
2121
+ },
2122
+ {
2123
+ "name": "pageSize",
2124
+ "type": "number",
2125
+ "required": false,
2126
+ "description": "Needed for the compact range text."
2127
+ },
2128
+ {
2129
+ "name": "totalItems",
2130
+ "type": "number",
2131
+ "required": false,
2132
+ "description": ""
2133
+ },
2134
+ {
2135
+ "name": "variant",
2136
+ "type": "\"compact\" | \"full\"",
2137
+ "required": false,
2138
+ "description": "`full` shows numbered pages; `compact` shows \"1–20 of 143\" with arrows."
2139
+ }
2140
+ ]
2141
+ },
2142
+ {
2143
+ "name": "Popover",
2144
+ "kind": "component",
2145
+ "description": "Non-modal floating panel for filters, pickers and quick edits.",
2146
+ "className": "mn-popover",
2147
+ "clientOnly": true,
2148
+ "props": [
2149
+ {
2150
+ "name": "children",
2151
+ "type": "React.ReactNode",
2152
+ "required": false,
2153
+ "description": ""
2154
+ }
2155
+ ]
2156
+ },
2157
+ {
2158
+ "name": "PopoverAnchor",
2159
+ "kind": "component",
2160
+ "description": "",
2161
+ "className": "mn-popover",
2162
+ "clientOnly": true,
2163
+ "props": [
2164
+ {
2165
+ "name": "asChild",
2166
+ "type": "boolean",
2167
+ "required": false,
2168
+ "description": ""
2169
+ },
2170
+ {
2171
+ "name": "children",
2172
+ "type": "ReactNode",
2173
+ "required": false,
2174
+ "description": ""
2175
+ },
2176
+ {
2177
+ "name": "className",
2178
+ "type": "string",
2179
+ "required": false,
2180
+ "description": ""
2181
+ },
2182
+ {
2183
+ "name": "id",
2184
+ "type": "string",
2185
+ "required": false,
2186
+ "description": ""
2187
+ }
2188
+ ]
2189
+ },
2190
+ {
2191
+ "name": "PopoverClose",
2192
+ "kind": "component",
2193
+ "description": "",
2194
+ "className": "mn-popover",
2195
+ "clientOnly": true,
2196
+ "props": [
2197
+ {
2198
+ "name": "asChild",
2199
+ "type": "boolean",
2200
+ "required": false,
2201
+ "description": ""
2202
+ },
2203
+ {
2204
+ "name": "children",
2205
+ "type": "ReactNode",
2206
+ "required": false,
2207
+ "description": ""
2208
+ },
2209
+ {
2210
+ "name": "className",
2211
+ "type": "string",
2212
+ "required": false,
2213
+ "description": ""
2214
+ },
2215
+ {
2216
+ "name": "disabled",
2217
+ "type": "boolean",
2218
+ "required": false,
2219
+ "description": ""
2220
+ },
2221
+ {
2222
+ "name": "id",
2223
+ "type": "string",
2224
+ "required": false,
2225
+ "description": ""
2226
+ }
2227
+ ]
2228
+ },
2229
+ {
2230
+ "name": "PopoverContent",
2231
+ "kind": "component",
2232
+ "description": "",
2233
+ "className": "mn-popover",
2234
+ "clientOnly": true,
2235
+ "props": [
2236
+ {
2237
+ "name": "asChild",
2238
+ "type": "boolean",
2239
+ "required": false,
2240
+ "description": ""
2241
+ },
2242
+ {
2243
+ "name": "children",
2244
+ "type": "ReactNode",
2245
+ "required": false,
2246
+ "description": ""
2247
+ },
2248
+ {
2249
+ "name": "className",
2250
+ "type": "string",
2251
+ "required": false,
2252
+ "description": ""
2253
+ },
2254
+ {
2255
+ "name": "id",
2256
+ "type": "string",
2257
+ "required": false,
2258
+ "description": ""
2259
+ }
2260
+ ]
2261
+ },
2262
+ {
2263
+ "name": "PopoverTrigger",
2264
+ "kind": "component",
2265
+ "description": "",
2266
+ "className": "mn-popover",
2267
+ "clientOnly": true,
2268
+ "props": [
2269
+ {
2270
+ "name": "asChild",
2271
+ "type": "boolean",
2272
+ "required": false,
2273
+ "description": ""
2274
+ },
2275
+ {
2276
+ "name": "children",
2277
+ "type": "ReactNode",
2278
+ "required": false,
2279
+ "description": ""
2280
+ },
2281
+ {
2282
+ "name": "className",
2283
+ "type": "string",
2284
+ "required": false,
2285
+ "description": ""
2286
+ },
2287
+ {
2288
+ "name": "disabled",
2289
+ "type": "boolean",
2290
+ "required": false,
2291
+ "description": ""
2292
+ },
2293
+ {
2294
+ "name": "id",
2295
+ "type": "string",
2296
+ "required": false,
2297
+ "description": ""
2298
+ }
2299
+ ]
2300
+ },
2301
+ {
2302
+ "name": "Progress",
2303
+ "kind": "component",
2304
+ "description": "Linear progress bar; `value` undefined renders an indeterminate animation.",
2305
+ "className": "mn-progress",
2306
+ "clientOnly": false,
2307
+ "props": [
2308
+ {
2309
+ "name": "asChild",
2310
+ "type": "boolean",
2311
+ "required": false,
2312
+ "description": ""
2313
+ },
2314
+ {
2315
+ "name": "children",
2316
+ "type": "ReactNode",
2317
+ "required": false,
2318
+ "description": ""
2319
+ },
2320
+ {
2321
+ "name": "className",
2322
+ "type": "string",
2323
+ "required": false,
2324
+ "description": ""
2325
+ },
2326
+ {
2327
+ "name": "id",
2328
+ "type": "string",
2329
+ "required": false,
2330
+ "description": ""
2331
+ },
2332
+ {
2333
+ "name": "label",
2334
+ "type": "string",
2335
+ "required": false,
2336
+ "description": "Accessible name, e.g. \"Upload progress\". Required unless aria-labelledby is set."
2337
+ },
2338
+ {
2339
+ "name": "max",
2340
+ "type": "number",
2341
+ "required": false,
2342
+ "description": ""
2343
+ },
2344
+ {
2345
+ "name": "size",
2346
+ "type": "\"sm\" | \"md\"",
2347
+ "required": false,
2348
+ "description": ""
2349
+ },
2350
+ {
2351
+ "name": "tone",
2352
+ "type": "\"danger\" | \"accent\" | \"success\" | \"warning\"",
2353
+ "required": false,
2354
+ "description": ""
2355
+ },
2356
+ {
2357
+ "name": "value",
2358
+ "type": "number | null",
2359
+ "required": false,
2360
+ "description": "0–`max`. Omit for indeterminate."
2361
+ }
2362
+ ]
2363
+ },
2364
+ {
2365
+ "name": "Select",
2366
+ "kind": "component",
2367
+ "description": "Single-value select built on Radix Select: typeahead, arrow-key navigation,\nand screen-reader semantics come from the primitive.\n\n <Select value={v} onValueChange={setV}>\n <SelectTrigger placeholder=\"Choose a status\" />\n <SelectContent>\n <SelectItem value=\"open\">Open</SelectItem>\n </SelectContent>\n </Select>",
2368
+ "className": "mn-input",
2369
+ "clientOnly": true,
2370
+ "props": [
2371
+ {
2372
+ "name": "children",
2373
+ "type": "React.ReactNode",
2374
+ "required": false,
2375
+ "description": ""
2376
+ },
2377
+ {
2378
+ "name": "disabled",
2379
+ "type": "boolean",
2380
+ "required": false,
2381
+ "description": ""
2382
+ }
2383
+ ]
2384
+ },
2385
+ {
2386
+ "name": "SelectContent",
2387
+ "kind": "component",
2388
+ "description": "",
2389
+ "className": "mn-input",
2390
+ "clientOnly": true,
2391
+ "props": [
2392
+ {
2393
+ "name": "asChild",
2394
+ "type": "boolean",
2395
+ "required": false,
2396
+ "description": ""
2397
+ },
2398
+ {
2399
+ "name": "children",
2400
+ "type": "ReactNode",
2401
+ "required": false,
2402
+ "description": ""
2403
+ },
2404
+ {
2405
+ "name": "className",
2406
+ "type": "string",
2407
+ "required": false,
2408
+ "description": ""
2409
+ },
2410
+ {
2411
+ "name": "id",
2412
+ "type": "string",
2413
+ "required": false,
2414
+ "description": ""
2415
+ }
2416
+ ]
2417
+ },
2418
+ {
2419
+ "name": "SelectGroup",
2420
+ "kind": "component",
2421
+ "description": "",
2422
+ "className": "mn-input",
2423
+ "clientOnly": true,
2424
+ "props": [
2425
+ {
2426
+ "name": "asChild",
2427
+ "type": "boolean",
2428
+ "required": false,
2429
+ "description": ""
2430
+ },
2431
+ {
2432
+ "name": "children",
2433
+ "type": "ReactNode",
2434
+ "required": false,
2435
+ "description": ""
2436
+ },
2437
+ {
2438
+ "name": "className",
2439
+ "type": "string",
2440
+ "required": false,
2441
+ "description": ""
2442
+ },
2443
+ {
2444
+ "name": "id",
2445
+ "type": "string",
2446
+ "required": false,
2447
+ "description": ""
2448
+ }
2449
+ ]
2450
+ },
2451
+ {
2452
+ "name": "SelectItem",
2453
+ "kind": "component",
2454
+ "description": "",
2455
+ "className": "mn-input",
2456
+ "clientOnly": true,
2457
+ "props": [
2458
+ {
2459
+ "name": "asChild",
2460
+ "type": "boolean",
2461
+ "required": false,
2462
+ "description": ""
2463
+ },
2464
+ {
2465
+ "name": "children",
2466
+ "type": "ReactNode",
2467
+ "required": false,
2468
+ "description": ""
2469
+ },
2470
+ {
2471
+ "name": "className",
2472
+ "type": "string",
2473
+ "required": false,
2474
+ "description": ""
2475
+ },
2476
+ {
2477
+ "name": "disabled",
2478
+ "type": "boolean",
2479
+ "required": false,
2480
+ "description": ""
2481
+ },
2482
+ {
2483
+ "name": "id",
2484
+ "type": "string",
2485
+ "required": false,
2486
+ "description": ""
2487
+ }
2488
+ ]
2489
+ },
2490
+ {
2491
+ "name": "SelectLabel",
2492
+ "kind": "component",
2493
+ "description": "",
2494
+ "className": "mn-input",
2495
+ "clientOnly": true,
2496
+ "props": [
2497
+ {
2498
+ "name": "asChild",
2499
+ "type": "boolean",
2500
+ "required": false,
2501
+ "description": ""
2502
+ },
2503
+ {
2504
+ "name": "children",
2505
+ "type": "ReactNode",
2506
+ "required": false,
2507
+ "description": ""
2508
+ },
2509
+ {
2510
+ "name": "className",
2511
+ "type": "string",
2512
+ "required": false,
2513
+ "description": ""
2514
+ },
2515
+ {
2516
+ "name": "id",
2517
+ "type": "string",
2518
+ "required": false,
2519
+ "description": ""
2520
+ }
2521
+ ]
2522
+ },
2523
+ {
2524
+ "name": "SelectSeparator",
2525
+ "kind": "component",
2526
+ "description": "",
2527
+ "className": "mn-input",
2528
+ "clientOnly": true,
2529
+ "props": [
2530
+ {
2531
+ "name": "asChild",
2532
+ "type": "boolean",
2533
+ "required": false,
2534
+ "description": ""
2535
+ },
2536
+ {
2537
+ "name": "children",
2538
+ "type": "ReactNode",
2539
+ "required": false,
2540
+ "description": ""
2541
+ },
2542
+ {
2543
+ "name": "className",
2544
+ "type": "string",
2545
+ "required": false,
2546
+ "description": ""
2547
+ },
2548
+ {
2549
+ "name": "id",
2550
+ "type": "string",
2551
+ "required": false,
2552
+ "description": ""
2553
+ }
2554
+ ]
2555
+ },
2556
+ {
2557
+ "name": "SelectTrigger",
2558
+ "kind": "component",
2559
+ "description": "",
2560
+ "className": "mn-input",
2561
+ "clientOnly": true,
2562
+ "props": [
2563
+ {
2564
+ "name": "asChild",
2565
+ "type": "boolean",
2566
+ "required": false,
2567
+ "description": ""
2568
+ },
2569
+ {
2570
+ "name": "children",
2571
+ "type": "ReactNode",
2572
+ "required": false,
2573
+ "description": ""
2574
+ },
2575
+ {
2576
+ "name": "className",
2577
+ "type": "string",
2578
+ "required": false,
2579
+ "description": ""
2580
+ },
2581
+ {
2582
+ "name": "disabled",
2583
+ "type": "boolean",
2584
+ "required": false,
2585
+ "description": ""
2586
+ },
2587
+ {
2588
+ "name": "id",
2589
+ "type": "string",
2590
+ "required": false,
2591
+ "description": ""
2592
+ },
2593
+ {
2594
+ "name": "invalid",
2595
+ "type": "boolean",
2596
+ "required": false,
2597
+ "description": ""
2598
+ },
2599
+ {
2600
+ "name": "placeholder",
2601
+ "type": "string",
2602
+ "required": false,
2603
+ "description": ""
2604
+ },
2605
+ {
2606
+ "name": "size",
2607
+ "type": "\"sm\" | \"md\" | \"lg\"",
2608
+ "required": false,
2609
+ "description": ""
2610
+ }
2611
+ ]
2612
+ },
2613
+ {
2614
+ "name": "SelectValue",
2615
+ "kind": "component",
2616
+ "description": "",
2617
+ "className": "mn-input",
2618
+ "clientOnly": true,
2619
+ "props": [
2620
+ {
2621
+ "name": "asChild",
2622
+ "type": "boolean",
2623
+ "required": false,
2624
+ "description": ""
2625
+ },
2626
+ {
2627
+ "name": "children",
2628
+ "type": "ReactNode",
2629
+ "required": false,
2630
+ "description": ""
2631
+ },
2632
+ {
2633
+ "name": "className",
2634
+ "type": "string",
2635
+ "required": false,
2636
+ "description": ""
2637
+ },
2638
+ {
2639
+ "name": "id",
2640
+ "type": "string",
2641
+ "required": false,
2642
+ "description": ""
2643
+ }
2644
+ ]
2645
+ },
2646
+ {
2647
+ "name": "Separator",
2648
+ "kind": "component",
2649
+ "description": "Visual divider. `decorative` (default) hides it from assistive technology.",
2650
+ "className": "mn-separator",
2651
+ "clientOnly": false,
2652
+ "props": [
2653
+ {
2654
+ "name": "asChild",
2655
+ "type": "boolean",
2656
+ "required": false,
2657
+ "description": ""
2658
+ },
2659
+ {
2660
+ "name": "children",
2661
+ "type": "ReactNode",
2662
+ "required": false,
2663
+ "description": ""
2664
+ },
2665
+ {
2666
+ "name": "className",
2667
+ "type": "string",
2668
+ "required": false,
2669
+ "description": ""
2670
+ },
2671
+ {
2672
+ "name": "id",
2673
+ "type": "string",
2674
+ "required": false,
2675
+ "description": ""
2676
+ }
2677
+ ]
2678
+ },
2679
+ {
2680
+ "name": "SettingsRow",
2681
+ "kind": "component",
2682
+ "description": "One setting: label and description on the left, control on the right.",
2683
+ "className": "mn-settings-section",
2684
+ "clientOnly": true,
2685
+ "props": [
2686
+ {
2687
+ "name": "children",
2688
+ "type": "ReactNode",
2689
+ "required": true,
2690
+ "description": "The control: Input, Select, Switch, Combobox. It receives the Field ids."
2691
+ },
2692
+ {
2693
+ "name": "label",
2694
+ "type": "ReactNode",
2695
+ "required": true,
2696
+ "description": "Label of the setting; becomes the control's label."
2697
+ },
2698
+ {
2699
+ "name": "className",
2700
+ "type": "string",
2701
+ "required": false,
2702
+ "description": ""
2703
+ },
2704
+ {
2705
+ "name": "description",
2706
+ "type": "ReactNode",
2707
+ "required": false,
2708
+ "description": ""
2709
+ },
2710
+ {
2711
+ "name": "disabled",
2712
+ "type": "boolean",
2713
+ "required": false,
2714
+ "description": ""
2715
+ },
2716
+ {
2717
+ "name": "error",
2718
+ "type": "ReactNode",
2719
+ "required": false,
2720
+ "description": "Error message rendered under the control."
2721
+ },
2722
+ {
2723
+ "name": "id",
2724
+ "type": "string",
2725
+ "required": false,
2726
+ "description": "Pass `id` to match an existing control id."
2727
+ },
2728
+ {
2729
+ "name": "invalid",
2730
+ "type": "boolean",
2731
+ "required": false,
2732
+ "description": ""
2733
+ },
2734
+ {
2735
+ "name": "required",
2736
+ "type": "boolean",
2737
+ "required": false,
2738
+ "description": ""
2739
+ }
2740
+ ]
2741
+ },
2742
+ {
2743
+ "name": "SettingsSection",
2744
+ "kind": "component",
2745
+ "description": "Titled group of settings in a card, as in Workspace App Settings.",
2746
+ "className": "mn-settings-section",
2747
+ "clientOnly": true,
2748
+ "props": [
2749
+ {
2750
+ "name": "children",
2751
+ "type": "ReactNode",
2752
+ "required": true,
2753
+ "description": ""
2754
+ },
2755
+ {
2756
+ "name": "title",
2757
+ "type": "ReactNode",
2758
+ "required": true,
2759
+ "description": "Section title (h2)."
2760
+ },
2761
+ {
2762
+ "name": "actions",
2763
+ "type": "ReactNode",
2764
+ "required": false,
2765
+ "description": "Footer with Save/Cancel actions."
2766
+ },
2767
+ {
2768
+ "name": "className",
2769
+ "type": "string",
2770
+ "required": false,
2771
+ "description": ""
2772
+ },
2773
+ {
2774
+ "name": "description",
2775
+ "type": "ReactNode",
2776
+ "required": false,
2777
+ "description": ""
2778
+ },
2779
+ {
2780
+ "name": "headingLevel",
2781
+ "type": "\"h2\" | \"h3\"",
2782
+ "required": false,
2783
+ "description": "Heading level if the section is nested under another h2."
2784
+ },
2785
+ {
2786
+ "name": "id",
2787
+ "type": "string",
2788
+ "required": false,
2789
+ "description": ""
2790
+ },
2791
+ {
2792
+ "name": "tone",
2793
+ "type": "\"danger\" | \"default\"",
2794
+ "required": false,
2795
+ "description": "`danger` for destructive zones (delete workspace, transfer ownership)."
2796
+ }
2797
+ ]
2798
+ },
2799
+ {
2800
+ "name": "Skeleton",
2801
+ "kind": "component",
2802
+ "description": "Loading placeholder. Hidden from assistive technology: mark the loading\nregion with aria-busy=\"true\" and announce completion separately.",
2803
+ "className": "mn-skeleton",
2804
+ "clientOnly": false,
2805
+ "props": [
2806
+ {
2807
+ "name": "children",
2808
+ "type": "ReactNode",
2809
+ "required": false,
2810
+ "description": ""
2811
+ },
2812
+ {
2813
+ "name": "className",
2814
+ "type": "string",
2815
+ "required": false,
2816
+ "description": ""
2817
+ },
2818
+ {
2819
+ "name": "height",
2820
+ "type": "import(\"/Users/avr/code/Rook/Rook Monarch/monarch/.worktrees/rename/node_modules/csstype/index\").Property.Height<string | number>",
2821
+ "required": false,
2822
+ "description": ""
2823
+ },
2824
+ {
2825
+ "name": "id",
2826
+ "type": "string",
2827
+ "required": false,
2828
+ "description": ""
2829
+ },
2830
+ {
2831
+ "name": "shape",
2832
+ "type": "\"circle\" | \"rect\" | \"text\"",
2833
+ "required": false,
2834
+ "description": ""
2835
+ },
2836
+ {
2837
+ "name": "width",
2838
+ "type": "import(\"/Users/avr/code/Rook/Rook Monarch/monarch/.worktrees/rename/node_modules/csstype/index\").Property.Width<string | number>",
2839
+ "required": false,
2840
+ "description": ""
2841
+ }
2842
+ ]
2843
+ },
2844
+ {
2845
+ "name": "SortButton",
2846
+ "kind": "component",
2847
+ "description": "Column sort toggle; its accessible name states the current direction.",
2848
+ "className": "mn-table-wrap",
2849
+ "clientOnly": true,
2850
+ "props": [
2851
+ {
2852
+ "name": "children",
2853
+ "type": "import(\"/Users/avr/code/Rook/Rook Monarch/monarch/.worktrees/rename/node_modules/@types/react/index\").ReactNode",
2854
+ "required": true,
2855
+ "description": ""
2856
+ },
2857
+ {
2858
+ "name": "direction",
2859
+ "type": "SortDirection",
2860
+ "required": true,
2861
+ "description": ""
2862
+ },
2863
+ {
2864
+ "name": "onClick",
2865
+ "type": "() => void",
2866
+ "required": true,
2867
+ "description": ""
2868
+ }
2869
+ ]
2870
+ },
2871
+ {
2872
+ "name": "Spinner",
2873
+ "kind": "component",
2874
+ "description": "Indeterminate progress indicator. Server-component safe.",
2875
+ "className": "mn-spinner",
2876
+ "clientOnly": false,
2877
+ "props": [
2878
+ {
2879
+ "name": "className",
2880
+ "type": "string",
2881
+ "required": false,
2882
+ "description": ""
2883
+ },
2884
+ {
2885
+ "name": "id",
2886
+ "type": "string",
2887
+ "required": false,
2888
+ "description": ""
2889
+ },
2890
+ {
2891
+ "name": "label",
2892
+ "type": "string",
2893
+ "required": false,
2894
+ "description": "Accessible name. With a label the spinner is announced as a status;\nwithout one it is decorative (use that inside a busy button)."
2895
+ },
2896
+ {
2897
+ "name": "size",
2898
+ "type": "\"sm\" | \"md\" | \"lg\"",
2899
+ "required": false,
2900
+ "description": ""
2901
+ }
2902
+ ]
2903
+ },
2904
+ {
2905
+ "name": "SplitLayout",
2906
+ "kind": "component",
2907
+ "description": "List + detail two-pane layout (Tickets inbox, Chat, Dossier). No routing inside.",
2908
+ "className": "mn-split",
2909
+ "clientOnly": true,
2910
+ "props": [
2911
+ {
2912
+ "name": "detail",
2913
+ "type": "ReactNode",
2914
+ "required": true,
2915
+ "description": "The detail pane. When empty, pass an EmptyState."
2916
+ },
2917
+ {
2918
+ "name": "list",
2919
+ "type": "ReactNode",
2920
+ "required": true,
2921
+ "description": "The list pane (e.g. ticket list)."
2922
+ },
2923
+ {
2924
+ "name": "backLabel",
2925
+ "type": "string",
2926
+ "required": false,
2927
+ "description": ""
2928
+ },
2929
+ {
2930
+ "name": "children",
2931
+ "type": "ReactNode",
2932
+ "required": false,
2933
+ "description": ""
2934
+ },
2935
+ {
2936
+ "name": "className",
2937
+ "type": "string",
2938
+ "required": false,
2939
+ "description": ""
2940
+ },
2941
+ {
2942
+ "name": "detailLabel",
2943
+ "type": "string",
2944
+ "required": false,
2945
+ "description": ""
2946
+ },
2947
+ {
2948
+ "name": "detailOpen",
2949
+ "type": "boolean",
2950
+ "required": false,
2951
+ "description": "Below the `md` breakpoint only one pane shows. `detailOpen` picks which;\n`onBack` renders a back button in the detail pane."
2952
+ },
2953
+ {
2954
+ "name": "id",
2955
+ "type": "string",
2956
+ "required": false,
2957
+ "description": ""
2958
+ },
2959
+ {
2960
+ "name": "listLabel",
2961
+ "type": "string",
2962
+ "required": false,
2963
+ "description": ""
2964
+ },
2965
+ {
2966
+ "name": "listWidth",
2967
+ "type": "\"sm\" | \"md\" | \"lg\"",
2968
+ "required": false,
2969
+ "description": "Width of the list pane on wide screens."
2970
+ },
2971
+ {
2972
+ "name": "onBack",
2973
+ "type": "(() => void)",
2974
+ "required": false,
2975
+ "description": ""
2976
+ }
2977
+ ]
2978
+ },
2979
+ {
2980
+ "name": "StatCard",
2981
+ "kind": "component",
2982
+ "description": "Single KPI for dashboards (Dots pipelines, Pulse).",
2983
+ "className": "mn-stat",
2984
+ "clientOnly": false,
2985
+ "props": [
2986
+ {
2987
+ "name": "label",
2988
+ "type": "ReactNode",
2989
+ "required": true,
2990
+ "description": ""
2991
+ },
2992
+ {
2993
+ "name": "value",
2994
+ "type": "ReactNode",
2995
+ "required": true,
2996
+ "description": "Formatted value, e.g. \"₹12.4L\" or \"143\"."
2997
+ },
2998
+ {
2999
+ "name": "caption",
3000
+ "type": "ReactNode",
3001
+ "required": false,
3002
+ "description": "Period label, e.g. \"vs last 30 days\"."
3003
+ },
3004
+ {
3005
+ "name": "children",
3006
+ "type": "ReactNode",
3007
+ "required": false,
3008
+ "description": ""
3009
+ },
3010
+ {
3011
+ "name": "className",
3012
+ "type": "string",
3013
+ "required": false,
3014
+ "description": ""
3015
+ },
3016
+ {
3017
+ "name": "delta",
3018
+ "type": "ReactNode",
3019
+ "required": false,
3020
+ "description": "Change versus the previous period, e.g. \"+12%\"."
3021
+ },
3022
+ {
3023
+ "name": "deltaDirection",
3024
+ "type": "\"flat\" | \"up\" | \"down\"",
3025
+ "required": false,
3026
+ "description": "Direction of the change; `up` is success unless `deltaTone` says otherwise."
3027
+ },
3028
+ {
3029
+ "name": "deltaTone",
3030
+ "type": "\"danger\" | \"neutral\" | \"success\"",
3031
+ "required": false,
3032
+ "description": "Override the colour of the delta, e.g. `danger` when up is bad (churn)."
3033
+ },
3034
+ {
3035
+ "name": "id",
3036
+ "type": "string",
3037
+ "required": false,
3038
+ "description": ""
3039
+ },
3040
+ {
3041
+ "name": "visual",
3042
+ "type": "ReactNode",
3043
+ "required": false,
3044
+ "description": "Sparkline or icon slot."
3045
+ }
3046
+ ]
3047
+ },
3048
+ {
3049
+ "name": "Switch",
3050
+ "kind": "component",
3051
+ "description": "An on/off setting that applies immediately. For choices that are submitted\nwith a form, prefer Checkbox.",
3052
+ "className": "mn-switch-",
3053
+ "clientOnly": true,
3054
+ "props": [
3055
+ {
3056
+ "name": "asChild",
3057
+ "type": "boolean",
3058
+ "required": false,
3059
+ "description": ""
3060
+ },
3061
+ {
3062
+ "name": "children",
3063
+ "type": "ReactNode",
3064
+ "required": false,
3065
+ "description": ""
3066
+ },
3067
+ {
3068
+ "name": "className",
3069
+ "type": "string",
3070
+ "required": false,
3071
+ "description": ""
3072
+ },
3073
+ {
3074
+ "name": "description",
3075
+ "type": "ReactNode",
3076
+ "required": false,
3077
+ "description": ""
3078
+ },
3079
+ {
3080
+ "name": "disabled",
3081
+ "type": "boolean",
3082
+ "required": false,
3083
+ "description": ""
3084
+ },
3085
+ {
3086
+ "name": "id",
3087
+ "type": "string",
3088
+ "required": false,
3089
+ "description": ""
3090
+ },
3091
+ {
3092
+ "name": "label",
3093
+ "type": "ReactNode",
3094
+ "required": false,
3095
+ "description": ""
3096
+ },
3097
+ {
3098
+ "name": "size",
3099
+ "type": "\"sm\" | \"md\"",
3100
+ "required": false,
3101
+ "description": ""
3102
+ }
3103
+ ]
3104
+ },
3105
+ {
3106
+ "name": "Table",
3107
+ "kind": "component",
3108
+ "description": "Data table primitives. Wrap in `<Card flush>` for a framed table. Pass a\n`<TableCaption>` or `aria-label` so the table has an accessible name.",
3109
+ "className": "mn-table-wrap",
3110
+ "clientOnly": true,
3111
+ "props": [
3112
+ {
3113
+ "name": "children",
3114
+ "type": "ReactNode",
3115
+ "required": false,
3116
+ "description": ""
3117
+ },
3118
+ {
3119
+ "name": "className",
3120
+ "type": "string",
3121
+ "required": false,
3122
+ "description": ""
3123
+ },
3124
+ {
3125
+ "name": "density",
3126
+ "type": "\"compact\" | \"comfortable\"",
3127
+ "required": false,
3128
+ "description": "Row height. `compact` for dense data, `comfortable` (default) for mixed content."
3129
+ },
3130
+ {
3131
+ "name": "id",
3132
+ "type": "string",
3133
+ "required": false,
3134
+ "description": ""
3135
+ },
3136
+ {
3137
+ "name": "stickyHeader",
3138
+ "type": "boolean",
3139
+ "required": false,
3140
+ "description": "Keep the header visible while the body scrolls (the wrapper needs a height)."
3141
+ }
3142
+ ]
3143
+ },
3144
+ {
3145
+ "name": "TableBody",
3146
+ "kind": "component",
3147
+ "description": "",
3148
+ "className": "mn-table-wrap",
3149
+ "clientOnly": true,
3150
+ "props": [
3151
+ {
3152
+ "name": "children",
3153
+ "type": "ReactNode",
3154
+ "required": false,
3155
+ "description": ""
3156
+ },
3157
+ {
3158
+ "name": "className",
3159
+ "type": "string",
3160
+ "required": false,
3161
+ "description": ""
3162
+ },
3163
+ {
3164
+ "name": "id",
3165
+ "type": "string",
3166
+ "required": false,
3167
+ "description": ""
3168
+ }
3169
+ ]
3170
+ },
3171
+ {
3172
+ "name": "TableCaption",
3173
+ "kind": "component",
3174
+ "description": "",
3175
+ "className": "mn-table-wrap",
3176
+ "clientOnly": true,
3177
+ "props": [
3178
+ {
3179
+ "name": "children",
3180
+ "type": "ReactNode",
3181
+ "required": false,
3182
+ "description": ""
3183
+ },
3184
+ {
3185
+ "name": "className",
3186
+ "type": "string",
3187
+ "required": false,
3188
+ "description": ""
3189
+ },
3190
+ {
3191
+ "name": "id",
3192
+ "type": "string",
3193
+ "required": false,
3194
+ "description": ""
3195
+ }
3196
+ ]
3197
+ },
3198
+ {
3199
+ "name": "TableCell",
3200
+ "kind": "component",
3201
+ "description": "",
3202
+ "className": "mn-table-wrap",
3203
+ "clientOnly": true,
3204
+ "props": [
3205
+ {
3206
+ "name": "children",
3207
+ "type": "ReactNode",
3208
+ "required": false,
3209
+ "description": ""
3210
+ },
3211
+ {
3212
+ "name": "className",
3213
+ "type": "string",
3214
+ "required": false,
3215
+ "description": ""
3216
+ },
3217
+ {
3218
+ "name": "id",
3219
+ "type": "string",
3220
+ "required": false,
3221
+ "description": ""
3222
+ },
3223
+ {
3224
+ "name": "numeric",
3225
+ "type": "boolean",
3226
+ "required": false,
3227
+ "description": ""
3228
+ }
3229
+ ]
3230
+ },
3231
+ {
3232
+ "name": "TableHead",
3233
+ "kind": "component",
3234
+ "description": "",
3235
+ "className": "mn-table-wrap",
3236
+ "clientOnly": true,
3237
+ "props": [
3238
+ {
3239
+ "name": "children",
3240
+ "type": "ReactNode",
3241
+ "required": false,
3242
+ "description": ""
3243
+ },
3244
+ {
3245
+ "name": "className",
3246
+ "type": "string",
3247
+ "required": false,
3248
+ "description": ""
3249
+ },
3250
+ {
3251
+ "name": "id",
3252
+ "type": "string",
3253
+ "required": false,
3254
+ "description": ""
3255
+ },
3256
+ {
3257
+ "name": "numeric",
3258
+ "type": "boolean",
3259
+ "required": false,
3260
+ "description": "Right-align numbers."
3261
+ },
3262
+ {
3263
+ "name": "onSortChange",
3264
+ "type": "((next: \"ascending\" | \"descending\") => void)",
3265
+ "required": false,
3266
+ "description": "Called when the sort button is pressed. Required when `sort` is set."
3267
+ },
3268
+ {
3269
+ "name": "sort",
3270
+ "type": "SortDirection",
3271
+ "required": false,
3272
+ "description": "Current sort of this column. Renders a SortButton and sets aria-sort."
3273
+ }
3274
+ ]
3275
+ },
3276
+ {
3277
+ "name": "TableHeader",
3278
+ "kind": "component",
3279
+ "description": "",
3280
+ "className": "mn-table-wrap",
3281
+ "clientOnly": true,
3282
+ "props": [
3283
+ {
3284
+ "name": "children",
3285
+ "type": "ReactNode",
3286
+ "required": false,
3287
+ "description": ""
3288
+ },
3289
+ {
3290
+ "name": "className",
3291
+ "type": "string",
3292
+ "required": false,
3293
+ "description": ""
3294
+ },
3295
+ {
3296
+ "name": "id",
3297
+ "type": "string",
3298
+ "required": false,
3299
+ "description": ""
3300
+ }
3301
+ ]
3302
+ },
3303
+ {
3304
+ "name": "TableRow",
3305
+ "kind": "component",
3306
+ "description": "",
3307
+ "className": "mn-table-wrap",
3308
+ "clientOnly": true,
3309
+ "props": [
3310
+ {
3311
+ "name": "children",
3312
+ "type": "ReactNode",
3313
+ "required": false,
3314
+ "description": ""
3315
+ },
3316
+ {
3317
+ "name": "className",
3318
+ "type": "string",
3319
+ "required": false,
3320
+ "description": ""
3321
+ },
3322
+ {
3323
+ "name": "id",
3324
+ "type": "string",
3325
+ "required": false,
3326
+ "description": ""
3327
+ },
3328
+ {
3329
+ "name": "interactive",
3330
+ "type": "boolean",
3331
+ "required": false,
3332
+ "description": "Pointer affordance for rows that open something on click. Keep a real link or button inside."
3333
+ },
3334
+ {
3335
+ "name": "selected",
3336
+ "type": "boolean",
3337
+ "required": false,
3338
+ "description": "Highlights the row (also sets aria-selected)."
3339
+ }
3340
+ ]
3341
+ },
3342
+ {
3343
+ "name": "TableSelectCell",
3344
+ "kind": "component",
3345
+ "description": "Narrow checkbox column for row selection.",
3346
+ "className": "mn-table-wrap",
3347
+ "clientOnly": true,
3348
+ "props": [
3349
+ {
3350
+ "name": "label",
3351
+ "type": "string",
3352
+ "required": true,
3353
+ "description": "Accessible name, e.g. \"Select ticket 42\" or \"Select all\"."
3354
+ },
3355
+ {
3356
+ "name": "asChild",
3357
+ "type": "boolean",
3358
+ "required": false,
3359
+ "description": ""
3360
+ },
3361
+ {
3362
+ "name": "children",
3363
+ "type": "ReactNode",
3364
+ "required": false,
3365
+ "description": ""
3366
+ },
3367
+ {
3368
+ "name": "className",
3369
+ "type": "string",
3370
+ "required": false,
3371
+ "description": ""
3372
+ },
3373
+ {
3374
+ "name": "disabled",
3375
+ "type": "boolean",
3376
+ "required": false,
3377
+ "description": ""
3378
+ },
3379
+ {
3380
+ "name": "header",
3381
+ "type": "boolean",
3382
+ "required": false,
3383
+ "description": "Render as a header cell (for the select-all checkbox)."
3384
+ },
3385
+ {
3386
+ "name": "id",
3387
+ "type": "string",
3388
+ "required": false,
3389
+ "description": ""
3390
+ },
3391
+ {
3392
+ "name": "invalid",
3393
+ "type": "boolean",
3394
+ "required": false,
3395
+ "description": ""
3396
+ }
3397
+ ]
3398
+ },
3399
+ {
3400
+ "name": "Tabs",
3401
+ "kind": "component",
3402
+ "description": "Arrow keys move between tabs; Home/End jump to the ends.",
3403
+ "className": "mn-tabs",
3404
+ "clientOnly": true,
3405
+ "props": [
3406
+ {
3407
+ "name": "asChild",
3408
+ "type": "boolean",
3409
+ "required": false,
3410
+ "description": ""
3411
+ },
3412
+ {
3413
+ "name": "children",
3414
+ "type": "ReactNode",
3415
+ "required": false,
3416
+ "description": ""
3417
+ },
3418
+ {
3419
+ "name": "className",
3420
+ "type": "string",
3421
+ "required": false,
3422
+ "description": ""
3423
+ },
3424
+ {
3425
+ "name": "id",
3426
+ "type": "string",
3427
+ "required": false,
3428
+ "description": ""
3429
+ }
3430
+ ]
3431
+ },
3432
+ {
3433
+ "name": "TabsContent",
3434
+ "kind": "component",
3435
+ "description": "",
3436
+ "className": "mn-tabs",
3437
+ "clientOnly": true,
3438
+ "props": [
3439
+ {
3440
+ "name": "asChild",
3441
+ "type": "boolean",
3442
+ "required": false,
3443
+ "description": ""
3444
+ },
3445
+ {
3446
+ "name": "children",
3447
+ "type": "ReactNode",
3448
+ "required": false,
3449
+ "description": ""
3450
+ },
3451
+ {
3452
+ "name": "className",
3453
+ "type": "string",
3454
+ "required": false,
3455
+ "description": ""
3456
+ },
3457
+ {
3458
+ "name": "id",
3459
+ "type": "string",
3460
+ "required": false,
3461
+ "description": ""
3462
+ }
3463
+ ]
3464
+ },
3465
+ {
3466
+ "name": "TabsList",
3467
+ "kind": "component",
3468
+ "description": "",
3469
+ "className": "mn-tabs",
3470
+ "clientOnly": true,
3471
+ "props": [
3472
+ {
3473
+ "name": "asChild",
3474
+ "type": "boolean",
3475
+ "required": false,
3476
+ "description": ""
3477
+ },
3478
+ {
3479
+ "name": "children",
3480
+ "type": "ReactNode",
3481
+ "required": false,
3482
+ "description": ""
3483
+ },
3484
+ {
3485
+ "name": "className",
3486
+ "type": "string",
3487
+ "required": false,
3488
+ "description": ""
3489
+ },
3490
+ {
3491
+ "name": "id",
3492
+ "type": "string",
3493
+ "required": false,
3494
+ "description": ""
3495
+ },
3496
+ {
3497
+ "name": "variant",
3498
+ "type": "\"line\" | \"pill\"",
3499
+ "required": false,
3500
+ "description": "`line` for page sections, `pill` for compact view switches."
3501
+ }
3502
+ ]
3503
+ },
3504
+ {
3505
+ "name": "TabsTrigger",
3506
+ "kind": "component",
3507
+ "description": "",
3508
+ "className": "mn-tabs",
3509
+ "clientOnly": true,
3510
+ "props": [
3511
+ {
3512
+ "name": "asChild",
3513
+ "type": "boolean",
3514
+ "required": false,
3515
+ "description": ""
3516
+ },
3517
+ {
3518
+ "name": "children",
3519
+ "type": "ReactNode",
3520
+ "required": false,
3521
+ "description": ""
3522
+ },
3523
+ {
3524
+ "name": "className",
3525
+ "type": "string",
3526
+ "required": false,
3527
+ "description": ""
3528
+ },
3529
+ {
3530
+ "name": "disabled",
3531
+ "type": "boolean",
3532
+ "required": false,
3533
+ "description": ""
3534
+ },
3535
+ {
3536
+ "name": "id",
3537
+ "type": "string",
3538
+ "required": false,
3539
+ "description": ""
3540
+ }
3541
+ ]
3542
+ },
3543
+ {
3544
+ "name": "Textarea",
3545
+ "kind": "component",
3546
+ "description": "",
3547
+ "className": "mn-input",
3548
+ "clientOnly": true,
3549
+ "props": [
3550
+ {
3551
+ "name": "children",
3552
+ "type": "ReactNode",
3553
+ "required": false,
3554
+ "description": ""
3555
+ },
3556
+ {
3557
+ "name": "className",
3558
+ "type": "string",
3559
+ "required": false,
3560
+ "description": ""
3561
+ },
3562
+ {
3563
+ "name": "disabled",
3564
+ "type": "boolean",
3565
+ "required": false,
3566
+ "description": ""
3567
+ },
3568
+ {
3569
+ "name": "id",
3570
+ "type": "string",
3571
+ "required": false,
3572
+ "description": ""
3573
+ },
3574
+ {
3575
+ "name": "invalid",
3576
+ "type": "boolean",
3577
+ "required": false,
3578
+ "description": ""
3579
+ },
3580
+ {
3581
+ "name": "resizable",
3582
+ "type": "boolean",
3583
+ "required": false,
3584
+ "description": "Allow vertical resizing. Default true."
3585
+ }
3586
+ ]
3587
+ },
3588
+ {
3589
+ "name": "ToastProvider",
3590
+ "kind": "component",
3591
+ "description": "Mount once near the root. Provides `useToast()` and renders the viewport.\nToasts pause while hovered or focused and can be dismissed with Escape.",
3592
+ "className": "mn-duration-base",
3593
+ "clientOnly": true,
3594
+ "props": [
3595
+ {
3596
+ "name": "children",
3597
+ "type": "ReactNode",
3598
+ "required": true,
3599
+ "description": ""
3600
+ },
3601
+ {
3602
+ "name": "label",
3603
+ "type": "string",
3604
+ "required": false,
3605
+ "description": "Accessible name of the toast region."
3606
+ },
3607
+ {
3608
+ "name": "position",
3609
+ "type": "\"bottom-right\" | \"bottom-center\" | \"top-right\"",
3610
+ "required": false,
3611
+ "description": "Where toasts appear."
3612
+ }
3613
+ ]
3614
+ },
3615
+ {
3616
+ "name": "Toolbar",
3617
+ "kind": "component",
3618
+ "description": "`role=\"toolbar\"` with roving focus: Tab enters the toolbar, Left/Right\nmove between controls, Home/End jump. Text inputs keep their own arrow keys.",
3619
+ "className": "mn-toolbar-wrap",
3620
+ "clientOnly": true,
3621
+ "props": [
3622
+ {
3623
+ "name": "label",
3624
+ "type": "string",
3625
+ "required": true,
3626
+ "description": "Accessible name, e.g. \"Ticket list tools\". Required by the toolbar role."
3627
+ },
3628
+ {
3629
+ "name": "children",
3630
+ "type": "ReactNode",
3631
+ "required": false,
3632
+ "description": ""
3633
+ },
3634
+ {
3635
+ "name": "className",
3636
+ "type": "string",
3637
+ "required": false,
3638
+ "description": ""
3639
+ },
3640
+ {
3641
+ "name": "end",
3642
+ "type": "ReactNode",
3643
+ "required": false,
3644
+ "description": "Controls on the trailing edge (view switch, density, export)."
3645
+ },
3646
+ {
3647
+ "name": "filters",
3648
+ "type": "ReactNode",
3649
+ "required": false,
3650
+ "description": "Filter chips row rendered under the toolbar."
3651
+ },
3652
+ {
3653
+ "name": "id",
3654
+ "type": "string",
3655
+ "required": false,
3656
+ "description": ""
3657
+ },
3658
+ {
3659
+ "name": "search",
3660
+ "type": "ReactNode",
3661
+ "required": false,
3662
+ "description": "Search or filter input area on the leading edge."
3663
+ }
3664
+ ]
3665
+ },
3666
+ {
3667
+ "name": "ToolbarGroup",
3668
+ "kind": "component",
3669
+ "description": "Visual grouping inside a Toolbar.",
3670
+ "className": "mn-toolbar-wrap",
3671
+ "clientOnly": true,
3672
+ "props": [
3673
+ {
3674
+ "name": "children",
3675
+ "type": "ReactNode",
3676
+ "required": false,
3677
+ "description": ""
3678
+ },
3679
+ {
3680
+ "name": "className",
3681
+ "type": "string",
3682
+ "required": false,
3683
+ "description": ""
3684
+ },
3685
+ {
3686
+ "name": "id",
3687
+ "type": "string",
3688
+ "required": false,
3689
+ "description": ""
3690
+ }
3691
+ ]
3692
+ },
3693
+ {
3694
+ "name": "Tooltip",
3695
+ "kind": "component",
3696
+ "description": "Shows on hover and keyboard focus; Escape dismisses it.",
3697
+ "className": "mn-tooltip",
3698
+ "clientOnly": true,
3699
+ "props": [
3700
+ {
3701
+ "name": "children",
3702
+ "type": "ReactElement<unknown, string | import(\"/Users/avr/code/Rook/Rook Monarch/monarch/.worktrees/rename/node_modules/@types/react/index\").JSXElementConstructor<any>>",
3703
+ "required": true,
3704
+ "description": "A single focusable element."
3705
+ },
3706
+ {
3707
+ "name": "content",
3708
+ "type": "ReactNode",
3709
+ "required": true,
3710
+ "description": "Supplementary text. Never put essential information or interactive content here."
3711
+ },
3712
+ {
3713
+ "name": "align",
3714
+ "type": "\"center\" | \"start\" | \"end\"",
3715
+ "required": false,
3716
+ "description": ""
3717
+ },
3718
+ {
3719
+ "name": "defaultOpen",
3720
+ "type": "boolean",
3721
+ "required": false,
3722
+ "description": ""
3723
+ },
3724
+ {
3725
+ "name": "onOpenChange",
3726
+ "type": "((open: boolean) => void)",
3727
+ "required": false,
3728
+ "description": ""
3729
+ },
3730
+ {
3731
+ "name": "open",
3732
+ "type": "boolean",
3733
+ "required": false,
3734
+ "description": ""
3735
+ },
3736
+ {
3737
+ "name": "side",
3738
+ "type": "\"top\" | \"right\" | \"bottom\" | \"left\"",
3739
+ "required": false,
3740
+ "description": ""
3741
+ }
3742
+ ]
3743
+ },
3744
+ {
3745
+ "name": "TooltipProvider",
3746
+ "kind": "component",
3747
+ "description": "Mount once near the root. Shares the open delay across tooltips.",
3748
+ "className": "mn-tooltip",
3749
+ "clientOnly": true,
3750
+ "props": [
3751
+ {
3752
+ "name": "children",
3753
+ "type": "ReactNode",
3754
+ "required": true,
3755
+ "description": ""
3756
+ },
3757
+ {
3758
+ "name": "delayDuration",
3759
+ "type": "number",
3760
+ "required": false,
3761
+ "description": ""
3762
+ }
3763
+ ]
3764
+ },
3765
+ {
3766
+ "name": "useFieldContext",
3767
+ "kind": "hook",
3768
+ "description": "",
3769
+ "clientOnly": true,
3770
+ "props": []
3771
+ },
3772
+ {
3773
+ "name": "useFieldControl",
3774
+ "kind": "hook",
3775
+ "description": "Merges Field context into a control's props. Explicit props win, so a\ncontrol can still be used outside a Field.",
3776
+ "clientOnly": true,
3777
+ "props": []
3778
+ },
3779
+ {
3780
+ "name": "useToast",
3781
+ "kind": "hook",
3782
+ "description": "Returns `toast(options)` and `dismiss(id)`. Must be used inside ToastProvider.",
3783
+ "clientOnly": true,
3784
+ "props": []
3785
+ },
3786
+ {
3787
+ "name": "VisuallyHidden",
3788
+ "kind": "component",
3789
+ "description": "Hides content visually while keeping it available to assistive technology.",
3790
+ "className": "mn-visually-hidden",
3791
+ "clientOnly": false,
3792
+ "props": [
3793
+ {
3794
+ "name": "children",
3795
+ "type": "ReactNode",
3796
+ "required": false,
3797
+ "description": ""
3798
+ },
3799
+ {
3800
+ "name": "className",
3801
+ "type": "string",
3802
+ "required": false,
3803
+ "description": ""
3804
+ },
3805
+ {
3806
+ "name": "id",
3807
+ "type": "string",
3808
+ "required": false,
3809
+ "description": ""
3810
+ }
3811
+ ]
3812
+ }
3813
+ ]
3814
+ }