@oicl/openbridge-webcomponents 2.0.0-next.155 → 2.0.0-next.157

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 (45) hide show
  1. package/LICENSE-AGPL.txt +661 -0
  2. package/LICENSE-APACHE.txt +177 -0
  3. package/LICENSE.txt +35 -0
  4. package/bundle/openbridge-webcomponents.bundle.js +3502 -3298
  5. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  6. package/custom-elements.json +233 -39
  7. package/dist/automation/transmitter/transmitter-shared.d.ts +11 -0
  8. package/dist/automation/transmitter/transmitter-shared.d.ts.map +1 -0
  9. package/dist/automation/transmitter/transmitter-shared.js +16 -0
  10. package/dist/automation/transmitter/transmitter-shared.js.map +1 -0
  11. package/dist/automation/transmitter/transmitter.css.js +12 -1
  12. package/dist/automation/transmitter/transmitter.css.js.map +1 -1
  13. package/dist/automation/transmitter/transmitter.d.ts +9 -10
  14. package/dist/automation/transmitter/transmitter.d.ts.map +1 -1
  15. package/dist/automation/transmitter/transmitter.js +12 -15
  16. package/dist/automation/transmitter/transmitter.js.map +1 -1
  17. package/dist/automation/transmitter-button/transmitter-button.css.js +18 -42
  18. package/dist/automation/transmitter-button/transmitter-button.css.js.map +1 -1
  19. package/dist/automation/transmitter-button/transmitter-button.d.ts +31 -21
  20. package/dist/automation/transmitter-button/transmitter-button.d.ts.map +1 -1
  21. package/dist/automation/transmitter-button/transmitter-button.js +37 -39
  22. package/dist/automation/transmitter-button/transmitter-button.js.map +1 -1
  23. package/dist/automation/transmitter-stack/transmitter-stack.css.js +144 -0
  24. package/dist/automation/transmitter-stack/transmitter-stack.css.js.map +1 -0
  25. package/dist/automation/transmitter-stack/transmitter-stack.d.ts +93 -0
  26. package/dist/automation/transmitter-stack/transmitter-stack.d.ts.map +1 -0
  27. package/dist/automation/transmitter-stack/transmitter-stack.js +97 -0
  28. package/dist/automation/transmitter-stack/transmitter-stack.js.map +1 -0
  29. package/dist/building-blocks/readout-block/readout-block.d.ts +1 -1
  30. package/dist/building-blocks/readout-block/readout-block.js.map +1 -1
  31. package/dist/components/textarea-field/textarea-field.css.js +0 -2
  32. package/dist/components/textarea-field/textarea-field.css.js.map +1 -1
  33. package/dist/components/textbox/textbox.d.ts +1 -1
  34. package/dist/components/textbox/textbox.js.map +1 -1
  35. package/dist/navigation-instruments/readout/readout.css.js +2 -23
  36. package/dist/navigation-instruments/readout/readout.css.js.map +1 -1
  37. package/dist/navigation-instruments/readout/readout.d.ts +1 -1
  38. package/dist/navigation-instruments/readout/readout.js.map +1 -1
  39. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js +1 -0
  40. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js.map +1 -1
  41. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts +1 -1
  42. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts.map +1 -1
  43. package/dist/navigation-instruments/readout-list-item/readout-list-item.js +3 -0
  44. package/dist/navigation-instruments/readout-list-item/readout-list-item.js.map +1 -1
  45. package/package.json +6 -3
@@ -41569,7 +41569,7 @@
41569
41569
  "declarations": [
41570
41570
  {
41571
41571
  "kind": "class",
41572
- "description": "`<obc-transmitter-button>` – The pressable readout chip used as the core of a\ntransmitter on a process diagram.\n\nThe value content (leading icon, optional advice and setpoint segments,\nvalue, unit) is laid out inline. The value, advice and setpoint segments all\nshare one numeric format, so they support fixed-width values and muted\nleading zeros identically. The leading icon is slotted so the consumer\nprovides the type-specific content.\n\n### Features / Variants\n- **`value`** – white, bordered box showing an icon, value and unit. Opt into a\n leading advice segment with `hasAdvice`/`adviceValue` and a setpoint segment\n with `hasSetPoint`/`setpointValue`.\n- **`tag`** – a static rounded pill showing a short identifier (e.g. `TT`)\n from the `label` property, with no live value.\n- **`size`** – `regular`, `medium` or `large`, scaling the value text, the icon\n glyph and the advice/setpoint segments. The unit stays at a fixed size across\n all sizes.\n- **Formatting** – `fractionDigits` sets the decimal precision, `maxDigits`\n reserves a number of integer digits, and `hintedZeros` renders the reserved\n leading positions as muted zeros (e.g. `0012.3`). The sign never consumes\n a reserved position (`-0012.3`), so a negative value is one character\n wider than a positive one; `hasSignSpacer` reserves the sign column so\n the width does not change across zero. All three segments share this\n formatting — it is `obc-readout-block`'s.\n- **Missing values** – `value`, `adviceValue` and `setpointValue` each render\n dashes when they are `NaN`, `null` or `undefined`; with `hintedZeros` the\n dashes fill the whole reserved width (e.g. `---.-`).\n\n### Usage Guidelines\nUse as a building block for `<obc-transmitter>`; it is the part that carries\nthe measured value or the tag identifier. Slot in the type-specific icon; the\nadvice and setpoint segments are value-driven and read-only.\n\n### Slots\n| Slot Name | Conditions | Purpose |\n|-----------|-------------------------------|--------------------------------|\n| icon | `value` variant and `hasIcon` | Leading icon beside the value. |",
41572
+ "description": "`<obc-transmitter-button>` – The pressable readout chip at the core of a\ntransmitter: a bordered button around one reading.\n\nThe reading is a label-less `<obc-readout-list-item>` (the Figma \"automation\nvalue\"): leading icon, optional advice and setpoint, value, optional degree\nand unit, all rendered by the readout family. The leading icon is slotted so\nthe consumer provides the type-specific content.\n\n### Features / Variants\n- **`value`** – bordered chip showing an icon, value and unit. Opt into a\n leading advice segment with `hasAdvice`/`adviceValue`, a setpoint segment\n with `hasSetPoint`/`setpointValue`, and a degree column before the unit\n with `hasDegree`.\n- **`tag`** – a static rounded pill showing a short identifier (e.g. `TT`)\n from the `label` property, with no live value.\n- **`size`** – `regular`, `medium` or `large`, the list item's `small`,\n `medium` and `large` tiers: the value text, the icon and the advice/setpoint\n segments scale, the unit stays extra small.\n- **Formatting** – `fractionDigits` sets the decimal precision, `maxDigits`\n reserves a number of integer digits, and `hintedZeros` renders the reserved\n leading positions as muted zeros (e.g. `0012.3`). The sign never consumes\n a reserved position (`-0012.3`), so a negative value is one character\n wider than a positive one; `hasSignSpacer` reserves the sign column so\n the width does not change across zero. All three segments share this\n formatting — it is `obc-readout-block`'s.\n- **Missing values** – `value`, `adviceValue` and `setpointValue` each render\n dashes when they are `NaN`, `null` or `undefined`; with `hintedZeros` the\n dashes fill the whole reserved width (e.g. `---.-`).\n\n### Usage Guidelines\nUse as a building block for `<obc-transmitter>` and `<obc-transmitter-stack>`;\nit is the part that carries the measured value or the tag identifier. Slot in\nthe type-specific icon; the advice and setpoint segments are value-driven and\nread-only.\n\n**TODO(designer):** the hit area is the visible chip, 24 px high at `regular`:\nat the WCAG 2.5.8 floor of 24 px, below the 48 px touch-target token. A\n48 px target would overlap the id tag, the leader line and neighbouring\n`<obc-transmitter-stack>` segments, so the size needs a design decision.\n\n### Slots\n| Slot Name | Conditions | Purpose |\n|-----------|-------------------------------|--------------------------------|\n| icon | `value` variant and `hasIcon` | Leading icon beside the value. |",
41573
41573
  "name": "ObcTransmitterButton",
41574
41574
  "slots": [
41575
41575
  {
@@ -41649,6 +41649,16 @@
41649
41649
  "description": "Reserve a minus-sign column on every segment, filled by the real sign only while a value is negative, so the width does not change across zero.",
41650
41650
  "attribute": "hasSignSpacer"
41651
41651
  },
41652
+ {
41653
+ "kind": "field",
41654
+ "name": "hasDegree",
41655
+ "type": {
41656
+ "text": "boolean"
41657
+ },
41658
+ "default": "false",
41659
+ "description": "Show a degree column between the value and the unit (e.g. `12.3°` then `C`).",
41660
+ "attribute": "hasDegree"
41661
+ },
41652
41662
  {
41653
41663
  "kind": "field",
41654
41664
  "name": "hasIcon",
@@ -41706,42 +41716,23 @@
41706
41716
  },
41707
41717
  {
41708
41718
  "kind": "field",
41709
- "name": "isTag",
41710
- "privacy": "private",
41711
- "readonly": true
41719
+ "name": "idTag",
41720
+ "type": {
41721
+ "text": "string"
41722
+ },
41723
+ "default": "''",
41724
+ "description": "Identifier appended to the button's accessible name only (e.g. `#0001`); the parent transmitter draws the visible tag outside the button, where it cannot join the name.",
41725
+ "attribute": "idTag"
41712
41726
  },
41713
41727
  {
41714
- "kind": "method",
41715
- "name": "renderBlock",
41728
+ "kind": "field",
41729
+ "name": "isTag",
41716
41730
  "privacy": "private",
41717
- "parameters": [
41718
- {
41719
- "name": "variant",
41720
- "type": {
41721
- "text": "ReadoutBlockVariant"
41722
- }
41723
- },
41724
- {
41725
- "name": "value",
41726
- "type": {
41727
- "text": "number | null | undefined"
41728
- }
41729
- }
41730
- ]
41731
- },
41732
- {
41733
- "kind": "method",
41734
- "name": "renderAdvice",
41735
- "privacy": "private"
41736
- },
41737
- {
41738
- "kind": "method",
41739
- "name": "renderSetpoint",
41740
- "privacy": "private"
41731
+ "readonly": true
41741
41732
  },
41742
41733
  {
41743
41734
  "kind": "method",
41744
- "name": "renderContent",
41735
+ "name": "renderReading",
41745
41736
  "privacy": "private"
41746
41737
  }
41747
41738
  ],
@@ -41809,6 +41800,15 @@
41809
41800
  "description": "Reserve a minus-sign column on every segment, filled by the real sign only while a value is negative, so the width does not change across zero.",
41810
41801
  "fieldName": "hasSignSpacer"
41811
41802
  },
41803
+ {
41804
+ "name": "hasDegree",
41805
+ "type": {
41806
+ "text": "boolean"
41807
+ },
41808
+ "default": "false",
41809
+ "description": "Show a degree column between the value and the unit (e.g. `12.3°` then `C`).",
41810
+ "fieldName": "hasDegree"
41811
+ },
41812
41812
  {
41813
41813
  "name": "hasIcon",
41814
41814
  "type": {
@@ -41857,6 +41857,15 @@
41857
41857
  "default": "''",
41858
41858
  "description": "Short tag identifier shown in the `tag` variant (e.g. `TT`).",
41859
41859
  "fieldName": "label"
41860
+ },
41861
+ {
41862
+ "name": "idTag",
41863
+ "type": {
41864
+ "text": "string"
41865
+ },
41866
+ "default": "''",
41867
+ "description": "Identifier appended to the button's accessible name only (e.g. `#0001`); the parent transmitter draws the visible tag outside the button, where it cannot join the name.",
41868
+ "fieldName": "idTag"
41860
41869
  }
41861
41870
  ],
41862
41871
  "superclass": {
@@ -41886,13 +41895,169 @@
41886
41895
  }
41887
41896
  ]
41888
41897
  },
41898
+ {
41899
+ "kind": "javascript-module",
41900
+ "path": "src/automation/transmitter-stack/transmitter-stack.ts",
41901
+ "declarations": [
41902
+ {
41903
+ "kind": "class",
41904
+ "description": "`<obc-transmitter-stack>` – Several transmitter readings side by side in one\njoined chip, attached to a line by a single leader line.\n\nEach entry of `values` renders an `<obc-transmitter-button>` segment with its\nown icon, value, unit and id tag. The segments take equal widths, set by the\nwidest reading, and share their borders. Positioning and the leader line\nfollow `<obc-transmitter>`.\n\n### Features / Variants\n- **`orientation`** – `top`, `right`, `bottom`, `left`; the edge the leader\n line attaches to. `top` places the id tags above the chip.\n- **Values** – `value` and `unit` per segment. `idTag` adds a label row under\n every segment once any value has one, so the chip stays aligned.\n- **Formatting** – per value `fractionDigits` (default `1`), `maxDigits`\n (default `0`), `hintedZeros`, `hasSignSpacer` and `hasDegree`, formatted like\n `<obc-transmitter-button>`. An omitted key takes its default; a key set to\n `null`, `undefined` or `NaN` renders the reading as the unavailable dash.\n- **Icons** – `iconSlotName` projects the light-DOM element with that slot\n name as the segment's icon; names must be unique within the stack. The\n name is chosen per value, so it carries no `@slot` tag (the wrapper\n generator needs literal names).\n- **Accessible name** – each segment is a native button named by its\n reading, unit and `idTag`; the visible tag is hidden from assistive\n technology so it is not read twice.\n- **Empty** – with no `values` nothing renders, leader line included.\n\n### Usage Guidelines\nUse when one source reports several readings that share one leader line. For\na single reading, a tag pill or a trend graph, use `<obc-transmitter>`. Each\nsegment's hit area is `<obc-transmitter-button>`'s chip (24 px high), below\nthe 48 px touch-target token; see its design note.\n\n### Slots\n| Slot Name | Conditions | Purpose |\n|------------------|---------------------------------|-------------------------------|\n| `<iconSlotName>` | a value declares `iconSlotName` | Icon in that value's segment. |",
41905
+ "name": "ObcTransmitterStack",
41906
+ "members": [
41907
+ {
41908
+ "kind": "field",
41909
+ "name": "orientation",
41910
+ "type": {
41911
+ "text": "TransmitterOrientation"
41912
+ },
41913
+ "description": "Edge of the chip the leader line attaches to.",
41914
+ "attribute": "orientation"
41915
+ },
41916
+ {
41917
+ "kind": "field",
41918
+ "name": "lineType",
41919
+ "type": {
41920
+ "text": "LineType | undefined"
41921
+ },
41922
+ "default": "undefined",
41923
+ "description": "Line the transmitter sits on; offsets the leader line by half its stroke.",
41924
+ "attribute": "lineType"
41925
+ },
41926
+ {
41927
+ "kind": "field",
41928
+ "name": "values",
41929
+ "type": {
41930
+ "text": "TransmitterStackValue[]"
41931
+ },
41932
+ "default": "[]",
41933
+ "description": "One segment per entry, in order.",
41934
+ "attribute": "values"
41935
+ },
41936
+ {
41937
+ "kind": "method",
41938
+ "name": "handleValueClick",
41939
+ "privacy": "private",
41940
+ "return": {
41941
+ "type": {
41942
+ "text": "void"
41943
+ }
41944
+ },
41945
+ "parameters": [
41946
+ {
41947
+ "name": "index",
41948
+ "type": {
41949
+ "text": "number"
41950
+ }
41951
+ },
41952
+ {
41953
+ "name": "value",
41954
+ "type": {
41955
+ "text": "TransmitterStackValue"
41956
+ }
41957
+ }
41958
+ ]
41959
+ },
41960
+ {
41961
+ "kind": "method",
41962
+ "name": "renderValue",
41963
+ "privacy": "private",
41964
+ "parameters": [
41965
+ {
41966
+ "name": "entry",
41967
+ "type": {
41968
+ "text": "TransmitterStackValue"
41969
+ }
41970
+ },
41971
+ {
41972
+ "name": "index",
41973
+ "type": {
41974
+ "text": "number"
41975
+ }
41976
+ },
41977
+ {
41978
+ "name": "hasIdTags",
41979
+ "type": {
41980
+ "text": "boolean"
41981
+ }
41982
+ }
41983
+ ]
41984
+ }
41985
+ ],
41986
+ "events": [
41987
+ {
41988
+ "name": "value-click",
41989
+ "type": {
41990
+ "text": "CustomEvent<TransmitterStackValueClickDetail>"
41991
+ },
41992
+ "description": "Fired when a segment is activated, with its value and index."
41993
+ },
41994
+ {
41995
+ "description": "Fired when any segment is clicked; `value-click` tells which.",
41996
+ "name": "click"
41997
+ }
41998
+ ],
41999
+ "attributes": [
42000
+ {
42001
+ "name": "orientation",
42002
+ "type": {
42003
+ "text": "TransmitterOrientation"
42004
+ },
42005
+ "description": "Edge of the chip the leader line attaches to.",
42006
+ "fieldName": "orientation"
42007
+ },
42008
+ {
42009
+ "name": "lineType",
42010
+ "type": {
42011
+ "text": "LineType | undefined"
42012
+ },
42013
+ "default": "undefined",
42014
+ "description": "Line the transmitter sits on; offsets the leader line by half its stroke.",
42015
+ "fieldName": "lineType"
42016
+ },
42017
+ {
42018
+ "name": "values",
42019
+ "type": {
42020
+ "text": "TransmitterStackValue[]"
42021
+ },
42022
+ "default": "[]",
42023
+ "description": "One segment per entry, in order.",
42024
+ "fieldName": "values"
42025
+ }
42026
+ ],
42027
+ "superclass": {
42028
+ "name": "LitElement",
42029
+ "package": "lit"
42030
+ },
42031
+ "tagName": "obc-transmitter-stack",
42032
+ "customElement": true
42033
+ }
42034
+ ],
42035
+ "exports": [
42036
+ {
42037
+ "kind": "js",
42038
+ "name": "ObcTransmitterStack",
42039
+ "declaration": {
42040
+ "name": "ObcTransmitterStack",
42041
+ "module": "src/automation/transmitter-stack/transmitter-stack.ts"
42042
+ }
42043
+ },
42044
+ {
42045
+ "kind": "custom-element-definition",
42046
+ "name": "obc-transmitter-stack",
42047
+ "declaration": {
42048
+ "name": "ObcTransmitterStack",
42049
+ "module": "src/automation/transmitter-stack/transmitter-stack.ts"
42050
+ }
42051
+ }
42052
+ ]
42053
+ },
41889
42054
  {
41890
42055
  "kind": "javascript-module",
41891
42056
  "path": "src/automation/transmitter/transmitter.ts",
41892
42057
  "declarations": [
41893
42058
  {
41894
42059
  "kind": "class",
41895
- "description": "`<obc-transmitter>` – A readout label that attaches to a line on a process\ndiagram via a leader line, showing a measured value, a tag identifier, or a\nvalue paired with a trend graph.\n\nPositioning (orientation + leader line) follows `<obc-automation-readout>`.\nThe value chip is an `<obc-transmitter-button>` and the trend is an\n`<obc-indicator-graph>` with its area fill enabled.\n\n### Features / Variants\n- **`type`** – `indicator` (tag pill), `value` (icon/value/unit), or value\n paired with a `horizontal-graph` (beside) or `vertical-graph` (below).\n- **`orientation`** – `top`, `right`, `bottom`, `left`; controls which edge\n the leader line attaches to.\n- **Segments** – opt into a leading advice segment with `hasAdvice`/\n `adviceValue` and a setpoint segment with `hasSetPoint`/`setpointValue`;\n both are read-only and shown in the value chip for non-`indicator` types.\n- **`hasAlert`** – wraps the whole transmitter in an alarm `<obc-alert-frame>`.\n- **Formatting** – `fractionDigits`, `maxDigits`, `hintedZeros` and\n `hasSignSpacer` are forwarded to the value chip to control decimal\n precision, muted leading-zero padding (e.g. `0012.3`) and the sign\n column. The advice and setpoint segments reuse the same formatting.\n `value`, `adviceValue` and `setpointValue` render dashes when they are\n `NaN`, `null` or `undefined`.\n\n### Slots\n| Slot Name | Conditions | Purpose |\n|-----------|-------------------------|---------------------------------|\n| icon | value/graph + `hasIcon` | Leading icon in the value chip. |",
42060
+ "description": "`<obc-transmitter>` – A readout label that attaches to a line via a leader\nline, showing a measured value, a tag identifier, or a value paired with a\ntrend graph.\n\nPositioning (orientation + leader line) follows `<obc-automation-readout>`.\nThe value chip is an `<obc-transmitter-button>` and the trend is an\n`<obc-indicator-graph>` with its area fill enabled.\n\n### Features / Variants\n- **`type`** – `indicator` (tag pill), `value` (icon/value/unit), or value\n paired with a `horizontal-graph` (beside) or `vertical-graph` (below).\n- **`orientation`** – `top`, `right`, `bottom`, `left`; controls which edge\n the leader line attaches to.\n- **Segments** – opt into a leading advice segment with `hasAdvice`/\n `adviceValue` and a setpoint segment with `hasSetPoint`/`setpointValue`;\n both are read-only and shown in the value chip for non-`indicator` types.\n- **`hasAlert`** – wraps the whole transmitter in an alarm `<obc-alert-frame>`.\n- **Formatting** – `fractionDigits`, `maxDigits`, `hintedZeros` and\n `hasSignSpacer` are forwarded to the value chip to control decimal\n precision, muted leading-zero padding (e.g. `0012.3`) and the sign\n column. The advice and setpoint segments reuse the same formatting.\n `hasDegree` adds a degree column between the value and the unit.\n `value`, `adviceValue` and `setpointValue` render dashes when they are\n `NaN`, `null` or `undefined`.\n\n### Slots\n| Slot Name | Conditions | Purpose |\n|-----------|-------------------------|---------------------------------|\n| icon | value/graph + `hasIcon` | Leading icon in the value chip. |",
41896
42061
  "name": "ObcTransmitter",
41897
42062
  "slots": [
41898
42063
  {
@@ -41981,6 +42146,16 @@
41981
42146
  "description": "Reserve a minus-sign column on every segment, filled by the real sign only while a value is negative, so the chip's width does not change across zero.",
41982
42147
  "attribute": "hasSignSpacer"
41983
42148
  },
42149
+ {
42150
+ "kind": "field",
42151
+ "name": "hasDegree",
42152
+ "type": {
42153
+ "text": "boolean"
42154
+ },
42155
+ "default": "false",
42156
+ "description": "Show a degree column between the value and the unit (e.g. `12.3°` then `C`).",
42157
+ "attribute": "hasDegree"
42158
+ },
41984
42159
  {
41985
42160
  "kind": "field",
41986
42161
  "name": "size",
@@ -42080,12 +42255,6 @@
42080
42255
  "privacy": "private",
42081
42256
  "readonly": true
42082
42257
  },
42083
- {
42084
- "kind": "field",
42085
- "name": "lineOffset",
42086
- "privacy": "private",
42087
- "readonly": true
42088
- },
42089
42258
  {
42090
42259
  "kind": "method",
42091
42260
  "name": "renderButton",
@@ -42179,6 +42348,15 @@
42179
42348
  "description": "Reserve a minus-sign column on every segment, filled by the real sign only while a value is negative, so the chip's width does not change across zero.",
42180
42349
  "fieldName": "hasSignSpacer"
42181
42350
  },
42351
+ {
42352
+ "name": "hasDegree",
42353
+ "type": {
42354
+ "text": "boolean"
42355
+ },
42356
+ "default": "false",
42357
+ "description": "Show a degree column between the value and the unit (e.g. `12.3°` then `C`).",
42358
+ "fieldName": "hasDegree"
42359
+ },
42182
42360
  {
42183
42361
  "name": "size",
42184
42362
  "type": {
@@ -42272,6 +42450,22 @@
42272
42450
  }
42273
42451
  ],
42274
42452
  "exports": [
42453
+ {
42454
+ "kind": "js",
42455
+ "name": "TransmitterOrientation",
42456
+ "declaration": {
42457
+ "name": "TransmitterOrientation",
42458
+ "module": "./transmitter-shared.js"
42459
+ }
42460
+ },
42461
+ {
42462
+ "kind": "js",
42463
+ "name": "transmitterLeaderOffset",
42464
+ "declaration": {
42465
+ "name": "transmitterLeaderOffset",
42466
+ "module": "./transmitter-shared.js"
42467
+ }
42468
+ },
42275
42469
  {
42276
42470
  "kind": "js",
42277
42471
  "name": "ObcTransmitter",
@@ -109574,7 +109768,7 @@
109574
109768
  "privacy": "private",
109575
109769
  "return": {
109576
109770
  "type": {
109577
- "text": "TemplateResult"
109771
+ "text": "TemplateResult | typeof nothing"
109578
109772
  }
109579
109773
  }
109580
109774
  },
@@ -0,0 +1,11 @@
1
+ import { LineType } from '../index.js';
2
+ /** Edge of a transmitter's chip that the leader line attaches to. */
3
+ export declare enum TransmitterOrientation {
4
+ top = "top",
5
+ right = "right",
6
+ bottom = "bottom",
7
+ left = "left"
8
+ }
9
+ /** Half the line's stroke width, so the leader line starts on the line's edge. */
10
+ export declare function transmitterLeaderOffset(lineType: LineType | undefined): number;
11
+ //# sourceMappingURL=transmitter-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transmitter-shared.d.ts","sourceRoot":"","sources":["../../../src/automation/transmitter/transmitter-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAY,MAAM,aAAa,CAAC;AAEhD,qEAAqE;AACrE,oBAAY,sBAAsB;IAChC,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,MAAM,CAER"}
@@ -0,0 +1,16 @@
1
+ import { lineWidth } from "../index.js";
2
+ var TransmitterOrientation = /* @__PURE__ */ ((TransmitterOrientation2) => {
3
+ TransmitterOrientation2["top"] = "top";
4
+ TransmitterOrientation2["right"] = "right";
5
+ TransmitterOrientation2["bottom"] = "bottom";
6
+ TransmitterOrientation2["left"] = "left";
7
+ return TransmitterOrientation2;
8
+ })(TransmitterOrientation || {});
9
+ function transmitterLeaderOffset(lineType) {
10
+ return lineType === void 0 ? 0 : lineWidth(lineType) / 2;
11
+ }
12
+ export {
13
+ TransmitterOrientation,
14
+ transmitterLeaderOffset
15
+ };
16
+ //# sourceMappingURL=transmitter-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transmitter-shared.js","sources":["../../../src/automation/transmitter/transmitter-shared.ts"],"sourcesContent":["import {LineType, lineWidth} from '../index.js';\n\n/** Edge of a transmitter's chip that the leader line attaches to. */\nexport enum TransmitterOrientation {\n top = 'top',\n right = 'right',\n bottom = 'bottom',\n left = 'left',\n}\n\n/** Half the line's stroke width, so the leader line starts on the line's edge. */\nexport function transmitterLeaderOffset(\n lineType: LineType | undefined\n): number {\n return lineType === undefined ? 0 : lineWidth(lineType) / 2;\n}\n"],"names":["TransmitterOrientation"],"mappings":";AAGO,IAAK,2CAAAA,4BAAL;AACLA,0BAAA,KAAA,IAAM;AACNA,0BAAA,OAAA,IAAQ;AACRA,0BAAA,QAAA,IAAS;AACTA,0BAAA,MAAA,IAAO;AAJG,SAAAA;AAAA,GAAA,0BAAA,CAAA,CAAA;AAQL,SAAS,wBACd,UACQ;AACR,SAAO,aAAa,SAAY,IAAI,UAAU,QAAQ,IAAI;AAC5D;"}
@@ -74,7 +74,19 @@ const componentStyle = css`* {
74
74
  left: -4px;
75
75
  }
76
76
 
77
+ /* Left/right anchor on the chip row's middle (Figma 25656:45233), so the id
78
+ tag hangs below out of flow; its parent must be the containing block. */
79
+
80
+ .transmitter:is(.orientation-left,.orientation-right):not(.has-alert) .id-tag {
81
+ position: absolute;
82
+ top: calc(100% + 2px);
83
+ left: 50%;
84
+ transform: translateX(-50%);
85
+ white-space: nowrap;
86
+ }
87
+
77
88
  .content {
89
+ position: relative; /* containing block for the left/right id tag (transmitter-leader) */
78
90
  display: flex;
79
91
  flex-direction: column;
80
92
  align-items: center;
@@ -141,7 +153,6 @@ const componentStyle = css`* {
141
153
  }
142
154
 
143
155
  .id-tag {
144
- color: var(--element-neutral-color);
145
156
  color: var(--element-neutral-color);
146
157
  font-variant-numeric: lining-nums tabular-nums;
147
158
  font-feature-settings: "ss04" on;
@@ -1 +1 @@
1
- {"version":3,"file":"transmitter.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"transmitter.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,11 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { LineType } from '../index.js';
3
+ import { TransmitterOrientation } from './transmitter-shared.js';
3
4
  import { TransmitterButtonSize } from '../transmitter-button/transmitter-button.js';
4
5
  import '../transmitter-button/transmitter-button.js';
5
6
  import '../../navigation-instruments/indicator-graph/indicator-graph.js';
6
7
  import '../../components/alert-frame/alert-frame.js';
7
- export declare enum TransmitterOrientation {
8
- top = "top",
9
- right = "right",
10
- bottom = "bottom",
11
- left = "left"
12
- }
8
+ export { TransmitterOrientation, transmitterLeaderOffset, } from './transmitter-shared.js';
13
9
  export declare enum TransmitterType {
14
10
  indicator = "indicator",
15
11
  value = "value",
@@ -17,9 +13,9 @@ export declare enum TransmitterType {
17
13
  verticalGraph = "vertical-graph"
18
14
  }
19
15
  /**
20
- * `<obc-transmitter>` – A readout label that attaches to a line on a process
21
- * diagram via a leader line, showing a measured value, a tag identifier, or a
22
- * value paired with a trend graph.
16
+ * `<obc-transmitter>` – A readout label that attaches to a line via a leader
17
+ * line, showing a measured value, a tag identifier, or a value paired with a
18
+ * trend graph.
23
19
  *
24
20
  * Positioning (orientation + leader line) follows `<obc-automation-readout>`.
25
21
  * The value chip is an `<obc-transmitter-button>` and the trend is an
@@ -38,6 +34,7 @@ export declare enum TransmitterType {
38
34
  * `hasSignSpacer` are forwarded to the value chip to control decimal
39
35
  * precision, muted leading-zero padding (e.g. `0012.3`) and the sign
40
36
  * column. The advice and setpoint segments reuse the same formatting.
37
+ * `hasDegree` adds a degree column between the value and the unit.
41
38
  * `value`, `adviceValue` and `setpointValue` render dashes when they are
42
39
  * `NaN`, `null` or `undefined`.
43
40
  *
@@ -50,6 +47,7 @@ export declare enum TransmitterType {
50
47
  * @property hasSignSpacer - Reserve a minus-sign column on every segment, filled by the real sign
51
48
  * only while a value is negative, so the chip's width does not change
52
49
  * across zero.
50
+ * @property hasDegree - Show a degree column between the value and the unit (e.g. `12.3°` then `C`).
53
51
  * @property hasAlert - Wrap the transmitter in an `<obc-alert-frame>` (alarm) when true.
54
52
  * @property adviceValue - Advisory value shown in the leading advice segment when `hasAdvice`.
55
53
  * @property setpointValue - Target value shown in the setpoint segment when `hasSetPoint`.
@@ -72,6 +70,8 @@ export declare class ObcTransmitter extends LitElement {
72
70
  hintedZeros: boolean;
73
71
  /** Reserve a minus-sign column on every segment, filled by the real sign only while a value is negative, so the chip's width does not change across zero. */
74
72
  hasSignSpacer: boolean;
73
+ /** Show a degree column between the value and the unit (e.g. `12.3°` then `C`). */
74
+ hasDegree: boolean;
75
75
  size: TransmitterButtonSize;
76
76
  hasIcon: boolean;
77
77
  hasAdvice: boolean;
@@ -89,7 +89,6 @@ export declare class ObcTransmitter extends LitElement {
89
89
  /** Trend data for the graph types: `[xValues, yValues]`. */
90
90
  data: [number[], number[]];
91
91
  private get hasGraph();
92
- private get lineOffset();
93
92
  private renderButton;
94
93
  private renderGraph;
95
94
  private renderLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"transmitter.d.ts","sourceRoot":"","sources":["../../../src/automation/transmitter/transmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,KAAK,CAAC;AAKzD,OAAO,EAAC,QAAQ,EAAY,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,qBAAqB,EAEtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,6CAA6C,CAAC;AAKrD,OAAO,iEAAiE,CAAC;AAEzE,OAAO,6CAA6C,CAAC;AAErD,oBAAY,sBAAsB;IAChC,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,eAAe,qBAAqB;IACpC,aAAa,mBAAmB;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,qBACa,cAAe,SAAQ,UAAU;IAClB,WAAW,EAAE,sBAAsB,CAC7B;IACN,IAAI,EAAE,eAAe,CAAyB;IAC9C,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAa;IAE3C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,SAAM;IACV,cAAc,SAAK;IAEnB,SAAS,SAAK;IAEb,WAAW,UAAS;IACpB,aAAa,UAAS;IACvB,IAAI,EAAE,qBAAqB,CACrB;IACL,OAAO,UAAS;IAChB,SAAS,UAAS;IAElB,QAAQ,UAAS;IAElB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,WAAW,UAAS;IAErB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,GAAG,SAAM;IAET,KAAK,SAAM;IAEZ,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAY;IAE/D,OAAO,KAAK,QAAQ,GAKnB;IAED,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IASZ,MAAM;IA4Bf,OAAgB,MAAM,0BAA6B;CACpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAC;KACnC;CACF"}
1
+ {"version":3,"file":"transmitter.d.ts","sourceRoot":"","sources":["../../../src/automation/transmitter/transmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,KAAK,CAAC;AAKzD,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,sBAAsB,EAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EAEtB,MAAM,6CAA6C,CAAC;AACrD,OAAO,6CAA6C,CAAC;AAKrD,OAAO,iEAAiE,CAAC;AAEzE,OAAO,6CAA6C,CAAC;AAErD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,eAAe,qBAAqB;IACpC,aAAa,mBAAmB;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBACa,cAAe,SAAQ,UAAU;IAClB,WAAW,EAAE,sBAAsB,CAC7B;IACN,IAAI,EAAE,eAAe,CAAyB;IAC9C,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAa;IAE3C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,SAAM;IACV,cAAc,SAAK;IAEnB,SAAS,SAAK;IAEb,WAAW,UAAS;IACpB,aAAa,UAAS;IACtB,SAAS,UAAS;IACnB,IAAI,EAAE,qBAAqB,CACrB;IACL,OAAO,UAAS;IAChB,SAAS,UAAS;IAElB,QAAQ,UAAS;IAElB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,WAAW,UAAS;IAErB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,GAAG,SAAM;IAET,KAAK,SAAM;IAEZ,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAY;IAE/D,OAAO,KAAK,QAAQ,GAKnB;IAED,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IASZ,MAAM;IA4Bf,OAAgB,MAAM,0BAA6B;CACpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAC;KACnC;CACF"}
@@ -3,7 +3,7 @@ import { property } from "lit/decorators.js";
3
3
  import { classMap } from "lit/directives/class-map.js";
4
4
  import componentStyle from "./transmitter.css.js";
5
5
  import { customElement } from "../../decorator.js";
6
- import { lineWidth } from "../index.js";
6
+ import { TransmitterOrientation, transmitterLeaderOffset } from "./transmitter-shared.js";
7
7
  import { TransmitterButtonSize, TransmitterButtonVariant } from "../transmitter-button/transmitter-button.js";
8
8
  import { ObcIndicatorGraphSize } from "../../navigation-instruments/indicator-graph/indicator-graph.js";
9
9
  import { ObcAlertFrameType } from "../../components/alert-frame/alert-frame.js";
@@ -17,13 +17,6 @@ var __decorateClass = (decorators, target, key, kind) => {
17
17
  if (kind && result) __defProp(target, key, result);
18
18
  return result;
19
19
  };
20
- var TransmitterOrientation = /* @__PURE__ */ ((TransmitterOrientation2) => {
21
- TransmitterOrientation2["top"] = "top";
22
- TransmitterOrientation2["right"] = "right";
23
- TransmitterOrientation2["bottom"] = "bottom";
24
- TransmitterOrientation2["left"] = "left";
25
- return TransmitterOrientation2;
26
- })(TransmitterOrientation || {});
27
20
  var TransmitterType = /* @__PURE__ */ ((TransmitterType2) => {
28
21
  TransmitterType2["indicator"] = "indicator";
29
22
  TransmitterType2["value"] = "value";
@@ -34,7 +27,7 @@ var TransmitterType = /* @__PURE__ */ ((TransmitterType2) => {
34
27
  let ObcTransmitter = class extends LitElement {
35
28
  constructor() {
36
29
  super(...arguments);
37
- this.orientation = "bottom";
30
+ this.orientation = TransmitterOrientation.bottom;
38
31
  this.type = "value";
39
32
  this.lineType = void 0;
40
33
  this.unit = "";
@@ -42,6 +35,7 @@ let ObcTransmitter = class extends LitElement {
42
35
  this.maxDigits = 0;
43
36
  this.hintedZeros = false;
44
37
  this.hasSignSpacer = false;
38
+ this.hasDegree = false;
45
39
  this.size = TransmitterButtonSize.regular;
46
40
  this.hasIcon = false;
47
41
  this.hasAdvice = false;
@@ -54,9 +48,6 @@ let ObcTransmitter = class extends LitElement {
54
48
  get hasGraph() {
55
49
  return this.type === "horizontal-graph" || this.type === "vertical-graph";
56
50
  }
57
- get lineOffset() {
58
- return this.lineType === void 0 ? 0 : lineWidth(this.lineType) / 2;
59
- }
60
51
  renderButton() {
61
52
  const isIndicator = this.type === "indicator";
62
53
  return html`
@@ -70,12 +61,14 @@ let ObcTransmitter = class extends LitElement {
70
61
  .maxDigits=${this.maxDigits}
71
62
  .hintedZeros=${this.hintedZeros}
72
63
  .hasSignSpacer=${this.hasSignSpacer}
64
+ .hasDegree=${this.hasDegree}
73
65
  .hasIcon=${this.hasIcon}
74
66
  .hasAdvice=${this.hasAdvice}
75
67
  .adviceValue=${this.adviceValue}
76
68
  .hasSetPoint=${this.hasSetPoint}
77
69
  .setpointValue=${this.setpointValue}
78
70
  .label=${this.tag}
71
+ .idTag=${this.idTag}
79
72
  >
80
73
  <slot name="icon" slot="icon"></slot>
81
74
  </obc-transmitter-button>
@@ -100,7 +93,7 @@ let ObcTransmitter = class extends LitElement {
100
93
  if (!this.idTag) {
101
94
  return nothing;
102
95
  }
103
- return html`<div class="id-tag">${this.idTag}</div>`;
96
+ return html`<div class="id-tag" aria-hidden="true">${this.idTag}</div>`;
104
97
  }
105
98
  renderContent() {
106
99
  return html`
@@ -128,7 +121,7 @@ let ObcTransmitter = class extends LitElement {
128
121
  [`orientation-${this.orientation}`]: true,
129
122
  [`type-${this.type}`]: true
130
123
  })}
131
- style="--offset: ${this.lineOffset}px;"
124
+ style="--offset: ${transmitterLeaderOffset(this.lineType)}px;"
132
125
  >
133
126
  ${content}
134
127
  </div>
@@ -163,6 +156,9 @@ __decorateClass([
163
156
  __decorateClass([
164
157
  property({ type: Boolean })
165
158
  ], ObcTransmitter.prototype, "hasSignSpacer", 2);
159
+ __decorateClass([
160
+ property({ type: Boolean })
161
+ ], ObcTransmitter.prototype, "hasDegree", 2);
166
162
  __decorateClass([
167
163
  property({ type: String })
168
164
  ], ObcTransmitter.prototype, "size", 2);
@@ -199,6 +195,7 @@ ObcTransmitter = __decorateClass([
199
195
  export {
200
196
  ObcTransmitter,
201
197
  TransmitterOrientation,
202
- TransmitterType
198
+ TransmitterType,
199
+ transmitterLeaderOffset
203
200
  };
204
201
  //# sourceMappingURL=transmitter.js.map