@oicl/openbridge-webcomponents 0.0.15-dev-20241112205851 → 0.0.15-dev-20241119201940
Sign up to get free protection for your applications and to get access to all the features.
- package/.storybook/main.ts +2 -1
- package/.storybook/manager.ts +16 -0
- package/.storybook/preview.ts +0 -1
- package/__snapshots__/building-blocks-poi-graphic-line--primary.png +0 -0
- package/__snapshots__/building-blocks-poi-line--primary.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--active-at-setpoint.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--active-no-setpoint.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--active.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--in-command-at-setpoint-disable-auto-setpoint.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--in-command-at-setpoint.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--in-command.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--loading.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--off.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--pod.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--single-direction-with-propeller.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster--single-direction.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster-labeled--large.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster-labeled--medium.png +0 -0
- package/__snapshots__/navigation-instruments-azimuth-thruster-labeled--no-command.png +0 -0
- package/__snapshots__/navigation-instruments-compass--primary.png +0 -0
- package/__snapshots__/navigation-instruments-compass-flat--primary.png +0 -0
- package/__snapshots__/navigation-instruments-compass-flat--with-fov-indicator.png +0 -0
- package/__snapshots__/navigation-instruments-main-engine--active.png +0 -0
- package/__snapshots__/navigation-instruments-main-engine--in-command.png +0 -0
- package/__snapshots__/navigation-instruments-main-engine--off.png +0 -0
- package/__snapshots__/navigation-instruments-poi-target--primary.png +0 -0
- package/__snapshots__/navigation-instruments-rudder--primary.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--active-at-setpoint.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--active.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--in-command-at-setpoint-manual.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--in-command-at-setpoint.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--in-command-touching.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--in-command.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--loading.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--no-setpoint.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--off.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--pulling-pod.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--pushing-pod.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--single-direction-single-sided-with-advice.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--single-direction.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--single-sided-with-advice.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--single-sided.png +0 -0
- package/__snapshots__/navigation-instruments-thruster--tunnel.png +0 -0
- package/custom-elements.json +19 -64
- package/dist/automation/automation-tank/automation-tank.d.ts +7 -0
- package/dist/automation/automation-tank/automation-tank.d.ts.map +1 -1
- package/dist/automation/automation-tank/automation-tank.js.map +1 -1
- package/dist/navigation-instruments/compass/compass.d.ts +7 -6
- package/dist/navigation-instruments/compass/compass.d.ts.map +1 -1
- package/dist/navigation-instruments/compass/compass.js +12 -33
- package/dist/navigation-instruments/compass/compass.js.map +1 -1
- package/dist/navigation-instruments/compass-flat/compass-flat.css.js +2 -1
- package/dist/navigation-instruments/compass-flat/compass-flat.css.js.map +1 -1
- package/dist/navigation-instruments/compass-flat/compass-flat.d.ts +6 -0
- package/dist/navigation-instruments/compass-flat/compass-flat.d.ts.map +1 -1
- package/dist/navigation-instruments/compass-flat/compass-flat.js +10 -2
- package/dist/navigation-instruments/compass-flat/compass-flat.js.map +1 -1
- package/dist/storybook-util.d.ts +1 -1
- package/dist/storybook-util.d.ts.map +1 -1
- package/dist/storybook-util.js +3 -28
- package/dist/storybook-util.js.map +1 -1
- package/package.json +14 -13
- package/src/automation/automation-button/automation-button.stories.ts +4 -0
- package/src/automation/automation-tank/automation-tank.ts +7 -0
- package/src/components/top-bar/top-bar.stories.ts +1 -0
- package/src/icons.stories.ts +3 -0
- package/src/navigation-instruments/azimuth-thruster/azimuth-thruster.stories.ts +3 -3
- package/src/navigation-instruments/azimuth-thruster-labeled/azimuth-thruster-labeled.stories.ts +3 -3
- package/src/navigation-instruments/compass/compass.stories.ts +3 -3
- package/src/navigation-instruments/compass/compass.ts +17 -27
- package/src/navigation-instruments/compass-flat/compass-flat.css +2 -1
- package/src/navigation-instruments/compass-flat/compass-flat.stories.ts +5 -4
- package/src/navigation-instruments/compass-flat/compass-flat.ts +13 -2
- package/src/navigation-instruments/main-engine/main-engine.stories.ts +3 -3
- package/src/navigation-instruments/poi-graphic-line/poi-graphic-line.stories.ts +2 -3
- package/src/navigation-instruments/poi-line/poi-line.stories.ts +1 -4
- package/src/navigation-instruments/poi-target/poi-target.stories.ts +1 -3
- package/src/navigation-instruments/rudder/rudder.stories.ts +3 -3
- package/src/navigation-instruments/thruster/thruster.stories.ts +3 -3
- package/src/storybook-util.ts +4 -29
package/.storybook/main.ts
CHANGED
@@ -10,7 +10,8 @@ const config: StorybookConfig = {
|
|
10
10
|
getAbsolutePath('@storybook/addon-themes'),
|
11
11
|
getAbsolutePath('@storybook/addon-interactions'),
|
12
12
|
getAbsolutePath('@storybook/addon-storysource'),
|
13
|
-
'
|
13
|
+
getAbsolutePath('storybook-addon-tag-badges'),
|
14
|
+
getAbsolutePath('@chromatic-com/storybook'),
|
14
15
|
],
|
15
16
|
|
16
17
|
framework: {
|
package/.storybook/manager.ts
CHANGED
@@ -3,4 +3,20 @@ import obTheme from './openbridgeTheme';
|
|
3
3
|
|
4
4
|
addons.setConfig({
|
5
5
|
theme: obTheme,
|
6
|
+
tagBadges: [
|
7
|
+
// Add an entry that matches 'frog' and displays a cool badge in the sidebar only
|
8
|
+
{
|
9
|
+
tags: '6.0',
|
10
|
+
badge: {
|
11
|
+
text: '6.0 Beta',
|
12
|
+
bgColor: '#0070d6',
|
13
|
+
fgColor: '#fff',
|
14
|
+
tooltip: 'OpenBridge 6.0 Beta',
|
15
|
+
},
|
16
|
+
display: {
|
17
|
+
sidebar: ['component'],
|
18
|
+
toolbar: true,
|
19
|
+
},
|
20
|
+
},
|
21
|
+
],
|
6
22
|
});
|
package/.storybook/preview.ts
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/__snapshots__/navigation-instruments-azimuth-thruster--single-direction-with-propeller.png
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/__snapshots__/navigation-instruments-thruster--single-direction-single-sided-with-advice.png
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/custom-elements.json
CHANGED
@@ -84,24 +84,7 @@
|
|
84
84
|
{
|
85
85
|
"name": "context",
|
86
86
|
"type": {
|
87
|
-
"text": "{args: {width: number}}"
|
88
|
-
}
|
89
|
-
}
|
90
|
-
]
|
91
|
-
},
|
92
|
-
{
|
93
|
-
"kind": "function",
|
94
|
-
"name": "beta6Decorator",
|
95
|
-
"return": {
|
96
|
-
"type": {
|
97
|
-
"text": "HTMLTemplateResult"
|
98
|
-
}
|
99
|
-
},
|
100
|
-
"parameters": [
|
101
|
-
{
|
102
|
-
"name": "story",
|
103
|
-
"type": {
|
104
|
-
"text": "() => unknown"
|
87
|
+
"text": "{args: {width: number; height?: number}}"
|
105
88
|
}
|
106
89
|
}
|
107
90
|
]
|
@@ -139,14 +122,6 @@
|
|
139
122
|
"name": "widthDecorator",
|
140
123
|
"module": "src/storybook-util.ts"
|
141
124
|
}
|
142
|
-
},
|
143
|
-
{
|
144
|
-
"kind": "js",
|
145
|
-
"name": "beta6Decorator",
|
146
|
-
"declaration": {
|
147
|
-
"name": "beta6Decorator",
|
148
|
-
"module": "src/storybook-util.ts"
|
149
|
-
}
|
150
125
|
}
|
151
126
|
]
|
152
127
|
},
|
@@ -242,6 +217,12 @@
|
|
242
217
|
}
|
243
218
|
]
|
244
219
|
},
|
220
|
+
{
|
221
|
+
"kind": "javascript-module",
|
222
|
+
"path": "src/navigation-instruments/types.ts",
|
223
|
+
"declarations": [],
|
224
|
+
"exports": []
|
225
|
+
},
|
245
226
|
{
|
246
227
|
"kind": "javascript-module",
|
247
228
|
"path": "src/icons/icon-01-add.ts",
|
@@ -38216,12 +38197,6 @@
|
|
38216
38197
|
}
|
38217
38198
|
]
|
38218
38199
|
},
|
38219
|
-
{
|
38220
|
-
"kind": "javascript-module",
|
38221
|
-
"path": "src/navigation-instruments/types.ts",
|
38222
|
-
"declarations": [],
|
38223
|
-
"exports": []
|
38224
|
-
},
|
38225
38200
|
{
|
38226
38201
|
"kind": "javascript-module",
|
38227
38202
|
"path": "src/svghelpers/circle.ts",
|
@@ -44526,15 +44501,6 @@
|
|
44526
44501
|
"default": "0",
|
44527
44502
|
"attribute": "courseOverGround"
|
44528
44503
|
},
|
44529
|
-
{
|
44530
|
-
"kind": "field",
|
44531
|
-
"name": "padding",
|
44532
|
-
"type": {
|
44533
|
-
"text": "number"
|
44534
|
-
},
|
44535
|
-
"default": "48",
|
44536
|
-
"attribute": "padding"
|
44537
|
-
},
|
44538
44504
|
{
|
44539
44505
|
"kind": "field",
|
44540
44506
|
"name": "headingAdvices",
|
@@ -44545,24 +44511,13 @@
|
|
44545
44511
|
},
|
44546
44512
|
{
|
44547
44513
|
"kind": "field",
|
44548
|
-
"name": "
|
44549
|
-
"type": {
|
44550
|
-
"text": "number"
|
44551
|
-
},
|
44552
|
-
"default": "0"
|
44553
|
-
},
|
44554
|
-
{
|
44555
|
-
"kind": "field",
|
44556
|
-
"name": "resizeObserver",
|
44557
|
-
"type": {
|
44558
|
-
"text": "ResizeObserver"
|
44559
|
-
},
|
44514
|
+
"name": "_resizeController",
|
44560
44515
|
"privacy": "private",
|
44561
|
-
"default": "new
|
44516
|
+
"default": "new ResizeController(this, {})"
|
44562
44517
|
},
|
44563
44518
|
{
|
44564
44519
|
"kind": "method",
|
44565
|
-
"name": "
|
44520
|
+
"name": "getPadding",
|
44566
44521
|
"privacy": "private"
|
44567
44522
|
},
|
44568
44523
|
{
|
@@ -44591,14 +44546,6 @@
|
|
44591
44546
|
},
|
44592
44547
|
"default": "0",
|
44593
44548
|
"fieldName": "courseOverGround"
|
44594
|
-
},
|
44595
|
-
{
|
44596
|
-
"name": "padding",
|
44597
|
-
"type": {
|
44598
|
-
"text": "number"
|
44599
|
-
},
|
44600
|
-
"default": "48",
|
44601
|
-
"fieldName": "padding"
|
44602
44549
|
}
|
44603
44550
|
],
|
44604
44551
|
"superclass": {
|
@@ -44771,6 +44718,14 @@
|
|
44771
44718
|
},
|
44772
44719
|
"default": "0"
|
44773
44720
|
},
|
44721
|
+
{
|
44722
|
+
"kind": "field",
|
44723
|
+
"name": "maxContainerWidth",
|
44724
|
+
"type": {
|
44725
|
+
"text": "number"
|
44726
|
+
},
|
44727
|
+
"default": "0"
|
44728
|
+
},
|
44774
44729
|
{
|
44775
44730
|
"kind": "field",
|
44776
44731
|
"name": "resizeObserver",
|
@@ -44778,7 +44733,7 @@
|
|
44778
44733
|
"text": "ResizeObserver"
|
44779
44734
|
},
|
44780
44735
|
"privacy": "private",
|
44781
|
-
"default": "new ResizeObserver((entries) => {\n for (const entry of entries) {\n this.containerWidth = entry.contentRect.width;\n }\n })"
|
44736
|
+
"default": "new ResizeObserver((entries) => {\n for (const entry of entries) {\n // Made by chatGPT so that the text is inside the wrapper\n this.maxContainerWidth = -125.36 + 3.79 * entry.contentRect.height;\n this.containerWidth = Math.min(\n entry.contentRect.width,\n this.maxContainerWidth\n );\n }\n })"
|
44782
44737
|
},
|
44783
44738
|
{
|
44784
44739
|
"kind": "method",
|
@@ -16,6 +16,13 @@ export declare enum TankVariant {
|
|
16
16
|
vertical = "vertical",
|
17
17
|
compact = "compact"
|
18
18
|
}
|
19
|
+
/**
|
20
|
+
*
|
21
|
+
*
|
22
|
+
* @ignition-base-height: 173px
|
23
|
+
* @ignition-base-width: 168px
|
24
|
+
* @ignition-center
|
25
|
+
*/
|
19
26
|
export declare class ObcAutomationTank extends LitElement {
|
20
27
|
medium: LineMedium;
|
21
28
|
value: number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"automation-tank.d.ts","sourceRoot":"","sources":["../../../src/automation/automation-tank/automation-tank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAGpE,OAAO,EAAC,UAAU,EAAC,MAAM,IAAI,CAAC;AAE9B,OAAO,uCAAuC,CAAC;AAC/C,OAAO,gCAAgC,CAAC;AACxC,OAAO,yCAAyC,CAAC;AACjD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,yBAAyB,CAAC;AAGjC,oBAAY,SAAS;IACnB,UAAU,gBAAgB;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,WAAW,iBAAiB;CAC7B;AAED,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,qBACa,iBAAkB,SAAQ,UAAU;IACrB,MAAM,EAAE,UAAU,CAAoB;IACtC,KAAK,EAAE,MAAM,CAAK;IAClB,GAAG,EAAE,MAAM,CAAO;IAClB,KAAK,EAAE,SAAS,CAAoB;IACpC,OAAO,EAAE,WAAW,CAAwB;IAC5C,GAAG,EAAE,MAAM,CAAM;IAE3C,SAAS,IAAI,kBAAkB;IAoBtB,MAAM;IA8Cf,OAAgB,MAAM,0BAA2B;CAClD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
|
1
|
+
{"version":3,"file":"automation-tank.d.ts","sourceRoot":"","sources":["../../../src/automation/automation-tank/automation-tank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAGpE,OAAO,EAAC,UAAU,EAAC,MAAM,IAAI,CAAC;AAE9B,OAAO,uCAAuC,CAAC;AAC/C,OAAO,gCAAgC,CAAC;AACxC,OAAO,yCAAyC,CAAC;AACjD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,yBAAyB,CAAC;AAGjC,oBAAY,SAAS;IACnB,UAAU,gBAAgB;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,WAAW,iBAAiB;CAC7B;AAED,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED;;;;;;GAMG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IACrB,MAAM,EAAE,UAAU,CAAoB;IACtC,KAAK,EAAE,MAAM,CAAK;IAClB,GAAG,EAAE,MAAM,CAAO;IAClB,KAAK,EAAE,SAAS,CAAoB;IACpC,OAAO,EAAE,WAAW,CAAwB;IAC5C,GAAG,EAAE,MAAM,CAAM;IAE3C,SAAS,IAAI,kBAAkB;IAoBtB,MAAM;IA8Cf,OAAgB,MAAM,0BAA2B;CAClD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"automation-tank.js","sources":["../../../src/automation/automation-tank/automation-tank.ts"],"sourcesContent":["import {HTMLTemplateResult, LitElement, html, unsafeCSS} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport compentStyle from './automation-tank.css?inline';\nimport {LineMedium} from '..';\n\nimport '../../icons/icon-02-chevron-double-up';\nimport '../../icons/icon-02-chevron-up';\nimport '../../icons/icon-02-chevron-double-down';\nimport '../../icons/icon-02-chevron-down';\nimport '../../icons/icon-01-off';\nimport {classMap} from 'lit/directives/class-map.js';\n\nexport enum TankTrend {\n fastRising = 'fast-rising',\n rising = 'rising',\n stable = 'stable',\n falling = 'falling',\n fastFalling = 'fast-falling',\n}\n\nexport enum TankVariant {\n vertical = 'vertical',\n compact = 'compact',\n}\n\n@customElement('obc-automation-tank')\nexport class ObcAutomationTank extends LitElement {\n @property({type: String}) medium: LineMedium = LineMedium.water;\n @property({type: Number}) value: number = 0;\n @property({type: Number}) max: number = 100;\n @property({type: String}) trend: TankTrend = TankTrend.stable;\n @property({type: String}) variant: TankVariant = TankVariant.vertical;\n @property({type: String}) tag: string = '';\n\n trendIcon(): HTMLTemplateResult {\n if (this.trend === TankTrend.fastRising) {\n return html`<obi-02-chevron-double-up\n class=\"trend-icon\"\n ></obi-02-chevron-double-up>`;\n } else if (this.trend === TankTrend.rising) {\n return html`<obi-02-chevron-up class=\"trend-icon\"></obi-02-chevron-up>`;\n } else if (this.trend === TankTrend.fastFalling) {\n return html`<obi-02-chevron-double-down\n class=\"trend-icon\"\n ></obi-02-chevron-double-down>`;\n } else if (this.trend === TankTrend.falling) {\n return html`<obi-02-chevron-down\n class=\"trend-icon\"\n ></obi-02-chevron-down>`;\n } else {\n return html`<obi-01-off class=\"trend-icon\"></obi-01-off>`;\n }\n }\n\n override render() {\n const percent = (this.value / this.max) * 100;\n\n return html`\n <div class=\"outer\">\n <div class=\"badges\">\n <slot name=\"badges\"></slot>\n </div>\n <button\n class=${classMap({\n wrapper: true,\n [this.variant]: true,\n [this.medium]: true,\n })}\n style=\"--percent: ${percent / 100}\"\n >\n <div class=\"bar-container\">\n <div class=\"bar\"></div>\n </div>\n <div class=\"content\">\n <div class=\"header\">\n ${this.trendIcon()}\n <div class=\"percent\">\n ${percent.toFixed(0)}<span class=\"percent-symbol\">%</span>\n </div>\n </div>\n <div class=\"value\">\n <div class=\"current\">\n <slot name=\"current-value\" class=\"current-value\"\n >${this.value.toFixed(0)}</slot\n ><span class=\"divider\">/</span>\n </div>\n <div class=\"max\">\n <slot class=\"max-value\" name=\"max-value\"\n >${this.max.toFixed(0)}</slot\n >\n <slot class=\"unit\" name=\"unit\">m<sup>3</sup></slot>\n </div>\n </div>\n </div>\n </button>\n <div class=\"tag\"><slot name=\"tag\">${this.tag}</slot></div>\n </div>\n `;\n }\n\n static override styles = unsafeCSS(compentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-automation-tank': ObcAutomationTank;\n }\n}\n"],"names":["TankTrend","TankVariant"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYY,IAAA,8BAAAA,eAAL;AACLA,aAAA,YAAa,IAAA;AACbA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,SAAU,IAAA;AACVA,aAAA,aAAc,IAAA;AALJA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAQA,IAAA,gCAAAC,iBAAL;AACLA,eAAA,UAAW,IAAA;AACXA,eAAA,SAAU,IAAA;AAFAA,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;
|
1
|
+
{"version":3,"file":"automation-tank.js","sources":["../../../src/automation/automation-tank/automation-tank.ts"],"sourcesContent":["import {HTMLTemplateResult, LitElement, html, unsafeCSS} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport compentStyle from './automation-tank.css?inline';\nimport {LineMedium} from '..';\n\nimport '../../icons/icon-02-chevron-double-up';\nimport '../../icons/icon-02-chevron-up';\nimport '../../icons/icon-02-chevron-double-down';\nimport '../../icons/icon-02-chevron-down';\nimport '../../icons/icon-01-off';\nimport {classMap} from 'lit/directives/class-map.js';\n\nexport enum TankTrend {\n fastRising = 'fast-rising',\n rising = 'rising',\n stable = 'stable',\n falling = 'falling',\n fastFalling = 'fast-falling',\n}\n\nexport enum TankVariant {\n vertical = 'vertical',\n compact = 'compact',\n}\n\n/**\n *\n *\n * @ignition-base-height: 173px\n * @ignition-base-width: 168px\n * @ignition-center\n */\n@customElement('obc-automation-tank')\nexport class ObcAutomationTank extends LitElement {\n @property({type: String}) medium: LineMedium = LineMedium.water;\n @property({type: Number}) value: number = 0;\n @property({type: Number}) max: number = 100;\n @property({type: String}) trend: TankTrend = TankTrend.stable;\n @property({type: String}) variant: TankVariant = TankVariant.vertical;\n @property({type: String}) tag: string = '';\n\n trendIcon(): HTMLTemplateResult {\n if (this.trend === TankTrend.fastRising) {\n return html`<obi-02-chevron-double-up\n class=\"trend-icon\"\n ></obi-02-chevron-double-up>`;\n } else if (this.trend === TankTrend.rising) {\n return html`<obi-02-chevron-up class=\"trend-icon\"></obi-02-chevron-up>`;\n } else if (this.trend === TankTrend.fastFalling) {\n return html`<obi-02-chevron-double-down\n class=\"trend-icon\"\n ></obi-02-chevron-double-down>`;\n } else if (this.trend === TankTrend.falling) {\n return html`<obi-02-chevron-down\n class=\"trend-icon\"\n ></obi-02-chevron-down>`;\n } else {\n return html`<obi-01-off class=\"trend-icon\"></obi-01-off>`;\n }\n }\n\n override render() {\n const percent = (this.value / this.max) * 100;\n\n return html`\n <div class=\"outer\">\n <div class=\"badges\">\n <slot name=\"badges\"></slot>\n </div>\n <button\n class=${classMap({\n wrapper: true,\n [this.variant]: true,\n [this.medium]: true,\n })}\n style=\"--percent: ${percent / 100}\"\n >\n <div class=\"bar-container\">\n <div class=\"bar\"></div>\n </div>\n <div class=\"content\">\n <div class=\"header\">\n ${this.trendIcon()}\n <div class=\"percent\">\n ${percent.toFixed(0)}<span class=\"percent-symbol\">%</span>\n </div>\n </div>\n <div class=\"value\">\n <div class=\"current\">\n <slot name=\"current-value\" class=\"current-value\"\n >${this.value.toFixed(0)}</slot\n ><span class=\"divider\">/</span>\n </div>\n <div class=\"max\">\n <slot class=\"max-value\" name=\"max-value\"\n >${this.max.toFixed(0)}</slot\n >\n <slot class=\"unit\" name=\"unit\">m<sup>3</sup></slot>\n </div>\n </div>\n </div>\n </button>\n <div class=\"tag\"><slot name=\"tag\">${this.tag}</slot></div>\n </div>\n `;\n }\n\n static override styles = unsafeCSS(compentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-automation-tank': ObcAutomationTank;\n }\n}\n"],"names":["TankTrend","TankVariant"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYY,IAAA,8BAAAA,eAAL;AACLA,aAAA,YAAa,IAAA;AACbA,aAAA,QAAS,IAAA;AACTA,aAAA,QAAS,IAAA;AACTA,aAAA,SAAU,IAAA;AACVA,aAAA,aAAc,IAAA;AALJA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAQA,IAAA,gCAAAC,iBAAL;AACLA,eAAA,UAAW,IAAA;AACXA,eAAA,SAAU,IAAA;AAFAA,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;AAaC,IAAA,oBAAN,cAAgC,WAAW;AAAA,EAA3C,cAAA;AAAA,UAAA,GAAA,SAAA;AACqB,SAAA,SAAqB,WAAW;AAChB,SAAA,QAAA;AACF,SAAA,MAAA;AACK,SAAA,QAAA;AACI,SAAA,UAAA;AACT,SAAA,MAAA;AAAA,EAAA;AAAA,EAExC,YAAgC;AAC1B,QAAA,KAAK,UAAU,eAAsB;AAChC,aAAA;AAAA;AAAA;AAAA,IAAA,WAGE,KAAK,UAAU,UAAkB;AACnC,aAAA;AAAA,IAAA,WACE,KAAK,UAAU,gBAAuB;AACxC,aAAA;AAAA;AAAA;AAAA,IAAA,WAGE,KAAK,UAAU,WAAmB;AACpC,aAAA;AAAA;AAAA;AAAA,IAAA,OAGF;AACE,aAAA;AAAA,IACT;AAAA,EACF;AAAA,EAES,SAAS;AAChB,UAAM,UAAW,KAAK,QAAQ,KAAK,MAAO;AAEnC,WAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMO,SAAS;AAAA,MACf,SAAS;AAAA,MACT,CAAC,KAAK,OAAO,GAAG;AAAA,MAChB,CAAC,KAAK,MAAM,GAAG;AAAA,IAAA,CAChB,CAAC;AAAA,8BACkB,UAAU,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAO3B,KAAK,WAAW;AAAA;AAAA,kBAEd,QAAQ,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAMf,KAAK,MAAM,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKrB,KAAK,IAAI,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4CAOI,KAAK,GAAG;AAAA;AAAA;AAAA,EAGlD;AAGF;AA3Ea,kBA0EK,SAAS,UAAU,YAAY;AAzErB,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,QAAO;AAAA,GADb,kBACe,WAAA,UAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,QAAO;AAAA,GAFb,kBAEe,WAAA,SAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,QAAO;AAAA,GAHb,kBAGe,WAAA,OAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,QAAO;AAAA,GAJb,kBAIe,WAAA,SAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,QAAO;AAAA,GALb,kBAKe,WAAA,WAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,QAAO;AAAA,GANb,kBAMe,WAAA,OAAA,CAAA;AANf,oBAAN,gBAAA;AAAA,EADN,cAAc,qBAAqB;AAAA,GACvB,iBAAA;"}
|
@@ -1,16 +1,17 @@
|
|
1
1
|
import { LitElement } from 'lit';
|
2
2
|
import '../watch/watch';
|
3
3
|
import { AngleAdvice } from '../watch/advice';
|
4
|
+
/**
|
5
|
+
*
|
6
|
+
* @ignition-base-height: 512px
|
7
|
+
* @ignition-base-width: 512px
|
8
|
+
*/
|
4
9
|
export declare class ObcCompass extends LitElement {
|
5
10
|
heading: number;
|
6
11
|
courseOverGround: number;
|
7
|
-
padding: number;
|
8
12
|
headingAdvices: AngleAdvice[];
|
9
|
-
|
10
|
-
private
|
11
|
-
connectedCallback(): void;
|
12
|
-
disconnectedCallback(): void;
|
13
|
-
private adjustPadding;
|
13
|
+
private _resizeController;
|
14
|
+
private getPadding;
|
14
15
|
private get angleAdviceRaw();
|
15
16
|
render(): import("lit-html").TemplateResult<1>;
|
16
17
|
static styles: import("lit").CSSResult;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compass.d.ts","sourceRoot":"","sources":["../../../src/navigation-instruments/compass/compass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAY,MAAM,KAAK,CAAC;AAE1C,OAAO,gBAAgB,CAAC;AAGxB,OAAO,EAGL,WAAW,EAEZ,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"compass.d.ts","sourceRoot":"","sources":["../../../src/navigation-instruments/compass/compass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAY,MAAM,KAAK,CAAC;AAE1C,OAAO,gBAAgB,CAAC;AAGxB,OAAO,EAGL,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAIzB;;;;GAIG;AACH,qBACa,UAAW,SAAQ,UAAU;IACd,OAAO,SAAK;IACZ,gBAAgB,SAAK;IACJ,cAAc,EAAE,WAAW,EAAE,CAAM;IAI9E,OAAO,CAAC,iBAAiB,CAAkC;IAE3D,OAAO,CAAC,UAAU;IAclB,OAAO,KAAK,cAAc,GAUzB;IAEQ,MAAM;IAsCf,OAAgB,MAAM,0BAwBpB;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import { css, LitElement, html } from "lit";
|
2
|
-
import { property,
|
2
|
+
import { property, customElement } from "lit/decorators.js";
|
3
3
|
import "../watch/watch.js";
|
4
4
|
import { TickmarkType } from "../watch/tickmark.js";
|
5
5
|
import { arrow, ArrowStyle } from "./arrow.js";
|
6
6
|
import { AdviceState, AdviceType } from "../watch/advice.js";
|
7
7
|
import { radialTickmarks } from "./radial-tickmark.js";
|
8
|
+
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
8
9
|
var __defProp = Object.defineProperty;
|
9
10
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
10
11
|
var __decorateClass = (decorators, target, key, kind) => {
|
@@ -21,29 +22,12 @@ let ObcCompass = class extends LitElement {
|
|
21
22
|
super(...arguments);
|
22
23
|
this.heading = 0;
|
23
24
|
this.courseOverGround = 0;
|
24
|
-
this.padding = 48;
|
25
25
|
this.headingAdvices = [];
|
26
|
-
this.
|
27
|
-
this.resizeObserver = new ResizeObserver((entries) => {
|
28
|
-
for (const entry of entries) {
|
29
|
-
this.containerWidth = Math.min(
|
30
|
-
entry.contentRect.width,
|
31
|
-
entry.contentRect.height
|
32
|
-
);
|
33
|
-
this.adjustPadding();
|
34
|
-
}
|
35
|
-
});
|
36
|
-
}
|
37
|
-
connectedCallback() {
|
38
|
-
super.connectedCallback();
|
39
|
-
this.resizeObserver.observe(this);
|
40
|
-
}
|
41
|
-
disconnectedCallback() {
|
42
|
-
super.disconnectedCallback();
|
43
|
-
this.resizeObserver.unobserve(this);
|
26
|
+
this._resizeController = new ResizeController(this, {});
|
44
27
|
}
|
45
|
-
|
46
|
-
const
|
28
|
+
getPadding() {
|
29
|
+
const size = Math.min(this.clientHeight, this.clientWidth);
|
30
|
+
const deltaWidth = 512 - size;
|
47
31
|
const steps = deltaWidth / 128;
|
48
32
|
let deltaPadding = 0;
|
49
33
|
if (deltaWidth > 0) {
|
@@ -51,12 +35,12 @@ let ObcCompass = class extends LitElement {
|
|
51
35
|
} else {
|
52
36
|
deltaPadding = steps * 6;
|
53
37
|
}
|
54
|
-
|
38
|
+
return 72 + deltaPadding;
|
55
39
|
}
|
56
40
|
get angleAdviceRaw() {
|
57
41
|
return this.headingAdvices.map(({ minAngle, maxAngle, hinted, type }) => {
|
58
|
-
const
|
59
|
-
return { minAngle, maxAngle, type, state
|
42
|
+
const state = this.heading >= minAngle && this.heading <= maxAngle ? AdviceState.triggered : hinted ? AdviceState.hinted : AdviceState.regular;
|
43
|
+
return { minAngle, maxAngle, type, state };
|
60
44
|
});
|
61
45
|
}
|
62
46
|
render() {
|
@@ -73,12 +57,13 @@ let ObcCompass = class extends LitElement {
|
|
73
57
|
type === AdviceType.caution ? TickmarkType.secondary : void 0
|
74
58
|
)
|
75
59
|
);
|
76
|
-
const
|
60
|
+
const padding = this.getPadding();
|
61
|
+
const width = (176 + padding) * 2;
|
77
62
|
const viewBox = `-${width / 2} -${width / 2} ${width} ${width}`;
|
78
63
|
return html`
|
79
64
|
<div class="container">
|
80
65
|
<obc-watch
|
81
|
-
.padding=${
|
66
|
+
.padding=${padding}
|
82
67
|
.advices=${this.angleAdviceRaw}
|
83
68
|
.tickmarks=${tickmarks}
|
84
69
|
.labelFrameEnabled=${true}
|
@@ -124,15 +109,9 @@ __decorateClass([
|
|
124
109
|
__decorateClass([
|
125
110
|
property({ type: Number })
|
126
111
|
], ObcCompass.prototype, "courseOverGround", 2);
|
127
|
-
__decorateClass([
|
128
|
-
property({ type: Number })
|
129
|
-
], ObcCompass.prototype, "padding", 2);
|
130
112
|
__decorateClass([
|
131
113
|
property({ type: Array, attribute: false })
|
132
114
|
], ObcCompass.prototype, "headingAdvices", 2);
|
133
|
-
__decorateClass([
|
134
|
-
state()
|
135
|
-
], ObcCompass.prototype, "containerWidth", 2);
|
136
115
|
ObcCompass = __decorateClass([
|
137
116
|
customElement("obc-compass")
|
138
117
|
], ObcCompass);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compass.js","sources":["../../../src/navigation-instruments/compass/compass.ts"],"sourcesContent":["import {LitElement, css, html} from 'lit';\nimport {customElement, property
|
1
|
+
{"version":3,"file":"compass.js","sources":["../../../src/navigation-instruments/compass/compass.ts"],"sourcesContent":["import {LitElement, css, html} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport '../watch/watch';\nimport {Tickmark, TickmarkType} from '../watch/tickmark';\nimport {arrow, ArrowStyle} from './arrow';\nimport {\n AdviceState,\n AdviceType,\n AngleAdvice,\n AngleAdviceRaw,\n} from '../watch/advice';\nimport {radialTickmarks} from './radial-tickmark';\nimport {ResizeController} from '@lit-labs/observers/resize-controller.js';\n\n/**\n *\n * @ignition-base-height: 512px\n * @ignition-base-width: 512px\n */\n@customElement('obc-compass')\nexport class ObcCompass extends LitElement {\n @property({type: Number}) heading = 0;\n @property({type: Number}) courseOverGround = 0;\n @property({type: Array, attribute: false}) headingAdvices: AngleAdvice[] = [];\n\n // @ts-expect-error TS6133: The controller ensures that the render\n // function is called on resize of the element\n private _resizeController = new ResizeController(this, {});\n\n private getPadding() {\n const size = Math.min(this.clientHeight, this.clientWidth);\n const deltaWidth = 512 - size;\n const steps = deltaWidth / 128;\n let deltaPadding = 0;\n if (deltaWidth > 0) {\n deltaPadding = steps * 48;\n } else {\n deltaPadding = steps * 6;\n }\n\n return 72 + deltaPadding;\n }\n\n private get angleAdviceRaw(): AngleAdviceRaw[] {\n return this.headingAdvices.map(({minAngle, maxAngle, hinted, type}) => {\n const state =\n this.heading >= minAngle && this.heading <= maxAngle\n ? AdviceState.triggered\n : hinted\n ? AdviceState.hinted\n : AdviceState.regular;\n return {minAngle, maxAngle, type, state};\n });\n }\n\n override render() {\n const tickmarks: Tickmark[] = [\n {angle: 0, type: TickmarkType.main},\n {angle: 90, type: TickmarkType.main},\n {angle: 180, type: TickmarkType.main},\n {angle: 270, type: TickmarkType.main},\n ];\n\n const rt = this.headingAdvices.map(({minAngle, maxAngle, type}) =>\n radialTickmarks(\n minAngle,\n maxAngle,\n type === AdviceType.caution ? TickmarkType.secondary : undefined\n )\n );\n\n const padding = this.getPadding();\n const width = (176 + padding) * 2;\n const viewBox = `-${width / 2} -${width / 2} ${width} ${width}`;\n\n return html`\n <div class=\"container\">\n <obc-watch\n .padding=${padding}\n .advices=${this.angleAdviceRaw}\n .tickmarks=${tickmarks}\n .labelFrameEnabled=${true}\n .crosshairEnabled=${true}\n >\n </obc-watch>\n <svg viewBox=\"${viewBox}\">\n ${rt} ${arrow(ArrowStyle.HDG, this.heading)}\n ${arrow(ArrowStyle.COG, this.courseOverGround)}\n </svg>\n </div>\n `;\n }\n\n static override styles = css`\n * {\n box-sizing: border-box;\n }\n\n .container {\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n .container > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n `;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-compass': ObcCompass;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAoBa,IAAA,aAAN,cAAyB,WAAW;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA;AAC+B,SAAA,UAAA;AACS,SAAA,mBAAA;AACF,SAAA,iBAAgC;AAI3E,SAAQ,oBAAoB,IAAI,iBAAiB,MAAM,CAAE,CAAA;AAAA,EAAA;AAAA,EAEjD,aAAa;AACnB,UAAM,OAAO,KAAK,IAAI,KAAK,cAAc,KAAK,WAAW;AACzD,UAAM,aAAa,MAAM;AACzB,UAAM,QAAQ,aAAa;AAC3B,QAAI,eAAe;AACnB,QAAI,aAAa,GAAG;AAClB,qBAAe,QAAQ;AAAA,IAAA,OAClB;AACL,qBAAe,QAAQ;AAAA,IACzB;AAEA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAY,iBAAmC;AACtC,WAAA,KAAK,eAAe,IAAI,CAAC,EAAC,UAAU,UAAU,QAAQ,WAAU;AACrE,YAAM,QACJ,KAAK,WAAW,YAAY,KAAK,WAAW,WACxC,YAAY,YACZ,SACE,YAAY,SACZ,YAAY;AACpB,aAAO,EAAC,UAAU,UAAU,MAAM,MAAK;AAAA,IAAA,CACxC;AAAA,EACH;AAAA,EAES,SAAS;AAChB,UAAM,YAAwB;AAAA,MAC5B,EAAC,OAAO,GAAG,MAAM,aAAa,KAAI;AAAA,MAClC,EAAC,OAAO,IAAI,MAAM,aAAa,KAAI;AAAA,MACnC,EAAC,OAAO,KAAK,MAAM,aAAa,KAAI;AAAA,MACpC,EAAC,OAAO,KAAK,MAAM,aAAa,KAAI;AAAA,IAAA;AAGhC,UAAA,KAAK,KAAK,eAAe;AAAA,MAAI,CAAC,EAAC,UAAU,UAAU,KACvD,MAAA;AAAA,QACE;AAAA,QACA;AAAA,QACA,SAAS,WAAW,UAAU,aAAa,YAAY;AAAA,MACzD;AAAA,IAAA;AAGI,UAAA,UAAU,KAAK;AACf,UAAA,SAAS,MAAM,WAAW;AAC1B,UAAA,UAAU,IAAI,QAAQ,CAAC,KAAK,QAAQ,CAAC,IAAI,KAAK,IAAI,KAAK;AAEtD,WAAA;AAAA;AAAA;AAAA,qBAGU,OAAO;AAAA,qBACP,KAAK,cAAc;AAAA,uBACjB,SAAS;AAAA,+BACD,IAAI;AAAA,8BACL,IAAI;AAAA;AAAA;AAAA,wBAGV,OAAO;AAAA,YACnB,EAAE,IAAI,MAAM,WAAW,KAAK,KAAK,OAAO,CAAC;AAAA,YACzC,MAAM,WAAW,KAAK,KAAK,gBAAgB,CAAC;AAAA;AAAA;AAAA;AAAA,EAItD;AA2BF;AAlGa,WAyEK,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAxEC,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,QAAO;AAAA,GADb,WACe,WAAA,WAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,QAAO;AAAA,GAFb,WAEe,WAAA,oBAAA,CAAA;AACiB,gBAAA;AAAA,EAA1C,SAAS,EAAC,MAAM,OAAO,WAAW,OAAM;AAAA,GAH9B,WAGgC,WAAA,kBAAA,CAAA;AAHhC,aAAN,gBAAA;AAAA,EADN,cAAc,aAAa;AAAA,GACf,UAAA;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compass-flat.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"compass-flat.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -12,6 +12,11 @@ export interface Label {
|
|
12
12
|
y: LabelPosition;
|
13
13
|
text: string;
|
14
14
|
}
|
15
|
+
/**
|
16
|
+
*
|
17
|
+
* @ignition-base-height: 170px
|
18
|
+
* @ignition-base-width: 512px
|
19
|
+
*/
|
15
20
|
export declare class ObcCompassFlat extends LitElement {
|
16
21
|
noPadding: boolean;
|
17
22
|
FOVIndicator: boolean;
|
@@ -23,6 +28,7 @@ export declare class ObcCompassFlat extends LitElement {
|
|
23
28
|
minFOV: number;
|
24
29
|
maxFOV: number;
|
25
30
|
containerWidth: number;
|
31
|
+
maxContainerWidth: number;
|
26
32
|
private resizeObserver;
|
27
33
|
connectedCallback(): void;
|
28
34
|
disconnectedCallback(): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compass-flat.d.ts","sourceRoot":"","sources":["../../../src/navigation-instruments/compass-flat/compass-flat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAoC,MAAM,KAAK,CAAC;AAIlE,OAAO,0BAA0B,CAAC;AAElC,oBAAY,aAAa;IACvB,GAAG,MAAM;IACT,MAAM,KAAK;CACZ;AAED,oBAAY,UAAU;IACpB,OAAO,gDAAgD;CACxD;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,aAAa,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBACa,cAAe,SAAQ,UAAU;IACjB,SAAS,EAAE,OAAO,CAAQ;IAC1B,YAAY,EAAE,OAAO,CAAS;IAC/B,OAAO,EAAE,MAAM,CAAM;IACrB,OAAO,SAAK;IACZ,gBAAgB,SAAK;IACrB,YAAY,SAAK;IACjB,GAAG,SAAM;IACT,MAAM,SAAM;IACZ,MAAM,SAAO;IAE9B,cAAc,SAAK;
|
1
|
+
{"version":3,"file":"compass-flat.d.ts","sourceRoot":"","sources":["../../../src/navigation-instruments/compass-flat/compass-flat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAoC,MAAM,KAAK,CAAC;AAIlE,OAAO,0BAA0B,CAAC;AAElC,oBAAY,aAAa;IACvB,GAAG,MAAM;IACT,MAAM,KAAK;CACZ;AAED,oBAAY,UAAU;IACpB,OAAO,gDAAgD;CACxD;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,aAAa,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBACa,cAAe,SAAQ,UAAU;IACjB,SAAS,EAAE,OAAO,CAAQ;IAC1B,YAAY,EAAE,OAAO,CAAS;IAC/B,OAAO,EAAE,MAAM,CAAM;IACrB,OAAO,SAAK;IACZ,gBAAgB,SAAK;IACrB,YAAY,SAAK;IACjB,GAAG,SAAM;IACT,MAAM,SAAM;IACZ,MAAM,SAAO;IAE9B,cAAc,SAAK;IACnB,iBAAiB,SAAK;IAE/B,OAAO,CAAC,cAAc,CASnB;IAEM,iBAAiB;IAKjB,oBAAoB;IAK7B,cAAc;;;;;IAsCd,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,KAAK,MAAM,GAIjB;IAED,OAAO,CAAC,MAAM;IAQL,MAAM;IAiCf,OAAgB,MAAM,0BAA6B;CACpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
|
@@ -36,9 +36,14 @@ let ObcCompassFlat = class extends LitElement {
|
|
36
36
|
this.minFOV = 45;
|
37
37
|
this.maxFOV = 180;
|
38
38
|
this.containerWidth = 0;
|
39
|
+
this.maxContainerWidth = 0;
|
39
40
|
this.resizeObserver = new ResizeObserver((entries) => {
|
40
41
|
for (const entry of entries) {
|
41
|
-
this.
|
42
|
+
this.maxContainerWidth = -125.36 + 3.79 * entry.contentRect.height;
|
43
|
+
this.containerWidth = Math.min(
|
44
|
+
entry.contentRect.width,
|
45
|
+
this.maxContainerWidth
|
46
|
+
);
|
42
47
|
}
|
43
48
|
});
|
44
49
|
}
|
@@ -173,7 +178,7 @@ let ObcCompassFlat = class extends LitElement {
|
|
173
178
|
}));
|
174
179
|
const viewBox = this.noPadding ? "-192 -128 384 128" : "-200 -144 400 144";
|
175
180
|
return svg`
|
176
|
-
<div class="container">
|
181
|
+
<div class="container" style="max-width:${this.maxContainerWidth}px">
|
177
182
|
<obc-watch-flat .noPadding=${this.noPadding} .FOVIndicator=${this.FOVIndicator ? this.renderFOVIndicator() : []} .labels=${scaledLabels} .rotation=${this.heading} .tickmarks=${tickmarks} .tickmarkSpacing=${translationScale}></obc-watch-flat>
|
178
183
|
<svg viewBox=${viewBox} xmlns="http://www.w3.org/2000/svg">
|
179
184
|
${this.HDGSvg}${this.COGSvg(translation)}
|
@@ -212,6 +217,9 @@ __decorateClass([
|
|
212
217
|
__decorateClass([
|
213
218
|
state()
|
214
219
|
], ObcCompassFlat.prototype, "containerWidth", 2);
|
220
|
+
__decorateClass([
|
221
|
+
state()
|
222
|
+
], ObcCompassFlat.prototype, "maxContainerWidth", 2);
|
215
223
|
ObcCompassFlat = __decorateClass([
|
216
224
|
customElement("obc-compass-flat")
|
217
225
|
], ObcCompassFlat);
|