jsswift 1.0.44 → 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 (76) hide show
  1. package/dist/css/base.css +2 -137
  2. package/dist/css/fonts-material.css +7 -0
  3. package/dist/css/fonts-nunito.css +134 -0
  4. package/dist/css/min-ui.css +1 -1
  5. package/dist/css/ui.css +2 -137
  6. package/dist/css/ui.min.css +1 -1
  7. package/dist/documentions/AI.md +85 -0
  8. package/dist/documentions/README.md +4 -0
  9. package/dist/documentions/ai-development.md +3 -1
  10. package/dist/documentions/application-rules.md +12 -0
  11. package/dist/documentions/components/alert.md +29 -493
  12. package/dist/documentions/components/app-shell.md +37 -524
  13. package/dist/documentions/components/avatar.md +47 -575
  14. package/dist/documentions/components/badge.md +27 -461
  15. package/dist/documentions/components/banner.md +35 -535
  16. package/dist/documentions/components/breadcrumbs.md +35 -518
  17. package/dist/documentions/components/btn.md +19 -418
  18. package/dist/documentions/components/card-body.md +11 -328
  19. package/dist/documentions/components/card-footer.md +15 -367
  20. package/dist/documentions/components/card-header.md +15 -367
  21. package/dist/documentions/components/card.md +48 -596
  22. package/dist/documentions/components/checkbox.md +25 -456
  23. package/dist/documentions/components/chip.md +16 -393
  24. package/dist/documentions/components/col.md +57 -612
  25. package/dist/documentions/components/container.md +40 -535
  26. package/dist/documentions/components/context-menu.md +60 -696
  27. package/dist/documentions/components/date.md +56 -673
  28. package/dist/documentions/components/dialog.md +67 -628
  29. package/dist/documentions/components/drawer.md +48 -616
  30. package/dist/documentions/components/empty-state.md +28 -477
  31. package/dist/documentions/components/footer.md +42 -586
  32. package/dist/documentions/components/form-field.md +40 -568
  33. package/dist/documentions/components/form.md +7 -321
  34. package/dist/documentions/components/grid-col.md +42 -542
  35. package/dist/documentions/components/grid.md +40 -542
  36. package/dist/documentions/components/header.md +38 -547
  37. package/dist/documentions/components/icon.md +17 -370
  38. package/dist/documentions/components/input.md +57 -619
  39. package/dist/documentions/components/item.md +37 -533
  40. package/dist/documentions/components/kpi.md +34 -519
  41. package/dist/documentions/components/layout.md +81 -811
  42. package/dist/documentions/components/list.md +19 -405
  43. package/dist/documentions/components/loading-bar.md +58 -679
  44. package/dist/documentions/components/menu.md +62 -710
  45. package/dist/documentions/components/notify.md +34 -525
  46. package/dist/documentions/components/page.md +35 -526
  47. package/dist/documentions/components/pagination.md +39 -531
  48. package/dist/documentions/components/parallax.md +50 -633
  49. package/dist/documentions/components/popover.md +55 -661
  50. package/dist/documentions/components/progress.md +39 -554
  51. package/dist/documentions/components/radio.md +27 -470
  52. package/dist/documentions/components/rating.md +41 -574
  53. package/dist/documentions/components/route-tab.md +30 -491
  54. package/dist/documentions/components/row.md +35 -507
  55. package/dist/documentions/components/search.md +62 -723
  56. package/dist/documentions/components/select.md +67 -660
  57. package/dist/documentions/components/separator.md +7 -321
  58. package/dist/documentions/components/slider.md +49 -631
  59. package/dist/documentions/components/spacer.md +6 -314
  60. package/dist/documentions/components/spinner.md +25 -440
  61. package/dist/documentions/components/stat.md +32 -505
  62. package/dist/documentions/components/tab-panel.md +40 -563
  63. package/dist/documentions/components/table.md +76 -657
  64. package/dist/documentions/components/tabs.md +36 -538
  65. package/dist/documentions/components/time.md +29 -491
  66. package/dist/documentions/components/toggle.md +31 -498
  67. package/dist/documentions/components/toolbar.md +52 -640
  68. package/dist/documentions/components/tooltip.md +35 -535
  69. package/dist/documentions/getting-started.md +27 -0
  70. package/dist/documentions/knowledge-map.json +19 -1
  71. package/dist/documentions/ui/common-props.md +301 -0
  72. package/dist/jsswift.js +10543 -14102
  73. package/dist/jsswift.min.js +3 -3
  74. package/dist/min-jsswift.js +3 -3
  75. package/dist/tabler.js +7 -0
  76. package/package.json +6 -2
@@ -1,674 +1,93 @@
1
1
  # Table
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": "_.Table(props)",
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
- "columns": {
301
- "type": "Array<{ key, label?, sortable?, get?, value?, render?, format?, width?, minWidth?, maxWidth?, align?, compare?, style?, headerStyle?, thStyle?, cellStyle?, tdStyle?, cellClass?, headerClass?, nowrap?, searchable? }>",
302
- "description": "Column definitions for table-like components.",
303
- "default": null,
304
- "values": null,
305
- "category": "data"
306
- },
307
- "rows": {
308
- "type": "Array|() => Array",
309
- "description": "Row data array for table-like components.",
310
- "default": null,
311
- "values": null,
312
- "category": "data"
313
- },
314
- "rowKey": {
315
- "type": "string|((row)=>string)",
316
- "description": "Key or function used to derive unique row IDs.",
317
- "default": null,
318
- "values": null,
319
- "category": "general"
320
- },
321
- "loading": {
322
- "type": "boolean|() => boolean",
323
- "description": "Shows loading state and disables interactions where appropriate.",
324
- "default": null,
325
- "values": null,
326
- "category": "state"
327
- },
328
- "page": {
329
- "type": "number",
330
- "description": "Current page index (1-based unless documented otherwise).",
331
- "default": null,
332
- "values": null,
333
- "category": "general"
334
- },
335
- "pageSize": {
336
- "type": "number",
337
- "description": "Number of items per page.",
338
- "default": null,
339
- "values": null,
340
- "category": "general"
341
- },
342
- "pageSizeOptions": {
343
- "type": "number[]",
344
- "description": "Component configuration for \"pageSizeOptions\". When not handled internally, it is forwarded to the root element.",
345
- "default": null,
346
- "values": null,
347
- "category": "general"
348
- },
349
- "pagination": {
350
- "type": "boolean",
351
- "description": "Component configuration for \"pagination\". When not handled internally, it is forwarded to the root element.",
352
- "default": null,
353
- "values": null,
354
- "category": "general"
355
- },
356
- "initialSort": {
357
- "type": "{ key, dir: 'asc'|'desc' }",
358
- "description": "Initial sort configuration for table data.",
359
- "default": null,
360
- "values": null,
361
- "category": "general"
362
- },
363
- "search": {
364
- "type": "string",
365
- "description": "Component configuration for \"search\". When not handled internally, it is forwarded to the root element.",
366
- "default": null,
367
- "values": null,
368
- "category": "general"
369
- },
370
- "query": {
371
- "type": "string",
372
- "description": "Component configuration for \"query\". When not handled internally, it is forwarded to the root element.",
373
- "default": null,
374
- "values": null,
375
- "category": "general"
376
- },
377
- "searchable": {
378
- "type": "boolean|string",
379
- "description": "Component configuration for \"searchable\". When not handled internally, it is forwarded to the root element.",
380
- "default": null,
381
- "values": null,
382
- "category": "general"
383
- },
384
- "searchPlaceholder": {
385
- "type": "string",
386
- "description": "Component configuration for \"searchPlaceholder\". When not handled internally, it is forwarded to the root element.",
387
- "default": null,
388
- "values": null,
389
- "category": "general"
390
- },
391
- "searchKeys": {
392
- "type": "Array<string|function>",
393
- "description": "Component configuration for \"searchKeys\". When not handled internally, it is forwarded to the root element.",
394
- "default": null,
395
- "values": null,
396
- "category": "general"
397
- },
398
- "searchModel": {
399
- "type": "[get,set] signal",
400
- "description": "Component configuration for \"searchModel\". When not handled internally, it is forwarded to the root element.",
401
- "default": null,
402
- "values": null,
403
- "category": "general"
404
- },
405
- "filter": {
406
- "type": "(row, ctx)=>boolean",
407
- "description": "Component configuration for \"filter\". When not handled internally, it is forwarded to the root element.",
408
- "default": null,
409
- "values": null,
410
- "category": "general"
411
- },
412
- "actions": {
413
- "type": "(row, ctx)=>Node|Array",
414
- "description": "Content rendered in the action area, typically in a footer or trailing region.",
415
- "default": null,
416
- "values": null,
417
- "category": "general"
418
- },
419
- "actionsLabel": {
420
- "type": "string|Node|Function|Array",
421
- "description": "Component configuration for \"actionsLabel\". When not handled internally, it is forwarded to the root element.",
422
- "default": null,
423
- "values": null,
424
- "category": "general"
425
- },
426
- "emptyText": {
427
- "type": "string|Node|Function|Array",
428
- "description": "Text shown when there is no data to display.",
429
- "default": null,
430
- "values": null,
431
- "category": "general"
432
- },
433
- "loadingText": {
434
- "type": "string|Node|Function|Array",
435
- "description": "Text displayed while loading.",
436
- "default": null,
437
- "values": null,
438
- "category": "general"
439
- },
440
- "toolbar": {
441
- "type": "Node|Function|Array",
442
- "description": "Component configuration for \"toolbar\". When not handled internally, it is forwarded to the root element.",
443
- "default": null,
444
- "values": null,
445
- "category": "general"
446
- },
447
- "toolbarStart": {
448
- "type": "Node|Function|Array",
449
- "description": "Component configuration for \"toolbarStart\". When not handled internally, it is forwarded to the root element.",
450
- "default": null,
451
- "values": null,
452
- "category": "general"
453
- },
454
- "toolbarEnd": {
455
- "type": "Node|Function|Array",
456
- "description": "Component configuration for \"toolbarEnd\". When not handled internally, it is forwarded to the root element.",
457
- "default": null,
458
- "values": null,
459
- "category": "general"
460
- },
461
- "caption": {
462
- "type": "string|Node|Function|Array",
463
- "description": "Component configuration for \"caption\". When not handled internally, it is forwarded to the root element.",
464
- "default": null,
465
- "values": null,
466
- "category": "general"
467
- },
468
- "footer": {
469
- "type": "Node|Function|Array",
470
- "description": "Footer content node(s) or render function.",
471
- "default": null,
472
- "values": null,
473
- "category": "general"
474
- },
475
- "status": {
476
- "type": "string|Node|Function|Array",
477
- "description": "Component configuration for \"status\". When not handled internally, it is forwarded to the root element.",
478
- "default": null,
479
- "values": null,
480
- "category": "general"
481
- },
482
- "rowClass": {
483
- "type": "string|((row,ctx)=>string)",
484
- "description": "Component configuration for \"rowClass\". When not handled internally, it is forwarded to the root element.",
485
- "default": null,
486
- "values": null,
487
- "category": "general"
488
- },
489
- "rowAttrs": {
490
- "type": "object|((row,ctx)=>object)",
491
- "description": "Component configuration for \"rowAttrs\". When not handled internally, it is forwarded to the root element.",
492
- "default": null,
493
- "values": null,
494
- "category": "general"
495
- },
496
- "minTableWidth": {
497
- "type": "string|number",
498
- "description": "Component configuration for \"minTableWidth\". When not handled internally, it is forwarded to the root element.",
499
- "default": null,
500
- "values": null,
501
- "category": "general"
502
- },
503
- "stickyHeader": {
504
- "type": "boolean",
505
- "description": "Keeps the header region sticky during scroll.",
506
- "default": null,
507
- "values": null,
508
- "category": "general"
509
- },
510
- "hideHeader": {
511
- "type": "boolean",
512
- "description": "Component configuration for \"hideHeader\". When not handled internally, it is forwarded to the root element.",
513
- "default": null,
514
- "values": null,
515
- "category": "general"
516
- },
517
- "hideFooter": {
518
- "type": "boolean",
519
- "description": "Component configuration for \"hideFooter\". When not handled internally, it is forwarded to the root element.",
520
- "default": null,
521
- "values": null,
522
- "category": "general"
523
- },
524
- "dense": {
525
- "type": "boolean",
526
- "description": "Uses compact spacing and sizing.",
527
- "default": false,
528
- "values": null,
529
- "category": "layout"
530
- },
531
- "striped": {
532
- "type": "boolean",
533
- "description": "Applies striped row styling.",
534
- "default": null,
535
- "values": null,
536
- "category": "general"
537
- },
538
- "hover": {
539
- "type": "boolean",
540
- "description": "Component configuration for \"hover\". When not handled internally, it is forwarded to the root element.",
541
- "default": null,
542
- "values": null,
543
- "category": "general"
544
- },
545
- "tableClass": {
546
- "type": "string",
547
- "description": "Additional CSS classes applied to the table element.",
548
- "default": null,
549
- "values": null,
550
- "category": "general"
551
- },
552
- "cardClass": {
553
- "type": "string",
554
- "description": "Additional CSS classes applied to the card container.",
555
- "default": null,
556
- "values": null,
557
- "category": "general"
558
- },
559
- "children": {
560
- "type": "Node|Array|Function",
561
- "description": "Default child content (nodes, arrays, or render function).",
562
- "default": null,
563
- "values": null,
564
- "category": "general"
565
- }
9
+ "columns": {"type": "Array<{ key, label?, sortable?, get?, value?, render?, format?, width?, minWidth?, maxWidth?, align?, compare?, style?, headerStyle?, thStyle?, cellStyle?, tdStyle?, cellClass?, headerClass?, nowrap?, searchable? }>", "description": "Column definitions for table-like components.", "default": null, "values": null, "category": "data"},
10
+ "rows": {"type": "Array|() => Array", "description": "Row data array for table-like components.", "default": null, "values": null, "category": "data"},
11
+ "rowKey": {"type": "string|((row)=>string)", "description": "Key or function used to derive unique row IDs.", "default": null, "values": null, "category": "general"},
12
+ "loading": {"type": "boolean|() => boolean", "description": "Shows loading state and disables interactions where appropriate.", "default": null, "values": null, "category": "state"},
13
+ "page": {"type": "number", "description": "Current page index (1-based unless documented otherwise).", "default": null, "values": null, "category": "general"},
14
+ "pageSize": {"type": "number", "description": "Number of items per page.", "default": null, "values": null, "category": "general"},
15
+ "pageSizeOptions": {"type": "number[]", "description": "Component configuration for \"pageSizeOptions\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
16
+ "pagination": {"type": "boolean", "description": "Component configuration for \"pagination\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
17
+ "initialSort": {"type": "{ key, dir: 'asc'|'desc' }", "description": "Initial sort configuration for table data.", "default": null, "values": null, "category": "general"},
18
+ "search": {"type": "string", "description": "Component configuration for \"search\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
19
+ "query": {"type": "string", "description": "Component configuration for \"query\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
20
+ "searchable": {"type": "boolean|string", "description": "Component configuration for \"searchable\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
21
+ "searchPlaceholder": {"type": "string", "description": "Component configuration for \"searchPlaceholder\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
22
+ "searchKeys": {"type": "Array<string|function>", "description": "Component configuration for \"searchKeys\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
23
+ "searchModel": {"type": "[get,set] signal", "description": "Component configuration for \"searchModel\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
24
+ "filter": {"type": "(row, ctx)=>boolean", "description": "Component configuration for \"filter\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
25
+ "actions": {"type": "(row, ctx)=>Node|Array", "description": "Content rendered in the action area, typically in a footer or trailing region.", "default": null, "values": null, "category": "general"},
26
+ "actionsLabel": {"type": "string|Node|Function|Array", "description": "Component configuration for \"actionsLabel\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
27
+ "emptyText": {"type": "string|Node|Function|Array", "description": "Text shown when there is no data to display.", "default": null, "values": null, "category": "general"},
28
+ "loadingText": {"type": "string|Node|Function|Array", "description": "Text displayed while loading.", "default": null, "values": null, "category": "general"},
29
+ "toolbar": {"type": "Node|Function|Array", "description": "Component configuration for \"toolbar\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
30
+ "toolbarStart": {"type": "Node|Function|Array", "description": "Component configuration for \"toolbarStart\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
31
+ "toolbarEnd": {"type": "Node|Function|Array", "description": "Component configuration for \"toolbarEnd\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
32
+ "caption": {"type": "string|Node|Function|Array", "description": "Component configuration for \"caption\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
33
+ "footer": {"type": "Node|Function|Array", "description": "Footer content node(s) or render function.", "default": null, "values": null, "category": "general"},
34
+ "status": {"type": "string|Node|Function|Array", "description": "Component configuration for \"status\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
35
+ "rowClass": {"type": "string|((row,ctx)=>string)", "description": "Component configuration for \"rowClass\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
36
+ "rowAttrs": {"type": "object|((row,ctx)=>object)", "description": "Component configuration for \"rowAttrs\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
37
+ "minTableWidth": {"type": "string|number", "description": "Component configuration for \"minTableWidth\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
38
+ "stickyHeader": {"type": "boolean", "description": "Keeps the header region sticky during scroll.", "default": null, "values": null, "category": "general"},
39
+ "hideHeader": {"type": "boolean", "description": "Component configuration for \"hideHeader\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
40
+ "hideFooter": {"type": "boolean", "description": "Component configuration for \"hideFooter\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
41
+ "dense": {"type": "boolean", "description": "Uses compact spacing and sizing.", "default": false, "values": null, "category": "layout"},
42
+ "striped": {"type": "boolean", "description": "Applies striped row styling.", "default": null, "values": null, "category": "general"},
43
+ "hover": {"type": "boolean", "description": "Component configuration for \"hover\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
44
+ "tableClass": {"type": "string", "description": "Additional CSS classes applied to the table element.", "default": null, "values": null, "category": "general"},
45
+ "cardClass": {"type": "string", "description": "Additional CSS classes applied to the card container.", "default": null, "values": null, "category": "general"},
46
+ "children": {"type": "Node|Array|Function", "description": "Default child content (nodes, arrays, or render function).", "default": null, "values": null, "category": "general"}
566
47
  },
567
48
  "slots": {
568
- "default": {
569
- "type": "Introductory content above the table",
570
- "description": "Primary content for the component.",
571
- "default": null,
572
- "values": null,
573
- "category": "slot"
574
- },
575
- "toolbarStart": {
576
- "type": "Toolbar left area",
577
- "description": "Slot content for \"toolbarStart\". Accepts nodes, arrays, or render functions.",
578
- "default": null,
579
- "values": null,
580
- "category": "slot"
581
- },
582
- "toolbar": {
583
- "type": "Central/custom toolbar",
584
- "description": "Slot content for \"toolbar\". Accepts nodes, arrays, or render functions.",
585
- "default": null,
586
- "values": null,
587
- "category": "slot"
588
- },
589
- "toolbarEnd": {
590
- "type": "Toolbar right area",
591
- "description": "Slot content for \"toolbarEnd\". Accepts nodes, arrays, or render functions.",
592
- "default": null,
593
- "values": null,
594
- "category": "slot"
595
- },
596
- "search": {
597
- "type": "Replaces the built-in search box",
598
- "description": "Slot content for \"search\". Accepts nodes, arrays, or render functions.",
599
- "default": null,
600
- "values": null,
601
- "category": "slot"
602
- },
603
- "header": {
604
- "type": "Custom column header",
605
- "description": "Slot for header content.",
606
- "default": null,
607
- "values": null,
608
- "category": "slot"
609
- },
610
- "cell": {
611
- "type": "Global cell renderer",
612
- "description": "Slot content for \"cell\". Accepts nodes, arrays, or render functions.",
613
- "default": null,
614
- "values": null,
615
- "category": "slot"
616
- },
617
- "actions": {
618
- "type": "Global row actions renderer",
619
- "description": "Slot for action buttons or links.",
620
- "default": null,
621
- "values": null,
622
- "category": "slot"
623
- },
624
- "actionsHeader": {
625
- "type": "Actions column header",
626
- "description": "Slot content for \"actionsHeader\". Accepts nodes, arrays, or render functions.",
627
- "default": null,
628
- "values": null,
629
- "category": "slot"
630
- },
631
- "caption": {
632
- "type": "Caption above the table",
633
- "description": "Slot content for \"caption\". Accepts nodes, arrays, or render functions.",
634
- "default": null,
635
- "values": null,
636
- "category": "slot"
637
- },
638
- "status": {
639
- "type": "Extra content in the status row",
640
- "description": "Slot content for \"status\". Accepts nodes, arrays, or render functions.",
641
- "default": null,
642
- "values": null,
643
- "category": "slot"
644
- },
645
- "loading": {
646
- "type": "Loading state",
647
- "description": "Slot for loading state content.",
648
- "default": null,
649
- "values": null,
650
- "category": "state"
651
- },
652
- "empty": {
653
- "type": "Empty state",
654
- "description": "Slot for empty-state content.",
655
- "default": null,
656
- "values": null,
657
- "category": "slot"
658
- },
659
- "footer": {
660
- "type": "Extra content in the footer",
661
- "description": "Slot for footer content.",
662
- "default": null,
663
- "values": null,
664
- "category": "slot"
665
- }
49
+ "default": {"type": "Introductory content above the table", "description": "Primary content for the component.", "default": null, "values": null, "category": "slot"},
50
+ "toolbarStart": {"type": "Toolbar left area", "description": "Slot content for \"toolbarStart\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
51
+ "toolbar": {"type": "Central/custom toolbar", "description": "Slot content for \"toolbar\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
52
+ "toolbarEnd": {"type": "Toolbar right area", "description": "Slot content for \"toolbarEnd\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
53
+ "search": {"type": "Replaces the built-in search box", "description": "Slot content for \"search\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
54
+ "header": {"type": "Custom column header", "description": "Slot for header content.", "default": null, "values": null, "category": "slot"},
55
+ "cell": {"type": "Global cell renderer", "description": "Slot content for \"cell\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
56
+ "actions": {"type": "Global row actions renderer", "description": "Slot for action buttons or links.", "default": null, "values": null, "category": "slot"},
57
+ "actionsHeader": {"type": "Actions column header", "description": "Slot content for \"actionsHeader\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
58
+ "caption": {"type": "Caption above the table", "description": "Slot content for \"caption\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
59
+ "status": {"type": "Extra content in the status row", "description": "Slot content for \"status\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
60
+ "loading": {"type": "Loading state", "description": "Slot for loading state content.", "default": null, "values": null, "category": "state"},
61
+ "empty": {"type": "Empty state", "description": "Slot for empty-state content.", "default": null, "values": null, "category": "slot"},
62
+ "footer": {"type": "Extra content in the footer", "description": "Slot for footer content.", "default": null, "values": null, "category": "slot"}
666
63
  },
667
64
  "events": {
668
65
  "onRowClick": "(row, ctx, event) => void",
669
66
  "onRowDblClick": "(row, ctx, event) => void"
670
67
  },
671
68
  "returns": "HTMLDivElement",
672
- "description": "Standardized table with toolbar, search, sorting, pagination, states, and flexible rendering."
69
+ "description": "Standardized table with toolbar, search, sorting, pagination, states, and flexible rendering.",
70
+ "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"]}
673
71
  }
674
72
  ```
73
+
74
+ ## Callback example
75
+
76
+ Column callbacks use different argument orders: `render(row, cellContext)` receives the row first; `format(value, row, cellContext)` receives the cell value first. `cellContext.value` is the resolved column value. `actions(row, rowContext)` receives the row.
77
+
78
+ ```js
79
+ _.Table({
80
+ rows: [{ id: 1, name: 'Prodotto 01', price: 10 }],
81
+ rowKey: 'id',
82
+ columns: [
83
+ { key: 'name', label: 'Nome', render: (row, { value }) => _.strong(value) },
84
+ { key: 'price', label: 'Prezzo', format: value => `${value} EUR` }
85
+ ],
86
+ actions: row => _.Button({ onClick: () => console.log(row.id) }, 'Modifica'),
87
+ pagination: false,
88
+ hideFooter: true,
89
+ minTableWidth: 700
90
+ });
91
+ ```
92
+
93
+ Use the documented visibility and column style props before hiding or restyling internal table classes. With external pagination, pass the current page's rows and disable internal pagination.