@oicl/openbridge-webcomponents-svelte 2.0.0-next.133 → 2.0.0-next.135

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.
@@ -0,0 +1,130 @@
1
+
2
+ <script lang="ts">
3
+ export type {InstrumentState} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
4
+ export type {GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
5
+ export type {TickmarkStyle} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
6
+ export type {GaugeGeneratorType} from '@oicl/openbridge-webcomponents/dist/automation/gauge-generator/gauge-generator.js';
7
+ import '@oicl/openbridge-webcomponents/dist/automation/gauge-generator/gauge-generator.js';
8
+ import { setProperties } from "../../util.js";
9
+ import type {InstrumentState} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
10
+ import type {GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
11
+ import type {TickmarkStyle} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
12
+ import type {GaugeGeneratorType} from '@oicl/openbridge-webcomponents/dist/automation/gauge-generator/gauge-generator.js';
13
+ import type { Snippet } from 'svelte';
14
+
15
+ export interface Props {
16
+ class?: string;
17
+ style?: string;
18
+ value?: number;
19
+ maxValue?: number;
20
+ minValue?: number;
21
+ /** Secondary value shown as a thin line arc at the band's inner edge with a second readout (the "primary-secondary" frame type). When undefined (default), the regular single-value frame renders. */
22
+ secondaryValue?: number | undefined;
23
+ /** Instrument state (active, loading, off). `priority: off` also renders the off face. */
24
+ state?: InstrumentState;
25
+ sector?: GaugeProportionalSector;
26
+ /** Available when `large==true`. */
27
+ alignment?: GaugeProportionalAlignment;
28
+ priority?: GaugeProportionalPriority;
29
+ showLabels?: boolean;
30
+ /** Interval for primary tickmarks in value units. When undefined or <= 0, no primary tickmarks are shown. */
31
+ primaryTickmarkInterval?: number | undefined;
32
+ /** Interval for secondary tickmarks in value units. When undefined or <= 0, no secondary tickmarks are shown. */
33
+ secondaryTickmarkInterval?: number | undefined;
34
+ tickmarkStyle?: TickmarkStyle;
35
+ /** Caution/alert arcs in value units. */
36
+ advices?: GaugeProportionalAdvice[];
37
+ /**
38
+ * When `true`, shows the center readout (and the secondary readout when the split frame renders — dashed until `secondaryValue` is set). Default `false`.
39
+ *
40
+ * Available when `large==true`.
41
+ */
42
+ hasReadout?: boolean;
43
+ /** Available when `hasReadout==true`. */
44
+ label?: string;
45
+ /**
46
+ * Unit for the in-dial readout (large) and the compact stack rows.
47
+ *
48
+ * Available when `hasReadout==true`.
49
+ */
50
+ unit?: string;
51
+ /** Available when `secondaryValue!=undefined`. */
52
+ secondaryLabel?: string;
53
+ /** Available when `secondaryValue!=undefined`. */
54
+ secondaryUnit?: string;
55
+ /** Available when `hasReadout==true`. */
56
+ fractionDigits?: number;
57
+ /**
58
+ * Name row shown under the readout (uppercase overline style).
59
+ *
60
+ * Available when `large==true`.
61
+ */
62
+ name?: string;
63
+ /** Outer-ring diameter in CSS pixels. When set, the instrument renders at a fixed intrinsic size; when unset (default), it fills its container. */
64
+ faceDiameter?: number | undefined;
65
+ /** The design's Large variant: `alignment`-controlled scale labels, in-dial readouts and the name row. When `false` (default), the Small variant renders — the face cropped to the dial with icon-only center content and a readout stack below. The Large face fills its container (or `faceDiameter`); the Small face shrinks with a tight slot but caps at the design's natural 240px dial box, so it always reads smaller than a Large face in the same slot. */
66
+ large?: boolean;
67
+ /**
68
+ * Render the readout stack below the face in the compact variant.
69
+ *
70
+ * Available when `large==false`.
71
+ */
72
+ hasLabelStack?: boolean;
73
+ /**
74
+ * Identifier line under the compact readout stack, e.g. '#0001'.
75
+ *
76
+ * Available when `large==false`.
77
+ */
78
+ tag?: string;
79
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
80
+ setpoint?: number | undefined;
81
+ /** Adjustment preview for 2-step interface.
82
+ When defined, two markers are shown: original (dimmed) + new (focus). */
83
+ newSetpoint?: number | undefined;
84
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
85
+ atSetpoint?: boolean;
86
+ /** User is physically interacting with the control.
87
+ Suppresses at-setpoint calculation and triggers focus visual. */
88
+ touching?: boolean;
89
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
90
+ autoAtSetpoint?: boolean;
91
+ /** Tolerance for auto at-setpoint detection. */
92
+ autoAtSetpointDeadband?: number;
93
+ /** Tolerance for zero-snap visual state. */
94
+ setpointAtZeroDeadband?: number;
95
+ /** Override to derive the setpoint color from the instrument's `priority`
96
+ regardless of instrument state. */
97
+ setpointOverride?: boolean;
98
+ /** Enable CSS-animated confirm transition. */
99
+ animateSetpoint?: boolean;
100
+ /** The design's Type axis; `double` renders the primary-secondary frame. */
101
+ type?: GaugeGeneratorType
102
+ }
103
+ export interface Events {
104
+
105
+ }
106
+ export interface Slots {
107
+ icon?: Snippet;
108
+ secondaryIcon?: Snippet
109
+ }
110
+ const { class: className, style, icon, secondaryIcon, ...props} = $props<Props & Events & Slots>();
111
+
112
+ </script>
113
+ <obc-gauge-generator
114
+ use:setProperties={props}
115
+ class={className}
116
+ style={style}
117
+ >
118
+
119
+ {#if icon}
120
+ <div slot="icon">
121
+ {@render icon()}
122
+ </div>
123
+ {/if}
124
+
125
+ {#if secondaryIcon}
126
+ <div slot="secondary-icon">
127
+ {@render secondaryIcon()}
128
+ </div>
129
+ {/if}
130
+ </obc-gauge-generator>
@@ -0,0 +1,112 @@
1
+ import '@oicl/openbridge-webcomponents/dist/automation/gauge-generator/gauge-generator.js';
2
+ import type { InstrumentState } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
3
+ import type { GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
4
+ import type { TickmarkStyle } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
5
+ import type { GaugeGeneratorType } from '@oicl/openbridge-webcomponents/dist/automation/gauge-generator/gauge-generator.js';
6
+ import type { Snippet } from 'svelte';
7
+ export interface Props {
8
+ class?: string;
9
+ style?: string;
10
+ value?: number;
11
+ maxValue?: number;
12
+ minValue?: number;
13
+ /** Secondary value shown as a thin line arc at the band's inner edge with a second readout (the "primary-secondary" frame type). When undefined (default), the regular single-value frame renders. */
14
+ secondaryValue?: number | undefined;
15
+ /** Instrument state (active, loading, off). `priority: off` also renders the off face. */
16
+ state?: InstrumentState;
17
+ sector?: GaugeProportionalSector;
18
+ /** Available when `large==true`. */
19
+ alignment?: GaugeProportionalAlignment;
20
+ priority?: GaugeProportionalPriority;
21
+ showLabels?: boolean;
22
+ /** Interval for primary tickmarks in value units. When undefined or <= 0, no primary tickmarks are shown. */
23
+ primaryTickmarkInterval?: number | undefined;
24
+ /** Interval for secondary tickmarks in value units. When undefined or <= 0, no secondary tickmarks are shown. */
25
+ secondaryTickmarkInterval?: number | undefined;
26
+ tickmarkStyle?: TickmarkStyle;
27
+ /** Caution/alert arcs in value units. */
28
+ advices?: GaugeProportionalAdvice[];
29
+ /**
30
+ * When `true`, shows the center readout (and the secondary readout when the split frame renders — dashed until `secondaryValue` is set). Default `false`.
31
+ *
32
+ * Available when `large==true`.
33
+ */
34
+ hasReadout?: boolean;
35
+ /** Available when `hasReadout==true`. */
36
+ label?: string;
37
+ /**
38
+ * Unit for the in-dial readout (large) and the compact stack rows.
39
+ *
40
+ * Available when `hasReadout==true`.
41
+ */
42
+ unit?: string;
43
+ /** Available when `secondaryValue!=undefined`. */
44
+ secondaryLabel?: string;
45
+ /** Available when `secondaryValue!=undefined`. */
46
+ secondaryUnit?: string;
47
+ /** Available when `hasReadout==true`. */
48
+ fractionDigits?: number;
49
+ /**
50
+ * Name row shown under the readout (uppercase overline style).
51
+ *
52
+ * Available when `large==true`.
53
+ */
54
+ name?: string;
55
+ /** Outer-ring diameter in CSS pixels. When set, the instrument renders at a fixed intrinsic size; when unset (default), it fills its container. */
56
+ faceDiameter?: number | undefined;
57
+ /** The design's Large variant: `alignment`-controlled scale labels, in-dial readouts and the name row. When `false` (default), the Small variant renders — the face cropped to the dial with icon-only center content and a readout stack below. The Large face fills its container (or `faceDiameter`); the Small face shrinks with a tight slot but caps at the design's natural 240px dial box, so it always reads smaller than a Large face in the same slot. */
58
+ large?: boolean;
59
+ /**
60
+ * Render the readout stack below the face in the compact variant.
61
+ *
62
+ * Available when `large==false`.
63
+ */
64
+ hasLabelStack?: boolean;
65
+ /**
66
+ * Identifier line under the compact readout stack, e.g. '#0001'.
67
+ *
68
+ * Available when `large==false`.
69
+ */
70
+ tag?: string;
71
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
72
+ setpoint?: number | undefined;
73
+ /** Adjustment preview for 2-step interface.
74
+ When defined, two markers are shown: original (dimmed) + new (focus). */
75
+ newSetpoint?: number | undefined;
76
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
77
+ atSetpoint?: boolean;
78
+ /** User is physically interacting with the control.
79
+ Suppresses at-setpoint calculation and triggers focus visual. */
80
+ touching?: boolean;
81
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
82
+ autoAtSetpoint?: boolean;
83
+ /** Tolerance for auto at-setpoint detection. */
84
+ autoAtSetpointDeadband?: number;
85
+ /** Tolerance for zero-snap visual state. */
86
+ setpointAtZeroDeadband?: number;
87
+ /** Override to derive the setpoint color from the instrument's `priority`
88
+ regardless of instrument state. */
89
+ setpointOverride?: boolean;
90
+ /** Enable CSS-animated confirm transition. */
91
+ animateSetpoint?: boolean;
92
+ /** The design's Type axis; `double` renders the primary-secondary frame. */
93
+ type?: GaugeGeneratorType;
94
+ }
95
+ export interface Events {
96
+ }
97
+ export interface Slots {
98
+ icon?: Snippet;
99
+ secondaryIcon?: Snippet;
100
+ }
101
+ type $$ComponentProps = Props & Events & Slots;
102
+ declare const ObcGaugeGenerator: import("svelte").Component<$$ComponentProps, {
103
+ InstrumentState: typeof InstrumentState;
104
+ GaugeProportionalSector: typeof GaugeProportionalSector;
105
+ GaugeProportionalAlignment: typeof GaugeProportionalAlignment;
106
+ GaugeProportionalPriority: typeof GaugeProportionalPriority;
107
+ GaugeProportionalAdvice: typeof GaugeProportionalAdvice;
108
+ TickmarkStyle: typeof TickmarkStyle;
109
+ GaugeGeneratorType: typeof GaugeGeneratorType;
110
+ }, "">;
111
+ type ObcGaugeGenerator = ReturnType<typeof ObcGaugeGenerator>;
112
+ export default ObcGaugeGenerator;
@@ -0,0 +1,130 @@
1
+
2
+ <script lang="ts">
3
+ export type {InstrumentState} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
4
+ export type {GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
5
+ export type {TickmarkStyle} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
6
+ export type {GaugeMotorsAndPumpsType} from '@oicl/openbridge-webcomponents/dist/automation/gauge-motors-and-pumps/gauge-motors-and-pumps.js';
7
+ import '@oicl/openbridge-webcomponents/dist/automation/gauge-motors-and-pumps/gauge-motors-and-pumps.js';
8
+ import { setProperties } from "../../util.js";
9
+ import type {InstrumentState} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
10
+ import type {GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
11
+ import type {TickmarkStyle} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
12
+ import type {GaugeMotorsAndPumpsType} from '@oicl/openbridge-webcomponents/dist/automation/gauge-motors-and-pumps/gauge-motors-and-pumps.js';
13
+ import type { Snippet } from 'svelte';
14
+
15
+ export interface Props {
16
+ class?: string;
17
+ style?: string;
18
+ value?: number;
19
+ maxValue?: number;
20
+ minValue?: number;
21
+ /** Secondary value shown as a thin line arc at the band's inner edge with a second readout (the "primary-secondary" frame type). When undefined (default), the regular single-value frame renders. */
22
+ secondaryValue?: number | undefined;
23
+ /** Instrument state (active, loading, off). `priority: off` also renders the off face. */
24
+ state?: InstrumentState;
25
+ sector?: GaugeProportionalSector;
26
+ /** Available when `large==true`. */
27
+ alignment?: GaugeProportionalAlignment;
28
+ priority?: GaugeProportionalPriority;
29
+ showLabels?: boolean;
30
+ /** Interval for primary tickmarks in value units. When undefined or <= 0, no primary tickmarks are shown. */
31
+ primaryTickmarkInterval?: number | undefined;
32
+ /** Interval for secondary tickmarks in value units. When undefined or <= 0, no secondary tickmarks are shown. */
33
+ secondaryTickmarkInterval?: number | undefined;
34
+ tickmarkStyle?: TickmarkStyle;
35
+ /** Caution/alert arcs in value units. */
36
+ advices?: GaugeProportionalAdvice[];
37
+ /**
38
+ * When `true`, shows the center readout (and the secondary readout when the split frame renders — dashed until `secondaryValue` is set). Default `false`.
39
+ *
40
+ * Available when `large==true`.
41
+ */
42
+ hasReadout?: boolean;
43
+ /** Available when `hasReadout==true`. */
44
+ label?: string;
45
+ /**
46
+ * Unit for the in-dial readout (large) and the compact stack rows.
47
+ *
48
+ * Available when `hasReadout==true`.
49
+ */
50
+ unit?: string;
51
+ /** Available when `secondaryValue!=undefined`. */
52
+ secondaryLabel?: string;
53
+ /** Available when `secondaryValue!=undefined`. */
54
+ secondaryUnit?: string;
55
+ /** Available when `hasReadout==true`. */
56
+ fractionDigits?: number;
57
+ /**
58
+ * Name row shown under the readout (uppercase overline style).
59
+ *
60
+ * Available when `large==true`.
61
+ */
62
+ name?: string;
63
+ /** Outer-ring diameter in CSS pixels. When set, the instrument renders at a fixed intrinsic size; when unset (default), it fills its container. */
64
+ faceDiameter?: number | undefined;
65
+ /** The design's Large variant: `alignment`-controlled scale labels, in-dial readouts and the name row. When `false` (default), the Small variant renders — the face cropped to the dial with icon-only center content and a readout stack below. The Large face fills its container (or `faceDiameter`); the Small face shrinks with a tight slot but caps at the design's natural 240px dial box, so it always reads smaller than a Large face in the same slot. */
66
+ large?: boolean;
67
+ /**
68
+ * Render the readout stack below the face in the compact variant.
69
+ *
70
+ * Available when `large==false`.
71
+ */
72
+ hasLabelStack?: boolean;
73
+ /**
74
+ * Identifier line under the compact readout stack, e.g. '#0001'.
75
+ *
76
+ * Available when `large==false`.
77
+ */
78
+ tag?: string;
79
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
80
+ setpoint?: number | undefined;
81
+ /** Adjustment preview for 2-step interface.
82
+ When defined, two markers are shown: original (dimmed) + new (focus). */
83
+ newSetpoint?: number | undefined;
84
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
85
+ atSetpoint?: boolean;
86
+ /** User is physically interacting with the control.
87
+ Suppresses at-setpoint calculation and triggers focus visual. */
88
+ touching?: boolean;
89
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
90
+ autoAtSetpoint?: boolean;
91
+ /** Tolerance for auto at-setpoint detection. */
92
+ autoAtSetpointDeadband?: number;
93
+ /** Tolerance for zero-snap visual state. */
94
+ setpointAtZeroDeadband?: number;
95
+ /** Override to derive the setpoint color from the instrument's `priority`
96
+ regardless of instrument state. */
97
+ setpointOverride?: boolean;
98
+ /** Enable CSS-animated confirm transition. */
99
+ animateSetpoint?: boolean;
100
+ /** The design's Type axis; drives the sector and the split frame. */
101
+ type?: GaugeMotorsAndPumpsType
102
+ }
103
+ export interface Events {
104
+
105
+ }
106
+ export interface Slots {
107
+ icon?: Snippet;
108
+ secondaryIcon?: Snippet
109
+ }
110
+ const { class: className, style, icon, secondaryIcon, ...props} = $props<Props & Events & Slots>();
111
+
112
+ </script>
113
+ <obc-gauge-motors-and-pumps
114
+ use:setProperties={props}
115
+ class={className}
116
+ style={style}
117
+ >
118
+
119
+ {#if icon}
120
+ <div slot="icon">
121
+ {@render icon()}
122
+ </div>
123
+ {/if}
124
+
125
+ {#if secondaryIcon}
126
+ <div slot="secondary-icon">
127
+ {@render secondaryIcon()}
128
+ </div>
129
+ {/if}
130
+ </obc-gauge-motors-and-pumps>
@@ -0,0 +1,112 @@
1
+ import '@oicl/openbridge-webcomponents/dist/automation/gauge-motors-and-pumps/gauge-motors-and-pumps.js';
2
+ import type { InstrumentState } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
3
+ import type { GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
4
+ import type { TickmarkStyle } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
5
+ import type { GaugeMotorsAndPumpsType } from '@oicl/openbridge-webcomponents/dist/automation/gauge-motors-and-pumps/gauge-motors-and-pumps.js';
6
+ import type { Snippet } from 'svelte';
7
+ export interface Props {
8
+ class?: string;
9
+ style?: string;
10
+ value?: number;
11
+ maxValue?: number;
12
+ minValue?: number;
13
+ /** Secondary value shown as a thin line arc at the band's inner edge with a second readout (the "primary-secondary" frame type). When undefined (default), the regular single-value frame renders. */
14
+ secondaryValue?: number | undefined;
15
+ /** Instrument state (active, loading, off). `priority: off` also renders the off face. */
16
+ state?: InstrumentState;
17
+ sector?: GaugeProportionalSector;
18
+ /** Available when `large==true`. */
19
+ alignment?: GaugeProportionalAlignment;
20
+ priority?: GaugeProportionalPriority;
21
+ showLabels?: boolean;
22
+ /** Interval for primary tickmarks in value units. When undefined or <= 0, no primary tickmarks are shown. */
23
+ primaryTickmarkInterval?: number | undefined;
24
+ /** Interval for secondary tickmarks in value units. When undefined or <= 0, no secondary tickmarks are shown. */
25
+ secondaryTickmarkInterval?: number | undefined;
26
+ tickmarkStyle?: TickmarkStyle;
27
+ /** Caution/alert arcs in value units. */
28
+ advices?: GaugeProportionalAdvice[];
29
+ /**
30
+ * When `true`, shows the center readout (and the secondary readout when the split frame renders — dashed until `secondaryValue` is set). Default `false`.
31
+ *
32
+ * Available when `large==true`.
33
+ */
34
+ hasReadout?: boolean;
35
+ /** Available when `hasReadout==true`. */
36
+ label?: string;
37
+ /**
38
+ * Unit for the in-dial readout (large) and the compact stack rows.
39
+ *
40
+ * Available when `hasReadout==true`.
41
+ */
42
+ unit?: string;
43
+ /** Available when `secondaryValue!=undefined`. */
44
+ secondaryLabel?: string;
45
+ /** Available when `secondaryValue!=undefined`. */
46
+ secondaryUnit?: string;
47
+ /** Available when `hasReadout==true`. */
48
+ fractionDigits?: number;
49
+ /**
50
+ * Name row shown under the readout (uppercase overline style).
51
+ *
52
+ * Available when `large==true`.
53
+ */
54
+ name?: string;
55
+ /** Outer-ring diameter in CSS pixels. When set, the instrument renders at a fixed intrinsic size; when unset (default), it fills its container. */
56
+ faceDiameter?: number | undefined;
57
+ /** The design's Large variant: `alignment`-controlled scale labels, in-dial readouts and the name row. When `false` (default), the Small variant renders — the face cropped to the dial with icon-only center content and a readout stack below. The Large face fills its container (or `faceDiameter`); the Small face shrinks with a tight slot but caps at the design's natural 240px dial box, so it always reads smaller than a Large face in the same slot. */
58
+ large?: boolean;
59
+ /**
60
+ * Render the readout stack below the face in the compact variant.
61
+ *
62
+ * Available when `large==false`.
63
+ */
64
+ hasLabelStack?: boolean;
65
+ /**
66
+ * Identifier line under the compact readout stack, e.g. '#0001'.
67
+ *
68
+ * Available when `large==false`.
69
+ */
70
+ tag?: string;
71
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
72
+ setpoint?: number | undefined;
73
+ /** Adjustment preview for 2-step interface.
74
+ When defined, two markers are shown: original (dimmed) + new (focus). */
75
+ newSetpoint?: number | undefined;
76
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
77
+ atSetpoint?: boolean;
78
+ /** User is physically interacting with the control.
79
+ Suppresses at-setpoint calculation and triggers focus visual. */
80
+ touching?: boolean;
81
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
82
+ autoAtSetpoint?: boolean;
83
+ /** Tolerance for auto at-setpoint detection. */
84
+ autoAtSetpointDeadband?: number;
85
+ /** Tolerance for zero-snap visual state. */
86
+ setpointAtZeroDeadband?: number;
87
+ /** Override to derive the setpoint color from the instrument's `priority`
88
+ regardless of instrument state. */
89
+ setpointOverride?: boolean;
90
+ /** Enable CSS-animated confirm transition. */
91
+ animateSetpoint?: boolean;
92
+ /** The design's Type axis; drives the sector and the split frame. */
93
+ type?: GaugeMotorsAndPumpsType;
94
+ }
95
+ export interface Events {
96
+ }
97
+ export interface Slots {
98
+ icon?: Snippet;
99
+ secondaryIcon?: Snippet;
100
+ }
101
+ type $$ComponentProps = Props & Events & Slots;
102
+ declare const ObcGaugeMotorsAndPumps: import("svelte").Component<$$ComponentProps, {
103
+ InstrumentState: typeof InstrumentState;
104
+ GaugeProportionalSector: typeof GaugeProportionalSector;
105
+ GaugeProportionalAlignment: typeof GaugeProportionalAlignment;
106
+ GaugeProportionalPriority: typeof GaugeProportionalPriority;
107
+ GaugeProportionalAdvice: typeof GaugeProportionalAdvice;
108
+ TickmarkStyle: typeof TickmarkStyle;
109
+ GaugeMotorsAndPumpsType: typeof GaugeMotorsAndPumpsType;
110
+ }, "">;
111
+ type ObcGaugeMotorsAndPumps = ReturnType<typeof ObcGaugeMotorsAndPumps>;
112
+ export default ObcGaugeMotorsAndPumps;
@@ -0,0 +1,99 @@
1
+
2
+ <script lang="ts">
3
+ export type {GaugeValveType, GaugeValvePriority, GaugeValveStyle} from '@oicl/openbridge-webcomponents/dist/automation/gauge-valve/gauge-valve.js';
4
+ export type {GaugeValveScalePosition} from '@oicl/openbridge-webcomponents/dist/automation/gauge-valve/gauge-valve-geometry.js';
5
+ import '@oicl/openbridge-webcomponents/dist/automation/gauge-valve/gauge-valve.js';
6
+ import { setProperties } from "../../util.js";
7
+ import type {GaugeValveType, GaugeValvePriority, GaugeValveStyle} from '@oicl/openbridge-webcomponents/dist/automation/gauge-valve/gauge-valve.js';
8
+ import type {GaugeValveScalePosition} from '@oicl/openbridge-webcomponents/dist/automation/gauge-valve/gauge-valve-geometry.js';
9
+ import type { Snippet } from 'svelte';
10
+
11
+ export interface Props {
12
+ class?: string;
13
+ style?: string;
14
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
15
+ setpoint?: number | undefined;
16
+ /** Adjustment preview for 2-step interface.
17
+ When defined, two markers are shown: original (dimmed) + new (focus). */
18
+ newSetpoint?: number | undefined;
19
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
20
+ atSetpoint?: boolean;
21
+ /** User is physically interacting with the control.
22
+ Suppresses at-setpoint calculation and triggers focus visual. */
23
+ touching?: boolean;
24
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
25
+ autoAtSetpoint?: boolean;
26
+ /** Tolerance for auto at-setpoint detection. */
27
+ autoAtSetpointDeadband?: number;
28
+ /** Tolerance for zero-snap visual state. */
29
+ setpointAtZeroDeadband?: number;
30
+ /** Override to derive the setpoint color from the instrument's `priority`
31
+ regardless of instrument state. */
32
+ setpointOverride?: boolean;
33
+ /** Enable CSS-animated confirm transition. */
34
+ animateSetpoint?: boolean;
35
+ type?: GaugeValveType;
36
+ /** Colour emphasis of the value graphics (the Figma "Type" axis); `off` blanks them on a flat disc */
37
+ priority?: GaugeValvePriority;
38
+ /** Bar rendering (the Figma "Style" axis): tint (default) shows a tint bar with strong cap pills, fill a strong bar without pills */
39
+ barStyle?: GaugeValveStyle;
40
+ /** Rotates the whole layout — ports, scale, setpoint and readout side (the designs' two-way Direction / three-way Scale axis) */
41
+ scalePosition?: GaugeValveScalePosition;
42
+ /** Through-flow of the right outlet port, 0-100 (%) */
43
+ value?: number;
44
+ /**
45
+ * Bottom outlet flow, 0-100 (%).
46
+ *
47
+ * Available when `type==three-way`.
48
+ */
49
+ bottomValue?: number;
50
+ /** Show scale, labels, readout and setpoint layer */
51
+ large?: boolean;
52
+ /**
53
+ * Readout label text.
54
+ *
55
+ * Available when `large==true`.
56
+ */
57
+ label?: string;
58
+ /**
59
+ * Readout unit text.
60
+ *
61
+ * Available when `large==true`.
62
+ */
63
+ unit?: string;
64
+ /**
65
+ * Identifier line under the compact readout stack, e.g. '#0001'.
66
+ *
67
+ * Available when `large==false && hasLabelStack==true`.
68
+ */
69
+ tag?: string;
70
+ /**
71
+ * Render the readout stack below the face in the compact variant.
72
+ *
73
+ * Available when `large==false`.
74
+ */
75
+ hasLabelStack?: boolean;
76
+ /** Ring diameter in CSS pixels. When set, the face renders at a fixed intrinsic size (equal circumference across instruments sharing the value); when unset (default), the face contain-fits its container. */
77
+ faceDiameter?: number | undefined
78
+ }
79
+ export interface Events {
80
+
81
+ }
82
+ export interface Slots {
83
+ icon?: Snippet
84
+ }
85
+ const { class: className, style, icon, ...props} = $props<Props & Events & Slots>();
86
+
87
+ </script>
88
+ <obc-gauge-valve
89
+ use:setProperties={props}
90
+ class={className}
91
+ style={style}
92
+ >
93
+
94
+ {#if icon}
95
+ <div slot="icon">
96
+ {@render icon()}
97
+ </div>
98
+ {/if}
99
+ </obc-gauge-valve>
@@ -0,0 +1,86 @@
1
+ import '@oicl/openbridge-webcomponents/dist/automation/gauge-valve/gauge-valve.js';
2
+ import type { GaugeValveType, GaugeValvePriority, GaugeValveStyle } from '@oicl/openbridge-webcomponents/dist/automation/gauge-valve/gauge-valve.js';
3
+ import type { GaugeValveScalePosition } from '@oicl/openbridge-webcomponents/dist/automation/gauge-valve/gauge-valve-geometry.js';
4
+ import type { Snippet } from 'svelte';
5
+ export interface Props {
6
+ class?: string;
7
+ style?: string;
8
+ /** Target setpoint value. `undefined` = no setpoint marker shown. */
9
+ setpoint?: number | undefined;
10
+ /** Adjustment preview for 2-step interface.
11
+ When defined, two markers are shown: original (dimmed) + new (focus). */
12
+ newSetpoint?: number | undefined;
13
+ /** Manual at-setpoint override (used when `autoAtSetpoint` is false). */
14
+ atSetpoint?: boolean;
15
+ /** User is physically interacting with the control.
16
+ Suppresses at-setpoint calculation and triggers focus visual. */
17
+ touching?: boolean;
18
+ /** When false, uses manual `atSetpoint` boolean instead of auto-calculation. */
19
+ autoAtSetpoint?: boolean;
20
+ /** Tolerance for auto at-setpoint detection. */
21
+ autoAtSetpointDeadband?: number;
22
+ /** Tolerance for zero-snap visual state. */
23
+ setpointAtZeroDeadband?: number;
24
+ /** Override to derive the setpoint color from the instrument's `priority`
25
+ regardless of instrument state. */
26
+ setpointOverride?: boolean;
27
+ /** Enable CSS-animated confirm transition. */
28
+ animateSetpoint?: boolean;
29
+ type?: GaugeValveType;
30
+ /** Colour emphasis of the value graphics (the Figma "Type" axis); `off` blanks them on a flat disc */
31
+ priority?: GaugeValvePriority;
32
+ /** Bar rendering (the Figma "Style" axis): tint (default) shows a tint bar with strong cap pills, fill a strong bar without pills */
33
+ barStyle?: GaugeValveStyle;
34
+ /** Rotates the whole layout — ports, scale, setpoint and readout side (the designs' two-way Direction / three-way Scale axis) */
35
+ scalePosition?: GaugeValveScalePosition;
36
+ /** Through-flow of the right outlet port, 0-100 (%) */
37
+ value?: number;
38
+ /**
39
+ * Bottom outlet flow, 0-100 (%).
40
+ *
41
+ * Available when `type==three-way`.
42
+ */
43
+ bottomValue?: number;
44
+ /** Show scale, labels, readout and setpoint layer */
45
+ large?: boolean;
46
+ /**
47
+ * Readout label text.
48
+ *
49
+ * Available when `large==true`.
50
+ */
51
+ label?: string;
52
+ /**
53
+ * Readout unit text.
54
+ *
55
+ * Available when `large==true`.
56
+ */
57
+ unit?: string;
58
+ /**
59
+ * Identifier line under the compact readout stack, e.g. '#0001'.
60
+ *
61
+ * Available when `large==false && hasLabelStack==true`.
62
+ */
63
+ tag?: string;
64
+ /**
65
+ * Render the readout stack below the face in the compact variant.
66
+ *
67
+ * Available when `large==false`.
68
+ */
69
+ hasLabelStack?: boolean;
70
+ /** Ring diameter in CSS pixels. When set, the face renders at a fixed intrinsic size (equal circumference across instruments sharing the value); when unset (default), the face contain-fits its container. */
71
+ faceDiameter?: number | undefined;
72
+ }
73
+ export interface Events {
74
+ }
75
+ export interface Slots {
76
+ icon?: Snippet;
77
+ }
78
+ type $$ComponentProps = Props & Events & Slots;
79
+ declare const ObcGaugeValve: import("svelte").Component<$$ComponentProps, {
80
+ GaugeValveType: typeof GaugeValveType;
81
+ GaugeValvePriority: typeof GaugeValvePriority;
82
+ GaugeValveStyle: typeof GaugeValveStyle;
83
+ GaugeValveScalePosition: typeof GaugeValveScalePosition;
84
+ }, "">;
85
+ type ObcGaugeValve = ReturnType<typeof ObcGaugeValve>;
86
+ export default ObcGaugeValve;
@@ -9,9 +9,13 @@
9
9
  export interface Props {
10
10
  class?: string;
11
11
  style?: string;
12
+ /** Rows rendered top-to-bottom: `value` (padded digits, unit, optional direction icon), `state-on`/`state-off`, `button`, and `setpoint` (shared setpoint glyph + padded digits). */
12
13
  readouts?: AutomationButtonReadoutStack[];
14
+ /** Identifier line (e.g. '#0001'); `null` hides it. */
13
15
  tag?: string | null;
16
+ /** Typography tier of the rows (small / regular / enhanced). */
14
17
  size?: AutomationButtonReadoutStackSize;
18
+ /** Whether the tag renders above or below the rows. */
15
19
  idTagOrientation?: IdTagOrientation
16
20
  }
17
21
  export interface Events {
@@ -4,9 +4,13 @@ import type { Snippet } from 'svelte';
4
4
  export interface Props {
5
5
  class?: string;
6
6
  style?: string;
7
+ /** Rows rendered top-to-bottom: `value` (padded digits, unit, optional direction icon), `state-on`/`state-off`, `button`, and `setpoint` (shared setpoint glyph + padded digits). */
7
8
  readouts?: AutomationButtonReadoutStack[];
9
+ /** Identifier line (e.g. '#0001'); `null` hides it. */
8
10
  tag?: string | null;
11
+ /** Typography tier of the rows (small / regular / enhanced). */
9
12
  size?: AutomationButtonReadoutStackSize;
13
+ /** Whether the tag renders above or below the rows. */
10
14
  idTagOrientation?: IdTagOrientation;
11
15
  }
12
16
  export interface Events {
package/dist/index.d.ts CHANGED
@@ -46,6 +46,9 @@ export { default as ObcDirectionLine } from './automation/direction-line/ObcDire
46
46
  export { default as ObcEndPointLine } from './automation/end-point-line/ObcEndPointLine.svelte';
47
47
  export { default as ObcFan } from './automation/fan/ObcFan.svelte';
48
48
  export { default as ObcFilter } from './automation/filter/ObcFilter.svelte';
49
+ export { default as ObcGaugeGenerator } from './automation/gauge-generator/ObcGaugeGenerator.svelte';
50
+ export { default as ObcGaugeMotorsAndPumps } from './automation/gauge-motors-and-pumps/ObcGaugeMotorsAndPumps.svelte';
51
+ export { default as ObcGaugeValve } from './automation/gauge-valve/ObcGaugeValve.svelte';
49
52
  export { default as ObcGround } from './automation/ground/ObcGround.svelte';
50
53
  export { default as ObcHorizontalLine } from './automation/horizontal-line/ObcHorizontalLine.svelte';
51
54
  export { default as ObcIndicatorBattery } from './automation/indicator-battery/ObcIndicatorBattery.svelte';
@@ -2281,9 +2284,9 @@ export { default as ObcDepthIndicator } from './navigation-instruments/depth-ind
2281
2284
  export { default as ObcDraftTrim } from './navigation-instruments/draft-trim/ObcDraftTrim.svelte';
2282
2285
  export { default as ObcGaugeBarIndicator } from './navigation-instruments/gauge-bar-indicator/ObcGaugeBarIndicator.svelte';
2283
2286
  export { default as ObcGaugeHorizontal } from './navigation-instruments/gauge-horizontal/ObcGaugeHorizontal.svelte';
2287
+ export { default as ObcGaugeProportional } from './navigation-instruments/gauge-proportional/ObcGaugeProportional.svelte';
2284
2288
  export { default as ObcGaugeRadial } from './navigation-instruments/gauge-radial/ObcGaugeRadial.svelte';
2285
2289
  export { default as ObcGaugeRadialIndicator } from './navigation-instruments/gauge-radial-indicator/ObcGaugeRadialIndicator.svelte';
2286
- export { default as ObcGaugeRadialProportional } from './navigation-instruments/gauge-radial-proportional/ObcGaugeRadialProportional.svelte';
2287
2290
  export { default as ObcGaugeTrend } from './navigation-instruments/gauge-trend/ObcGaugeTrend.svelte';
2288
2291
  export { default as ObcGaugeTrendIndicator } from './navigation-instruments/gauge-trend-indicator/ObcGaugeTrendIndicator.svelte';
2289
2292
  export { default as ObcGaugeVertical } from './navigation-instruments/gauge-vertical/ObcGaugeVertical.svelte';
package/dist/index.js CHANGED
@@ -46,6 +46,9 @@ export { default as ObcDirectionLine } from './automation/direction-line/ObcDire
46
46
  export { default as ObcEndPointLine } from './automation/end-point-line/ObcEndPointLine.svelte';
47
47
  export { default as ObcFan } from './automation/fan/ObcFan.svelte';
48
48
  export { default as ObcFilter } from './automation/filter/ObcFilter.svelte';
49
+ export { default as ObcGaugeGenerator } from './automation/gauge-generator/ObcGaugeGenerator.svelte';
50
+ export { default as ObcGaugeMotorsAndPumps } from './automation/gauge-motors-and-pumps/ObcGaugeMotorsAndPumps.svelte';
51
+ export { default as ObcGaugeValve } from './automation/gauge-valve/ObcGaugeValve.svelte';
49
52
  export { default as ObcGround } from './automation/ground/ObcGround.svelte';
50
53
  export { default as ObcHorizontalLine } from './automation/horizontal-line/ObcHorizontalLine.svelte';
51
54
  export { default as ObcIndicatorBattery } from './automation/indicator-battery/ObcIndicatorBattery.svelte';
@@ -2281,9 +2284,9 @@ export { default as ObcDepthIndicator } from './navigation-instruments/depth-ind
2281
2284
  export { default as ObcDraftTrim } from './navigation-instruments/draft-trim/ObcDraftTrim.svelte';
2282
2285
  export { default as ObcGaugeBarIndicator } from './navigation-instruments/gauge-bar-indicator/ObcGaugeBarIndicator.svelte';
2283
2286
  export { default as ObcGaugeHorizontal } from './navigation-instruments/gauge-horizontal/ObcGaugeHorizontal.svelte';
2287
+ export { default as ObcGaugeProportional } from './navigation-instruments/gauge-proportional/ObcGaugeProportional.svelte';
2284
2288
  export { default as ObcGaugeRadial } from './navigation-instruments/gauge-radial/ObcGaugeRadial.svelte';
2285
2289
  export { default as ObcGaugeRadialIndicator } from './navigation-instruments/gauge-radial-indicator/ObcGaugeRadialIndicator.svelte';
2286
- export { default as ObcGaugeRadialProportional } from './navigation-instruments/gauge-radial-proportional/ObcGaugeRadialProportional.svelte';
2287
2290
  export { default as ObcGaugeTrend } from './navigation-instruments/gauge-trend/ObcGaugeTrend.svelte';
2288
2291
  export { default as ObcGaugeTrendIndicator } from './navigation-instruments/gauge-trend-indicator/ObcGaugeTrendIndicator.svelte';
2289
2292
  export { default as ObcGaugeVertical } from './navigation-instruments/gauge-vertical/ObcGaugeVertical.svelte';
@@ -1,12 +1,12 @@
1
1
 
2
2
  <script lang="ts">
3
3
  export type {InstrumentState} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
4
- export type {GaugeRadialProportionalSector, GaugeRadialProportionalAlignment, GaugeRadialProportionalPriority, GaugeRadialProportionalAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-radial-proportional/gauge-radial-proportional.js';
4
+ export type {GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
5
5
  export type {TickmarkStyle} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
6
- import '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-radial-proportional/gauge-radial-proportional.js';
6
+ import '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
7
7
  import { setProperties } from "../../util.js";
8
8
  import type {InstrumentState} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
9
- import type {GaugeRadialProportionalSector, GaugeRadialProportionalAlignment, GaugeRadialProportionalPriority, GaugeRadialProportionalAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-radial-proportional/gauge-radial-proportional.js';
9
+ import type {GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
10
10
  import type {TickmarkStyle} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
11
11
  import type { Snippet } from 'svelte';
12
12
 
@@ -41,9 +41,10 @@ animateSetpoint?: boolean;
41
41
  secondaryValue?: number | undefined;
42
42
  /** Instrument state (active, loading, off). `priority: off` also renders the off face. */
43
43
  state?: InstrumentState;
44
- sector?: GaugeRadialProportionalSector;
45
- alignment?: GaugeRadialProportionalAlignment;
46
- priority?: GaugeRadialProportionalPriority;
44
+ sector?: GaugeProportionalSector;
45
+ /** Available when `large==true`. */
46
+ alignment?: GaugeProportionalAlignment;
47
+ priority?: GaugeProportionalPriority;
47
48
  showLabels?: boolean;
48
49
  /** Interval for primary tickmarks in value units. When undefined or <= 0, no primary tickmarks are shown. */
49
50
  primaryTickmarkInterval?: number | undefined;
@@ -51,33 +52,61 @@ animateSetpoint?: boolean;
51
52
  secondaryTickmarkInterval?: number | undefined;
52
53
  tickmarkStyle?: TickmarkStyle;
53
54
  /** Caution/alert arcs in value units. */
54
- advices?: GaugeRadialProportionalAdvice[];
55
- /** When `true`, shows the center readout (and the secondary readout when `secondaryValue` is set). Default `false`. */
55
+ advices?: GaugeProportionalAdvice[];
56
+ /**
57
+ * When `true`, shows the center readout (and the secondary readout when the split frame renders — dashed until `secondaryValue` is set). Default `false`.
58
+ *
59
+ * Available when `large==true`.
60
+ */
56
61
  hasReadout?: boolean;
57
62
  /** Available when `hasReadout==true`. */
58
63
  label?: string;
59
- /** Available when `hasReadout==true`. */
64
+ /**
65
+ * Unit for the in-dial readout (large) and the compact stack rows.
66
+ *
67
+ * Available when `hasReadout==true`.
68
+ */
60
69
  unit?: string;
61
70
  /** Available when `secondaryValue!=undefined`. */
62
71
  secondaryLabel?: string;
63
72
  /** Available when `secondaryValue!=undefined`. */
64
73
  secondaryUnit?: string;
74
+ /** Available when `hasReadout==true`. */
65
75
  fractionDigits?: number;
66
- /** Name row shown under the readout (uppercase overline style). */
76
+ /**
77
+ * Name row shown under the readout (uppercase overline style).
78
+ *
79
+ * Available when `large==true`.
80
+ */
67
81
  name?: string;
68
82
  /** Outer-ring diameter in CSS pixels. When set, the instrument renders at a fixed intrinsic size; when unset (default), it fills its container. */
69
- faceDiameter?: number | undefined
83
+ faceDiameter?: number | undefined;
84
+ /** The design's Large variant: `alignment`-controlled scale labels, in-dial readouts and the name row. When `false` (default), the Small variant renders — the face cropped to the dial with icon-only center content and a readout stack below. The Large face fills its container (or `faceDiameter`); the Small face shrinks with a tight slot but caps at the design's natural 240px dial box, so it always reads smaller than a Large face in the same slot. */
85
+ large?: boolean;
86
+ /**
87
+ * Render the readout stack below the face in the compact variant.
88
+ *
89
+ * Available when `large==false`.
90
+ */
91
+ hasLabelStack?: boolean;
92
+ /**
93
+ * Identifier line under the compact readout stack, e.g. '#0001'.
94
+ *
95
+ * Available when `large==false`.
96
+ */
97
+ tag?: string
70
98
  }
71
99
  export interface Events {
72
100
 
73
101
  }
74
102
  export interface Slots {
75
- icon?: Snippet
103
+ icon?: Snippet;
104
+ secondaryIcon?: Snippet
76
105
  }
77
- const { class: className, style, icon, ...props} = $props<Props & Events & Slots>();
106
+ const { class: className, style, icon, secondaryIcon, ...props} = $props<Props & Events & Slots>();
78
107
 
79
108
  </script>
80
- <obc-gauge-radial-proportional
109
+ <obc-gauge-proportional
81
110
  use:setProperties={props}
82
111
  class={className}
83
112
  style={style}
@@ -88,4 +117,10 @@ animateSetpoint?: boolean;
88
117
  {@render icon()}
89
118
  </div>
90
119
  {/if}
91
- </obc-gauge-radial-proportional>
120
+
121
+ {#if secondaryIcon}
122
+ <div slot="secondary-icon">
123
+ {@render secondaryIcon()}
124
+ </div>
125
+ {/if}
126
+ </obc-gauge-proportional>
@@ -1,6 +1,6 @@
1
- import '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-radial-proportional/gauge-radial-proportional.js';
1
+ import '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
2
2
  import type { InstrumentState } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
3
- import type { GaugeRadialProportionalSector, GaugeRadialProportionalAlignment, GaugeRadialProportionalPriority, GaugeRadialProportionalAdvice } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-radial-proportional/gauge-radial-proportional.js';
3
+ import type { GaugeProportionalSector, GaugeProportionalAlignment, GaugeProportionalPriority, GaugeProportionalAdvice } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/gauge-proportional/gauge-proportional.js';
4
4
  import type { TickmarkStyle } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
5
5
  import type { Snippet } from 'svelte';
6
6
  export interface Props {
@@ -34,9 +34,10 @@ regardless of instrument state. */
34
34
  secondaryValue?: number | undefined;
35
35
  /** Instrument state (active, loading, off). `priority: off` also renders the off face. */
36
36
  state?: InstrumentState;
37
- sector?: GaugeRadialProportionalSector;
38
- alignment?: GaugeRadialProportionalAlignment;
39
- priority?: GaugeRadialProportionalPriority;
37
+ sector?: GaugeProportionalSector;
38
+ /** Available when `large==true`. */
39
+ alignment?: GaugeProportionalAlignment;
40
+ priority?: GaugeProportionalPriority;
40
41
  showLabels?: boolean;
41
42
  /** Interval for primary tickmarks in value units. When undefined or <= 0, no primary tickmarks are shown. */
42
43
  primaryTickmarkInterval?: number | undefined;
@@ -44,36 +45,64 @@ regardless of instrument state. */
44
45
  secondaryTickmarkInterval?: number | undefined;
45
46
  tickmarkStyle?: TickmarkStyle;
46
47
  /** Caution/alert arcs in value units. */
47
- advices?: GaugeRadialProportionalAdvice[];
48
- /** When `true`, shows the center readout (and the secondary readout when `secondaryValue` is set). Default `false`. */
48
+ advices?: GaugeProportionalAdvice[];
49
+ /**
50
+ * When `true`, shows the center readout (and the secondary readout when the split frame renders — dashed until `secondaryValue` is set). Default `false`.
51
+ *
52
+ * Available when `large==true`.
53
+ */
49
54
  hasReadout?: boolean;
50
55
  /** Available when `hasReadout==true`. */
51
56
  label?: string;
52
- /** Available when `hasReadout==true`. */
57
+ /**
58
+ * Unit for the in-dial readout (large) and the compact stack rows.
59
+ *
60
+ * Available when `hasReadout==true`.
61
+ */
53
62
  unit?: string;
54
63
  /** Available when `secondaryValue!=undefined`. */
55
64
  secondaryLabel?: string;
56
65
  /** Available when `secondaryValue!=undefined`. */
57
66
  secondaryUnit?: string;
67
+ /** Available when `hasReadout==true`. */
58
68
  fractionDigits?: number;
59
- /** Name row shown under the readout (uppercase overline style). */
69
+ /**
70
+ * Name row shown under the readout (uppercase overline style).
71
+ *
72
+ * Available when `large==true`.
73
+ */
60
74
  name?: string;
61
75
  /** Outer-ring diameter in CSS pixels. When set, the instrument renders at a fixed intrinsic size; when unset (default), it fills its container. */
62
76
  faceDiameter?: number | undefined;
77
+ /** The design's Large variant: `alignment`-controlled scale labels, in-dial readouts and the name row. When `false` (default), the Small variant renders — the face cropped to the dial with icon-only center content and a readout stack below. The Large face fills its container (or `faceDiameter`); the Small face shrinks with a tight slot but caps at the design's natural 240px dial box, so it always reads smaller than a Large face in the same slot. */
78
+ large?: boolean;
79
+ /**
80
+ * Render the readout stack below the face in the compact variant.
81
+ *
82
+ * Available when `large==false`.
83
+ */
84
+ hasLabelStack?: boolean;
85
+ /**
86
+ * Identifier line under the compact readout stack, e.g. '#0001'.
87
+ *
88
+ * Available when `large==false`.
89
+ */
90
+ tag?: string;
63
91
  }
64
92
  export interface Events {
65
93
  }
66
94
  export interface Slots {
67
95
  icon?: Snippet;
96
+ secondaryIcon?: Snippet;
68
97
  }
69
98
  type $$ComponentProps = Props & Events & Slots;
70
- declare const ObcGaugeRadialProportional: import("svelte").Component<$$ComponentProps, {
99
+ declare const ObcGaugeProportional: import("svelte").Component<$$ComponentProps, {
71
100
  InstrumentState: typeof InstrumentState;
72
- GaugeRadialProportionalSector: typeof GaugeRadialProportionalSector;
73
- GaugeRadialProportionalAlignment: typeof GaugeRadialProportionalAlignment;
74
- GaugeRadialProportionalPriority: typeof GaugeRadialProportionalPriority;
75
- GaugeRadialProportionalAdvice: typeof GaugeRadialProportionalAdvice;
101
+ GaugeProportionalSector: typeof GaugeProportionalSector;
102
+ GaugeProportionalAlignment: typeof GaugeProportionalAlignment;
103
+ GaugeProportionalPriority: typeof GaugeProportionalPriority;
104
+ GaugeProportionalAdvice: typeof GaugeProportionalAdvice;
76
105
  TickmarkStyle: typeof TickmarkStyle;
77
106
  }, "">;
78
- type ObcGaugeRadialProportional = ReturnType<typeof ObcGaugeRadialProportional>;
79
- export default ObcGaugeRadialProportional;
107
+ type ObcGaugeProportional = ReturnType<typeof ObcGaugeProportional>;
108
+ export default ObcGaugeProportional;
@@ -54,6 +54,8 @@ import type {RotType, RotPosition} from '@oicl/openbridge-webcomponents/dist/nav
54
54
  barAreas?: WatchBarArea[];
55
55
  /** Rounds the band track's sector end cuts at the band's own radii and clips bars to that rounded track shape (the design's track-mask model), instead of the joint silhouette cut shared with the scale ring. No effect without `areas`. */
56
56
  roundBandCuts?: boolean;
57
+ /** With `watchCircleType: double`, render the band as the split primary/secondary lane tracks (secondary-lane geometry) instead of the joint band; bars clip to the primary lane. Takes precedence over `roundBandCuts` for the band. */
58
+ splitBand?: boolean;
57
59
  needles?: WatchNeedle[];
58
60
  tickmarks?: Tickmark[];
59
61
  tickmarksInside?: boolean;
@@ -44,6 +44,8 @@ export interface Props {
44
44
  barAreas?: WatchBarArea[];
45
45
  /** Rounds the band track's sector end cuts at the band's own radii and clips bars to that rounded track shape (the design's track-mask model), instead of the joint silhouette cut shared with the scale ring. No effect without `areas`. */
46
46
  roundBandCuts?: boolean;
47
+ /** With `watchCircleType: double`, render the band as the split primary/secondary lane tracks (secondary-lane geometry) instead of the joint band; bars clip to the primary lane. Takes precedence over `roundBandCuts` for the band. */
48
+ splitBand?: boolean;
47
49
  needles?: WatchNeedle[];
48
50
  tickmarks?: Tickmark[];
49
51
  tickmarksInside?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oicl/openbridge-webcomponents-svelte",
3
- "version": "2.0.0-next.133",
3
+ "version": "2.0.0-next.135",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build && npm run prepack",
@@ -31,7 +31,7 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@oicl/openbridge-webcomponents": "^2.0.0-next.133"
34
+ "@oicl/openbridge-webcomponents": "^2.0.0-next.135"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "svelte": "^5.0.0"