@oicl/openbridge-webcomponents-full-bundle 2.0.0-next.136 → 2.0.0-next.137

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 (39) hide show
  1. package/bundle/openbridge-webcomponents.bundle.js +11434 -10949
  2. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  3. package/custom-elements.json +784 -0
  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/package.json +1 -1
  29. package/src/automation/hydraulic-check-valve/hydraulic-check-valve.css +3 -0
  30. package/src/automation/hydraulic-check-valve/hydraulic-check-valve.stories.ts +18 -0
  31. package/src/automation/hydraulic-check-valve/hydraulic-check-valve.ts +60 -0
  32. package/src/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.stories.ts +72 -0
  33. package/src/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.ts +108 -0
  34. package/src/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.stories.ts +60 -0
  35. package/src/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.ts +101 -0
  36. package/src/automation/shuffle-button/shuffle-button-base.ts +170 -0
  37. package/src/automation/shuffle-button/shuffle-button.css +136 -0
  38. package/src/automation/shuffle-button/shuffle-layout.spec.ts +44 -0
  39. package/src/automation/shuffle-button/shuffle-layout.ts +21 -0
@@ -3262,6 +3262,27 @@
3262
3262
  }
3263
3263
  ]
3264
3264
  },
3265
+ {
3266
+ "kind": "javascript-module",
3267
+ "path": "dist/automation/hydraulic-check-valve/hydraulic-check-valve.js",
3268
+ "declarations": [
3269
+ {
3270
+ "kind": "variable",
3271
+ "name": "ObcHydraulicCheckValve",
3272
+ "default": "class extends LitElement { constructor() { super(...arguments); this.ariaLabel = \"Check valve\"; this.vertical = false; } render() { return html` <div class=${classMap({ shuffle: true, vertical: this.vertical })} role=\"img\" aria-label=${this.ariaLabel} > <div class=\"window\"> <div class=\"track\"></div> <div class=\"thumb selected\"> <div class=\"visible-wrapper\"> <div class=\"icon-container\"> <obi-hydraulic-13></obi-hydraulic-13> </div> </div> </div> </div> </div> `; } }"
3273
+ }
3274
+ ],
3275
+ "exports": [
3276
+ {
3277
+ "kind": "js",
3278
+ "name": "ObcHydraulicCheckValve",
3279
+ "declaration": {
3280
+ "name": "ObcHydraulicCheckValve",
3281
+ "module": "dist/automation/hydraulic-check-valve/hydraulic-check-valve.js"
3282
+ }
3283
+ }
3284
+ ]
3285
+ },
3265
3286
  {
3266
3287
  "kind": "javascript-module",
3267
3288
  "path": "dist/automation/hydraulic-separator/hydraulic-separator.js",
@@ -3283,6 +3304,64 @@
3283
3304
  }
3284
3305
  ]
3285
3306
  },
3307
+ {
3308
+ "kind": "javascript-module",
3309
+ "path": "dist/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.js",
3310
+ "declarations": [
3311
+ {
3312
+ "kind": "variable",
3313
+ "name": "ObcHydraulicValve43",
3314
+ "default": "class extends ObcShuffleButtonBase { constructor() { super(...arguments); this.type = \"1\"; this.ariaLabel = \"Hydraulic 4/3 valve\"; } get positionCount() { return 3; } renderPositionIcon(position) { if (position === 0) { return html`<obi-hydraulic-02></obi-hydraulic-02>`; } if (position === 2) { return html`<obi-hydraulic-07></obi-hydraulic-07>`; } switch (this.type) { case \"2\": return html`<obi-hydraulic-16></obi-hydraulic-16>`; case \"3\": return html`<obi-hydraulic-08></obi-hydraulic-08>`; case \"4\": return html`<obi-hydraulic-05></obi-hydraulic-05>`; case \"5\": return html`<obi-hydraulic-06></obi-hydraulic-06>`; case \"1\": default: return html`<obi-hydraulic-01></obi-hydraulic-01>`; } } }"
3315
+ }
3316
+ ],
3317
+ "exports": [
3318
+ {
3319
+ "kind": "js",
3320
+ "name": "HydraulicValve43Type",
3321
+ "declaration": {
3322
+ "name": "HydraulicValve43Type",
3323
+ "module": "dist/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.js"
3324
+ }
3325
+ },
3326
+ {
3327
+ "kind": "js",
3328
+ "name": "ObcHydraulicValve43",
3329
+ "declaration": {
3330
+ "name": "ObcHydraulicValve43",
3331
+ "module": "dist/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.js"
3332
+ }
3333
+ }
3334
+ ]
3335
+ },
3336
+ {
3337
+ "kind": "javascript-module",
3338
+ "path": "dist/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.js",
3339
+ "declarations": [
3340
+ {
3341
+ "kind": "variable",
3342
+ "name": "ObcHydraulicValveX2",
3343
+ "default": "class extends ObcShuffleButtonBase { constructor() { super(...arguments); this.type = \"2/2\"; this.ariaLabel = \"Hydraulic valve\"; } get positionCount() { return 2; } renderPositionIcon(position) { switch (this.type) { case \"3/2\": return position === 0 ? html`<obi-hydraulic-11></obi-hydraulic-11>` : html`<obi-hydraulic-10></obi-hydraulic-10>`; case \"4/2\": return position === 0 ? html`<obi-hydraulic-02></obi-hydraulic-02>` : html`<obi-hydraulic-07></obi-hydraulic-07>`; case \"2/2\": default: return position === 0 ? html`<obi-hydraulic-02></obi-hydraulic-02>` : html`<obi-hydraulic-01></obi-hydraulic-01>`; } } }"
3344
+ }
3345
+ ],
3346
+ "exports": [
3347
+ {
3348
+ "kind": "js",
3349
+ "name": "HydraulicValveX2Type",
3350
+ "declaration": {
3351
+ "name": "HydraulicValveX2Type",
3352
+ "module": "dist/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.js"
3353
+ }
3354
+ },
3355
+ {
3356
+ "kind": "js",
3357
+ "name": "ObcHydraulicValveX2",
3358
+ "declaration": {
3359
+ "name": "ObcHydraulicValveX2",
3360
+ "module": "dist/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.js"
3361
+ }
3362
+ }
3363
+ ]
3364
+ },
3286
3365
  {
3287
3366
  "kind": "javascript-module",
3288
3367
  "path": "dist/automation/indicator-battery/indicator-battery.js",
@@ -3623,6 +3702,27 @@
3623
3702
  }
3624
3703
  ]
3625
3704
  },
3705
+ {
3706
+ "kind": "javascript-module",
3707
+ "path": "dist/automation/shuffle-button/shuffle-button-base.js",
3708
+ "declarations": [
3709
+ {
3710
+ "kind": "variable",
3711
+ "name": "ObcShuffleButtonBase",
3712
+ "default": "_ObcShuffleButtonBase"
3713
+ }
3714
+ ],
3715
+ "exports": [
3716
+ {
3717
+ "kind": "js",
3718
+ "name": "ObcShuffleButtonBase",
3719
+ "declaration": {
3720
+ "name": "ObcShuffleButtonBase",
3721
+ "module": "dist/automation/shuffle-button/shuffle-button-base.js"
3722
+ }
3723
+ }
3724
+ ]
3725
+ },
3626
3726
  {
3627
3727
  "kind": "javascript-module",
3628
3728
  "path": "dist/automation/source/source.js",
@@ -32449,6 +32549,65 @@
32449
32549
  }
32450
32550
  ]
32451
32551
  },
32552
+ {
32553
+ "kind": "javascript-module",
32554
+ "path": "src/automation/hydraulic-check-valve/hydraulic-check-valve.ts",
32555
+ "declarations": [
32556
+ {
32557
+ "kind": "class",
32558
+ "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.",
32559
+ "name": "ObcHydraulicCheckValve",
32560
+ "members": [
32561
+ {
32562
+ "kind": "field",
32563
+ "name": "ariaLabel",
32564
+ "type": {
32565
+ "text": "string"
32566
+ },
32567
+ "default": "'Check valve'",
32568
+ "description": "Accessible name for the symbol."
32569
+ },
32570
+ {
32571
+ "kind": "field",
32572
+ "name": "vertical",
32573
+ "type": {
32574
+ "text": "boolean"
32575
+ },
32576
+ "default": "false",
32577
+ "description": "Rotates the symbol 90° counter-clockwise to match a vertical flow path."
32578
+ },
32579
+ {
32580
+ "kind": "method",
32581
+ "name": "render"
32582
+ },
32583
+ {
32584
+ "kind": "field",
32585
+ "name": "styles",
32586
+ "type": {
32587
+ "text": "array"
32588
+ },
32589
+ "static": true,
32590
+ "default": "[unsafeCSS(sharedStyle), unsafeCSS(componentStyle)]"
32591
+ }
32592
+ ],
32593
+ "superclass": {
32594
+ "name": "LitElement",
32595
+ "package": "lit"
32596
+ },
32597
+ "customElement": true
32598
+ }
32599
+ ],
32600
+ "exports": [
32601
+ {
32602
+ "kind": "js",
32603
+ "name": "ObcHydraulicCheckValve",
32604
+ "declaration": {
32605
+ "name": "ObcHydraulicCheckValve",
32606
+ "module": "src/automation/hydraulic-check-valve/hydraulic-check-valve.ts"
32607
+ }
32608
+ }
32609
+ ]
32610
+ },
32452
32611
  {
32453
32612
  "kind": "javascript-module",
32454
32613
  "path": "src/automation/hydraulic-separator/hydraulic-separator.ts",
@@ -32967,6 +33126,468 @@
32967
33126
  }
32968
33127
  ]
32969
33128
  },
33129
+ {
33130
+ "kind": "javascript-module",
33131
+ "path": "src/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.ts",
33132
+ "declarations": [
33133
+ {
33134
+ "kind": "class",
33135
+ "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).",
33136
+ "name": "ObcHydraulicValve43",
33137
+ "members": [
33138
+ {
33139
+ "kind": "field",
33140
+ "name": "type",
33141
+ "type": {
33142
+ "text": "HydraulicValve43Type"
33143
+ },
33144
+ "description": "Center-position symbol variant."
33145
+ },
33146
+ {
33147
+ "kind": "field",
33148
+ "name": "ariaLabel",
33149
+ "type": {
33150
+ "text": "string"
33151
+ },
33152
+ "default": "'Hydraulic 4/3 valve'",
33153
+ "description": "Accessible name for the control.",
33154
+ "inheritedFrom": {
33155
+ "name": "ObcShuffleButtonBase",
33156
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33157
+ }
33158
+ },
33159
+ {
33160
+ "kind": "field",
33161
+ "name": "positionCount",
33162
+ "type": {
33163
+ "text": "number"
33164
+ },
33165
+ "privacy": "protected",
33166
+ "readonly": true,
33167
+ "inheritedFrom": {
33168
+ "name": "ObcShuffleButtonBase",
33169
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33170
+ }
33171
+ },
33172
+ {
33173
+ "kind": "method",
33174
+ "name": "renderPositionIcon",
33175
+ "privacy": "protected",
33176
+ "return": {
33177
+ "type": {
33178
+ "text": "TemplateResult"
33179
+ }
33180
+ },
33181
+ "parameters": [
33182
+ {
33183
+ "name": "position",
33184
+ "type": {
33185
+ "text": "number"
33186
+ }
33187
+ }
33188
+ ],
33189
+ "inheritedFrom": {
33190
+ "name": "ObcShuffleButtonBase",
33191
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33192
+ }
33193
+ },
33194
+ {
33195
+ "kind": "field",
33196
+ "name": "selectedPosition",
33197
+ "type": {
33198
+ "text": "number"
33199
+ },
33200
+ "default": "1",
33201
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped.",
33202
+ "inheritedFrom": {
33203
+ "name": "ObcShuffleButtonBase",
33204
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33205
+ }
33206
+ },
33207
+ {
33208
+ "kind": "field",
33209
+ "name": "vertical",
33210
+ "type": {
33211
+ "text": "boolean"
33212
+ },
33213
+ "default": "false",
33214
+ "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.",
33215
+ "inheritedFrom": {
33216
+ "name": "ObcShuffleButtonBase",
33217
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33218
+ }
33219
+ },
33220
+ {
33221
+ "kind": "field",
33222
+ "name": "suppressHover",
33223
+ "type": {
33224
+ "text": "boolean"
33225
+ },
33226
+ "privacy": "private",
33227
+ "default": "false",
33228
+ "inheritedFrom": {
33229
+ "name": "ObcShuffleButtonBase",
33230
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33231
+ }
33232
+ },
33233
+ {
33234
+ "kind": "method",
33235
+ "name": "render",
33236
+ "inheritedFrom": {
33237
+ "name": "ObcShuffleButtonBase",
33238
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33239
+ }
33240
+ },
33241
+ {
33242
+ "kind": "method",
33243
+ "name": "renderThumb",
33244
+ "privacy": "private",
33245
+ "parameters": [
33246
+ {
33247
+ "name": "position",
33248
+ "type": {
33249
+ "text": "number"
33250
+ }
33251
+ },
33252
+ {
33253
+ "name": "selected",
33254
+ "type": {
33255
+ "text": "number"
33256
+ }
33257
+ }
33258
+ ],
33259
+ "inheritedFrom": {
33260
+ "name": "ObcShuffleButtonBase",
33261
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33262
+ }
33263
+ },
33264
+ {
33265
+ "kind": "method",
33266
+ "name": "requestPosition",
33267
+ "privacy": "private",
33268
+ "parameters": [
33269
+ {
33270
+ "name": "position",
33271
+ "type": {
33272
+ "text": "number"
33273
+ }
33274
+ }
33275
+ ],
33276
+ "inheritedFrom": {
33277
+ "name": "ObcShuffleButtonBase",
33278
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33279
+ }
33280
+ },
33281
+ {
33282
+ "kind": "method",
33283
+ "name": "restoreHover",
33284
+ "privacy": "private",
33285
+ "inheritedFrom": {
33286
+ "name": "ObcShuffleButtonBase",
33287
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33288
+ }
33289
+ },
33290
+ {
33291
+ "kind": "method",
33292
+ "name": "handleKeydown",
33293
+ "privacy": "private",
33294
+ "parameters": [
33295
+ {
33296
+ "name": "event",
33297
+ "type": {
33298
+ "text": "KeyboardEvent"
33299
+ }
33300
+ }
33301
+ ],
33302
+ "inheritedFrom": {
33303
+ "name": "ObcShuffleButtonBase",
33304
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33305
+ }
33306
+ },
33307
+ {
33308
+ "kind": "method",
33309
+ "name": "updated",
33310
+ "privacy": "protected",
33311
+ "parameters": [
33312
+ {
33313
+ "name": "changed",
33314
+ "type": {
33315
+ "text": "PropertyValues"
33316
+ }
33317
+ }
33318
+ ],
33319
+ "inheritedFrom": {
33320
+ "name": "ObcShuffleButtonBase",
33321
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33322
+ }
33323
+ },
33324
+ {
33325
+ "kind": "field",
33326
+ "name": "styles",
33327
+ "static": true,
33328
+ "inheritedFrom": {
33329
+ "name": "ObcShuffleButtonBase",
33330
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33331
+ }
33332
+ }
33333
+ ],
33334
+ "events": [
33335
+ {
33336
+ "type": {
33337
+ "text": "CustomEvent<PositionSelectedDetail>"
33338
+ },
33339
+ "description": "Fired when the user requests a position (click or arrow key).",
33340
+ "name": "position-selected"
33341
+ }
33342
+ ],
33343
+ "superclass": {
33344
+ "name": "ObcShuffleButtonBase",
33345
+ "module": "/src/automation/shuffle-button/shuffle-button-base.js"
33346
+ }
33347
+ }
33348
+ ],
33349
+ "exports": [
33350
+ {
33351
+ "kind": "js",
33352
+ "name": "ObcHydraulicValve43",
33353
+ "declaration": {
33354
+ "name": "ObcHydraulicValve43",
33355
+ "module": "src/automation/hydraulic-valve-4-3/hydraulic-valve-4-3.ts"
33356
+ }
33357
+ }
33358
+ ]
33359
+ },
33360
+ {
33361
+ "kind": "javascript-module",
33362
+ "path": "src/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.ts",
33363
+ "declarations": [
33364
+ {
33365
+ "kind": "class",
33366
+ "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).",
33367
+ "name": "ObcHydraulicValveX2",
33368
+ "members": [
33369
+ {
33370
+ "kind": "field",
33371
+ "name": "type",
33372
+ "type": {
33373
+ "text": "HydraulicValveX2Type"
33374
+ },
33375
+ "description": "Port/position configuration."
33376
+ },
33377
+ {
33378
+ "kind": "field",
33379
+ "name": "ariaLabel",
33380
+ "type": {
33381
+ "text": "string"
33382
+ },
33383
+ "default": "'Hydraulic valve'",
33384
+ "description": "Accessible name for the control.",
33385
+ "inheritedFrom": {
33386
+ "name": "ObcShuffleButtonBase",
33387
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33388
+ }
33389
+ },
33390
+ {
33391
+ "kind": "field",
33392
+ "name": "positionCount",
33393
+ "type": {
33394
+ "text": "number"
33395
+ },
33396
+ "privacy": "protected",
33397
+ "readonly": true,
33398
+ "inheritedFrom": {
33399
+ "name": "ObcShuffleButtonBase",
33400
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33401
+ }
33402
+ },
33403
+ {
33404
+ "kind": "method",
33405
+ "name": "renderPositionIcon",
33406
+ "privacy": "protected",
33407
+ "return": {
33408
+ "type": {
33409
+ "text": "TemplateResult"
33410
+ }
33411
+ },
33412
+ "parameters": [
33413
+ {
33414
+ "name": "position",
33415
+ "type": {
33416
+ "text": "number"
33417
+ }
33418
+ }
33419
+ ],
33420
+ "inheritedFrom": {
33421
+ "name": "ObcShuffleButtonBase",
33422
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33423
+ }
33424
+ },
33425
+ {
33426
+ "kind": "field",
33427
+ "name": "selectedPosition",
33428
+ "type": {
33429
+ "text": "number"
33430
+ },
33431
+ "default": "1",
33432
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped.",
33433
+ "inheritedFrom": {
33434
+ "name": "ObcShuffleButtonBase",
33435
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33436
+ }
33437
+ },
33438
+ {
33439
+ "kind": "field",
33440
+ "name": "vertical",
33441
+ "type": {
33442
+ "text": "boolean"
33443
+ },
33444
+ "default": "false",
33445
+ "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.",
33446
+ "inheritedFrom": {
33447
+ "name": "ObcShuffleButtonBase",
33448
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33449
+ }
33450
+ },
33451
+ {
33452
+ "kind": "field",
33453
+ "name": "suppressHover",
33454
+ "type": {
33455
+ "text": "boolean"
33456
+ },
33457
+ "privacy": "private",
33458
+ "default": "false",
33459
+ "inheritedFrom": {
33460
+ "name": "ObcShuffleButtonBase",
33461
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33462
+ }
33463
+ },
33464
+ {
33465
+ "kind": "method",
33466
+ "name": "render",
33467
+ "inheritedFrom": {
33468
+ "name": "ObcShuffleButtonBase",
33469
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33470
+ }
33471
+ },
33472
+ {
33473
+ "kind": "method",
33474
+ "name": "renderThumb",
33475
+ "privacy": "private",
33476
+ "parameters": [
33477
+ {
33478
+ "name": "position",
33479
+ "type": {
33480
+ "text": "number"
33481
+ }
33482
+ },
33483
+ {
33484
+ "name": "selected",
33485
+ "type": {
33486
+ "text": "number"
33487
+ }
33488
+ }
33489
+ ],
33490
+ "inheritedFrom": {
33491
+ "name": "ObcShuffleButtonBase",
33492
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33493
+ }
33494
+ },
33495
+ {
33496
+ "kind": "method",
33497
+ "name": "requestPosition",
33498
+ "privacy": "private",
33499
+ "parameters": [
33500
+ {
33501
+ "name": "position",
33502
+ "type": {
33503
+ "text": "number"
33504
+ }
33505
+ }
33506
+ ],
33507
+ "inheritedFrom": {
33508
+ "name": "ObcShuffleButtonBase",
33509
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33510
+ }
33511
+ },
33512
+ {
33513
+ "kind": "method",
33514
+ "name": "restoreHover",
33515
+ "privacy": "private",
33516
+ "inheritedFrom": {
33517
+ "name": "ObcShuffleButtonBase",
33518
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33519
+ }
33520
+ },
33521
+ {
33522
+ "kind": "method",
33523
+ "name": "handleKeydown",
33524
+ "privacy": "private",
33525
+ "parameters": [
33526
+ {
33527
+ "name": "event",
33528
+ "type": {
33529
+ "text": "KeyboardEvent"
33530
+ }
33531
+ }
33532
+ ],
33533
+ "inheritedFrom": {
33534
+ "name": "ObcShuffleButtonBase",
33535
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33536
+ }
33537
+ },
33538
+ {
33539
+ "kind": "method",
33540
+ "name": "updated",
33541
+ "privacy": "protected",
33542
+ "parameters": [
33543
+ {
33544
+ "name": "changed",
33545
+ "type": {
33546
+ "text": "PropertyValues"
33547
+ }
33548
+ }
33549
+ ],
33550
+ "inheritedFrom": {
33551
+ "name": "ObcShuffleButtonBase",
33552
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33553
+ }
33554
+ },
33555
+ {
33556
+ "kind": "field",
33557
+ "name": "styles",
33558
+ "static": true,
33559
+ "inheritedFrom": {
33560
+ "name": "ObcShuffleButtonBase",
33561
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
33562
+ }
33563
+ }
33564
+ ],
33565
+ "events": [
33566
+ {
33567
+ "type": {
33568
+ "text": "CustomEvent<PositionSelectedDetail>"
33569
+ },
33570
+ "description": "Fired when the user requests a position (click or arrow key).",
33571
+ "name": "position-selected"
33572
+ }
33573
+ ],
33574
+ "superclass": {
33575
+ "name": "ObcShuffleButtonBase",
33576
+ "module": "/src/automation/shuffle-button/shuffle-button-base.js"
33577
+ }
33578
+ }
33579
+ ],
33580
+ "exports": [
33581
+ {
33582
+ "kind": "js",
33583
+ "name": "ObcHydraulicValveX2",
33584
+ "declaration": {
33585
+ "name": "ObcHydraulicValveX2",
33586
+ "module": "src/automation/hydraulic-valve-x-2/hydraulic-valve-x-2.ts"
33587
+ }
33588
+ }
33589
+ ]
33590
+ },
32970
33591
  {
32971
33592
  "kind": "javascript-module",
32972
33593
  "path": "src/automation/indicator-battery/indicator-battery.ts",
@@ -36657,6 +37278,169 @@
36657
37278
  }
36658
37279
  ]
36659
37280
  },
37281
+ {
37282
+ "kind": "javascript-module",
37283
+ "path": "src/automation/shuffle-button/shuffle-button-base.ts",
37284
+ "declarations": [
37285
+ {
37286
+ "kind": "class",
37287
+ "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`).",
37288
+ "name": "ObcShuffleButtonBase",
37289
+ "members": [
37290
+ {
37291
+ "kind": "field",
37292
+ "name": "selectedPosition",
37293
+ "type": {
37294
+ "text": "number"
37295
+ },
37296
+ "default": "1",
37297
+ "description": "Zero-based index of the currently selected position. Out-of-range values are clamped."
37298
+ },
37299
+ {
37300
+ "kind": "field",
37301
+ "name": "vertical",
37302
+ "type": {
37303
+ "text": "boolean"
37304
+ },
37305
+ "default": "false",
37306
+ "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."
37307
+ },
37308
+ {
37309
+ "kind": "field",
37310
+ "name": "ariaLabel",
37311
+ "type": {
37312
+ "text": "string"
37313
+ },
37314
+ "default": "'Position selector'",
37315
+ "description": "Accessible name for the radio group (the control is icon-only). Concrete components override the default with a device-specific name."
37316
+ },
37317
+ {
37318
+ "kind": "field",
37319
+ "name": "suppressHover",
37320
+ "type": {
37321
+ "text": "boolean"
37322
+ },
37323
+ "privacy": "private",
37324
+ "default": "false"
37325
+ },
37326
+ {
37327
+ "kind": "field",
37328
+ "name": "positionCount",
37329
+ "type": {
37330
+ "text": "number"
37331
+ },
37332
+ "privacy": "protected",
37333
+ "readonly": true
37334
+ },
37335
+ {
37336
+ "kind": "method",
37337
+ "name": "renderPositionIcon",
37338
+ "privacy": "protected",
37339
+ "return": {
37340
+ "type": {
37341
+ "text": "TemplateResult"
37342
+ }
37343
+ },
37344
+ "parameters": [
37345
+ {
37346
+ "name": "_position",
37347
+ "type": {
37348
+ "text": "number"
37349
+ }
37350
+ }
37351
+ ]
37352
+ },
37353
+ {
37354
+ "kind": "method",
37355
+ "name": "render"
37356
+ },
37357
+ {
37358
+ "kind": "method",
37359
+ "name": "renderThumb",
37360
+ "privacy": "private",
37361
+ "parameters": [
37362
+ {
37363
+ "name": "position",
37364
+ "type": {
37365
+ "text": "number"
37366
+ }
37367
+ },
37368
+ {
37369
+ "name": "selected",
37370
+ "type": {
37371
+ "text": "number"
37372
+ }
37373
+ }
37374
+ ]
37375
+ },
37376
+ {
37377
+ "kind": "method",
37378
+ "name": "requestPosition",
37379
+ "privacy": "private",
37380
+ "parameters": [
37381
+ {
37382
+ "name": "position",
37383
+ "type": {
37384
+ "text": "number"
37385
+ }
37386
+ }
37387
+ ]
37388
+ },
37389
+ {
37390
+ "kind": "method",
37391
+ "name": "restoreHover",
37392
+ "privacy": "private"
37393
+ },
37394
+ {
37395
+ "kind": "method",
37396
+ "name": "handleKeydown",
37397
+ "privacy": "private",
37398
+ "parameters": [
37399
+ {
37400
+ "name": "event",
37401
+ "type": {
37402
+ "text": "KeyboardEvent"
37403
+ }
37404
+ }
37405
+ ]
37406
+ },
37407
+ {
37408
+ "kind": "method",
37409
+ "name": "updated",
37410
+ "privacy": "protected",
37411
+ "parameters": [
37412
+ {
37413
+ "name": "changed",
37414
+ "type": {
37415
+ "text": "PropertyValues"
37416
+ }
37417
+ }
37418
+ ]
37419
+ },
37420
+ {
37421
+ "kind": "field",
37422
+ "name": "styles",
37423
+ "static": true
37424
+ }
37425
+ ],
37426
+ "superclass": {
37427
+ "name": "LitElement",
37428
+ "package": "lit"
37429
+ },
37430
+ "customElement": true
37431
+ }
37432
+ ],
37433
+ "exports": [
37434
+ {
37435
+ "kind": "js",
37436
+ "name": "ObcShuffleButtonBase",
37437
+ "declaration": {
37438
+ "name": "ObcShuffleButtonBase",
37439
+ "module": "src/automation/shuffle-button/shuffle-button-base.ts"
37440
+ }
37441
+ }
37442
+ ]
37443
+ },
36660
37444
  {
36661
37445
  "kind": "javascript-module",
36662
37446
  "path": "src/automation/source/source.ts",