jsswift 1.0.45 → 1.0.47

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 (69) 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/button.md +3 -0
  12. package/dist/documentions/components/card-body.md +11 -328
  13. package/dist/documentions/components/card-footer.md +15 -367
  14. package/dist/documentions/components/card-header.md +15 -367
  15. package/dist/documentions/components/card.md +3 -19
  16. package/dist/documentions/components/checkbox.md +25 -456
  17. package/dist/documentions/components/chip.md +16 -393
  18. package/dist/documentions/components/col.md +57 -612
  19. package/dist/documentions/components/container.md +40 -535
  20. package/dist/documentions/components/context-menu.md +60 -696
  21. package/dist/documentions/components/date.md +56 -673
  22. package/dist/documentions/components/dialog.md +5 -21
  23. package/dist/documentions/components/drawer.md +48 -616
  24. package/dist/documentions/components/empty-state.md +28 -477
  25. package/dist/documentions/components/footer.md +42 -586
  26. package/dist/documentions/components/form-field.md +40 -568
  27. package/dist/documentions/components/form.md +7 -321
  28. package/dist/documentions/components/grid-col.md +42 -542
  29. package/dist/documentions/components/grid.md +40 -542
  30. package/dist/documentions/components/header.md +38 -547
  31. package/dist/documentions/components/icon.md +17 -370
  32. package/dist/documentions/components/input.md +4 -22
  33. package/dist/documentions/components/item.md +37 -533
  34. package/dist/documentions/components/kpi.md +34 -519
  35. package/dist/documentions/components/layout.md +81 -811
  36. package/dist/documentions/components/list.md +19 -405
  37. package/dist/documentions/components/loading-bar.md +58 -679
  38. package/dist/documentions/components/menu.md +62 -710
  39. package/dist/documentions/components/notify.md +34 -525
  40. package/dist/documentions/components/page.md +35 -526
  41. package/dist/documentions/components/pagination.md +3 -20
  42. package/dist/documentions/components/parallax.md +50 -633
  43. package/dist/documentions/components/popover.md +55 -661
  44. package/dist/documentions/components/progress.md +39 -554
  45. package/dist/documentions/components/radio.md +27 -470
  46. package/dist/documentions/components/rating.md +41 -574
  47. package/dist/documentions/components/route-tab.md +30 -491
  48. package/dist/documentions/components/row.md +35 -507
  49. package/dist/documentions/components/search.md +62 -723
  50. package/dist/documentions/components/select.md +17 -22
  51. package/dist/documentions/components/separator.md +7 -321
  52. package/dist/documentions/components/slider.md +49 -631
  53. package/dist/documentions/components/spacer.md +6 -314
  54. package/dist/documentions/components/spinner.md +25 -440
  55. package/dist/documentions/components/stat.md +32 -505
  56. package/dist/documentions/components/tab-panel.md +40 -563
  57. package/dist/documentions/components/table.md +3 -22
  58. package/dist/documentions/components/tabs.md +36 -538
  59. package/dist/documentions/components/time.md +29 -491
  60. package/dist/documentions/components/toggle.md +31 -498
  61. package/dist/documentions/components/toolbar.md +52 -640
  62. package/dist/documentions/components/tooltip.md +35 -535
  63. package/dist/documentions/knowledge-map.json +27 -2
  64. package/dist/documentions/reactivity.md +21 -7
  65. package/dist/documentions/ui/common-props.md +301 -0
  66. package/dist/jsswift.js +10544 -14103
  67. package/dist/jsswift.min.js +3 -3
  68. package/dist/min-jsswift.js +3 -3
  69. package/package.json +3 -2
@@ -1,727 +1,72 @@
1
1
  # Search
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": "_.Search(props)",
8
8
  "description": "Professional search with FormField, GET fetch, debounce, AbortController, overlay results, optional cache, reactive binding, and keyboard navigation.",
9
9
  "props": {
10
- "size": {
11
- "type": "string|number",
12
- "description": "Size token, number, or CSS length for sizing.",
13
- "default": null,
14
- "values": [
15
- "number",
16
- "CSS units",
17
- "xxs",
18
- "xs",
19
- "sm",
20
- "md",
21
- "lg",
22
- "xl",
23
- "xxl",
24
- "xxxl"
25
- ],
26
- "category": "style"
27
- },
28
- "color": {
29
- "type": "string",
30
- "description": "Semantic color name used to style the component.",
31
- "default": null,
32
- "values": [
33
- "primary",
34
- "secondary",
35
- "success",
36
- "warning",
37
- "danger",
38
- "info",
39
- "light",
40
- "dark"
41
- ],
42
- "category": "style"
43
- },
44
- "outline": {
45
- "type": "boolean",
46
- "description": "Uses outlined visual style.",
47
- "default": false,
48
- "values": [
49
- "number",
50
- "CSS units",
51
- "xxs",
52
- "xs",
53
- "sm",
54
- "md",
55
- "lg",
56
- "xl",
57
- "xxl",
58
- "xxxl"
59
- ],
60
- "category": "style"
61
- },
62
- "clickable": {
63
- "type": "boolean",
64
- "description": "Enables pointer/hover styles and click handling on the component.",
65
- "default": false,
66
- "values": null,
67
- "category": "behavior"
68
- },
69
- "padding": {
70
- "type": "string|number",
71
- "description": "Padding applied to the component root element.",
72
- "default": null,
73
- "values": [
74
- "number",
75
- "CSS units",
76
- "xxs",
77
- "xs",
78
- "sm",
79
- "md",
80
- "lg",
81
- "xl",
82
- "xxl",
83
- "xxxl"
84
- ],
85
- "category": "layout"
86
- },
87
- "margin": {
88
- "type": "string|number",
89
- "description": "Margin applied to the component root element.",
90
- "default": null,
91
- "values": [
92
- "number",
93
- "CSS units",
94
- "xxs",
95
- "xs",
96
- "sm",
97
- "md",
98
- "lg",
99
- "xl",
100
- "xxl",
101
- "xxxl"
102
- ],
103
- "category": "layout"
104
- },
105
- "width": {
106
- "type": "string|number",
107
- "description": "Explicit width (number interpreted as px or CSS length).",
108
- "default": null,
109
- "values": [
110
- "number",
111
- "CSS units",
112
- "xxs",
113
- "xs",
114
- "sm",
115
- "md",
116
- "lg",
117
- "xl",
118
- "xxl",
119
- "xxxl"
120
- ],
121
- "category": "layout"
122
- },
123
- "minWidth": {
124
- "type": "string|number",
125
- "description": "Minimum width constraint (number interpreted as px or CSS length).",
126
- "default": null,
127
- "values": [
128
- "number",
129
- "CSS units",
130
- "xxs",
131
- "xs",
132
- "sm",
133
- "md",
134
- "lg",
135
- "xl",
136
- "xxl",
137
- "xxxl"
138
- ],
139
- "category": "layout"
140
- },
141
- "maxWidth": {
142
- "type": "string|number",
143
- "description": "Maximum width constraint (number interpreted as px or CSS length).",
144
- "default": null,
145
- "values": [
146
- "number",
147
- "CSS units",
148
- "xxs",
149
- "xs",
150
- "sm",
151
- "md",
152
- "lg",
153
- "xl",
154
- "xxl",
155
- "xxxl"
156
- ],
157
- "category": "layout"
158
- },
159
- "height": {
160
- "type": "string|number",
161
- "description": "Explicit height (number interpreted as px or CSS length).",
162
- "default": null,
163
- "values": [
164
- "number",
165
- "CSS units",
166
- "xxs",
167
- "xs",
168
- "sm",
169
- "md",
170
- "lg",
171
- "xl",
172
- "xxl",
173
- "xxxl"
174
- ],
175
- "category": "layout"
176
- },
177
- "minHeight": {
178
- "type": "string|number",
179
- "description": "Minimum height constraint (number interpreted as px or CSS length).",
180
- "default": null,
181
- "values": [
182
- "number",
183
- "CSS units",
184
- "xxs",
185
- "xs",
186
- "sm",
187
- "md",
188
- "lg",
189
- "xl",
190
- "xxl",
191
- "xxxl"
192
- ],
193
- "category": "layout"
194
- },
195
- "maxHeight": {
196
- "type": "string|number",
197
- "description": "Maximum height constraint (number interpreted as px or CSS length).",
198
- "default": null,
199
- "values": [
200
- "number",
201
- "CSS units",
202
- "xxs",
203
- "xs",
204
- "sm",
205
- "md",
206
- "lg",
207
- "xl",
208
- "xxl",
209
- "xxxl"
210
- ],
211
- "category": "layout"
212
- },
213
- "radius": {
214
- "type": "string|number",
215
- "description": "Border radius token or CSS length applied to the component.",
216
- "default": null,
217
- "values": [
218
- "number",
219
- "CSS units",
220
- "xxs",
221
- "xs",
222
- "sm",
223
- "md",
224
- "lg",
225
- "xl",
226
- "xxl",
227
- "xxxl"
228
- ],
229
- "category": "style"
230
- },
231
- "borderRadius": {
232
- "type": "string|number",
233
- "description": "Border radius token or CSS length applied to the component.",
234
- "default": null,
235
- "values": [
236
- "number",
237
- "CSS units",
238
- "xxs",
239
- "xs",
240
- "sm",
241
- "md",
242
- "lg",
243
- "xl",
244
- "xxl",
245
- "xxxl"
246
- ],
247
- "category": "style"
248
- },
249
- "shadow": {
250
- "type": "string|boolean",
251
- "description": "Shadow token or CSS box-shadow string applied to the component.",
252
- "default": null,
253
- "values": [
254
- "none",
255
- "xxs",
256
- "xs",
257
- "sm",
258
- "md",
259
- "lg",
260
- "xl",
261
- "xxl",
262
- "xxxl"
263
- ],
264
- "category": "style"
265
- },
266
- "mobile": {
267
- "type": "object",
268
- "description": "Responsive overrides applied at the base/mobile viewport.",
269
- "default": null,
270
- "values": null,
271
- "category": "layout"
272
- },
273
- "tablet": {
274
- "type": "object",
275
- "description": "Responsive overrides applied from the tablet breakpoint upward.",
276
- "default": null,
277
- "values": null,
278
- "category": "layout"
279
- },
280
- "pc": {
281
- "type": "object",
282
- "description": "Responsive overrides applied from the desktop breakpoint upward.",
283
- "default": null,
284
- "values": null,
285
- "category": "layout"
286
- },
287
- "class": {
288
- "type": "string",
289
- "description": "Additional CSS classes applied to the component root element.",
290
- "default": null,
291
- "values": null,
292
- "category": "style"
293
- },
294
- "style": {
295
- "type": "object",
296
- "description": "Inline styles applied to the component root element.",
297
- "default": null,
298
- "values": null,
299
- "category": "style"
300
- },
301
- "model": {
302
- "type": "rod | [get,set] signal",
303
- "description": "Two-way bound value (alias to value in some components).",
304
- "default": null,
305
- "values": null,
306
- "category": "data"
307
- },
308
- "value": {
309
- "type": "string | rod | [get,set] signal",
310
- "description": "Current value (controlled).",
311
- "default": null,
312
- "values": null,
313
- "category": "data"
314
- },
315
- "endpoint": {
316
- "type": "string | (query, ctx) => string",
317
- "description": "Component configuration for \"endpoint\". When not handled internally, it is forwarded to the root element.",
318
- "default": null,
319
- "values": null,
320
- "category": "general"
321
- },
322
- "url": {
323
- "type": "Alias of endpoint",
324
- "description": "Component configuration for \"url\". When not handled internally, it is forwarded to the root element.",
325
- "default": null,
326
- "values": null,
327
- "category": "general"
328
- },
329
- "method": {
330
- "type": "'GET' (internal)",
331
- "description": "Component configuration for \"method\". When not handled internally, it is forwarded to the root element.",
332
- "default": null,
333
- "values": null,
334
- "category": "general"
335
- },
336
- "queryParam": {
337
- "type": "string (default: 'q')",
338
- "description": "Component configuration for \"queryParam\". When not handled internally, it is forwarded to the root element.",
339
- "default": null,
340
- "values": null,
341
- "category": "general"
342
- },
343
- "params": {
344
- "type": "object | (query, ctx) => object",
345
- "description": "Component configuration for \"params\". When not handled internally, it is forwarded to the root element.",
346
- "default": null,
347
- "values": null,
348
- "category": "general"
349
- },
350
- "headers": {
351
- "type": "object",
352
- "description": "Component configuration for \"headers\". When not handled internally, it is forwarded to the root element.",
353
- "default": null,
354
- "values": null,
355
- "category": "general"
356
- },
357
- "credentials": {
358
- "type": "RequestCredentials",
359
- "description": "Component configuration for \"credentials\". When not handled internally, it is forwarded to the root element.",
360
- "default": null,
361
- "values": null,
362
- "category": "general"
363
- },
364
- "parseResponse": {
365
- "type": "(Response) => Promise<any>",
366
- "description": "Component configuration for \"parseResponse\". When not handled internally, it is forwarded to the root element.",
367
- "default": null,
368
- "values": null,
369
- "category": "general"
370
- },
371
- "mapResponse": {
372
- "type": "(payload, query) => Array",
373
- "description": "Component configuration for \"mapResponse\". When not handled internally, it is forwarded to the root element.",
374
- "default": null,
375
- "values": null,
376
- "category": "general"
377
- },
378
- "items": {
379
- "type": "Array | (query, ctx) => Array|Promise<Array>",
380
- "description": "Array of items or nodes to render.",
381
- "default": null,
382
- "values": null,
383
- "category": "data"
384
- },
385
- "options": {
386
- "type": "Local alias of items",
387
- "description": "Array of selectable options or option groups.",
388
- "default": null,
389
- "values": null,
390
- "category": "data"
391
- },
392
- "suggestions": {
393
- "type": "Local alias of items",
394
- "description": "Component configuration for \"suggestions\". When not handled internally, it is forwarded to the root element.",
395
- "default": null,
396
- "values": null,
397
- "category": "general"
398
- },
399
- "filter": {
400
- "type": "(item, query) => boolean",
401
- "description": "Component configuration for \"filter\". When not handled internally, it is forwarded to the root element.",
402
- "default": null,
403
- "values": null,
404
- "category": "general"
405
- },
406
- "getLabel": {
407
- "type": "(item) => string",
408
- "description": "Component configuration for \"getLabel\". When not handled internally, it is forwarded to the root element.",
409
- "default": null,
410
- "values": null,
411
- "category": "general"
412
- },
413
- "getValue": {
414
- "type": "(item) => any",
415
- "description": "Function to extract a value from an item object.",
416
- "default": null,
417
- "values": null,
418
- "category": "general"
419
- },
420
- "minLength": {
421
- "type": "number (default: endpoint ? 1 : 0)",
422
- "description": "Component configuration for \"minLength\". When not handled internally, it is forwarded to the root element.",
423
- "default": null,
424
- "values": null,
425
- "category": "general"
426
- },
427
- "debounce": {
428
- "type": "number ms (default: 250)",
429
- "description": "Component configuration for \"debounce\". When not handled internally, it is forwarded to the root element.",
430
- "default": null,
431
- "values": null,
432
- "category": "general"
433
- },
434
- "cache": {
435
- "type": "boolean (default: true)",
436
- "description": "Component configuration for \"cache\". When not handled internally, it is forwarded to the root element.",
437
- "default": null,
438
- "values": null,
439
- "category": "general"
440
- },
441
- "highlight": {
442
- "type": "boolean (default: true)",
443
- "description": "Component configuration for \"highlight\". When not handled internally, it is forwarded to the root element.",
444
- "default": null,
445
- "values": null,
446
- "category": "general"
447
- },
448
- "clearable": {
449
- "type": "boolean",
450
- "description": "Shows a clear action to reset the current value.",
451
- "default": null,
452
- "values": null,
453
- "category": "general"
454
- },
455
- "label": {
456
- "type": "String|Node|Function",
457
- "description": "Label text or node for the component.",
458
- "default": null,
459
- "values": null,
460
- "category": "general"
461
- },
462
- "topLabel": {
463
- "type": "String|Node|Function",
464
- "description": "Label displayed above the control.",
465
- "default": null,
466
- "values": null,
467
- "category": "general"
468
- },
469
- "placeholder": {
470
- "type": "string",
471
- "description": "Placeholder text for inputs.",
472
- "default": null,
473
- "values": null,
474
- "category": "general"
475
- },
476
- "icon": {
477
- "type": "String|Node|Function (default: 'search')",
478
- "description": "Icon name or node rendered with the component.",
479
- "default": null,
480
- "values": [
481
- "#name_tabler",
482
- "name_material",
483
- "class"
484
- ],
485
- "category": "general"
486
- },
487
- "iconRight": {
488
- "type": "String|Node|Function",
489
- "description": "Icon name or node rendered on the right side of the component.",
490
- "default": null,
491
- "values": [
492
- "#name_tabler",
493
- "name_material",
494
- "class"
495
- ],
496
- "category": "general"
497
- },
498
- "shortcode": {
499
- "type": "string|Array<string>|object",
500
- "description": "Keyboard shortcut string, object, or array bound to the component action.",
501
- "default": null,
502
- "values": null,
503
- "category": "general"
504
- },
505
- "showShortcode": {
506
- "type": "boolean",
507
- "description": "Displays the configured keyboard shortcut badge when the component supports it.",
508
- "default": null,
509
- "values": null,
510
- "category": "general"
511
- },
512
- "openOnFocus": {
513
- "type": "boolean",
514
- "description": "Component configuration for \"openOnFocus\". When not handled internally, it is forwarded to the root element.",
515
- "default": null,
516
- "values": null,
517
- "category": "general"
518
- },
519
- "searchOnFocus": {
520
- "type": "boolean",
521
- "description": "Component configuration for \"searchOnFocus\". When not handled internally, it is forwarded to the root element.",
522
- "default": null,
523
- "values": null,
524
- "category": "general"
525
- },
526
- "searchOnInput": {
527
- "type": "boolean",
528
- "description": "Component configuration for \"searchOnInput\". When not handled internally, it is forwarded to the root element.",
529
- "default": null,
530
- "values": null,
531
- "category": "general"
532
- },
533
- "searchOnMount": {
534
- "type": "boolean",
535
- "description": "Component configuration for \"searchOnMount\". When not handled internally, it is forwarded to the root element.",
536
- "default": null,
537
- "values": null,
538
- "category": "general"
539
- },
540
- "autoSearch": {
541
- "type": "Alias of searchOnMount",
542
- "description": "Component configuration for \"autoSearch\". When not handled internally, it is forwarded to the root element.",
543
- "default": null,
544
- "values": null,
545
- "category": "general"
546
- },
547
- "closeOnSelect": {
548
- "type": "boolean",
549
- "description": "Closes the menu/popover after selecting an item.",
550
- "default": null,
551
- "values": null,
552
- "category": "general"
553
- },
554
- "commitValue": {
555
- "type": "'label'|'value'|false",
556
- "description": "Component configuration for \"commitValue\". When not handled internally, it is forwarded to the root element.",
557
- "default": null,
558
- "values": null,
559
- "category": "general"
560
- },
561
- "disabled": {
562
- "type": "boolean|Function|rod",
563
- "description": "Disables interaction and applies disabled styling/ARIA.",
564
- "default": false,
565
- "values": null,
566
- "category": "state"
567
- },
568
- "readonly": {
569
- "type": "boolean|Function|rod",
570
- "description": "Prevents editing while keeping focus and selection.",
571
- "default": false,
572
- "values": null,
573
- "category": "state"
574
- },
575
- "loadingText": {
576
- "type": "string",
577
- "description": "Text displayed while loading.",
578
- "default": null,
579
- "values": null,
580
- "category": "general"
581
- },
582
- "emptyText": {
583
- "type": "string",
584
- "description": "Text shown when there is no data to display.",
585
- "default": null,
586
- "values": null,
587
- "category": "general"
588
- },
589
- "errorText": {
590
- "type": "string",
591
- "description": "Component configuration for \"errorText\". When not handled internally, it is forwarded to the root element.",
592
- "default": null,
593
- "values": null,
594
- "category": "general"
595
- },
596
- "startText": {
597
- "type": "string",
598
- "description": "Component configuration for \"startText\". When not handled internally, it is forwarded to the root element.",
599
- "default": null,
600
- "values": null,
601
- "category": "general"
602
- },
603
- "inputClass": {
604
- "type": "string",
605
- "description": "Component configuration for \"inputClass\". When not handled internally, it is forwarded to the root element.",
606
- "default": null,
607
- "values": null,
608
- "category": "general"
609
- },
610
- "menuClass": {
611
- "type": "string",
612
- "description": "Component configuration for \"menuClass\". When not handled internally, it is forwarded to the root element.",
613
- "default": null,
614
- "values": null,
615
- "category": "general"
616
- },
617
- "wrapClass": {
618
- "type": "string",
619
- "description": "Additional CSS classes applied to the outer wrapper.",
620
- "default": null,
621
- "values": null,
622
- "category": "general"
623
- },
624
- "children": {
625
- "type": "Node|Array|Function",
626
- "description": "Default child content (nodes, arrays, or render function).",
627
- "default": null,
628
- "values": null,
629
- "category": "general"
630
- }
10
+ "model": {"type": "rod | [get,set] signal", "description": "Two-way bound value (alias to value in some components).", "default": null, "values": null, "category": "data"},
11
+ "value": {"type": "string | rod | [get,set] signal", "description": "Current value (controlled).", "default": null, "values": null, "category": "data"},
12
+ "endpoint": {"type": "string | (query, ctx) => string", "description": "Component configuration for \"endpoint\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
13
+ "url": {"type": "Alias of endpoint", "description": "Component configuration for \"url\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
14
+ "method": {"type": "'GET' (internal)", "description": "Component configuration for \"method\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
15
+ "queryParam": {"type": "string (default: 'q')", "description": "Component configuration for \"queryParam\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
16
+ "params": {"type": "object | (query, ctx) => object", "description": "Component configuration for \"params\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
17
+ "headers": {"type": "object", "description": "Component configuration for \"headers\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
18
+ "credentials": {"type": "RequestCredentials", "description": "Component configuration for \"credentials\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
19
+ "parseResponse": {"type": "(Response) => Promise<any>", "description": "Component configuration for \"parseResponse\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
20
+ "mapResponse": {"type": "(payload, query) => Array", "description": "Component configuration for \"mapResponse\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
21
+ "items": {"type": "Array | (query, ctx) => Array|Promise<Array>", "description": "Array of items or nodes to render.", "default": null, "values": null, "category": "data"},
22
+ "options": {"type": "Local alias of items", "description": "Array of selectable options or option groups.", "default": null, "values": null, "category": "data"},
23
+ "suggestions": {"type": "Local alias of items", "description": "Component configuration for \"suggestions\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
24
+ "filter": {"type": "(item, query) => boolean", "description": "Component configuration for \"filter\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
25
+ "getLabel": {"type": "(item) => string", "description": "Component configuration for \"getLabel\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
26
+ "getValue": {"type": "(item) => any", "description": "Function to extract a value from an item object.", "default": null, "values": null, "category": "general"},
27
+ "minLength": {"type": "number (default: endpoint ? 1 : 0)", "description": "Component configuration for \"minLength\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
28
+ "debounce": {"type": "number ms (default: 250)", "description": "Component configuration for \"debounce\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
29
+ "cache": {"type": "boolean (default: true)", "description": "Component configuration for \"cache\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
30
+ "highlight": {"type": "boolean (default: true)", "description": "Component configuration for \"highlight\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
31
+ "clearable": {"type": "boolean", "description": "Shows a clear action to reset the current value.", "default": null, "values": null, "category": "general"},
32
+ "label": {"type": "String|Node|Function", "description": "Label text or node for the component.", "default": null, "values": null, "category": "general"},
33
+ "topLabel": {"type": "String|Node|Function", "description": "Label displayed above the control.", "default": null, "values": null, "category": "general"},
34
+ "placeholder": {"type": "string", "description": "Placeholder text for inputs.", "default": null, "values": null, "category": "general"},
35
+ "icon": {"type": "String|Node|Function (default: 'search')", "description": "Icon name or node rendered with the component.", "default": null, "values": ["#name_tabler", "name_material", "class"], "category": "general"},
36
+ "iconRight": {"type": "String|Node|Function", "description": "Icon name or node rendered on the right side of the component.", "default": null, "values": ["#name_tabler", "name_material", "class"], "category": "general"},
37
+ "shortcode": {"type": "string|Array<string>|object", "description": "Keyboard shortcut string, object, or array bound to the component action.", "default": null, "values": null, "category": "general"},
38
+ "showShortcode": {"type": "boolean", "description": "Displays the configured keyboard shortcut badge when the component supports it.", "default": null, "values": null, "category": "general"},
39
+ "openOnFocus": {"type": "boolean", "description": "Component configuration for \"openOnFocus\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
40
+ "searchOnFocus": {"type": "boolean", "description": "Component configuration for \"searchOnFocus\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
41
+ "searchOnInput": {"type": "boolean", "description": "Component configuration for \"searchOnInput\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
42
+ "searchOnMount": {"type": "boolean", "description": "Component configuration for \"searchOnMount\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
43
+ "autoSearch": {"type": "Alias of searchOnMount", "description": "Component configuration for \"autoSearch\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
44
+ "closeOnSelect": {"type": "boolean", "description": "Closes the menu/popover after selecting an item.", "default": null, "values": null, "category": "general"},
45
+ "commitValue": {"type": "'label'|'value'|false", "description": "Component configuration for \"commitValue\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
46
+ "disabled": {"type": "boolean|Function|rod", "description": "Disables interaction and applies disabled styling/ARIA.", "default": false, "values": null, "category": "state"},
47
+ "readonly": {"type": "boolean|Function|rod", "description": "Prevents editing while keeping focus and selection.", "default": false, "values": null, "category": "state"},
48
+ "loadingText": {"type": "string", "description": "Text displayed while loading.", "default": null, "values": null, "category": "general"},
49
+ "emptyText": {"type": "string", "description": "Text shown when there is no data to display.", "default": null, "values": null, "category": "general"},
50
+ "errorText": {"type": "string", "description": "Component configuration for \"errorText\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
51
+ "startText": {"type": "string", "description": "Component configuration for \"startText\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
52
+ "inputClass": {"type": "string", "description": "Component configuration for \"inputClass\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
53
+ "menuClass": {"type": "string", "description": "Component configuration for \"menuClass\". When not handled internally, it is forwarded to the root element.", "default": null, "values": null, "category": "general"},
54
+ "wrapClass": {"type": "string", "description": "Additional CSS classes applied to the outer wrapper.", "default": null, "values": null, "category": "general"},
55
+ "children": {"type": "Node|Array|Function", "description": "Default child content (nodes, arrays, or render function).", "default": null, "values": null, "category": "general"}
631
56
  },
632
57
  "slots": {
633
- "result": {
634
- "type": "Result renderer ({ item, index, active, label, value, query, select })",
635
- "description": "Slot content for \"result\". Accepts nodes, arrays, or render functions.",
636
- "default": null,
637
- "values": null,
638
- "category": "slot"
639
- },
640
- "empty": {
641
- "type": "Empty state ({ query })",
642
- "description": "Slot for empty-state content.",
643
- "default": null,
644
- "values": null,
645
- "category": "slot"
646
- },
647
- "loading": {
648
- "type": "Loading state ({ query })",
649
- "description": "Slot for loading state content.",
650
- "default": null,
651
- "values": null,
652
- "category": "state"
653
- },
654
- "error": {
655
- "type": "Error state ({ error, query })",
656
- "description": "Slot content for \"error\". Accepts nodes, arrays, or render functions.",
657
- "default": null,
658
- "values": null,
659
- "category": "state"
660
- },
661
- "label": {
662
- "type": "Floating label",
663
- "description": "Slot for label content.",
664
- "default": null,
665
- "values": null,
666
- "category": "slot"
667
- },
668
- "topLabel": {
669
- "type": "Top label",
670
- "description": "Slot for top label content.",
671
- "default": null,
672
- "values": null,
673
- "category": "slot"
674
- },
675
- "prefix": {
676
- "type": "Left addon",
677
- "description": "Slot for prefix content.",
678
- "default": null,
679
- "values": null,
680
- "category": "slot"
681
- },
682
- "suffix": {
683
- "type": "Right addon",
684
- "description": "Slot for suffix content.",
685
- "default": null,
686
- "values": null,
687
- "category": "slot"
688
- },
689
- "icon": {
690
- "type": "Left icon",
691
- "description": "Slot for icon content.",
692
- "default": null,
693
- "values": [
694
- "#name_tabler",
695
- "name_material",
696
- "class"
697
- ],
698
- "category": "slot"
699
- },
700
- "iconRight": {
701
- "type": "Right icon",
702
- "description": "Slot for right-aligned icon content.",
703
- "default": null,
704
- "values": [
705
- "#name_tabler",
706
- "name_material",
707
- "class"
708
- ],
709
- "category": "slot"
710
- },
711
- "shortcode": {
712
- "type": "Shortcut badge",
713
- "description": "Slot content for \"shortcode\". Accepts nodes, arrays, or render functions.",
714
- "default": null,
715
- "values": null,
716
- "category": "slot"
717
- },
718
- "clear": {
719
- "type": "Clear button",
720
- "description": "Slot for the clear control/content.",
721
- "default": null,
722
- "values": null,
723
- "category": "slot"
724
- }
58
+ "result": {"type": "Result renderer ({ item, index, active, label, value, query, select })", "description": "Slot content for \"result\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
59
+ "empty": {"type": "Empty state ({ query })", "description": "Slot for empty-state content.", "default": null, "values": null, "category": "slot"},
60
+ "loading": {"type": "Loading state ({ query })", "description": "Slot for loading state content.", "default": null, "values": null, "category": "state"},
61
+ "error": {"type": "Error state ({ error, query })", "description": "Slot content for \"error\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "state"},
62
+ "label": {"type": "Floating label", "description": "Slot for label content.", "default": null, "values": null, "category": "slot"},
63
+ "topLabel": {"type": "Top label", "description": "Slot for top label content.", "default": null, "values": null, "category": "slot"},
64
+ "prefix": {"type": "Left addon", "description": "Slot for prefix content.", "default": null, "values": null, "category": "slot"},
65
+ "suffix": {"type": "Right addon", "description": "Slot for suffix content.", "default": null, "values": null, "category": "slot"},
66
+ "icon": {"type": "Left icon", "description": "Slot for icon content.", "default": null, "values": ["#name_tabler", "name_material", "class"], "category": "slot"},
67
+ "iconRight": {"type": "Right icon", "description": "Slot for right-aligned icon content.", "default": null, "values": ["#name_tabler", "name_material", "class"], "category": "slot"},
68
+ "shortcode": {"type": "Shortcut badge", "description": "Slot content for \"shortcode\". Accepts nodes, arrays, or render functions.", "default": null, "values": null, "category": "slot"},
69
+ "clear": {"type": "Clear button", "description": "Slot for the clear control/content.", "default": null, "values": null, "category": "slot"}
725
70
  },
726
71
  "events": {
727
72
  "onInput": "(query, event)",
@@ -735,14 +80,8 @@ Exact JSswift UI metadata contract. Use only the props, slots, events, and metho
735
80
  "onFocus": "(event)",
736
81
  "onBlur": "(event)"
737
82
  },
738
- "keyboard": {
739
- "ArrowDown": "Opens/moves to the next result",
740
- "ArrowUp": "Moves to the previous result",
741
- "Enter": "Selects the active result or submits the query",
742
- "Escape": "Closes the overlay",
743
- "Cmd/Ctrl+Home": "First result",
744
- "Cmd/Ctrl+End": "Last result"
745
- },
746
- "returns": "HTMLDivElement (field wrapper) with ._input, ._open(), ._close(), ._searchNow(), ._getResults(), ._setValue(value), ._dispose()"
83
+ "keyboard": {"ArrowDown": "Opens/moves to the next result", "ArrowUp": "Moves to the previous result", "Enter": "Selects the active result or submits the query", "Escape": "Closes the overlay", "Cmd/Ctrl+Home": "First result", "Cmd/Ctrl+End": "Last result"},
84
+ "returns": "HTMLDivElement (field wrapper) with ._input, ._open(), ._close(), ._searchNow(), ._getResults(), ._setValue(value), ._dispose()",
85
+ "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"]}
747
86
  }
748
87
  ```