@mtdt/observeops-ds-elements 0.1.108 → 0.1.109

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.
@@ -0,0 +1,2163 @@
1
+ {
2
+ "$note": "The ACTUAL API of each obs-* web component (parsed from the element source), for tools that need to discover attributes/events without reverse-engineering the shadow DOM. Events deliver the value in event.detail as an ARRAY (unwrap detail[0]). `referenceOnly` = renders but has no functional data contract.",
3
+ "elements": {
4
+ "obs-button": {
5
+ "element": "ObsButton",
6
+ "referenceOnly": false,
7
+ "attributes": [
8
+ {
9
+ "prop": "variant",
10
+ "attribute": "variant",
11
+ "type": "String",
12
+ "default": "'primary'"
13
+ },
14
+ {
15
+ "prop": "size",
16
+ "attribute": "size",
17
+ "type": "String",
18
+ "default": "'default'"
19
+ },
20
+ {
21
+ "prop": "disabled",
22
+ "attribute": "disabled",
23
+ "type": "Boolean",
24
+ "default": "false"
25
+ },
26
+ {
27
+ "prop": "loading",
28
+ "attribute": "loading",
29
+ "type": "Boolean",
30
+ "default": "false"
31
+ },
32
+ {
33
+ "prop": "outline",
34
+ "attribute": "outline",
35
+ "type": "Boolean",
36
+ "default": "false"
37
+ },
38
+ {
39
+ "prop": "square",
40
+ "attribute": "square",
41
+ "type": "Boolean",
42
+ "default": "false"
43
+ },
44
+ {
45
+ "prop": "block",
46
+ "attribute": "block",
47
+ "type": "Boolean",
48
+ "default": "false"
49
+ },
50
+ {
51
+ "prop": "shape",
52
+ "attribute": "shape",
53
+ "type": "String",
54
+ "default": "''",
55
+ "note": "'circle' → rounded-square icon button"
56
+ },
57
+ {
58
+ "prop": "squared",
59
+ "attribute": "squared",
60
+ "type": "Boolean",
61
+ "default": "false",
62
+ "note": ".squared-button 35×35"
63
+ }
64
+ ],
65
+ "events": []
66
+ },
67
+ "obs-tag": {
68
+ "element": "ObsTag",
69
+ "referenceOnly": false,
70
+ "attributes": [
71
+ {
72
+ "prop": "variant",
73
+ "attribute": "variant",
74
+ "type": "String",
75
+ "default": "'tag-primary'"
76
+ },
77
+ {
78
+ "prop": "closable",
79
+ "attribute": "closable",
80
+ "type": "Boolean",
81
+ "default": "false"
82
+ },
83
+ {
84
+ "prop": "rounded",
85
+ "attribute": "rounded",
86
+ "type": "Boolean",
87
+ "default": "false"
88
+ },
89
+ {
90
+ "prop": "disabled",
91
+ "attribute": "disabled",
92
+ "type": "Boolean",
93
+ "default": "false"
94
+ },
95
+ {
96
+ "prop": "status",
97
+ "attribute": "status",
98
+ "type": "String",
99
+ "default": "''",
100
+ "note": "when set → status-tag mode"
101
+ },
102
+ {
103
+ "prop": "forcePrimary",
104
+ "attribute": "force-primary",
105
+ "type": "Boolean",
106
+ "default": "false"
107
+ },
108
+ {
109
+ "prop": "compliance",
110
+ "attribute": "compliance",
111
+ "type": "Boolean",
112
+ "default": "false",
113
+ "note": ".compliance-tag-padding (wider horizontal padding)"
114
+ },
115
+ {
116
+ "prop": "numeric",
117
+ "attribute": "numeric",
118
+ "type": "Boolean",
119
+ "default": "false",
120
+ "note": "count/metric tag — JetBrains Mono + tabular figures (.numeric-value)"
121
+ },
122
+ {
123
+ "prop": "confirmable",
124
+ "attribute": "confirmable",
125
+ "type": "Boolean",
126
+ "default": "false",
127
+ "note": "ask before removing (registry: confirmable + confirm-title)"
128
+ },
129
+ {
130
+ "prop": "confirmTitle",
131
+ "attribute": "confirm-title",
132
+ "type": "String",
133
+ "default": "'Are you sure?'"
134
+ }
135
+ ],
136
+ "events": [
137
+ "close"
138
+ ]
139
+ },
140
+ "obs-checkbox": {
141
+ "element": "ObsCheckbox",
142
+ "referenceOnly": false,
143
+ "attributes": [
144
+ {
145
+ "prop": "checked",
146
+ "attribute": "checked",
147
+ "type": "Boolean",
148
+ "default": "false"
149
+ },
150
+ {
151
+ "prop": "disabled",
152
+ "attribute": "disabled",
153
+ "type": "Boolean",
154
+ "default": "false"
155
+ },
156
+ {
157
+ "prop": "indeterminate",
158
+ "attribute": "indeterminate",
159
+ "type": "Boolean",
160
+ "default": "false"
161
+ },
162
+ {
163
+ "prop": "value",
164
+ "attribute": "value",
165
+ "type": "String",
166
+ "default": "''",
167
+ "note": "passthrough id for grouping — readable via e.target.value"
168
+ }
169
+ ],
170
+ "events": [
171
+ "change"
172
+ ]
173
+ },
174
+ "obs-switch": {
175
+ "element": "ObsSwitch",
176
+ "referenceOnly": false,
177
+ "attributes": [
178
+ {
179
+ "prop": "checked",
180
+ "attribute": "checked",
181
+ "type": "Boolean",
182
+ "default": "false"
183
+ },
184
+ {
185
+ "prop": "size",
186
+ "attribute": "size",
187
+ "type": "String",
188
+ "default": "'default'"
189
+ },
190
+ {
191
+ "prop": "disabled",
192
+ "attribute": "disabled",
193
+ "type": "Boolean",
194
+ "default": "false"
195
+ },
196
+ {
197
+ "prop": "loading",
198
+ "attribute": "loading",
199
+ "type": "Boolean",
200
+ "default": "false"
201
+ },
202
+ {
203
+ "prop": "checkedText",
204
+ "attribute": "checked-text",
205
+ "type": "String"
206
+ },
207
+ {
208
+ "prop": "uncheckedText",
209
+ "attribute": "unchecked-text",
210
+ "type": "String"
211
+ }
212
+ ],
213
+ "events": [
214
+ "change"
215
+ ]
216
+ },
217
+ "obs-selected-pills": {
218
+ "element": "ObsSelectedPills",
219
+ "referenceOnly": false,
220
+ "attributes": [
221
+ {
222
+ "prop": "value",
223
+ "attribute": "value",
224
+ "type": "[String,Array]",
225
+ "default": "''"
226
+ },
227
+ {
228
+ "prop": "maxItems",
229
+ "attribute": "max-items",
230
+ "type": "Number",
231
+ "default": "1"
232
+ }
233
+ ],
234
+ "events": []
235
+ },
236
+ "obs-radio": {
237
+ "element": "ObsRadio",
238
+ "referenceOnly": false,
239
+ "attributes": [
240
+ {
241
+ "prop": "options",
242
+ "attribute": "options",
243
+ "type": "[String,Array]",
244
+ "note": "comma string, JSON string, OR a real JS array (el.options = [...])"
245
+ },
246
+ {
247
+ "prop": "value",
248
+ "attribute": "value",
249
+ "type": "String"
250
+ },
251
+ {
252
+ "prop": "asButton",
253
+ "attribute": "as-button",
254
+ "type": "Boolean",
255
+ "default": "false"
256
+ },
257
+ {
258
+ "prop": "severity",
259
+ "attribute": "severity",
260
+ "type": "Boolean",
261
+ "default": "false"
262
+ },
263
+ {
264
+ "prop": "size",
265
+ "attribute": "size",
266
+ "type": "String",
267
+ "default": "'default'"
268
+ },
269
+ {
270
+ "prop": "disabled",
271
+ "attribute": "disabled",
272
+ "type": "Boolean",
273
+ "default": "false"
274
+ },
275
+ {
276
+ "prop": "vertical",
277
+ "attribute": "vertical",
278
+ "type": "Boolean",
279
+ "default": "false"
280
+ }
281
+ ],
282
+ "events": [
283
+ "change"
284
+ ]
285
+ },
286
+ "obs-input": {
287
+ "element": "ObsInput",
288
+ "referenceOnly": false,
289
+ "attributes": [
290
+ {
291
+ "prop": "type",
292
+ "attribute": "type",
293
+ "type": "String",
294
+ "default": "'text'"
295
+ },
296
+ {
297
+ "prop": "value",
298
+ "attribute": "value",
299
+ "type": "String"
300
+ },
301
+ {
302
+ "prop": "label",
303
+ "attribute": "label",
304
+ "type": "String",
305
+ "note": "form-item label above the field (product FlotoFormItem pattern)"
306
+ },
307
+ {
308
+ "prop": "help",
309
+ "attribute": "help",
310
+ "type": "String",
311
+ "note": "helper/hint text below the field"
312
+ },
313
+ {
314
+ "prop": "placeholder",
315
+ "attribute": "placeholder",
316
+ "type": "String"
317
+ },
318
+ {
319
+ "prop": "disabled",
320
+ "attribute": "disabled",
321
+ "type": "Boolean",
322
+ "default": "false"
323
+ },
324
+ {
325
+ "prop": "readonly",
326
+ "attribute": "readonly",
327
+ "type": "Boolean",
328
+ "default": "false"
329
+ },
330
+ {
331
+ "prop": "required",
332
+ "attribute": "required",
333
+ "type": "Boolean",
334
+ "default": "false"
335
+ },
336
+ {
337
+ "prop": "error",
338
+ "attribute": "error",
339
+ "type": "Boolean",
340
+ "default": "false"
341
+ },
342
+ {
343
+ "prop": "errorMessage",
344
+ "attribute": "error-message",
345
+ "type": "String"
346
+ },
347
+ {
348
+ "prop": "allowClear",
349
+ "attribute": "allow-clear",
350
+ "type": "Boolean",
351
+ "default": "false"
352
+ },
353
+ {
354
+ "prop": "material",
355
+ "attribute": "material",
356
+ "type": "Boolean",
357
+ "default": "false"
358
+ },
359
+ {
360
+ "prop": "noBorder",
361
+ "attribute": "no-border",
362
+ "type": "Boolean",
363
+ "default": "false"
364
+ },
365
+ {
366
+ "prop": "block",
367
+ "attribute": "block",
368
+ "type": "Boolean",
369
+ "default": "false"
370
+ },
371
+ {
372
+ "prop": "prefixIcon",
373
+ "attribute": "prefix-icon",
374
+ "type": "String"
375
+ },
376
+ {
377
+ "prop": "suffixIcon",
378
+ "attribute": "suffix-icon",
379
+ "type": "String"
380
+ },
381
+ {
382
+ "prop": "prefix",
383
+ "attribute": "prefix",
384
+ "type": "String"
385
+ },
386
+ {
387
+ "prop": "suffix",
388
+ "attribute": "suffix",
389
+ "type": "String"
390
+ },
391
+ {
392
+ "prop": "addonBefore",
393
+ "attribute": "addon-before",
394
+ "type": "String"
395
+ },
396
+ {
397
+ "prop": "addonAfter",
398
+ "attribute": "addon-after",
399
+ "type": "String"
400
+ }
401
+ ],
402
+ "events": [
403
+ "input",
404
+ "change",
405
+ "search",
406
+ "enterKey"
407
+ ]
408
+ },
409
+ "obs-link": {
410
+ "element": "ObsLink",
411
+ "referenceOnly": false,
412
+ "attributes": [
413
+ {
414
+ "prop": "href",
415
+ "attribute": "href",
416
+ "type": "String"
417
+ },
418
+ {
419
+ "prop": "asButton",
420
+ "attribute": "as-button",
421
+ "type": "Boolean",
422
+ "default": "false"
423
+ },
424
+ {
425
+ "prop": "variant",
426
+ "attribute": "variant",
427
+ "type": "String",
428
+ "default": "'primary'"
429
+ },
430
+ {
431
+ "prop": "size",
432
+ "attribute": "size",
433
+ "type": "String",
434
+ "default": "'default'"
435
+ },
436
+ {
437
+ "prop": "external",
438
+ "attribute": "external",
439
+ "type": "Boolean",
440
+ "default": "false"
441
+ },
442
+ {
443
+ "prop": "kLink",
444
+ "attribute": "k-link",
445
+ "type": "Boolean",
446
+ "default": "false"
447
+ },
448
+ {
449
+ "prop": "muted",
450
+ "attribute": "muted",
451
+ "type": "Boolean",
452
+ "default": "false",
453
+ "note": "secondary/subdued link (e.g. a Cancel action) — lighter text, same dotted underline"
454
+ },
455
+ {
456
+ "prop": "disabled",
457
+ "attribute": "disabled",
458
+ "type": "Boolean",
459
+ "default": "false"
460
+ }
461
+ ],
462
+ "events": []
463
+ },
464
+ "obs-select": {
465
+ "element": "ObsSelect",
466
+ "referenceOnly": false,
467
+ "attributes": [
468
+ {
469
+ "prop": "options",
470
+ "attribute": "options",
471
+ "type": "[String,Array]",
472
+ "note": "comma string, JSON string, OR a real JS array (el.options = [...])"
473
+ },
474
+ {
475
+ "prop": "value",
476
+ "attribute": "value",
477
+ "type": "String"
478
+ },
479
+ {
480
+ "prop": "placeholder",
481
+ "attribute": "placeholder",
482
+ "type": "String"
483
+ },
484
+ {
485
+ "prop": "multiple",
486
+ "attribute": "multiple",
487
+ "type": "Boolean",
488
+ "default": "false"
489
+ },
490
+ {
491
+ "prop": "allowSelectAll",
492
+ "attribute": "allow-select-all",
493
+ "type": "Boolean",
494
+ "default": "false"
495
+ },
496
+ {
497
+ "prop": "allowClear",
498
+ "attribute": "allow-clear",
499
+ "type": "Boolean",
500
+ "default": "false"
501
+ },
502
+ {
503
+ "prop": "block",
504
+ "attribute": "block",
505
+ "type": "Boolean",
506
+ "default": "false",
507
+ "note": "full-width instead of the fixed 240px"
508
+ },
509
+ {
510
+ "prop": "searchable",
511
+ "attribute": "searchable",
512
+ "type": "String",
513
+ "note": "unset → AUTO (by option count); off via searchable=\"false\" / :searchable=\"false\""
514
+ },
515
+ {
516
+ "prop": "asInput",
517
+ "attribute": "as-input",
518
+ "type": "String",
519
+ "note": "unset → input mode; off via as-input=\"false\" / :as-input=\"false\""
520
+ },
521
+ {
522
+ "prop": "textOnly",
523
+ "attribute": "text-only",
524
+ "type": "Boolean",
525
+ "default": "false",
526
+ "note": "trigger STYLE — one enum consolidating the legacy asInput/textOnly + adding button/icon triggers."
527
+ },
528
+ {
529
+ "prop": "trigger",
530
+ "attribute": "trigger",
531
+ "type": "String",
532
+ "note": "input | text | button | icon | chip"
533
+ },
534
+ {
535
+ "prop": "triggerIcon",
536
+ "attribute": "trigger-icon",
537
+ "type": "String",
538
+ "note": "the glyph for the `icon` (and leading `button`) trigger; default chevronDown/ellipsisV"
539
+ },
540
+ {
541
+ "prop": "triggerLabel",
542
+ "attribute": "trigger-label",
543
+ "type": "String",
544
+ "note": "optional fixed label for the button/icon trigger (else the selection/placeholder)"
545
+ },
546
+ {
547
+ "prop": "disabled",
548
+ "attribute": "disabled",
549
+ "type": "Boolean",
550
+ "default": "false"
551
+ },
552
+ {
553
+ "prop": "loading",
554
+ "attribute": "loading",
555
+ "type": "Boolean",
556
+ "default": "false"
557
+ },
558
+ {
559
+ "prop": "disabledOptions",
560
+ "attribute": "disabled-options",
561
+ "type": "String"
562
+ },
563
+ {
564
+ "prop": "canUserAddOptions",
565
+ "attribute": "can-user-add-options",
566
+ "type": "Boolean",
567
+ "default": "false"
568
+ },
569
+ {
570
+ "prop": "addLabel",
571
+ "attribute": "add-label",
572
+ "type": "String"
573
+ },
574
+ {
575
+ "prop": "useAfterMenuDescription",
576
+ "attribute": "use-after-menu-description",
577
+ "type": "Boolean",
578
+ "default": "false"
579
+ },
580
+ {
581
+ "prop": "maxValues",
582
+ "attribute": "max-values",
583
+ "type": "Number",
584
+ "default": "0"
585
+ },
586
+ {
587
+ "prop": "maxItems",
588
+ "attribute": "max-items",
589
+ "type": "Number",
590
+ "default": "1",
591
+ "note": "read-only pills: how many before \"+N\""
592
+ },
593
+ {
594
+ "prop": "removeClearBtn",
595
+ "attribute": "remove-clear-btn",
596
+ "type": "Boolean",
597
+ "default": "false",
598
+ "note": "── column-chooser variant (the table show/hide-columns dropdown) ──"
599
+ },
600
+ {
601
+ "prop": "columns",
602
+ "attribute": "columns",
603
+ "type": "[String,Array]",
604
+ "default": "''",
605
+ "note": "[{key,label,checked?,locked?}] → column-chooser menu (drag-reorder + heading + reset)"
606
+ },
607
+ {
608
+ "prop": "heading",
609
+ "attribute": "heading",
610
+ "type": "String",
611
+ "default": "''",
612
+ "note": "section header at the top of the menu (e.g. \"COLUMNS\")"
613
+ },
614
+ {
615
+ "prop": "resetLabel",
616
+ "attribute": "reset-label",
617
+ "type": "String",
618
+ "default": "''",
619
+ "note": "reset-footer text ('' = no footer), e.g. \"Reset Column Preference\""
620
+ }
621
+ ],
622
+ "events": [
623
+ "change",
624
+ "show",
625
+ "hide",
626
+ "search",
627
+ "add",
628
+ "reorder",
629
+ "reset"
630
+ ]
631
+ },
632
+ "obs-severity": {
633
+ "element": "ObsSeverity",
634
+ "referenceOnly": false,
635
+ "attributes": [
636
+ {
637
+ "prop": "severity",
638
+ "attribute": "severity",
639
+ "type": "String",
640
+ "default": "'unknown'"
641
+ },
642
+ {
643
+ "prop": "shape",
644
+ "attribute": "shape",
645
+ "type": "String",
646
+ "default": "'dot'",
647
+ "note": "dot | chip | text | bg | stripe"
648
+ },
649
+ {
650
+ "prop": "displayText",
651
+ "attribute": "display-text",
652
+ "type": "Boolean",
653
+ "default": "false",
654
+ "note": "dot + capitalized label"
655
+ },
656
+ {
657
+ "prop": "value",
658
+ "attribute": "value",
659
+ "type": "String",
660
+ "note": "text/chip/bg display value (default = capitalized level)"
661
+ }
662
+ ],
663
+ "events": []
664
+ },
665
+ "obs-tags": {
666
+ "element": "ObsTags",
667
+ "referenceOnly": false,
668
+ "attributes": [
669
+ {
670
+ "prop": "type",
671
+ "attribute": "type",
672
+ "type": "String",
673
+ "default": "'loose'",
674
+ "note": "loose | select"
675
+ },
676
+ {
677
+ "prop": "value",
678
+ "attribute": "value",
679
+ "type": "String",
680
+ "default": "''",
681
+ "note": "comma-separated selected values"
682
+ },
683
+ {
684
+ "prop": "options",
685
+ "attribute": "options",
686
+ "type": "[String,Array]",
687
+ "default": "''",
688
+ "note": "select pick-list: comma/JSON string OR a real JS array"
689
+ },
690
+ {
691
+ "prop": "suggestions",
692
+ "attribute": "suggestions",
693
+ "type": "String",
694
+ "default": "''",
695
+ "note": "loose type: optional assist list"
696
+ },
697
+ {
698
+ "prop": "placeholder",
699
+ "attribute": "placeholder",
700
+ "type": "String",
701
+ "default": "''"
702
+ },
703
+ {
704
+ "prop": "disabled",
705
+ "attribute": "disabled",
706
+ "type": "Boolean",
707
+ "default": "false"
708
+ },
709
+ {
710
+ "prop": "loading",
711
+ "attribute": "loading",
712
+ "type": "Boolean",
713
+ "default": "false",
714
+ "note": "select: chevron → spinner, non-interactive"
715
+ },
716
+ {
717
+ "prop": "block",
718
+ "attribute": "block",
719
+ "type": "Boolean",
720
+ "default": "false",
721
+ "note": "full-width"
722
+ },
723
+ {
724
+ "prop": "lowercase",
725
+ "attribute": "lowercase",
726
+ "type": "String",
727
+ "default": "'true'",
728
+ "note": "loose default-true; off via lowercase=\"false\" / :lowercase=\"false\" (String type avoids Vue boolean-casting)"
729
+ }
730
+ ],
731
+ "events": [
732
+ "change"
733
+ ]
734
+ },
735
+ "obs-tooltip": {
736
+ "element": "ObsTooltip",
737
+ "referenceOnly": false,
738
+ "attributes": [
739
+ {
740
+ "prop": "placement",
741
+ "attribute": "placement",
742
+ "type": "String",
743
+ "default": "'top-start'",
744
+ "note": "top | top-start | top-end | bottom | left | right"
745
+ },
746
+ {
747
+ "prop": "disabled",
748
+ "attribute": "disabled",
749
+ "type": "Boolean",
750
+ "default": "false"
751
+ },
752
+ {
753
+ "prop": "chartLike",
754
+ "attribute": "chart-like",
755
+ "type": "Boolean",
756
+ "default": "false",
757
+ "note": "attr: chart-like"
758
+ },
759
+ {
760
+ "prop": "triggerLabel",
761
+ "attribute": "trigger-label",
762
+ "type": "String",
763
+ "default": "''",
764
+ "note": "text trigger (a button); else the info-circle ⓘ"
765
+ },
766
+ {
767
+ "prop": "open",
768
+ "attribute": "open",
769
+ "type": "Boolean",
770
+ "default": "false",
771
+ "note": "force-show the bubble (for the static examples)"
772
+ }
773
+ ],
774
+ "events": []
775
+ },
776
+ "obs-dataviz-tooltip": {
777
+ "element": "ObsDataVizTooltip",
778
+ "referenceOnly": false,
779
+ "attributes": [
780
+ {
781
+ "prop": "kind",
782
+ "attribute": "kind",
783
+ "type": "String",
784
+ "default": "'bar'"
785
+ },
786
+ {
787
+ "prop": "block",
788
+ "attribute": "block",
789
+ "type": "Boolean",
790
+ "default": "false",
791
+ "note": "stretch the card to the full width of its container"
792
+ }
793
+ ],
794
+ "events": []
795
+ },
796
+ "obs-date-time-picker": {
797
+ "element": "ObsDateTimePicker",
798
+ "referenceOnly": true,
799
+ "attributes": [
800
+ {
801
+ "prop": "kind",
802
+ "attribute": "kind",
803
+ "type": "String",
804
+ "default": "'range'",
805
+ "note": "range | range-presets | field-datetime | field-date | field-time | slider"
806
+ },
807
+ {
808
+ "prop": "disabled",
809
+ "attribute": "disabled",
810
+ "type": "Boolean",
811
+ "default": "false"
812
+ },
813
+ {
814
+ "prop": "bordered",
815
+ "attribute": "bordered",
816
+ "type": "Boolean",
817
+ "default": "false",
818
+ "note": "range trigger gets a --border-color frame"
819
+ },
820
+ {
821
+ "prop": "allowClear",
822
+ "attribute": "allow-clear",
823
+ "type": "Boolean",
824
+ "default": "false",
825
+ "note": "attr allow-clear → times-circle × on the range pill"
826
+ },
827
+ {
828
+ "prop": "empty",
829
+ "attribute": "empty",
830
+ "type": "Boolean",
831
+ "default": "false",
832
+ "note": "start with no selection (shows the 'Select Time' placeholder)"
833
+ },
834
+ {
835
+ "prop": "placeholder",
836
+ "attribute": "placeholder",
837
+ "type": "String",
838
+ "default": "''"
839
+ }
840
+ ],
841
+ "events": [
842
+ "change"
843
+ ]
844
+ },
845
+ "obs-filters": {
846
+ "element": "ObsFilters",
847
+ "referenceOnly": false,
848
+ "attributes": [
849
+ {
850
+ "prop": "kind",
851
+ "attribute": "kind",
852
+ "type": "String",
853
+ "default": "'bar'",
854
+ "note": "FUNCTIONAL CONTRACT (kind=\"bar\"): pass your own fields + read back the user's selection."
855
+ },
856
+ {
857
+ "prop": "fields",
858
+ "attribute": "fields",
859
+ "type": "[String,Array]",
860
+ "note": "[{ key, label, type:'enum'|'string', values:[…], selectAll? }] — array or JSON string"
861
+ },
862
+ {
863
+ "prop": "value",
864
+ "attribute": "value",
865
+ "type": "[String,Array]",
866
+ "note": "active conditions [{ field, operator, value }] — array or JSON string"
867
+ }
868
+ ],
869
+ "events": [
870
+ "change"
871
+ ]
872
+ },
873
+ "obs-drawer": {
874
+ "element": "ObsDrawer",
875
+ "referenceOnly": false,
876
+ "attributes": [
877
+ {
878
+ "prop": "open",
879
+ "attribute": "open",
880
+ "type": "Boolean",
881
+ "default": "false",
882
+ "note": "visibility (reflected to el.open)"
883
+ },
884
+ {
885
+ "prop": "title",
886
+ "attribute": "title",
887
+ "type": "String",
888
+ "default": "''",
889
+ "note": "header title text (or use the `title` slot)"
890
+ },
891
+ {
892
+ "prop": "width",
893
+ "attribute": "width",
894
+ "type": "[String,Number]",
895
+ "default": "'40%'",
896
+ "note": "Number → px; String %/px passthrough. Product: 360→40%→50-70%→85-96%"
897
+ },
898
+ {
899
+ "prop": "placement",
900
+ "attribute": "placement",
901
+ "type": "String",
902
+ "default": "'right'",
903
+ "note": "right | left"
904
+ },
905
+ {
906
+ "prop": "maskClosable",
907
+ "attribute": "mask-closable",
908
+ "type": "Boolean",
909
+ "default": "false",
910
+ "note": "product default: clicking the backdrop does NOT close"
911
+ },
912
+ {
913
+ "prop": "scrolledContent",
914
+ "attribute": "scrolled-content",
915
+ "type": "[Boolean,String]",
916
+ "default": "true",
917
+ "note": "wrap body in a scroll region; false = multi-pane (columns scroll)"
918
+ },
919
+ {
920
+ "prop": "usePadding",
921
+ "attribute": "use-padding",
922
+ "type": "Boolean",
923
+ "default": "false",
924
+ "note": "add horizontal body padding"
925
+ },
926
+ {
927
+ "prop": "escClosable",
928
+ "attribute": "esc-closable",
929
+ "type": "[Boolean,String]",
930
+ "default": "true",
931
+ "note": "Escape closes; esc-closable=\"false\" disables"
932
+ },
933
+ {
934
+ "prop": "footer",
935
+ "attribute": "footer",
936
+ "type": "String",
937
+ "default": "''"
938
+ }
939
+ ],
940
+ "events": [
941
+ "open",
942
+ "close",
943
+ "after-close",
944
+ "update:open",
945
+ "footer-action"
946
+ ]
947
+ },
948
+ "obs-icon": {
949
+ "element": "ObsIcon",
950
+ "referenceOnly": false,
951
+ "attributes": [
952
+ {
953
+ "prop": "name",
954
+ "attribute": "name",
955
+ "type": "String",
956
+ "default": "''",
957
+ "note": "icon key from the library (e.g. 'vm', 'docker', 'search')"
958
+ },
959
+ {
960
+ "prop": "size",
961
+ "attribute": "size",
962
+ "type": "[String,Number]",
963
+ "default": "16",
964
+ "note": "px (number/plain digits) or any CSS length (e.g. '1.2em')"
965
+ },
966
+ {
967
+ "prop": "label",
968
+ "attribute": "label",
969
+ "type": "String",
970
+ "default": "''",
971
+ "note": "accessible name; empty → decorative (aria-hidden)"
972
+ }
973
+ ],
974
+ "events": []
975
+ },
976
+ "obs-grid-select": {
977
+ "element": "ObsGridSelect",
978
+ "referenceOnly": false,
979
+ "attributes": [
980
+ {
981
+ "prop": "columns",
982
+ "attribute": "columns",
983
+ "type": "[String,Array]",
984
+ "default": "''",
985
+ "note": "[{key,title,width?,align?,sortable?,type?}] JSON/array"
986
+ },
987
+ {
988
+ "prop": "rows",
989
+ "attribute": "rows",
990
+ "type": "[String,Array]",
991
+ "default": "''",
992
+ "note": "[{id, …}] JSON/array"
993
+ },
994
+ {
995
+ "prop": "value",
996
+ "attribute": "value",
997
+ "type": "[String,Array]",
998
+ "default": "''",
999
+ "note": "selected id (single) or comma/JSON ids (multi)"
1000
+ },
1001
+ {
1002
+ "prop": "multiple",
1003
+ "attribute": "multiple",
1004
+ "type": "Boolean",
1005
+ "default": "false"
1006
+ },
1007
+ {
1008
+ "prop": "placeholder",
1009
+ "attribute": "placeholder",
1010
+ "type": "String",
1011
+ "default": "'Select'"
1012
+ },
1013
+ {
1014
+ "prop": "rowKey",
1015
+ "attribute": "row-key",
1016
+ "type": "String",
1017
+ "default": "'id'"
1018
+ },
1019
+ {
1020
+ "prop": "searchable",
1021
+ "attribute": "searchable",
1022
+ "type": "[Boolean,String]",
1023
+ "default": "true"
1024
+ },
1025
+ {
1026
+ "prop": "disabled",
1027
+ "attribute": "disabled",
1028
+ "type": "Boolean",
1029
+ "default": "false"
1030
+ },
1031
+ {
1032
+ "prop": "block",
1033
+ "attribute": "block",
1034
+ "type": "Boolean",
1035
+ "default": "false"
1036
+ }
1037
+ ],
1038
+ "events": [
1039
+ "change",
1040
+ "search",
1041
+ "show",
1042
+ "hide"
1043
+ ]
1044
+ },
1045
+ "obs-menu": {
1046
+ "element": "ObsMenu",
1047
+ "referenceOnly": false,
1048
+ "attributes": [
1049
+ {
1050
+ "prop": "items",
1051
+ "attribute": "items",
1052
+ "type": "[String,Array]",
1053
+ "default": "''",
1054
+ "note": "[{key,label,icon?,danger?,positive?,divider?,disabled?,selected?}]"
1055
+ },
1056
+ {
1057
+ "prop": "mode",
1058
+ "attribute": "mode",
1059
+ "type": "String",
1060
+ "default": "'context'",
1061
+ "note": "context (⋯/button trigger) | inline (render list in place)"
1062
+ },
1063
+ {
1064
+ "prop": "trigger",
1065
+ "attribute": "trigger",
1066
+ "type": "String",
1067
+ "default": "'dots'",
1068
+ "note": "dots (⋯) | button — the context trigger style"
1069
+ },
1070
+ {
1071
+ "prop": "bordered",
1072
+ "attribute": "bordered",
1073
+ "type": "[Boolean,String]",
1074
+ "default": "false",
1075
+ "note": "give the ⋯ dots trigger a border (a bordered kebab button)"
1076
+ },
1077
+ {
1078
+ "prop": "label",
1079
+ "attribute": "label",
1080
+ "type": "String",
1081
+ "default": "'Actions'",
1082
+ "note": "button-trigger label"
1083
+ },
1084
+ {
1085
+ "prop": "placement",
1086
+ "attribute": "placement",
1087
+ "type": "String",
1088
+ "default": "'bottom-end'",
1089
+ "note": "bottom-end (product bottomRight) | bottom-start"
1090
+ },
1091
+ {
1092
+ "prop": "disabled",
1093
+ "attribute": "disabled",
1094
+ "type": "Boolean",
1095
+ "default": "false"
1096
+ }
1097
+ ],
1098
+ "events": [
1099
+ "select",
1100
+ "show",
1101
+ "hide"
1102
+ ]
1103
+ },
1104
+ "obs-color-picker": {
1105
+ "element": "ObsColorPicker",
1106
+ "referenceOnly": false,
1107
+ "attributes": [
1108
+ {
1109
+ "prop": "value",
1110
+ "attribute": "value",
1111
+ "type": "String",
1112
+ "default": "'#0D9488'",
1113
+ "note": "hex or 'transparent'"
1114
+ },
1115
+ {
1116
+ "prop": "presets",
1117
+ "attribute": "presets",
1118
+ "type": "[String,Array]",
1119
+ "default": "''",
1120
+ "note": "override the 16-colour palette (JSON/array/comma)"
1121
+ },
1122
+ {
1123
+ "prop": "allowTransparent",
1124
+ "attribute": "allow-transparent",
1125
+ "type": "[Boolean,String]",
1126
+ "default": "false",
1127
+ "note": "offer a no-fill (transparent) option"
1128
+ },
1129
+ {
1130
+ "prop": "hideArrow",
1131
+ "attribute": "hide-arrow",
1132
+ "type": "[Boolean,String]",
1133
+ "default": "false",
1134
+ "note": "hide the chevron next to the swatch"
1135
+ },
1136
+ {
1137
+ "prop": "disabled",
1138
+ "attribute": "disabled",
1139
+ "type": "Boolean",
1140
+ "default": "false"
1141
+ }
1142
+ ],
1143
+ "events": [
1144
+ "change",
1145
+ "show",
1146
+ "hide"
1147
+ ]
1148
+ },
1149
+ "obs-table": {
1150
+ "element": "ObsTable",
1151
+ "referenceOnly": false,
1152
+ "attributes": [
1153
+ {
1154
+ "prop": "columns",
1155
+ "attribute": "columns",
1156
+ "type": "[String,Array]",
1157
+ "default": "''",
1158
+ "note": "[{key,title,width?,align?,sortable?,type?,cls?}] JSON/array"
1159
+ },
1160
+ {
1161
+ "prop": "rows",
1162
+ "attribute": "rows",
1163
+ "type": "[String,Array]",
1164
+ "default": "''",
1165
+ "note": "[{id, …}] JSON/array"
1166
+ },
1167
+ {
1168
+ "prop": "rowKey",
1169
+ "attribute": "row-key",
1170
+ "type": "String",
1171
+ "default": "'id'"
1172
+ },
1173
+ {
1174
+ "prop": "headerStyle",
1175
+ "attribute": "header-style",
1176
+ "type": "String",
1177
+ "default": "'default'",
1178
+ "note": "default (transparent .k-grid) | tinted (.item-list-table)"
1179
+ },
1180
+ {
1181
+ "prop": "selectable",
1182
+ "attribute": "selectable",
1183
+ "type": "Boolean",
1184
+ "default": "false",
1185
+ "note": "checkbox column + select-all (composes obs-checkbox)"
1186
+ },
1187
+ {
1188
+ "prop": "selected",
1189
+ "attribute": "selected",
1190
+ "type": "[String,Array]",
1191
+ "default": "''",
1192
+ "note": "selected id array; reflects to el.selected (JSON)"
1193
+ },
1194
+ {
1195
+ "prop": "hideSelectionInfo",
1196
+ "attribute": "hide-selection-info",
1197
+ "type": "Boolean",
1198
+ "default": "false",
1199
+ "note": "hide the \"N items selected\" tag"
1200
+ },
1201
+ {
1202
+ "prop": "rowActions",
1203
+ "attribute": "row-actions",
1204
+ "type": "[String,Array]",
1205
+ "default": "''",
1206
+ "note": "[{key,label,icon,danger?}] → a ⋯ actions menu per row"
1207
+ },
1208
+ {
1209
+ "prop": "expandable",
1210
+ "attribute": "expandable",
1211
+ "type": "Boolean",
1212
+ "default": "false",
1213
+ "note": "a chevron column; each row's `detail` (HTML) opens below"
1214
+ },
1215
+ {
1216
+ "prop": "groupBy",
1217
+ "attribute": "group-by",
1218
+ "type": "String",
1219
+ "default": "''",
1220
+ "note": "group rows under collapsible group-header rows by a column key"
1221
+ },
1222
+ {
1223
+ "prop": "groupCollapsible",
1224
+ "attribute": "group-collapsible",
1225
+ "type": "[Boolean,String]",
1226
+ "default": "true",
1227
+ "note": "false → pivot / report grid: no chevron, all rows always shown"
1228
+ },
1229
+ {
1230
+ "prop": "tree",
1231
+ "attribute": "tree",
1232
+ "type": "Boolean",
1233
+ "default": "false",
1234
+ "note": "hierarchical rows: each row has `children`; chevron + indent per level"
1235
+ },
1236
+ {
1237
+ "prop": "editable",
1238
+ "attribute": "editable",
1239
+ "type": "Boolean",
1240
+ "default": "false",
1241
+ "note": "inline editing: a pencil per row; editable columns become obs-inputs + Save/Cancel"
1242
+ },
1243
+ {
1244
+ "prop": "variant",
1245
+ "attribute": "variant",
1246
+ "type": "String",
1247
+ "default": "\"default\"",
1248
+ "note": "default | bordered (internal grid, no outer frame) | borderless-rows (no row dividers, airy)"
1249
+ },
1250
+ {
1251
+ "prop": "hideHeader",
1252
+ "attribute": "hide-header",
1253
+ "type": "Boolean",
1254
+ "default": "false",
1255
+ "note": "hide the header row (compact widget grids)"
1256
+ },
1257
+ {
1258
+ "prop": "sortable",
1259
+ "attribute": "sortable",
1260
+ "type": "[Boolean,String]",
1261
+ "default": "true",
1262
+ "note": "false/\"false\" turns column sorting off (default on)"
1263
+ },
1264
+ {
1265
+ "prop": "sort",
1266
+ "attribute": "sort",
1267
+ "type": "String",
1268
+ "default": "''",
1269
+ "note": "initial sort \"key:asc|desc\" (the product's default-sort)"
1270
+ },
1271
+ {
1272
+ "prop": "pageSize",
1273
+ "attribute": "page-size",
1274
+ "type": "Number",
1275
+ "default": "0",
1276
+ "note": "0 → no pagination; product default is 50"
1277
+ },
1278
+ {
1279
+ "prop": "page",
1280
+ "attribute": "page",
1281
+ "type": "Number",
1282
+ "default": "1"
1283
+ },
1284
+ {
1285
+ "prop": "loading",
1286
+ "attribute": "loading",
1287
+ "type": "Boolean",
1288
+ "default": "false"
1289
+ },
1290
+ {
1291
+ "prop": "emptyText",
1292
+ "attribute": "empty-text",
1293
+ "type": "String",
1294
+ "default": "'No records found'"
1295
+ }
1296
+ ],
1297
+ "events": [
1298
+ "change",
1299
+ "sort",
1300
+ "rowaction",
1301
+ "pagechange",
1302
+ "rowclick",
1303
+ "edit",
1304
+ "save",
1305
+ "canceledit"
1306
+ ]
1307
+ },
1308
+ "obs-modal": {
1309
+ "element": "ObsModal",
1310
+ "referenceOnly": false,
1311
+ "attributes": [
1312
+ {
1313
+ "prop": "open",
1314
+ "attribute": "open",
1315
+ "type": "Boolean",
1316
+ "default": "false"
1317
+ },
1318
+ {
1319
+ "prop": "title",
1320
+ "attribute": "title",
1321
+ "type": "String",
1322
+ "default": "''"
1323
+ },
1324
+ {
1325
+ "prop": "width",
1326
+ "attribute": "width",
1327
+ "type": "[Number,String]",
1328
+ "default": "560"
1329
+ },
1330
+ {
1331
+ "prop": "variant",
1332
+ "attribute": "variant",
1333
+ "type": "String",
1334
+ "default": "'default'",
1335
+ "note": "default | confirm (icon + message + Cancel/action)"
1336
+ },
1337
+ {
1338
+ "prop": "icon",
1339
+ "attribute": "icon",
1340
+ "type": "String",
1341
+ "default": "''",
1342
+ "note": "confirm-variant icon (a library key, e.g. timesCircle)"
1343
+ },
1344
+ {
1345
+ "prop": "confirmText",
1346
+ "attribute": "confirm-text",
1347
+ "type": "String",
1348
+ "default": "'Save'"
1349
+ },
1350
+ {
1351
+ "prop": "cancelText",
1352
+ "attribute": "cancel-text",
1353
+ "type": "String",
1354
+ "default": "'Cancel'"
1355
+ },
1356
+ {
1357
+ "prop": "confirmVariant",
1358
+ "attribute": "confirm-variant",
1359
+ "type": "String",
1360
+ "default": "'primary'",
1361
+ "note": "the footer confirm button variant (primary | error | …)"
1362
+ },
1363
+ {
1364
+ "prop": "hideFooter",
1365
+ "attribute": "hide-footer",
1366
+ "type": "[Boolean,String]",
1367
+ "default": "false"
1368
+ },
1369
+ {
1370
+ "prop": "noPadding",
1371
+ "attribute": "no-padding",
1372
+ "type": "[Boolean,String]",
1373
+ "default": "false",
1374
+ "note": "full-bleed body (8px)"
1375
+ },
1376
+ {
1377
+ "prop": "scrollable",
1378
+ "attribute": "scrollable",
1379
+ "type": "[Boolean,String]",
1380
+ "default": "false",
1381
+ "note": "fixed-height body with its own scroll"
1382
+ },
1383
+ {
1384
+ "prop": "restrictWidth",
1385
+ "attribute": "restrict-width",
1386
+ "type": "[Boolean,String]",
1387
+ "default": "false",
1388
+ "note": "force 1020px (wide/compare modal)"
1389
+ },
1390
+ {
1391
+ "prop": "escClosable",
1392
+ "attribute": "esc-closable",
1393
+ "type": "[Boolean,String]",
1394
+ "default": "true"
1395
+ },
1396
+ {
1397
+ "prop": "maskClosable",
1398
+ "attribute": "mask-closable",
1399
+ "type": "[Boolean,String]",
1400
+ "default": "false",
1401
+ "note": "product default: backdrop does NOT close"
1402
+ }
1403
+ ],
1404
+ "events": [
1405
+ "confirm",
1406
+ "cancel",
1407
+ "close",
1408
+ "show",
1409
+ "hide"
1410
+ ]
1411
+ },
1412
+ "obs-metric-list": {
1413
+ "element": "ObsMetricList",
1414
+ "referenceOnly": false,
1415
+ "attributes": [],
1416
+ "events": []
1417
+ },
1418
+ "obs-key-value": {
1419
+ "element": "ObsKeyValue",
1420
+ "referenceOnly": false,
1421
+ "attributes": [
1422
+ {
1423
+ "prop": "items",
1424
+ "attribute": "items",
1425
+ "type": "[String,Array]",
1426
+ "default": "''"
1427
+ },
1428
+ {
1429
+ "prop": "columns",
1430
+ "attribute": "columns",
1431
+ "type": "[Number,String]",
1432
+ "default": "1",
1433
+ "note": "1 | 2 — pairs per row"
1434
+ },
1435
+ {
1436
+ "prop": "variant",
1437
+ "attribute": "variant",
1438
+ "type": "String",
1439
+ "default": "'card'",
1440
+ "note": "card | plain"
1441
+ }
1442
+ ],
1443
+ "events": []
1444
+ },
1445
+ "obs-layout-appshell": {
1446
+ "element": "ObsLayoutAppShell",
1447
+ "referenceOnly": true,
1448
+ "attributes": [
1449
+ {
1450
+ "prop": "sidebar",
1451
+ "attribute": "sidebar",
1452
+ "type": "Boolean",
1453
+ "default": "false"
1454
+ },
1455
+ {
1456
+ "prop": "header",
1457
+ "attribute": "header",
1458
+ "type": "Boolean",
1459
+ "default": "false"
1460
+ },
1461
+ {
1462
+ "prop": "overlay",
1463
+ "attribute": "overlay",
1464
+ "type": "Boolean",
1465
+ "default": "false"
1466
+ },
1467
+ {
1468
+ "prop": "empty",
1469
+ "attribute": "empty",
1470
+ "type": "Boolean",
1471
+ "default": "false"
1472
+ },
1473
+ {
1474
+ "prop": "anatomy",
1475
+ "attribute": "anatomy",
1476
+ "type": "Boolean",
1477
+ "default": "false",
1478
+ "note": "the annotated region-callout diagram"
1479
+ }
1480
+ ],
1481
+ "events": []
1482
+ },
1483
+ "obs-layout-grid": {
1484
+ "element": "ObsLayoutGrid",
1485
+ "referenceOnly": true,
1486
+ "attributes": [
1487
+ {
1488
+ "prop": "size",
1489
+ "attribute": "size",
1490
+ "type": "[String,Number]",
1491
+ "default": "6"
1492
+ },
1493
+ {
1494
+ "prop": "gutter",
1495
+ "attribute": "gutter",
1496
+ "type": "Boolean",
1497
+ "default": "false"
1498
+ },
1499
+ {
1500
+ "prop": "autoSize",
1501
+ "attribute": "auto-size",
1502
+ "type": "Boolean",
1503
+ "default": "false"
1504
+ }
1505
+ ],
1506
+ "events": []
1507
+ },
1508
+ "obs-layout-regions": {
1509
+ "element": "ObsLayoutRegions",
1510
+ "referenceOnly": true,
1511
+ "attributes": [
1512
+ {
1513
+ "prop": "shape",
1514
+ "attribute": "shape",
1515
+ "type": "String",
1516
+ "default": "'two-pane'",
1517
+ "note": "single|two-pane|master-detail|dashboard|three-pane|chart-over-grid"
1518
+ },
1519
+ {
1520
+ "prop": "toolbar",
1521
+ "attribute": "toolbar",
1522
+ "type": "Boolean",
1523
+ "default": "false"
1524
+ },
1525
+ {
1526
+ "prop": "footer",
1527
+ "attribute": "footer",
1528
+ "type": "Boolean",
1529
+ "default": "false"
1530
+ },
1531
+ {
1532
+ "prop": "callouts",
1533
+ "attribute": "callouts",
1534
+ "type": "Boolean",
1535
+ "default": "false",
1536
+ "note": "the annotated region-stack wireframe"
1537
+ }
1538
+ ],
1539
+ "events": []
1540
+ },
1541
+ "obs-layout-shells": {
1542
+ "element": "ObsLayoutShells",
1543
+ "referenceOnly": true,
1544
+ "attributes": [],
1545
+ "events": []
1546
+ },
1547
+ "obs-layout-page-templates": {
1548
+ "element": "ObsLayoutPageTemplates",
1549
+ "referenceOnly": true,
1550
+ "attributes": [],
1551
+ "events": []
1552
+ },
1553
+ "obs-layout-panels": {
1554
+ "element": "ObsLayoutPanels",
1555
+ "referenceOnly": true,
1556
+ "attributes": [],
1557
+ "events": []
1558
+ },
1559
+ "obs-tabs": {
1560
+ "element": "ObsTabs",
1561
+ "referenceOnly": false,
1562
+ "attributes": [
1563
+ {
1564
+ "prop": "tabs",
1565
+ "attribute": "tabs",
1566
+ "type": "String",
1567
+ "default": "''",
1568
+ "note": "JSON array of {key,label,count?,icon?,disabled?} OR \"A,B,C\""
1569
+ },
1570
+ {
1571
+ "prop": "value",
1572
+ "attribute": "value",
1573
+ "type": "String",
1574
+ "default": "''",
1575
+ "note": "active key"
1576
+ },
1577
+ {
1578
+ "prop": "variant",
1579
+ "attribute": "variant",
1580
+ "type": "String",
1581
+ "default": "''",
1582
+ "note": "'' | 'no-border' | 'sticky' | 'grey'"
1583
+ },
1584
+ {
1585
+ "prop": "persistKey",
1586
+ "attribute": "persist-key",
1587
+ "type": "String",
1588
+ "default": "''",
1589
+ "note": "persist the active tab in localStorage under `${persistKey}-tab`"
1590
+ }
1591
+ ],
1592
+ "events": [
1593
+ "change"
1594
+ ]
1595
+ },
1596
+ "obs-steps": {
1597
+ "element": "ObsSteps",
1598
+ "referenceOnly": false,
1599
+ "attributes": [
1600
+ {
1601
+ "prop": "items",
1602
+ "attribute": "items",
1603
+ "type": "[String,Array]",
1604
+ "default": "''",
1605
+ "note": "[{label, description?, status?}] or [\"A\",\"B\",…]"
1606
+ },
1607
+ {
1608
+ "prop": "active",
1609
+ "attribute": "active",
1610
+ "type": "[Number,String]",
1611
+ "default": "0",
1612
+ "note": "current step index (0-based)"
1613
+ },
1614
+ {
1615
+ "prop": "direction",
1616
+ "attribute": "direction",
1617
+ "type": "String",
1618
+ "default": "'horizontal'",
1619
+ "note": "horizontal | vertical"
1620
+ },
1621
+ {
1622
+ "prop": "variant",
1623
+ "attribute": "variant",
1624
+ "type": "String",
1625
+ "default": "'number'",
1626
+ "note": "number (circle+index) | dot (compact)"
1627
+ },
1628
+ {
1629
+ "prop": "size",
1630
+ "attribute": "size",
1631
+ "type": "String",
1632
+ "default": "'default'",
1633
+ "note": "default | small"
1634
+ },
1635
+ {
1636
+ "prop": "fill",
1637
+ "attribute": "fill",
1638
+ "type": "String",
1639
+ "default": "'solid'",
1640
+ "note": "solid (filled circle) | outline (lined circle)"
1641
+ },
1642
+ {
1643
+ "prop": "connector",
1644
+ "attribute": "connector",
1645
+ "type": "String",
1646
+ "default": "'line'",
1647
+ "note": "line (default) | none (hide the connecting lines)"
1648
+ },
1649
+ {
1650
+ "prop": "completed",
1651
+ "attribute": "completed",
1652
+ "type": "String",
1653
+ "default": "'primary'",
1654
+ "note": "completed-marker colour: primary (black/navy) | green"
1655
+ },
1656
+ {
1657
+ "prop": "compact",
1658
+ "attribute": "compact",
1659
+ "type": "[Boolean,String]",
1660
+ "default": "false",
1661
+ "note": "hide labels/descriptions → a circles-only progress track"
1662
+ },
1663
+ {
1664
+ "prop": "clickable",
1665
+ "attribute": "clickable",
1666
+ "type": "[Boolean,String]",
1667
+ "default": "false",
1668
+ "note": "done/current steps navigate on click (emits change)"
1669
+ },
1670
+ {
1671
+ "prop": "status",
1672
+ "attribute": "status",
1673
+ "type": "String",
1674
+ "default": "'process'",
1675
+ "note": "status of the CURRENT step (process|error|finish|wait)"
1676
+ }
1677
+ ],
1678
+ "events": [
1679
+ "change"
1680
+ ]
1681
+ },
1682
+ "obs-page-header": {
1683
+ "element": "ObsPageHeader",
1684
+ "referenceOnly": false,
1685
+ "attributes": [
1686
+ {
1687
+ "prop": "heading",
1688
+ "attribute": "heading",
1689
+ "type": "String",
1690
+ "default": "''",
1691
+ "note": "the page title (not `title` — that sets a native tooltip)"
1692
+ },
1693
+ {
1694
+ "prop": "subtitle",
1695
+ "attribute": "subtitle",
1696
+ "type": "String",
1697
+ "default": "''",
1698
+ "note": "optional secondary line under the title (detail/drawer headers)"
1699
+ },
1700
+ {
1701
+ "prop": "count",
1702
+ "attribute": "count",
1703
+ "type": "[String,Number]",
1704
+ "default": "null",
1705
+ "note": "optional count pill next to the title"
1706
+ },
1707
+ {
1708
+ "prop": "meta",
1709
+ "attribute": "meta",
1710
+ "type": "String",
1711
+ "default": "''",
1712
+ "note": "detail-header attribute strip: JSON [{label?,value,icon?,status?}]"
1713
+ },
1714
+ {
1715
+ "prop": "accent",
1716
+ "attribute": "accent",
1717
+ "type": "String",
1718
+ "default": "''",
1719
+ "note": "left stripe colour: a severity level (up/critical/…) or a colour token"
1720
+ },
1721
+ {
1722
+ "prop": "back",
1723
+ "attribute": "back",
1724
+ "type": "[Boolean,String]",
1725
+ "default": "false",
1726
+ "note": "show the back chevron button (fires `back` on click)"
1727
+ },
1728
+ {
1729
+ "prop": "noDivider",
1730
+ "attribute": "no-divider",
1731
+ "type": "[Boolean,String]",
1732
+ "default": "false",
1733
+ "note": "remove the bottom rule (default: shown, per the 54× render)"
1734
+ }
1735
+ ],
1736
+ "events": []
1737
+ },
1738
+ "obs-app-header": {
1739
+ "element": "ObsAppHeader",
1740
+ "referenceOnly": false,
1741
+ "attributes": [
1742
+ {
1743
+ "prop": "brand",
1744
+ "attribute": "brand",
1745
+ "type": "String",
1746
+ "default": "''",
1747
+ "note": "brand text (or use the `brand` slot for a logo image)"
1748
+ },
1749
+ {
1750
+ "prop": "actions",
1751
+ "attribute": "actions",
1752
+ "type": "String",
1753
+ "default": "''",
1754
+ "note": "JSON [{icon,label,badge?,active?}] → circular icon buttons"
1755
+ },
1756
+ {
1757
+ "prop": "build",
1758
+ "attribute": "build",
1759
+ "type": "String",
1760
+ "default": "''",
1761
+ "note": "BUILD version tag text, e.g. \"8.0.0\" → \"BUILD : 8.0.0\""
1762
+ },
1763
+ {
1764
+ "prop": "user",
1765
+ "attribute": "user",
1766
+ "type": "String",
1767
+ "default": "''",
1768
+ "note": "user initials for the avatar (or use the `user` slot)"
1769
+ }
1770
+ ],
1771
+ "events": [
1772
+ "action"
1773
+ ]
1774
+ },
1775
+ "obs-user-menu": {
1776
+ "element": "ObsUserMenu",
1777
+ "referenceOnly": false,
1778
+ "attributes": [
1779
+ {
1780
+ "prop": "name",
1781
+ "attribute": "name",
1782
+ "type": "String",
1783
+ "default": "''",
1784
+ "note": "display name shown in the dropdown header"
1785
+ },
1786
+ {
1787
+ "prop": "subtitle",
1788
+ "attribute": "subtitle",
1789
+ "type": "String",
1790
+ "default": "''",
1791
+ "note": "secondary header line (email / role)"
1792
+ },
1793
+ {
1794
+ "prop": "avatar",
1795
+ "attribute": "avatar",
1796
+ "type": "String",
1797
+ "default": "''",
1798
+ "note": "avatar image src; if empty → initials"
1799
+ },
1800
+ {
1801
+ "prop": "initials",
1802
+ "attribute": "initials",
1803
+ "type": "String",
1804
+ "default": "''",
1805
+ "note": "explicit initials (else derived from `name`)"
1806
+ },
1807
+ {
1808
+ "prop": "items",
1809
+ "attribute": "items",
1810
+ "type": "[String,Array]",
1811
+ "default": "''",
1812
+ "note": "account links [{key,label,icon?,href?,danger?,divider?}]"
1813
+ },
1814
+ {
1815
+ "prop": "themeToggle",
1816
+ "attribute": "theme-toggle",
1817
+ "type": "[Boolean,String]",
1818
+ "default": "true",
1819
+ "note": "show a light/dark theme toggle row"
1820
+ },
1821
+ {
1822
+ "prop": "logout",
1823
+ "attribute": "logout",
1824
+ "type": "[Boolean,String]",
1825
+ "default": "true",
1826
+ "note": "show the danger Logout row"
1827
+ },
1828
+ {
1829
+ "prop": "logoutLabel",
1830
+ "attribute": "logout-label",
1831
+ "type": "String",
1832
+ "default": "'Logout'"
1833
+ },
1834
+ {
1835
+ "prop": "placement",
1836
+ "attribute": "placement",
1837
+ "type": "String",
1838
+ "default": "'bottom-end'",
1839
+ "note": "bottom-end | bottom-start"
1840
+ }
1841
+ ],
1842
+ "events": [
1843
+ "select",
1844
+ "logout",
1845
+ "theme",
1846
+ "show",
1847
+ "hide"
1848
+ ]
1849
+ },
1850
+ "obs-notification-menu": {
1851
+ "element": "ObsNotificationMenu",
1852
+ "referenceOnly": false,
1853
+ "attributes": [
1854
+ {
1855
+ "prop": "count",
1856
+ "attribute": "count",
1857
+ "type": "[Number,String]",
1858
+ "default": "0",
1859
+ "note": "unread count shown in the badge (0 → no badge)"
1860
+ },
1861
+ {
1862
+ "prop": "title",
1863
+ "attribute": "title",
1864
+ "type": "String",
1865
+ "default": "'Notifications'",
1866
+ "note": "panel header title"
1867
+ },
1868
+ {
1869
+ "prop": "tabs",
1870
+ "attribute": "tabs",
1871
+ "type": "[String,Array]",
1872
+ "default": "'Alerts",
1873
+ "note": "tab labels (comma-list or JSON)"
1874
+ },
1875
+ {
1876
+ "prop": "items",
1877
+ "attribute": "items",
1878
+ "type": "[String,Array]",
1879
+ "default": "''",
1880
+ "note": "[{tab?, severity?, text, time?, unread?}]"
1881
+ },
1882
+ {
1883
+ "prop": "placement",
1884
+ "attribute": "placement",
1885
+ "type": "String",
1886
+ "default": "'bottom-end'",
1887
+ "note": "bottom-end | bottom-start"
1888
+ },
1889
+ {
1890
+ "prop": "clearLabel",
1891
+ "attribute": "clear-label",
1892
+ "type": "String",
1893
+ "default": "'Clear all'"
1894
+ },
1895
+ {
1896
+ "prop": "viewallLabel",
1897
+ "attribute": "viewall-label",
1898
+ "type": "String",
1899
+ "default": "'View all'"
1900
+ },
1901
+ {
1902
+ "prop": "emptyText",
1903
+ "attribute": "empty-text",
1904
+ "type": "String",
1905
+ "default": "'You’re all caught up'"
1906
+ }
1907
+ ],
1908
+ "events": [
1909
+ "select",
1910
+ "tab",
1911
+ "clear",
1912
+ "viewall",
1913
+ "show",
1914
+ "hide"
1915
+ ]
1916
+ },
1917
+ "obs-toolbar": {
1918
+ "element": "ObsToolbar",
1919
+ "referenceOnly": false,
1920
+ "attributes": [
1921
+ {
1922
+ "prop": "variant",
1923
+ "attribute": "variant",
1924
+ "type": "String",
1925
+ "default": "''",
1926
+ "note": "'' (grid) | 'bulk' | 'widget'"
1927
+ },
1928
+ {
1929
+ "prop": "count",
1930
+ "attribute": "count",
1931
+ "type": "[String,Number]",
1932
+ "default": "null",
1933
+ "note": "(bulk) number of selected rows → \"N items selected\""
1934
+ },
1935
+ {
1936
+ "prop": "title",
1937
+ "attribute": "title",
1938
+ "type": "String",
1939
+ "default": "''",
1940
+ "note": "(widget) the widget title"
1941
+ }
1942
+ ],
1943
+ "events": [
1944
+ "clear"
1945
+ ]
1946
+ },
1947
+ "obs-divider": {
1948
+ "element": "ObsDivider",
1949
+ "referenceOnly": false,
1950
+ "attributes": [
1951
+ {
1952
+ "prop": "type",
1953
+ "attribute": "type",
1954
+ "type": "String",
1955
+ "default": "'horizontal'",
1956
+ "note": "'horizontal' (default) | 'vertical'"
1957
+ },
1958
+ {
1959
+ "prop": "dashed",
1960
+ "attribute": "dashed",
1961
+ "type": "[Boolean,String]",
1962
+ "default": "false",
1963
+ "note": "dashed instead of solid (real dashed — fixes product F1)"
1964
+ },
1965
+ {
1966
+ "prop": "orientation",
1967
+ "attribute": "orientation",
1968
+ "type": "String",
1969
+ "default": "''",
1970
+ "note": "'' (center) | 'start' | 'end' — label position (with-text)"
1971
+ },
1972
+ {
1973
+ "prop": "text",
1974
+ "attribute": "text",
1975
+ "type": "String",
1976
+ "default": "''",
1977
+ "note": "optional label → a with-text section rule"
1978
+ },
1979
+ {
1980
+ "prop": "dark",
1981
+ "attribute": "dark",
1982
+ "type": "[Boolean,String]",
1983
+ "default": "false",
1984
+ "note": "tuned for a dark background (--neutral-light)"
1985
+ }
1986
+ ],
1987
+ "events": []
1988
+ },
1989
+ "obs-sidebar": {
1990
+ "element": "ObsSidebar",
1991
+ "referenceOnly": false,
1992
+ "attributes": [
1993
+ {
1994
+ "prop": "items",
1995
+ "attribute": "items",
1996
+ "type": "[String,Array]",
1997
+ "default": "''",
1998
+ "note": "JSON [{key,label,icon,beta?}] → the module list"
1999
+ },
2000
+ {
2001
+ "prop": "active",
2002
+ "attribute": "active",
2003
+ "type": "String",
2004
+ "default": "''",
2005
+ "note": "the active module key (highlighted --primary-alt)"
2006
+ },
2007
+ {
2008
+ "prop": "brand",
2009
+ "attribute": "brand",
2010
+ "type": "String",
2011
+ "default": "'ObserveOps'",
2012
+ "note": "wordmark text shown when expanded"
2013
+ },
2014
+ {
2015
+ "prop": "expanded",
2016
+ "attribute": "expanded",
2017
+ "type": "[Boolean,String]",
2018
+ "default": "false",
2019
+ "note": "pin the rail open (otherwise it hover-expands)"
2020
+ }
2021
+ ],
2022
+ "events": [
2023
+ "navigate"
2024
+ ]
2025
+ },
2026
+ "obs-breadcrumbs": {
2027
+ "element": "ObsBreadcrumbs",
2028
+ "referenceOnly": false,
2029
+ "attributes": [
2030
+ {
2031
+ "prop": "items",
2032
+ "attribute": "items",
2033
+ "type": "[String,Array]",
2034
+ "default": "''",
2035
+ "note": "JSON [\"A\",\"B\"] or [{label,href?}]; or a \"A / B / C\" string"
2036
+ },
2037
+ {
2038
+ "prop": "separator",
2039
+ "attribute": "separator",
2040
+ "type": "String",
2041
+ "default": "'/'",
2042
+ "note": "the divider between crumbs: any text, or 'chevron' for ›"
2043
+ },
2044
+ {
2045
+ "prop": "back",
2046
+ "attribute": "back",
2047
+ "type": "[Boolean,String]",
2048
+ "default": "false",
2049
+ "note": "show a leading back chevron (emits `back`)"
2050
+ },
2051
+ {
2052
+ "prop": "divider",
2053
+ "attribute": "divider",
2054
+ "type": "[Boolean,String]",
2055
+ "default": "false",
2056
+ "note": "a bottom rule under the trail (page-header context)"
2057
+ }
2058
+ ],
2059
+ "events": [
2060
+ "navigate",
2061
+ "back"
2062
+ ]
2063
+ },
2064
+ "obs-side-menu": {
2065
+ "element": "ObsSideMenu",
2066
+ "referenceOnly": false,
2067
+ "attributes": [
2068
+ {
2069
+ "prop": "mode",
2070
+ "attribute": "mode",
2071
+ "type": "String",
2072
+ "default": "'sections'",
2073
+ "note": "sections | categories | tree | list"
2074
+ },
2075
+ {
2076
+ "prop": "items",
2077
+ "attribute": "items",
2078
+ "type": "[String,Array]",
2079
+ "default": "''",
2080
+ "note": "recursive [{label,icon?,count?,favorite?,edit?,children?}]"
2081
+ },
2082
+ {
2083
+ "prop": "active",
2084
+ "attribute": "active",
2085
+ "type": "String",
2086
+ "default": "''"
2087
+ },
2088
+ {
2089
+ "prop": "search",
2090
+ "attribute": "search",
2091
+ "type": "[Boolean,String]",
2092
+ "default": "true"
2093
+ },
2094
+ {
2095
+ "prop": "placeholder",
2096
+ "attribute": "placeholder",
2097
+ "type": "String",
2098
+ "default": "'Search'"
2099
+ },
2100
+ {
2101
+ "prop": "tabs",
2102
+ "attribute": "tabs",
2103
+ "type": "[String,Array]",
2104
+ "default": "''",
2105
+ "note": "[{label,value}] or [\"A\",\"B\"]"
2106
+ },
2107
+ {
2108
+ "prop": "tabStyle",
2109
+ "attribute": "tab-style",
2110
+ "type": "String",
2111
+ "default": "'underline'",
2112
+ "note": "underline (tree/list) | segmented (categories Dashboard/NOC)"
2113
+ },
2114
+ {
2115
+ "prop": "activeTab",
2116
+ "attribute": "active-tab",
2117
+ "type": "String",
2118
+ "default": "''"
2119
+ }
2120
+ ],
2121
+ "events": [
2122
+ "select",
2123
+ "search",
2124
+ "tab"
2125
+ ]
2126
+ },
2127
+ "obs-logo": {
2128
+ "element": "ObsLogo",
2129
+ "referenceOnly": false,
2130
+ "attributes": [
2131
+ {
2132
+ "prop": "name",
2133
+ "attribute": "name",
2134
+ "type": "String",
2135
+ "default": "''",
2136
+ "note": "monitor-type/logo key (case- & space-insensitive; aliases ok)"
2137
+ },
2138
+ {
2139
+ "prop": "variant",
2140
+ "attribute": "variant",
2141
+ "type": "String",
2142
+ "default": "'color'",
2143
+ "note": "'color' (full-colour brand mark) | 'line' (monochrome, inherits text colour)"
2144
+ },
2145
+ {
2146
+ "prop": "size",
2147
+ "attribute": "size",
2148
+ "type": "[String,Number]",
2149
+ "default": "20",
2150
+ "note": "px (number/plain digits) or any CSS length"
2151
+ },
2152
+ {
2153
+ "prop": "label",
2154
+ "attribute": "label",
2155
+ "type": "String",
2156
+ "default": "''",
2157
+ "note": "accessible name; empty → decorative (aria-hidden)"
2158
+ }
2159
+ ],
2160
+ "events": []
2161
+ }
2162
+ }
2163
+ }