@oicl/openbridge-webcomponents 2.0.0-next.127 → 2.0.0-next.129

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 (32) hide show
  1. package/bundle/openbridge-webcomponents.bundle.js +12376 -11906
  2. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  3. package/custom-elements.json +260 -6
  4. package/dist/building-blocks/chart-line/chart-line-base.d.ts +10 -2
  5. package/dist/building-blocks/chart-line/chart-line-base.d.ts.map +1 -1
  6. package/dist/building-blocks/chart-line/chart-line-base.js +27 -8
  7. package/dist/building-blocks/chart-line/chart-line-base.js.map +1 -1
  8. package/dist/building-blocks/readout-block/readout-block.css.js +53 -19
  9. package/dist/building-blocks/readout-block/readout-block.css.js.map +1 -1
  10. package/dist/building-blocks/readout-block/readout-block.d.ts +55 -0
  11. package/dist/building-blocks/readout-block/readout-block.d.ts.map +1 -1
  12. package/dist/building-blocks/readout-block/readout-block.js +57 -2
  13. package/dist/building-blocks/readout-block/readout-block.js.map +1 -1
  14. package/dist/charthelpers/chart-common.css.js +28 -3
  15. package/dist/charthelpers/chart-common.css.js.map +1 -1
  16. package/dist/navigation-instruments/readout/readout-shared.d.ts +23 -0
  17. package/dist/navigation-instruments/readout/readout-shared.d.ts.map +1 -1
  18. package/dist/navigation-instruments/readout/readout-shared.js +8 -0
  19. package/dist/navigation-instruments/readout/readout-shared.js.map +1 -1
  20. package/dist/navigation-instruments/readout/readout.css.js +138 -31
  21. package/dist/navigation-instruments/readout/readout.css.js.map +1 -1
  22. package/dist/navigation-instruments/readout/readout.d.ts +63 -3
  23. package/dist/navigation-instruments/readout/readout.d.ts.map +1 -1
  24. package/dist/navigation-instruments/readout/readout.js +127 -27
  25. package/dist/navigation-instruments/readout/readout.js.map +1 -1
  26. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js +64 -1
  27. package/dist/navigation-instruments/readout-list-item/readout-list-item.css.js.map +1 -1
  28. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts +77 -2
  29. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts.map +1 -1
  30. package/dist/navigation-instruments/readout-list-item/readout-list-item.js +100 -23
  31. package/dist/navigation-instruments/readout-list-item/readout-list-item.js.map +1 -1
  32. package/package.json +1 -1
@@ -34038,6 +34038,11 @@
34038
34038
  "kind": "method",
34039
34039
  "name": "syncScalesAndChart",
34040
34040
  "privacy": "private",
34041
+ "return": {
34042
+ "type": {
34043
+ "text": "boolean"
34044
+ }
34045
+ },
34041
34046
  "description": "Synchronize scale and chart dimensions/data\nThis is the main coordination function",
34042
34047
  "inheritedFrom": {
34043
34048
  "name": "ObcChartLineBase",
@@ -34134,7 +34139,12 @@
34134
34139
  "kind": "method",
34135
34140
  "name": "updateComputedDimensions",
34136
34141
  "privacy": "private",
34137
- "description": "Calculate actual dimensions based on parent width and aspect ratio.\nOnly used when fixedAspectRatioScaling is true.",
34142
+ "return": {
34143
+ "type": {
34144
+ "text": ""
34145
+ }
34146
+ },
34147
+ "description": "Refresh `computedWidth` / `computedHeight`, the derived pixel size the\nchart and its slotted scales are laid out from.\n\nIn pixel mode they simply mirror `width` / `height`. Only in\n`fixedAspectRatioScaling` mode are they derived — from the wrapper's\nmeasured width and the aspect ratio the `width` / `height` pair defines —\nand only then can this rebuild the chart.",
34138
34148
  "inheritedFrom": {
34139
34149
  "name": "ObcChartLineBase",
34140
34150
  "module": "src/building-blocks/chart-line/chart-line-base.ts"
@@ -35926,6 +35936,11 @@
35926
35936
  "kind": "method",
35927
35937
  "name": "syncScalesAndChart",
35928
35938
  "privacy": "private",
35939
+ "return": {
35940
+ "type": {
35941
+ "text": "boolean"
35942
+ }
35943
+ },
35929
35944
  "description": "Synchronize scale and chart dimensions/data\nThis is the main coordination function",
35930
35945
  "inheritedFrom": {
35931
35946
  "name": "ObcChartLineBase",
@@ -36022,7 +36037,12 @@
36022
36037
  "kind": "method",
36023
36038
  "name": "updateComputedDimensions",
36024
36039
  "privacy": "private",
36025
- "description": "Calculate actual dimensions based on parent width and aspect ratio.\nOnly used when fixedAspectRatioScaling is true.",
36040
+ "return": {
36041
+ "type": {
36042
+ "text": ""
36043
+ }
36044
+ },
36045
+ "description": "Refresh `computedWidth` / `computedHeight`, the derived pixel size the\nchart and its slotted scales are laid out from.\n\nIn pixel mode they simply mirror `width` / `height`. Only in\n`fixedAspectRatioScaling` mode are they derived — from the wrapper's\nmeasured width and the aspect ratio the `width` / `height` pair defines —\nand only then can this rebuild the chart.",
36026
36046
  "inheritedFrom": {
36027
36047
  "name": "ObcChartLineBase",
36028
36048
  "module": "src/building-blocks/chart-line/chart-line-base.ts"
@@ -41250,6 +41270,25 @@
41250
41270
  "description": "Text alignment of the number within its reserved width.",
41251
41271
  "attribute": "alignment"
41252
41272
  },
41273
+ {
41274
+ "kind": "field",
41275
+ "name": "category",
41276
+ "type": {
41277
+ "text": "ReadoutAdviceCategory"
41278
+ },
41279
+ "description": "Semantic category of an advice block — picks the default marker icon and\nthe active styling. Only meaningful for `variant=\"advice\"`.",
41280
+ "attribute": "category"
41281
+ },
41282
+ {
41283
+ "kind": "field",
41284
+ "name": "active",
41285
+ "type": {
41286
+ "text": "boolean"
41287
+ },
41288
+ "default": "false",
41289
+ "description": "The advice is triggered: the marker swaps to its filled/status icon and\nthe number takes the category's triggered styling (SemiBold for\nregular/optimal/eco, active text colour for the alert categories). Only\nmeaningful for `variant=\"advice\"`.",
41290
+ "attribute": "active"
41291
+ },
41253
41292
  {
41254
41293
  "kind": "field",
41255
41294
  "name": "dataQuality",
@@ -41395,6 +41434,17 @@
41395
41434
  }
41396
41435
  }
41397
41436
  },
41437
+ {
41438
+ "kind": "method",
41439
+ "name": "adviceFallbackIcon",
41440
+ "privacy": "private",
41441
+ "return": {
41442
+ "type": {
41443
+ "text": "TemplateResult"
41444
+ }
41445
+ },
41446
+ "description": "The advice marker for the current category / triggered state. Resting\ncategories carry a neutral outline glyph (tinted via `currentColor`);\ntriggered alert categories swap to the filled IEC status icon, whose\ncolours are fixed fills and ignore `currentColor` by design."
41447
+ },
41398
41448
  {
41399
41449
  "kind": "method",
41400
41450
  "name": "renderDegreeGlyph",
@@ -41553,6 +41603,23 @@
41553
41603
  "description": "Text alignment of the number within its reserved width.",
41554
41604
  "fieldName": "alignment"
41555
41605
  },
41606
+ {
41607
+ "name": "category",
41608
+ "type": {
41609
+ "text": "ReadoutAdviceCategory"
41610
+ },
41611
+ "description": "Semantic category of an advice block — picks the default marker icon and\nthe active styling. Only meaningful for `variant=\"advice\"`.",
41612
+ "fieldName": "category"
41613
+ },
41614
+ {
41615
+ "name": "active",
41616
+ "type": {
41617
+ "text": "boolean"
41618
+ },
41619
+ "default": "false",
41620
+ "description": "The advice is triggered: the marker swaps to its filled/status icon and\nthe number takes the category's triggered styling (SemiBold for\nregular/optimal/eco, active text colour for the alert categories). Only\nmeaningful for `variant=\"advice\"`.",
41621
+ "fieldName": "active"
41622
+ },
41556
41623
  {
41557
41624
  "name": "dataQuality",
41558
41625
  "type": {
@@ -84307,6 +84374,11 @@
84307
84374
  "kind": "method",
84308
84375
  "name": "syncScalesAndChart",
84309
84376
  "privacy": "private",
84377
+ "return": {
84378
+ "type": {
84379
+ "text": "boolean"
84380
+ }
84381
+ },
84310
84382
  "description": "Synchronize scale and chart dimensions/data\nThis is the main coordination function",
84311
84383
  "inheritedFrom": {
84312
84384
  "name": "ObcChartLineBase",
@@ -84403,7 +84475,12 @@
84403
84475
  "kind": "method",
84404
84476
  "name": "updateComputedDimensions",
84405
84477
  "privacy": "private",
84406
- "description": "Calculate actual dimensions based on parent width and aspect ratio.\nOnly used when fixedAspectRatioScaling is true.",
84478
+ "return": {
84479
+ "type": {
84480
+ "text": ""
84481
+ }
84482
+ },
84483
+ "description": "Refresh `computedWidth` / `computedHeight`, the derived pixel size the\nchart and its slotted scales are laid out from.\n\nIn pixel mode they simply mirror `width` / `height`. Only in\n`fixedAspectRatioScaling` mode are they derived — from the wrapper's\nmeasured width and the aspect ratio the `width` / `height` pair defines —\nand only then can this rebuild the chart.",
84407
84484
  "inheritedFrom": {
84408
84485
  "name": "ObcChartLineBase",
84409
84486
  "module": "src/building-blocks/chart-line/chart-line-base.ts"
@@ -92735,6 +92812,14 @@
92735
92812
  },
92736
92813
  "attribute": "adviceOptions"
92737
92814
  },
92815
+ {
92816
+ "kind": "field",
92817
+ "name": "labelOptions",
92818
+ "type": {
92819
+ "text": "ReadoutLabelOptions | undefined"
92820
+ },
92821
+ "attribute": "labelOptions"
92822
+ },
92738
92823
  {
92739
92824
  "kind": "field",
92740
92825
  "name": "unitOptions",
@@ -92879,6 +92964,15 @@
92879
92964
  "privacy": "private",
92880
92965
  "readonly": true
92881
92966
  },
92967
+ {
92968
+ "kind": "field",
92969
+ "name": "isEqualSize",
92970
+ "type": {
92971
+ "text": "boolean"
92972
+ },
92973
+ "privacy": "private",
92974
+ "readonly": true
92975
+ },
92882
92976
  {
92883
92977
  "kind": "field",
92884
92978
  "name": "isPopUp",
@@ -92965,6 +93059,26 @@
92965
93059
  "description": "Value font weight passes straight to obc-textbox; regular when unset. Colour is separate.",
92966
93060
  "readonly": true
92967
93061
  },
93062
+ {
93063
+ "kind": "field",
93064
+ "name": "labelSize",
93065
+ "type": {
93066
+ "text": "ObcTextboxSize"
93067
+ },
93068
+ "privacy": "private",
93069
+ "description": "Label size: `xs` for dense list rows unless overridden (see ReadoutLabelOptions).",
93070
+ "readonly": true
93071
+ },
93072
+ {
93073
+ "kind": "field",
93074
+ "name": "labelWeight",
93075
+ "type": {
93076
+ "text": "ObcTextboxFontWeight"
93077
+ },
93078
+ "privacy": "private",
93079
+ "description": "Label weight: SemiBold only for enhanced (in-command) rows, regular\notherwise — the designer reduced the amount of semibold in the interface\n(Figma 6.1 review).",
93080
+ "readonly": true
93081
+ },
92968
93082
  {
92969
93083
  "kind": "field",
92970
93084
  "name": "setpointWeight",
@@ -93044,7 +93158,7 @@
93044
93158
  {
93045
93159
  "name": "config",
93046
93160
  "type": {
93047
- "text": "{\n variant: ReadoutBlockVariant;\n value: number | string | null | undefined;\n /** Only the value block is ever text; setpoint / advice stay numeric. */\n valueType?: ReadoutValueType;\n valueSize: ObcTextboxSize;\n enhanced: boolean;\n weight: ObcTextboxFontWeight;\n hintedZeros: boolean;\n spaceReserver?: string;\n off?: boolean;\n hasDegree?: boolean;\n hasIcon?: boolean;\n touching?: boolean;\n hidePhase?: ReadoutBlockHidePhase;\n dataQuality?: ReadoutBlockDataQuality;\n alert?: false | AlertFrameConfig;\n }"
93161
+ "text": "{\n variant: ReadoutBlockVariant;\n value: number | string | null | undefined;\n /** Only the value block is ever text; setpoint / advice stay numeric. */\n valueType?: ReadoutValueType;\n valueSize: ObcTextboxSize;\n enhanced: boolean;\n weight: ObcTextboxFontWeight;\n hintedZeros: boolean;\n spaceReserver?: string;\n off?: boolean;\n hasDegree?: boolean;\n hasIcon?: boolean;\n touching?: boolean;\n hidePhase?: ReadoutBlockHidePhase;\n dataQuality?: ReadoutBlockDataQuality;\n alert?: false | AlertFrameConfig;\n /** Advice-only: semantic category + triggered state. */\n category?: ReadoutAdviceCategory;\n active?: boolean;\n }"
93048
93162
  }
93049
93163
  }
93050
93164
  ]
@@ -93187,6 +93301,17 @@
93187
93301
  }
93188
93302
  }
93189
93303
  },
93304
+ {
93305
+ "kind": "method",
93306
+ "name": "renderSourceBlock",
93307
+ "privacy": "private",
93308
+ "return": {
93309
+ "type": {
93310
+ "text": "TemplateResult"
93311
+ }
93312
+ },
93313
+ "description": "The source text plus its optional state chip and deviation line. The\nplain (regular, no-deviation) case renders the bare textbox — byte-for-\nbyte the pre-6.1 output; a state or a deviation wraps it in the\n`.source-block` stack."
93314
+ },
93190
93315
  {
93191
93316
  "kind": "method",
93192
93317
  "name": "renderTrailingSource",
@@ -93418,6 +93543,13 @@
93418
93543
  },
93419
93544
  "fieldName": "adviceOptions"
93420
93545
  },
93546
+ {
93547
+ "name": "labelOptions",
93548
+ "type": {
93549
+ "text": "ReadoutLabelOptions | undefined"
93550
+ },
93551
+ "fieldName": "labelOptions"
93552
+ },
93421
93553
  {
93422
93554
  "name": "unitOptions",
93423
93555
  "type": {
@@ -93467,6 +93599,14 @@
93467
93599
  "module": "../readout/readout-formatters.js"
93468
93600
  }
93469
93601
  },
93602
+ {
93603
+ "kind": "js",
93604
+ "name": "ReadoutAdviceCategory",
93605
+ "declaration": {
93606
+ "name": "ReadoutAdviceCategory",
93607
+ "module": "../../building-blocks/readout-block/readout-block.js"
93608
+ }
93609
+ },
93470
93610
  {
93471
93611
  "kind": "js",
93472
93612
  "name": "ReadoutListItemSize",
@@ -93624,6 +93764,10 @@
93624
93764
  "description": "`<obc-readout>` – An instrument readout: a value with optional setpoint,\nadvice, label, unit, and source, arranged vertically or horizontally.\n\nA layout sibling of `<obc-readout-list-item>` built from the same\ncap-height \"readout building blocks\" (`obc-readout-block`): dynamic data is\npassed as top-level primitives (`value`, `setpoint`, `advice`, `label`,\n`unit`, `src`), global layout/format via top-level props (`size`,\n`priority`, `direction`, `stacking`, `alignment`, `hasDegree`,\n`dataQuality`, `alert`, …) and per-block tweaks via one object per block\n(`valueOptions`, `setpointOptions`, `adviceOptions`, `unitOptions`,\n`srcOptions`).\n\n### Features\n- **Building blocks:** value, optional setpoint, and optional advice\n segments, each cap-height-aligned and able to reserve a stable width.\n- **Sizes:** `small`, `medium`, `large` density scales.\n- **Direction:** `vertical` (blocks above a label+unit meta zone and source\n row) or `horizontal` (all segments on one row).\n- **Stacking & alignment:** vertical readouts arrange label/unit `inline`\n or `stacked`; stacked readouts align `vertical` (right), `left`, or\n `center`.\n- **Priority:** `regular`/`enhanced` colour emphasis; per-value `weight`\n is independent of colour.\n- **Setpoint interactions:** `always-visible`, `flip-flop` (emphasis swap),\n and `pop-up` (fade-out at setpoint), plus the `touching` focus state.\n- **Data quality:** `low-integrity`/`invalid` styling, per block or for the\n whole readout, combinable with `alert`.\n- **Alert frame:** optional `alert` wrapper (caution/warning/alarm/level).\n- **Source:** plain text by default; opt-in `picker` (context menu) or\n `flyout` interactivity via `srcOptions.interaction`.\n- **Formatting:** shared `fractionDigits`, width reservation via\n `maxDigits` and per-segment `hintedZeros`; a `null` value renders a dash.\n- **Text values:** `valueType=\"text\"` renders `value` verbatim (e.g.\n `\"Auto\"`) instead of formatting it as a number.\n\n### Usage Guidelines\nUse for stand-alone instrument readouts and readouts embedded in\ninstruments. Prefer `<obc-readout-list-item>` for dense rows in\nlists/tables (label left, value right) and `<obc-readout-list>` for\nauto-aligned groups of rows.",
93625
93765
  "name": "ObcReadout",
93626
93766
  "slots": [
93767
+ {
93768
+ "description": "Icon before the label/unit meta zone.",
93769
+ "name": "leading-icon"
93770
+ },
93627
93771
  {
93628
93772
  "description": "Icon before the value.",
93629
93773
  "name": "value-icon"
@@ -93754,6 +93898,7 @@
93754
93898
  "type": {
93755
93899
  "text": "ReadoutSize | undefined"
93756
93900
  },
93901
+ "description": "Density tier. Applies to the vertical direction only — the horizontal\narrangement exists in the large tier alone (Figma 6.1: it relies on the\nlabel+unit stack aligning with the L-size value caps), so `size` is\nignored when `direction` is `horizontal`.",
93757
93902
  "attribute": "size"
93758
93903
  },
93759
93904
  {
@@ -93795,6 +93940,7 @@
93795
93940
  "text": "boolean"
93796
93941
  },
93797
93942
  "default": "false",
93943
+ "description": "Render the cap-height degree glyph (`°`) after the ACTUAL VALUE only —\nthe setpoint / advice blocks never carry one (Figma 6.1 review: the unit\nis written once for the readout, and the degree follows the same rule).",
93798
93944
  "attribute": "hasDegree"
93799
93945
  },
93800
93946
  {
@@ -93806,6 +93952,16 @@
93806
93952
  "default": "false",
93807
93953
  "attribute": "hasDegreeSpacer"
93808
93954
  },
93955
+ {
93956
+ "kind": "field",
93957
+ "name": "hasLeadingIcon",
93958
+ "type": {
93959
+ "text": "boolean"
93960
+ },
93961
+ "default": "false",
93962
+ "description": "Show the `leading-icon` slot before the label/unit meta zone.",
93963
+ "attribute": "hasLeadingIcon"
93964
+ },
93809
93965
  {
93810
93966
  "kind": "field",
93811
93967
  "name": "fractionDigits",
@@ -93867,6 +94023,14 @@
93867
94023
  },
93868
94024
  "attribute": "adviceOptions"
93869
94025
  },
94026
+ {
94027
+ "kind": "field",
94028
+ "name": "labelOptions",
94029
+ "type": {
94030
+ "text": "ReadoutLabelOptions | undefined"
94031
+ },
94032
+ "attribute": "labelOptions"
94033
+ },
93870
94034
  {
93871
94035
  "kind": "field",
93872
94036
  "name": "unitOptions",
@@ -94079,6 +94243,15 @@
94079
94243
  "privacy": "private",
94080
94244
  "readonly": true
94081
94245
  },
94246
+ {
94247
+ "kind": "field",
94248
+ "name": "isEqualSize",
94249
+ "type": {
94250
+ "text": "boolean"
94251
+ },
94252
+ "privacy": "private",
94253
+ "readonly": true
94254
+ },
94082
94255
  {
94083
94256
  "kind": "field",
94084
94257
  "name": "isPopUp",
@@ -94175,6 +94348,26 @@
94175
94348
  "description": "Value font weight passes straight to obc-textbox; regular when unset. Colour is separate.",
94176
94349
  "readonly": true
94177
94350
  },
94351
+ {
94352
+ "kind": "field",
94353
+ "name": "labelSize",
94354
+ "type": {
94355
+ "text": "ObcTextboxSize"
94356
+ },
94357
+ "privacy": "private",
94358
+ "description": "Label size. The Figma 6.1 title block defaults large readouts to `s` — a\nscannable label should not sit at the smallest permitted size — while\nsmall/medium tiers stay `xs`; `labelOptions.size` overrides either way\n(per the design team, for context / density / secondary instruments).\nThe `s` default was confirmed by the design team (2026-08-17).\nTODO(designer): the medium-tier default is unverified in the new sheets\n(only XS and S exist on the title's size axis).",
94359
+ "readonly": true
94360
+ },
94361
+ {
94362
+ "kind": "field",
94363
+ "name": "labelWeight",
94364
+ "type": {
94365
+ "text": "ObcTextboxFontWeight"
94366
+ },
94367
+ "privacy": "private",
94368
+ "description": "Label weight: SemiBold only for enhanced (in-command) readouts, regular\notherwise — the designer reduced the amount of semibold in the interface\n(Figma 6.1 review).",
94369
+ "readonly": true
94370
+ },
94178
94371
  {
94179
94372
  "kind": "field",
94180
94373
  "name": "setpointWeight",
@@ -94254,7 +94447,7 @@
94254
94447
  {
94255
94448
  "name": "config",
94256
94449
  "type": {
94257
- "text": "{\n variant: ReadoutBlockVariant;\n value: number | string | null | undefined;\n /** Only the value block is ever text; setpoint / advice stay numeric. */\n valueType?: ReadoutValueType;\n valueSize: ObcTextboxSize;\n enhanced: boolean;\n weight: ObcTextboxFontWeight;\n hintedZeros: boolean;\n spaceReserver?: string;\n off?: boolean;\n hasDegree?: boolean;\n hasIcon?: boolean;\n touching?: boolean;\n hidePhase?: ReadoutBlockHidePhase;\n dataQuality?: ReadoutBlockDataQuality;\n alert?: false | AlertFrameConfig;\n /**\n * Invisible width-reserving duplicate (see\n * {@link renderSetpointWidthReserve}): skips the forwarded icon slot so\n * the visible block keeps the slotted content — the block's default\n * marker has the same fixed tier width.\n */\n ghost?: boolean;\n }"
94450
+ "text": "{\n variant: ReadoutBlockVariant;\n value: number | string | null | undefined;\n /** Only the value block is ever text; setpoint / advice stay numeric. */\n valueType?: ReadoutValueType;\n valueSize: ObcTextboxSize;\n enhanced: boolean;\n weight: ObcTextboxFontWeight;\n hintedZeros: boolean;\n spaceReserver?: string;\n off?: boolean;\n hasDegree?: boolean;\n hasIcon?: boolean;\n touching?: boolean;\n hidePhase?: ReadoutBlockHidePhase;\n dataQuality?: ReadoutBlockDataQuality;\n alert?: false | AlertFrameConfig;\n /** Advice-only: semantic category + triggered state. */\n category?: ReadoutAdviceCategory;\n active?: boolean;\n /**\n * Invisible width-reserving duplicate (see\n * {@link renderSetpointWidthReserve}): skips the forwarded icon slot so\n * the visible block keeps the slotted content — the block's default\n * marker has the same fixed tier width.\n */\n ghost?: boolean;\n }"
94258
94451
  }
94259
94452
  }
94260
94453
  ]
@@ -94408,6 +94601,25 @@
94408
94601
  }
94409
94602
  }
94410
94603
  },
94604
+ {
94605
+ "kind": "method",
94606
+ "name": "renderSourceBlock",
94607
+ "privacy": "private",
94608
+ "return": {
94609
+ "type": {
94610
+ "text": "TemplateResult"
94611
+ }
94612
+ },
94613
+ "parameters": [
94614
+ {
94615
+ "name": "src",
94616
+ "type": {
94617
+ "text": "string"
94618
+ }
94619
+ }
94620
+ ],
94621
+ "description": "The plain (non-interactive) source: the textbox plus its optional state\nchip and deviation line. The regular no-deviation case renders the bare\ntextbox — the pre-6.1 output; a state or deviation wraps it in the\n`.source-block` stack. The picker / flyout button variants do not carry\nstate / deviation yet — TODO(designer): undefined in the 6.1 sheets."
94622
+ },
94411
94623
  {
94412
94624
  "kind": "method",
94413
94625
  "name": "renderSource",
@@ -94417,7 +94629,7 @@
94417
94629
  "text": "TemplateResult | typeof nothing"
94418
94630
  }
94419
94631
  },
94420
- "description": "The source row (vertical) / segment (horizontal), with its auto divider."
94632
+ "description": "The source row (vertical) / segment (horizontal). Only the horizontal\ndirection draws an auto divider before the source — the Figma 6.1 review\n(node 95:24490 \"remove dividers\", 95:26891 \"Source-divider are there\")\nkeeps the vertical source row divider-free while the horizontal flow\nseparates the source with a vertical rule."
94421
94633
  },
94422
94634
  {
94423
94635
  "kind": "method",
@@ -94682,6 +94894,7 @@
94682
94894
  "type": {
94683
94895
  "text": "ReadoutSize | undefined"
94684
94896
  },
94897
+ "description": "Density tier. Applies to the vertical direction only — the horizontal\narrangement exists in the large tier alone (Figma 6.1: it relies on the\nlabel+unit stack aligning with the L-size value caps), so `size` is\nignored when `direction` is `horizontal`.",
94685
94898
  "fieldName": "size"
94686
94899
  },
94687
94900
  {
@@ -94718,6 +94931,7 @@
94718
94931
  "text": "boolean"
94719
94932
  },
94720
94933
  "default": "false",
94934
+ "description": "Render the cap-height degree glyph (`°`) after the ACTUAL VALUE only —\nthe setpoint / advice blocks never carry one (Figma 6.1 review: the unit\nis written once for the readout, and the degree follows the same rule).",
94721
94935
  "fieldName": "hasDegree"
94722
94936
  },
94723
94937
  {
@@ -94728,6 +94942,15 @@
94728
94942
  "default": "false",
94729
94943
  "fieldName": "hasDegreeSpacer"
94730
94944
  },
94945
+ {
94946
+ "name": "hasLeadingIcon",
94947
+ "type": {
94948
+ "text": "boolean"
94949
+ },
94950
+ "default": "false",
94951
+ "description": "Show the `leading-icon` slot before the label/unit meta zone.",
94952
+ "fieldName": "hasLeadingIcon"
94953
+ },
94731
94954
  {
94732
94955
  "name": "fractionDigits",
94733
94956
  "type": {
@@ -94782,6 +95005,13 @@
94782
95005
  },
94783
95006
  "fieldName": "adviceOptions"
94784
95007
  },
95008
+ {
95009
+ "name": "labelOptions",
95010
+ "type": {
95011
+ "text": "ReadoutLabelOptions | undefined"
95012
+ },
95013
+ "fieldName": "labelOptions"
95014
+ },
94785
95015
  {
94786
95016
  "name": "unitOptions",
94787
95017
  "type": {
@@ -94831,6 +95061,22 @@
94831
95061
  "module": "./readout-formatters.js"
94832
95062
  }
94833
95063
  },
95064
+ {
95065
+ "kind": "js",
95066
+ "name": "ReadoutAdviceCategory",
95067
+ "declaration": {
95068
+ "name": "ReadoutAdviceCategory",
95069
+ "module": "../../building-blocks/readout-block/readout-block.js"
95070
+ }
95071
+ },
95072
+ {
95073
+ "kind": "js",
95074
+ "name": "ReadoutSourceState",
95075
+ "declaration": {
95076
+ "name": "ReadoutSourceState",
95077
+ "module": "../readout-list-item/readout-list-item.js"
95078
+ }
95079
+ },
94834
95080
  {
94835
95081
  "kind": "js",
94836
95082
  "name": "ReadoutBlockState",
@@ -94863,6 +95109,14 @@
94863
95109
  "module": "../readout-list-item/readout-list-item.js"
94864
95110
  }
94865
95111
  },
95112
+ {
95113
+ "kind": "js",
95114
+ "name": "ReadoutLabelOptions",
95115
+ "declaration": {
95116
+ "name": "ReadoutLabelOptions",
95117
+ "module": "../readout-list-item/readout-list-item.js"
95118
+ }
95119
+ },
94866
95120
  {
94867
95121
  "kind": "js",
94868
95122
  "name": "ReadoutReserverOptions",
@@ -476,8 +476,16 @@ export declare class ObcChartLineBase extends LitElement {
476
476
  */
477
477
  private setupAspectRatioResizeObserver;
478
478
  /**
479
- * Calculate actual dimensions based on parent width and aspect ratio.
480
- * Only used when fixedAspectRatioScaling is true.
479
+ * Refresh `computedWidth` / `computedHeight`, the derived pixel size the
480
+ * chart and its slotted scales are laid out from.
481
+ *
482
+ * In pixel mode they simply mirror `width` / `height`. Only in
483
+ * `fixedAspectRatioScaling` mode are they derived — from the wrapper's
484
+ * measured width and the aspect ratio the `width` / `height` pair defines —
485
+ * and only then can this rebuild the chart.
486
+ *
487
+ * @returns `true` when the change was significant enough that the chart was
488
+ * rebuilt here, so the caller must not rebuild it a second time.
481
489
  */
482
490
  private updateComputedDimensions;
483
491
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chart-line-base.d.ts","sourceRoot":"","sources":["../../../src/building-blocks/chart-line/chart-line-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart-line-base.d.ts","sourceRoot":"","sources":["../../../src/building-blocks/chart-line/chart-line-base.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,11 @@ const LINE_GRAPH_RECREATE_PROP_NAMES = [
97
97
  "height",
98
98
  "fixedAspectRatioScaling"
99
99
  ];
100
+ const LINE_GRAPH_DIMENSION_PROP_NAMES = [
101
+ "width",
102
+ "height",
103
+ "fixedAspectRatioScaling"
104
+ ];
100
105
  const _ObcChartLineBase = class _ObcChartLineBase extends LitElement {
101
106
  constructor() {
102
107
  super(...arguments);
@@ -629,7 +634,7 @@ const _ObcChartLineBase = class _ObcChartLineBase extends LitElement {
629
634
  * This is the main coordination function
630
635
  */
631
636
  syncScalesAndChart() {
632
- if (this.isUpdatingScales) return;
637
+ if (this.isUpdatingScales) return false;
633
638
  this.isUpdatingScales = true;
634
639
  try {
635
640
  const padding = this.calculatePaddingFromScales();
@@ -643,13 +648,14 @@ const _ObcChartLineBase = class _ObcChartLineBase extends LitElement {
643
648
  effectiveWidth,
644
649
  effectiveHeight
645
650
  });
646
- return;
651
+ return false;
647
652
  }
648
653
  this.updateScaleProperties(padding);
649
654
  if (this.chart) {
650
655
  this.chart.destroy();
651
656
  }
652
657
  this.createChart();
658
+ return true;
653
659
  } finally {
654
660
  this.isUpdatingScales = false;
655
661
  }
@@ -884,6 +890,9 @@ const _ObcChartLineBase = class _ObcChartLineBase extends LitElement {
884
890
  if (!this.hasAnyChanged(changed, LINE_GRAPH_WATCHED_PROP_NAMES)) {
885
891
  return;
886
892
  }
893
+ if (this.hasAnyChanged(changed, LINE_GRAPH_DIMENSION_PROP_NAMES)) {
894
+ if (this.updateComputedDimensions()) return;
895
+ }
887
896
  if (changed.has("hasLabelPadding") && this.hasExternalScales()) {
888
897
  this.syncScalesAndChart();
889
898
  return;
@@ -969,19 +978,27 @@ const _ObcChartLineBase = class _ObcChartLineBase extends LitElement {
969
978
  this.aspectRatioResizeObserver.observe(wrapper);
970
979
  }
971
980
  /**
972
- * Calculate actual dimensions based on parent width and aspect ratio.
973
- * Only used when fixedAspectRatioScaling is true.
981
+ * Refresh `computedWidth` / `computedHeight`, the derived pixel size the
982
+ * chart and its slotted scales are laid out from.
983
+ *
984
+ * In pixel mode they simply mirror `width` / `height`. Only in
985
+ * `fixedAspectRatioScaling` mode are they derived — from the wrapper's
986
+ * measured width and the aspect ratio the `width` / `height` pair defines —
987
+ * and only then can this rebuild the chart.
988
+ *
989
+ * @returns `true` when the change was significant enough that the chart was
990
+ * rebuilt here, so the caller must not rebuild it a second time.
974
991
  */
975
992
  updateComputedDimensions() {
976
993
  if (!this.fixedAspectRatioScaling) {
977
994
  this.computedWidth = this.width;
978
995
  this.computedHeight = this.height;
979
- return;
996
+ return false;
980
997
  }
981
998
  const wrapper = this.renderRoot.querySelector(".wrapper");
982
- if (!wrapper) return;
999
+ if (!wrapper) return false;
983
1000
  const parentWidth = wrapper.clientWidth;
984
- if (parentWidth <= 0) return;
1001
+ if (parentWidth <= 0) return false;
985
1002
  const aspectRatio = this.width / this.height;
986
1003
  const newWidth = parentWidth;
987
1004
  const newHeight = Math.round(parentWidth / aspectRatio);
@@ -989,12 +1006,14 @@ const _ObcChartLineBase = class _ObcChartLineBase extends LitElement {
989
1006
  this.computedWidth = newWidth;
990
1007
  this.computedHeight = newHeight;
991
1008
  if (this.hasExternalScales()) {
992
- this.syncScalesAndChart();
1009
+ return this.syncScalesAndChart();
993
1010
  } else if (this.chart) {
994
1011
  this.chart.destroy();
995
1012
  this.createChart();
1013
+ return true;
996
1014
  }
997
1015
  }
1016
+ return false;
998
1017
  }
999
1018
  /**
1000
1019
  * Get the effective width for chart rendering.