jsswift 1.0.43 → 1.0.45

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 (79) 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/README.md +22 -0
  8. package/dist/documentions/ai-development.md +68 -0
  9. package/dist/documentions/application-rules.md +19 -0
  10. package/dist/documentions/components/README.md +11 -0
  11. package/dist/documentions/components/alert.md +506 -0
  12. package/dist/documentions/components/app-shell.md +537 -0
  13. package/dist/documentions/components/avatar.md +588 -0
  14. package/dist/documentions/components/badge.md +474 -0
  15. package/dist/documentions/components/banner.md +548 -0
  16. package/dist/documentions/components/breadcrumbs.md +535 -0
  17. package/dist/documentions/components/btn.md +52 -0
  18. package/dist/documentions/components/card-body.md +341 -0
  19. package/dist/documentions/components/card-footer.md +380 -0
  20. package/dist/documentions/components/card-header.md +380 -0
  21. package/dist/documentions/components/card.md +77 -0
  22. package/dist/documentions/components/checkbox.md +473 -0
  23. package/dist/documentions/components/chip.md +409 -0
  24. package/dist/documentions/components/col.md +625 -0
  25. package/dist/documentions/components/container.md +548 -0
  26. package/dist/documentions/components/context-menu.md +715 -0
  27. package/dist/documentions/components/date.md +693 -0
  28. package/dist/documentions/components/dialog.md +100 -0
  29. package/dist/documentions/components/drawer.md +629 -0
  30. package/dist/documentions/components/empty-state.md +490 -0
  31. package/dist/documentions/components/footer.md +599 -0
  32. package/dist/documentions/components/form-field.md +581 -0
  33. package/dist/documentions/components/form.md +334 -0
  34. package/dist/documentions/components/grid-col.md +559 -0
  35. package/dist/documentions/components/grid.md +555 -0
  36. package/dist/documentions/components/header.md +560 -0
  37. package/dist/documentions/components/icon.md +383 -0
  38. package/dist/documentions/components/input.md +88 -0
  39. package/dist/documentions/components/item.md +546 -0
  40. package/dist/documentions/components/kpi.md +532 -0
  41. package/dist/documentions/components/layout.md +824 -0
  42. package/dist/documentions/components/list.md +418 -0
  43. package/dist/documentions/components/loading-bar.md +692 -0
  44. package/dist/documentions/components/menu.md +728 -0
  45. package/dist/documentions/components/notify.md +538 -0
  46. package/dist/documentions/components/page.md +539 -0
  47. package/dist/documentions/components/pagination.md +73 -0
  48. package/dist/documentions/components/parallax.md +646 -0
  49. package/dist/documentions/components/popover.md +678 -0
  50. package/dist/documentions/components/progress.md +567 -0
  51. package/dist/documentions/components/radio.md +487 -0
  52. package/dist/documentions/components/rating.md +592 -0
  53. package/dist/documentions/components/route-tab.md +508 -0
  54. package/dist/documentions/components/row.md +520 -0
  55. package/dist/documentions/components/search.md +748 -0
  56. package/dist/documentions/components/select.md +99 -0
  57. package/dist/documentions/components/separator.md +334 -0
  58. package/dist/documentions/components/slider.md +648 -0
  59. package/dist/documentions/components/spacer.md +327 -0
  60. package/dist/documentions/components/spinner.md +453 -0
  61. package/dist/documentions/components/stat.md +518 -0
  62. package/dist/documentions/components/tab-panel.md +579 -0
  63. package/dist/documentions/components/table.md +112 -0
  64. package/dist/documentions/components/tabs.md +554 -0
  65. package/dist/documentions/components/time.md +510 -0
  66. package/dist/documentions/components/toggle.md +515 -0
  67. package/dist/documentions/components/toolbar.md +656 -0
  68. package/dist/documentions/components/tooltip.md +553 -0
  69. package/dist/documentions/getting-started.md +47 -0
  70. package/dist/documentions/knowledge-map.json +947 -0
  71. package/dist/documentions/platform.md +9 -0
  72. package/dist/documentions/reactivity.md +13 -0
  73. package/dist/documentions/reference/function-catalog.md +333 -0
  74. package/dist/documentions/reference/html-svg-helpers.md +131 -0
  75. package/dist/documentions/ui/data-feedback-overlays.md +5 -0
  76. package/dist/documentions/ui/forms.md +11 -0
  77. package/dist/documentions/ui/layout-and-responsive.md +15 -0
  78. package/dist/tabler.js +7 -0
  79. package/package.json +7 -2
@@ -0,0 +1,112 @@
1
+ # Table
2
+
3
+ Exact JSswift UI metadata contract. Use only the props, slots, events, and methods documented below.
4
+
5
+ ```json
6
+ {
7
+ "signature": "_.Table(props)",
8
+ "props": {
9
+ "size": {"type": "string|number", "description": "Size token, number, or CSS length for sizing.", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "style"},
10
+ "color": {"type": "string", "description": "Semantic color name used to style the component.", "default": null, "values": ["primary", "secondary", "success", "warning", "danger", "info", "light", "dark"], "category": "style"},
11
+ "outline": {"type": "boolean", "description": "Uses outlined visual style.", "default": false, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "style"},
12
+ "clickable": {"type": "boolean", "description": "Enables pointer/hover styles and click handling on the component.", "default": false, "values": null, "category": "behavior"},
13
+ "padding": {"type": "string|number", "description": "Padding applied to the component root element.", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "layout"},
14
+ "margin": {"type": "string|number", "description": "Margin applied to the component root element.", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "layout"},
15
+ "width": {"type": "string|number", "description": "Explicit width (number interpreted as px or CSS length).", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "layout"},
16
+ "minWidth": {"type": "string|number", "description": "Minimum width constraint (number interpreted as px or CSS length).", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "layout"},
17
+ "maxWidth": {"type": "string|number", "description": "Maximum width constraint (number interpreted as px or CSS length).", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "layout"},
18
+ "height": {"type": "string|number", "description": "Explicit height (number interpreted as px or CSS length).", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "layout"},
19
+ "minHeight": {"type": "string|number", "description": "Minimum height constraint (number interpreted as px or CSS length).", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "layout"},
20
+ "maxHeight": {"type": "string|number", "description": "Maximum height constraint (number interpreted as px or CSS length).", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "layout"},
21
+ "radius": {"type": "string|number", "description": "Border radius token or CSS length applied to the component.", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "style"},
22
+ "borderRadius": {"type": "string|number", "description": "Border radius token or CSS length applied to the component.", "default": null, "values": ["number", "CSS units", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "style"},
23
+ "shadow": {"type": "string|boolean", "description": "Shadow token or CSS box-shadow string applied to the component.", "default": null, "values": ["none", "xxs", "xs", "sm", "md", "lg", "xl", "xxl", "xxxl"], "category": "style"},
24
+ "mobile": {"type": "object", "description": "Responsive overrides applied at the base/mobile viewport.", "default": null, "values": null, "category": "layout"},
25
+ "tablet": {"type": "object", "description": "Responsive overrides applied from the tablet breakpoint upward.", "default": null, "values": null, "category": "layout"},
26
+ "pc": {"type": "object", "description": "Responsive overrides applied from the desktop breakpoint upward.", "default": null, "values": null, "category": "layout"},
27
+ "class": {"type": "string", "description": "Additional CSS classes applied to the component root element.", "default": null, "values": null, "category": "style"},
28
+ "style": {"type": "object", "description": "Inline styles applied to the component root element.", "default": null, "values": null, "category": "style"},
29
+ "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"},
30
+ "rows": {"type": "Array|() => Array", "description": "Row data array for table-like components.", "default": null, "values": null, "category": "data"},
31
+ "rowKey": {"type": "string|((row)=>string)", "description": "Key or function used to derive unique row IDs.", "default": null, "values": null, "category": "general"},
32
+ "loading": {"type": "boolean|() => boolean", "description": "Shows loading state and disables interactions where appropriate.", "default": null, "values": null, "category": "state"},
33
+ "page": {"type": "number", "description": "Current page index (1-based unless documented otherwise).", "default": null, "values": null, "category": "general"},
34
+ "pageSize": {"type": "number", "description": "Number of items per page.", "default": null, "values": null, "category": "general"},
35
+ "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"},
36
+ "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"},
37
+ "initialSort": {"type": "{ key, dir: 'asc'|'desc' }", "description": "Initial sort configuration for table data.", "default": null, "values": null, "category": "general"},
38
+ "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"},
39
+ "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"},
40
+ "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"},
41
+ "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"},
42
+ "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"},
43
+ "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"},
44
+ "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"},
45
+ "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"},
46
+ "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"},
47
+ "emptyText": {"type": "string|Node|Function|Array", "description": "Text shown when there is no data to display.", "default": null, "values": null, "category": "general"},
48
+ "loadingText": {"type": "string|Node|Function|Array", "description": "Text displayed while loading.", "default": null, "values": null, "category": "general"},
49
+ "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"},
50
+ "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"},
51
+ "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"},
52
+ "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"},
53
+ "footer": {"type": "Node|Function|Array", "description": "Footer content node(s) or render function.", "default": null, "values": null, "category": "general"},
54
+ "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"},
55
+ "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"},
56
+ "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"},
57
+ "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"},
58
+ "stickyHeader": {"type": "boolean", "description": "Keeps the header region sticky during scroll.", "default": null, "values": null, "category": "general"},
59
+ "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"},
60
+ "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"},
61
+ "dense": {"type": "boolean", "description": "Uses compact spacing and sizing.", "default": false, "values": null, "category": "layout"},
62
+ "striped": {"type": "boolean", "description": "Applies striped row styling.", "default": null, "values": null, "category": "general"},
63
+ "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"},
64
+ "tableClass": {"type": "string", "description": "Additional CSS classes applied to the table element.", "default": null, "values": null, "category": "general"},
65
+ "cardClass": {"type": "string", "description": "Additional CSS classes applied to the card container.", "default": null, "values": null, "category": "general"},
66
+ "children": {"type": "Node|Array|Function", "description": "Default child content (nodes, arrays, or render function).", "default": null, "values": null, "category": "general"}
67
+ },
68
+ "slots": {
69
+ "default": {"type": "Introductory content above the table", "description": "Primary content for the component.", "default": null, "values": null, "category": "slot"},
70
+ "toolbarStart": {"type": "Toolbar left area", "description": "Slot content for \"toolbarStart\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
71
+ "toolbar": {"type": "Central/custom toolbar", "description": "Slot content for \"toolbar\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
72
+ "toolbarEnd": {"type": "Toolbar right area", "description": "Slot content for \"toolbarEnd\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
73
+ "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"},
74
+ "header": {"type": "Custom column header", "description": "Slot for header content.", "default": null, "values": null, "category": "slot"},
75
+ "cell": {"type": "Global cell renderer", "description": "Slot content for \"cell\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
76
+ "actions": {"type": "Global row actions renderer", "description": "Slot for action buttons or links.", "default": null, "values": null, "category": "slot"},
77
+ "actionsHeader": {"type": "Actions column header", "description": "Slot content for \"actionsHeader\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
78
+ "caption": {"type": "Caption above the table", "description": "Slot content for \"caption\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
79
+ "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"},
80
+ "loading": {"type": "Loading state", "description": "Slot for loading state content.", "default": null, "values": null, "category": "state"},
81
+ "empty": {"type": "Empty state", "description": "Slot for empty-state content.", "default": null, "values": null, "category": "slot"},
82
+ "footer": {"type": "Extra content in the footer", "description": "Slot for footer content.", "default": null, "values": null, "category": "slot"}
83
+ },
84
+ "events": {
85
+ "onRowClick": "(row, ctx, event) => void",
86
+ "onRowDblClick": "(row, ctx, event) => void"
87
+ },
88
+ "returns": "HTMLDivElement",
89
+ "description": "Standardized table with toolbar, search, sorting, pagination, states, and flexible rendering."
90
+ }
91
+ ```
92
+
93
+ ## Callback example
94
+
95
+ 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.
96
+
97
+ ```js
98
+ _.Table({
99
+ rows: [{ id: 1, name: 'Prodotto 01', price: 10 }],
100
+ rowKey: 'id',
101
+ columns: [
102
+ { key: 'name', label: 'Nome', render: (row, { value }) => _.strong(value) },
103
+ { key: 'price', label: 'Prezzo', format: value => `${value} EUR` }
104
+ ],
105
+ actions: row => _.Button({ onClick: () => console.log(row.id) }, 'Modifica'),
106
+ pagination: false,
107
+ hideFooter: true,
108
+ minTableWidth: 700
109
+ });
110
+ ```
111
+
112
+ 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.