@oicl/openbridge-webcomponents 2.0.0-next.143 → 2.0.0-next.145

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 (38) hide show
  1. package/bundle/openbridge-webcomponents.bundle.js +4865 -4498
  2. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  3. package/custom-elements.json +248 -48
  4. package/dist/components/app-button/app-button.css.js +56 -0
  5. package/dist/components/app-button/app-button.css.js.map +1 -1
  6. package/dist/components/checkbox-item/checkbox-item.css.js +137 -12
  7. package/dist/components/checkbox-item/checkbox-item.css.js.map +1 -1
  8. package/dist/components/checkbox-item/checkbox-item.d.ts +72 -41
  9. package/dist/components/checkbox-item/checkbox-item.d.ts.map +1 -1
  10. package/dist/components/checkbox-item/checkbox-item.js +66 -25
  11. package/dist/components/checkbox-item/checkbox-item.js.map +1 -1
  12. package/dist/components/checkbox-list/checkbox-list-visibility.d.ts +16 -0
  13. package/dist/components/checkbox-list/checkbox-list-visibility.d.ts.map +1 -0
  14. package/dist/components/checkbox-list/checkbox-list-visibility.js +12 -0
  15. package/dist/components/checkbox-list/checkbox-list-visibility.js.map +1 -0
  16. package/dist/components/checkbox-list/checkbox-list.css.js +23 -0
  17. package/dist/components/checkbox-list/checkbox-list.css.js.map +1 -0
  18. package/dist/components/checkbox-list/checkbox-list.d.ts +66 -0
  19. package/dist/components/checkbox-list/checkbox-list.d.ts.map +1 -0
  20. package/dist/components/checkbox-list/checkbox-list.js +81 -0
  21. package/dist/components/checkbox-list/checkbox-list.js.map +1 -0
  22. package/dist/integration-systems/integration-app-bar/integration-app-bar.css.js +12 -1
  23. package/dist/integration-systems/integration-app-bar/integration-app-bar.css.js.map +1 -1
  24. package/dist/integration-systems/integration-app-bar/integration-app-bar.d.ts +2 -2
  25. package/dist/integration-systems/integration-app-bar/integration-app-bar.d.ts.map +1 -1
  26. package/dist/integration-systems/integration-app-bar/integration-app-bar.js +1 -21
  27. package/dist/integration-systems/integration-app-bar/integration-app-bar.js.map +1 -1
  28. package/dist/navigation-instruments/readout/readout.d.ts +11 -2
  29. package/dist/navigation-instruments/readout/readout.d.ts.map +1 -1
  30. package/dist/navigation-instruments/readout/readout.js +18 -0
  31. package/dist/navigation-instruments/readout/readout.js.map +1 -1
  32. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js +25 -0
  33. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js.map +1 -1
  34. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts +20 -4
  35. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts.map +1 -1
  36. package/dist/navigation-instruments/readout-list-item/readout-list-item.js +18 -6
  37. package/dist/navigation-instruments/readout-list-item/readout-list-item.js.map +1 -1
  38. package/package.json +1 -1
@@ -59502,14 +59502,8 @@
59502
59502
  "declarations": [
59503
59503
  {
59504
59504
  "kind": "class",
59505
- "description": "`<obc-checkbox-item>` – A list-item wrapper for `<obc-checkbox>` with label\nand optional nested indentation affordances.\n\n### Overview\nCombines checkbox interaction with a row-like container used in menus and\nhierarchical selection lists. The component proxies checkbox state changes,\nsupports touch-target or visual-target interaction behavior, and can render\nnested structure indicators.\n\n### Features\n- Three checkbox statuses: `unchecked`, `checked`, `mixed`.\n- Item state control: `enabled` or `disabled`.\n- Two hover/focus interaction modes: `touch-target` and `visual-target`.\n- Optional nested layout controls via `isNested`, `isLevel1`, `isLevel2`.\n- Forwards `aria-describedby` to the inner checkbox for assistive context.\n\n### Variants\n- **Nested level 1:** Chevron icon is shown.\n- **Nested level 2:** Chevron slot is reserved and nested spacer is shown.\n\n### Usage Guidelines\n- Use for checkbox rows that require text labels and optional hierarchy.\n- Keep `status` as the source of truth for checked/mixed/unchecked value.\n- Use `state=\"disabled\"` or `disabled` to lock interaction.\n- Prefer `hoverStyle=\"touch-target\"` for standard list behavior.\n\n### Slots / Content\n- No named slots. Label content is provided through the `label` property.\n\n### Events\n- `change` Fired when status changes (from row click or inner checkbox).\n **detail:** `{ status, disabled }`\n\n### Best Practices\n- Provide non-empty `label` for accessible naming.\n- Use `aria-describedby` when additional contextual text exists outside.\n- For deep hierarchies, use `isNested` with `isLevel1` / `isLevel2`\n consistently to preserve spacing and alignment.\n\n### Example\n```html\n<obc-checkbox-item\n status=\"mixed\"\n label=\"Include archived items\"\n hoverStyle=\"touch-target\"\n></obc-checkbox-item>\n```",
59505
+ "description": "`<obc-checkbox-item>` – A list row that pairs `<obc-checkbox>` with a label,\nan optional description, and hierarchy affordances for nested lists.\n\n### Overview\nThe row is the touch target: clicking anywhere on it toggles the checkbox,\nexcept on the chevron button, which only asks to expand or collapse. Depth\nis a number (`level`); the row indents itself so a flat sequence of rows\nreads as a tree. `<obc-checkbox-list>` builds on this to hide the rows\nunder a collapsed parent.\n\n### Features\n- Three statuses: `unchecked`, `checked`, `mixed`.\n- `touch-target` or `visual-target` hover treatment.\n- `level` indentation: level 1 reserves the chevron slot, each further\n level adds a spacer.\n- `expandable` rows show a chevron button that fires `expand-toggle`; the\n host owns `expanded`.\n- Optional `description` line under the label.\n- Forwards `aria-describedby` to the inner checkbox.\n\n### Usage Guidelines\n- Keep `status` as the source of truth; update it from the `change` event.\n- Set `expanded` in response to `expand-toggle` the row never flips it\n itself, so a parent (or `<obc-checkbox-list>`) can veto or persist it.\n- Use `level` 0 for a plain list; start at 1 when any row in the list is\n expandable so chevrons and checkboxes line up.\n- Prefer `hoverStyle=\"touch-target\"` for standard list behaviour.\n\n### Accessibility\nThe checkbox and the chevron are separate controls in the natural tab\norder. The chevron is a native button named by the row's label, with the\nstate in `aria-expanded`, following the WAI-ARIA checkbox and disclosure\nbutton patterns.\n\n### Example\n```html\n<obc-checkbox-item\n level=\"1\"\n expandable\n expanded\n status=\"mixed\"\n label=\"Reports\"\n></obc-checkbox-item>\n<obc-checkbox-item\n level=\"2\"\n status=\"checked\"\n label=\"Monthly\"\n description=\"Sent on the 1st\"\n></obc-checkbox-item>\n```",
59506
59506
  "name": "ObcCheckboxItem",
59507
- "slots": [
59508
- {
59509
- "description": "No named slots.",
59510
- "name": ""
59511
- }
59512
- ],
59513
59507
  "members": [
59514
59508
  {
59515
59509
  "kind": "field",
@@ -59517,6 +59511,7 @@
59517
59511
  "type": {
59518
59512
  "text": "CheckboxStatus"
59519
59513
  },
59514
+ "description": "Checkbox status: `unchecked`, `checked` or `mixed`.",
59520
59515
  "attribute": "status"
59521
59516
  },
59522
59517
  {
@@ -59525,6 +59520,7 @@
59525
59520
  "type": {
59526
59521
  "text": "ObcCheckboxItemState"
59527
59522
  },
59523
+ "description": "Item state: `enabled` or `disabled`.",
59528
59524
  "attribute": "state"
59529
59525
  },
59530
59526
  {
@@ -59534,6 +59530,7 @@
59534
59530
  "text": "boolean"
59535
59531
  },
59536
59532
  "default": "false",
59533
+ "description": "Disables the row and the inner checkbox.",
59537
59534
  "attribute": "disabled"
59538
59535
  },
59539
59536
  {
@@ -59543,41 +59540,56 @@
59543
59540
  "text": "string"
59544
59541
  },
59545
59542
  "default": "''",
59543
+ "description": "Text label; also the checkbox's accessible name.",
59546
59544
  "attribute": "label"
59547
59545
  },
59548
59546
  {
59549
59547
  "kind": "field",
59550
- "name": "isNested",
59548
+ "name": "description",
59551
59549
  "type": {
59552
- "text": "boolean"
59550
+ "text": "string"
59553
59551
  },
59554
- "default": "false",
59555
- "attribute": "isNested",
59552
+ "default": "''",
59553
+ "description": "Secondary line under the label; hidden when empty.",
59554
+ "attribute": "description"
59555
+ },
59556
+ {
59557
+ "kind": "field",
59558
+ "name": "level",
59559
+ "type": {
59560
+ "text": "number"
59561
+ },
59562
+ "default": "0",
59563
+ "description": "Depth in a nested list. 0 is a plain row; 1 reserves the chevron slot; each level above 1 adds a spacer.",
59564
+ "attribute": "level",
59556
59565
  "reflects": true
59557
59566
  },
59558
59567
  {
59559
59568
  "kind": "field",
59560
- "name": "isLevel1",
59569
+ "name": "expandable",
59561
59570
  "type": {
59562
59571
  "text": "boolean"
59563
59572
  },
59564
59573
  "default": "false",
59565
- "attribute": "isLevel1",
59566
- "reflects": true,
59567
- "availableWhen": "isNested==true || hoverStyle==visual-target",
59568
- "description": "Available when `isNested==true || hoverStyle==visual-target`."
59574
+ "description": "Shows the chevron button that fires `expand-toggle`.",
59575
+ "attribute": "expandable",
59576
+ "reflects": true
59569
59577
  },
59570
59578
  {
59571
59579
  "kind": "field",
59572
- "name": "isLevel2",
59580
+ "name": "expanded",
59573
59581
  "type": {
59574
59582
  "text": "boolean"
59575
59583
  },
59576
59584
  "default": "false",
59577
- "attribute": "isLevel2",
59585
+ "description": "Whether the row's children are shown; drives the chevron direction and `aria-expanded`.\n\nAvailable when `expandable==true`.",
59586
+ "attribute": "expanded",
59578
59587
  "reflects": true,
59579
- "availableWhen": "isNested==true || hoverStyle==visual-target",
59580
- "description": "Available when `isNested==true || hoverStyle==visual-target`."
59588
+ "availableWhen": "expandable==true",
59589
+ "availableWhenIf": {
59590
+ "arg": "expandable",
59591
+ "truthy": true
59592
+ }
59581
59593
  },
59582
59594
  {
59583
59595
  "kind": "field",
@@ -59585,6 +59597,7 @@
59585
59597
  "type": {
59586
59598
  "text": "ObcCheckboxItemHoverStyle"
59587
59599
  },
59600
+ "description": "Which box shows hover and focus: the whole row (`touch-target`) or the checkbox (`visual-target`).",
59588
59601
  "attribute": "hoverStyle"
59589
59602
  },
59590
59603
  {
@@ -59594,6 +59607,7 @@
59594
59607
  "text": "string"
59595
59608
  },
59596
59609
  "default": "''",
59610
+ "description": "Forwarded to the inner checkbox as `aria-describedby`.",
59597
59611
  "attribute": "aria-describedby",
59598
59612
  "reflects": true
59599
59613
  },
@@ -59605,6 +59619,23 @@
59605
59619
  },
59606
59620
  "privacy": "private"
59607
59621
  },
59622
+ {
59623
+ "kind": "field",
59624
+ "name": "chevronButton",
59625
+ "type": {
59626
+ "text": "HTMLElement | undefined"
59627
+ },
59628
+ "privacy": "private"
59629
+ },
59630
+ {
59631
+ "kind": "field",
59632
+ "name": "isDisabled",
59633
+ "type": {
59634
+ "text": "boolean"
59635
+ },
59636
+ "privacy": "private",
59637
+ "readonly": true
59638
+ },
59608
59639
  {
59609
59640
  "kind": "method",
59610
59641
  "name": "toggleStatusFromItem",
@@ -59623,6 +59654,19 @@
59623
59654
  }
59624
59655
  ]
59625
59656
  },
59657
+ {
59658
+ "kind": "method",
59659
+ "name": "handleChevronClick",
59660
+ "privacy": "private",
59661
+ "parameters": [
59662
+ {
59663
+ "name": "event",
59664
+ "type": {
59665
+ "text": "MouseEvent"
59666
+ }
59667
+ }
59668
+ ]
59669
+ },
59626
59670
  {
59627
59671
  "kind": "method",
59628
59672
  "name": "handleCheckboxChange",
@@ -59654,6 +59698,11 @@
59654
59698
  }
59655
59699
  }
59656
59700
  ]
59701
+ },
59702
+ {
59703
+ "kind": "method",
59704
+ "name": "renderChevron",
59705
+ "privacy": "private"
59657
59706
  }
59658
59707
  ],
59659
59708
  "events": [
@@ -59663,6 +59712,13 @@
59663
59712
  "text": "ObcCheckboxChangeEvent"
59664
59713
  },
59665
59714
  "description": "Emitted when status changes."
59715
+ },
59716
+ {
59717
+ "name": "expand-toggle",
59718
+ "type": {
59719
+ "text": "ObcCheckboxItemExpandToggleEvent"
59720
+ },
59721
+ "description": "Emitted when the chevron is activated; detail is the next `expanded` value. Bubbles and is composed."
59666
59722
  }
59667
59723
  ],
59668
59724
  "attributes": [
@@ -59671,6 +59727,7 @@
59671
59727
  "type": {
59672
59728
  "text": "CheckboxStatus"
59673
59729
  },
59730
+ "description": "Checkbox status: `unchecked`, `checked` or `mixed`.",
59674
59731
  "fieldName": "status"
59675
59732
  },
59676
59733
  {
@@ -59678,6 +59735,7 @@
59678
59735
  "type": {
59679
59736
  "text": "ObcCheckboxItemState"
59680
59737
  },
59738
+ "description": "Item state: `enabled` or `disabled`.",
59681
59739
  "fieldName": "state"
59682
59740
  },
59683
59741
  {
@@ -59686,6 +59744,7 @@
59686
59744
  "text": "boolean"
59687
59745
  },
59688
59746
  "default": "false",
59747
+ "description": "Disables the row and the inner checkbox.",
59689
59748
  "fieldName": "disabled"
59690
59749
  },
59691
59750
  {
@@ -59694,39 +59753,51 @@
59694
59753
  "text": "string"
59695
59754
  },
59696
59755
  "default": "''",
59756
+ "description": "Text label; also the checkbox's accessible name.",
59697
59757
  "fieldName": "label"
59698
59758
  },
59699
59759
  {
59700
- "name": "isNested",
59760
+ "name": "description",
59701
59761
  "type": {
59702
- "text": "boolean"
59762
+ "text": "string"
59703
59763
  },
59704
- "default": "false",
59705
- "fieldName": "isNested"
59764
+ "default": "''",
59765
+ "description": "Secondary line under the label; hidden when empty.",
59766
+ "fieldName": "description"
59706
59767
  },
59707
59768
  {
59708
- "name": "isLevel1",
59769
+ "name": "level",
59770
+ "type": {
59771
+ "text": "number"
59772
+ },
59773
+ "default": "0",
59774
+ "description": "Depth in a nested list. 0 is a plain row; 1 reserves the chevron slot; each level above 1 adds a spacer.",
59775
+ "fieldName": "level"
59776
+ },
59777
+ {
59778
+ "name": "expandable",
59709
59779
  "type": {
59710
59780
  "text": "boolean"
59711
59781
  },
59712
59782
  "default": "false",
59713
- "fieldName": "isLevel1",
59714
- "description": "Available when `isNested==true || hoverStyle==visual-target`."
59783
+ "description": "Shows the chevron button that fires `expand-toggle`.",
59784
+ "fieldName": "expandable"
59715
59785
  },
59716
59786
  {
59717
- "name": "isLevel2",
59787
+ "name": "expanded",
59718
59788
  "type": {
59719
59789
  "text": "boolean"
59720
59790
  },
59721
59791
  "default": "false",
59722
- "fieldName": "isLevel2",
59723
- "description": "Available when `isNested==true || hoverStyle==visual-target`."
59792
+ "description": "Whether the row's children are shown; drives the chevron direction and `aria-expanded`.\n\nAvailable when `expandable==true`.",
59793
+ "fieldName": "expanded"
59724
59794
  },
59725
59795
  {
59726
59796
  "name": "hoverStyle",
59727
59797
  "type": {
59728
59798
  "text": "ObcCheckboxItemHoverStyle"
59729
59799
  },
59800
+ "description": "Which box shows hover and focus: the whole row (`touch-target`) or the checkbox (`visual-target`).",
59730
59801
  "fieldName": "hoverStyle"
59731
59802
  },
59732
59803
  {
@@ -59735,6 +59806,7 @@
59735
59806
  "text": "string"
59736
59807
  },
59737
59808
  "default": "''",
59809
+ "description": "Forwarded to the inner checkbox as `aria-describedby`.",
59738
59810
  "fieldName": "ariaDescribedBy"
59739
59811
  }
59740
59812
  ],
@@ -59765,6 +59837,101 @@
59765
59837
  }
59766
59838
  ]
59767
59839
  },
59840
+ {
59841
+ "kind": "javascript-module",
59842
+ "path": "src/components/checkbox-list/checkbox-list.ts",
59843
+ "declarations": [
59844
+ {
59845
+ "kind": "class",
59846
+ "description": "`<obc-checkbox-list>` – A vertical list of `<obc-checkbox-item>` rows that\ncollapses the rows under a closed parent.\n\n### Overview\nRows are slotted flat, in document order; the tree is read from each row's\n`level`. When an expandable row is collapsed, the list sets `hidden` on\nevery following row with a greater level until a row of equal or smaller\nlevel. The list also applies its `hoverStyle` to every row so a list reads\nas one surface.\n\n### Features\n- Flat markup, level-driven hierarchy — no nesting of elements required.\n- Handles `expand-toggle`: sets the row's `expanded` and recomputes.\n- Reacts to `expandable`, `expanded` and `level` changes made from outside.\n- `hoverStyle` forwarded to slotted rows, including rows added later.\n\n### Usage Guidelines\n- Start levels at 1 when any row is expandable so chevrons and checkboxes\n align; use level 0 for a plain list.\n- The list owns the `hidden` attribute of its rows; do not bind it yourself.\n- Selection stays per row: listen to each row's `change`.\n\n### Accessibility\nThe host is the `role=\"group\"`; rows are ordinary checkboxes and buttons in\nthe natural tab order and hidden rows leave it. This is a group of\ncheckboxes with disclosure buttons, not a tree widget, so there is no\nroving tabindex. Name the group with `aria-label` or `aria-labelledby` on\nthe host.\n\n### Example\n```html\n<obc-checkbox-list aria-label=\"Report types\">\n <obc-checkbox-item level=\"1\" expandable expanded status=\"mixed\" label=\"Reports\"></obc-checkbox-item>\n <obc-checkbox-item level=\"2\" status=\"checked\" label=\"Monthly\"></obc-checkbox-item>\n <obc-checkbox-item level=\"2\" label=\"Quarterly\"></obc-checkbox-item>\n <obc-checkbox-item level=\"1\" expandable label=\"Archive\"></obc-checkbox-item>\n</obc-checkbox-list>\n```",
59847
+ "name": "ObcCheckboxList",
59848
+ "slots": [
59849
+ {
59850
+ "description": "`obc-checkbox-item` rows in document order; hierarchy comes from each row's `level`.",
59851
+ "name": ""
59852
+ }
59853
+ ],
59854
+ "members": [
59855
+ {
59856
+ "kind": "field",
59857
+ "name": "hoverStyle",
59858
+ "type": {
59859
+ "text": "ObcCheckboxItemHoverStyle"
59860
+ },
59861
+ "description": "Hover treatment applied to every slotted row: `touch-target` or `visual-target`.",
59862
+ "attribute": "hoverStyle"
59863
+ },
59864
+ {
59865
+ "kind": "field",
59866
+ "name": "mutationObserver",
59867
+ "type": {
59868
+ "text": "MutationObserver | undefined"
59869
+ },
59870
+ "privacy": "private"
59871
+ },
59872
+ {
59873
+ "kind": "field",
59874
+ "name": "onExpandToggle",
59875
+ "privacy": "private"
59876
+ },
59877
+ {
59878
+ "kind": "method",
59879
+ "name": "rows",
59880
+ "privacy": "private",
59881
+ "return": {
59882
+ "type": {
59883
+ "text": "ObcCheckboxItem[]"
59884
+ }
59885
+ }
59886
+ },
59887
+ {
59888
+ "kind": "method",
59889
+ "name": "sync",
59890
+ "privacy": "private",
59891
+ "return": {
59892
+ "type": {
59893
+ "text": "void"
59894
+ }
59895
+ }
59896
+ }
59897
+ ],
59898
+ "attributes": [
59899
+ {
59900
+ "name": "hoverStyle",
59901
+ "type": {
59902
+ "text": "ObcCheckboxItemHoverStyle"
59903
+ },
59904
+ "description": "Hover treatment applied to every slotted row: `touch-target` or `visual-target`.",
59905
+ "fieldName": "hoverStyle"
59906
+ }
59907
+ ],
59908
+ "superclass": {
59909
+ "name": "LitElement",
59910
+ "package": "lit"
59911
+ },
59912
+ "tagName": "obc-checkbox-list",
59913
+ "customElement": true
59914
+ }
59915
+ ],
59916
+ "exports": [
59917
+ {
59918
+ "kind": "js",
59919
+ "name": "ObcCheckboxList",
59920
+ "declaration": {
59921
+ "name": "ObcCheckboxList",
59922
+ "module": "src/components/checkbox-list/checkbox-list.ts"
59923
+ }
59924
+ },
59925
+ {
59926
+ "kind": "custom-element-definition",
59927
+ "name": "obc-checkbox-list",
59928
+ "declaration": {
59929
+ "name": "ObcCheckboxList",
59930
+ "module": "src/components/checkbox-list/checkbox-list.ts"
59931
+ }
59932
+ }
59933
+ ]
59934
+ },
59768
59935
  {
59769
59936
  "kind": "javascript-module",
59770
59937
  "path": "src/components/checkbox/checkbox.ts",
@@ -85474,27 +85641,20 @@
85474
85641
  "kind": "class",
85475
85642
  "description": "",
85476
85643
  "name": "ObcIntegrationAppBar",
85477
- "slots": [
85644
+ "cssProperties": [
85478
85645
  {
85479
- "description": "Application buttons; slotted elements are normalized to a uniform width",
85480
- "name": "apps"
85646
+ "description": "Minimum width of each app-button grid track. Tracks may grow equally to fit wider content.",
85647
+ "name": "--obc-integration-app-bar-app-width",
85648
+ "default": "max-content"
85481
85649
  }
85482
85650
  ],
85483
- "members": [
85651
+ "slots": [
85484
85652
  {
85485
- "kind": "method",
85486
- "name": "handleAppsSlotChange",
85487
- "privacy": "private",
85488
- "parameters": [
85489
- {
85490
- "name": "event",
85491
- "type": {
85492
- "text": "Event"
85493
- }
85494
- }
85495
- ]
85653
+ "description": "Application buttons; every button is laid out at the width of the widest one",
85654
+ "name": "apps"
85496
85655
  }
85497
85656
  ],
85657
+ "members": [],
85498
85658
  "superclass": {
85499
85659
  "name": "LitElement",
85500
85660
  "package": "lit"
@@ -105700,7 +105860,7 @@
105700
105860
  "declarations": [
105701
105861
  {
105702
105862
  "kind": "class",
105703
- "description": "`<obc-readout-list-item>` – A compact, dense readout row for lists and tables.\n\nRenders a label, an optional source, an optional unit, and up to three\ncap-height \"readout building blocks\" – advice, setpoint, and value – each a\nfixed-width-reservable numeric segment. Dynamic data is passed as top-level\nprimitives (`value`, `setpoint`, `advice`, `label`, `unit`, `src`). Global\nlayout/format is configured via top-level props (`size`, `priority`,\n`stacking`, `hasDegree`, `dataQuality`, `alert`, …) and per-block tweaks via one\nobject per block (`valueOptions`, `setpointOptions`, `adviceOptions`,\n`unitOptions`, `srcOptions`).\n\n### Features\n- **Building blocks:** value, optional setpoint, and optional advice segments,\n each cap-height-aligned and able to reserve a stable width.\n- **Sizes:** `small`, `medium`, `large` density scales.\n- **Stacking:** `trailing-unit`, `leading-unit`, `leading-src` placement.\n- **Priority:** `regular`/`enhanced` colour emphasis; per-value `weight`\n (`regular`/`semibold`/`bold`) is independent of colour.\n- **Setpoint flip-flop:** swaps emphasis between value and setpoint as the\n value reaches the setpoint.\n- **Data quality:** `low-integrity`/`invalid` styling, combinable with `alert`.\n- **Alert frame:** optional `alert` wrapper (caution/warning/alarm/level).\n- **Clickable:** optionally rendered as a focusable button with `squared`,\n `round-corners`, or `round` corners.\n- **Formatting:** shared `fractionDigits`, width reservation via `maxDigits`\n and per-segment `hintedZeros`; a `null` value renders a dash (`-`).\n- **Text values:** `valueType=\"text\"` renders `value` verbatim (e.g.\n `\"Thermo On\"`) instead of formatting it as a number.\n\n### Usage Guidelines\nUse for dense readout rows in lists/tables. Prefer `<obc-readout>` for rich\nmulti-segment instrument layouts, source pickers, or flyout behaviour.",
105863
+ "description": "`<obc-readout-list-item>` – A compact, dense readout row for lists and tables.\n\nRenders a label, an optional source, an optional unit, and up to three\ncap-height \"readout building blocks\" – advice, setpoint, and value – each a\nfixed-width-reservable numeric segment. Dynamic data is passed as top-level\nprimitives (`value`, `setpoint`, `advice`, `label`, `unit`, `src`). Global\nlayout/format is configured via top-level props (`size`, `priority`,\n`stacking`, `hasDegree`, `dataQuality`, `alert`, …) and per-block tweaks via one\nobject per block (`valueOptions`, `setpointOptions`, `adviceOptions`,\n`unitOptions`, `srcOptions`).\n\n### Features\n- **Building blocks:** value, optional setpoint, and optional advice segments,\n each cap-height-aligned and able to reserve a stable width.\n- **Sizes:** `small`, `medium`, `large` density scales.\n- **Stacking:** `trailing-unit`, `leading-unit`, `leading-src`,\n `leading-src-inline` placement.\n- **Priority:** `regular`/`enhanced` colour emphasis; per-value `weight`\n (`regular`/`semibold`/`bold`) is independent of colour.\n- **Setpoint flip-flop:** swaps emphasis between value and setpoint as the\n value reaches the setpoint.\n- **Data quality:** `low-integrity`/`invalid` styling, combinable with `alert`.\n- **Alert frame:** optional `alert` wrapper (caution/warning/alarm/level).\n- **Clickable:** optionally rendered as a focusable button with `squared`,\n `round-corners`, or `round` corners.\n- **Formatting:** shared `fractionDigits`, width reservation via `maxDigits`\n and per-segment `hintedZeros`; a `null` value renders a dash (`-`).\n- **Text values:** `valueType=\"text\"` renders `value` verbatim (e.g.\n `\"Thermo On\"`) instead of formatting it as a number.\n\n### Usage Guidelines\nUse for dense readout rows in lists/tables. Prefer `<obc-readout>` for rich\nmulti-segment instrument layouts, source pickers, or flyout behaviour.",
105704
105864
  "name": "ObcReadoutListItem",
105705
105865
  "slots": [
105706
105866
  {
@@ -106046,6 +106206,16 @@
106046
106206
  "privacy": "private",
106047
106207
  "readonly": true
106048
106208
  },
106209
+ {
106210
+ "kind": "field",
106211
+ "name": "hasLeadingSrc",
106212
+ "type": {
106213
+ "text": "boolean"
106214
+ },
106215
+ "privacy": "private",
106216
+ "description": "Both leading-src stackings move the source into the label stack.",
106217
+ "readonly": true
106218
+ },
106049
106219
  {
106050
106220
  "kind": "field",
106051
106221
  "name": "resolvedPriority",
@@ -106055,6 +106225,16 @@
106055
106225
  "privacy": "private",
106056
106226
  "readonly": true
106057
106227
  },
106228
+ {
106229
+ "kind": "field",
106230
+ "name": "hasTrailingUnitBox",
106231
+ "type": {
106232
+ "text": "boolean"
106233
+ },
106234
+ "privacy": "private",
106235
+ "description": "Whether a unit box follows the value: a unit, or a reserver alone — the\nblank reserved column keeps a unit-less row aligned with its neighbours.",
106236
+ "readonly": true
106237
+ },
106058
106238
  {
106059
106239
  "kind": "field",
106060
106240
  "name": "resolvedFractionDigits",
@@ -107072,7 +107252,7 @@
107072
107252
  "type": {
107073
107253
  "text": "ReadoutSize | undefined"
107074
107254
  },
107075
- "description": "Density tier. Applies to the vertical direction only — the horizontal arrangement exists in the large tier alone (Figma 6.1: it relies on the label+unit stack aligning with the L-size value caps), so `size` is ignored when `direction` is `horizontal`.\n\nAvailable when `direction==vertical`.",
107255
+ "description": "Density tier. Applies to the vertical direction only — the horizontal arrangement exists in the large tier alone (Figma 6.1: it relies on the label+unit stack aligning with the L-size value caps), so `size` is ignored when `direction` is `horizontal`; a horizontal readout given any other `size` logs a console warning once per element.\n\nAvailable when `direction==vertical`.",
107076
107256
  "attribute": "size",
107077
107257
  "availableWhen": "direction==vertical",
107078
107258
  "availableWhenIf": {
@@ -107315,6 +107495,15 @@
107315
107495
  "privacy": "private",
107316
107496
  "default": "false"
107317
107497
  },
107498
+ {
107499
+ "kind": "field",
107500
+ "name": "hasWarnedHorizontalSize",
107501
+ "type": {
107502
+ "text": "boolean"
107503
+ },
107504
+ "privacy": "private",
107505
+ "default": "false"
107506
+ },
107318
107507
  {
107319
107508
  "kind": "field",
107320
107509
  "name": "sourcePickerContentVisible",
@@ -108006,6 +108195,17 @@
108006
108195
  },
108007
108196
  "description": "Horizontal: advice, setpoint, value and the stacked label/unit meta flow on\none cap-height-aligned row, with the source at the end after an auto\ndivider."
108008
108197
  },
108198
+ {
108199
+ "kind": "method",
108200
+ "name": "warnHorizontalSizeIgnored",
108201
+ "privacy": "private",
108202
+ "return": {
108203
+ "type": {
108204
+ "text": "void"
108205
+ }
108206
+ },
108207
+ "description": "A horizontal readout discards any `size` but `large` (see `resolvedSize`).\nA silent discard is indistinguishable from a bug to a consumer, so each\noffending element says so once and logs itself for locating (#1182).\nA removed `size` attribute arrives as `null` and counts as unset."
108208
+ },
108009
108209
  {
108010
108210
  "kind": "method",
108011
108211
  "name": "clearDeferredSetpointHide",
@@ -108127,7 +108327,7 @@
108127
108327
  "type": {
108128
108328
  "text": "ReadoutSize | undefined"
108129
108329
  },
108130
- "description": "Density tier. Applies to the vertical direction only — the horizontal arrangement exists in the large tier alone (Figma 6.1: it relies on the label+unit stack aligning with the L-size value caps), so `size` is ignored when `direction` is `horizontal`.\n\nAvailable when `direction==vertical`.",
108330
+ "description": "Density tier. Applies to the vertical direction only — the horizontal arrangement exists in the large tier alone (Figma 6.1: it relies on the label+unit stack aligning with the L-size value caps), so `size` is ignored when `direction` is `horizontal`; a horizontal readout given any other `size` logs a console warning once per element.\n\nAvailable when `direction==vertical`.",
108131
108331
  "fieldName": "size"
108132
108332
  },
108133
108333
  {
@@ -208,6 +208,62 @@ const compentStyle = css`* {
208
208
  "ss04" on;
209
209
  }
210
210
 
211
+ .wrapper.integration {
212
+ border-color: var(--integration-flat-enabled-border-color);
213
+ background-color: var(--integration-flat-enabled-background-color);
214
+ border-width: 1px;
215
+ border-style: solid;
216
+ cursor: pointer;
217
+ --base-border-color: var(--integration-flat-enabled-border-color);
218
+ --base-background-color: var(--integration-flat-enabled-background-color);
219
+ }
220
+
221
+ .wrapper.integration:focus {
222
+ outline: none;
223
+ }
224
+
225
+ .wrapper.integration.activated {
226
+ border-color: var(--integration-flat-activated-border-color);
227
+ background-color: var(--integration-flat-activated-background-color);
228
+ --base-border-color: var(--integration-flat-activated-border-color);
229
+ --base-background-color: var(--integration-flat-activated-background-color);
230
+ }
231
+
232
+ @media (hover:hover) {
233
+
234
+ .wrapper.integration:hover {
235
+ border-color: color-mix(in srgb, var(--integration-flat-hover-border-color) calc(var(--obc-can-hover) * 100%), var(--base-border-color));
236
+ background-color: color-mix(in srgb, var(--integration-flat-hover-background-color) calc(var(--obc-can-hover) * 100%), var(--base-background-color));
237
+ }
238
+ }
239
+
240
+ .wrapper.integration:active {
241
+ border-color: var(--integration-flat-pressed-border-color);
242
+ background-color: var(--integration-flat-pressed-background-color);
243
+ }
244
+
245
+ .wrapper.integration:focus-visible {
246
+ outline-color: var(--border-focus-color);
247
+ outline-width: var(--global-size-spacing-border-weight-focusframe);
248
+ outline-style: solid;
249
+ border-color: var(--container-global-color);
250
+ z-index: 1;
251
+ }
252
+
253
+ .wrapper.integration:disabled {
254
+ border-color: var(--integration-flat-disabled-border-color);
255
+ background-color: var(--integration-flat-disabled-background-color);
256
+ cursor: not-allowed;
257
+ color: var(--integration-on-flat-disabled-color) !important;
258
+ }
259
+
260
+ .wrapper.integration.disabled {
261
+ border-color: var(--integration-flat-disabled-border-color);
262
+ background-color: var(--integration-flat-disabled-background-color);
263
+ cursor: not-allowed;
264
+ color: var(--integration-on-flat-disabled-color) !important;
265
+ }
266
+
211
267
  :is(.wrapper.integration .icon-wrapper) {
212
268
  border-color: var(--integration-normal-enabled-border-color);
213
269
  background-color: var(--integration-normal-enabled-background-color);
@@ -1 +1 @@
1
- {"version":3,"file":"app-button.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"app-button.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}