@oicl/openbridge-webcomponents-svelte 2.0.0-next.15 → 2.0.0-next.17

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.
package/dist/index.d.ts CHANGED
@@ -2183,5 +2183,6 @@ export { default as ObcWatch } from './navigation-instruments/watch/ObcWatch.sve
2183
2183
  export { default as ObcWatchFlat } from './navigation-instruments/watch-flat/ObcWatchFlat.svelte';
2184
2184
  export { default as ObcWind } from './navigation-instruments/wind/ObcWind.svelte';
2185
2185
  export { default as ObcWindIndicator } from './navigation-instruments/wind-indicator/ObcWindIndicator.svelte';
2186
+ export { default as ObcWindPropulsion } from './navigation-instruments/wind-propulsion/ObcWindPropulsion.svelte';
2186
2187
  export { default as ObcAlertDetailPage } from './pages/alert-detail-page/ObcAlertDetailPage.svelte';
2187
2188
  export { default as ObcAlertListPageSmall } from './pages/alert-list-page-small/ObcAlertListPageSmall.svelte';
package/dist/index.js CHANGED
@@ -2183,5 +2183,6 @@ export { default as ObcWatch } from './navigation-instruments/watch/ObcWatch.sve
2183
2183
  export { default as ObcWatchFlat } from './navigation-instruments/watch-flat/ObcWatchFlat.svelte';
2184
2184
  export { default as ObcWind } from './navigation-instruments/wind/ObcWind.svelte';
2185
2185
  export { default as ObcWindIndicator } from './navigation-instruments/wind-indicator/ObcWindIndicator.svelte';
2186
+ export { default as ObcWindPropulsion } from './navigation-instruments/wind-propulsion/ObcWindPropulsion.svelte';
2186
2187
  export { default as ObcAlertDetailPage } from './pages/alert-detail-page/ObcAlertDetailPage.svelte';
2187
2188
  export { default as ObcAlertListPageSmall } from './pages/alert-list-page-small/ObcAlertListPageSmall.svelte';
@@ -32,10 +32,26 @@ import type {InstrumentState, Priority} from '@oicl/openbridge-webcomponents/dis
32
32
  currentSpeed?: number | null;
33
33
  currentFromDirection?: number | null;
34
34
  vesselImage?: VesselImage;
35
+ /** Measured rate of turn in degrees per minute (positive = starboard).
36
+ Drives both the bar extent and (after multiplication by
37
+ `rotDotAnimationFactor`) the spinning dot animation.
38
+ When `undefined`, falls back to the deprecated `rotationsPerMinute`. */
39
+ rateOfTurnDegreesPerMinute?: number | undefined;
40
+ /** Visual amplification applied only to the spinning dot animation
41
+ (not to the bar extent). Default `18` keeps the legacy visual feel
42
+ (≈1 rpm at 20°/min). */
43
+ rotDotAnimationFactor?: number;
35
44
  rotationsPerMinute?: number;
36
45
  rotType?: RotType;
37
46
  rotPosition?: RotPosition;
38
- rotMaxValue?: number;
47
+ /** Bar-extent reference value in **degrees per minute**. The bar fills the
48
+ full ±`rotArcExtent` arc when the measured ROT equals ±`rotMaxValue`.
49
+ Default `60` aligns with ES-TRIN 2025/1 Art. 3.02.
50
+
51
+ Note: prior to the introduction of `rateOfTurnDegreesPerMinute` this
52
+ property was interpreted in rotations per minute. The unit changed when
53
+ the physical ROT API was introduced. */
54
+ rotMaxValue?: number;
39
55
  rotArcExtent?: number;
40
56
  rotPortStarboard?: boolean;
41
57
  rotAtZeroDeadband?: number;
@@ -24,9 +24,25 @@ export interface Props {
24
24
  currentSpeed?: number | null;
25
25
  currentFromDirection?: number | null;
26
26
  vesselImage?: VesselImage;
27
+ /** Measured rate of turn in degrees per minute (positive = starboard).
28
+ Drives both the bar extent and (after multiplication by
29
+ `rotDotAnimationFactor`) the spinning dot animation.
30
+ When `undefined`, falls back to the deprecated `rotationsPerMinute`. */
31
+ rateOfTurnDegreesPerMinute?: number | undefined;
32
+ /** Visual amplification applied only to the spinning dot animation
33
+ (not to the bar extent). Default `18` keeps the legacy visual feel
34
+ (≈1 rpm at 20°/min). */
35
+ rotDotAnimationFactor?: number;
27
36
  rotationsPerMinute?: number;
28
37
  rotType?: RotType;
29
38
  rotPosition?: RotPosition;
39
+ /** Bar-extent reference value in **degrees per minute**. The bar fills the
40
+ full ±`rotArcExtent` arc when the measured ROT equals ±`rotMaxValue`.
41
+ Default `60` aligns with ES-TRIN 2025/1 Art. 3.02.
42
+
43
+ Note: prior to the introduction of `rateOfTurnDegreesPerMinute` this
44
+ property was interpreted in rotations per minute. The unit changed when
45
+ the physical ROT API was introduced. */
30
46
  rotMaxValue?: number;
31
47
  rotArcExtent?: number;
32
48
  rotPortStarboard?: boolean;
@@ -23,8 +23,15 @@ import type {RotType} from '@oicl/openbridge-webcomponents/dist/navigation-instr
23
23
  priority?: Priority;
24
24
  priorityElements?: CompassFlatPriorityElement[];
25
25
  rotType?: RotType | undefined;
26
+ /** Measured rate of turn in degrees per minute (positive = starboard).
27
+ When `undefined`, falls back to the deprecated `rotationsPerMinute`. */
28
+ rateOfTurnDegreesPerMinute?: number | undefined;
29
+ /** Visual amplification applied only to the spinning dot animation. */
30
+ rotDotAnimationFactor?: number;
26
31
  rotationsPerMinute?: number;
27
- rotMaxValue?: number;
32
+ /** Bar-extent reference value in **degrees per minute**. Default `60`
33
+ per ES-TRIN 2025/1 Art. 3.02. */
34
+ rotMaxValue?: number;
28
35
  rotArcExtent?: number;
29
36
  rotPortStarboard?: boolean;
30
37
  rotAtZeroDeadband?: number
@@ -16,7 +16,14 @@ export interface Props {
16
16
  priority?: Priority;
17
17
  priorityElements?: CompassFlatPriorityElement[];
18
18
  rotType?: RotType | undefined;
19
+ /** Measured rate of turn in degrees per minute (positive = starboard).
20
+ When `undefined`, falls back to the deprecated `rotationsPerMinute`. */
21
+ rateOfTurnDegreesPerMinute?: number | undefined;
22
+ /** Visual amplification applied only to the spinning dot animation. */
23
+ rotDotAnimationFactor?: number;
19
24
  rotationsPerMinute?: number;
25
+ /** Bar-extent reference value in **degrees per minute**. Default `60`
26
+ per ES-TRIN 2025/1 Art. 3.02. */
20
27
  rotMaxValue?: number;
21
28
  rotArcExtent?: number;
22
29
  rotPortStarboard?: boolean;
@@ -30,8 +30,23 @@ import type {CompassSectorPriorityElement} from '@oicl/openbridge-webcomponents/
30
30
  minFOV?: number;
31
31
  rotType?: RotType | undefined;
32
32
  rotPosition?: RotPosition;
33
+ /** Measured rate of turn in degrees per minute (positive = starboard).
34
+ Drives both the bar extent and (after multiplication by
35
+ `rotDotAnimationFactor`) the spinning dot animation. When `undefined`,
36
+ falls back to the deprecated `rotationsPerMinute`. */
37
+ rateOfTurnDegreesPerMinute?: number | undefined;
38
+ /** Visual amplification applied only to the spinning dot animation
39
+ (not to the bar extent). Default `18` keeps the legacy visual feel
40
+ (≈1 rpm at 20°/min). */
41
+ rotDotAnimationFactor?: number;
33
42
  rotationsPerMinute?: number;
34
- rotMaxValue?: number;
43
+ /** Bar-extent reference value in **degrees per minute**. The bar fills the
44
+ full ±`ARC_HALF_EXTENT` arc when the measured ROT equals
45
+ ±`rotMaxValue`. Default `60` aligns with ES-TRIN 2025/1 Art. 3.02.
46
+
47
+ Note: the unit changed from rotations per minute to degrees per minute
48
+ with the introduction of `rateOfTurnDegreesPerMinute`. */
49
+ rotMaxValue?: number;
35
50
  rotPortStarboard?: boolean;
36
51
  rotAtZeroDeadband?: number;
37
52
  state?: InstrumentState;
@@ -22,7 +22,22 @@ export interface Props {
22
22
  minFOV?: number;
23
23
  rotType?: RotType | undefined;
24
24
  rotPosition?: RotPosition;
25
+ /** Measured rate of turn in degrees per minute (positive = starboard).
26
+ Drives both the bar extent and (after multiplication by
27
+ `rotDotAnimationFactor`) the spinning dot animation. When `undefined`,
28
+ falls back to the deprecated `rotationsPerMinute`. */
29
+ rateOfTurnDegreesPerMinute?: number | undefined;
30
+ /** Visual amplification applied only to the spinning dot animation
31
+ (not to the bar extent). Default `18` keeps the legacy visual feel
32
+ (≈1 rpm at 20°/min). */
33
+ rotDotAnimationFactor?: number;
25
34
  rotationsPerMinute?: number;
35
+ /** Bar-extent reference value in **degrees per minute**. The bar fills the
36
+ full ±`ARC_HALF_EXTENT` arc when the measured ROT equals
37
+ ±`rotMaxValue`. Default `60` aligns with ES-TRIN 2025/1 Art. 3.02.
38
+
39
+ Note: the unit changed from rotations per minute to degrees per minute
40
+ with the introduction of `rateOfTurnDegreesPerMinute`. */
26
41
  rotMaxValue?: number;
27
42
  rotPortStarboard?: boolean;
28
43
  rotAtZeroDeadband?: number;
@@ -11,6 +11,12 @@ import type {Priority} from '@oicl/openbridge-webcomponents/dist/navigation-inst
11
11
  export interface Props {
12
12
  class?: string;
13
13
  style?: string;
14
+ /** Measured rate of turn in degrees per minute (positive = starboard).
15
+ When `undefined`, the legacy `rotationsPerMinute` value is used. */
16
+ rateOfTurnDegreesPerMinute?: number | undefined;
17
+ /** Visual amplification applied to the spinning dot animation. Default `18`
18
+ keeps the legacy visual feel (≈1 rpm at 20°/min). */
19
+ rotDotAnimationFactor?: number;
14
20
  rotationsPerMinute?: number;
15
21
  rotType?: RotType;
16
22
  rotPosition?: RotPosition;
@@ -5,6 +5,12 @@ import type { Snippet } from 'svelte';
5
5
  export interface Props {
6
6
  class?: string;
7
7
  style?: string;
8
+ /** Measured rate of turn in degrees per minute (positive = starboard).
9
+ When `undefined`, the legacy `rotationsPerMinute` value is used. */
10
+ rateOfTurnDegreesPerMinute?: number | undefined;
11
+ /** Visual amplification applied to the spinning dot animation. Default `18`
12
+ keeps the legacy visual feel (≈1 rpm at 20°/min). */
13
+ rotDotAnimationFactor?: number;
8
14
  rotationsPerMinute?: number;
9
15
  rotType?: RotType;
10
16
  rotPosition?: RotPosition;
@@ -9,6 +9,16 @@
9
9
  export interface Props {
10
10
  class?: string;
11
11
  style?: string;
12
+ /** Measured rate of turn in degrees per minute (positive = starboard).
13
+
14
+ Drives the spinner animation via `(rateOfTurnDegreesPerMinute / 360) *
15
+ rotDotAnimationFactor` rotations per minute. When `undefined` the legacy
16
+ `rotationsPerMinute` value is used instead. */
17
+ rateOfTurnDegreesPerMinute?: number | undefined;
18
+ /** Visual amplification applied to the spinning dot animation. Default `18`
19
+ keeps the legacy visual feel (≈1 rpm at 20°/min). Has no effect when
20
+ the legacy `rotationsPerMinute` API is used. */
21
+ rotDotAnimationFactor?: number;
12
22
  rotationsPerMinute?: number
13
23
  }
14
24
  export interface Events {
@@ -3,6 +3,16 @@ import type { Snippet } from 'svelte';
3
3
  export interface Props {
4
4
  class?: string;
5
5
  style?: string;
6
+ /** Measured rate of turn in degrees per minute (positive = starboard).
7
+
8
+ Drives the spinner animation via `(rateOfTurnDegreesPerMinute / 360) *
9
+ rotDotAnimationFactor` rotations per minute. When `undefined` the legacy
10
+ `rotationsPerMinute` value is used instead. */
11
+ rateOfTurnDegreesPerMinute?: number | undefined;
12
+ /** Visual amplification applied to the spinning dot animation. Default `18`
13
+ keeps the legacy visual feel (≈1 rpm at 20°/min). Has no effect when
14
+ the legacy `rotationsPerMinute` API is used. */
15
+ rotDotAnimationFactor?: number;
6
16
  rotationsPerMinute?: number;
7
17
  }
8
18
  export interface Events {
@@ -64,7 +64,9 @@ import type {RotType, RotPosition} from '@oicl/openbridge-webcomponents/dist/nav
64
64
  rotEndAngle?: number;
65
65
  rotPriority?: Priority | undefined;
66
66
  rotPortStarboard?: boolean;
67
- rotAtZeroDeadband?: number
67
+ rotAtZeroDeadband?: number;
68
+ rateOfTurnDegreesPerMinute?: number | undefined;
69
+ rotDotAnimationFactor?: number
68
70
  }
69
71
  export interface Events {
70
72
 
@@ -55,6 +55,8 @@ export interface Props {
55
55
  rotPriority?: Priority | undefined;
56
56
  rotPortStarboard?: boolean;
57
57
  rotAtZeroDeadband?: number;
58
+ rateOfTurnDegreesPerMinute?: number | undefined;
59
+ rotDotAnimationFactor?: number;
58
60
  }
59
61
  export interface Events {
60
62
  }
@@ -43,7 +43,9 @@ derived from the current scale (e.g. `LINEAR_DOT_ANGLE_SPACING * translationScal
43
43
  rotDotSpacing?: number;
44
44
  rotPriority?: Priority;
45
45
  rotPortStarboard?: boolean;
46
- rotAtZeroDeadband?: number
46
+ rotAtZeroDeadband?: number;
47
+ rateOfTurnDegreesPerMinute?: number | undefined;
48
+ rotDotAnimationFactor?: number
47
49
  }
48
50
  export interface Events {
49
51
 
@@ -35,6 +35,8 @@ derived from the current scale (e.g. `LINEAR_DOT_ANGLE_SPACING * translationScal
35
35
  rotPriority?: Priority;
36
36
  rotPortStarboard?: boolean;
37
37
  rotAtZeroDeadband?: number;
38
+ rateOfTurnDegreesPerMinute?: number | undefined;
39
+ rotDotAnimationFactor?: number;
38
40
  }
39
41
  export interface Events {
40
42
  }
@@ -0,0 +1,62 @@
1
+
2
+ <script lang="ts">
3
+ export type {SailType} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/sail-type.js';
4
+ export type {InstrumentState, Priority} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
5
+ export type {WindPropulsionPriorityElement} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/wind-propulsion/wind-propulsion.js';
6
+ export type {TickmarkStyle} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
7
+ export type {AngleAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/advice.js';
8
+ import '@oicl/openbridge-webcomponents/dist/navigation-instruments/wind-propulsion/wind-propulsion.js';
9
+ import { setProperties } from "../../util.js";
10
+ import type {SailType} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/sail-type.js';
11
+ import type {InstrumentState, Priority} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
12
+ import type {WindPropulsionPriorityElement} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/wind-propulsion/wind-propulsion.js';
13
+ import type {TickmarkStyle} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
14
+ import type {AngleAdvice} from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/advice.js';
15
+ import type { Snippet } from 'svelte';
16
+
17
+ export interface Props {
18
+ class?: string;
19
+ style?: string;
20
+ forceAngle?: number;
21
+ sailAngle?: number;
22
+ sailAngleSetpoint?: number | undefined;
23
+ newSailAngleSetpoint?: number | undefined;
24
+ atSailAngleSetpoint?: boolean;
25
+ autoAtSailAngleSetpoint?: boolean;
26
+ autoAtSailAngleSetpointDeadband?: number;
27
+ sailAngleSetpointAtZeroDeadband?: number;
28
+ sailAngleSetpointOverride?: boolean;
29
+ animateSetpoint?: boolean;
30
+ touching?: boolean;
31
+ force?: number;
32
+ maxForce?: number;
33
+ sailType?: SailType;
34
+ state?: InstrumentState;
35
+ priority?: Priority;
36
+ priorityElements?: WindPropulsionPriorityElement[];
37
+ showLabels?: boolean;
38
+ tickmarksInside?: boolean;
39
+ tickmarkStyle?: TickmarkStyle;
40
+ currentWindSpeedBeaufort?: number | null;
41
+ currentWindFromDirection?: number | null;
42
+ sailAngleAdvices?: AngleAdvice[]
43
+ }
44
+ export interface Events {
45
+ onNone?: (event: CustomEvent<unknown>) => void
46
+ }
47
+ export interface Slots {
48
+ children?: Snippet
49
+ }
50
+ const {onNone, class: className, style, children, ...props} = $props<Props & Events & Slots>();
51
+
52
+ </script>
53
+ <obc-wind-propulsion
54
+ use:setProperties={props}
55
+ class={className}
56
+ style={style}
57
+ onNone={onNone} >
58
+
59
+ {#if children}
60
+ {@render children()}
61
+ {/if}
62
+ </obc-wind-propulsion>
@@ -0,0 +1,51 @@
1
+ import '@oicl/openbridge-webcomponents/dist/navigation-instruments/wind-propulsion/wind-propulsion.js';
2
+ import type { SailType } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/sail-type.js';
3
+ import type { InstrumentState, Priority } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/types.js';
4
+ import type { WindPropulsionPriorityElement } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/wind-propulsion/wind-propulsion.js';
5
+ import type { TickmarkStyle } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/tickmark.js';
6
+ import type { AngleAdvice } from '@oicl/openbridge-webcomponents/dist/navigation-instruments/watch/advice.js';
7
+ import type { Snippet } from 'svelte';
8
+ export interface Props {
9
+ class?: string;
10
+ style?: string;
11
+ forceAngle?: number;
12
+ sailAngle?: number;
13
+ sailAngleSetpoint?: number | undefined;
14
+ newSailAngleSetpoint?: number | undefined;
15
+ atSailAngleSetpoint?: boolean;
16
+ autoAtSailAngleSetpoint?: boolean;
17
+ autoAtSailAngleSetpointDeadband?: number;
18
+ sailAngleSetpointAtZeroDeadband?: number;
19
+ sailAngleSetpointOverride?: boolean;
20
+ animateSetpoint?: boolean;
21
+ touching?: boolean;
22
+ force?: number;
23
+ maxForce?: number;
24
+ sailType?: SailType;
25
+ state?: InstrumentState;
26
+ priority?: Priority;
27
+ priorityElements?: WindPropulsionPriorityElement[];
28
+ showLabels?: boolean;
29
+ tickmarksInside?: boolean;
30
+ tickmarkStyle?: TickmarkStyle;
31
+ currentWindSpeedBeaufort?: number | null;
32
+ currentWindFromDirection?: number | null;
33
+ sailAngleAdvices?: AngleAdvice[];
34
+ }
35
+ export interface Events {
36
+ onNone?: (event: CustomEvent<unknown>) => void;
37
+ }
38
+ export interface Slots {
39
+ children?: Snippet;
40
+ }
41
+ type $$ComponentProps = Props & Events & Slots;
42
+ declare const ObcWindPropulsion: import("svelte").Component<$$ComponentProps, {
43
+ SailType: typeof SailType;
44
+ InstrumentState: typeof InstrumentState;
45
+ Priority: typeof Priority;
46
+ WindPropulsionPriorityElement: typeof WindPropulsionPriorityElement;
47
+ TickmarkStyle: typeof TickmarkStyle;
48
+ AngleAdvice: typeof AngleAdvice;
49
+ }, "">;
50
+ type ObcWindPropulsion = ReturnType<typeof ObcWindPropulsion>;
51
+ export default ObcWindPropulsion;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oicl/openbridge-webcomponents-svelte",
3
- "version": "2.0.0-next.15",
3
+ "version": "2.0.0-next.17",
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.14"
34
+ "@oicl/openbridge-webcomponents": "^2.0.0-next.16"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "svelte": "^5.0.0"