jsswift 1.0.45 → 1.0.46

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 (67) hide show
  1. package/dist/documentions/AI.md +85 -0
  2. package/dist/documentions/README.md +2 -0
  3. package/dist/documentions/ai-development.md +3 -1
  4. package/dist/documentions/components/alert.md +29 -493
  5. package/dist/documentions/components/app-shell.md +37 -524
  6. package/dist/documentions/components/avatar.md +47 -575
  7. package/dist/documentions/components/badge.md +27 -461
  8. package/dist/documentions/components/banner.md +35 -535
  9. package/dist/documentions/components/breadcrumbs.md +35 -518
  10. package/dist/documentions/components/btn.md +3 -21
  11. package/dist/documentions/components/card-body.md +11 -328
  12. package/dist/documentions/components/card-footer.md +15 -367
  13. package/dist/documentions/components/card-header.md +15 -367
  14. package/dist/documentions/components/card.md +3 -19
  15. package/dist/documentions/components/checkbox.md +25 -456
  16. package/dist/documentions/components/chip.md +16 -393
  17. package/dist/documentions/components/col.md +57 -612
  18. package/dist/documentions/components/container.md +40 -535
  19. package/dist/documentions/components/context-menu.md +60 -696
  20. package/dist/documentions/components/date.md +56 -673
  21. package/dist/documentions/components/dialog.md +5 -21
  22. package/dist/documentions/components/drawer.md +48 -616
  23. package/dist/documentions/components/empty-state.md +28 -477
  24. package/dist/documentions/components/footer.md +42 -586
  25. package/dist/documentions/components/form-field.md +40 -568
  26. package/dist/documentions/components/form.md +7 -321
  27. package/dist/documentions/components/grid-col.md +42 -542
  28. package/dist/documentions/components/grid.md +40 -542
  29. package/dist/documentions/components/header.md +38 -547
  30. package/dist/documentions/components/icon.md +17 -370
  31. package/dist/documentions/components/input.md +4 -22
  32. package/dist/documentions/components/item.md +37 -533
  33. package/dist/documentions/components/kpi.md +34 -519
  34. package/dist/documentions/components/layout.md +81 -811
  35. package/dist/documentions/components/list.md +19 -405
  36. package/dist/documentions/components/loading-bar.md +58 -679
  37. package/dist/documentions/components/menu.md +62 -710
  38. package/dist/documentions/components/notify.md +34 -525
  39. package/dist/documentions/components/page.md +35 -526
  40. package/dist/documentions/components/pagination.md +3 -20
  41. package/dist/documentions/components/parallax.md +50 -633
  42. package/dist/documentions/components/popover.md +55 -661
  43. package/dist/documentions/components/progress.md +39 -554
  44. package/dist/documentions/components/radio.md +27 -470
  45. package/dist/documentions/components/rating.md +41 -574
  46. package/dist/documentions/components/route-tab.md +30 -491
  47. package/dist/documentions/components/row.md +35 -507
  48. package/dist/documentions/components/search.md +62 -723
  49. package/dist/documentions/components/select.md +3 -22
  50. package/dist/documentions/components/separator.md +7 -321
  51. package/dist/documentions/components/slider.md +49 -631
  52. package/dist/documentions/components/spacer.md +6 -314
  53. package/dist/documentions/components/spinner.md +25 -440
  54. package/dist/documentions/components/stat.md +32 -505
  55. package/dist/documentions/components/tab-panel.md +40 -563
  56. package/dist/documentions/components/table.md +3 -22
  57. package/dist/documentions/components/tabs.md +36 -538
  58. package/dist/documentions/components/time.md +29 -491
  59. package/dist/documentions/components/toggle.md +31 -498
  60. package/dist/documentions/components/toolbar.md +52 -640
  61. package/dist/documentions/components/tooltip.md +35 -535
  62. package/dist/documentions/knowledge-map.json +19 -1
  63. package/dist/documentions/ui/common-props.md +301 -0
  64. package/dist/jsswift.js +10543 -14102
  65. package/dist/jsswift.min.js +3 -3
  66. package/dist/min-jsswift.js +3 -3
  67. package/package.json +3 -2
@@ -1,579 +1,56 @@
1
1
  # TabPanel
2
2
 
3
- Exact JSswift UI metadata contract. Use only the props, slots, events, and methods documented below.
3
+ Exact JSswift UI contract. Shared definitions listed in `commonProps` are in [common props](../ui/common-props.md); all component-specific props, slots, events, and methods are below.
4
4
 
5
5
  ```json
6
6
  {
7
7
  "signature": "_.TabPanel(props) | _.TabPanel(props, ...children)",
8
8
  "props": {
9
- "size": {
10
- "type": "string|number",
11
- "description": "Size token, number, or CSS length for sizing.",
12
- "default": null,
13
- "values": [
14
- "number",
15
- "CSS units",
16
- "xxs",
17
- "xs",
18
- "sm",
19
- "md",
20
- "lg",
21
- "xl",
22
- "xxl",
23
- "xxxl"
24
- ],
25
- "category": "style"
26
- },
27
- "color": {
28
- "type": "string",
29
- "description": "Semantic color name used to style the component.",
30
- "default": null,
31
- "values": [
32
- "primary",
33
- "secondary",
34
- "success",
35
- "warning",
36
- "danger",
37
- "info",
38
- "light",
39
- "dark"
40
- ],
41
- "category": "style"
42
- },
43
- "outline": {
44
- "type": "boolean",
45
- "description": "Uses outlined visual style.",
46
- "default": false,
47
- "values": [
48
- "number",
49
- "CSS units",
50
- "xxs",
51
- "xs",
52
- "sm",
53
- "md",
54
- "lg",
55
- "xl",
56
- "xxl",
57
- "xxxl"
58
- ],
59
- "category": "style"
60
- },
61
- "clickable": {
62
- "type": "boolean",
63
- "description": "Enables pointer/hover styles and click handling on the component.",
64
- "default": false,
65
- "values": null,
66
- "category": "behavior"
67
- },
68
- "padding": {
69
- "type": "string|number",
70
- "description": "Padding applied to the component root element.",
71
- "default": null,
72
- "values": [
73
- "number",
74
- "CSS units",
75
- "xxs",
76
- "xs",
77
- "sm",
78
- "md",
79
- "lg",
80
- "xl",
81
- "xxl",
82
- "xxxl"
83
- ],
84
- "category": "layout"
85
- },
86
- "margin": {
87
- "type": "string|number",
88
- "description": "Margin applied to the component root element.",
89
- "default": null,
90
- "values": [
91
- "number",
92
- "CSS units",
93
- "xxs",
94
- "xs",
95
- "sm",
96
- "md",
97
- "lg",
98
- "xl",
99
- "xxl",
100
- "xxxl"
101
- ],
102
- "category": "layout"
103
- },
104
- "width": {
105
- "type": "string|number",
106
- "description": "Explicit width (number interpreted as px or CSS length).",
107
- "default": null,
108
- "values": [
109
- "number",
110
- "CSS units",
111
- "xxs",
112
- "xs",
113
- "sm",
114
- "md",
115
- "lg",
116
- "xl",
117
- "xxl",
118
- "xxxl"
119
- ],
120
- "category": "layout"
121
- },
122
- "minWidth": {
123
- "type": "string|number",
124
- "description": "Minimum width constraint (number interpreted as px or CSS length).",
125
- "default": null,
126
- "values": [
127
- "number",
128
- "CSS units",
129
- "xxs",
130
- "xs",
131
- "sm",
132
- "md",
133
- "lg",
134
- "xl",
135
- "xxl",
136
- "xxxl"
137
- ],
138
- "category": "layout"
139
- },
140
- "maxWidth": {
141
- "type": "string|number",
142
- "description": "Maximum width constraint (number interpreted as px or CSS length).",
143
- "default": null,
144
- "values": [
145
- "number",
146
- "CSS units",
147
- "xxs",
148
- "xs",
149
- "sm",
150
- "md",
151
- "lg",
152
- "xl",
153
- "xxl",
154
- "xxxl"
155
- ],
156
- "category": "layout"
157
- },
158
- "height": {
159
- "type": "string|number",
160
- "description": "Explicit height (number interpreted as px or CSS length).",
161
- "default": null,
162
- "values": [
163
- "number",
164
- "CSS units",
165
- "xxs",
166
- "xs",
167
- "sm",
168
- "md",
169
- "lg",
170
- "xl",
171
- "xxl",
172
- "xxxl"
173
- ],
174
- "category": "layout"
175
- },
176
- "minHeight": {
177
- "type": "string|number",
178
- "description": "Minimum height constraint (number interpreted as px or CSS length).",
179
- "default": null,
180
- "values": [
181
- "number",
182
- "CSS units",
183
- "xxs",
184
- "xs",
185
- "sm",
186
- "md",
187
- "lg",
188
- "xl",
189
- "xxl",
190
- "xxxl"
191
- ],
192
- "category": "layout"
193
- },
194
- "maxHeight": {
195
- "type": "string|number",
196
- "description": "Maximum height constraint (number interpreted as px or CSS length).",
197
- "default": null,
198
- "values": [
199
- "number",
200
- "CSS units",
201
- "xxs",
202
- "xs",
203
- "sm",
204
- "md",
205
- "lg",
206
- "xl",
207
- "xxl",
208
- "xxxl"
209
- ],
210
- "category": "layout"
211
- },
212
- "radius": {
213
- "type": "string|number",
214
- "description": "Border radius token or CSS length applied to the component.",
215
- "default": null,
216
- "values": [
217
- "number",
218
- "CSS units",
219
- "xxs",
220
- "xs",
221
- "sm",
222
- "md",
223
- "lg",
224
- "xl",
225
- "xxl",
226
- "xxxl"
227
- ],
228
- "category": "style"
229
- },
230
- "borderRadius": {
231
- "type": "string|number",
232
- "description": "Border radius token or CSS length applied to the component.",
233
- "default": null,
234
- "values": [
235
- "number",
236
- "CSS units",
237
- "xxs",
238
- "xs",
239
- "sm",
240
- "md",
241
- "lg",
242
- "xl",
243
- "xxl",
244
- "xxxl"
245
- ],
246
- "category": "style"
247
- },
248
- "shadow": {
249
- "type": "string|boolean",
250
- "description": "Shadow token or CSS box-shadow string applied to the component.",
251
- "default": null,
252
- "values": [
253
- "none",
254
- "xxs",
255
- "xs",
256
- "sm",
257
- "md",
258
- "lg",
259
- "xl",
260
- "xxl",
261
- "xxxl"
262
- ],
263
- "category": "style"
264
- },
265
- "mobile": {
266
- "type": "object",
267
- "description": "Responsive overrides applied at the base/mobile viewport.",
268
- "default": null,
269
- "values": null,
270
- "category": "layout"
271
- },
272
- "tablet": {
273
- "type": "object",
274
- "description": "Responsive overrides applied from the tablet breakpoint upward.",
275
- "default": null,
276
- "values": null,
277
- "category": "layout"
278
- },
279
- "pc": {
280
- "type": "object",
281
- "description": "Responsive overrides applied from the desktop breakpoint upward.",
282
- "default": null,
283
- "values": null,
284
- "category": "layout"
285
- },
286
- "class": {
287
- "type": "string",
288
- "description": "Additional CSS classes applied to the component root element.",
289
- "default": null,
290
- "values": null,
291
- "category": "style"
292
- },
293
- "style": {
294
- "type": "object",
295
- "description": "Inline styles applied to the component root element.",
296
- "default": null,
297
- "values": null,
298
- "category": "style"
299
- },
300
- "tabs": {
301
- "type": "Array<{ name?, value?, label?, title?, note?, subtitle?, icon?, badge?, content?, panel?, body?, children?, disabled?, hidden?, tabClass?, panelClass? }>",
302
- "description": "Tab definition. Supports multiple aliases for label and content.",
303
- "category": "data",
304
- "default": null,
305
- "values": null
306
- },
307
- "items": {
308
- "type": "Array",
309
- "description": "Alias of `tabs`.",
310
- "category": "data",
311
- "default": null,
312
- "values": null
313
- },
314
- "value": {
315
- "type": "any",
316
- "description": "Initial or controlled value of the active tab.",
317
- "category": "data",
318
- "default": null,
319
- "values": null
320
- },
321
- "defaultValue": {
322
- "type": "any",
323
- "description": "Explicit alias for the initial tab when `model` is not used.",
324
- "category": "data",
325
- "default": null,
326
- "values": null
327
- },
328
- "model": {
329
- "type": "[get,set] signal",
330
- "description": "Reactive binding for the active tab.",
331
- "category": "data",
332
- "default": null,
333
- "values": null
334
- },
335
- "orientation": {
336
- "type": "vertical|horizontal",
337
- "description": "Navigation orientation.",
338
- "values": [
339
- "vertical",
340
- "horizontal"
341
- ],
342
- "default": "vertical",
343
- "category": "layout"
344
- },
345
- "navPosition": {
346
- "type": "before|after",
347
- "description": "Tab bar position relative to the panels.",
348
- "values": [
349
- "before",
350
- "after"
351
- ],
352
- "default": "before",
353
- "category": "layout"
354
- },
355
- "variant": {
356
- "type": "line|pills|soft",
357
- "description": "Visual style of the tab navigation.",
358
- "values": [
359
- "line",
360
- "pills",
361
- "soft"
362
- ],
363
- "default": "line",
364
- "category": "style"
365
- },
366
- "wrap": {
367
- "type": "boolean",
368
- "description": "Allows the nav to wrap when space is limited.",
369
- "default": false,
370
- "category": "layout",
371
- "values": null
372
- },
373
- "navFill": {
374
- "type": "boolean",
375
- "description": "Distributes tabs across the available width.",
376
- "default": false,
377
- "category": "layout",
378
- "values": null
379
- },
380
- "swipeable": {
381
- "type": "boolean",
382
- "description": "Enables swipe gestures on panels.",
383
- "default": false,
384
- "category": "behavior",
385
- "values": null
386
- },
387
- "infinite": {
388
- "type": "boolean",
389
- "description": "When enabled, next/prev cycles from the first to the last tab.",
390
- "default": false,
391
- "category": "behavior",
392
- "values": null
393
- },
394
- "animated": {
395
- "type": "boolean",
396
- "description": "Enables the transition between panels.",
397
- "default": false,
398
- "category": "behavior",
399
- "values": null
400
- },
401
- "transitionDuration": {
402
- "type": "number",
403
- "description": "Animation duration in milliseconds.",
404
- "default": 220,
405
- "category": "behavior",
406
- "values": null
407
- },
408
- "transitionEasing": {
409
- "type": "string",
410
- "description": "CSS timing function for the animation.",
411
- "default": "ease",
412
- "category": "behavior",
413
- "values": null
414
- },
415
- "transitionPrev": {
416
- "type": "string",
417
- "description": "Custom classes applied during the transition to the previous tab.",
418
- "category": "behavior",
419
- "default": null,
420
- "values": null
421
- },
422
- "transitionNext": {
423
- "type": "string",
424
- "description": "Custom classes applied during the transition to the next tab.",
425
- "category": "behavior",
426
- "default": null,
427
- "values": null
428
- },
429
- "tabClass": {
430
- "type": "string",
431
- "description": "Additional classes for all tab buttons.",
432
- "category": "style",
433
- "default": null,
434
- "values": null
435
- },
436
- "tabStyle": {
437
- "type": "object",
438
- "description": "Inline style applied to all tab buttons.",
439
- "category": "style",
440
- "default": null,
441
- "values": null
442
- },
443
- "navClass": {
444
- "type": "string",
445
- "description": "Additional classes for the nav wrapper.",
446
- "category": "style",
447
- "default": null,
448
- "values": null
449
- },
450
- "panelsClass": {
451
- "type": "string",
452
- "description": "Additional classes for the panels wrapper.",
453
- "category": "style",
454
- "default": null,
455
- "values": null
456
- },
457
- "panelClass": {
458
- "type": "string",
459
- "description": "Common additional classes for each panel.",
460
- "category": "style",
461
- "default": null,
462
- "values": null
463
- },
464
- "panelStyle": {
465
- "type": "object",
466
- "description": "Common inline style for each panel.",
467
- "category": "style",
468
- "default": null,
469
- "values": null
470
- },
471
- "empty": {
472
- "type": "Node|Function|Array",
473
- "description": "Visual fallback when `tabs` and `items` are empty.",
474
- "category": "state",
475
- "default": null,
476
- "values": null
477
- },
478
- "disabled": {
479
- "type": "boolean",
480
- "description": "Disables the entire component.",
481
- "default": false,
482
- "category": "state",
483
- "values": null
484
- },
485
- "slots": {
486
- "type": "{ nav?, tab?, label?, icon?, note?, badge?, panel?, empty?, default? }",
487
- "description": "Structured slots for customizing nav, label, badge, and content.",
488
- "category": "general",
489
- "default": null,
490
- "values": null
491
- },
492
- "children": {
493
- "type": "Node|Array|Function",
494
- "description": "Default child content (nodes, arrays, or render function).",
495
- "default": null,
496
- "values": null,
497
- "category": "general"
498
- }
9
+ "tabs": {"type": "Array<{ name?, value?, label?, title?, note?, subtitle?, icon?, badge?, content?, panel?, body?, children?, disabled?, hidden?, tabClass?, panelClass? }>", "description": "Tab definition. Supports multiple aliases for label and content.", "category": "data", "default": null, "values": null},
10
+ "items": {"type": "Array", "description": "Alias of `tabs`.", "category": "data", "default": null, "values": null},
11
+ "value": {"type": "any", "description": "Initial or controlled value of the active tab.", "category": "data", "default": null, "values": null},
12
+ "defaultValue": {"type": "any", "description": "Explicit alias for the initial tab when `model` is not used.", "category": "data", "default": null, "values": null},
13
+ "model": {"type": "[get,set] signal", "description": "Reactive binding for the active tab.", "category": "data", "default": null, "values": null},
14
+ "orientation": {"type": "vertical|horizontal", "description": "Navigation orientation.", "values": ["vertical", "horizontal"], "default": "vertical", "category": "layout"},
15
+ "navPosition": {"type": "before|after", "description": "Tab bar position relative to the panels.", "values": ["before", "after"], "default": "before", "category": "layout"},
16
+ "variant": {"type": "line|pills|soft", "description": "Visual style of the tab navigation.", "values": ["line", "pills", "soft"], "default": "line", "category": "style"},
17
+ "wrap": {"type": "boolean", "description": "Allows the nav to wrap when space is limited.", "default": false, "category": "layout", "values": null},
18
+ "navFill": {"type": "boolean", "description": "Distributes tabs across the available width.", "default": false, "category": "layout", "values": null},
19
+ "swipeable": {"type": "boolean", "description": "Enables swipe gestures on panels.", "default": false, "category": "behavior", "values": null},
20
+ "infinite": {"type": "boolean", "description": "When enabled, next/prev cycles from the first to the last tab.", "default": false, "category": "behavior", "values": null},
21
+ "animated": {"type": "boolean", "description": "Enables the transition between panels.", "default": false, "category": "behavior", "values": null},
22
+ "transitionDuration": {"type": "number", "description": "Animation duration in milliseconds.", "default": 220, "category": "behavior", "values": null},
23
+ "transitionEasing": {"type": "string", "description": "CSS timing function for the animation.", "default": "ease", "category": "behavior", "values": null},
24
+ "transitionPrev": {"type": "string", "description": "Custom classes applied during the transition to the previous tab.", "category": "behavior", "default": null, "values": null},
25
+ "transitionNext": {"type": "string", "description": "Custom classes applied during the transition to the next tab.", "category": "behavior", "default": null, "values": null},
26
+ "tabClass": {"type": "string", "description": "Additional classes for all tab buttons.", "category": "style", "default": null, "values": null},
27
+ "tabStyle": {"type": "object", "description": "Inline style applied to all tab buttons.", "category": "style", "default": null, "values": null},
28
+ "navClass": {"type": "string", "description": "Additional classes for the nav wrapper.", "category": "style", "default": null, "values": null},
29
+ "panelsClass": {"type": "string", "description": "Additional classes for the panels wrapper.", "category": "style", "default": null, "values": null},
30
+ "panelClass": {"type": "string", "description": "Common additional classes for each panel.", "category": "style", "default": null, "values": null},
31
+ "panelStyle": {"type": "object", "description": "Common inline style for each panel.", "category": "style", "default": null, "values": null},
32
+ "empty": {"type": "Node|Function|Array", "description": "Visual fallback when `tabs` and `items` are empty.", "category": "state", "default": null, "values": null},
33
+ "disabled": {"type": "boolean", "description": "Disables the entire component.", "default": false, "category": "state", "values": null},
34
+ "slots": {"type": "{ nav?, tab?, label?, icon?, note?, badge?, panel?, empty?, default? }", "description": "Structured slots for customizing nav, label, badge, and content.", "category": "general", "default": null, "values": null},
35
+ "children": {"type": "Node|Array|Function", "description": "Default child content (nodes, arrays, or render function).", "default": null, "values": null, "category": "general"}
499
36
  },
500
37
  "slots": {
501
- "nav": {
502
- "type": "Function|Node|Array",
503
- "description": "Full navigation renderer. Receives `tabs`, `active()`, `activeTab()`, `select()`, `next()`, `prev()`, `nodes`, `orientation`, `position`, `variant`.",
504
- "default": null,
505
- "values": null,
506
- "category": "slot"
507
- },
508
- "tab": {
509
- "type": "Function|Node|Array",
510
- "description": "Inner content of the tab button. Receives `tab`, `name`, `index`, `active`, `label`, `icon`, `note`, `badge`, `select()`.",
511
- "default": null,
512
- "values": null,
513
- "category": "slot"
514
- },
515
- "label": {
516
- "type": "Function|Node|Array",
517
- "description": "Tab label.",
518
- "default": null,
519
- "values": null,
520
- "category": "slot"
521
- },
522
- "icon": {
523
- "type": "Function|Node|Array",
524
- "description": "Tab icon.",
525
- "default": null,
526
- "values": [
527
- "#name_tabler",
528
- "name_material",
529
- "class"
530
- ],
531
- "category": "slot"
532
- },
533
- "note": {
534
- "type": "Function|Node|Array",
535
- "description": "Note, subtitle, or short description below the label.",
536
- "default": null,
537
- "values": null,
538
- "category": "state"
539
- },
540
- "badge": {
541
- "type": "Function|Node|Array",
542
- "description": "Badge or counter aligned to the right of the tab.",
543
- "default": null,
544
- "values": null,
545
- "category": "slot"
546
- },
547
- "panel": {
548
- "type": "Function|Node|Array",
549
- "description": "Active/inactive panel renderer. Receives `tab`, `name`, `index`, `active`, `select()`, `next()`, `prev()`.",
550
- "default": null,
551
- "values": null,
552
- "category": "slot"
553
- },
554
- "empty": {
555
- "type": "Function|Node|Array",
556
- "description": "Fallback when there are no tabs.",
557
- "default": null,
558
- "values": null,
559
- "category": "slot"
560
- },
561
- "default": {
562
- "type": "Node|Array|Function",
563
- "description": "Extra content appended after the component.",
564
- "default": null,
565
- "values": null,
566
- "category": "slot"
567
- },
568
- "iconRight": {
569
- "type": "Function|Node|Array",
570
- "description": "Slot for right-aligned icon content."
571
- }
38
+ "nav": {"type": "Function|Node|Array", "description": "Full navigation renderer. Receives `tabs`, `active()`, `activeTab()`, `select()`, `next()`, `prev()`, `nodes`, `orientation`, `position`, `variant`.", "default": null, "values": null, "category": "slot"},
39
+ "tab": {"type": "Function|Node|Array", "description": "Inner content of the tab button. Receives `tab`, `name`, `index`, `active`, `label`, `icon`, `note`, `badge`, `select()`.", "default": null, "values": null, "category": "slot"},
40
+ "label": {"type": "Function|Node|Array", "description": "Tab label.", "default": null, "values": null, "category": "slot"},
41
+ "icon": {"type": "Function|Node|Array", "description": "Tab icon.", "default": null, "values": ["#name_tabler", "name_material", "class"], "category": "slot"},
42
+ "note": {"type": "Function|Node|Array", "description": "Note, subtitle, or short description below the label.", "default": null, "values": null, "category": "state"},
43
+ "badge": {"type": "Function|Node|Array", "description": "Badge or counter aligned to the right of the tab.", "default": null, "values": null, "category": "slot"},
44
+ "panel": {"type": "Function|Node|Array", "description": "Active/inactive panel renderer. Receives `tab`, `name`, `index`, `active`, `select()`, `next()`, `prev()`.", "default": null, "values": null, "category": "slot"},
45
+ "empty": {"type": "Function|Node|Array", "description": "Fallback when there are no tabs.", "default": null, "values": null, "category": "slot"},
46
+ "default": {"type": "Node|Array|Function", "description": "Extra content appended after the component.", "default": null, "values": null, "category": "slot"},
47
+ "iconRight": {"type": "Function|Node|Array", "description": "Slot for right-aligned icon content."}
572
48
  },
573
49
  "events": {
574
50
  "onChange": "(name, tab, index)"
575
51
  },
576
52
  "returns": "HTMLDivElement with API `_getValue()`, `_setValue(value)`, `_select(value)`, `_next()`, `_prev()`, `_active()`, `_tabs()`",
577
- "description": "Standardized tab panel with accessible nav, structured slots, reactive model, swipe, and animations."
53
+ "description": "Standardized tab panel with accessible nav, structured slots, reactive model, swipe, and animations.",
54
+ "commonProps": {"path": "ui/common-props.md", "keys": ["size", "color", "outline", "clickable", "padding", "margin", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "radius", "borderRadius", "shadow", "mobile", "tablet", "pc", "class", "style"]}
578
55
  }
579
56
  ```