@oicl/openbridge-webcomponents-svelte 2.0.0-next.81 → 2.0.0-next.83

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 (95) hide show
  1. package/dist/ar/poi/ObcPoiAton.svelte +31 -2
  2. package/dist/ar/poi/ObcPoiAton.svelte.d.ts +33 -0
  3. package/dist/ar/poi/ObcPoiData.svelte +31 -2
  4. package/dist/ar/poi/ObcPoiData.svelte.d.ts +33 -0
  5. package/dist/ar/poi/ObcPoiVessel.svelte +31 -2
  6. package/dist/ar/poi/ObcPoiVessel.svelte.d.ts +33 -0
  7. package/dist/ar/poi-button/ObcPoiButtonAton.svelte +16 -2
  8. package/dist/ar/poi-button/ObcPoiButtonAton.svelte.d.ts +18 -0
  9. package/dist/ar/poi-button/ObcPoiButtonData.svelte +16 -2
  10. package/dist/ar/poi-button/ObcPoiButtonData.svelte.d.ts +18 -0
  11. package/dist/ar/poi-button/ObcPoiButtonVessel.svelte +16 -2
  12. package/dist/ar/poi-button/ObcPoiButtonVessel.svelte.d.ts +18 -0
  13. package/dist/ar/poi-object/ObcPoiObjectAton.svelte +8 -4
  14. package/dist/ar/poi-object/ObcPoiObjectAton.svelte.d.ts +7 -3
  15. package/dist/ar/poi-object/ObcPoiObjectData.svelte +5 -2
  16. package/dist/ar/poi-object/ObcPoiObjectData.svelte.d.ts +6 -1
  17. package/dist/ar/poi-object/ObcPoiObjectVessel.svelte +7 -2
  18. package/dist/ar/poi-object/ObcPoiObjectVessel.svelte.d.ts +6 -0
  19. package/dist/automation/analog-valve/ObcAnalogValve.svelte +32 -2
  20. package/dist/automation/analog-valve/ObcAnalogValve.svelte.d.ts +38 -1
  21. package/dist/automation/automation-button/ObcAbstractAutomationButtonMotorized.svelte +32 -2
  22. package/dist/automation/automation-button/ObcAbstractAutomationButtonMotorized.svelte.d.ts +38 -1
  23. package/dist/automation/automation-button/ObcAbstractAutomationButtonSquared.svelte +34 -4
  24. package/dist/automation/automation-button/ObcAbstractAutomationButtonSquared.svelte.d.ts +39 -2
  25. package/dist/automation/bipolar-transistor/ObcBipolarTransistor.svelte +39 -2
  26. package/dist/automation/bipolar-transistor/ObcBipolarTransistor.svelte.d.ts +44 -0
  27. package/dist/automation/capacitor/ObcCapacitor.svelte +39 -2
  28. package/dist/automation/capacitor/ObcCapacitor.svelte.d.ts +44 -0
  29. package/dist/automation/converter/ObcConverter.svelte +39 -2
  30. package/dist/automation/converter/ObcConverter.svelte.d.ts +44 -0
  31. package/dist/automation/damper/ObcDamper.svelte +37 -3
  32. package/dist/automation/damper/ObcDamper.svelte.d.ts +46 -1
  33. package/dist/automation/digital-valve/ObcDigitalValve.svelte +34 -2
  34. package/dist/automation/digital-valve/ObcDigitalValve.svelte.d.ts +38 -0
  35. package/dist/automation/diodes/ObcDiodes.svelte +39 -2
  36. package/dist/automation/diodes/ObcDiodes.svelte.d.ts +44 -0
  37. package/dist/automation/fan/ObcFan.svelte +42 -3
  38. package/dist/automation/fan/ObcFan.svelte.d.ts +52 -1
  39. package/dist/automation/filter/ObcFilter.svelte +39 -2
  40. package/dist/automation/filter/ObcFilter.svelte.d.ts +44 -0
  41. package/dist/automation/ground/ObcGround.svelte +39 -2
  42. package/dist/automation/ground/ObcGround.svelte.d.ts +44 -0
  43. package/dist/automation/logic/ObcLogic.svelte +39 -2
  44. package/dist/automation/logic/ObcLogic.svelte.d.ts +44 -0
  45. package/dist/automation/mosfet/ObcMosfet.svelte +39 -2
  46. package/dist/automation/mosfet/ObcMosfet.svelte.d.ts +44 -0
  47. package/dist/automation/motor/ObcMotor.svelte +42 -2
  48. package/dist/automation/motor/ObcMotor.svelte.d.ts +52 -1
  49. package/dist/automation/pump/ObcPump.svelte +42 -2
  50. package/dist/automation/pump/ObcPump.svelte.d.ts +52 -1
  51. package/dist/automation/resistor/ObcResistor.svelte +39 -2
  52. package/dist/automation/resistor/ObcResistor.svelte.d.ts +44 -0
  53. package/dist/automation/router/ObcRouter.svelte +39 -2
  54. package/dist/automation/router/ObcRouter.svelte.d.ts +44 -0
  55. package/dist/automation/source/ObcSource.svelte +39 -2
  56. package/dist/automation/source/ObcSource.svelte.d.ts +44 -0
  57. package/dist/automation/switch/ObcSwitch.svelte +39 -2
  58. package/dist/automation/switch/ObcSwitch.svelte.d.ts +44 -0
  59. package/dist/automation/transformer/ObcTransformer.svelte +39 -2
  60. package/dist/automation/transformer/ObcTransformer.svelte.d.ts +44 -0
  61. package/dist/bars-graphs/area-graph/ObcAreaGraph.svelte +99 -2
  62. package/dist/bars-graphs/area-graph/ObcAreaGraph.svelte.d.ts +108 -0
  63. package/dist/bars-graphs/line-graph/ObcLineGraph.svelte +97 -3
  64. package/dist/bars-graphs/line-graph/ObcLineGraph.svelte.d.ts +110 -1
  65. package/dist/building-blocks/bar-horizontal/ObcBarHorizontal.svelte +21 -0
  66. package/dist/building-blocks/bar-horizontal/ObcBarHorizontal.svelte.d.ts +21 -0
  67. package/dist/building-blocks/bar-vertical/ObcBarVertical.svelte +21 -0
  68. package/dist/building-blocks/bar-vertical/ObcBarVertical.svelte.d.ts +21 -0
  69. package/dist/building-blocks/instrument-radial/ObcInstrumentRadial.svelte +21 -0
  70. package/dist/building-blocks/instrument-radial/ObcInstrumentRadial.svelte.d.ts +21 -0
  71. package/dist/components/progress-bar/ObcProgressBar.svelte +34 -16
  72. package/dist/components/progress-bar/ObcProgressBar.svelte.d.ts +17 -1
  73. package/dist/components/progress-button/ObcProgressButton.svelte +49 -21
  74. package/dist/components/progress-button/ObcProgressButton.svelte.d.ts +18 -2
  75. package/dist/navigation-instruments/gauge-horizontal/ObcGaugeHorizontal.svelte +21 -0
  76. package/dist/navigation-instruments/gauge-horizontal/ObcGaugeHorizontal.svelte.d.ts +21 -0
  77. package/dist/navigation-instruments/gauge-radial/ObcGaugeRadial.svelte +21 -0
  78. package/dist/navigation-instruments/gauge-radial/ObcGaugeRadial.svelte.d.ts +21 -0
  79. package/dist/navigation-instruments/gauge-trend/ObcGaugeTrend.svelte +120 -2
  80. package/dist/navigation-instruments/gauge-trend/ObcGaugeTrend.svelte.d.ts +129 -0
  81. package/dist/navigation-instruments/gauge-vertical/ObcGaugeVertical.svelte +21 -0
  82. package/dist/navigation-instruments/gauge-vertical/ObcGaugeVertical.svelte.d.ts +21 -0
  83. package/dist/navigation-instruments/pitch/ObcPitch.svelte +21 -2
  84. package/dist/navigation-instruments/pitch/ObcPitch.svelte.d.ts +19 -0
  85. package/dist/navigation-instruments/roll/ObcRoll.svelte +21 -2
  86. package/dist/navigation-instruments/roll/ObcRoll.svelte.d.ts +19 -0
  87. package/dist/navigation-instruments/rot-sector/ObcRotSector.svelte +21 -0
  88. package/dist/navigation-instruments/rot-sector/ObcRotSector.svelte.d.ts +21 -0
  89. package/dist/navigation-instruments/rudder/ObcRudder.svelte +21 -0
  90. package/dist/navigation-instruments/rudder/ObcRudder.svelte.d.ts +21 -0
  91. package/dist/navigation-instruments/speed-gauge/ObcSpeedGauge.svelte +21 -0
  92. package/dist/navigation-instruments/speed-gauge/ObcSpeedGauge.svelte.d.ts +21 -0
  93. package/dist/navigation-instruments/thruster/ObcThruster.svelte +21 -0
  94. package/dist/navigation-instruments/thruster/ObcThruster.svelte.d.ts +21 -0
  95. package/package.json +2 -2
@@ -1,9 +1,39 @@
1
1
  import '@oicl/openbridge-webcomponents/dist/automation/transformer/transformer.js';
2
+ import type { SquaredVariant } from '@oicl/openbridge-webcomponents/dist/automation/automation-button/abstract-automation-button-squared.js';
3
+ import type { AutomationButtonOrientation, AutomationButtonReadoutPosition, AutomationButtonPositioning } from '@oicl/openbridge-webcomponents/dist/automation/automation-button/automation-button.js';
4
+ import type { AutomationButtonReadoutStackSize } from '@oicl/openbridge-webcomponents/dist/components/automation-button-readout-stack/automation-button-readout-stack.js';
5
+ import type { ObcAlertFrameType, ObcAlertFrameThickness, ObcAlertFrameMode } from '@oicl/openbridge-webcomponents/dist/components/alert-frame/alert-frame.js';
6
+ import type { AlertType } from '@oicl/openbridge-webcomponents/dist/types.js';
7
+ import type { CircularProgressMode } from '@oicl/openbridge-webcomponents/dist/building-blocks/circular-progress/circular-progress.js';
8
+ import type { AutomationButtonBadgeControl, AutomationButtonBadgeCommandLocked, AutomationButtonBadgeInterlock, AutomationButtonBadgeAlert } from '@oicl/openbridge-webcomponents/dist/automation/automation-button/abstract-automation-button.js';
2
9
  import type { TransformerAlternativeIcon } from '@oicl/openbridge-webcomponents/dist/automation/transformer/transformer.js';
3
10
  import type { Snippet } from 'svelte';
4
11
  export interface Props {
5
12
  class?: string;
6
13
  style?: string;
14
+ on?: boolean;
15
+ variant?: SquaredVariant;
16
+ orientation?: AutomationButtonOrientation;
17
+ showReadoutStack?: boolean;
18
+ readoutPosition?: AutomationButtonReadoutPosition;
19
+ readoutSize?: AutomationButtonReadoutStackSize;
20
+ positioning?: AutomationButtonPositioning;
21
+ alert?: boolean;
22
+ alertFrameType?: ObcAlertFrameType;
23
+ alertFrameThickness?: ObcAlertFrameThickness;
24
+ alertFrameStatus?: AlertType;
25
+ alertFrameMode?: ObcAlertFrameMode;
26
+ showAlertCategoryIcon?: boolean;
27
+ showAlertIcon?: boolean;
28
+ /** Shows a progress indicator, used to indicate that an user action is in progress */
29
+ progress?: boolean;
30
+ progressMode?: CircularProgressMode;
31
+ progressValue?: number;
32
+ tag?: string | null;
33
+ badgeControl?: AutomationButtonBadgeControl;
34
+ badgeCommandLocked?: AutomationButtonBadgeCommandLocked;
35
+ badgeInterlock?: AutomationButtonBadgeInterlock;
36
+ badgeAlert?: AutomationButtonBadgeAlert;
7
37
  alternativeIcon?: TransformerAlternativeIcon;
8
38
  }
9
39
  export interface Events {
@@ -13,6 +43,20 @@ export interface Slots {
13
43
  }
14
44
  type $$ComponentProps = Props & Events & Slots;
15
45
  declare const ObcTransformer: import("svelte").Component<$$ComponentProps, {
46
+ SquaredVariant: typeof SquaredVariant;
47
+ AutomationButtonOrientation: typeof AutomationButtonOrientation;
48
+ AutomationButtonReadoutPosition: typeof AutomationButtonReadoutPosition;
49
+ AutomationButtonPositioning: typeof AutomationButtonPositioning;
50
+ AutomationButtonReadoutStackSize: typeof AutomationButtonReadoutStackSize;
51
+ ObcAlertFrameType: typeof ObcAlertFrameType;
52
+ ObcAlertFrameThickness: typeof ObcAlertFrameThickness;
53
+ ObcAlertFrameMode: typeof ObcAlertFrameMode;
54
+ AlertType: typeof AlertType;
55
+ CircularProgressMode: typeof CircularProgressMode;
56
+ AutomationButtonBadgeControl: typeof AutomationButtonBadgeControl;
57
+ AutomationButtonBadgeCommandLocked: typeof AutomationButtonBadgeCommandLocked;
58
+ AutomationButtonBadgeInterlock: typeof AutomationButtonBadgeInterlock;
59
+ AutomationButtonBadgeAlert: typeof AutomationButtonBadgeAlert;
16
60
  TransformerAlternativeIcon: typeof TransformerAlternativeIcon;
17
61
  }, "">;
18
62
  type ObcTransformer = ReturnType<typeof ObcTransformer>;
@@ -1,14 +1,111 @@
1
1
 
2
2
  <script lang="ts">
3
- export type {AreaFillMode} from '@oicl/openbridge-webcomponents/dist/bars-graphs/area-graph/area-graph.js';
3
+ export type {ChartLineDataItem, XAxisType, YAxisPosition, ChartLineYAxisConfig, LineMode, TimeDisplay} from '@oicl/openbridge-webcomponents/dist/building-blocks/chart-line/chart-line-base.js';
4
+ export type {ChartDataset} from 'chart.js';
5
+ export type {InstrumentState, Priority, FrameStyle, BorderRadiusPosition} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
6
+ export type {AreaFillMode} from '@oicl/openbridge-webcomponents/dist/bars-graphs/area-graph/area-graph.js';
4
7
  import '@oicl/openbridge-webcomponents/dist/bars-graphs/area-graph/area-graph.js';
5
8
  import { setProperties } from "../../util.js";
6
- import type {AreaFillMode} from '@oicl/openbridge-webcomponents/dist/bars-graphs/area-graph/area-graph.js';
9
+ import type {ChartLineDataItem, XAxisType, YAxisPosition, ChartLineYAxisConfig, LineMode, TimeDisplay} from '@oicl/openbridge-webcomponents/dist/building-blocks/chart-line/chart-line-base.js';
10
+ import type {ChartDataset} from 'chart.js';
11
+ import type {InstrumentState, Priority, FrameStyle, BorderRadiusPosition} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
12
+ import type {AreaFillMode} from '@oicl/openbridge-webcomponents/dist/bars-graphs/area-graph/area-graph.js';
7
13
  import type { Snippet } from 'svelte';
8
14
 
9
15
  export interface Props {
10
16
  class?: string;
11
17
  style?: string;
18
+ /** Simple single-series data (array of {label, value}). */
19
+ data?: ChartLineDataItem[];
20
+ /** Chart.js-style datasets for multi-series use. If provided, takes precedence over `data`. */
21
+ datasets?: ChartDataset<"line", (number | { x: string | number | Date; y: number; })[]>[] | undefined;
22
+ /** Optional explicit labels for the x-axis (category mode). If omitted labels are derived from `data` */
23
+ labels?: (string | number)[] | undefined;
24
+ /** Custom color palette (CSS variable names or color strings). */
25
+ colors?: string[];
26
+ /** Show HTML legend below chart with series labels and colors. */
27
+ legend?: boolean;
28
+ /** Development mode: show visual debug overlay with dimension guides. */
29
+ showDebugOverlay?: boolean;
30
+ /** Width of the chart in pixels. Default: 480. */
31
+ width?: number;
32
+ /** Height of the chart in pixels. Default: 320. */
33
+ height?: number;
34
+ /** Enable fixed aspect ratio scaling mode.
35
+ When true, width/height properties define the aspect ratio (not actual pixels).
36
+ The component fills 100% of parent width and calculates height from aspect ratio.
37
+ When false (default), width/height are used as actual pixel dimensions. */
38
+ fixedAspectRatioScaling?: boolean;
39
+ /** Reference size for external scales when using fixedAspectRatioScaling.
40
+ This value is passed down to external scales to determine their 1:1 Figma design size.
41
+ At this reference size, scales render at native size; above/below they scale proportionally.
42
+ Default: 384 (matches Figma design baseline). */
43
+ scaleReferenceSize?: number;
44
+ /** X-axis mode: 'category' for labeled data points, 'time' for time-based data. */
45
+ xAxisType?: XAxisType;
46
+ /** Single y-axis position ('left' or 'right'). For multiple y-axes, use yAxes instead. */
47
+ yAxisPosition?: YAxisPosition;
48
+ /** Multiple y-axis definitions for complex multi-axis charts. */
49
+ yAxes?: ChartLineYAxisConfig[] | undefined;
50
+ /** Show grid lines. */
51
+ showGrid?: boolean;
52
+ /** Show vertical grid lines (x-axis). Default: false. */
53
+ showGridX?: boolean;
54
+ /** Show horizontal grid lines (y-axis). Default: false. */
55
+ showGridY?: boolean;
56
+ /** Show axis tick marks and labels. */
57
+ showTickMarks?: boolean;
58
+ /** Reserve canvas padding for axis tick labels on sides without an external scale.
59
+
60
+ When `true` (default), the chart leaves room for tick labels and renders them
61
+ (subject to `showTickMarks` and the 192px auto-compact threshold).
62
+
63
+ When `false`, the chart renders edge-to-edge on sides without a slotted external
64
+ scale AND axis tick labels are force-hidden so they cannot be clipped. This also
65
+ suppresses the automatic edge-to-edge switch that normally happens below the
66
+ 192px threshold, eliminating the visible padding "jump" when crossing it.
67
+
68
+ Useful when embedding the chart inside another component that owns framing
69
+ and never wants to show axis labels (e.g. `obc-automation-tank`).
70
+
71
+ Defaults to `true` to preserve existing behavior. Declared with `attribute: false`
72
+ because a `true`-default boolean cannot work as an HTML boolean attribute. */
73
+ hasLabelPadding?: boolean;
74
+ /** Show point markers on data points. Default: false. */
75
+ showPoints?: boolean;
76
+ /** Line drawing style: 'smooth' (curved), 'straight', or 'stepped'. */
77
+ lineMode?: LineMode;
78
+ /** Unit label displayed in tooltips (e.g., 'kW', 'kg', '%'). */
79
+ unit?: string;
80
+ /** Time axis label format: 'date' (full date/time) or 'minutes' (relative). */
81
+ timeDisplay?: TimeDisplay;
82
+ /** Max number of x-axis ticks/grid lines. Useful for matching external axes. */
83
+ xTicksLimit?: number | undefined;
84
+ /** Force x-axis tick interval. Useful for matching external axes. */
85
+ xStepSize?: number | undefined;
86
+ /** Max number of y-axis ticks/grid lines. Useful for matching external axes. */
87
+ yTicksLimit?: number | undefined;
88
+ /** Force y-axis tick interval. Useful for matching external axes. */
89
+ yStepSize?: number | undefined;
90
+ /** Instrument state affecting colors of external scales. */
91
+ state?: InstrumentState;
92
+ /** Color priority: enhanced uses blue palette instead of default gray. */
93
+ priority?: Priority;
94
+ /** Frame style for chart and external scales. */
95
+ frameStyle?: FrameStyle;
96
+ /** Border radius position for the chart's own border. */
97
+ borderRadiusPosition?: BorderRadiusPosition | undefined;
98
+ /** Border radius position for external scales based on layout. */
99
+ borderRadiusPositionExternalScales?: BorderRadiusPosition | undefined;
100
+ /** When true, the chart is used inside an instrument (e.g., gauge-trend).
101
+ In this mode, only label font size responds to .obc-component-size-* CSS classes.
102
+ Border radius uses the explicit `borderRadius` property value (or defaults to 8px),
103
+ rather than reading from CSS variables. */
104
+ instrumentMode?: boolean;
105
+ /** Explicit border radius value in pixels.
106
+ When instrumentMode=true, this value is used directly (defaults to 8px).
107
+ When instrumentMode=false, this is ignored and border radius is read from CSS variable. */
108
+ borderRadius?: number | undefined;
12
109
  /** Fill rendering mode for area charts.
13
110
  - `'semitransparent'`: 50% alpha fill (default)
14
111
  - `'solid'`: Opaque fill
@@ -1,9 +1,106 @@
1
1
  import '@oicl/openbridge-webcomponents/dist/bars-graphs/area-graph/area-graph.js';
2
+ import type { ChartLineDataItem, XAxisType, YAxisPosition, ChartLineYAxisConfig, LineMode, TimeDisplay } from '@oicl/openbridge-webcomponents/dist/building-blocks/chart-line/chart-line-base.js';
3
+ import type { ChartDataset } from 'chart.js';
4
+ import type { InstrumentState, Priority, FrameStyle, BorderRadiusPosition } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
2
5
  import type { AreaFillMode } from '@oicl/openbridge-webcomponents/dist/bars-graphs/area-graph/area-graph.js';
3
6
  import type { Snippet } from 'svelte';
4
7
  export interface Props {
5
8
  class?: string;
6
9
  style?: string;
10
+ /** Simple single-series data (array of {label, value}). */
11
+ data?: ChartLineDataItem[];
12
+ /** Chart.js-style datasets for multi-series use. If provided, takes precedence over `data`. */
13
+ datasets?: ChartDataset<"line", (number | {
14
+ x: string | number | Date;
15
+ y: number;
16
+ })[]>[] | undefined;
17
+ /** Optional explicit labels for the x-axis (category mode). If omitted labels are derived from `data` */
18
+ labels?: (string | number)[] | undefined;
19
+ /** Custom color palette (CSS variable names or color strings). */
20
+ colors?: string[];
21
+ /** Show HTML legend below chart with series labels and colors. */
22
+ legend?: boolean;
23
+ /** Development mode: show visual debug overlay with dimension guides. */
24
+ showDebugOverlay?: boolean;
25
+ /** Width of the chart in pixels. Default: 480. */
26
+ width?: number;
27
+ /** Height of the chart in pixels. Default: 320. */
28
+ height?: number;
29
+ /** Enable fixed aspect ratio scaling mode.
30
+ When true, width/height properties define the aspect ratio (not actual pixels).
31
+ The component fills 100% of parent width and calculates height from aspect ratio.
32
+ When false (default), width/height are used as actual pixel dimensions. */
33
+ fixedAspectRatioScaling?: boolean;
34
+ /** Reference size for external scales when using fixedAspectRatioScaling.
35
+ This value is passed down to external scales to determine their 1:1 Figma design size.
36
+ At this reference size, scales render at native size; above/below they scale proportionally.
37
+ Default: 384 (matches Figma design baseline). */
38
+ scaleReferenceSize?: number;
39
+ /** X-axis mode: 'category' for labeled data points, 'time' for time-based data. */
40
+ xAxisType?: XAxisType;
41
+ /** Single y-axis position ('left' or 'right'). For multiple y-axes, use yAxes instead. */
42
+ yAxisPosition?: YAxisPosition;
43
+ /** Multiple y-axis definitions for complex multi-axis charts. */
44
+ yAxes?: ChartLineYAxisConfig[] | undefined;
45
+ /** Show grid lines. */
46
+ showGrid?: boolean;
47
+ /** Show vertical grid lines (x-axis). Default: false. */
48
+ showGridX?: boolean;
49
+ /** Show horizontal grid lines (y-axis). Default: false. */
50
+ showGridY?: boolean;
51
+ /** Show axis tick marks and labels. */
52
+ showTickMarks?: boolean;
53
+ /** Reserve canvas padding for axis tick labels on sides without an external scale.
54
+
55
+ When `true` (default), the chart leaves room for tick labels and renders them
56
+ (subject to `showTickMarks` and the 192px auto-compact threshold).
57
+
58
+ When `false`, the chart renders edge-to-edge on sides without a slotted external
59
+ scale AND axis tick labels are force-hidden so they cannot be clipped. This also
60
+ suppresses the automatic edge-to-edge switch that normally happens below the
61
+ 192px threshold, eliminating the visible padding "jump" when crossing it.
62
+
63
+ Useful when embedding the chart inside another component that owns framing
64
+ and never wants to show axis labels (e.g. `obc-automation-tank`).
65
+
66
+ Defaults to `true` to preserve existing behavior. Declared with `attribute: false`
67
+ because a `true`-default boolean cannot work as an HTML boolean attribute. */
68
+ hasLabelPadding?: boolean;
69
+ /** Show point markers on data points. Default: false. */
70
+ showPoints?: boolean;
71
+ /** Line drawing style: 'smooth' (curved), 'straight', or 'stepped'. */
72
+ lineMode?: LineMode;
73
+ /** Unit label displayed in tooltips (e.g., 'kW', 'kg', '%'). */
74
+ unit?: string;
75
+ /** Time axis label format: 'date' (full date/time) or 'minutes' (relative). */
76
+ timeDisplay?: TimeDisplay;
77
+ /** Max number of x-axis ticks/grid lines. Useful for matching external axes. */
78
+ xTicksLimit?: number | undefined;
79
+ /** Force x-axis tick interval. Useful for matching external axes. */
80
+ xStepSize?: number | undefined;
81
+ /** Max number of y-axis ticks/grid lines. Useful for matching external axes. */
82
+ yTicksLimit?: number | undefined;
83
+ /** Force y-axis tick interval. Useful for matching external axes. */
84
+ yStepSize?: number | undefined;
85
+ /** Instrument state affecting colors of external scales. */
86
+ state?: InstrumentState;
87
+ /** Color priority: enhanced uses blue palette instead of default gray. */
88
+ priority?: Priority;
89
+ /** Frame style for chart and external scales. */
90
+ frameStyle?: FrameStyle;
91
+ /** Border radius position for the chart's own border. */
92
+ borderRadiusPosition?: BorderRadiusPosition | undefined;
93
+ /** Border radius position for external scales based on layout. */
94
+ borderRadiusPositionExternalScales?: BorderRadiusPosition | undefined;
95
+ /** When true, the chart is used inside an instrument (e.g., gauge-trend).
96
+ In this mode, only label font size responds to .obc-component-size-* CSS classes.
97
+ Border radius uses the explicit `borderRadius` property value (or defaults to 8px),
98
+ rather than reading from CSS variables. */
99
+ instrumentMode?: boolean;
100
+ /** Explicit border radius value in pixels.
101
+ When instrumentMode=true, this value is used directly (defaults to 8px).
102
+ When instrumentMode=false, this is ignored and border radius is read from CSS variable. */
103
+ borderRadius?: number | undefined;
7
104
  /** Fill rendering mode for area charts.
8
105
  - `'semitransparent'`: 50% alpha fill (default)
9
106
  - `'solid'`: Opaque fill
@@ -20,6 +117,17 @@ export interface Slots {
20
117
  }
21
118
  type $$ComponentProps = Props & Events & Slots;
22
119
  declare const ObcAreaGraph: import("svelte").Component<$$ComponentProps, {
120
+ ChartLineDataItem: typeof ChartLineDataItem;
121
+ XAxisType: typeof XAxisType;
122
+ YAxisPosition: typeof YAxisPosition;
123
+ ChartLineYAxisConfig: typeof ChartLineYAxisConfig;
124
+ LineMode: typeof LineMode;
125
+ TimeDisplay: typeof TimeDisplay;
126
+ ChartDataset: typeof ChartDataset;
127
+ InstrumentState: typeof InstrumentState;
128
+ Priority: typeof Priority;
129
+ FrameStyle: typeof FrameStyle;
130
+ BorderRadiusPosition: typeof BorderRadiusPosition;
23
131
  AreaFillMode: typeof AreaFillMode;
24
132
  }, "">;
25
133
  type ObcAreaGraph = ReturnType<typeof ObcAreaGraph>;
@@ -1,15 +1,109 @@
1
1
 
2
2
  <script lang="ts">
3
-
3
+ export type {ChartLineDataItem, XAxisType, YAxisPosition, ChartLineYAxisConfig, LineMode, TimeDisplay} from '@oicl/openbridge-webcomponents/dist/building-blocks/chart-line/chart-line-base.js';
4
+ export type {ChartDataset} from 'chart.js';
5
+ export type {InstrumentState, Priority, FrameStyle, BorderRadiusPosition} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
4
6
  import '@oicl/openbridge-webcomponents/dist/bars-graphs/line-graph/line-graph.js';
5
7
  import { setProperties } from "../../util.js";
6
-
8
+ import type {ChartLineDataItem, XAxisType, YAxisPosition, ChartLineYAxisConfig, LineMode, TimeDisplay} from '@oicl/openbridge-webcomponents/dist/building-blocks/chart-line/chart-line-base.js';
9
+ import type {ChartDataset} from 'chart.js';
10
+ import type {InstrumentState, Priority, FrameStyle, BorderRadiusPosition} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
7
11
  import type { Snippet } from 'svelte';
8
12
 
9
13
  export interface Props {
10
14
  class?: string;
11
15
  style?: string;
12
-
16
+ /** Simple single-series data (array of {label, value}). */
17
+ data?: ChartLineDataItem[];
18
+ /** Chart.js-style datasets for multi-series use. If provided, takes precedence over `data`. */
19
+ datasets?: ChartDataset<"line", (number | { x: string | number | Date; y: number; })[]>[] | undefined;
20
+ /** Optional explicit labels for the x-axis (category mode). If omitted labels are derived from `data` */
21
+ labels?: (string | number)[] | undefined;
22
+ /** Custom color palette (CSS variable names or color strings). */
23
+ colors?: string[];
24
+ /** Show HTML legend below chart with series labels and colors. */
25
+ legend?: boolean;
26
+ /** Development mode: show visual debug overlay with dimension guides. */
27
+ showDebugOverlay?: boolean;
28
+ /** Width of the chart in pixels. Default: 480. */
29
+ width?: number;
30
+ /** Height of the chart in pixels. Default: 320. */
31
+ height?: number;
32
+ /** Enable fixed aspect ratio scaling mode.
33
+ When true, width/height properties define the aspect ratio (not actual pixels).
34
+ The component fills 100% of parent width and calculates height from aspect ratio.
35
+ When false (default), width/height are used as actual pixel dimensions. */
36
+ fixedAspectRatioScaling?: boolean;
37
+ /** Reference size for external scales when using fixedAspectRatioScaling.
38
+ This value is passed down to external scales to determine their 1:1 Figma design size.
39
+ At this reference size, scales render at native size; above/below they scale proportionally.
40
+ Default: 384 (matches Figma design baseline). */
41
+ scaleReferenceSize?: number;
42
+ /** X-axis mode: 'category' for labeled data points, 'time' for time-based data. */
43
+ xAxisType?: XAxisType;
44
+ /** Single y-axis position ('left' or 'right'). For multiple y-axes, use yAxes instead. */
45
+ yAxisPosition?: YAxisPosition;
46
+ /** Multiple y-axis definitions for complex multi-axis charts. */
47
+ yAxes?: ChartLineYAxisConfig[] | undefined;
48
+ /** Show grid lines. */
49
+ showGrid?: boolean;
50
+ /** Show vertical grid lines (x-axis). Default: false. */
51
+ showGridX?: boolean;
52
+ /** Show horizontal grid lines (y-axis). Default: false. */
53
+ showGridY?: boolean;
54
+ /** Show axis tick marks and labels. */
55
+ showTickMarks?: boolean;
56
+ /** Reserve canvas padding for axis tick labels on sides without an external scale.
57
+
58
+ When `true` (default), the chart leaves room for tick labels and renders them
59
+ (subject to `showTickMarks` and the 192px auto-compact threshold).
60
+
61
+ When `false`, the chart renders edge-to-edge on sides without a slotted external
62
+ scale AND axis tick labels are force-hidden so they cannot be clipped. This also
63
+ suppresses the automatic edge-to-edge switch that normally happens below the
64
+ 192px threshold, eliminating the visible padding "jump" when crossing it.
65
+
66
+ Useful when embedding the chart inside another component that owns framing
67
+ and never wants to show axis labels (e.g. `obc-automation-tank`).
68
+
69
+ Defaults to `true` to preserve existing behavior. Declared with `attribute: false`
70
+ because a `true`-default boolean cannot work as an HTML boolean attribute. */
71
+ hasLabelPadding?: boolean;
72
+ /** Show point markers on data points. Default: false. */
73
+ showPoints?: boolean;
74
+ /** Line drawing style: 'smooth' (curved), 'straight', or 'stepped'. */
75
+ lineMode?: LineMode;
76
+ /** Unit label displayed in tooltips (e.g., 'kW', 'kg', '%'). */
77
+ unit?: string;
78
+ /** Time axis label format: 'date' (full date/time) or 'minutes' (relative). */
79
+ timeDisplay?: TimeDisplay;
80
+ /** Max number of x-axis ticks/grid lines. Useful for matching external axes. */
81
+ xTicksLimit?: number | undefined;
82
+ /** Force x-axis tick interval. Useful for matching external axes. */
83
+ xStepSize?: number | undefined;
84
+ /** Max number of y-axis ticks/grid lines. Useful for matching external axes. */
85
+ yTicksLimit?: number | undefined;
86
+ /** Force y-axis tick interval. Useful for matching external axes. */
87
+ yStepSize?: number | undefined;
88
+ /** Instrument state affecting colors of external scales. */
89
+ state?: InstrumentState;
90
+ /** Color priority: enhanced uses blue palette instead of default gray. */
91
+ priority?: Priority;
92
+ /** Frame style for chart and external scales. */
93
+ frameStyle?: FrameStyle;
94
+ /** Border radius position for the chart's own border. */
95
+ borderRadiusPosition?: BorderRadiusPosition | undefined;
96
+ /** Border radius position for external scales based on layout. */
97
+ borderRadiusPositionExternalScales?: BorderRadiusPosition | undefined;
98
+ /** When true, the chart is used inside an instrument (e.g., gauge-trend).
99
+ In this mode, only label font size responds to .obc-component-size-* CSS classes.
100
+ Border radius uses the explicit `borderRadius` property value (or defaults to 8px),
101
+ rather than reading from CSS variables. */
102
+ instrumentMode?: boolean;
103
+ /** Explicit border radius value in pixels.
104
+ When instrumentMode=true, this value is used directly (defaults to 8px).
105
+ When instrumentMode=false, this is ignored and border radius is read from CSS variable. */
106
+ borderRadius?: number | undefined
13
107
  }
14
108
  export interface Events {
15
109
 
@@ -1,8 +1,105 @@
1
1
  import '@oicl/openbridge-webcomponents/dist/bars-graphs/line-graph/line-graph.js';
2
+ import type { ChartLineDataItem, XAxisType, YAxisPosition, ChartLineYAxisConfig, LineMode, TimeDisplay } from '@oicl/openbridge-webcomponents/dist/building-blocks/chart-line/chart-line-base.js';
3
+ import type { ChartDataset } from 'chart.js';
4
+ import type { InstrumentState, Priority, FrameStyle, BorderRadiusPosition } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
2
5
  import type { Snippet } from 'svelte';
3
6
  export interface Props {
4
7
  class?: string;
5
8
  style?: string;
9
+ /** Simple single-series data (array of {label, value}). */
10
+ data?: ChartLineDataItem[];
11
+ /** Chart.js-style datasets for multi-series use. If provided, takes precedence over `data`. */
12
+ datasets?: ChartDataset<"line", (number | {
13
+ x: string | number | Date;
14
+ y: number;
15
+ })[]>[] | undefined;
16
+ /** Optional explicit labels for the x-axis (category mode). If omitted labels are derived from `data` */
17
+ labels?: (string | number)[] | undefined;
18
+ /** Custom color palette (CSS variable names or color strings). */
19
+ colors?: string[];
20
+ /** Show HTML legend below chart with series labels and colors. */
21
+ legend?: boolean;
22
+ /** Development mode: show visual debug overlay with dimension guides. */
23
+ showDebugOverlay?: boolean;
24
+ /** Width of the chart in pixels. Default: 480. */
25
+ width?: number;
26
+ /** Height of the chart in pixels. Default: 320. */
27
+ height?: number;
28
+ /** Enable fixed aspect ratio scaling mode.
29
+ When true, width/height properties define the aspect ratio (not actual pixels).
30
+ The component fills 100% of parent width and calculates height from aspect ratio.
31
+ When false (default), width/height are used as actual pixel dimensions. */
32
+ fixedAspectRatioScaling?: boolean;
33
+ /** Reference size for external scales when using fixedAspectRatioScaling.
34
+ This value is passed down to external scales to determine their 1:1 Figma design size.
35
+ At this reference size, scales render at native size; above/below they scale proportionally.
36
+ Default: 384 (matches Figma design baseline). */
37
+ scaleReferenceSize?: number;
38
+ /** X-axis mode: 'category' for labeled data points, 'time' for time-based data. */
39
+ xAxisType?: XAxisType;
40
+ /** Single y-axis position ('left' or 'right'). For multiple y-axes, use yAxes instead. */
41
+ yAxisPosition?: YAxisPosition;
42
+ /** Multiple y-axis definitions for complex multi-axis charts. */
43
+ yAxes?: ChartLineYAxisConfig[] | undefined;
44
+ /** Show grid lines. */
45
+ showGrid?: boolean;
46
+ /** Show vertical grid lines (x-axis). Default: false. */
47
+ showGridX?: boolean;
48
+ /** Show horizontal grid lines (y-axis). Default: false. */
49
+ showGridY?: boolean;
50
+ /** Show axis tick marks and labels. */
51
+ showTickMarks?: boolean;
52
+ /** Reserve canvas padding for axis tick labels on sides without an external scale.
53
+
54
+ When `true` (default), the chart leaves room for tick labels and renders them
55
+ (subject to `showTickMarks` and the 192px auto-compact threshold).
56
+
57
+ When `false`, the chart renders edge-to-edge on sides without a slotted external
58
+ scale AND axis tick labels are force-hidden so they cannot be clipped. This also
59
+ suppresses the automatic edge-to-edge switch that normally happens below the
60
+ 192px threshold, eliminating the visible padding "jump" when crossing it.
61
+
62
+ Useful when embedding the chart inside another component that owns framing
63
+ and never wants to show axis labels (e.g. `obc-automation-tank`).
64
+
65
+ Defaults to `true` to preserve existing behavior. Declared with `attribute: false`
66
+ because a `true`-default boolean cannot work as an HTML boolean attribute. */
67
+ hasLabelPadding?: boolean;
68
+ /** Show point markers on data points. Default: false. */
69
+ showPoints?: boolean;
70
+ /** Line drawing style: 'smooth' (curved), 'straight', or 'stepped'. */
71
+ lineMode?: LineMode;
72
+ /** Unit label displayed in tooltips (e.g., 'kW', 'kg', '%'). */
73
+ unit?: string;
74
+ /** Time axis label format: 'date' (full date/time) or 'minutes' (relative). */
75
+ timeDisplay?: TimeDisplay;
76
+ /** Max number of x-axis ticks/grid lines. Useful for matching external axes. */
77
+ xTicksLimit?: number | undefined;
78
+ /** Force x-axis tick interval. Useful for matching external axes. */
79
+ xStepSize?: number | undefined;
80
+ /** Max number of y-axis ticks/grid lines. Useful for matching external axes. */
81
+ yTicksLimit?: number | undefined;
82
+ /** Force y-axis tick interval. Useful for matching external axes. */
83
+ yStepSize?: number | undefined;
84
+ /** Instrument state affecting colors of external scales. */
85
+ state?: InstrumentState;
86
+ /** Color priority: enhanced uses blue palette instead of default gray. */
87
+ priority?: Priority;
88
+ /** Frame style for chart and external scales. */
89
+ frameStyle?: FrameStyle;
90
+ /** Border radius position for the chart's own border. */
91
+ borderRadiusPosition?: BorderRadiusPosition | undefined;
92
+ /** Border radius position for external scales based on layout. */
93
+ borderRadiusPositionExternalScales?: BorderRadiusPosition | undefined;
94
+ /** When true, the chart is used inside an instrument (e.g., gauge-trend).
95
+ In this mode, only label font size responds to .obc-component-size-* CSS classes.
96
+ Border radius uses the explicit `borderRadius` property value (or defaults to 8px),
97
+ rather than reading from CSS variables. */
98
+ instrumentMode?: boolean;
99
+ /** Explicit border radius value in pixels.
100
+ When instrumentMode=true, this value is used directly (defaults to 8px).
101
+ When instrumentMode=false, this is ignored and border radius is read from CSS variable. */
102
+ borderRadius?: number | undefined;
6
103
  }
7
104
  export interface Events {
8
105
  }
@@ -10,6 +107,18 @@ export interface Slots {
10
107
  children?: Snippet;
11
108
  }
12
109
  type $$ComponentProps = Props & Events & Slots;
13
- declare const ObcLineGraph: import("svelte").Component<$$ComponentProps, {}, "">;
110
+ declare const ObcLineGraph: import("svelte").Component<$$ComponentProps, {
111
+ ChartLineDataItem: typeof ChartLineDataItem;
112
+ XAxisType: typeof XAxisType;
113
+ YAxisPosition: typeof YAxisPosition;
114
+ ChartLineYAxisConfig: typeof ChartLineYAxisConfig;
115
+ LineMode: typeof LineMode;
116
+ TimeDisplay: typeof TimeDisplay;
117
+ ChartDataset: typeof ChartDataset;
118
+ InstrumentState: typeof InstrumentState;
119
+ Priority: typeof Priority;
120
+ FrameStyle: typeof FrameStyle;
121
+ BorderRadiusPosition: typeof BorderRadiusPosition;
122
+ }, "">;
14
123
  type ObcLineGraph = ReturnType<typeof ObcLineGraph>;
15
124
  export default ObcLineGraph;
@@ -13,6 +13,27 @@ import type {LinearAdvice} from '@oicl/openbridge-webcomponents/dist/building-bl
13
13
  export interface Props {
14
14
  class?: string;
15
15
  style?: string;
16
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
17
+ setpoint?: number | undefined;
18
+ /** Adjustment preview for 2-step interface.
19
+ When defined, two markers are shown: original (dimmed) + new (focus). */
20
+ newSetpoint?: number | undefined;
21
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
22
+ atSetpoint?: boolean;
23
+ /** User is physically interacting with the control.
24
+ Suppresses at-setpoint calculation and triggers focus visual. */
25
+ touching?: boolean;
26
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
27
+ autoAtSetpoint?: boolean;
28
+ /** Tolerance for auto at-setpoint detection. */
29
+ autoAtSetpointDeadband?: number;
30
+ /** Tolerance for zero-snap visual state. */
31
+ setpointAtZeroDeadband?: number;
32
+ /** Override to derive the setpoint color from the instrument's `priority`
33
+ regardless of instrument state. */
34
+ setpointOverride?: boolean;
35
+ /** Enable CSS-animated confirm transition. */
36
+ animateSetpoint?: boolean;
16
37
  /** Minimum scale value (manual mode) */
17
38
  minValue?: number;
18
39
  /** Maximum scale value (manual mode) */
@@ -6,6 +6,27 @@ import type { Snippet } from 'svelte';
6
6
  export interface Props {
7
7
  class?: string;
8
8
  style?: string;
9
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
10
+ setpoint?: number | undefined;
11
+ /** Adjustment preview for 2-step interface.
12
+ When defined, two markers are shown: original (dimmed) + new (focus). */
13
+ newSetpoint?: number | undefined;
14
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
15
+ atSetpoint?: boolean;
16
+ /** User is physically interacting with the control.
17
+ Suppresses at-setpoint calculation and triggers focus visual. */
18
+ touching?: boolean;
19
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
20
+ autoAtSetpoint?: boolean;
21
+ /** Tolerance for auto at-setpoint detection. */
22
+ autoAtSetpointDeadband?: number;
23
+ /** Tolerance for zero-snap visual state. */
24
+ setpointAtZeroDeadband?: number;
25
+ /** Override to derive the setpoint color from the instrument's `priority`
26
+ regardless of instrument state. */
27
+ setpointOverride?: boolean;
28
+ /** Enable CSS-animated confirm transition. */
29
+ animateSetpoint?: boolean;
9
30
  /** Minimum scale value (manual mode) */
10
31
  minValue?: number;
11
32
  /** Maximum scale value (manual mode) */
@@ -13,6 +13,27 @@ import type {LinearAdvice} from '@oicl/openbridge-webcomponents/dist/building-bl
13
13
  export interface Props {
14
14
  class?: string;
15
15
  style?: string;
16
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
17
+ setpoint?: number | undefined;
18
+ /** Adjustment preview for 2-step interface.
19
+ When defined, two markers are shown: original (dimmed) + new (focus). */
20
+ newSetpoint?: number | undefined;
21
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
22
+ atSetpoint?: boolean;
23
+ /** User is physically interacting with the control.
24
+ Suppresses at-setpoint calculation and triggers focus visual. */
25
+ touching?: boolean;
26
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
27
+ autoAtSetpoint?: boolean;
28
+ /** Tolerance for auto at-setpoint detection. */
29
+ autoAtSetpointDeadband?: number;
30
+ /** Tolerance for zero-snap visual state. */
31
+ setpointAtZeroDeadband?: number;
32
+ /** Override to derive the setpoint color from the instrument's `priority`
33
+ regardless of instrument state. */
34
+ setpointOverride?: boolean;
35
+ /** Enable CSS-animated confirm transition. */
36
+ animateSetpoint?: boolean;
16
37
  /** Minimum scale value (manual mode) */
17
38
  minValue?: number;
18
39
  /** Maximum scale value (manual mode) */
@@ -6,6 +6,27 @@ import type { Snippet } from 'svelte';
6
6
  export interface Props {
7
7
  class?: string;
8
8
  style?: string;
9
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
10
+ setpoint?: number | undefined;
11
+ /** Adjustment preview for 2-step interface.
12
+ When defined, two markers are shown: original (dimmed) + new (focus). */
13
+ newSetpoint?: number | undefined;
14
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
15
+ atSetpoint?: boolean;
16
+ /** User is physically interacting with the control.
17
+ Suppresses at-setpoint calculation and triggers focus visual. */
18
+ touching?: boolean;
19
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
20
+ autoAtSetpoint?: boolean;
21
+ /** Tolerance for auto at-setpoint detection. */
22
+ autoAtSetpointDeadband?: number;
23
+ /** Tolerance for zero-snap visual state. */
24
+ setpointAtZeroDeadband?: number;
25
+ /** Override to derive the setpoint color from the instrument's `priority`
26
+ regardless of instrument state. */
27
+ setpointOverride?: boolean;
28
+ /** Enable CSS-animated confirm transition. */
29
+ animateSetpoint?: boolean;
9
30
  /** Minimum scale value (manual mode) */
10
31
  minValue?: number;
11
32
  /** Maximum scale value (manual mode) */