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,721 +1,72 @@
1
1
  # Menu
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": "_.Menu(props) | _.Menu(props, ...children) -> { open, close, show, hide, toggle, update, bind, isOpen }",
8
8
  "props": {
9
- "size": {
10
- "type": "xs|sm|md|lg|xl",
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": "Alias of state",
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
- "title": {
301
- "type": "String|Node|Function|Array|({ close })=>Node",
302
- "description": "Title text or node.",
303
- "default": null,
304
- "values": null,
305
- "category": "general"
306
- },
307
- "subtitle": {
308
- "type": "String|Node|Function|Array|({ close })=>Node",
309
- "description": "Subtitle text or node.",
310
- "default": null,
311
- "values": null,
312
- "category": "general"
313
- },
314
- "eyebrow": {
315
- "type": "String|Node|Function|Array|({ close })=>Node",
316
- "description": "Component configuration for \"eyebrow\". When not handled internally, it is forwarded to the root element.",
317
- "default": null,
318
- "values": null,
319
- "category": "general"
320
- },
321
- "icon": {
322
- "type": "String|Node|Function|Array",
323
- "description": "Icon name or node rendered with the component.",
324
- "default": null,
325
- "values": [
326
- "#name_tabler",
327
- "name_material",
328
- "class"
329
- ],
330
- "category": "general"
331
- },
332
- "content": {
333
- "type": "Node|Function|Array|({ close })=>Node",
334
- "description": "Main content node(s) or render function for the component body.",
335
- "default": null,
336
- "values": null,
337
- "category": "general"
338
- },
339
- "body": {
340
- "type": "Alias of content",
341
- "description": "Component configuration for \"body\". When not handled internally, it is forwarded to the root element.",
342
- "default": null,
343
- "values": null,
344
- "category": "general"
345
- },
346
- "items": {
347
- "type": "Array<string|object>|Function|Array",
348
- "description": "Array of items or nodes to render.",
349
- "default": null,
350
- "values": null,
351
- "category": "data"
352
- },
353
- "before": {
354
- "type": "Node|Function|Array",
355
- "description": "Component configuration for \"before\". When not handled internally, it is forwarded to the root element.",
356
- "default": null,
357
- "values": null,
358
- "category": "general"
359
- },
360
- "after": {
361
- "type": "Node|Function|Array",
362
- "description": "Component configuration for \"after\". When not handled internally, it is forwarded to the root element.",
363
- "default": null,
364
- "values": null,
365
- "category": "general"
366
- },
367
- "footer": {
368
- "type": "Node|Function|Array",
369
- "description": "Footer content node(s) or render function.",
370
- "default": null,
371
- "values": null,
372
- "category": "general"
373
- },
374
- "status": {
375
- "type": "Node|Function|Array",
376
- "description": "Component configuration for \"status\". When not handled internally, it is forwarded to the root element.",
377
- "default": null,
378
- "values": null,
379
- "category": "general"
380
- },
381
- "empty": {
382
- "type": "Node|Function|Array",
383
- "description": "Component configuration for \"empty\". When not handled internally, it is forwarded to the root element.",
384
- "default": null,
385
- "values": null,
386
- "category": "general"
387
- },
388
- "state": {
389
- "type": "primary|secondary|warning|danger|success|info|light|dark",
390
- "description": "Component configuration for \"state\". When not handled internally, it is forwarded to the root element.",
391
- "default": null,
392
- "values": null,
393
- "category": "general"
394
- },
395
- "trigger": {
396
- "type": "click|hover|focus|manual|Array",
397
- "description": "Component configuration for \"trigger\". When not handled internally, it is forwarded to the root element.",
398
- "default": null,
399
- "values": null,
400
- "category": "general"
401
- },
402
- "placement": {
403
- "type": "string",
404
- "description": "Overlay placement relative to the target/anchor.",
405
- "default": null,
406
- "values": [
407
- "top",
408
- "bottom",
409
- "left",
410
- "right",
411
- "top-start",
412
- "top-end",
413
- "bottom-start",
414
- "bottom-end"
415
- ],
416
- "category": "general"
417
- },
418
- "offsetX": {
419
- "type": "number",
420
- "description": "Horizontal offset for overlay placement in pixels.",
421
- "default": null,
422
- "values": null,
423
- "category": "general"
424
- },
425
- "offsetY": {
426
- "type": "number",
427
- "description": "Vertical offset for overlay placement in pixels.",
428
- "default": null,
429
- "values": null,
430
- "category": "general"
431
- },
432
- "offset": {
433
- "type": "Alias of offsetY",
434
- "description": "General offset for positioning.",
435
- "default": null,
436
- "values": null,
437
- "category": "general"
438
- },
439
- "bodyMaxHeight": {
440
- "type": "string|number",
441
- "description": "Component configuration for \"bodyMaxHeight\". When not handled internally, it is forwarded to the root element.",
442
- "default": null,
443
- "values": null,
444
- "category": "general"
445
- },
446
- "contentMaxHeight": {
447
- "type": "Alias of bodyMaxHeight",
448
- "description": "Component configuration for \"contentMaxHeight\". When not handled internally, it is forwarded to the root element.",
449
- "default": null,
450
- "values": null,
451
- "category": "general"
452
- },
453
- "closeOnSelect": {
454
- "type": "boolean",
455
- "description": "Closes the menu/popover after selecting an item.",
456
- "default": null,
457
- "values": null,
458
- "category": "general"
459
- },
460
- "closeOnOutside": {
461
- "type": "boolean",
462
- "description": "Closes the component when clicking outside its bounds.",
463
- "default": null,
464
- "values": null,
465
- "category": "general"
466
- },
467
- "closeOnEsc": {
468
- "type": "boolean",
469
- "description": "Closes the component when the Escape key is pressed.",
470
- "default": null,
471
- "values": null,
472
- "category": "general"
473
- },
474
- "autoFocus": {
475
- "type": "boolean",
476
- "description": "Component configuration for \"autoFocus\". When not handled internally, it is forwarded to the root element.",
477
- "default": null,
478
- "values": null,
479
- "category": "general"
480
- },
481
- "anchorEl": {
482
- "type": "HTMLElement|VirtualAnchor",
483
- "description": "Component configuration for \"anchorEl\". When not handled internally, it is forwarded to the root element.",
484
- "default": null,
485
- "values": null,
486
- "category": "general"
487
- },
488
- "triggerEl": {
489
- "type": "Alias of anchorEl",
490
- "description": "Component configuration for \"triggerEl\". When not handled internally, it is forwarded to the root element.",
491
- "default": null,
492
- "values": null,
493
- "category": "general"
494
- },
495
- "target": {
496
- "type": "Alias of anchorEl",
497
- "description": "Target element or anchor used for positioning.",
498
- "default": null,
499
- "values": null,
500
- "category": "general"
501
- },
502
- "slots": {
503
- "type": "{ before?, icon?, eyebrow?, title?, subtitle?, header?, content?, body?, item?, itemTitle?, itemSubtitle?, itemBadge?, itemShortcut?, groupLabel?, empty?, status?, footer?, after?, default? }",
504
- "description": "Named slots map for render overrides.",
505
- "default": null,
506
- "values": null,
507
- "category": "general"
508
- },
509
- "panelClass": {
510
- "type": "string",
511
- "description": "Component configuration for \"panelClass\". When not handled internally, it is forwarded to the root element.",
512
- "default": null,
513
- "values": null,
514
- "category": "general"
515
- },
516
- "overlayClass": {
517
- "type": "string",
518
- "description": "Component configuration for \"overlayClass\". When not handled internally, it is forwarded to the root element.",
519
- "default": null,
520
- "values": null,
521
- "category": "general"
522
- },
523
- "panelStyle": {
524
- "type": "object",
525
- "description": "Component configuration for \"panelStyle\". When not handled internally, it is forwarded to the root element.",
526
- "default": null,
527
- "values": null,
528
- "category": "general"
529
- },
530
- "onOpen": {
531
- "type": "function",
532
- "description": "Callback fired when the component opens.",
533
- "default": null,
534
- "values": null,
535
- "category": "general"
536
- },
537
- "onClose": {
538
- "type": "function",
539
- "description": "Callback fired when the component closes.",
540
- "default": null,
541
- "values": null,
542
- "category": "general"
543
- },
544
- "onItemClick": {
545
- "type": "(item, ctx, event) => void",
546
- "description": "Component configuration for \"onItemClick\". When not handled internally, it is forwarded to the root element.",
547
- "default": null,
548
- "values": null,
549
- "category": "general"
550
- },
551
- "onTriggerClick": {
552
- "type": "function",
553
- "description": "Component configuration for \"onTriggerClick\". When not handled internally, it is forwarded to the root element.",
554
- "default": null,
555
- "values": null,
556
- "category": "general"
557
- },
558
- "children": {
559
- "type": "Node|Array|Function",
560
- "description": "Default child content (nodes, arrays, or render function).",
561
- "default": null,
562
- "values": null,
563
- "category": "general"
564
- },
565
- "iconRight": {
566
- "type": "String|Node|Function|Array",
567
- "description": "Icon name or node rendered on the right side of the component.",
568
- "default": null,
569
- "values": [
570
- "#name_tabler",
571
- "name_material",
572
- "class"
573
- ],
574
- "category": "general"
575
- }
9
+ "size": {"type": "xs|sm|md|lg|xl", "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": "Alias of state", "description": "Semantic color name used to style the component.", "default": null, "values": ["primary", "secondary", "success", "warning", "danger", "info", "light", "dark"], "category": "style"},
11
+ "title": {"type": "String|Node|Function|Array|({ close })=>Node", "description": "Title text or node.", "default": null, "values": null, "category": "general"},
12
+ "subtitle": {"type": "String|Node|Function|Array|({ close })=>Node", "description": "Subtitle text or node.", "default": null, "values": null, "category": "general"},
13
+ "eyebrow": {"type": "String|Node|Function|Array|({ close })=>Node", "description": "Component configuration for \"eyebrow\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
14
+ "icon": {"type": "String|Node|Function|Array", "description": "Icon name or node rendered with the component.", "default": null, "values": ["#name_tabler", "name_material", "class"], "category": "general"},
15
+ "content": {"type": "Node|Function|Array|({ close })=>Node", "description": "Main content node(s) or render function for the component body.", "default": null, "values": null, "category": "general"},
16
+ "body": {"type": "Alias of content", "description": "Component configuration for \"body\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
17
+ "items": {"type": "Array<string|object>|Function|Array", "description": "Array of items or nodes to render.", "default": null, "values": null, "category": "data"},
18
+ "before": {"type": "Node|Function|Array", "description": "Component configuration for \"before\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
19
+ "after": {"type": "Node|Function|Array", "description": "Component configuration for \"after\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
20
+ "footer": {"type": "Node|Function|Array", "description": "Footer content node(s) or render function.", "default": null, "values": null, "category": "general"},
21
+ "status": {"type": "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"},
22
+ "empty": {"type": "Node|Function|Array", "description": "Component configuration for \"empty\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
23
+ "state": {"type": "primary|secondary|warning|danger|success|info|light|dark", "description": "Component configuration for \"state\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
24
+ "trigger": {"type": "click|hover|focus|manual|Array", "description": "Component configuration for \"trigger\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
25
+ "placement": {"type": "string", "description": "Overlay placement relative to the target/anchor.", "default": null, "values": ["top", "bottom", "left", "right", "top-start", "top-end", "bottom-start", "bottom-end"], "category": "general"},
26
+ "offsetX": {"type": "number", "description": "Horizontal offset for overlay placement in pixels.", "default": null, "values": null, "category": "general"},
27
+ "offsetY": {"type": "number", "description": "Vertical offset for overlay placement in pixels.", "default": null, "values": null, "category": "general"},
28
+ "offset": {"type": "Alias of offsetY", "description": "General offset for positioning.", "default": null, "values": null, "category": "general"},
29
+ "bodyMaxHeight": {"type": "string|number", "description": "Component configuration for \"bodyMaxHeight\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
30
+ "contentMaxHeight": {"type": "Alias of bodyMaxHeight", "description": "Component configuration for \"contentMaxHeight\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
31
+ "closeOnSelect": {"type": "boolean", "description": "Closes the menu/popover after selecting an item.", "default": null, "values": null, "category": "general"},
32
+ "closeOnOutside": {"type": "boolean", "description": "Closes the component when clicking outside its bounds.", "default": null, "values": null, "category": "general"},
33
+ "closeOnEsc": {"type": "boolean", "description": "Closes the component when the Escape key is pressed.", "default": null, "values": null, "category": "general"},
34
+ "autoFocus": {"type": "boolean", "description": "Component configuration for \"autoFocus\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
35
+ "anchorEl": {"type": "HTMLElement|VirtualAnchor", "description": "Component configuration for \"anchorEl\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
36
+ "triggerEl": {"type": "Alias of anchorEl", "description": "Component configuration for \"triggerEl\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
37
+ "target": {"type": "Alias of anchorEl", "description": "Target element or anchor used for positioning.", "default": null, "values": null, "category": "general"},
38
+ "slots": {"type": "{ before?, icon?, eyebrow?, title?, subtitle?, header?, content?, body?, item?, itemTitle?, itemSubtitle?, itemBadge?, itemShortcut?, groupLabel?, empty?, status?, footer?, after?, default? }", "description": "Named slots map for render overrides.", "default": null, "values": null, "category": "general"},
39
+ "panelClass": {"type": "string", "description": "Component configuration for \"panelClass\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
40
+ "overlayClass": {"type": "string", "description": "Component configuration for \"overlayClass\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
41
+ "panelStyle": {"type": "object", "description": "Component configuration for \"panelStyle\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
42
+ "onOpen": {"type": "function", "description": "Callback fired when the component opens.", "default": null, "values": null, "category": "general"},
43
+ "onClose": {"type": "function", "description": "Callback fired when the component closes.", "default": null, "values": null, "category": "general"},
44
+ "onItemClick": {"type": "(item, ctx, event) => void", "description": "Component configuration for \"onItemClick\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
45
+ "onTriggerClick": {"type": "function", "description": "Component configuration for \"onTriggerClick\". When not handled internally, it is forwarded to the root element.", "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"},
47
+ "iconRight": {"type": "String|Node|Function|Array", "description": "Icon name or node rendered on the right side of the component.", "default": null, "values": ["#name_tabler", "name_material", "class"], "category": "general"}
576
48
  },
577
49
  "slots": {
578
- "before": {
579
- "type": "Region above header/body ({ close })",
580
- "description": "Slot content for \"before\". Accepts nodes, arrays, or render functions.",
581
- "default": null,
582
- "values": null,
583
- "category": "slot"
584
- },
585
- "icon": {
586
- "type": "Menu icon",
587
- "description": "Slot for icon content.",
588
- "default": null,
589
- "values": [
590
- "#name_tabler",
591
- "name_material",
592
- "class"
593
- ],
594
- "category": "slot"
595
- },
596
- "eyebrow": {
597
- "type": "Menu eyebrow ({ close })",
598
- "description": "Slot content for \"eyebrow\". Accepts nodes, arrays, or render functions.",
599
- "default": null,
600
- "values": null,
601
- "category": "slot"
602
- },
603
- "title": {
604
- "type": "Menu title ({ close })",
605
- "description": "Slot for title content.",
606
- "default": null,
607
- "values": null,
608
- "category": "slot"
609
- },
610
- "subtitle": {
611
- "type": "Menu subtitle ({ close })",
612
- "description": "Slot for subtitle content.",
613
- "default": null,
614
- "values": null,
615
- "category": "slot"
616
- },
617
- "header": {
618
- "type": "Header custom ({ close })",
619
- "description": "Slot for header content.",
620
- "default": null,
621
- "values": null,
622
- "category": "slot"
623
- },
624
- "content": {
625
- "type": "Custom content ({ close })",
626
- "description": "Slot for the main body content.",
627
- "default": null,
628
- "values": null,
629
- "category": "slot"
630
- },
631
- "body": {
632
- "type": "Alias of content ({ close })",
633
- "description": "Slot content for \"body\". Accepts nodes, arrays, or render functions.",
634
- "default": null,
635
- "values": null,
636
- "category": "slot"
637
- },
638
- "item": {
639
- "type": "Custom item body ({ item, close })",
640
- "description": "Slot for custom item rendering.",
641
- "default": null,
642
- "values": null,
643
- "category": "slot"
644
- },
645
- "itemTitle": {
646
- "type": "Item title ({ item, close })",
647
- "description": "Slot content for \"itemTitle\". Accepts nodes, arrays, or render functions.",
648
- "default": null,
649
- "values": null,
650
- "category": "slot"
651
- },
652
- "itemSubtitle": {
653
- "type": "Item subtitle ({ item, close })",
654
- "description": "Slot content for \"itemSubtitle\". Accepts nodes, arrays, or render functions.",
655
- "default": null,
656
- "values": null,
657
- "category": "slot"
658
- },
659
- "itemBadge": {
660
- "type": "Item badge ({ item, close })",
661
- "description": "Slot content for \"itemBadge\". Accepts nodes, arrays, or render functions.",
662
- "default": null,
663
- "values": null,
664
- "category": "slot"
665
- },
666
- "itemShortcut": {
667
- "type": "Item shortcut ({ item, close })",
668
- "description": "Slot content for \"itemShortcut\". Accepts nodes, arrays, or render functions.",
669
- "default": null,
670
- "values": null,
671
- "category": "slot"
672
- },
673
- "groupLabel": {
674
- "type": "Group label ({ item, close })",
675
- "description": "Slot for group label content.",
676
- "default": null,
677
- "values": null,
678
- "category": "slot"
679
- },
680
- "empty": {
681
- "type": "Empty state ({ close })",
682
- "description": "Slot for empty-state content.",
683
- "default": null,
684
- "values": null,
685
- "category": "slot"
686
- },
687
- "status": {
688
- "type": "Status row ({ close })",
689
- "description": "Slot content for \"status\". Accepts nodes, arrays, or render functions.",
690
- "default": null,
691
- "values": null,
692
- "category": "slot"
693
- },
694
- "footer": {
695
- "type": "Footer actions ({ close })",
696
- "description": "Slot for footer content.",
697
- "default": null,
698
- "values": null,
699
- "category": "slot"
700
- },
701
- "after": {
702
- "type": "Region below body/footer ({ close })",
703
- "description": "Slot content for \"after\". Accepts nodes, arrays, or render functions.",
704
- "default": null,
705
- "values": null,
706
- "category": "slot"
707
- },
708
- "default": {
709
- "type": "Fallback content ({ close })",
710
- "description": "Primary content for the component.",
711
- "default": null,
712
- "values": null,
713
- "category": "slot"
714
- },
715
- "iconRight": {
716
- "type": "Menu icon",
717
- "description": "Slot for right-aligned icon content."
718
- }
50
+ "before": {"type": "Region above header/body ({ close })", "description": "Slot content for \"before\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
51
+ "icon": {"type": "Menu icon", "description": "Slot for icon content.", "default": null, "values": ["#name_tabler", "name_material", "class"], "category": "slot"},
52
+ "eyebrow": {"type": "Menu eyebrow ({ close })", "description": "Slot content for \"eyebrow\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
53
+ "title": {"type": "Menu title ({ close })", "description": "Slot for title content.", "default": null, "values": null, "category": "slot"},
54
+ "subtitle": {"type": "Menu subtitle ({ close })", "description": "Slot for subtitle content.", "default": null, "values": null, "category": "slot"},
55
+ "header": {"type": "Header custom ({ close })", "description": "Slot for header content.", "default": null, "values": null, "category": "slot"},
56
+ "content": {"type": "Custom content ({ close })", "description": "Slot for the main body content.", "default": null, "values": null, "category": "slot"},
57
+ "body": {"type": "Alias of content ({ close })", "description": "Slot content for \"body\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
58
+ "item": {"type": "Custom item body ({ item, close })", "description": "Slot for custom item rendering.", "default": null, "values": null, "category": "slot"},
59
+ "itemTitle": {"type": "Item title ({ item, close })", "description": "Slot content for \"itemTitle\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
60
+ "itemSubtitle": {"type": "Item subtitle ({ item, close })", "description": "Slot content for \"itemSubtitle\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
61
+ "itemBadge": {"type": "Item badge ({ item, close })", "description": "Slot content for \"itemBadge\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
62
+ "itemShortcut": {"type": "Item shortcut ({ item, close })", "description": "Slot content for \"itemShortcut\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
63
+ "groupLabel": {"type": "Group label ({ item, close })", "description": "Slot for group label content.", "default": null, "values": null, "category": "slot"},
64
+ "empty": {"type": "Empty state ({ close })", "description": "Slot for empty-state content.", "default": null, "values": null, "category": "slot"},
65
+ "status": {"type": "Status row ({ close })", "description": "Slot content for \"status\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
66
+ "footer": {"type": "Footer actions ({ close })", "description": "Slot for footer content.", "default": null, "values": null, "category": "slot"},
67
+ "after": {"type": "Region below body/footer ({ close })", "description": "Slot content for \"after\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
68
+ "default": {"type": "Fallback content ({ close })", "description": "Primary content for the component.", "default": null, "values": null, "category": "slot"},
69
+ "iconRight": {"type": "Menu icon", "description": "Slot for right-aligned icon content."}
719
70
  },
720
71
  "events": {
721
72
  "onOpen": "void",
@@ -723,6 +74,7 @@ Exact JSswift UI metadata contract. Use only the props, slots, events, and metho
723
74
  "onItemClick": "item click"
724
75
  },
725
76
  "returns": "Object { open(), close(), show(), hide(), toggle(), update(), bind(), isOpen() }",
726
- "description": "Standardized menu overlay with item model, rich slots, bindable triggers, header/footer, and imperative API."
77
+ "description": "Standardized menu overlay with item model, rich slots, bindable triggers, header/footer, and imperative API.",
78
+ "commonProps": {"path": "ui/common-props.md", "keys": ["outline", "clickable", "padding", "margin", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "radius", "borderRadius", "shadow", "mobile", "tablet", "pc", "class", "style"]}
727
79
  }
728
80
  ```