@tedi-design-system/react 19.1.0-rc.2 → 19.1.0-rc.3

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.
@@ -0,0 +1,1191 @@
1
+ {
2
+ "import": "@tedi-design-system/react/tedi",
3
+ "components": [
4
+ {
5
+ "id": "base/typography/text/text",
6
+ "name": "Text",
7
+ "category": "base",
8
+ "sourcePath": "src/tedi/components/base/typography/text/text",
9
+ "status": [],
10
+ "description": "Render inline or block body text with a semantic element, size/weight modifiers, and a color token.",
11
+ "keyProps": [
12
+ "element",
13
+ "modifiers",
14
+ "color"
15
+ ]
16
+ },
17
+ {
18
+ "id": "base/typography/heading/heading",
19
+ "name": "Heading",
20
+ "category": "base",
21
+ "sourcePath": "src/tedi/components/base/typography/heading/heading",
22
+ "status": [],
23
+ "description": "Render a semantic h1-h6 heading styled via Text-style modifiers, decoupling heading level from visual size.",
24
+ "keyProps": [
25
+ "element",
26
+ "modifiers",
27
+ "color"
28
+ ]
29
+ },
30
+ {
31
+ "id": "base/icon/icon",
32
+ "name": "Icon",
33
+ "category": "base",
34
+ "sourcePath": "src/tedi/components/base/icon/icon",
35
+ "status": [],
36
+ "description": "Render a Material icon glyph by name with configurable size, color, fill, and an optional screen-reader label.",
37
+ "keyProps": [
38
+ "name",
39
+ "size",
40
+ "color",
41
+ "filled",
42
+ "label"
43
+ ]
44
+ },
45
+ {
46
+ "id": "content/carousel",
47
+ "name": "Carousel",
48
+ "category": "content",
49
+ "sourcePath": "src/tedi/components/content/carousel",
50
+ "status": [],
51
+ "description": "Compound slide carousel with an infinite-looping track, drag/wheel/keyboard navigation, and screen-reader announcements.",
52
+ "keyProps": [
53
+ "slidesPerView",
54
+ "gap",
55
+ "loop",
56
+ "centered",
57
+ "fade"
58
+ ]
59
+ },
60
+ {
61
+ "id": "content/list",
62
+ "name": "List",
63
+ "category": "content",
64
+ "sourcePath": "src/tedi/components/content/list",
65
+ "status": [],
66
+ "description": "Render an ordered or unordered list of List.Item children with an optional bullet style and color.",
67
+ "keyProps": [
68
+ "element",
69
+ "style",
70
+ "color"
71
+ ]
72
+ },
73
+ {
74
+ "id": "content/label/label",
75
+ "name": "Label",
76
+ "category": "content",
77
+ "sourcePath": "src/tedi/components/content/label/label",
78
+ "status": [
79
+ "breakpointSupport"
80
+ ],
81
+ "description": "Render a form field label with optional required marker, bold/small styling, and a help tooltip.",
82
+ "keyProps": [
83
+ "children",
84
+ "required",
85
+ "isBold",
86
+ "tooltip",
87
+ "htmlFor"
88
+ ]
89
+ },
90
+ {
91
+ "id": "content/section/section",
92
+ "name": "Section",
93
+ "category": "content",
94
+ "sourcePath": "src/tedi/components/content/section/section",
95
+ "status": [],
96
+ "description": "Semantic landmark wrapper that renders as a section, article, aside, or div.",
97
+ "keyProps": [
98
+ "as"
99
+ ]
100
+ },
101
+ {
102
+ "id": "content/heading-with-icon/heading-with-icon",
103
+ "name": "HeadingWithIcon",
104
+ "category": "content",
105
+ "sourcePath": "src/tedi/components/content/heading-with-icon/heading-with-icon",
106
+ "status": [],
107
+ "description": "Render a heading paired with a leading icon as one composed unit.",
108
+ "keyProps": [
109
+ "name",
110
+ "element",
111
+ "children"
112
+ ]
113
+ },
114
+ {
115
+ "id": "content/truncate/truncate",
116
+ "name": "Truncate",
117
+ "category": "content",
118
+ "sourcePath": "src/tedi/components/content/truncate/truncate",
119
+ "status": [
120
+ "breakpointSupport"
121
+ ],
122
+ "description": "Clamp long text to a maximum length with an optional expand/collapse toggle to reveal the rest.",
123
+ "keyProps": [
124
+ "maxLength",
125
+ "expandable"
126
+ ]
127
+ },
128
+ {
129
+ "id": "content/table",
130
+ "name": "Table",
131
+ "category": "content",
132
+ "sourcePath": "src/tedi/components/content/table",
133
+ "status": [],
134
+ "description": "TanStack Table v8 wrapper supporting sorting, filtering, selection, pinning, expansion, reordering, and built-in pagination.",
135
+ "keyProps": [
136
+ "data",
137
+ "columns",
138
+ "pagination",
139
+ "sorting",
140
+ "rowSelection"
141
+ ]
142
+ },
143
+ {
144
+ "id": "content/text-group",
145
+ "name": "TextGroup",
146
+ "category": "content",
147
+ "sourcePath": "src/tedi/components/content/text-group",
148
+ "status": [],
149
+ "description": "Render a label/value pair, stacked vertically or inline horizontally with a configurable label width.",
150
+ "keyProps": [
151
+ "label",
152
+ "value",
153
+ "type",
154
+ "labelWidth"
155
+ ]
156
+ },
157
+ {
158
+ "id": "content/calendar/calendar",
159
+ "name": "Calendar",
160
+ "category": "content",
161
+ "sourcePath": "src/tedi/components/content/calendar/calendar",
162
+ "status": [
163
+ "breakpointSupport"
164
+ ],
165
+ "description": "Lower-level always-visible inline calendar primitive for scheduling grids or custom date controls; use DateField for plain date inputs.",
166
+ "keyProps": [
167
+ "mode",
168
+ "value",
169
+ "handleSelect",
170
+ "currentMonth",
171
+ "selectionLevel"
172
+ ]
173
+ },
174
+ {
175
+ "id": "loaders/spinner/spinner",
176
+ "name": "Spinner",
177
+ "category": "loaders",
178
+ "sourcePath": "src/tedi/components/loaders/spinner/spinner",
179
+ "status": [
180
+ "breakpointSupport"
181
+ ],
182
+ "description": "Render an animated loading indicator with a configurable size and color.",
183
+ "keyProps": [
184
+ "size",
185
+ "color",
186
+ "label"
187
+ ]
188
+ },
189
+ {
190
+ "id": "loaders/skeleton",
191
+ "name": "Skeleton",
192
+ "category": "loaders",
193
+ "sourcePath": "src/tedi/components/loaders/skeleton",
194
+ "status": [],
195
+ "description": "Render placeholder blocks that mimic loading content shape before real content is ready.",
196
+ "keyProps": [
197
+ "children",
198
+ "label"
199
+ ]
200
+ },
201
+ {
202
+ "id": "loaders/progress-bar",
203
+ "name": "ProgressBar",
204
+ "category": "loaders",
205
+ "sourcePath": "src/tedi/components/loaders/progress-bar",
206
+ "status": [],
207
+ "description": "Render a labeled progress bar reporting a 0-100 value with accessible aria-valuenow semantics.",
208
+ "keyProps": [
209
+ "value",
210
+ "label",
211
+ "showValue",
212
+ "helper"
213
+ ]
214
+ },
215
+ {
216
+ "id": "tags/tag/tag",
217
+ "name": "Tag",
218
+ "category": "tags",
219
+ "sourcePath": "src/tedi/components/tags/tag/tag",
220
+ "status": [
221
+ "breakpointSupport"
222
+ ],
223
+ "description": "Render a compact colored label, optionally closable and truncated with a hover popover for the full text.",
224
+ "keyProps": [
225
+ "color",
226
+ "onClose",
227
+ "ellipsis",
228
+ "isLoading"
229
+ ]
230
+ },
231
+ {
232
+ "id": "tags/status-badge/status-badge",
233
+ "name": "StatusBadge",
234
+ "category": "tags",
235
+ "sourcePath": "src/tedi/components/tags/status-badge/status-badge",
236
+ "status": [
237
+ "breakpointSupport"
238
+ ],
239
+ "description": "Render a colored status pill with an optional icon and filled/bordered visual variant.",
240
+ "keyProps": [
241
+ "color",
242
+ "variant",
243
+ "status",
244
+ "icon"
245
+ ]
246
+ },
247
+ {
248
+ "id": "tags/status-indicator/status-indicator",
249
+ "name": "StatusIndicator",
250
+ "category": "tags",
251
+ "sourcePath": "src/tedi/components/tags/status-indicator/status-indicator",
252
+ "status": [],
253
+ "description": "Render a small decorative colored dot indicating a status (success, danger, warning, inactive), optionally positioned at a corner.",
254
+ "keyProps": [
255
+ "type",
256
+ "size",
257
+ "position",
258
+ "hasBorder"
259
+ ]
260
+ },
261
+ {
262
+ "id": "buttons/closing-button/closing-button",
263
+ "name": "ClosingButton",
264
+ "category": "buttons",
265
+ "sourcePath": "src/tedi/components/buttons/closing-button/closing-button",
266
+ "status": [],
267
+ "description": "Render an icon-only close (X) button used to dismiss modals, cards, or other dismissible surfaces.",
268
+ "keyProps": [
269
+ "size",
270
+ "color"
271
+ ]
272
+ },
273
+ {
274
+ "id": "buttons/button/button",
275
+ "name": "Button",
276
+ "category": "buttons",
277
+ "sourcePath": "src/tedi/components/buttons/button/button",
278
+ "status": [
279
+ "breakpointSupport"
280
+ ],
281
+ "description": "Render a clickable action button with visual type/color variants, optional icons, loading state, and full-width layout.",
282
+ "keyProps": [
283
+ "visualType",
284
+ "color",
285
+ "size",
286
+ "iconLeft",
287
+ "isLoading"
288
+ ]
289
+ },
290
+ {
291
+ "id": "buttons/card-button/card-button",
292
+ "name": "CardButton",
293
+ "category": "buttons",
294
+ "sourcePath": "src/tedi/components/buttons/card-button/card-button",
295
+ "status": [],
296
+ "description": "Polymorphic interactive wrapper that turns a single Card into a clickable button or navigation link.",
297
+ "keyProps": [
298
+ "as",
299
+ "children",
300
+ "onClick"
301
+ ]
302
+ },
303
+ {
304
+ "id": "buttons/info-button/info-button",
305
+ "name": "InfoButton",
306
+ "category": "buttons",
307
+ "sourcePath": "src/tedi/components/buttons/info-button/info-button",
308
+ "status": [],
309
+ "description": "Render a small circular info-icon button, typically used to open supplementary help content.",
310
+ "keyProps": [
311
+ "isSmall",
312
+ "color"
313
+ ]
314
+ },
315
+ {
316
+ "id": "buttons/floating-button/floating-button",
317
+ "name": "FloatingButton",
318
+ "category": "buttons",
319
+ "sourcePath": "src/tedi/components/buttons/floating-button/floating-button",
320
+ "status": [],
321
+ "description": "Render a floating action button positioned over content, with configurable axis, size, and placement.",
322
+ "keyProps": [
323
+ "axis",
324
+ "size",
325
+ "position",
326
+ "placement"
327
+ ]
328
+ },
329
+ {
330
+ "id": "buttons/button-group/button-group",
331
+ "name": "ButtonGroup",
332
+ "category": "buttons",
333
+ "sourcePath": "src/tedi/components/buttons/button-group/button-group",
334
+ "status": [],
335
+ "description": "Group related buttons together with shared visual styling and single-selection tracking.",
336
+ "keyProps": [
337
+ "type",
338
+ "stretch",
339
+ "onSelectionChange"
340
+ ]
341
+ },
342
+ {
343
+ "id": "content/collapse/collapse",
344
+ "name": "Collapse",
345
+ "category": "content",
346
+ "sourcePath": "src/tedi/components/content/collapse/collapse",
347
+ "status": [
348
+ "breakpointSupport"
349
+ ],
350
+ "description": "Disclosure component with an optional title and a chevron toggle button that expands/collapses its content.",
351
+ "keyProps": [
352
+ "open",
353
+ "defaultOpen",
354
+ "title",
355
+ "onToggle",
356
+ "fullRowToggle"
357
+ ]
358
+ },
359
+ {
360
+ "id": "buttons/collapse-button/collapse-button",
361
+ "name": "CollapseButton",
362
+ "category": "buttons",
363
+ "sourcePath": "src/tedi/components/buttons/collapse-button/collapse-button",
364
+ "status": [],
365
+ "description": "Standalone, fully-controlled toggle button for expanding and collapsing external content.",
366
+ "keyProps": [
367
+ "open",
368
+ "onOpenChange",
369
+ "openText",
370
+ "closeText",
371
+ "hideText"
372
+ ]
373
+ },
374
+ {
375
+ "id": "layout/vertical-spacing",
376
+ "name": "VerticalSpacing",
377
+ "category": "layout",
378
+ "sourcePath": "src/tedi/components/layout/vertical-spacing",
379
+ "status": [],
380
+ "description": "Apply consistent vertical gaps between stacked child elements.",
381
+ "keyProps": [
382
+ "size",
383
+ "element"
384
+ ]
385
+ },
386
+ {
387
+ "id": "layout/grid",
388
+ "name": "Grid",
389
+ "category": "layout",
390
+ "sourcePath": "src/tedi/components/layout/grid",
391
+ "status": [],
392
+ "description": "Row/Col 12-column responsive grid layout primitives for arranging content, with breakpoint-aware width, gutter, and alignment props.",
393
+ "keyProps": [
394
+ "cols",
395
+ "gutter",
396
+ "width",
397
+ "offset",
398
+ "alignItems"
399
+ ]
400
+ },
401
+ {
402
+ "id": "layout/top-nav",
403
+ "name": "TopNav",
404
+ "category": "layout",
405
+ "sourcePath": "src/tedi/components/layout/top-nav",
406
+ "status": [],
407
+ "description": "Top navigation bar with flat links and mega-menu submenus that collapses into a mobile drawer below a breakpoint.",
408
+ "keyProps": [
409
+ "ariaLabel",
410
+ "mobileBreakpoint",
411
+ "submenuFit",
412
+ "maxWidth"
413
+ ]
414
+ },
415
+ {
416
+ "id": "layout/mobile-nav",
417
+ "name": "MobileNav",
418
+ "category": "layout",
419
+ "sourcePath": "src/tedi/components/layout/mobile-nav",
420
+ "status": [],
421
+ "description": "Full-screen drawer navigation for mobile viewports with drill-down levels for nested nav items.",
422
+ "keyProps": [
423
+ "navItems",
424
+ "ariaLabel",
425
+ "isOpen",
426
+ "onClose"
427
+ ]
428
+ },
429
+ {
430
+ "id": "notifications/alert/alert",
431
+ "name": "Alert",
432
+ "category": "notifications",
433
+ "sourcePath": "src/tedi/components/notifications/alert/alert",
434
+ "status": [
435
+ "breakpointSupport"
436
+ ],
437
+ "description": "Render an inline banner message communicating info, success, warning, or danger, with an optional dismiss button.",
438
+ "keyProps": [
439
+ "type",
440
+ "title",
441
+ "onClose",
442
+ "icon"
443
+ ]
444
+ },
445
+ {
446
+ "id": "content/empty-state",
447
+ "name": "EmptyState",
448
+ "category": "content",
449
+ "sourcePath": "src/tedi/components/content/empty-state",
450
+ "status": [],
451
+ "description": "Render a placeholder block (icon, heading, description, and actions) shown when there is no content to display.",
452
+ "keyProps": [
453
+ "type",
454
+ "icon",
455
+ "heading",
456
+ "actions"
457
+ ]
458
+ },
459
+ {
460
+ "id": "notifications/toast/toast",
461
+ "name": "ToastContainer",
462
+ "category": "notifications",
463
+ "sourcePath": "src/tedi/components/notifications/toast/toast",
464
+ "status": [],
465
+ "description": "Mount ToastContainer once at the app root, then raise transient notifications from anywhere with sendNotification(alertProps, toastOptions). There is no Toast component — each toast body is an Alert, so the key props below are AlertProps.",
466
+ "keyProps": [
467
+ "type",
468
+ "title",
469
+ "children"
470
+ ]
471
+ },
472
+ {
473
+ "id": "content/card",
474
+ "name": "Card",
475
+ "category": "content",
476
+ "sourcePath": "src/tedi/components/content/card",
477
+ "status": [],
478
+ "description": "Render a bordered content surface composed from Card.Header, Card.Content, and Card.Notification sub-components.",
479
+ "keyProps": [
480
+ "padding",
481
+ "background",
482
+ "borderless"
483
+ ]
484
+ },
485
+ {
486
+ "id": "content/accordion",
487
+ "name": "Accordion",
488
+ "category": "content",
489
+ "sourcePath": "src/tedi/components/content/accordion",
490
+ "status": [],
491
+ "description": "Compound collapsible-content component with one or more Accordion.Item entries, supporting single or multiple expansion.",
492
+ "keyProps": [
493
+ "allowMultiple",
494
+ "defaultExpanded",
495
+ "itemGap"
496
+ ]
497
+ },
498
+ {
499
+ "id": "navigation/breadcrumbs",
500
+ "name": "Breadcrumbs",
501
+ "category": "navigation",
502
+ "sourcePath": "src/tedi/components/navigation/breadcrumbs",
503
+ "status": [],
504
+ "description": "Render a trail of navigational crumbs with automatic separators, a mobile back-link variant, and collapsing for long trails.",
505
+ "keyProps": [
506
+ "children",
507
+ "variant",
508
+ "maxItems",
509
+ "ariaLabel"
510
+ ]
511
+ },
512
+ {
513
+ "id": "navigation/hash-trigger/hash-trigger",
514
+ "name": "HashTrigger",
515
+ "category": "navigation",
516
+ "sourcePath": "src/tedi/components/navigation/hash-trigger/hash-trigger",
517
+ "status": [],
518
+ "description": "Wrap content with an id so it can be located, optionally auto-scrolled to, and reported on when the URL hash matches it.",
519
+ "keyProps": [
520
+ "id",
521
+ "onMatch",
522
+ "scrollOnMatch"
523
+ ]
524
+ },
525
+ {
526
+ "id": "navigation/horizontal-stepper",
527
+ "name": "HorizontalStepper",
528
+ "category": "navigation",
529
+ "sourcePath": "src/tedi/components/navigation/horizontal-stepper",
530
+ "status": [],
531
+ "description": "Render a horizontal multi-step progress indicator with auto-numbered, selectable HorizontalStepper.Item steps.",
532
+ "keyProps": [
533
+ "children",
534
+ "compact",
535
+ "background"
536
+ ]
537
+ },
538
+ {
539
+ "id": "navigation/link/link",
540
+ "name": "Link",
541
+ "category": "navigation",
542
+ "sourcePath": "src/tedi/components/navigation/link/link",
543
+ "status": [
544
+ "breakpointSupport"
545
+ ],
546
+ "description": "Render a styled navigational anchor with optional underline and leading/trailing icons; polymorphic for router link components.",
547
+ "keyProps": [
548
+ "href",
549
+ "underline",
550
+ "icon",
551
+ "iconLeft",
552
+ "as"
553
+ ]
554
+ },
555
+ {
556
+ "id": "navigation/pagination",
557
+ "name": "Pagination",
558
+ "category": "navigation",
559
+ "sourcePath": "src/tedi/components/navigation/pagination",
560
+ "status": [],
561
+ "description": "Render a page-number list with prev/next arrows, a results count, and an optional page-size selector; collapses to a mobile modal picker.",
562
+ "keyProps": [
563
+ "pageCount",
564
+ "page",
565
+ "onPageChange",
566
+ "totalItems",
567
+ "pageSize"
568
+ ]
569
+ },
570
+ {
571
+ "id": "navigation/table-of-contents",
572
+ "name": "TableOfContents",
573
+ "category": "navigation",
574
+ "sourcePath": "src/tedi/components/navigation/table-of-contents",
575
+ "status": [],
576
+ "description": "Navigational table of contents for long pages or multistep forms, composed from nestable TableOfContents.Item entries.",
577
+ "keyProps": [
578
+ "activeId",
579
+ "numbered",
580
+ "showIcons",
581
+ "sticky"
582
+ ]
583
+ },
584
+ {
585
+ "id": "navigation/tabs",
586
+ "name": "Tabs",
587
+ "category": "navigation",
588
+ "sourcePath": "src/tedi/components/navigation/tabs",
589
+ "status": [],
590
+ "description": "Compound tabbed-navigation component composed from Tabs.List, Tabs.Trigger, and Tabs.Content, supporting controlled and uncontrolled active tab.",
591
+ "keyProps": [
592
+ "value",
593
+ "defaultValue",
594
+ "onChange"
595
+ ]
596
+ },
597
+ {
598
+ "id": "navigation/vertical-stepper",
599
+ "name": null,
600
+ "category": "navigation",
601
+ "sourcePath": "src/tedi/components/navigation/vertical-stepper",
602
+ "status": [],
603
+ "description": null,
604
+ "keyProps": []
605
+ },
606
+ {
607
+ "id": "navigation/card-stepper",
608
+ "name": null,
609
+ "category": "navigation",
610
+ "sourcePath": "src/tedi/components/navigation/card-stepper",
611
+ "status": [],
612
+ "description": null,
613
+ "keyProps": []
614
+ },
615
+ {
616
+ "id": "form/textfield/textfield",
617
+ "name": "TextField",
618
+ "category": "form",
619
+ "sourcePath": "src/tedi/components/form/textfield/textfield",
620
+ "status": [
621
+ "breakpointSupport"
622
+ ],
623
+ "description": "Single-line text input with a label, optional icon, clear button, size variants, and validation helper text.",
624
+ "keyProps": [
625
+ "id",
626
+ "label",
627
+ "value",
628
+ "onChange",
629
+ "icon"
630
+ ]
631
+ },
632
+ {
633
+ "id": "form/textarea/textarea",
634
+ "name": "Textarea",
635
+ "category": "form",
636
+ "sourcePath": "src/tedi/components/form/textarea/textarea",
637
+ "status": [
638
+ "breakpointSupport"
639
+ ],
640
+ "description": "Multi-line text input extending TextField with an optional character-limit counter.",
641
+ "keyProps": [
642
+ "id",
643
+ "label",
644
+ "value",
645
+ "onChange",
646
+ "characterLimit"
647
+ ]
648
+ },
649
+ {
650
+ "id": "form/number-field/number-field",
651
+ "name": "NumberField",
652
+ "category": "form",
653
+ "sourcePath": "src/tedi/components/form/number-field/number-field",
654
+ "status": [
655
+ "breakpointSupport"
656
+ ],
657
+ "description": "Numeric input with min/max/step constraints, an optional suffix, and increment controls.",
658
+ "keyProps": [
659
+ "id",
660
+ "label",
661
+ "value",
662
+ "onChange",
663
+ "min"
664
+ ]
665
+ },
666
+ {
667
+ "id": "form/toggle/toggle",
668
+ "name": "Toggle",
669
+ "category": "form",
670
+ "sourcePath": "src/tedi/components/form/toggle/toggle",
671
+ "status": [],
672
+ "description": "Render an on/off switch control with a label, size, color, and optional lock icon or loading state.",
673
+ "keyProps": [
674
+ "id",
675
+ "label",
676
+ "checked",
677
+ "onChange",
678
+ "size"
679
+ ]
680
+ },
681
+ {
682
+ "id": "form/feedback-text/feedback-text",
683
+ "name": "FeedbackText",
684
+ "category": "form",
685
+ "sourcePath": "src/tedi/components/form/feedback-text/feedback-text",
686
+ "status": [],
687
+ "description": "Render hint, error, or valid feedback text below a form control, wired for aria-describedby association.",
688
+ "keyProps": [
689
+ "text",
690
+ "type",
691
+ "id",
692
+ "position"
693
+ ]
694
+ },
695
+ {
696
+ "id": "form/search/search",
697
+ "name": "Search",
698
+ "category": "form",
699
+ "sourcePath": "src/tedi/components/form/search/search",
700
+ "status": [
701
+ "breakpointSupport"
702
+ ],
703
+ "description": "TextField variant with a built-in search button and onSearch callback for triggering a search action.",
704
+ "keyProps": [
705
+ "id",
706
+ "label",
707
+ "onSearch",
708
+ "button"
709
+ ]
710
+ },
711
+ {
712
+ "id": "form/radio/radio",
713
+ "name": "Radio",
714
+ "category": "form",
715
+ "sourcePath": "src/tedi/components/form/radio/radio",
716
+ "status": [],
717
+ "description": "Single radio input control, typically used within a ChoiceGroup for mutually-exclusive selection.",
718
+ "keyProps": [
719
+ "id",
720
+ "label",
721
+ "value",
722
+ "checked",
723
+ "onChange"
724
+ ]
725
+ },
726
+ {
727
+ "id": "form/choice-group",
728
+ "name": "ChoiceGroup",
729
+ "category": "form",
730
+ "sourcePath": "src/tedi/components/form/choice-group",
731
+ "status": [],
732
+ "description": "Render a group of radio or checkbox items with a shared label, supporting a default or segmented visual variant.",
733
+ "keyProps": [
734
+ "items",
735
+ "inputType",
736
+ "value",
737
+ "onChange",
738
+ "variant"
739
+ ]
740
+ },
741
+ {
742
+ "id": "form/file-upload/file-upload",
743
+ "name": "FileUpload",
744
+ "category": "form",
745
+ "sourcePath": "src/tedi/components/form/file-upload/file-upload",
746
+ "status": [],
747
+ "description": "Button-triggered multi-file upload control with validation, size limits, and per-file progress/loading states.",
748
+ "keyProps": [
749
+ "id",
750
+ "name",
751
+ "accept",
752
+ "multiple",
753
+ "maxSize"
754
+ ]
755
+ },
756
+ {
757
+ "id": "form/file-dropzone/file-dropzone",
758
+ "name": "FileDropzone",
759
+ "category": "form",
760
+ "sourcePath": "src/tedi/components/form/file-dropzone/file-dropzone",
761
+ "status": [],
762
+ "description": "Drag-and-drop file upload area with validation, size limits, and per-file feedback via Attachment rows.",
763
+ "keyProps": [
764
+ "name",
765
+ "label",
766
+ "accept",
767
+ "multiple",
768
+ "maxSize"
769
+ ]
770
+ },
771
+ {
772
+ "id": "form/select/select",
773
+ "name": "Select",
774
+ "category": "form",
775
+ "sourcePath": "src/tedi/components/form/select/select",
776
+ "status": [],
777
+ "description": "Searchable dropdown select supporting single or multi-select, async option loading, and clearable selection.",
778
+ "keyProps": [
779
+ "id",
780
+ "label",
781
+ "options",
782
+ "value",
783
+ "onChange"
784
+ ]
785
+ },
786
+ {
787
+ "id": "form/time-field/time-field",
788
+ "name": "TimeField",
789
+ "category": "form",
790
+ "sourcePath": "src/tedi/components/form/time-field/time-field",
791
+ "status": [
792
+ "breakpointSupport"
793
+ ],
794
+ "description": "Time input with a wheel or fixed-slot grid picker popover, 24-hour \"HH:mm\" value, and a native-picker fallback.",
795
+ "keyProps": [
796
+ "id",
797
+ "label",
798
+ "value",
799
+ "onChange",
800
+ "stepMinutes"
801
+ ]
802
+ },
803
+ {
804
+ "id": "form/time-picker/time-picker",
805
+ "name": "TimePicker",
806
+ "category": "form",
807
+ "sourcePath": "src/tedi/components/form/time-picker/time-picker",
808
+ "status": [],
809
+ "description": "Lower-level always-visible time-picker primitive (scroll-wheel or fixed-slot grid); use TimeField for plain time inputs.",
810
+ "keyProps": [
811
+ "value",
812
+ "onChange",
813
+ "stepMinutes",
814
+ "availableTimes"
815
+ ]
816
+ },
817
+ {
818
+ "id": "form/checkbox/checkbox",
819
+ "name": "Checkbox",
820
+ "category": "form",
821
+ "sourcePath": "src/tedi/components/form/checkbox/checkbox",
822
+ "status": [],
823
+ "description": "Single checkbox input control supporting a checked, unchecked, and indeterminate state.",
824
+ "keyProps": [
825
+ "id",
826
+ "label",
827
+ "checked",
828
+ "onChange",
829
+ "indeterminate"
830
+ ]
831
+ },
832
+ {
833
+ "id": "form/slider/slider",
834
+ "name": "Slider",
835
+ "category": "form",
836
+ "sourcePath": "src/tedi/components/form/slider/slider",
837
+ "status": [
838
+ "breakpointSupport"
839
+ ],
840
+ "description": "Range-input slider control with min/max/step, value tooltip, and optional companion input slot.",
841
+ "keyProps": [
842
+ "min",
843
+ "max",
844
+ "step",
845
+ "value",
846
+ "onChange"
847
+ ]
848
+ },
849
+ {
850
+ "id": "form/date-field/date-field",
851
+ "name": "DateField",
852
+ "category": "form",
853
+ "sourcePath": "src/tedi/components/form/date-field/date-field",
854
+ "status": [
855
+ "breakpointSupport"
856
+ ],
857
+ "description": "Date input with a calendar popover supporting single, multiple, and range selection, manual text entry, and a native-picker fallback.",
858
+ "keyProps": [
859
+ "id",
860
+ "label",
861
+ "mode",
862
+ "selected",
863
+ "onSelect"
864
+ ]
865
+ },
866
+ {
867
+ "id": "filter/filter",
868
+ "name": "Filter",
869
+ "category": "filter",
870
+ "sourcePath": "src/tedi/components/filter/filter",
871
+ "status": [],
872
+ "description": "Compact pill-shaped trigger for refining result sets, rendering as a toggle, single- or multi-select dropdown, or custom panel.",
873
+ "keyProps": [
874
+ "text",
875
+ "options",
876
+ "multiselect",
877
+ "selectedValue",
878
+ "selectedValues"
879
+ ]
880
+ },
881
+ {
882
+ "id": "form/date-time-field/date-time-field",
883
+ "name": "DateTimeField",
884
+ "category": "form",
885
+ "sourcePath": "src/tedi/components/form/date-time-field/date-time-field",
886
+ "status": [
887
+ "breakpointSupport"
888
+ ],
889
+ "description": "Combined date-and-time input with a calendar and time picker in one popover, supporting single or range selection.",
890
+ "keyProps": [
891
+ "id",
892
+ "label",
893
+ "mode",
894
+ "value",
895
+ "onChange"
896
+ ]
897
+ },
898
+ {
899
+ "id": "form/input-group",
900
+ "name": "InputGroup",
901
+ "category": "form",
902
+ "sourcePath": "src/tedi/components/form/input-group",
903
+ "status": [],
904
+ "description": "Compose an input with prefix/suffix addon slots that visually merge into a single control.",
905
+ "keyProps": [
906
+ "addons",
907
+ "helper",
908
+ "disabled",
909
+ "invalid"
910
+ ]
911
+ },
912
+ {
913
+ "id": "form/field/field",
914
+ "name": "Field",
915
+ "category": "form",
916
+ "sourcePath": "src/tedi/components/form/field/field",
917
+ "status": [],
918
+ "description": "Low-level controlled/uncontrolled input or textarea primitive used to build higher-level form controls.",
919
+ "keyProps": [
920
+ "id",
921
+ "value",
922
+ "onChange",
923
+ "isTextArea",
924
+ "invalid"
925
+ ]
926
+ },
927
+ {
928
+ "id": "overlays/tooltip",
929
+ "name": "Tooltip",
930
+ "category": "overlays",
931
+ "sourcePath": "src/tedi/components/overlays/tooltip",
932
+ "status": [],
933
+ "description": "Show contextual help text anchored to a trigger element on hover, click, or focus.",
934
+ "keyProps": [
935
+ "openWith"
936
+ ]
937
+ },
938
+ {
939
+ "id": "overlays/popover",
940
+ "name": "Popover",
941
+ "category": "overlays",
942
+ "sourcePath": "src/tedi/components/overlays/popover",
943
+ "status": [],
944
+ "description": "Show a floating panel of content anchored to a trigger element, opened by click.",
945
+ "keyProps": [
946
+ "openWith",
947
+ "dismissible",
948
+ "role",
949
+ "withBorder"
950
+ ]
951
+ },
952
+ {
953
+ "id": "overlays/dropdown",
954
+ "name": "Dropdown",
955
+ "category": "overlays",
956
+ "sourcePath": "src/tedi/components/overlays/dropdown",
957
+ "status": [],
958
+ "description": "Render a floating menu of Dropdown.Item actions anchored to a trigger element.",
959
+ "keyProps": [
960
+ "width",
961
+ "placement",
962
+ "divided",
963
+ "open"
964
+ ]
965
+ },
966
+ {
967
+ "id": "overlays/modal",
968
+ "name": "Modal",
969
+ "category": "overlays",
970
+ "sourcePath": "src/tedi/components/overlays/modal",
971
+ "status": [],
972
+ "description": "Portalled dialog with focus trapping, backdrop, and scroll locking, composed from Modal.Trigger, Modal.Content, Modal.Header, Modal.Body, and Modal.Footer.",
973
+ "keyProps": [
974
+ "open",
975
+ "defaultOpen",
976
+ "onToggle",
977
+ "role"
978
+ ]
979
+ },
980
+ {
981
+ "id": "misc/separator/separator",
982
+ "name": "Separator",
983
+ "category": "misc",
984
+ "sourcePath": "src/tedi/components/misc/separator/separator",
985
+ "status": [
986
+ "breakpointSupport"
987
+ ],
988
+ "description": "Render a horizontal or vertical divider line between content sections.",
989
+ "keyProps": [
990
+ "axis",
991
+ "color",
992
+ "variant",
993
+ "thickness"
994
+ ]
995
+ },
996
+ {
997
+ "id": "misc/print/print",
998
+ "name": "Print",
999
+ "category": "misc",
1000
+ "sourcePath": "src/tedi/components/misc/print/print",
1001
+ "status": [],
1002
+ "description": "Control print-only visibility and CSS page/column break behavior for its child element(s).",
1003
+ "keyProps": [
1004
+ "visibility",
1005
+ "breakBefore",
1006
+ "breakAfter",
1007
+ "breakInside"
1008
+ ]
1009
+ },
1010
+ {
1011
+ "id": "misc/stretch-content/stretch-content",
1012
+ "name": "StretchContent",
1013
+ "category": "misc",
1014
+ "sourcePath": "src/tedi/components/misc/stretch-content/stretch-content",
1015
+ "status": [
1016
+ "breakpointSupport"
1017
+ ],
1018
+ "description": "Stretch a single child element to fill its container horizontally, vertically, or both.",
1019
+ "keyProps": [
1020
+ "direction",
1021
+ "children"
1022
+ ]
1023
+ },
1024
+ {
1025
+ "id": "misc/scroll-visibility/scroll-visibility",
1026
+ "name": "ScrollVisibility",
1027
+ "category": "misc",
1028
+ "sourcePath": "src/tedi/components/misc/scroll-visibility/scroll-visibility",
1029
+ "status": [],
1030
+ "description": "Show or hide (with animation) its child based on scroll position past a configurable distance/direction.",
1031
+ "keyProps": [
1032
+ "visibility",
1033
+ "scrollDistance",
1034
+ "scrollDirection",
1035
+ "toggleVisibility"
1036
+ ]
1037
+ },
1038
+ {
1039
+ "id": "misc/scroll-fade/scroll-fade",
1040
+ "name": "ScrollFade",
1041
+ "category": "misc",
1042
+ "sourcePath": "src/tedi/components/misc/scroll-fade/scroll-fade",
1043
+ "status": [],
1044
+ "description": "Wrap scrollable content with fade-edge overlays that appear when there is more content to scroll to.",
1045
+ "keyProps": [
1046
+ "fadePosition",
1047
+ "fadeSize",
1048
+ "scrollBar"
1049
+ ]
1050
+ },
1051
+ {
1052
+ "id": "misc/affix/affix",
1053
+ "name": "Affix",
1054
+ "category": "misc",
1055
+ "sourcePath": "src/tedi/components/misc/affix/affix",
1056
+ "status": [],
1057
+ "description": "Pin content to the viewport via sticky or fixed positioning, offset relative to the page header.",
1058
+ "keyProps": [
1059
+ "position",
1060
+ "top",
1061
+ "bottom",
1062
+ "relative"
1063
+ ]
1064
+ },
1065
+ {
1066
+ "id": "misc/attachment",
1067
+ "name": "Attachment",
1068
+ "category": "misc",
1069
+ "sourcePath": "src/tedi/components/misc/attachment",
1070
+ "status": [],
1071
+ "description": "Render a file row with name, size, an optional icon and progress bar, and a slot for download/delete actions.",
1072
+ "keyProps": [
1073
+ "name",
1074
+ "fileSize",
1075
+ "actions",
1076
+ "isLoading",
1077
+ "isValid"
1078
+ ]
1079
+ },
1080
+ {
1081
+ "id": "misc/ellipsis/ellipsis",
1082
+ "name": "Ellipsis",
1083
+ "category": "misc",
1084
+ "sourcePath": "src/tedi/components/misc/ellipsis/ellipsis",
1085
+ "status": [],
1086
+ "description": "Detect and truncate overflowing single-line text, exposing the full text via a tooltip.",
1087
+ "keyProps": [
1088
+ "children"
1089
+ ]
1090
+ },
1091
+ {
1092
+ "id": "misc/timeline",
1093
+ "name": "Timeline",
1094
+ "category": "misc",
1095
+ "sourcePath": "src/tedi/components/misc/timeline",
1096
+ "status": [],
1097
+ "description": "Render a vertical sequence of events from Timeline.Item children (each composed with Timeline.Title and Timeline.Description), deriving past, current, and future item states from activeIndex.",
1098
+ "keyProps": [
1099
+ "activeIndex",
1100
+ "variant",
1101
+ "cardPadding"
1102
+ ]
1103
+ },
1104
+ {
1105
+ "id": "misc/option-content/option-content",
1106
+ "name": "OptionContent",
1107
+ "category": "misc",
1108
+ "sourcePath": "src/tedi/components/misc/option-content/option-content",
1109
+ "status": [
1110
+ "devComponent"
1111
+ ],
1112
+ "description": "Reusable, non-interactive content template that lays out a selection indicator, icon, label, and meta for dropdown/select option rows.",
1113
+ "keyProps": [
1114
+ "type",
1115
+ "layout",
1116
+ "selected",
1117
+ "icon",
1118
+ "indicatorSemantics"
1119
+ ]
1120
+ },
1121
+ {
1122
+ "id": "layout/sidenav",
1123
+ "name": "SideNav",
1124
+ "category": "layout",
1125
+ "sourcePath": "src/tedi/components/layout/sidenav",
1126
+ "status": [],
1127
+ "description": "Render a vertical side navigation menu with collapsible items and a mobile drawer toggle.",
1128
+ "keyProps": [
1129
+ "ariaLabel",
1130
+ "navItems",
1131
+ "collapsible",
1132
+ "mobileBreakpoint"
1133
+ ]
1134
+ },
1135
+ {
1136
+ "id": "layout/footer",
1137
+ "name": "Footer",
1138
+ "category": "layout",
1139
+ "sourcePath": "src/tedi/components/layout/footer",
1140
+ "status": [],
1141
+ "description": "Composable page footer built from Footer.Side, Footer.Body/Footer.Section, and Footer.Bottom slots, with a mobile-collapsed layout.",
1142
+ "keyProps": [
1143
+ "mobileBreakpoint",
1144
+ "maxWidth",
1145
+ "children"
1146
+ ]
1147
+ },
1148
+ {
1149
+ "id": "layout/header",
1150
+ "name": "Header",
1151
+ "category": "layout",
1152
+ "sourcePath": "src/tedi/components/layout/header",
1153
+ "status": [],
1154
+ "description": "Composable site header built from Header.Logo, Header.Center, Header.Actions, and related sub-components, with mobile toggle support.",
1155
+ "keyProps": [
1156
+ "toggle",
1157
+ "top",
1158
+ "bottom",
1159
+ "topAlignment"
1160
+ ]
1161
+ },
1162
+ {
1163
+ "id": "layout/show-at/show-at",
1164
+ "name": "ShowAt",
1165
+ "category": "layout",
1166
+ "sourcePath": "src/tedi/components/layout/show-at/show-at",
1167
+ "status": [],
1168
+ "description": "Render children only at or above the given breakpoint(s), unmounting them otherwise.",
1169
+ "keyProps": [
1170
+ "sm",
1171
+ "md",
1172
+ "lg",
1173
+ "xl"
1174
+ ]
1175
+ },
1176
+ {
1177
+ "id": "layout/hide-at/hide-at",
1178
+ "name": "HideAt",
1179
+ "category": "layout",
1180
+ "sourcePath": "src/tedi/components/layout/hide-at/hide-at",
1181
+ "status": [],
1182
+ "description": "Hide (unmount) children at or above the given breakpoint(s), rendering them otherwise.",
1183
+ "keyProps": [
1184
+ "sm",
1185
+ "md",
1186
+ "lg",
1187
+ "xl"
1188
+ ]
1189
+ }
1190
+ ]
1191
+ }