@oicl/openbridge-webcomponents 2.0.0-next.136 → 2.0.0-next.138

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 (34) hide show
  1. package/bundle/openbridge-webcomponents.bundle.js +11640 -10983
  2. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  3. package/custom-elements.json +1051 -131
  4. package/dist/automation/hydraulic-check-valve/hydraulic-check-valve.css.js +12 -0
  5. package/dist/automation/hydraulic-check-valve/hydraulic-check-valve.css.js.map +1 -0
  6. package/dist/automation/hydraulic-check-valve/hydraulic-check-valve.d.ts +33 -0
  7. package/dist/automation/hydraulic-check-valve/hydraulic-check-valve.d.ts.map +1 -0
  8. package/dist/automation/hydraulic-check-valve/hydraulic-check-valve.js +58 -0
  9. package/dist/automation/hydraulic-check-valve/hydraulic-check-valve.js.map +1 -0
  10. package/dist/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.d.ts +77 -0
  11. package/dist/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.d.ts.map +1 -0
  12. package/dist/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.js +74 -0
  13. package/dist/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.js.map +1 -0
  14. package/dist/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.d.ts +74 -0
  15. package/dist/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.d.ts.map +1 -0
  16. package/dist/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.js +60 -0
  17. package/dist/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.js.map +1 -0
  18. package/dist/automation/shuffle-button/shuffle-button-base.d.ts +67 -0
  19. package/dist/automation/shuffle-button/shuffle-button-base.d.ts.map +1 -0
  20. package/dist/automation/shuffle-button/shuffle-button-base.js +126 -0
  21. package/dist/automation/shuffle-button/shuffle-button-base.js.map +1 -0
  22. package/dist/automation/shuffle-button/shuffle-button.css.js +219 -0
  23. package/dist/automation/shuffle-button/shuffle-button.css.js.map +1 -0
  24. package/dist/automation/shuffle-button/shuffle-layout.d.ts +9 -0
  25. package/dist/automation/shuffle-button/shuffle-layout.d.ts.map +1 -0
  26. package/dist/automation/shuffle-button/shuffle-layout.js +16 -0
  27. package/dist/automation/shuffle-button/shuffle-layout.js.map +1 -0
  28. package/dist/components/alert-subsystem-counter/alert-subsystem-counter.css.js +113 -0
  29. package/dist/components/alert-subsystem-counter/alert-subsystem-counter.css.js.map +1 -0
  30. package/dist/components/alert-subsystem-counter/alert-subsystem-counter.d.ts +108 -0
  31. package/dist/components/alert-subsystem-counter/alert-subsystem-counter.d.ts.map +1 -0
  32. package/dist/components/alert-subsystem-counter/alert-subsystem-counter.js +79 -0
  33. package/dist/components/alert-subsystem-counter/alert-subsystem-counter.js.map +1 -0
  34. package/package.json +1 -1
@@ -30739,6 +30739,83 @@
30739
30739
  }
30740
30740
  ]
30741
30741
  },
30742
+ {
30743
+ "kind": "javascript-module",
30744
+ "path": "src/automation/hydraulic-check-valve/hydraulic-check-valve.ts",
30745
+ "declarations": [
30746
+ {
30747
+ "kind": "class",
30748
+ "description": "`<obc-hydraulic-check-valve>` – Static check valve symbol.\n\nRenders the check valve symbol in the same thumb-on-track visual style as\nthe position-selector valve components, sized to a single slot (48px at\nregular size). A check valve has no selectable positions, so the component\nis display-only and not focusable.\n\n## Usage Guidelines\nUse alongside `<obc-hydraulic-valve-4-3>` and `<obc-hydraulic-valve-x-2>`\nfor consistent styling of valves without switchable positions.",
30749
+ "name": "ObcHydraulicCheckValve",
30750
+ "members": [
30751
+ {
30752
+ "kind": "field",
30753
+ "name": "ariaLabel",
30754
+ "type": {
30755
+ "text": "string"
30756
+ },
30757
+ "default": "'Check valve'",
30758
+ "description": "Accessible name for the symbol.",
30759
+ "attribute": "ariaLabel"
30760
+ },
30761
+ {
30762
+ "kind": "field",
30763
+ "name": "vertical",
30764
+ "type": {
30765
+ "text": "boolean"
30766
+ },
30767
+ "default": "false",
30768
+ "description": "Rotates the symbol 90° counter-clockwise to match a vertical flow path.",
30769
+ "attribute": "vertical"
30770
+ }
30771
+ ],
30772
+ "attributes": [
30773
+ {
30774
+ "name": "ariaLabel",
30775
+ "type": {
30776
+ "text": "string"
30777
+ },
30778
+ "default": "'Check valve'",
30779
+ "description": "Accessible name for the symbol.",
30780
+ "fieldName": "ariaLabel"
30781
+ },
30782
+ {
30783
+ "name": "vertical",
30784
+ "type": {
30785
+ "text": "boolean"
30786
+ },
30787
+ "default": "false",
30788
+ "description": "Rotates the symbol 90° counter-clockwise to match a vertical flow path.",
30789
+ "fieldName": "vertical"
30790
+ }
30791
+ ],
30792
+ "superclass": {
30793
+ "name": "LitElement",
30794
+ "package": "lit"
30795
+ },
30796
+ "tagName": "obc-hydraulic-check-valve",
30797
+ "customElement": true
30798
+ }
30799
+ ],
30800
+ "exports": [
30801
+ {
30802
+ "kind": "js",
30803
+ "name": "ObcHydraulicCheckValve",
30804
+ "declaration": {
30805
+ "name": "ObcHydraulicCheckValve",
30806
+ "module": "src/automation/hydraulic-check-valve/hydraulic-check-valve.ts"
30807
+ }
30808
+ },
30809
+ {
30810
+ "kind": "custom-element-definition",
30811
+ "name": "obc-hydraulic-check-valve",
30812
+ "declaration": {
30813
+ "name": "ObcHydraulicCheckValve",
30814
+ "module": "src/automation/hydraulic-check-valve/hydraulic-check-valve.ts"
30815
+ }
30816
+ }
30817
+ ]
30818
+ },
30742
30819
  {
30743
30820
  "kind": "javascript-module",
30744
30821
  "path": "src/automation/hydraulic-separator/hydraulic-separator.ts",
@@ -31323,146 +31400,666 @@
31323
31400
  }
31324
31401
  },
31325
31402
  {
31326
- "name": "activated",
31403
+ "name": "activated",
31404
+ "type": {
31405
+ "text": "boolean"
31406
+ },
31407
+ "default": "false",
31408
+ "description": "Paints the activated background on the halo. Needs an interactive tile.\n\nAvailable when `clickable==true`.",
31409
+ "fieldName": "activated",
31410
+ "inheritedFrom": {
31411
+ "name": "ObcAbstractSpecialtyTank",
31412
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31413
+ }
31414
+ },
31415
+ {
31416
+ "name": "badgeControl",
31417
+ "type": {
31418
+ "text": "AutomationButtonBadgeControl"
31419
+ },
31420
+ "description": "Mode badge (auto / manual / local variants), first in the badge row.",
31421
+ "fieldName": "badgeControl",
31422
+ "inheritedFrom": {
31423
+ "name": "ObcAbstractSpecialtyTank",
31424
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31425
+ }
31426
+ },
31427
+ {
31428
+ "name": "badgeAlert",
31429
+ "type": {
31430
+ "text": "AutomationButtonBadgeAlert"
31431
+ },
31432
+ "description": "Alert badge, second in the badge row.",
31433
+ "fieldName": "badgeAlert",
31434
+ "inheritedFrom": {
31435
+ "name": "ObcAbstractSpecialtyTank",
31436
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31437
+ }
31438
+ },
31439
+ {
31440
+ "name": "badgeInterlock",
31441
+ "type": {
31442
+ "text": "AutomationButtonBadgeInterlock"
31443
+ },
31444
+ "description": "Interlock badge, third in the badge row.",
31445
+ "fieldName": "badgeInterlock",
31446
+ "inheritedFrom": {
31447
+ "name": "ObcAbstractSpecialtyTank",
31448
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31449
+ }
31450
+ },
31451
+ {
31452
+ "name": "badgeCommandLocked",
31453
+ "type": {
31454
+ "text": "AutomationButtonBadgeCommandLocked"
31455
+ },
31456
+ "description": "Command-locked badge, last in the badge row.",
31457
+ "fieldName": "badgeCommandLocked",
31458
+ "inheritedFrom": {
31459
+ "name": "ObcAbstractSpecialtyTank",
31460
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31461
+ }
31462
+ },
31463
+ {
31464
+ "name": "alert",
31465
+ "type": {
31466
+ "text": "boolean"
31467
+ },
31468
+ "default": "false",
31469
+ "description": "Show an alert-frame overlay around the halo, mirroring `obc-automation-tank`.",
31470
+ "fieldName": "alert",
31471
+ "inheritedFrom": {
31472
+ "name": "ObcAbstractSpecialtyTank",
31473
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31474
+ }
31475
+ },
31476
+ {
31477
+ "name": "alertFrameType",
31478
+ "type": {
31479
+ "text": "ObcAlertFrameType"
31480
+ },
31481
+ "description": "Shape of the alert frame.\n\nAvailable when `alert==true`.",
31482
+ "fieldName": "alertFrameType",
31483
+ "inheritedFrom": {
31484
+ "name": "ObcAbstractSpecialtyTank",
31485
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31486
+ }
31487
+ },
31488
+ {
31489
+ "name": "alertFrameThickness",
31490
+ "type": {
31491
+ "text": "ObcAlertFrameThickness"
31492
+ },
31493
+ "description": "Thickness of the alert frame.\n\nAvailable when `alert==true`.",
31494
+ "fieldName": "alertFrameThickness",
31495
+ "inheritedFrom": {
31496
+ "name": "ObcAbstractSpecialtyTank",
31497
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31498
+ }
31499
+ },
31500
+ {
31501
+ "name": "alertFrameStatus",
31502
+ "type": {
31503
+ "text": "AlertType"
31504
+ },
31505
+ "description": "Alert status the frame is coloured for.\n\nAvailable when `alert==true`.",
31506
+ "fieldName": "alertFrameStatus",
31507
+ "inheritedFrom": {
31508
+ "name": "ObcAbstractSpecialtyTank",
31509
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31510
+ }
31511
+ },
31512
+ {
31513
+ "name": "showAlertIcon",
31514
+ "type": {
31515
+ "text": "boolean"
31516
+ },
31517
+ "default": "false",
31518
+ "description": "Shows the slotted alert icon inside the frame.\n\nAvailable when `alert==true`.",
31519
+ "fieldName": "showAlertIcon",
31520
+ "inheritedFrom": {
31521
+ "name": "ObcAbstractSpecialtyTank",
31522
+ "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31523
+ }
31524
+ }
31525
+ ]
31526
+ }
31527
+ ],
31528
+ "exports": [
31529
+ {
31530
+ "kind": "js",
31531
+ "name": "ObcHydraulicSeparator",
31532
+ "declaration": {
31533
+ "name": "ObcHydraulicSeparator",
31534
+ "module": "src/automation/hydraulic-separator/hydraulic-separator.ts"
31535
+ }
31536
+ },
31537
+ {
31538
+ "kind": "custom-element-definition",
31539
+ "name": "obc-hydraulic-separator",
31540
+ "declaration": {
31541
+ "name": "ObcHydraulicSeparator",
31542
+ "module": "src/automation/hydraulic-separator/hydraulic-separator.ts"
31543
+ }
31544
+ }
31545
+ ]
31546
+ },
31547
+ {
31548
+ "kind": "javascript-module",
31549
+ "path": "src/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.ts",
31550
+ "declarations": [
31551
+ {
31552
+ "kind": "class",
31553
+ "description": "`<obc-hydraulic-valve-4-3>` – Position selector symbol for a 4/3 directional valve.\n\nShows the valve's three positions as icon thumbs on a shared track. The\nselected position always occupies the fixed center slot; the other position\nthumbs keep their logical order and shift to either side, so the component's\ntotal width never changes (five 48px slots at regular size).\n\n## Features / Variants\n- `type` selects the center-position symbol (five variants).\n- `vertical` stacks the positions top to bottom and rotates the symbols to\n match a vertical flow path.\n- Controlled selection: clicking an option or pressing arrow keys fires\n `position-selected` with the requested position; the application updates\n `selectedPosition` once the change is confirmed.\n- Scales with the component size classes (`obc-component-size-*`).\n\n## Usage Guidelines\nUse to display and command the position of a 4/3 directional valve. For\ntwo-position valves use `<obc-hydraulic-valve-x-2>`; for a static check\nvalve symbol use `<obc-hydraulic-check-valve>`. Bind `selectedPosition` to\nthe position the device reports, not to the last request, so the symbol\nnever shows a position the valve has not reached.\n\n## Events\n- `position-selected` – Fired when the user requests a position (click or\n arrow key). Detail: `{position: number}` (0 = left, 1 = center, 2 = right).",
31554
+ "name": "ObcHydraulicValve43",
31555
+ "members": [
31556
+ {
31557
+ "kind": "field",
31558
+ "name": "type",
31559
+ "type": {
31560
+ "text": "HydraulicValve43Type"
31561
+ },
31562
+ "description": "Center-position symbol variant.",
31563
+ "attribute": "type"
31564
+ },
31565
+ {
31566
+ "kind": "field",
31567
+ "name": "ariaLabel",
31568
+ "type": {
31569
+ "text": "string"
31570
+ },
31571
+ "default": "'Hydraulic 4/3 valve'",
31572
+ "description": "Accessible name for the control.",
31573
+ "attribute": "ariaLabel",
31574
+ "inheritedFrom": {
31575
+ "name": "ObcShuffleButtonBase",
31576
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31577
+ }
31578
+ },
31579
+ {
31580
+ "kind": "field",
31581
+ "name": "positionCount",
31582
+ "type": {
31583
+ "text": "number"
31584
+ },
31585
+ "privacy": "protected",
31586
+ "readonly": true,
31587
+ "inheritedFrom": {
31588
+ "name": "ObcShuffleButtonBase",
31589
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31590
+ }
31591
+ },
31592
+ {
31593
+ "kind": "method",
31594
+ "name": "renderPositionIcon",
31595
+ "privacy": "protected",
31596
+ "return": {
31597
+ "type": {
31598
+ "text": "TemplateResult"
31599
+ }
31600
+ },
31601
+ "parameters": [
31602
+ {
31603
+ "name": "position",
31604
+ "type": {
31605
+ "text": "number"
31606
+ }
31607
+ }
31608
+ ],
31609
+ "inheritedFrom": {
31610
+ "name": "ObcShuffleButtonBase",
31611
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31612
+ }
31613
+ },
31614
+ {
31615
+ "kind": "field",
31616
+ "name": "selectedPosition",
31617
+ "type": {
31618
+ "text": "number"
31619
+ },
31620
+ "default": "1",
31621
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped.",
31622
+ "attribute": "selectedPosition",
31623
+ "inheritedFrom": {
31624
+ "name": "ObcShuffleButtonBase",
31625
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31626
+ }
31627
+ },
31628
+ {
31629
+ "kind": "field",
31630
+ "name": "vertical",
31631
+ "type": {
31632
+ "text": "boolean"
31633
+ },
31634
+ "default": "false",
31635
+ "description": "Lays the control out vertically: positions stack top to bottom and the position symbols rotate 90° counter-clockwise to match a vertical flow path.",
31636
+ "attribute": "vertical",
31637
+ "inheritedFrom": {
31638
+ "name": "ObcShuffleButtonBase",
31639
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31640
+ }
31641
+ },
31642
+ {
31643
+ "kind": "field",
31644
+ "name": "suppressHover",
31645
+ "type": {
31646
+ "text": "boolean"
31647
+ },
31648
+ "privacy": "private",
31649
+ "default": "false",
31650
+ "inheritedFrom": {
31651
+ "name": "ObcShuffleButtonBase",
31652
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31653
+ }
31654
+ },
31655
+ {
31656
+ "kind": "method",
31657
+ "name": "renderThumb",
31658
+ "privacy": "private",
31659
+ "parameters": [
31660
+ {
31661
+ "name": "position",
31662
+ "type": {
31663
+ "text": "number"
31664
+ }
31665
+ },
31666
+ {
31667
+ "name": "selected",
31668
+ "type": {
31669
+ "text": "number"
31670
+ }
31671
+ }
31672
+ ],
31673
+ "inheritedFrom": {
31674
+ "name": "ObcShuffleButtonBase",
31675
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31676
+ }
31677
+ },
31678
+ {
31679
+ "kind": "method",
31680
+ "name": "requestPosition",
31681
+ "privacy": "private",
31682
+ "parameters": [
31683
+ {
31684
+ "name": "position",
31685
+ "type": {
31686
+ "text": "number"
31687
+ }
31688
+ }
31689
+ ],
31690
+ "inheritedFrom": {
31691
+ "name": "ObcShuffleButtonBase",
31692
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31693
+ }
31694
+ },
31695
+ {
31696
+ "kind": "method",
31697
+ "name": "restoreHover",
31698
+ "privacy": "private",
31699
+ "inheritedFrom": {
31700
+ "name": "ObcShuffleButtonBase",
31701
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31702
+ }
31703
+ },
31704
+ {
31705
+ "kind": "method",
31706
+ "name": "handleKeydown",
31707
+ "privacy": "private",
31708
+ "parameters": [
31709
+ {
31710
+ "name": "event",
31711
+ "type": {
31712
+ "text": "KeyboardEvent"
31713
+ }
31714
+ }
31715
+ ],
31716
+ "inheritedFrom": {
31717
+ "name": "ObcShuffleButtonBase",
31718
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31719
+ }
31720
+ }
31721
+ ],
31722
+ "events": [
31723
+ {
31724
+ "type": {
31725
+ "text": "CustomEvent<PositionSelectedDetail>"
31726
+ },
31727
+ "description": "Fired when the user requests a position (click or arrow key).",
31728
+ "name": "position-selected"
31729
+ }
31730
+ ],
31731
+ "attributes": [
31732
+ {
31733
+ "name": "type",
31734
+ "type": {
31735
+ "text": "HydraulicValve43Type"
31736
+ },
31737
+ "description": "Center-position symbol variant.",
31738
+ "fieldName": "type"
31739
+ },
31740
+ {
31741
+ "name": "ariaLabel",
31742
+ "type": {
31743
+ "text": "string"
31744
+ },
31745
+ "default": "'Hydraulic 4/3 valve'",
31746
+ "description": "Accessible name for the control.",
31747
+ "fieldName": "ariaLabel",
31748
+ "inheritedFrom": {
31749
+ "name": "ObcShuffleButtonBase",
31750
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31751
+ }
31752
+ },
31753
+ {
31754
+ "name": "selectedPosition",
31755
+ "type": {
31756
+ "text": "number"
31757
+ },
31758
+ "default": "1",
31759
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped.",
31760
+ "fieldName": "selectedPosition",
31761
+ "inheritedFrom": {
31762
+ "name": "ObcShuffleButtonBase",
31763
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31764
+ }
31765
+ },
31766
+ {
31767
+ "name": "vertical",
31768
+ "type": {
31769
+ "text": "boolean"
31770
+ },
31771
+ "default": "false",
31772
+ "description": "Lays the control out vertically: positions stack top to bottom and the position symbols rotate 90° counter-clockwise to match a vertical flow path.",
31773
+ "fieldName": "vertical",
31774
+ "inheritedFrom": {
31775
+ "name": "ObcShuffleButtonBase",
31776
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31777
+ }
31778
+ }
31779
+ ],
31780
+ "superclass": {
31781
+ "name": "ObcShuffleButtonBase",
31782
+ "module": "/src/automation/shuffle-button/shuffle-button-base.js"
31783
+ },
31784
+ "tagName": "obc-hydraulic-valve-4-3",
31785
+ "customElement": true
31786
+ }
31787
+ ],
31788
+ "exports": [
31789
+ {
31790
+ "kind": "js",
31791
+ "name": "ObcHydraulicValve43",
31792
+ "declaration": {
31793
+ "name": "ObcHydraulicValve43",
31794
+ "module": "src/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.ts"
31795
+ }
31796
+ },
31797
+ {
31798
+ "kind": "custom-element-definition",
31799
+ "name": "obc-hydraulic-valve-4-3",
31800
+ "declaration": {
31801
+ "name": "ObcHydraulicValve43",
31802
+ "module": "src/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.ts"
31803
+ }
31804
+ }
31805
+ ]
31806
+ },
31807
+ {
31808
+ "kind": "javascript-module",
31809
+ "path": "src/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.ts",
31810
+ "declarations": [
31811
+ {
31812
+ "kind": "class",
31813
+ "description": "`<obc-hydraulic-valve-x-2>` – Position selector symbol for a two-position valve.\n\nShows the valve's two positions as icon thumbs on a shared track. The\nselected position always occupies the fixed center slot; the option thumb\nsits to its left or right depending on logical order, and an empty spacer\nslot keeps the total width constant (three 48px slots at regular size).\n\n## Features / Variants\n- `type` selects the port/position configuration: `2/2`, `3/2` or `4/2`.\n- `vertical` stacks the positions top to bottom and rotates the symbols to\n match a vertical flow path.\n- Controlled selection: clicking the option or pressing arrow keys fires\n `position-selected`; the application updates `selectedPosition` once the\n change is confirmed.\n- Scales with the component size classes (`obc-component-size-*`).\n\n## Usage Guidelines\nUse to display and command the position of a two-position valve. For 4/3\ndirectional valves use `<obc-hydraulic-valve-4-3>`; for a static check\nvalve symbol use `<obc-hydraulic-check-valve>`. Bind `selectedPosition` to\nthe position the device reports, not to the last request, so the symbol\nnever shows a position the valve has not reached.\n\n## Events\n- `position-selected` – Fired when the user requests a position (click or\n arrow key). Detail: `{position: number}` (0 = first, 1 = second).",
31814
+ "name": "ObcHydraulicValveX2",
31815
+ "members": [
31816
+ {
31817
+ "kind": "field",
31818
+ "name": "type",
31819
+ "type": {
31820
+ "text": "HydraulicValveX2Type"
31821
+ },
31822
+ "description": "Port/position configuration.",
31823
+ "attribute": "type"
31824
+ },
31825
+ {
31826
+ "kind": "field",
31827
+ "name": "ariaLabel",
31828
+ "type": {
31829
+ "text": "string"
31830
+ },
31831
+ "default": "'Hydraulic valve'",
31832
+ "description": "Accessible name for the control.",
31833
+ "attribute": "ariaLabel",
31834
+ "inheritedFrom": {
31835
+ "name": "ObcShuffleButtonBase",
31836
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31837
+ }
31838
+ },
31839
+ {
31840
+ "kind": "field",
31841
+ "name": "positionCount",
31842
+ "type": {
31843
+ "text": "number"
31844
+ },
31845
+ "privacy": "protected",
31846
+ "readonly": true,
31847
+ "inheritedFrom": {
31848
+ "name": "ObcShuffleButtonBase",
31849
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31850
+ }
31851
+ },
31852
+ {
31853
+ "kind": "method",
31854
+ "name": "renderPositionIcon",
31855
+ "privacy": "protected",
31856
+ "return": {
31857
+ "type": {
31858
+ "text": "TemplateResult"
31859
+ }
31860
+ },
31861
+ "parameters": [
31862
+ {
31863
+ "name": "position",
31864
+ "type": {
31865
+ "text": "number"
31866
+ }
31867
+ }
31868
+ ],
31869
+ "inheritedFrom": {
31870
+ "name": "ObcShuffleButtonBase",
31871
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31872
+ }
31873
+ },
31874
+ {
31875
+ "kind": "field",
31876
+ "name": "selectedPosition",
31877
+ "type": {
31878
+ "text": "number"
31879
+ },
31880
+ "default": "1",
31881
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped.",
31882
+ "attribute": "selectedPosition",
31883
+ "inheritedFrom": {
31884
+ "name": "ObcShuffleButtonBase",
31885
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31886
+ }
31887
+ },
31888
+ {
31889
+ "kind": "field",
31890
+ "name": "vertical",
31891
+ "type": {
31892
+ "text": "boolean"
31893
+ },
31894
+ "default": "false",
31895
+ "description": "Lays the control out vertically: positions stack top to bottom and the position symbols rotate 90° counter-clockwise to match a vertical flow path.",
31896
+ "attribute": "vertical",
31897
+ "inheritedFrom": {
31898
+ "name": "ObcShuffleButtonBase",
31899
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31900
+ }
31901
+ },
31902
+ {
31903
+ "kind": "field",
31904
+ "name": "suppressHover",
31327
31905
  "type": {
31328
31906
  "text": "boolean"
31329
31907
  },
31908
+ "privacy": "private",
31330
31909
  "default": "false",
31331
- "description": "Paints the activated background on the halo. Needs an interactive tile.\n\nAvailable when `clickable==true`.",
31332
- "fieldName": "activated",
31333
31910
  "inheritedFrom": {
31334
- "name": "ObcAbstractSpecialtyTank",
31335
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31911
+ "name": "ObcShuffleButtonBase",
31912
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31336
31913
  }
31337
31914
  },
31338
31915
  {
31339
- "name": "badgeControl",
31340
- "type": {
31341
- "text": "AutomationButtonBadgeControl"
31342
- },
31343
- "description": "Mode badge (auto / manual / local variants), first in the badge row.",
31344
- "fieldName": "badgeControl",
31916
+ "kind": "method",
31917
+ "name": "renderThumb",
31918
+ "privacy": "private",
31919
+ "parameters": [
31920
+ {
31921
+ "name": "position",
31922
+ "type": {
31923
+ "text": "number"
31924
+ }
31925
+ },
31926
+ {
31927
+ "name": "selected",
31928
+ "type": {
31929
+ "text": "number"
31930
+ }
31931
+ }
31932
+ ],
31345
31933
  "inheritedFrom": {
31346
- "name": "ObcAbstractSpecialtyTank",
31347
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31934
+ "name": "ObcShuffleButtonBase",
31935
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31348
31936
  }
31349
31937
  },
31350
31938
  {
31351
- "name": "badgeAlert",
31352
- "type": {
31353
- "text": "AutomationButtonBadgeAlert"
31354
- },
31355
- "description": "Alert badge, second in the badge row.",
31356
- "fieldName": "badgeAlert",
31939
+ "kind": "method",
31940
+ "name": "requestPosition",
31941
+ "privacy": "private",
31942
+ "parameters": [
31943
+ {
31944
+ "name": "position",
31945
+ "type": {
31946
+ "text": "number"
31947
+ }
31948
+ }
31949
+ ],
31357
31950
  "inheritedFrom": {
31358
- "name": "ObcAbstractSpecialtyTank",
31359
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31951
+ "name": "ObcShuffleButtonBase",
31952
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31360
31953
  }
31361
31954
  },
31362
31955
  {
31363
- "name": "badgeInterlock",
31364
- "type": {
31365
- "text": "AutomationButtonBadgeInterlock"
31366
- },
31367
- "description": "Interlock badge, third in the badge row.",
31368
- "fieldName": "badgeInterlock",
31956
+ "kind": "method",
31957
+ "name": "restoreHover",
31958
+ "privacy": "private",
31369
31959
  "inheritedFrom": {
31370
- "name": "ObcAbstractSpecialtyTank",
31371
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31960
+ "name": "ObcShuffleButtonBase",
31961
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31372
31962
  }
31373
31963
  },
31374
31964
  {
31375
- "name": "badgeCommandLocked",
31376
- "type": {
31377
- "text": "AutomationButtonBadgeCommandLocked"
31378
- },
31379
- "description": "Command-locked badge, last in the badge row.",
31380
- "fieldName": "badgeCommandLocked",
31965
+ "kind": "method",
31966
+ "name": "handleKeydown",
31967
+ "privacy": "private",
31968
+ "parameters": [
31969
+ {
31970
+ "name": "event",
31971
+ "type": {
31972
+ "text": "KeyboardEvent"
31973
+ }
31974
+ }
31975
+ ],
31381
31976
  "inheritedFrom": {
31382
- "name": "ObcAbstractSpecialtyTank",
31383
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31977
+ "name": "ObcShuffleButtonBase",
31978
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31384
31979
  }
31385
- },
31980
+ }
31981
+ ],
31982
+ "events": [
31386
31983
  {
31387
- "name": "alert",
31388
31984
  "type": {
31389
- "text": "boolean"
31985
+ "text": "CustomEvent<PositionSelectedDetail>"
31390
31986
  },
31391
- "default": "false",
31392
- "description": "Show an alert-frame overlay around the halo, mirroring `obc-automation-tank`.",
31393
- "fieldName": "alert",
31394
- "inheritedFrom": {
31395
- "name": "ObcAbstractSpecialtyTank",
31396
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31397
- }
31398
- },
31987
+ "description": "Fired when the user requests a position (click or arrow key).",
31988
+ "name": "position-selected"
31989
+ }
31990
+ ],
31991
+ "attributes": [
31399
31992
  {
31400
- "name": "alertFrameType",
31993
+ "name": "type",
31401
31994
  "type": {
31402
- "text": "ObcAlertFrameType"
31995
+ "text": "HydraulicValveX2Type"
31403
31996
  },
31404
- "description": "Shape of the alert frame.\n\nAvailable when `alert==true`.",
31405
- "fieldName": "alertFrameType",
31406
- "inheritedFrom": {
31407
- "name": "ObcAbstractSpecialtyTank",
31408
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
31409
- }
31997
+ "description": "Port/position configuration.",
31998
+ "fieldName": "type"
31410
31999
  },
31411
32000
  {
31412
- "name": "alertFrameThickness",
32001
+ "name": "ariaLabel",
31413
32002
  "type": {
31414
- "text": "ObcAlertFrameThickness"
32003
+ "text": "string"
31415
32004
  },
31416
- "description": "Thickness of the alert frame.\n\nAvailable when `alert==true`.",
31417
- "fieldName": "alertFrameThickness",
32005
+ "default": "'Hydraulic valve'",
32006
+ "description": "Accessible name for the control.",
32007
+ "fieldName": "ariaLabel",
31418
32008
  "inheritedFrom": {
31419
- "name": "ObcAbstractSpecialtyTank",
31420
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
32009
+ "name": "ObcShuffleButtonBase",
32010
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31421
32011
  }
31422
32012
  },
31423
32013
  {
31424
- "name": "alertFrameStatus",
32014
+ "name": "selectedPosition",
31425
32015
  "type": {
31426
- "text": "AlertType"
32016
+ "text": "number"
31427
32017
  },
31428
- "description": "Alert status the frame is coloured for.\n\nAvailable when `alert==true`.",
31429
- "fieldName": "alertFrameStatus",
32018
+ "default": "1",
32019
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped.",
32020
+ "fieldName": "selectedPosition",
31430
32021
  "inheritedFrom": {
31431
- "name": "ObcAbstractSpecialtyTank",
31432
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
32022
+ "name": "ObcShuffleButtonBase",
32023
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31433
32024
  }
31434
32025
  },
31435
32026
  {
31436
- "name": "showAlertIcon",
32027
+ "name": "vertical",
31437
32028
  "type": {
31438
32029
  "text": "boolean"
31439
32030
  },
31440
32031
  "default": "false",
31441
- "description": "Shows the slotted alert icon inside the frame.\n\nAvailable when `alert==true`.",
31442
- "fieldName": "showAlertIcon",
32032
+ "description": "Lays the control out vertically: positions stack top to bottom and the position symbols rotate 90° counter-clockwise to match a vertical flow path.",
32033
+ "fieldName": "vertical",
31443
32034
  "inheritedFrom": {
31444
- "name": "ObcAbstractSpecialtyTank",
31445
- "module": "src/automation/specialty-tank/abstract-specialty-tank.ts"
32035
+ "name": "ObcShuffleButtonBase",
32036
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
31446
32037
  }
31447
32038
  }
31448
- ]
32039
+ ],
32040
+ "superclass": {
32041
+ "name": "ObcShuffleButtonBase",
32042
+ "module": "/src/automation/shuffle-button/shuffle-button-base.js"
32043
+ },
32044
+ "tagName": "obc-hydraulic-valve-x-2",
32045
+ "customElement": true
31449
32046
  }
31450
32047
  ],
31451
32048
  "exports": [
31452
32049
  {
31453
32050
  "kind": "js",
31454
- "name": "ObcHydraulicSeparator",
32051
+ "name": "ObcHydraulicValveX2",
31455
32052
  "declaration": {
31456
- "name": "ObcHydraulicSeparator",
31457
- "module": "src/automation/hydraulic-separator/hydraulic-separator.ts"
32053
+ "name": "ObcHydraulicValveX2",
32054
+ "module": "src/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.ts"
31458
32055
  }
31459
32056
  },
31460
32057
  {
31461
32058
  "kind": "custom-element-definition",
31462
- "name": "obc-hydraulic-separator",
32059
+ "name": "obc-hydraulic-valve-x-2",
31463
32060
  "declaration": {
31464
- "name": "ObcHydraulicSeparator",
31465
- "module": "src/automation/hydraulic-separator/hydraulic-separator.ts"
32061
+ "name": "ObcHydraulicValveX2",
32062
+ "module": "src/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.ts"
31466
32063
  }
31467
32064
  }
31468
32065
  ]
@@ -37525,86 +38122,259 @@
37525
38122
  }
37526
38123
  },
37527
38124
  {
37528
- "name": "progressValue",
38125
+ "name": "progressValue",
38126
+ "type": {
38127
+ "text": "number"
38128
+ },
38129
+ "default": "0",
38130
+ "fieldName": "progressValue",
38131
+ "description": "Available when `progress==true && progressMode in [determinate, progressiveIndeterminate]`.",
38132
+ "inheritedFrom": {
38133
+ "name": "ObcAbstractAutomationButton",
38134
+ "module": "src/automation/automation-button/abstract-automation-button.ts"
38135
+ }
38136
+ },
38137
+ {
38138
+ "name": "badgeControl",
38139
+ "type": {
38140
+ "text": "AutomationButtonBadgeControl"
38141
+ },
38142
+ "fieldName": "badgeControl",
38143
+ "inheritedFrom": {
38144
+ "name": "ObcAbstractAutomationButton",
38145
+ "module": "src/automation/automation-button/abstract-automation-button.ts"
38146
+ }
38147
+ },
38148
+ {
38149
+ "name": "badgeCommandLocked",
38150
+ "type": {
38151
+ "text": "AutomationButtonBadgeCommandLocked"
38152
+ },
38153
+ "fieldName": "badgeCommandLocked",
38154
+ "inheritedFrom": {
38155
+ "name": "ObcAbstractAutomationButton",
38156
+ "module": "src/automation/automation-button/abstract-automation-button.ts"
38157
+ }
38158
+ },
38159
+ {
38160
+ "name": "badgeInterlock",
38161
+ "type": {
38162
+ "text": "AutomationButtonBadgeInterlock"
38163
+ },
38164
+ "fieldName": "badgeInterlock",
38165
+ "inheritedFrom": {
38166
+ "name": "ObcAbstractAutomationButton",
38167
+ "module": "src/automation/automation-button/abstract-automation-button.ts"
38168
+ }
38169
+ },
38170
+ {
38171
+ "name": "badgeAlert",
38172
+ "type": {
38173
+ "text": "AutomationButtonBadgeAlert"
38174
+ },
38175
+ "fieldName": "badgeAlert",
38176
+ "inheritedFrom": {
38177
+ "name": "ObcAbstractAutomationButton",
38178
+ "module": "src/automation/automation-button/abstract-automation-button.ts"
38179
+ }
38180
+ }
38181
+ ],
38182
+ "superclass": {
38183
+ "name": "ObcAbstractAutomationButtonSquared",
38184
+ "module": "/src/automation/automation-button/abstract-automation-button-squared.js"
38185
+ },
38186
+ "tagName": "obc-router",
38187
+ "customElement": true
38188
+ }
38189
+ ],
38190
+ "exports": [
38191
+ {
38192
+ "kind": "js",
38193
+ "name": "ObcRouter",
38194
+ "declaration": {
38195
+ "name": "ObcRouter",
38196
+ "module": "src/automation/router/router.ts"
38197
+ }
38198
+ },
38199
+ {
38200
+ "kind": "custom-element-definition",
38201
+ "name": "obc-router",
38202
+ "declaration": {
38203
+ "name": "ObcRouter",
38204
+ "module": "src/automation/router/router.ts"
38205
+ }
38206
+ }
38207
+ ]
38208
+ },
38209
+ {
38210
+ "kind": "javascript-module",
38211
+ "path": "src/automation/shuffle-button/shuffle-button-base.ts",
38212
+ "declarations": [
38213
+ {
38214
+ "kind": "class",
38215
+ "description": "Base class for shuffle-button selectors: a control whose selected thumb\nalways occupies the fixed center slot of a (2·n−1)-slot row (or column when\n`vertical`). Option thumbs keep their logical order and redistribute to\neither side of the selected thumb; empty spacer slots absorb the remaining\nlength so the total size never changes.\n\n## Controlled selection\nClicking an option or pressing an arrow key only fires `position-selected`.\nThe host application sets `selectedPosition` once the device confirms the\nchange, so the control never shows a position the device has not reached.\n\n## Keyboard\nFollows the WAI-ARIA radio group pattern\n(https://www.w3.org/WAI/ARIA/apg/patterns/radio/): `role=\"radiogroup\"` with\none `role=\"radio\"` thumb per position, a single tab stop on the selected\nthumb, and Left/Up and Right/Down moving to the previous/next position with\nwrap-around. Departures: arrow keys request the position rather than moving\nthe checked state (controlled selection above), and focus follows the thumb\nonly once the host confirms it. Space/Enter on a focused thumb request it\nthrough the native button click. Home/End are out of scope.\n\nSubclasses define `positionCount` and `renderPositionIcon()` and carry the\n`@fires position-selected` tag: the manifest and the framework wrappers read\nevents from the registered element, not from this base.\n\nNot declared `abstract`: the wrapper generators wrap every `LitElement`\nsubclass and pass its constructor as a concrete `Constructor<T>`, so the\ndefault implementations below stand in for abstract members (same as\n`ObcAbstractAutomationButton`).",
38216
+ "name": "ObcShuffleButtonBase",
38217
+ "members": [
38218
+ {
38219
+ "kind": "field",
38220
+ "name": "selectedPosition",
38221
+ "type": {
38222
+ "text": "number"
38223
+ },
38224
+ "default": "1",
38225
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped.",
38226
+ "attribute": "selectedPosition"
38227
+ },
38228
+ {
38229
+ "kind": "field",
38230
+ "name": "vertical",
38231
+ "type": {
38232
+ "text": "boolean"
38233
+ },
38234
+ "default": "false",
38235
+ "description": "Lays the control out vertically: positions stack top to bottom and the position symbols rotate 90° counter-clockwise to match a vertical flow path.",
38236
+ "attribute": "vertical"
38237
+ },
38238
+ {
38239
+ "kind": "field",
38240
+ "name": "ariaLabel",
38241
+ "type": {
38242
+ "text": "string"
38243
+ },
38244
+ "default": "'Position selector'",
38245
+ "description": "Accessible name for the radio group (the control is icon-only). Concrete components override the default with a device-specific name.",
38246
+ "attribute": "ariaLabel"
38247
+ },
38248
+ {
38249
+ "kind": "field",
38250
+ "name": "suppressHover",
38251
+ "type": {
38252
+ "text": "boolean"
38253
+ },
38254
+ "privacy": "private",
38255
+ "default": "false"
38256
+ },
38257
+ {
38258
+ "kind": "field",
38259
+ "name": "positionCount",
37529
38260
  "type": {
37530
38261
  "text": "number"
37531
38262
  },
37532
- "default": "0",
37533
- "fieldName": "progressValue",
37534
- "description": "Available when `progress==true && progressMode in [determinate, progressiveIndeterminate]`.",
37535
- "inheritedFrom": {
37536
- "name": "ObcAbstractAutomationButton",
37537
- "module": "src/automation/automation-button/abstract-automation-button.ts"
37538
- }
38263
+ "privacy": "protected",
38264
+ "readonly": true
37539
38265
  },
37540
38266
  {
37541
- "name": "badgeControl",
37542
- "type": {
37543
- "text": "AutomationButtonBadgeControl"
38267
+ "kind": "method",
38268
+ "name": "renderPositionIcon",
38269
+ "privacy": "protected",
38270
+ "return": {
38271
+ "type": {
38272
+ "text": "TemplateResult"
38273
+ }
37544
38274
  },
37545
- "fieldName": "badgeControl",
37546
- "inheritedFrom": {
37547
- "name": "ObcAbstractAutomationButton",
37548
- "module": "src/automation/automation-button/abstract-automation-button.ts"
37549
- }
38275
+ "parameters": [
38276
+ {
38277
+ "name": "_position",
38278
+ "type": {
38279
+ "text": "number"
38280
+ }
38281
+ }
38282
+ ]
37550
38283
  },
37551
38284
  {
37552
- "name": "badgeCommandLocked",
38285
+ "kind": "method",
38286
+ "name": "renderThumb",
38287
+ "privacy": "private",
38288
+ "parameters": [
38289
+ {
38290
+ "name": "position",
38291
+ "type": {
38292
+ "text": "number"
38293
+ }
38294
+ },
38295
+ {
38296
+ "name": "selected",
38297
+ "type": {
38298
+ "text": "number"
38299
+ }
38300
+ }
38301
+ ]
38302
+ },
38303
+ {
38304
+ "kind": "method",
38305
+ "name": "requestPosition",
38306
+ "privacy": "private",
38307
+ "parameters": [
38308
+ {
38309
+ "name": "position",
38310
+ "type": {
38311
+ "text": "number"
38312
+ }
38313
+ }
38314
+ ]
38315
+ },
38316
+ {
38317
+ "kind": "method",
38318
+ "name": "restoreHover",
38319
+ "privacy": "private"
38320
+ },
38321
+ {
38322
+ "kind": "method",
38323
+ "name": "handleKeydown",
38324
+ "privacy": "private",
38325
+ "parameters": [
38326
+ {
38327
+ "name": "event",
38328
+ "type": {
38329
+ "text": "KeyboardEvent"
38330
+ }
38331
+ }
38332
+ ]
38333
+ }
38334
+ ],
38335
+ "attributes": [
38336
+ {
38337
+ "name": "selectedPosition",
37553
38338
  "type": {
37554
- "text": "AutomationButtonBadgeCommandLocked"
38339
+ "text": "number"
37555
38340
  },
37556
- "fieldName": "badgeCommandLocked",
37557
- "inheritedFrom": {
37558
- "name": "ObcAbstractAutomationButton",
37559
- "module": "src/automation/automation-button/abstract-automation-button.ts"
37560
- }
38341
+ "default": "1",
38342
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped.",
38343
+ "fieldName": "selectedPosition"
37561
38344
  },
37562
38345
  {
37563
- "name": "badgeInterlock",
38346
+ "name": "vertical",
37564
38347
  "type": {
37565
- "text": "AutomationButtonBadgeInterlock"
38348
+ "text": "boolean"
37566
38349
  },
37567
- "fieldName": "badgeInterlock",
37568
- "inheritedFrom": {
37569
- "name": "ObcAbstractAutomationButton",
37570
- "module": "src/automation/automation-button/abstract-automation-button.ts"
37571
- }
38350
+ "default": "false",
38351
+ "description": "Lays the control out vertically: positions stack top to bottom and the position symbols rotate 90° counter-clockwise to match a vertical flow path.",
38352
+ "fieldName": "vertical"
37572
38353
  },
37573
38354
  {
37574
- "name": "badgeAlert",
38355
+ "name": "ariaLabel",
37575
38356
  "type": {
37576
- "text": "AutomationButtonBadgeAlert"
38357
+ "text": "string"
37577
38358
  },
37578
- "fieldName": "badgeAlert",
37579
- "inheritedFrom": {
37580
- "name": "ObcAbstractAutomationButton",
37581
- "module": "src/automation/automation-button/abstract-automation-button.ts"
37582
- }
38359
+ "default": "'Position selector'",
38360
+ "description": "Accessible name for the radio group (the control is icon-only). Concrete components override the default with a device-specific name.",
38361
+ "fieldName": "ariaLabel"
37583
38362
  }
37584
38363
  ],
37585
38364
  "superclass": {
37586
- "name": "ObcAbstractAutomationButtonSquared",
37587
- "module": "/src/automation/automation-button/abstract-automation-button-squared.js"
38365
+ "name": "LitElement",
38366
+ "package": "lit"
37588
38367
  },
37589
- "tagName": "obc-router",
37590
38368
  "customElement": true
37591
38369
  }
37592
38370
  ],
37593
38371
  "exports": [
37594
38372
  {
37595
38373
  "kind": "js",
37596
- "name": "ObcRouter",
37597
- "declaration": {
37598
- "name": "ObcRouter",
37599
- "module": "src/automation/router/router.ts"
37600
- }
37601
- },
37602
- {
37603
- "kind": "custom-element-definition",
37604
- "name": "obc-router",
38374
+ "name": "ObcShuffleButtonBase",
37605
38375
  "declaration": {
37606
- "name": "ObcRouter",
37607
- "module": "src/automation/router/router.ts"
38376
+ "name": "ObcShuffleButtonBase",
38377
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
37608
38378
  }
37609
38379
  }
37610
38380
  ]
@@ -55209,6 +55979,156 @@
55209
55979
  }
55210
55980
  ]
55211
55981
  },
55982
+ {
55983
+ "kind": "javascript-module",
55984
+ "path": "src/components/alert-subsystem-counter/alert-subsystem-counter.ts",
55985
+ "declarations": [
55986
+ {
55987
+ "kind": "class",
55988
+ "description": "`<obc-alert-subsystem-counter>` – A framed summary of a subsystem's alert\ncounts: a leading icon, a label, and a trailing set of slotted count badges.\n\nWhen there are no active alerts it shows a muted label and an empty-state\nmessage instead of the badges. The count badges themselves are supplied by\nthe consumer as slotted `obc-badge` elements; this component provides only\nthe frame, layout, label, and empty state.\n\n---\n\n### Features\n- **Orientation:** `horizontal` (single row) or `vertical` (badges on a line\n below the label).\n- **Alert state:** `hasAlert` toggles between an active (bold label, badges)\n and an inactive (muted label, empty text) presentation.\n- **Freeform label:** Pass a full title or an abbreviation — the label is\n plain text decided by the caller and truncates with an ellipsis.\n- **Configurable empty text:** Customize the message shown when there are no\n alerts via `emptyText`.\n- **Optional leading icon:** Provide an icon through the `icon` slot; omit it\n and the leading box collapses with no empty gap.\n\n---\n\n### Usage Guidelines\n- Use this component to give an at-a-glance count of outstanding alerts for a\n single subsystem, grouped by severity.\n- Provide one slotted badge per severity in the `badges` slot, typically\n `<obc-badge size=\"large\">` with a severity `type` and a `number`. The\n badge `type` values are the same severity vocabulary as `AlertType`\n (`alarm`, `warning`, `caution` and the `level-*` family); order them\n highest severity first, as `ALERT_SEVERITY_PRIORITY` does.\n- Set `hasAlert` to `false` to present the resolved/clear state; the badges\n are then not rendered and `emptyText` is shown. The component does not\n derive the state from the slotted badges — the consumer owns it.\n- Choose `vertical` orientation in narrow containers where the badges do not\n fit beside the label.\n- The counter is display-only: it renders no button and fires no events. For\n a clickable subsystem entry with badges, see `obc-tree-navigation-item`\n (`alertBadges`) or `obc-integration-fleet-button` (`alerts`).\n\n---\n\n### Slots\n\n| Slot Name | Renders When... | Purpose |\n|-----------|------------------------|----------------------------------------------------|\n| `icon` | The slot has content | Leading 24px icon (e.g. `<obi-placeholder>`). |\n| `badges` | `hasAlert` is true | Count badges, one per severity (`<obc-badge>`). |\n\n---\n\n### Example\n\n```html\n<obc-alert-subsystem-counter label=\"Label\" hasAlert>\n <obi-placeholder slot=\"icon\"></obi-placeholder>\n <obc-badge slot=\"badges\" size=\"large\" type=\"alarm\" .number=${9}></obc-badge>\n <obc-badge slot=\"badges\" size=\"large\" type=\"warning\" .number=${4}></obc-badge>\n <obc-badge slot=\"badges\" size=\"large\" type=\"caution\" .number=${2}></obc-badge>\n</obc-alert-subsystem-counter>\n```",
55989
+ "name": "ObcAlertSubsystemCounter",
55990
+ "slots": [
55991
+ {
55992
+ "description": "Optional leading 24px icon.",
55993
+ "name": "icon"
55994
+ },
55995
+ {
55996
+ "description": "Count badges shown when `hasAlert` is true.",
55997
+ "name": "badges"
55998
+ }
55999
+ ],
56000
+ "members": [
56001
+ {
56002
+ "kind": "field",
56003
+ "name": "label",
56004
+ "type": {
56005
+ "text": "string"
56006
+ },
56007
+ "default": "''",
56008
+ "description": "The subsystem label. Pass a full title or an abbreviation as plain text.",
56009
+ "attribute": "label"
56010
+ },
56011
+ {
56012
+ "kind": "field",
56013
+ "name": "orientation",
56014
+ "type": {
56015
+ "text": "ObcAlertSubsystemCounterOrientation"
56016
+ },
56017
+ "description": "Layout direction: `horizontal` (default) keeps icon, label and badges in one row; `vertical` moves the badges (or empty text) to a line below the label.",
56018
+ "attribute": "orientation"
56019
+ },
56020
+ {
56021
+ "kind": "field",
56022
+ "name": "hasAlert",
56023
+ "type": {
56024
+ "text": "boolean"
56025
+ },
56026
+ "default": "false",
56027
+ "description": "Whether the subsystem has active alerts. `true` shows the label bold and renders the `badges` slot; `false` mutes the label and shows `emptyText` instead of the badges.",
56028
+ "attribute": "hasAlert"
56029
+ },
56030
+ {
56031
+ "kind": "field",
56032
+ "name": "emptyText",
56033
+ "type": {
56034
+ "text": "string"
56035
+ },
56036
+ "default": "'No alerts'",
56037
+ "description": "Text shown in the trailing area when `hasAlert` is `false`.\n\nAvailable when `hasAlert==false`.",
56038
+ "attribute": "emptyText",
56039
+ "availableWhen": "hasAlert==false",
56040
+ "availableWhenIf": {
56041
+ "arg": "hasAlert",
56042
+ "truthy": false
56043
+ }
56044
+ },
56045
+ {
56046
+ "kind": "field",
56047
+ "name": "hasIcon",
56048
+ "type": {
56049
+ "text": "boolean"
56050
+ },
56051
+ "privacy": "private",
56052
+ "default": "false"
56053
+ },
56054
+ {
56055
+ "kind": "method",
56056
+ "name": "handleIconSlotChange",
56057
+ "privacy": "private",
56058
+ "parameters": [
56059
+ {
56060
+ "name": "e",
56061
+ "type": {
56062
+ "text": "Event"
56063
+ }
56064
+ }
56065
+ ]
56066
+ }
56067
+ ],
56068
+ "attributes": [
56069
+ {
56070
+ "name": "label",
56071
+ "type": {
56072
+ "text": "string"
56073
+ },
56074
+ "default": "''",
56075
+ "description": "The subsystem label. Pass a full title or an abbreviation as plain text.",
56076
+ "fieldName": "label"
56077
+ },
56078
+ {
56079
+ "name": "orientation",
56080
+ "type": {
56081
+ "text": "ObcAlertSubsystemCounterOrientation"
56082
+ },
56083
+ "description": "Layout direction: `horizontal` (default) keeps icon, label and badges in one row; `vertical` moves the badges (or empty text) to a line below the label.",
56084
+ "fieldName": "orientation"
56085
+ },
56086
+ {
56087
+ "name": "hasAlert",
56088
+ "type": {
56089
+ "text": "boolean"
56090
+ },
56091
+ "default": "false",
56092
+ "description": "Whether the subsystem has active alerts. `true` shows the label bold and renders the `badges` slot; `false` mutes the label and shows `emptyText` instead of the badges.",
56093
+ "fieldName": "hasAlert"
56094
+ },
56095
+ {
56096
+ "name": "emptyText",
56097
+ "type": {
56098
+ "text": "string"
56099
+ },
56100
+ "default": "'No alerts'",
56101
+ "description": "Text shown in the trailing area when `hasAlert` is `false`.\n\nAvailable when `hasAlert==false`.",
56102
+ "fieldName": "emptyText"
56103
+ }
56104
+ ],
56105
+ "superclass": {
56106
+ "name": "LitElement",
56107
+ "package": "lit"
56108
+ },
56109
+ "tagName": "obc-alert-subsystem-counter",
56110
+ "customElement": true
56111
+ }
56112
+ ],
56113
+ "exports": [
56114
+ {
56115
+ "kind": "js",
56116
+ "name": "ObcAlertSubsystemCounter",
56117
+ "declaration": {
56118
+ "name": "ObcAlertSubsystemCounter",
56119
+ "module": "src/components/alert-subsystem-counter/alert-subsystem-counter.ts"
56120
+ }
56121
+ },
56122
+ {
56123
+ "kind": "custom-element-definition",
56124
+ "name": "obc-alert-subsystem-counter",
56125
+ "declaration": {
56126
+ "name": "ObcAlertSubsystemCounter",
56127
+ "module": "src/components/alert-subsystem-counter/alert-subsystem-counter.ts"
56128
+ }
56129
+ }
56130
+ ]
56131
+ },
55212
56132
  {
55213
56133
  "kind": "javascript-module",
55214
56134
  "path": "src/components/app-button/app-button.ts",