jsswift 1.0.42 → 1.0.44

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/min-ui.css +1 -1
  2. package/dist/css/ui-components.css +8 -6
  3. package/dist/css/ui.css +8 -6
  4. package/dist/css/ui.min.css +1 -1
  5. package/dist/documentions/README.md +20 -0
  6. package/dist/documentions/ai-development.md +68 -0
  7. package/dist/documentions/application-rules.md +7 -0
  8. package/dist/documentions/components/README.md +11 -0
  9. package/dist/documentions/components/alert.md +506 -0
  10. package/dist/documentions/components/app-shell.md +537 -0
  11. package/dist/documentions/components/avatar.md +588 -0
  12. package/dist/documentions/components/badge.md +474 -0
  13. package/dist/documentions/components/banner.md +548 -0
  14. package/dist/documentions/components/breadcrumbs.md +535 -0
  15. package/dist/documentions/components/btn.md +433 -0
  16. package/dist/documentions/components/card-body.md +341 -0
  17. package/dist/documentions/components/card-footer.md +380 -0
  18. package/dist/documentions/components/card-header.md +380 -0
  19. package/dist/documentions/components/card.md +609 -0
  20. package/dist/documentions/components/checkbox.md +473 -0
  21. package/dist/documentions/components/chip.md +409 -0
  22. package/dist/documentions/components/col.md +625 -0
  23. package/dist/documentions/components/container.md +548 -0
  24. package/dist/documentions/components/context-menu.md +715 -0
  25. package/dist/documentions/components/date.md +693 -0
  26. package/dist/documentions/components/dialog.md +645 -0
  27. package/dist/documentions/components/drawer.md +629 -0
  28. package/dist/documentions/components/empty-state.md +490 -0
  29. package/dist/documentions/components/footer.md +599 -0
  30. package/dist/documentions/components/form-field.md +581 -0
  31. package/dist/documentions/components/form.md +334 -0
  32. package/dist/documentions/components/grid-col.md +559 -0
  33. package/dist/documentions/components/grid.md +555 -0
  34. package/dist/documentions/components/header.md +560 -0
  35. package/dist/documentions/components/icon.md +383 -0
  36. package/dist/documentions/components/input.md +632 -0
  37. package/dist/documentions/components/item.md +546 -0
  38. package/dist/documentions/components/kpi.md +532 -0
  39. package/dist/documentions/components/layout.md +824 -0
  40. package/dist/documentions/components/list.md +418 -0
  41. package/dist/documentions/components/loading-bar.md +692 -0
  42. package/dist/documentions/components/menu.md +728 -0
  43. package/dist/documentions/components/notify.md +538 -0
  44. package/dist/documentions/components/page.md +539 -0
  45. package/dist/documentions/components/pagination.md +548 -0
  46. package/dist/documentions/components/parallax.md +646 -0
  47. package/dist/documentions/components/popover.md +678 -0
  48. package/dist/documentions/components/progress.md +567 -0
  49. package/dist/documentions/components/radio.md +487 -0
  50. package/dist/documentions/components/rating.md +592 -0
  51. package/dist/documentions/components/route-tab.md +508 -0
  52. package/dist/documentions/components/row.md +520 -0
  53. package/dist/documentions/components/search.md +748 -0
  54. package/dist/documentions/components/select.md +673 -0
  55. package/dist/documentions/components/separator.md +334 -0
  56. package/dist/documentions/components/slider.md +648 -0
  57. package/dist/documentions/components/spacer.md +327 -0
  58. package/dist/documentions/components/spinner.md +453 -0
  59. package/dist/documentions/components/stat.md +518 -0
  60. package/dist/documentions/components/tab-panel.md +579 -0
  61. package/dist/documentions/components/table.md +674 -0
  62. package/dist/documentions/components/tabs.md +554 -0
  63. package/dist/documentions/components/time.md +510 -0
  64. package/dist/documentions/components/toggle.md +515 -0
  65. package/dist/documentions/components/toolbar.md +656 -0
  66. package/dist/documentions/components/tooltip.md +553 -0
  67. package/dist/documentions/getting-started.md +20 -0
  68. package/dist/documentions/knowledge-map.json +947 -0
  69. package/dist/documentions/platform.md +9 -0
  70. package/dist/documentions/reactivity.md +13 -0
  71. package/dist/documentions/reference/function-catalog.md +333 -0
  72. package/dist/documentions/reference/html-svg-helpers.md +131 -0
  73. package/dist/documentions/ui/data-feedback-overlays.md +5 -0
  74. package/dist/documentions/ui/forms.md +11 -0
  75. package/dist/documentions/ui/layout-and-responsive.md +15 -0
  76. package/package.json +4 -2
@@ -0,0 +1,9 @@
1
+ # Router, store, HTTP, auth, and themes
2
+
3
+ _.router.setOutlet("#app");
4
+ _.router.add("/", () => DashboardPage());
5
+ _.router.notFound(() => _.EmptyState({ title: "Page not found" }));
6
+ _.router.start();
7
+ const rows = await _.http.getJSON("/api/rows");
8
+
9
+ Use getJSON, postJSON, putJSON, patchJSON, and delJSON for JSON APIs. Use request hooks only through onBefore, onAfter, and onError. Use _.auth and _.Can only with a defined permission model. Theme helpers are setTheme, getTheme, and toggleTheme; default persistence is jsswift:theme.
@@ -0,0 +1,13 @@
1
+ # Reactivity and models
2
+
3
+ `_.signal(initial)` returns `[get, set, dispose]`. Use `_.computed` for derived values, `_.effect` for side effects, `_.untracked` for a non-subscribing read, and `_.batch` for grouped updates.
4
+
5
+ These direct aliases are exposed by the core runtime footer. Use them in application code.
6
+
7
+ Example:
8
+
9
+ const [getCount, setCount] = _.signal(0);
10
+ _.Button({ onClick: () => setCount(getCount() + 1) }, "Add");
11
+ _.Badge({ label: () => String(getCount()) });
12
+
13
+ For a documented controlled component, pass a signal tuple as model; do not manually mutate DOM values. Use _.useForm for form values, validation, touched/dirty flags, and submit state.
@@ -0,0 +1,333 @@
1
+ # App-facing function catalog
2
+
3
+ Use these JSswift functions when building apps. Some low-level renderer and helper functions are included because app code can call them directly.
4
+ - `_.a`
5
+ - `_.abbr`
6
+ - `_.address`
7
+ - `_.Alert`
8
+ - `_.AppShell`
9
+ - `_.article`
10
+ - `_.aside`
11
+ - `_.asNodeArray`
12
+ - `_.audio`
13
+ - `_.Avatar`
14
+ - `_.b`
15
+ - `_.Badge`
16
+ - `_.Banner`
17
+ - `_.base`
18
+ - `_.batch`
19
+ - `_.bdi`
20
+ - `_.bdo`
21
+ - `_.blockquote`
22
+ - `_.body`
23
+ - `_.br`
24
+ - `_.Breadcrumbs`
25
+ - `_.Button`
26
+ - `_.button`
27
+ - `_.Can`
28
+ - `_.canvas`
29
+ - `_.caption`
30
+ - `_.Card`
31
+ - `_.cardBody`
32
+ - `_.cardFooter`
33
+ - `_.cardHeader`
34
+ - `_.Checkbox`
35
+ - `_.Chip`
36
+ - `_.circle`
37
+ - `_.cite`
38
+ - `_.clipPath`
39
+ - `_.code`
40
+ - `_.col`
41
+ - `_.Col`
42
+ - `_.colgroup`
43
+ - `_.component`
44
+ - `_.computed`
45
+ - `_.Container`
46
+ - `_.ContextMenu`
47
+ - `_.data`
48
+ - `_.datalist`
49
+ - `_.Date`
50
+ - `_.dd`
51
+ - `_.debug.enabled`
52
+ - `_.debug.error`
53
+ - `_.debug.inc`
54
+ - `_.debug.log`
55
+ - `_.debug.reset`
56
+ - `_.debug.stats`
57
+ - `_.debug.warn`
58
+ - `_.defs`
59
+ - `_.details`
60
+ - `_.dfn`
61
+ - `_.Dialog`
62
+ - `_.dialog.alert`
63
+ - `_.dialog.confirm`
64
+ - `_.dialog.prompt`
65
+ - `_.div`
66
+ - `_.dl`
67
+ - `_.docTable`
68
+ - `_.dom.attr`
69
+ - `_.dom.q`
70
+ - `_.dom.qa`
71
+ - `_.Drawer`
72
+ - `_.dt`
73
+ - `_.dynamic`
74
+ - `_.effect`
75
+ - `_.ellipse`
76
+ - `_.em`
77
+ - `_.embed`
78
+ - `_.EmptyState`
79
+ - `_.enableAutoCleanup`
80
+ - `_.feBlend`
81
+ - `_.feColorMatrix`
82
+ - `_.feGaussianBlur`
83
+ - `_.feOffset`
84
+ - `_.fieldset`
85
+ - `_.filter`
86
+ - `_.footer`
87
+ - `_.Footer`
88
+ - `_.form`
89
+ - `_.Form`
90
+ - `_.FormField`
91
+ - `_.fragment`
92
+ - `_.g`
93
+ - `_.getTheme`
94
+ - `_.Grid`
95
+ - `_.GridCol`
96
+ - `_.h1`
97
+ - `_.h2`
98
+ - `_.h3`
99
+ - `_.h4`
100
+ - `_.h5`
101
+ - `_.h6`
102
+ - `_.head`
103
+ - `_.header`
104
+ - `_.Header`
105
+ - `_.hr`
106
+ - `_.html`
107
+ - `_.http.del`
108
+ - `_.http.delJSON`
109
+ - `_.http.get`
110
+ - `_.http.getJSON`
111
+ - `_.http.onAfter`
112
+ - `_.http.onBefore`
113
+ - `_.http.onError`
114
+ - `_.http.patch`
115
+ - `_.http.patchJSON`
116
+ - `_.http.post`
117
+ - `_.http.postJSON`
118
+ - `_.http.put`
119
+ - `_.http.putJSON`
120
+ - `_.http.request`
121
+ - `_.http.state`
122
+ - `_.i`
123
+ - `_.Icon`
124
+ - `_.iframe`
125
+ - `_.img`
126
+ - `_.input`
127
+ - `_.Input`
128
+ - `_.InputRaw`
129
+ - `_.isDev`
130
+ - `_.isListItemNode`
131
+ - `_.isUIPlainObject`
132
+ - `_.Item`
133
+ - `_.kbd`
134
+ - `_.Kpi`
135
+ - `_.label`
136
+ - `_.Layout`
137
+ - `_.legend`
138
+ - `_.li`
139
+ - `_.line`
140
+ - `_.linearGradient`
141
+ - `_.link`
142
+ - `_.List`
143
+ - `_.loading.hide`
144
+ - `_.loading.progress`
145
+ - `_.loading.show`
146
+ - `_.loading.wrap`
147
+ - `_.LoadingBar`
148
+ - `_.main`
149
+ - `_.mark`
150
+ - `_.mask`
151
+ - `_.Menu`
152
+ - `_.meter`
153
+ - `_.mount`
154
+ - `_.nav`
155
+ - `_.noscript`
156
+ - `_.Notify`
157
+ - `_.notify.clear`
158
+ - `_.notify.error`
159
+ - `_.notify.info`
160
+ - `_.notify.primary`
161
+ - `_.notify.promise`
162
+ - `_.notify.remove`
163
+ - `_.notify.secondary`
164
+ - `_.notify.show`
165
+ - `_.notify.success`
166
+ - `_.notify.update`
167
+ - `_.notify.warning`
168
+ - `_.object`
169
+ - `_.ol`
170
+ - `_.omit`
171
+ - `_.optgroup`
172
+ - `_.option`
173
+ - `_.output`
174
+ - `_.overlay.close`
175
+ - `_.overlay.closeTop`
176
+ - `_.overlay.open`
177
+ - `_.p`
178
+ - `_.Page`
179
+ - `_.Pagination`
180
+ - `_.Parallax`
181
+ - `_.param`
182
+ - `_.path`
183
+ - `_.pattern`
184
+ - `_.perf.enable`
185
+ - `_.perf.inc`
186
+ - `_.perf.mark`
187
+ - `_.perf.reset`
188
+ - `_.perf.slowEffects`
189
+ - `_.perf.stats`
190
+ - `_.perf.tick`
191
+ - `_.perf.time`
192
+ - `_.perf.timeline`
193
+ - `_.picture`
194
+ - `_.plugins.auth.install`
195
+ - `_.plugins.debug.install`
196
+ - `_.plugins.forms.install`
197
+ - `_.polygon`
198
+ - `_.polyline`
199
+ - `_.Popover`
200
+ - `_.pre`
201
+ - `_.progress`
202
+ - `_.Progress`
203
+ - `_.q`
204
+ - `_.radialGradient`
205
+ - `_.Radio`
206
+ - `_.Rating`
207
+ - `_.signal`
208
+ - `_.untracked`
209
+ - `_.ready`
210
+ - `_.rect`
211
+ - `_.rod`
212
+ - `_.rodBind`
213
+ - `_.rodFromSignal`
214
+ - `_.rodModel`
215
+ - `_.router.add`
216
+ - `_.router.beforeEach`
217
+ - `_.router.current`
218
+ - `_.router.history`
219
+ - `_.router.inspect`
220
+ - `_.router.isActive`
221
+ - `_.router.navigate`
222
+ - `_.router.notFound`
223
+ - `_.router.setBase`
224
+ - `_.router.setOutlet`
225
+ - `_.router.setURLOnly`
226
+ - `_.router.start`
227
+ - `_.router.status`
228
+ - `_.router.subscribe`
229
+ - `_.router.trace`
230
+ - `_.RouteTab`
231
+ - `_.Row`
232
+ - `_.rp`
233
+ - `_.rt`
234
+ - `_.ruby`
235
+ - `_.s`
236
+ - `_.samp`
237
+ - `_.script`
238
+ - `_.Search`
239
+ - `_.section`
240
+ - `_.select`
241
+ - `_.Select`
242
+ - `_.Separator`
243
+ - `_.setTheme`
244
+ - `_.signalModel`
245
+ - `_.Slider`
246
+ - `_.slot`
247
+ - `_.small`
248
+ - `_.source`
249
+ - `_.Spacer`
250
+ - `_.span`
251
+ - `_.Spinner`
252
+ - `_.Stat`
253
+ - `_.stop`
254
+ - `_.store.autoForm`
255
+ - `_.store.bind`
256
+ - `_.store.bindAll`
257
+ - `_.store.clear`
258
+ - `_.store.computed`
259
+ - `_.store.configure`
260
+ - `_.store.get`
261
+ - `_.store.inspect`
262
+ - `_.store.migrate`
263
+ - `_.store.model`
264
+ - `_.store.remove`
265
+ - `_.store.set`
266
+ - `_.store.signal`
267
+ - `_.store.stats`
268
+ - `_.store.watch`
269
+ - `_.strong`
270
+ - `_.style`
271
+ - `_.sub`
272
+ - `_.summary`
273
+ - `_.sup`
274
+ - `_.svg`
275
+ - `_.symbol`
276
+ - `_.table`
277
+ - `_.Table`
278
+ - `_.TabPanel`
279
+ - `_.Tabs`
280
+ - `_.tbody`
281
+ - `_.td`
282
+ - `_.template`
283
+ - `_.text`
284
+ - `_.textarea`
285
+ - `_.tfoot`
286
+ - `_.th`
287
+ - `_.thead`
288
+ - `_.time`
289
+ - `_.Time`
290
+ - `_.title`
291
+ - `_.Toggle`
292
+ - `_.toggleTheme`
293
+ - `_.Toolbar`
294
+ - `_.Tooltip`
295
+ - `_.tr`
296
+ - `_.track`
297
+ - `_.tspan`
298
+ - `_.u`
299
+ - `_.can`
300
+ - `_.canAll`
301
+ - `_.canAny`
302
+ - `_.getSlot`
303
+ - `_.inspect`
304
+ - `_.renderSlot`
305
+ - `_.slots`
306
+ - `_.uiApplyResponsiveProps`
307
+ - `_.uiClass`
308
+ - `_.uiClassStatic`
309
+ - `_.uiClassValue`
310
+ - `_.uiComputed`
311
+ - `_.uiIsReactive`
312
+ - `_.uiNormalizeArgs`
313
+ - `_.uiResponsiveClasses`
314
+ - `_.uiResponsiveHasConfig`
315
+ - `_.uiResponsiveHasProp`
316
+ - `_.uiResponsivePropsFor`
317
+ - `_.uiResponsiveStyleRules.10.mapValue`
318
+ - `_.uiResponsiveStyleRules.11.mapValue`
319
+ - `_.uiResponsiveStyleRules.2.mapValue`
320
+ - `_.uiResponsiveStyleRules.9.mapValue`
321
+ - `_.uiStyleValue`
322
+ - `_.uiUnwrap`
323
+ - `_.uiWhen`
324
+ - `_.ul`
325
+ - `_.use`
326
+ - `_.useForm`
327
+ - `_.usePlugin`
328
+ - `_.useRoute`
329
+ - `_.useRouter`
330
+ - `_.useStore`
331
+ - `_.var`
332
+ - `_.video`
333
+ - `_.wbr`
@@ -0,0 +1,131 @@
1
+ # HTML and SVG helper catalog
2
+
3
+ Call these helpers on `_`, for example `_.div(...)` and `_.svg(...)`. Names are case-sensitive: `_.input` is an HTML helper, while `_.Input` is a UI component.
4
+
5
+ - `a`
6
+ - `abbr`
7
+ - `address`
8
+ - `article`
9
+ - `aside`
10
+ - `audio`
11
+ - `b`
12
+ - `base`
13
+ - `bdi`
14
+ - `bdo`
15
+ - `blockquote`
16
+ - `body`
17
+ - `br`
18
+ - `button`
19
+ - `canvas`
20
+ - `caption`
21
+ - `circle`
22
+ - `cite`
23
+ - `clipPath`
24
+ - `code`
25
+ - `col`
26
+ - `colgroup`
27
+ - `data`
28
+ - `datalist`
29
+ - `dd`
30
+ - `defs`
31
+ - `details`
32
+ - `dfn`
33
+ - `div`
34
+ - `dl`
35
+ - `dt`
36
+ - `ellipse`
37
+ - `em`
38
+ - `embed`
39
+ - `feBlend`
40
+ - `feColorMatrix`
41
+ - `feGaussianBlur`
42
+ - `feOffset`
43
+ - `fieldset`
44
+ - `filter`
45
+ - `footer`
46
+ - `form`
47
+ - `g`
48
+ - `h1`
49
+ - `h2`
50
+ - `h3`
51
+ - `h4`
52
+ - `h5`
53
+ - `h6`
54
+ - `head`
55
+ - `header`
56
+ - `hr`
57
+ - `html`
58
+ - `i`
59
+ - `iframe`
60
+ - `img`
61
+ - `input`
62
+ - `kbd`
63
+ - `label`
64
+ - `legend`
65
+ - `li`
66
+ - `line`
67
+ - `linearGradient`
68
+ - `link`
69
+ - `main`
70
+ - `mark`
71
+ - `mask`
72
+ - `meter`
73
+ - `nav`
74
+ - `noscript`
75
+ - `object`
76
+ - `ol`
77
+ - `optgroup`
78
+ - `option`
79
+ - `output`
80
+ - `p`
81
+ - `param`
82
+ - `path`
83
+ - `pattern`
84
+ - `picture`
85
+ - `polygon`
86
+ - `polyline`
87
+ - `pre`
88
+ - `progress`
89
+ - `q`
90
+ - `radialGradient`
91
+ - `rect`
92
+ - `rp`
93
+ - `rt`
94
+ - `ruby`
95
+ - `s`
96
+ - `samp`
97
+ - `script`
98
+ - `section`
99
+ - `select`
100
+ - `slot`
101
+ - `small`
102
+ - `source`
103
+ - `span`
104
+ - `stop`
105
+ - `strong`
106
+ - `style`
107
+ - `sub`
108
+ - `summary`
109
+ - `sup`
110
+ - `svg`
111
+ - `symbol`
112
+ - `table`
113
+ - `tbody`
114
+ - `td`
115
+ - `template`
116
+ - `text`
117
+ - `textarea`
118
+ - `tfoot`
119
+ - `th`
120
+ - `thead`
121
+ - `time`
122
+ - `title`
123
+ - `tr`
124
+ - `track`
125
+ - `tspan`
126
+ - `u`
127
+ - `ul`
128
+ - `use`
129
+ - `var`
130
+ - `video`
131
+ - `wbr`
@@ -0,0 +1,5 @@
1
+ # Data, feedback, and overlays
2
+
3
+ Use Table for operational data. Use Spinner, Progress, LoadingBar, Notify, Alert, Banner, and EmptyState for the matching state. Use Dialog for focused flows and Menu, Popover, ContextMenu, or Tooltip for anchored interactions.
4
+
5
+ Overlay behavior and imperative APIs differ. Before implementing triggers, focus, outside clicks, escape behavior, or return values, read the exact component file. Do not assume overlays share props.
@@ -0,0 +1,11 @@
1
+ # Forms
2
+
3
+ Use _.useForm for values, validation, touched/dirty flags, and submissions. Bind fields through form.model("field").
4
+
5
+ const form = _.useForm({ values: { email: "" } });
6
+ _.Form({ form },
7
+ _.Input({ label: "Email", model: form.model("email") }),
8
+ _.Button({ type: "submit", color: "primary" }, "Save")
9
+ );
10
+
11
+ Read each control document—Input, Select, Checkbox, Radio, Toggle, Slider, Rating, Date, and Time—because their value and model contracts differ.
@@ -0,0 +1,15 @@
1
+ # Layout and responsive UI
2
+
3
+ Use Container, Grid, GridCol, Row, Col, Spacer, Toolbar, Card, Layout, Page, Header, Drawer, Footer, and AppShell before raw CSS layout.
4
+
5
+ - Root props: mobile/default
6
+ - tablet: from 768px
7
+ - pc: from 1024px
8
+
9
+ _.Row({
10
+ direction: "column", gap: "sm",
11
+ tablet: { direction: "row", gap: "md" },
12
+ pc: { justify: "space-between" }
13
+ }, left, right);
14
+
15
+ Read exact Grid, GridCol, and shell contracts before using spans, tracks, placement, or shell slots.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsswift",
3
- "version": "1.0.42",
3
+ "version": "1.0.44",
4
4
  "description": "Umbrella package for JSswift core + UI",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -28,7 +28,9 @@
28
28
  "./css/ui-components.css": "./dist/css/ui-components.css",
29
29
  "./css/responsive.css": "./dist/css/responsive.css",
30
30
  "./css/animation.css": "./dist/css/animation.css",
31
- "./css/docs.css": "./dist/css/docs.css"
31
+ "./css/docs.css": "./dist/css/docs.css",
32
+ "./package.json": "./package.json",
33
+ "./knowledge-map.json": "./dist/documentions/knowledge-map.json"
32
34
  },
33
35
  "files": [
34
36
  "dist"