@oicl/openbridge-webcomponents-full-bundle 2.0.0-next.151 → 2.0.0-next.152

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 (136) hide show
  1. package/.storybook/vitest.setup.ts +12 -1
  2. package/bundle/openbridge-webcomponents.bundle.js +989 -319
  3. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  4. package/custom-elements.json +1514 -77
  5. package/dist/alert-severity.d.ts +12 -9
  6. package/dist/alert-severity.d.ts.map +1 -1
  7. package/dist/alert-severity.js +30 -38
  8. package/dist/alert-severity.js.map +1 -1
  9. package/dist/building-blocks/bar-horizontal/bar-horizontal.d.ts +6 -0
  10. package/dist/building-blocks/bar-horizontal/bar-horizontal.d.ts.map +1 -1
  11. package/dist/building-blocks/bar-horizontal/bar-horizontal.js +6 -1
  12. package/dist/building-blocks/bar-horizontal/bar-horizontal.js.map +1 -1
  13. package/dist/building-blocks/bar-vertical/bar-vertical.d.ts +6 -0
  14. package/dist/building-blocks/bar-vertical/bar-vertical.d.ts.map +1 -1
  15. package/dist/building-blocks/bar-vertical/bar-vertical.js +6 -1
  16. package/dist/building-blocks/bar-vertical/bar-vertical.js.map +1 -1
  17. package/dist/building-blocks/chart-line/chart-line-base.d.ts +129 -0
  18. package/dist/building-blocks/chart-line/chart-line-base.d.ts.map +1 -1
  19. package/dist/building-blocks/chart-line/chart-line-base.js +464 -79
  20. package/dist/building-blocks/chart-line/chart-line-base.js.map +1 -1
  21. package/dist/building-blocks/external-scale/external-scale.d.ts +11 -0
  22. package/dist/building-blocks/external-scale/external-scale.d.ts.map +1 -1
  23. package/dist/building-blocks/external-scale/external-scale.js +45 -12
  24. package/dist/building-blocks/external-scale/external-scale.js.map +1 -1
  25. package/dist/charthelpers/index.d.ts +1 -0
  26. package/dist/charthelpers/index.d.ts.map +1 -1
  27. package/dist/charthelpers/index.js +7 -1
  28. package/dist/charthelpers/index.js.map +1 -1
  29. package/dist/charthelpers/range-labels.d.ts +55 -0
  30. package/dist/charthelpers/range-labels.d.ts.map +1 -0
  31. package/dist/charthelpers/range-labels.js +36 -0
  32. package/dist/charthelpers/range-labels.js.map +1 -0
  33. package/dist/components/alert-button/alert-button.css.js +13 -21
  34. package/dist/components/alert-button/alert-button.css.js.map +1 -1
  35. package/dist/components/alert-button/alert-button.d.ts +9 -4
  36. package/dist/components/alert-button/alert-button.d.ts.map +1 -1
  37. package/dist/components/alert-button/alert-button.js +24 -15
  38. package/dist/components/alert-button/alert-button.js.map +1 -1
  39. package/dist/components/alert-frame/alert-frame.css.js +109 -33
  40. package/dist/components/alert-frame/alert-frame.css.js.map +1 -1
  41. package/dist/components/alert-frame/alert-frame.d.ts +34 -7
  42. package/dist/components/alert-frame/alert-frame.d.ts.map +1 -1
  43. package/dist/components/alert-frame/alert-frame.js +134 -30
  44. package/dist/components/alert-frame/alert-frame.js.map +1 -1
  45. package/dist/components/alert-icon/alert-icon.d.ts +10 -7
  46. package/dist/components/alert-icon/alert-icon.d.ts.map +1 -1
  47. package/dist/components/alert-icon/alert-icon.js +37 -60
  48. package/dist/components/alert-icon/alert-icon.js.map +1 -1
  49. package/dist/components/alert-menu-item/alert-menu-item.css.js +1 -4
  50. package/dist/components/alert-menu-item/alert-menu-item.css.js.map +1 -1
  51. package/dist/components/date-item/date-item.css.js +3 -3
  52. package/dist/components/keyboard-full/keyboard-full.css.js +4 -4
  53. package/dist/components/message-menu-item/message-menu-item.css.js +2 -6
  54. package/dist/components/message-menu-item/message-menu-item.css.js.map +1 -1
  55. package/dist/components/sequence-toolbar/sequence-toolbar.css.js +1 -2
  56. package/dist/components/sequence-toolbar/sequence-toolbar.css.js.map +1 -1
  57. package/dist/index.js +2 -1
  58. package/dist/navigation-instruments/gauge-trend/gauge-trend.d.ts +6 -0
  59. package/dist/navigation-instruments/gauge-trend/gauge-trend.d.ts.map +1 -1
  60. package/dist/navigation-instruments/gauge-trend/gauge-trend.js +8 -0
  61. package/dist/navigation-instruments/gauge-trend/gauge-trend.js.map +1 -1
  62. package/dist/navigation-instruments/instrument-field/instrument-field.css.js +2 -2
  63. package/dist/navigation-instruments/readout/readout.d.ts.map +1 -1
  64. package/dist/navigation-instruments/readout/readout.js +2 -1
  65. package/dist/navigation-instruments/readout/readout.js.map +1 -1
  66. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts.map +1 -1
  67. package/dist/navigation-instruments/readout-list-item/readout-list-item.js +2 -1
  68. package/dist/navigation-instruments/readout-list-item/readout-list-item.js.map +1 -1
  69. package/dist/openbridge.css +19 -4
  70. package/dist/palettes/blinking.d.ts +14 -4
  71. package/dist/palettes/blinking.d.ts.map +1 -1
  72. package/dist/palettes/blinking.js +41 -35
  73. package/dist/palettes/blinking.js.map +1 -1
  74. package/dist/palettes/flashing-controller.d.ts +21 -0
  75. package/dist/palettes/flashing-controller.d.ts.map +1 -0
  76. package/dist/palettes/flashing-controller.js +45 -0
  77. package/dist/palettes/flashing-controller.js.map +1 -0
  78. package/dist/svghelpers/index.d.ts +1 -0
  79. package/dist/svghelpers/index.d.ts.map +1 -1
  80. package/dist/svghelpers/index.js +2 -0
  81. package/dist/svghelpers/index.js.map +1 -1
  82. package/dist/svghelpers/rounded-rect.d.ts +15 -0
  83. package/dist/svghelpers/rounded-rect.d.ts.map +1 -0
  84. package/dist/svghelpers/rounded-rect.js +29 -0
  85. package/dist/svghelpers/rounded-rect.js.map +1 -0
  86. package/dist/types.d.ts +14 -0
  87. package/dist/types.d.ts.map +1 -1
  88. package/dist/types.js +9 -0
  89. package/dist/types.js.map +1 -1
  90. package/package.json +1 -1
  91. package/script/check-css-variables.ts +2 -15
  92. package/src/alert-severity.spec.ts +56 -0
  93. package/src/alert-severity.ts +45 -43
  94. package/src/bars-graphs/area-graph/area-graph.stories.ts +235 -1
  95. package/src/bars-graphs/line-graph/line-graph.stories.ts +24 -0
  96. package/src/building-blocks/bar-horizontal/bar-horizontal.ts +7 -0
  97. package/src/building-blocks/bar-vertical/bar-vertical.ts +7 -0
  98. package/src/building-blocks/chart-line/chart-line-base.spec.ts +767 -0
  99. package/src/building-blocks/chart-line/chart-line-base.stories.ts +124 -0
  100. package/src/building-blocks/chart-line/chart-line-base.ts +671 -97
  101. package/src/building-blocks/chart-line/chart-sizing-battleground.stories.ts +17 -0
  102. package/src/building-blocks/external-scale/external-scale.spec.ts +154 -0
  103. package/src/building-blocks/external-scale/external-scale.ts +78 -20
  104. package/src/charthelpers/index.ts +1 -0
  105. package/src/charthelpers/range-labels.spec.ts +46 -0
  106. package/src/charthelpers/range-labels.ts +93 -0
  107. package/src/components/alert-button/alert-button.css +10 -23
  108. package/src/components/alert-button/alert-button.spec.ts +56 -15
  109. package/src/components/alert-button/alert-button.stories.ts +5 -1
  110. package/src/components/alert-button/alert-button.ts +33 -24
  111. package/src/components/alert-frame/alert-flash-scenario.stories.ts +669 -0
  112. package/src/components/alert-frame/alert-frame.css +106 -33
  113. package/src/components/alert-frame/alert-frame.spec.ts +176 -17
  114. package/src/components/alert-frame/alert-frame.stories.ts +61 -0
  115. package/src/components/alert-frame/alert-frame.ts +179 -41
  116. package/src/components/alert-icon/alert-icon.spec.ts +82 -27
  117. package/src/components/alert-icon/alert-icon.stories.ts +7 -1
  118. package/src/components/alert-icon/alert-icon.ts +48 -74
  119. package/src/components/alert-menu-item/alert-menu-item.css +1 -4
  120. package/src/components/date-item/date-item.css +3 -3
  121. package/src/components/keyboard-full/keyboard-full.css +4 -4
  122. package/src/components/message-menu-item/message-menu-item.css +2 -6
  123. package/src/components/sequence-toolbar/sequence-toolbar.css +1 -2
  124. package/src/navigation-instruments/gauge-trend/gauge-trend.stories.ts +29 -0
  125. package/src/navigation-instruments/gauge-trend/gauge-trend.ts +11 -0
  126. package/src/navigation-instruments/instrument-field/instrument-field.css +2 -2
  127. package/src/navigation-instruments/readout/readout.ts +2 -1
  128. package/src/navigation-instruments/readout-list-item/readout-list-item.ts +2 -1
  129. package/src/palettes/blinking.spec.ts +83 -0
  130. package/src/palettes/blinking.ts +47 -35
  131. package/src/palettes/flashing-controller.ts +62 -0
  132. package/src/palettes/manual.css +18 -4
  133. package/src/svghelpers/index.ts +1 -0
  134. package/src/svghelpers/rounded-rect.spec.ts +47 -0
  135. package/src/svghelpers/rounded-rect.ts +42 -0
  136. package/src/types.ts +20 -0
@@ -137,6 +137,11 @@ export interface ExternalScaleConfig {
137
137
  hasScale: boolean;
138
138
  /** Show labels at primary tickmark intervals. */
139
139
  labels?: boolean;
140
+ /**
141
+ * Label the main tickmarks (`mainTickmarks`, or min / 0 / max) instead of
142
+ * the primary interval ladder. For scales too short for a ladder.
143
+ */
144
+ mainTickmarkLabels?: boolean;
140
145
  /** Show bar. */
141
146
  hasBar: boolean;
142
147
  /** Show background behind the scale tickmarks. */
@@ -447,6 +452,12 @@ export declare function computeExternalScaleLayout(config: ExternalScaleLayoutCo
447
452
  * geometry.
448
453
  */
449
454
  export declare function computeSetpointBandThickness(config: Pick<ExternalScaleLayoutConfig, 'hasSetpoint'>): number;
455
+ /**
456
+ * Ticks one ladder (primary, secondary, tertiary or labels) may hold. A
457
+ * denser ladder cannot be read on any scale length, and building it would
458
+ * exhaust the call stack.
459
+ */
460
+ export declare const EXTERNAL_SCALE_MAX_TICKS = 1000;
450
461
  /**
451
462
  * Derive the SetpointVisualState from ExternalScaleConfig.
452
463
  *
@@ -1 +1 @@
1
- {"version":3,"file":"external-scale.d.ts","sourceRoot":"","sources":["../../../src/building-blocks/external-scale/external-scale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-scale.d.ts","sourceRoot":"","sources":["../../../src/building-blocks/external-scale/external-scale.ts"],"names":[],"mappings":"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"}
@@ -205,6 +205,28 @@ function isOutwardPositive(config) {
205
205
  function rangeIncludesZero(minValue, maxValue) {
206
206
  return minValue <= 0 && maxValue >= 0;
207
207
  }
208
+ function resolveMainTickmarkValues(config) {
209
+ const source = config.mainTickmarks?.length ? config.mainTickmarks : [config.minValue, 0, config.maxValue];
210
+ return [...new Set(source)].filter((v) => v >= config.minValue && v <= config.maxValue).sort((a, b) => a - b);
211
+ }
212
+ const EXTERNAL_SCALE_MAX_TICKS = 1e3;
213
+ const DENSE_LADDER_WARNINGS_KEPT = 64;
214
+ const warnedDenseLadders = /* @__PURE__ */ new Set();
215
+ function isLadderTooDense(config, interval) {
216
+ const count = Math.floor((config.maxValue - config.minValue) / interval) + 1;
217
+ if (!(count > EXTERNAL_SCALE_MAX_TICKS)) return false;
218
+ const key = `${config.minValue}/${config.maxValue}/${interval}`;
219
+ if (!warnedDenseLadders.has(key)) {
220
+ if (warnedDenseLadders.size >= DENSE_LADDER_WARNINGS_KEPT) {
221
+ warnedDenseLadders.clear();
222
+ }
223
+ warnedDenseLadders.add(key);
224
+ console.warn(
225
+ `[external-scale] tick interval ${interval} over the range ${config.minValue}…${config.maxValue} is ${count} ticks; the ladder is not drawn (limit ${EXTERNAL_SCALE_MAX_TICKS}). A range in epoch milliseconds needs an interval in milliseconds.`
226
+ );
227
+ }
228
+ return true;
229
+ }
208
230
  function calculateAtSetpoint(config) {
209
231
  const isTouching = config.touching ?? false;
210
232
  return computeAtSetpoint({
@@ -319,6 +341,7 @@ function generateTickmarksAtInterval(config, interval, perpStart, perpLen, skipV
319
341
  const svgs = [];
320
342
  const values = [];
321
343
  if (interval <= 0 || !Number.isFinite(interval)) return { svgs, values };
344
+ if (isLadderTooDense(config, interval)) return { svgs, values };
322
345
  const includesZero = rangeIncludesZero(config.minValue, config.maxValue);
323
346
  const pushTick = (v) => {
324
347
  if (skipValues.includes(v)) return;
@@ -367,9 +390,7 @@ function generateTickmarks(config) {
367
390
  const start = config.frameStyle === "flat" ? base : tickmarksStart;
368
391
  const mainLen = config.frameStyle === "flat" ? main + 4 : main;
369
392
  const dirLen = isOutwardPositive(config) ? mainLen : -mainLen;
370
- const mainTickValues = config.mainTickmarks.length > 0 ? config.mainTickmarks : [config.minValue, 0, config.maxValue];
371
- for (const value of mainTickValues) {
372
- if (value < config.minValue || value > config.maxValue) continue;
393
+ for (const value of resolveMainTickmarkValues(config)) {
373
394
  if (config.scaleBackground && (value === config.minValue || value === config.maxValue)) {
374
395
  skipValues.push(value);
375
396
  continue;
@@ -414,36 +435,47 @@ function generateTickmarks(config) {
414
435
  return svgs;
415
436
  }
416
437
  function generateLabels(config) {
417
- if (!config.labels || config.primaryTickmarkInterval === void 0) return [];
418
- const interval = config.primaryTickmarkInterval;
419
- if (interval <= 0 || !Number.isFinite(interval)) return [];
438
+ if (!config.labels) return [];
420
439
  const fontFamily = "var(--font-family-main)";
421
440
  const fontColor = "var(--instrument-tick-mark-label-secondary-color)";
422
441
  const fontSize = "calc(var(--global-typography-ui-label-font-size) / var(--scale, 1))";
423
442
  const base = tickBasePerp(config);
424
443
  const effectiveTickThickness = computeExternalScaleEffectiveTickThickness(config);
425
444
  const labelPos = isOutwardPositive(config) ? base + (config.hasScale ? effectiveTickThickness : 0) + labelGap() : base - (config.hasScale ? effectiveTickThickness : 0) - labelGap();
426
- const includesZero = rangeIncludesZero(config.minValue, config.maxValue);
427
445
  const labels = [];
428
- const push = (v) => {
446
+ const push = (v, edge) => {
429
447
  const main = valueToMainAxis(config, v);
430
448
  if (isVertical(config)) {
431
449
  const x2 = labelPos;
432
450
  const y2 = main;
433
- const anchor = isOutwardPositive(config) ? "start" : "end";
451
+ const anchor2 = isOutwardPositive(config) ? "start" : "end";
452
+ const baseline2 = edge?.baseline ?? "middle";
434
453
  labels.push(
435
- svg`<text x=${x2} y=${y2} text-anchor=${anchor} dominant-baseline="middle" font-family=${fontFamily} style="font-size: ${fontSize}" fill=${fontColor}>${v}</text>`
454
+ svg`<text x=${x2} y=${y2} text-anchor=${anchor2} dominant-baseline=${baseline2} font-family=${fontFamily} style="font-size: ${fontSize}" fill=${fontColor}>${v}</text>`
436
455
  );
437
456
  return;
438
457
  }
439
458
  const y = labelPos;
440
459
  const x = main;
441
460
  const baseline = isOutwardPositive(config) ? "hanging" : "auto";
461
+ const anchor = edge?.anchor ?? "middle";
442
462
  labels.push(
443
- svg`<text x=${x} y=${y} text-anchor="middle" dominant-baseline=${baseline} font-family=${fontFamily} style="font-size: ${fontSize}" fill=${fontColor}>${v}</text>`
463
+ svg`<text x=${x} y=${y} text-anchor=${anchor} dominant-baseline=${baseline} font-family=${fontFamily} style="font-size: ${fontSize}" fill=${fontColor}>${v}</text>`
444
464
  );
445
465
  };
446
- if (includesZero) {
466
+ if (config.mainTickmarkLabels) {
467
+ for (const v of resolveMainTickmarkValues(config)) {
468
+ const edge = v === config.minValue ? { anchor: "start", baseline: "auto" } : v === config.maxValue ? { anchor: "end", baseline: "hanging" } : void 0;
469
+ push(v, edge);
470
+ }
471
+ return labels;
472
+ }
473
+ const interval = config.primaryTickmarkInterval;
474
+ if (interval === void 0 || interval <= 0 || !Number.isFinite(interval)) {
475
+ return [];
476
+ }
477
+ if (isLadderTooDense(config, interval)) return [];
478
+ if (rangeIncludesZero(config.minValue, config.maxValue)) {
447
479
  for (let v = 0; v <= config.maxValue; v += interval) push(v);
448
480
  for (let v = -interval; v >= config.minValue; v -= interval) push(v);
449
481
  } else {
@@ -1410,6 +1442,7 @@ export {
1410
1442
  AdvicePosition,
1411
1443
  BarContainerStyle,
1412
1444
  EXTERNAL_SCALE_BORDER_RADIUS_CSS_VAR,
1445
+ EXTERNAL_SCALE_MAX_TICKS,
1413
1446
  ExternalScaleOrientation,
1414
1447
  ExternalScaleSide,
1415
1448
  FillMode,