@oicl/openbridge-webcomponents-full-bundle 2.0.0-next.148 → 2.0.0-next.150
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/bundle/openbridge-webcomponents.bundle.js +4561 -3882
- package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
- package/custom-elements.json +535 -21
- package/dist/components/alert-list-details-experimental/alert-list-details-experimental.css.js +94 -0
- package/dist/components/alert-list-details-experimental/alert-list-details-experimental.css.js.map +1 -0
- package/dist/components/alert-list-details-experimental/alert-list-details-experimental.d.ts +72 -0
- package/dist/components/alert-list-details-experimental/alert-list-details-experimental.d.ts.map +1 -0
- package/dist/components/alert-list-details-experimental/alert-list-details-experimental.js +396 -0
- package/dist/components/alert-list-details-experimental/alert-list-details-experimental.js.map +1 -0
- package/dist/components/icon-button/icon-button.d.ts +3 -0
- package/dist/components/icon-button/icon-button.d.ts.map +1 -1
- package/dist/components/icon-button/icon-button.js +6 -0
- package/dist/components/icon-button/icon-button.js.map +1 -1
- package/dist/components/table/table.css.js +43 -0
- package/dist/components/table/table.css.js.map +1 -1
- package/dist/components/table/table.d.ts +31 -1
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/components/table/table.js +124 -11
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/top-bar/top-bar.d.ts.map +1 -1
- package/dist/components/top-bar/top-bar.js +8 -0
- package/dist/components/top-bar/top-bar.js.map +1 -1
- package/dist/generated/locales/es-419.d.ts +11 -1
- package/dist/generated/locales/es-419.d.ts.map +1 -1
- package/dist/generated/locales/es-419.js +11 -1
- package/dist/generated/locales/es-419.js.map +1 -1
- package/dist/generated/locales/fi-FI.d.ts +11 -1
- package/dist/generated/locales/fi-FI.d.ts.map +1 -1
- package/dist/generated/locales/fi-FI.js +11 -1
- package/dist/generated/locales/fi-FI.js.map +1 -1
- package/dist/integration-systems/integration-bar/integration-bar.d.ts +8 -8
- package/dist/integration-systems/integration-bar/integration-bar.d.ts.map +1 -1
- package/dist/integration-systems/integration-bar/integration-bar.js +13 -1
- package/dist/integration-systems/integration-bar/integration-bar.js.map +1 -1
- package/dist/integration-systems/integration-bar-dropdown/integration-bar-dropdown.d.ts +72 -7
- package/dist/integration-systems/integration-bar-dropdown/integration-bar-dropdown.d.ts.map +1 -1
- package/dist/integration-systems/integration-bar-dropdown/integration-bar-dropdown.js +99 -41
- package/dist/integration-systems/integration-bar-dropdown/integration-bar-dropdown.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/components/alert-list-details-experimental/alert-list-details-experimental.css +70 -0
- package/src/components/alert-list-details-experimental/alert-list-details-experimental.stories.ts +510 -0
- package/src/components/alert-list-details-experimental/alert-list-details-experimental.ts +457 -0
- package/src/components/icon-button/icon-button.spec.ts +52 -0
- package/src/components/icon-button/icon-button.ts +7 -0
- package/src/components/table/table.css +42 -0
- package/src/components/table/table.stories.ts +279 -0
- package/src/components/table/table.ts +177 -13
- package/src/components/top-bar/top-bar.ts +10 -0
- package/src/generated/locales/es-419.ts +11 -1
- package/src/generated/locales/fi-FI.ts +11 -1
- package/src/integration-systems/integration-bar/integration-bar.ts +21 -9
- package/src/integration-systems/integration-bar-dropdown/integration-bar-dropdown.stories.ts +70 -3
- package/src/integration-systems/integration-bar-dropdown/integration-bar-dropdown.ts +138 -52
- package/src/types.ts +6 -4
|
@@ -54,6 +54,14 @@ export declare const templates: {
|
|
|
54
54
|
sdb1595f5c742dfbb: string;
|
|
55
55
|
s37cbecaec58e2192: string;
|
|
56
56
|
s065289e6cba017c6: string;
|
|
57
|
+
s5e8250fb85d64c23: string;
|
|
58
|
+
sc16e00a7a8b2fde2: string;
|
|
59
|
+
s6d8c02aee480af7a: string;
|
|
60
|
+
s6abb1cd87fe0114e: string;
|
|
61
|
+
s18c92783d4042bbc: string;
|
|
62
|
+
sa48f81f001b893d2: string;
|
|
63
|
+
sf7eeef8b4d6e602d: string;
|
|
64
|
+
s37a9e8aec5713460: string;
|
|
57
65
|
s76b886a513fca0d8: string;
|
|
58
66
|
seb1d48da15e775c9: string;
|
|
59
67
|
s5e27738a2e8eb763: string;
|
|
@@ -61,8 +69,10 @@ export declare const templates: {
|
|
|
61
69
|
sf6e1665c7022a1f8: string;
|
|
62
70
|
s981f6febad4df84a: string;
|
|
63
71
|
sbce70cbdb856635e: string;
|
|
64
|
-
sa48f81f001b893d2: string;
|
|
65
72
|
s7cfe12cd14df9950: string;
|
|
73
|
+
s5be3c6d61cd9182f: string;
|
|
74
|
+
s744d993d03f29851: string;
|
|
75
|
+
sa81e2cdaf6921adc: string;
|
|
66
76
|
s3374200692e9843d: string;
|
|
67
77
|
};
|
|
68
78
|
//# sourceMappingURL=fi-FI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fi-FI.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/fi-FI.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"fi-FI.d.ts","sourceRoot":"","sources":["../../../src/generated/locales/fi-FI.ts"],"names":[],"mappings":"AAUI,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ErB,CAAC"}
|
|
@@ -54,6 +54,14 @@ const templates = {
|
|
|
54
54
|
"sdb1595f5c742dfbb": `Input`,
|
|
55
55
|
"s37cbecaec58e2192": `Mode`,
|
|
56
56
|
"s065289e6cba017c6": `Transcribe`,
|
|
57
|
+
"s5e8250fb85d64c23": `Close`,
|
|
58
|
+
"sc16e00a7a8b2fde2": `Back`,
|
|
59
|
+
"s6d8c02aee480af7a": `Menu`,
|
|
60
|
+
"s6abb1cd87fe0114e": `Home`,
|
|
61
|
+
"s18c92783d4042bbc": `Dimming`,
|
|
62
|
+
"sa48f81f001b893d2": `User`,
|
|
63
|
+
"sf7eeef8b4d6e602d": `Apps`,
|
|
64
|
+
"s37a9e8aec5713460": `More`,
|
|
57
65
|
"s76b886a513fca0d8": `Username is required`,
|
|
58
66
|
"seb1d48da15e775c9": `Password is required`,
|
|
59
67
|
"s5e27738a2e8eb763": `Sign in`,
|
|
@@ -61,8 +69,10 @@ const templates = {
|
|
|
61
69
|
"sf6e1665c7022a1f8": `Password`,
|
|
62
70
|
"s981f6febad4df84a": `Recently signed in`,
|
|
63
71
|
"sbce70cbdb856635e": `Recent`,
|
|
64
|
-
"sa48f81f001b893d2": `User`,
|
|
65
72
|
"s7cfe12cd14df9950": `Sign out`,
|
|
73
|
+
"s5be3c6d61cd9182f": `Notifications`,
|
|
74
|
+
"s744d993d03f29851": `Screen`,
|
|
75
|
+
"sa81e2cdaf6921adc": `System`,
|
|
66
76
|
"s3374200692e9843d": `No alerts`
|
|
67
77
|
};
|
|
68
78
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fi-FI.js","sources":["../../../src/generated/locales/fi-FI.ts"],"sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's01b603dddbaba7b6': `Vahvistamaton`,\n's079a052719914d71': `Kategoria`,\n's097d821eb8e9069f': `Hyllyttänyt`,\n's0f3699a7bd401f61': `Yö`,\n's16fccc311f4779f6': `Korjattu`,\n's2a2488656f97b746': `Ei hyllytettyjä hälytyksiä`,\n's33e301ba1f4a6864': `Näytön hallinta`,\n's35aab6bf5dda3be0': `Hälytysajastin`,\n's3cf89cb47fdde7e9': `Linkki`,\n's47278872f6826da8': `Hämärä`,\n's5ba9818f6a39054c': `Siirry 'Hälytyslistaan' saadaksesi lisätietoja tai hallitaksesi olemassa olevia hälytyksiä.`,\n's61a9ee872da3a0cd': `Ei estettyjä hälytyksiä`,\n's6686fcc6d2c8f0bd': `Huomautus`,\n's68395a4c26a9e8ac': `Hiljennä`,\n's8119af112f965c78': `Kirkkaus`,\n's88d1c1e15ca1aade': `Hälytykset`,\n's93c7817bb872836a': `Vahvistanut`,\n's9e34794bcfdc6665': `Kirkas`,\n'sa2b9faa7ad068cfc': `Aktivoitu`,\n'sa6ef04345891fb38': `Vahvistus näkyvissä`,\n'sa711a6fcc9552dbf': `Lukeminen`,\n'sa7f8e003ff63ef9f': `Ei aktiivisia hälytyksiä`,\n'sdc7335a13d9e03f5': `Vahvistettu`,\n'se0955919920ee87d': `Päivä`,\n'se92d11374fcdf768': `Ei vahvistamattomia hälytyksiä`,\n'seb27af82aef6a03e': `Ei korjattuja hälytyksiä`,\n'sf268637d594dacb2': `Hyllytetty`,\n'sf2de3605b3655264': `Hyllytysajastin`,\n'sf59d9197d2e50c93': `Estetty`,\n'sf993bb199fefbe04': `Kaikki`,\n'sfa32c219a0764262': `VAHVISTA`,\n'sfbc33dd48f23752c': `Tunnistetunnus`,\n'sa45a194b58837e4f': `Active`,\n'sc5a5b268010fc312': `Audio muted`,\n's740deeebbea89396': `Audio on`,\n'sb1772b5e873910c2': `Microphone muted`,\n'sae9a175972fdc8a6': `Microphone on`,\n'scdec9ef5c73b26a1': `Wi-Fi`,\n's08e6bd98452e6bb9': `Audio`,\n's232f88877550dfa9': `Microphone`,\n's2eda024d0ca3dbae': `Battery`,\n's77a0727520efc502': `Charging`,\n'sfa0a009c85861b5b': `Powered & not charging`,\n's2d91daeb457fbd1d': `On battery`,\n's9d8b8aa2b404c2c8': `Settings`,\n's463b8c4e92751ba5': `Options`,\n'sd2208cd1a767644b': `Disconnect`,\n's40bbf4a98d873400': `Push to talk`,\n's345be9d2d7ce0228': `Usage`,\n's0200a1a60221ccd3': `Battery saving mode`,\n's186609156d69afdc': `Other networks`,\n'sfd77270c3f54f664': `Output`,\n'sdb1595f5c742dfbb': `Input`,\n's37cbecaec58e2192': `Mode`,\n's065289e6cba017c6': `Transcribe`,\n's76b886a513fca0d8': `Username is required`,\n'seb1d48da15e775c9': `Password is required`,\n's5e27738a2e8eb763': `Sign in`,\n's03f42eea72154959': `Username`,\n'sf6e1665c7022a1f8': `Password`,\n's981f6febad4df84a': `Recently signed in`,\n'sbce70cbdb856635e': `Recent`,\n'
|
|
1
|
+
{"version":3,"file":"fi-FI.js","sources":["../../../src/generated/locales/fi-FI.ts"],"sourcesContent":["\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's01b603dddbaba7b6': `Vahvistamaton`,\n's079a052719914d71': `Kategoria`,\n's097d821eb8e9069f': `Hyllyttänyt`,\n's0f3699a7bd401f61': `Yö`,\n's16fccc311f4779f6': `Korjattu`,\n's2a2488656f97b746': `Ei hyllytettyjä hälytyksiä`,\n's33e301ba1f4a6864': `Näytön hallinta`,\n's35aab6bf5dda3be0': `Hälytysajastin`,\n's3cf89cb47fdde7e9': `Linkki`,\n's47278872f6826da8': `Hämärä`,\n's5ba9818f6a39054c': `Siirry 'Hälytyslistaan' saadaksesi lisätietoja tai hallitaksesi olemassa olevia hälytyksiä.`,\n's61a9ee872da3a0cd': `Ei estettyjä hälytyksiä`,\n's6686fcc6d2c8f0bd': `Huomautus`,\n's68395a4c26a9e8ac': `Hiljennä`,\n's8119af112f965c78': `Kirkkaus`,\n's88d1c1e15ca1aade': `Hälytykset`,\n's93c7817bb872836a': `Vahvistanut`,\n's9e34794bcfdc6665': `Kirkas`,\n'sa2b9faa7ad068cfc': `Aktivoitu`,\n'sa6ef04345891fb38': `Vahvistus näkyvissä`,\n'sa711a6fcc9552dbf': `Lukeminen`,\n'sa7f8e003ff63ef9f': `Ei aktiivisia hälytyksiä`,\n'sdc7335a13d9e03f5': `Vahvistettu`,\n'se0955919920ee87d': `Päivä`,\n'se92d11374fcdf768': `Ei vahvistamattomia hälytyksiä`,\n'seb27af82aef6a03e': `Ei korjattuja hälytyksiä`,\n'sf268637d594dacb2': `Hyllytetty`,\n'sf2de3605b3655264': `Hyllytysajastin`,\n'sf59d9197d2e50c93': `Estetty`,\n'sf993bb199fefbe04': `Kaikki`,\n'sfa32c219a0764262': `VAHVISTA`,\n'sfbc33dd48f23752c': `Tunnistetunnus`,\n'sa45a194b58837e4f': `Active`,\n'sc5a5b268010fc312': `Audio muted`,\n's740deeebbea89396': `Audio on`,\n'sb1772b5e873910c2': `Microphone muted`,\n'sae9a175972fdc8a6': `Microphone on`,\n'scdec9ef5c73b26a1': `Wi-Fi`,\n's08e6bd98452e6bb9': `Audio`,\n's232f88877550dfa9': `Microphone`,\n's2eda024d0ca3dbae': `Battery`,\n's77a0727520efc502': `Charging`,\n'sfa0a009c85861b5b': `Powered & not charging`,\n's2d91daeb457fbd1d': `On battery`,\n's9d8b8aa2b404c2c8': `Settings`,\n's463b8c4e92751ba5': `Options`,\n'sd2208cd1a767644b': `Disconnect`,\n's40bbf4a98d873400': `Push to talk`,\n's345be9d2d7ce0228': `Usage`,\n's0200a1a60221ccd3': `Battery saving mode`,\n's186609156d69afdc': `Other networks`,\n'sfd77270c3f54f664': `Output`,\n'sdb1595f5c742dfbb': `Input`,\n's37cbecaec58e2192': `Mode`,\n's065289e6cba017c6': `Transcribe`,\n's5e8250fb85d64c23': `Close`,\n'sc16e00a7a8b2fde2': `Back`,\n's6d8c02aee480af7a': `Menu`,\n's6abb1cd87fe0114e': `Home`,\n's18c92783d4042bbc': `Dimming`,\n'sa48f81f001b893d2': `User`,\n'sf7eeef8b4d6e602d': `Apps`,\n's37a9e8aec5713460': `More`,\n's76b886a513fca0d8': `Username is required`,\n'seb1d48da15e775c9': `Password is required`,\n's5e27738a2e8eb763': `Sign in`,\n's03f42eea72154959': `Username`,\n'sf6e1665c7022a1f8': `Password`,\n's981f6febad4df84a': `Recently signed in`,\n'sbce70cbdb856635e': `Recent`,\n's7cfe12cd14df9950': `Sign out`,\n's5be3c6d61cd9182f': `Notifications`,\n's744d993d03f29851': `Screen`,\n'sa81e2cdaf6921adc': `System`,\n's3374200692e9843d': `No alerts`,\n };\n "],"names":[],"mappings":"AAUW,MAAM,YAAY;AAAA,EACvB,qBAAqB;AAAA,EAC3B,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AACjB;"}
|
|
@@ -41,14 +41,14 @@ import '../../icons/icon-link.js';
|
|
|
41
41
|
* @slot clock - Custom clock content, rendered when `showClock` is true
|
|
42
42
|
* @slot integration-buttons - Regular vessel integration buttons
|
|
43
43
|
* @slot hug-buttons - Compact vessel integration buttons; slotted integration buttons are forced to hug type
|
|
44
|
-
* @fires fleet-button-click - Fired when the fleet button is clicked
|
|
45
|
-
* @fires link-button-clicked - Fired when the link button is clicked
|
|
46
|
-
* @fires alert-button-clicked - Fired when the alert button is clicked
|
|
47
|
-
* @fires notification-button-clicked - Fired when the notification button is clicked
|
|
48
|
-
* @fires screen-button-clicked - Fired when the screen button is clicked
|
|
49
|
-
* @fires system-button-clicked - Fired when the system button is clicked
|
|
50
|
-
* @fires dimming-button-clicked - Fired when the dimming button is clicked
|
|
51
|
-
* @fires user-button-clicked - Fired when the user button is clicked
|
|
44
|
+
* @fires {CustomEvent} fleet-button-click - Fired when the fleet button is clicked
|
|
45
|
+
* @fires {CustomEvent} link-button-clicked - Fired when the link button is clicked
|
|
46
|
+
* @fires {CustomEvent} alert-button-clicked - Fired when the alert button is clicked
|
|
47
|
+
* @fires {CustomEvent} notification-button-clicked - Fired when the notification button is clicked
|
|
48
|
+
* @fires {CustomEvent} screen-button-clicked - Fired when the screen button is clicked
|
|
49
|
+
* @fires {CustomEvent} system-button-clicked - Fired when the system button is clicked
|
|
50
|
+
* @fires {CustomEvent} dimming-button-clicked - Fired when the dimming button is clicked
|
|
51
|
+
* @fires {CustomEvent} user-button-clicked - Fired when the user button is clicked
|
|
52
52
|
* @experimental
|
|
53
53
|
*/
|
|
54
54
|
export declare class ObcIntegrationBar extends LitElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-bar.d.ts","sourceRoot":"","sources":["../../../src/integration-systems/integration-bar/integration-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,KAAK,CAAC;AAGzD,OAAO,yCAAyC,CAAC;AACjD,OAAO,6CAA6C,CAAC;AAKrD,OAAO,iCAAiC,CAAC;AACzC,OAAO,6CAA6C,CAAC;AACrD,OAAO,2CAA2C,CAAC;AACnD,OAAO,0BAA0B,CAAC;AAClC,OAAO,+BAA+B,CAAC;AACvC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,0BAA0B,CAAC;AAClC,OAAO,0BAA0B,CAAC;AAClC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"integration-bar.d.ts","sourceRoot":"","sources":["../../../src/integration-systems/integration-bar/integration-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,KAAK,CAAC;AAGzD,OAAO,yCAAyC,CAAC;AACjD,OAAO,6CAA6C,CAAC;AAKrD,OAAO,iCAAiC,CAAC;AACzC,OAAO,6CAA6C,CAAC;AACrD,OAAO,2CAA2C,CAAC;AACnD,OAAO,0BAA0B,CAAC;AAClC,OAAO,+BAA+B,CAAC;AACvC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,0BAA0B,CAAC;AAClC,OAAO,0BAA0B,CAAC;AAClC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAKlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IACpB,cAAc,UAAS;IACvB,SAAS,UAAS;IAClB,cAAc,UAAS;IACvB,mBAAmB,UAAS;IAC5B,cAAc,UAAS;IACvB,mBAAmB,UAAS;IAC5B,iBAAiB,UAAS;IAC1B,sBAAsB,UAAS;IAC/B,gBAAgB,UAAS;IACzB,qBAAqB,UAAS;IAC9B,gBAAgB,UAAS;IACzB,qBAAqB,UAAS;IAC9B,sBAAsB,UAAS;IAC/B,2BAA2B,UAAS;IACpC,eAAe,UAAS;IACxB,oBAAoB,UAAS;IAC7B,eAAe,UAAS;IACxB,mBAAmB,UAAS;IAC5B,oBAAoB,UAAS;IAC9B,gBAAgB,SAAW;IAE5C,OAAO,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,mBAAmB;IAIlB,MAAM;IA8Lf,OAAgB,MAAM,0BAA2B;CAClD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
|
|
@@ -16,6 +16,7 @@ import "../../icons/icon-alerts.js";
|
|
|
16
16
|
import "../../icons/icon-link.js";
|
|
17
17
|
import { property, state } from "lit/decorators.js";
|
|
18
18
|
import { classMap } from "lit/directives/class-map.js";
|
|
19
|
+
import { msg } from "@lit/localize";
|
|
19
20
|
var __defProp = Object.defineProperty;
|
|
20
21
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
21
22
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -73,7 +74,11 @@ let ObcIntegrationBar = class extends LitElement {
|
|
|
73
74
|
return html`
|
|
74
75
|
<nav class="wrapper">
|
|
75
76
|
<div class="content-container">
|
|
76
|
-
${!this.hideHomeButton ? html`<obc-icon-button
|
|
77
|
+
${!this.hideHomeButton ? html`<obc-icon-button
|
|
78
|
+
class="home-button"
|
|
79
|
+
variant="integration"
|
|
80
|
+
aria-label=${msg("Home")}
|
|
81
|
+
>
|
|
77
82
|
<obi-home></obi-home>
|
|
78
83
|
</obc-icon-button>` : null}
|
|
79
84
|
${this.showLinkButton ? html`<obc-icon-button
|
|
@@ -83,6 +88,7 @@ let ObcIntegrationBar = class extends LitElement {
|
|
|
83
88
|
})}
|
|
84
89
|
part="link-button"
|
|
85
90
|
variant="integration"
|
|
91
|
+
aria-label=${msg("Link")}
|
|
86
92
|
@click=${() => this.dispatchEvent(new CustomEvent("link-button-clicked"))}
|
|
87
93
|
?activated=${this.linkButtonActivated}
|
|
88
94
|
>
|
|
@@ -127,6 +133,7 @@ let ObcIntegrationBar = class extends LitElement {
|
|
|
127
133
|
})}
|
|
128
134
|
part="alert-button"
|
|
129
135
|
variant="integration"
|
|
136
|
+
aria-label=${msg("Alerts")}
|
|
130
137
|
style=${this.alertButtonActivated ? "anchor-name: --settings-menu-anchor;" : ""}
|
|
131
138
|
@click=${() => this.dispatchEvent(new CustomEvent("alert-button-clicked"))}
|
|
132
139
|
?activated=${this.alertButtonActivated}
|
|
@@ -140,6 +147,7 @@ let ObcIntegrationBar = class extends LitElement {
|
|
|
140
147
|
})}
|
|
141
148
|
part="notification-button"
|
|
142
149
|
variant="integration"
|
|
150
|
+
aria-label=${msg("Notifications")}
|
|
143
151
|
style=${this.notificationButtonActivated ? "anchor-name: --settings-menu-anchor;" : ""}
|
|
144
152
|
@click=${() => this.dispatchEvent(
|
|
145
153
|
new CustomEvent("notification-button-clicked")
|
|
@@ -155,6 +163,7 @@ let ObcIntegrationBar = class extends LitElement {
|
|
|
155
163
|
})}
|
|
156
164
|
part="screen-button"
|
|
157
165
|
variant="integration"
|
|
166
|
+
aria-label=${msg("Screen")}
|
|
158
167
|
style=${this.screenButtonActivated ? "anchor-name: --settings-menu-anchor;" : ""}
|
|
159
168
|
@click=${() => this.dispatchEvent(new CustomEvent("screen-button-clicked"))}
|
|
160
169
|
?activated=${this.screenButtonActivated}
|
|
@@ -168,6 +177,7 @@ let ObcIntegrationBar = class extends LitElement {
|
|
|
168
177
|
})}
|
|
169
178
|
part="system-button"
|
|
170
179
|
variant="integration"
|
|
180
|
+
aria-label=${msg("System")}
|
|
171
181
|
style=${this.systemButtonActivated ? "anchor-name: --settings-menu-anchor;" : ""}
|
|
172
182
|
@click=${() => this.dispatchEvent(new CustomEvent("system-button-clicked"))}
|
|
173
183
|
?activated=${this.systemButtonActivated}
|
|
@@ -181,6 +191,7 @@ let ObcIntegrationBar = class extends LitElement {
|
|
|
181
191
|
})}
|
|
182
192
|
part="dimming-button"
|
|
183
193
|
variant="integration"
|
|
194
|
+
aria-label=${msg("Dimming")}
|
|
184
195
|
style=${this.dimmingButtonActivated ? "anchor-name: --settings-menu-anchor;" : ""}
|
|
185
196
|
@click=${() => this.dispatchEvent(new CustomEvent("dimming-button-clicked"))}
|
|
186
197
|
?activated=${this.dimmingButtonActivated}
|
|
@@ -194,6 +205,7 @@ let ObcIntegrationBar = class extends LitElement {
|
|
|
194
205
|
})}
|
|
195
206
|
part="user-button"
|
|
196
207
|
variant="integration"
|
|
208
|
+
aria-label=${msg("User")}
|
|
197
209
|
style=${this.userButtonActivated ? "anchor-name: --settings-menu-anchor;" : ""}
|
|
198
210
|
@click=${() => this.dispatchEvent(new CustomEvent("user-button-clicked"))}
|
|
199
211
|
?activated=${this.userButtonActivated}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-bar.js","sources":["../../../src/integration-systems/integration-bar/integration-bar.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS, nothing} from 'lit';\nimport {customElement} from '../../decorator.js';\nimport compentStyle from './integration-bar.css?inline';\nimport '../integration-tabs/integration-tabs.js';\nimport '../integration-button/integration-button.js';\nimport {\n IntegrationButtonType,\n IntegrationButtonVariant,\n} from '../integration-button/integration-button.js';\nimport '../../components/clock/clock.js';\nimport '../../components/icon-button/icon-button.js';\nimport '../../icons/icon-palette-day-night-iec.js';\nimport '../../icons/icon-user.js';\nimport '../../icons/icon-configure.js';\nimport '../../icons/icon-notification.js';\nimport '../../icons/icon-home.js';\nimport '../../icons/icon-ship.js';\nimport '../../icons/icon-screen-desk.js';\nimport '../../icons/icon-alerts.js';\nimport '../../icons/icon-link.js';\nimport {property, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\n\n/**\n * `<obc-integration-bar>` – A compact top-level integration header for vessel and system navigation controls.\n *\n * Provides a configurable integration bar with home/navigation controls, optional fleet and vessel selection,\n * and optional utility actions such as alerts, notifications, screen, system, dimming, user, and clock.\n *\n * @property hideHomeButton - Hides the home button when true\n * @property showClock - Toggles rendering of the clock slot\n * @property showLinkButton - Toggles visibility of link button\n * @property linkButtonActivated - Activated state of link button\n * @property showUserButton - Toggles visibility of user button\n * @property userButtonActivated - Activated state of user button\n * @property showDimmingButton - Toggles visibility of dimming button\n * @property dimmingButtonActivated - Activated state of dimming button\n * @property showSystemButton - Toggles visibility of system button\n * @property systemButtonActivated - Activated state of system button\n * @property showScreenButton - Toggles visibility of screen button\n * @property screenButtonActivated - Activated state of screen button\n * @property showNotificationButton - Toggles visibility of notification button\n * @property notificationButtonActivated - Activated state of notification button\n * @property showAlertButton - Toggles visibility of alert button\n * @property alertButtonActivated - Activated state of alert button\n * @property showFleetButton - Toggles visibility of fleet button\n * @property fleetButtonSelected - Selected state of fleet button\n * @property fleetButtonActivated - Active state of fleet button while selection is pending\n * @property fleetButtonLabel - Label for the fleet button\n * @slot clock - Custom clock content, rendered when `showClock` is true\n * @slot integration-buttons - Regular vessel integration buttons\n * @slot hug-buttons - Compact vessel integration buttons; slotted integration buttons are forced to hug type\n * @fires fleet-button-click - Fired when the fleet button is clicked\n * @fires link-button-clicked - Fired when the link button is clicked\n * @fires alert-button-clicked - Fired when the alert button is clicked\n * @fires notification-button-clicked - Fired when the notification button is clicked\n * @fires screen-button-clicked - Fired when the screen button is clicked\n * @fires system-button-clicked - Fired when the system button is clicked\n * @fires dimming-button-clicked - Fired when the dimming button is clicked\n * @fires user-button-clicked - Fired when the user button is clicked\n * @experimental\n */\n@customElement('obc-integration-bar')\nexport class ObcIntegrationBar extends LitElement {\n @property({type: Boolean}) hideHomeButton = false;\n @property({type: Boolean}) showClock = false;\n @property({type: Boolean}) showLinkButton = false;\n @property({type: Boolean}) linkButtonActivated = false;\n @property({type: Boolean}) showUserButton = false;\n @property({type: Boolean}) userButtonActivated = false;\n @property({type: Boolean}) showDimmingButton = false;\n @property({type: Boolean}) dimmingButtonActivated = false;\n @property({type: Boolean}) showSystemButton = false;\n @property({type: Boolean}) systemButtonActivated = false;\n @property({type: Boolean}) showScreenButton = false;\n @property({type: Boolean}) screenButtonActivated = false;\n @property({type: Boolean}) showNotificationButton = false;\n @property({type: Boolean}) notificationButtonActivated = false;\n @property({type: Boolean}) showAlertButton = false;\n @property({type: Boolean}) alertButtonActivated = false;\n @property({type: Boolean}) showFleetButton = false;\n @property({type: Boolean}) fleetButtonSelected = false;\n @property({type: Boolean}) fleetButtonActivated = false;\n @property({type: String}) fleetButtonLabel = 'Fleet';\n\n @state() private buttonsOnBar = false;\n\n private onFleetButtonClick() {\n this.dispatchEvent(new CustomEvent('fleet-button-click'));\n }\n\n private onHugButtonsSlotChange(event: Event) {\n const slot = event.currentTarget as HTMLSlotElement;\n const assignedElements = slot.assignedElements({flatten: true});\n\n assignedElements.forEach((element) => {\n if (element.tagName === 'OBC-INTEGRATION-BUTTON') {\n const integrationButton = element as unknown as HTMLElement & {\n type: IntegrationButtonType;\n };\n integrationButton.type = IntegrationButtonType.hug;\n }\n });\n this.buttonsOnBar = true;\n }\n\n private onButtonsSlotChange() {\n this.buttonsOnBar = true;\n }\n\n override render() {\n const isFleetButtonAnchored = this.fleetButtonActivated;\n return html`\n <nav class=\"wrapper\">\n <div class=\"content-container\">\n ${!this.hideHomeButton\n ? html`<obc-icon-button class=\"home-button\" variant=\"integration\">\n <obi-home></obi-home>\n </obc-icon-button>`\n : null}\n ${this.showLinkButton\n ? html`<obc-icon-button\n class=${classMap({\n 'link-button': true,\n activated: this.linkButtonActivated,\n })}\n part=\"link-button\"\n variant=\"integration\"\n @click=${() =>\n this.dispatchEvent(new CustomEvent('link-button-clicked'))}\n ?activated=${this.linkButtonActivated}\n >\n <obi-link></obi-link>\n </obc-icon-button>`\n : null}\n <div class=${classMap({'fleet-vessel-container': true})}>\n ${this.showFleetButton\n ? html`<obc-integration-button\n class=\"fleet-button\"\n .variant=${IntegrationButtonVariant.normal}\n ?selected=${this.fleetButtonSelected}\n ?activated=${this.fleetButtonActivated}\n style=${isFleetButtonAnchored\n ? 'anchor-name: --integration-menu-anchor;'\n : ''}\n @click=${() => this.onFleetButtonClick()}\n >\n <span slot=\"label\">${this.fleetButtonLabel}</span>\n </obc-integration-button>`\n : nothing}\n <div class=\"vessel-container\">\n ${this.buttonsOnBar\n ? nothing\n : html`<div class=\"vessel-button-placeholder\"></div>`}\n <slot\n class=\"hug-buttons-slot\"\n name=\"hug-buttons\"\n @slotchange=${this.onHugButtonsSlotChange}\n ></slot>\n <slot\n class=\"integration-buttons-slot\"\n name=\"integration-buttons\"\n @slotchange=${this.onButtonsSlotChange}\n ></slot>\n </div>\n </div>\n </div>\n <div\n class=${classMap({\n 'buttons-on-bar': this.buttonsOnBar,\n 'right-content-container': true,\n })}\n >\n ${this.showAlertButton\n ? html`<obc-icon-button\n class=${classMap({\n 'alert-button': true,\n activated: this.alertButtonActivated,\n })}\n part=\"alert-button\"\n variant=\"integration\"\n style=${this.alertButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('alert-button-clicked'))}\n ?activated=${this.alertButtonActivated}\n >\n <obi-alerts></obi-alerts>\n </obc-icon-button>`\n : null}\n ${this.showNotificationButton\n ? html`<obc-icon-button\n class=${classMap({\n 'notification-button': true,\n activated: this.notificationButtonActivated,\n })}\n part=\"notification-button\"\n variant=\"integration\"\n style=${this.notificationButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(\n new CustomEvent('notification-button-clicked')\n )}\n ?activated=${this.notificationButtonActivated}\n >\n <obi-notification></obi-notification>\n </obc-icon-button>`\n : null}\n ${this.showScreenButton\n ? html`<obc-icon-button\n class=${classMap({\n 'screen-button': true,\n activated: this.screenButtonActivated,\n })}\n part=\"screen-button\"\n variant=\"integration\"\n style=${this.screenButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('screen-button-clicked'))}\n ?activated=${this.screenButtonActivated}\n >\n <obi-screen-desk></obi-screen-desk>\n </obc-icon-button>`\n : null}\n ${this.showSystemButton\n ? html`<obc-icon-button\n class=${classMap({\n 'system-button': true,\n activated: this.systemButtonActivated,\n })}\n part=\"system-button\"\n variant=\"integration\"\n style=${this.systemButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('system-button-clicked'))}\n ?activated=${this.systemButtonActivated}\n >\n <obi-configure></obi-configure>\n </obc-icon-button>`\n : null}\n ${this.showDimmingButton\n ? html`<obc-icon-button\n class=${classMap({\n 'dimming-button': true,\n activated: this.dimmingButtonActivated,\n })}\n part=\"dimming-button\"\n variant=\"integration\"\n style=${this.dimmingButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('dimming-button-clicked'))}\n ?activated=${this.dimmingButtonActivated}\n >\n <obi-palette-day-night-iec></obi-palette-day-night-iec>\n </obc-icon-button>`\n : null}\n ${this.showUserButton\n ? html`<obc-icon-button\n class=${classMap({\n 'user-button': true,\n activated: this.userButtonActivated,\n })}\n part=\"user-button\"\n variant=\"integration\"\n style=${this.userButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('user-button-clicked'))}\n ?activated=${this.userButtonActivated}\n >\n <obi-user></obi-user>\n </obc-icon-button>`\n : null}\n ${this.showClock ? html`<slot name=\"clock\"></slot>` : null}\n </div>\n </nav>\n `;\n }\n\n static override styles = unsafeCSS(compentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-integration-bar': ObcIntegrationBar;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integration-bar.js","sources":["../../../src/integration-systems/integration-bar/integration-bar.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS, nothing} from 'lit';\nimport {customElement} from '../../decorator.js';\nimport compentStyle from './integration-bar.css?inline';\nimport '../integration-tabs/integration-tabs.js';\nimport '../integration-button/integration-button.js';\nimport {\n IntegrationButtonType,\n IntegrationButtonVariant,\n} from '../integration-button/integration-button.js';\nimport '../../components/clock/clock.js';\nimport '../../components/icon-button/icon-button.js';\nimport '../../icons/icon-palette-day-night-iec.js';\nimport '../../icons/icon-user.js';\nimport '../../icons/icon-configure.js';\nimport '../../icons/icon-notification.js';\nimport '../../icons/icon-home.js';\nimport '../../icons/icon-ship.js';\nimport '../../icons/icon-screen-desk.js';\nimport '../../icons/icon-alerts.js';\nimport '../../icons/icon-link.js';\nimport {property, state} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {msg} from '@lit/localize';\n\n/**\n * `<obc-integration-bar>` – A compact top-level integration header for vessel and system navigation controls.\n *\n * Provides a configurable integration bar with home/navigation controls, optional fleet and vessel selection,\n * and optional utility actions such as alerts, notifications, screen, system, dimming, user, and clock.\n *\n * @property hideHomeButton - Hides the home button when true\n * @property showClock - Toggles rendering of the clock slot\n * @property showLinkButton - Toggles visibility of link button\n * @property linkButtonActivated - Activated state of link button\n * @property showUserButton - Toggles visibility of user button\n * @property userButtonActivated - Activated state of user button\n * @property showDimmingButton - Toggles visibility of dimming button\n * @property dimmingButtonActivated - Activated state of dimming button\n * @property showSystemButton - Toggles visibility of system button\n * @property systemButtonActivated - Activated state of system button\n * @property showScreenButton - Toggles visibility of screen button\n * @property screenButtonActivated - Activated state of screen button\n * @property showNotificationButton - Toggles visibility of notification button\n * @property notificationButtonActivated - Activated state of notification button\n * @property showAlertButton - Toggles visibility of alert button\n * @property alertButtonActivated - Activated state of alert button\n * @property showFleetButton - Toggles visibility of fleet button\n * @property fleetButtonSelected - Selected state of fleet button\n * @property fleetButtonActivated - Active state of fleet button while selection is pending\n * @property fleetButtonLabel - Label for the fleet button\n * @slot clock - Custom clock content, rendered when `showClock` is true\n * @slot integration-buttons - Regular vessel integration buttons\n * @slot hug-buttons - Compact vessel integration buttons; slotted integration buttons are forced to hug type\n * @fires {CustomEvent} fleet-button-click - Fired when the fleet button is clicked\n * @fires {CustomEvent} link-button-clicked - Fired when the link button is clicked\n * @fires {CustomEvent} alert-button-clicked - Fired when the alert button is clicked\n * @fires {CustomEvent} notification-button-clicked - Fired when the notification button is clicked\n * @fires {CustomEvent} screen-button-clicked - Fired when the screen button is clicked\n * @fires {CustomEvent} system-button-clicked - Fired when the system button is clicked\n * @fires {CustomEvent} dimming-button-clicked - Fired when the dimming button is clicked\n * @fires {CustomEvent} user-button-clicked - Fired when the user button is clicked\n * @experimental\n */\n@customElement('obc-integration-bar')\nexport class ObcIntegrationBar extends LitElement {\n @property({type: Boolean}) hideHomeButton = false;\n @property({type: Boolean}) showClock = false;\n @property({type: Boolean}) showLinkButton = false;\n @property({type: Boolean}) linkButtonActivated = false;\n @property({type: Boolean}) showUserButton = false;\n @property({type: Boolean}) userButtonActivated = false;\n @property({type: Boolean}) showDimmingButton = false;\n @property({type: Boolean}) dimmingButtonActivated = false;\n @property({type: Boolean}) showSystemButton = false;\n @property({type: Boolean}) systemButtonActivated = false;\n @property({type: Boolean}) showScreenButton = false;\n @property({type: Boolean}) screenButtonActivated = false;\n @property({type: Boolean}) showNotificationButton = false;\n @property({type: Boolean}) notificationButtonActivated = false;\n @property({type: Boolean}) showAlertButton = false;\n @property({type: Boolean}) alertButtonActivated = false;\n @property({type: Boolean}) showFleetButton = false;\n @property({type: Boolean}) fleetButtonSelected = false;\n @property({type: Boolean}) fleetButtonActivated = false;\n @property({type: String}) fleetButtonLabel = 'Fleet';\n\n @state() private buttonsOnBar = false;\n\n private onFleetButtonClick() {\n this.dispatchEvent(new CustomEvent('fleet-button-click'));\n }\n\n private onHugButtonsSlotChange(event: Event) {\n const slot = event.currentTarget as HTMLSlotElement;\n const assignedElements = slot.assignedElements({flatten: true});\n\n assignedElements.forEach((element) => {\n if (element.tagName === 'OBC-INTEGRATION-BUTTON') {\n const integrationButton = element as unknown as HTMLElement & {\n type: IntegrationButtonType;\n };\n integrationButton.type = IntegrationButtonType.hug;\n }\n });\n this.buttonsOnBar = true;\n }\n\n private onButtonsSlotChange() {\n this.buttonsOnBar = true;\n }\n\n override render() {\n const isFleetButtonAnchored = this.fleetButtonActivated;\n return html`\n <nav class=\"wrapper\">\n <div class=\"content-container\">\n ${!this.hideHomeButton\n ? html`<obc-icon-button\n class=\"home-button\"\n variant=\"integration\"\n aria-label=${msg('Home')}\n >\n <obi-home></obi-home>\n </obc-icon-button>`\n : null}\n ${this.showLinkButton\n ? html`<obc-icon-button\n class=${classMap({\n 'link-button': true,\n activated: this.linkButtonActivated,\n })}\n part=\"link-button\"\n variant=\"integration\"\n aria-label=${msg('Link')}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('link-button-clicked'))}\n ?activated=${this.linkButtonActivated}\n >\n <obi-link></obi-link>\n </obc-icon-button>`\n : null}\n <div class=${classMap({'fleet-vessel-container': true})}>\n ${this.showFleetButton\n ? html`<obc-integration-button\n class=\"fleet-button\"\n .variant=${IntegrationButtonVariant.normal}\n ?selected=${this.fleetButtonSelected}\n ?activated=${this.fleetButtonActivated}\n style=${isFleetButtonAnchored\n ? 'anchor-name: --integration-menu-anchor;'\n : ''}\n @click=${() => this.onFleetButtonClick()}\n >\n <span slot=\"label\">${this.fleetButtonLabel}</span>\n </obc-integration-button>`\n : nothing}\n <div class=\"vessel-container\">\n ${this.buttonsOnBar\n ? nothing\n : html`<div class=\"vessel-button-placeholder\"></div>`}\n <slot\n class=\"hug-buttons-slot\"\n name=\"hug-buttons\"\n @slotchange=${this.onHugButtonsSlotChange}\n ></slot>\n <slot\n class=\"integration-buttons-slot\"\n name=\"integration-buttons\"\n @slotchange=${this.onButtonsSlotChange}\n ></slot>\n </div>\n </div>\n </div>\n <div\n class=${classMap({\n 'buttons-on-bar': this.buttonsOnBar,\n 'right-content-container': true,\n })}\n >\n ${this.showAlertButton\n ? html`<obc-icon-button\n class=${classMap({\n 'alert-button': true,\n activated: this.alertButtonActivated,\n })}\n part=\"alert-button\"\n variant=\"integration\"\n aria-label=${msg('Alerts')}\n style=${this.alertButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('alert-button-clicked'))}\n ?activated=${this.alertButtonActivated}\n >\n <obi-alerts></obi-alerts>\n </obc-icon-button>`\n : null}\n ${this.showNotificationButton\n ? html`<obc-icon-button\n class=${classMap({\n 'notification-button': true,\n activated: this.notificationButtonActivated,\n })}\n part=\"notification-button\"\n variant=\"integration\"\n aria-label=${msg('Notifications')}\n style=${this.notificationButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(\n new CustomEvent('notification-button-clicked')\n )}\n ?activated=${this.notificationButtonActivated}\n >\n <obi-notification></obi-notification>\n </obc-icon-button>`\n : null}\n ${this.showScreenButton\n ? html`<obc-icon-button\n class=${classMap({\n 'screen-button': true,\n activated: this.screenButtonActivated,\n })}\n part=\"screen-button\"\n variant=\"integration\"\n aria-label=${msg('Screen')}\n style=${this.screenButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('screen-button-clicked'))}\n ?activated=${this.screenButtonActivated}\n >\n <obi-screen-desk></obi-screen-desk>\n </obc-icon-button>`\n : null}\n ${this.showSystemButton\n ? html`<obc-icon-button\n class=${classMap({\n 'system-button': true,\n activated: this.systemButtonActivated,\n })}\n part=\"system-button\"\n variant=\"integration\"\n aria-label=${msg('System')}\n style=${this.systemButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('system-button-clicked'))}\n ?activated=${this.systemButtonActivated}\n >\n <obi-configure></obi-configure>\n </obc-icon-button>`\n : null}\n ${this.showDimmingButton\n ? html`<obc-icon-button\n class=${classMap({\n 'dimming-button': true,\n activated: this.dimmingButtonActivated,\n })}\n part=\"dimming-button\"\n variant=\"integration\"\n aria-label=${msg('Dimming')}\n style=${this.dimmingButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('dimming-button-clicked'))}\n ?activated=${this.dimmingButtonActivated}\n >\n <obi-palette-day-night-iec></obi-palette-day-night-iec>\n </obc-icon-button>`\n : null}\n ${this.showUserButton\n ? html`<obc-icon-button\n class=${classMap({\n 'user-button': true,\n activated: this.userButtonActivated,\n })}\n part=\"user-button\"\n variant=\"integration\"\n aria-label=${msg('User')}\n style=${this.userButtonActivated\n ? 'anchor-name: --settings-menu-anchor;'\n : ''}\n @click=${() =>\n this.dispatchEvent(new CustomEvent('user-button-clicked'))}\n ?activated=${this.userButtonActivated}\n >\n <obi-user></obi-user>\n </obc-icon-button>`\n : null}\n ${this.showClock ? html`<slot name=\"clock\"></slot>` : null}\n </div>\n </nav>\n `;\n }\n\n static override styles = unsafeCSS(compentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-integration-bar': ObcIntegrationBar;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEO,IAAM,oBAAN,cAAgC,WAAW;AAAA,EAA3C,cAAA;AAAA,UAAA,GAAA,SAAA;AACsB,SAAA,iBAAiB;AACjB,SAAA,YAAY;AACZ,SAAA,iBAAiB;AACjB,SAAA,sBAAsB;AACtB,SAAA,iBAAiB;AACjB,SAAA,sBAAsB;AACtB,SAAA,oBAAoB;AACpB,SAAA,yBAAyB;AACzB,SAAA,mBAAmB;AACnB,SAAA,wBAAwB;AACxB,SAAA,mBAAmB;AACnB,SAAA,wBAAwB;AACxB,SAAA,yBAAyB;AACzB,SAAA,8BAA8B;AAC9B,SAAA,kBAAkB;AAClB,SAAA,uBAAuB;AACvB,SAAA,kBAAkB;AAClB,SAAA,sBAAsB;AACtB,SAAA,uBAAuB;AACxB,SAAA,mBAAmB;AAEpC,SAAQ,eAAe;AAAA,EAAA;AAAA,EAExB,qBAAqB;AAC3B,SAAK,cAAc,IAAI,YAAY,oBAAoB,CAAC;AAAA,EAC1D;AAAA,EAEQ,uBAAuB,OAAc;AAC3C,UAAM,OAAO,MAAM;AACnB,UAAM,mBAAmB,KAAK,iBAAiB,EAAC,SAAS,MAAK;AAE9D,qBAAiB,QAAQ,CAAC,YAAY;AACpC,UAAI,QAAQ,YAAY,0BAA0B;AAChD,cAAM,oBAAoB;AAG1B,0BAAkB,OAAO,sBAAsB;AAAA,MACjD;AAAA,IACF,CAAC;AACD,SAAK,eAAe;AAAA,EACtB;AAAA,EAEQ,sBAAsB;AAC5B,SAAK,eAAe;AAAA,EACtB;AAAA,EAES,SAAS;AAChB,UAAM,wBAAwB,KAAK;AACnC,WAAO;AAAA;AAAA;AAAA,YAGC,CAAC,KAAK,iBACJ;AAAA;AAAA;AAAA,6BAGe,IAAI,MAAM,CAAC;AAAA;AAAA;AAAA,oCAI1B,IAAI;AAAA,YACN,KAAK,iBACH;AAAA,wBACU,SAAS;AAAA,MACf,eAAe;AAAA,MACf,WAAW,KAAK;AAAA,IAAA,CACjB,CAAC;AAAA;AAAA;AAAA,6BAGW,IAAI,MAAM,CAAC;AAAA,yBACf,MACP,KAAK,cAAc,IAAI,YAAY,qBAAqB,CAAC,CAAC;AAAA,6BAC/C,KAAK,mBAAmB;AAAA;AAAA;AAAA,oCAIvC,IAAI;AAAA,uBACK,SAAS,EAAC,0BAA0B,KAAA,CAAK,CAAC;AAAA,cACnD,KAAK,kBACH;AAAA;AAAA,6BAEa,yBAAyB,MAAM;AAAA,8BAC9B,KAAK,mBAAmB;AAAA,+BACvB,KAAK,oBAAoB;AAAA,0BAC9B,wBACJ,4CACA,EAAE;AAAA,2BACG,MAAM,KAAK,mBAAA,CAAoB;AAAA;AAAA,uCAEnB,KAAK,gBAAgB;AAAA,6CAE5C,OAAO;AAAA;AAAA,gBAEP,KAAK,eACH,UACA,mDAAmD;AAAA;AAAA;AAAA;AAAA,8BAIvC,KAAK,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,8BAK3B,KAAK,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMpC,SAAS;AAAA,MACf,kBAAkB,KAAK;AAAA,MACvB,2BAA2B;AAAA,IAAA,CAC5B,CAAC;AAAA;AAAA,YAEA,KAAK,kBACH;AAAA,wBACU,SAAS;AAAA,MACf,gBAAgB;AAAA,MAChB,WAAW,KAAK;AAAA,IAAA,CACjB,CAAC;AAAA;AAAA;AAAA,6BAGW,IAAI,QAAQ,CAAC;AAAA,wBAClB,KAAK,uBACT,yCACA,EAAE;AAAA,yBACG,MACP,KAAK,cAAc,IAAI,YAAY,sBAAsB,CAAC,CAAC;AAAA,6BAChD,KAAK,oBAAoB;AAAA;AAAA;AAAA,oCAIxC,IAAI;AAAA,YACN,KAAK,yBACH;AAAA,wBACU,SAAS;AAAA,MACf,uBAAuB;AAAA,MACvB,WAAW,KAAK;AAAA,IAAA,CACjB,CAAC;AAAA;AAAA;AAAA,6BAGW,IAAI,eAAe,CAAC;AAAA,wBACzB,KAAK,8BACT,yCACA,EAAE;AAAA,yBACG,MACP,KAAK;AAAA,MACH,IAAI,YAAY,6BAA6B;AAAA,IAAA,CAC9C;AAAA,6BACU,KAAK,2BAA2B;AAAA;AAAA;AAAA,oCAI/C,IAAI;AAAA,YACN,KAAK,mBACH;AAAA,wBACU,SAAS;AAAA,MACf,iBAAiB;AAAA,MACjB,WAAW,KAAK;AAAA,IAAA,CACjB,CAAC;AAAA;AAAA;AAAA,6BAGW,IAAI,QAAQ,CAAC;AAAA,wBAClB,KAAK,wBACT,yCACA,EAAE;AAAA,yBACG,MACP,KAAK,cAAc,IAAI,YAAY,uBAAuB,CAAC,CAAC;AAAA,6BACjD,KAAK,qBAAqB;AAAA;AAAA;AAAA,oCAIzC,IAAI;AAAA,YACN,KAAK,mBACH;AAAA,wBACU,SAAS;AAAA,MACf,iBAAiB;AAAA,MACjB,WAAW,KAAK;AAAA,IAAA,CACjB,CAAC;AAAA;AAAA;AAAA,6BAGW,IAAI,QAAQ,CAAC;AAAA,wBAClB,KAAK,wBACT,yCACA,EAAE;AAAA,yBACG,MACP,KAAK,cAAc,IAAI,YAAY,uBAAuB,CAAC,CAAC;AAAA,6BACjD,KAAK,qBAAqB;AAAA;AAAA;AAAA,oCAIzC,IAAI;AAAA,YACN,KAAK,oBACH;AAAA,wBACU,SAAS;AAAA,MACf,kBAAkB;AAAA,MAClB,WAAW,KAAK;AAAA,IAAA,CACjB,CAAC;AAAA;AAAA;AAAA,6BAGW,IAAI,SAAS,CAAC;AAAA,wBACnB,KAAK,yBACT,yCACA,EAAE;AAAA,yBACG,MACP,KAAK,cAAc,IAAI,YAAY,wBAAwB,CAAC,CAAC;AAAA,6BAClD,KAAK,sBAAsB;AAAA;AAAA;AAAA,oCAI1C,IAAI;AAAA,YACN,KAAK,iBACH;AAAA,wBACU,SAAS;AAAA,MACf,eAAe;AAAA,MACf,WAAW,KAAK;AAAA,IAAA,CACjB,CAAC;AAAA;AAAA;AAAA,6BAGW,IAAI,MAAM,CAAC;AAAA,wBAChB,KAAK,sBACT,yCACA,EAAE;AAAA,yBACG,MACP,KAAK,cAAc,IAAI,YAAY,qBAAqB,CAAC,CAAC;AAAA,6BAC/C,KAAK,mBAAmB;AAAA;AAAA;AAAA,oCAIvC,IAAI;AAAA,YACN,KAAK,YAAY,mCAAmC,IAAI;AAAA;AAAA;AAAA;AAAA,EAIlE;AAGF;AA9Oa,kBA6OK,SAAS,UAAU,YAAY;AA5OpB,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GADd,kBACgB,WAAA,kBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAFd,kBAEgB,WAAA,aAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAHd,kBAGgB,WAAA,kBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAJd,kBAIgB,WAAA,uBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GALd,kBAKgB,WAAA,kBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GANd,kBAMgB,WAAA,uBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAPd,kBAOgB,WAAA,qBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GARd,kBAQgB,WAAA,0BAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GATd,kBASgB,WAAA,oBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAVd,kBAUgB,WAAA,yBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAXd,kBAWgB,WAAA,oBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAZd,kBAYgB,WAAA,yBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAbd,kBAagB,WAAA,0BAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAdd,kBAcgB,WAAA,+BAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAfd,kBAegB,WAAA,mBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAhBd,kBAgBgB,WAAA,wBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAjBd,kBAiBgB,WAAA,mBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAlBd,kBAkBgB,WAAA,uBAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAnBd,kBAmBgB,WAAA,wBAAA,CAAA;AACD,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GApBb,kBAoBe,WAAA,oBAAA,CAAA;AAET,gBAAA;AAAA,EAAhB,MAAA;AAAM,GAtBI,kBAsBM,WAAA,gBAAA,CAAA;AAtBN,oBAAN,gBAAA;AAAA,EADN,cAAc,qBAAqB;AAAA,GACvB,iBAAA;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
1
|
+
import { LitElement, TemplateResult } from 'lit';
|
|
2
2
|
import '../integration-tabs/integration-tabs.js';
|
|
3
3
|
import '../../components/clock/clock.js';
|
|
4
4
|
import '../../components/icon-button/icon-button.js';
|
|
@@ -7,13 +7,42 @@ import '../../icons/icon-user.js';
|
|
|
7
7
|
import '../../icons/icon-configure.js';
|
|
8
8
|
import '../../icons/icon-notification.js';
|
|
9
9
|
import '../../icons/icon-home.js';
|
|
10
|
+
import '../../icons/icon-screen-desk.js';
|
|
11
|
+
import '../../icons/icon-alerts.js';
|
|
12
|
+
import '../../icons/icon-link.js';
|
|
10
13
|
/**
|
|
14
|
+
* `<obc-integration-bar-dropdown>` – A compact top-level integration header with a dropdown selector, status fields and system action buttons.
|
|
11
15
|
*
|
|
12
|
-
* @
|
|
13
|
-
* @
|
|
14
|
-
* @
|
|
15
|
-
* @
|
|
16
|
-
* @
|
|
16
|
+
* @property showHomeButton - Home button at the left end of the bar.
|
|
17
|
+
* @property homeButtonActivated - Pressed styling for the home button.
|
|
18
|
+
* @availableWhen homeButtonActivated showHomeButton==true
|
|
19
|
+
* @property showLinkButton - Link button, between home and the selector.
|
|
20
|
+
* @property linkButtonActivated - Pressed styling for the link button.
|
|
21
|
+
* @availableWhen linkButtonActivated showLinkButton==true
|
|
22
|
+
* @property showClock - Renders the `clock` slot at the right end.
|
|
23
|
+
* @property showAlertButton - Alert button, first in the right-hand group.
|
|
24
|
+
* @property alertButtonActivated - Pressed styling for the alert button.
|
|
25
|
+
* @availableWhen alertButtonActivated showAlertButton==true
|
|
26
|
+
* @property showNotificationButton - Notification button, after the alert button.
|
|
27
|
+
* @property notificationButtonActivated - Pressed styling; the count badge only appears in this state.
|
|
28
|
+
* @availableWhen notificationButtonActivated showNotificationButton==true
|
|
29
|
+
* @property notificationCount - Number drawn in the count badge.
|
|
30
|
+
* @availableWhen notificationCount showNotificationButton==true && showNotificationCount==true && notificationButtonActivated==true
|
|
31
|
+
* @property showNotificationCount - Draws the count badge on the notification button.
|
|
32
|
+
* @availableWhen showNotificationCount showNotificationButton==true && notificationButtonActivated==true
|
|
33
|
+
* @property showScreenButton - Screen button, after the notification button.
|
|
34
|
+
* @property screenButtonActivated - Pressed styling for the screen button.
|
|
35
|
+
* @availableWhen screenButtonActivated showScreenButton==true
|
|
36
|
+
* @property showUserButton - User button, last before the clock.
|
|
37
|
+
* @property userButtonActivated - Pressed styling for the user button.
|
|
38
|
+
* @availableWhen userButtonActivated showUserButton==true
|
|
39
|
+
* @property showDimmingButton - Dimming button, between system and user.
|
|
40
|
+
* @property dimmingButtonActivated - Pressed styling for the dimming button.
|
|
41
|
+
* @availableWhen dimmingButtonActivated showDimmingButton==true
|
|
42
|
+
* @property showSystemButton - System button, after the screen button.
|
|
43
|
+
* @property systemButtonActivated - Pressed styling for the system button.
|
|
44
|
+
* @availableWhen systemButtonActivated showSystemButton==true
|
|
45
|
+
* @property nStatusFields - How many `status-icon-N`/`status-label-N` slot pairs are rendered.
|
|
17
46
|
*
|
|
18
47
|
* @slot vessel-selector - Vessel selector content
|
|
19
48
|
* @slot status-label-1 - Label for the first status field
|
|
@@ -23,25 +52,61 @@ import '../../icons/icon-home.js';
|
|
|
23
52
|
* @slot status-label-3 - Label for the third status field
|
|
24
53
|
* @slot status-icon-3 - Icon for the third status field
|
|
25
54
|
* @slot clock - Custom clock content, rendered when `showClock` is true
|
|
55
|
+
*
|
|
56
|
+
* @fires {CustomEvent} home-button-clicked - Fired when the home button is clicked
|
|
57
|
+
* @fires {CustomEvent} link-button-clicked - Fired when the link button is clicked
|
|
58
|
+
* @fires {CustomEvent} alert-button-clicked - Fired when the alert button is clicked
|
|
59
|
+
* @fires {CustomEvent} dimming-button-clicked - Fired when the dimming button is clicked
|
|
60
|
+
* @fires {CustomEvent} notification-button-clicked - Fired when the notification button is clicked
|
|
61
|
+
* @fires {CustomEvent} screen-button-clicked - Fired when the screen button is clicked
|
|
62
|
+
* @fires {CustomEvent} user-button-clicked - Fired when the user button is clicked
|
|
63
|
+
* @fires {CustomEvent} system-button-clicked - Fired when the system button is clicked
|
|
26
64
|
* @experimental
|
|
27
65
|
*/
|
|
28
66
|
export declare class ObcIntegrationBarDropdown extends LitElement {
|
|
67
|
+
/** Home button at the left end of the bar. */
|
|
29
68
|
showHomeButton: boolean;
|
|
69
|
+
/** Pressed styling for the home button. */
|
|
30
70
|
homeButtonActivated: boolean;
|
|
71
|
+
/** Link button, between home and the selector. */
|
|
72
|
+
showLinkButton: boolean;
|
|
73
|
+
/** Pressed styling for the link button. */
|
|
74
|
+
linkButtonActivated: boolean;
|
|
75
|
+
/** Renders the `clock` slot at the right end. */
|
|
31
76
|
showClock: boolean;
|
|
77
|
+
/** Alert button, first in the right-hand group. */
|
|
78
|
+
showAlertButton: boolean;
|
|
79
|
+
/** Pressed styling for the alert button. */
|
|
80
|
+
alertButtonActivated: boolean;
|
|
81
|
+
/** Notification button, after the alert button. */
|
|
32
82
|
showNotificationButton: boolean;
|
|
83
|
+
/** Pressed styling; the count badge only appears in this state. */
|
|
33
84
|
notificationButtonActivated: boolean;
|
|
85
|
+
/** Number drawn in the count badge. */
|
|
34
86
|
notificationCount: number;
|
|
87
|
+
/** Draws the count badge on the notification button. */
|
|
35
88
|
showNotificationCount: boolean;
|
|
89
|
+
/** Screen button, after the notification button. */
|
|
90
|
+
showScreenButton: boolean;
|
|
91
|
+
/** Pressed styling for the screen button. */
|
|
92
|
+
screenButtonActivated: boolean;
|
|
93
|
+
/** User button, last before the clock. */
|
|
36
94
|
showUserButton: boolean;
|
|
95
|
+
/** Pressed styling for the user button. */
|
|
37
96
|
userButtonActivated: boolean;
|
|
97
|
+
/** Dimming button, between system and user. */
|
|
38
98
|
showDimmingButton: boolean;
|
|
99
|
+
/** Pressed styling for the dimming button. */
|
|
39
100
|
dimmingButtonActivated: boolean;
|
|
101
|
+
/** System button, after the screen button. */
|
|
40
102
|
showSystemButton: boolean;
|
|
103
|
+
/** Pressed styling for the system button. */
|
|
41
104
|
systemButtonActivated: boolean;
|
|
105
|
+
/** How many `status-icon-N`/`status-label-N` slot pairs are rendered. */
|
|
42
106
|
nStatusFields: number;
|
|
43
107
|
private renderStatusFields;
|
|
44
|
-
|
|
108
|
+
private renderIconButton;
|
|
109
|
+
render(): TemplateResult<1>;
|
|
45
110
|
static styles: import('lit').CSSResult;
|
|
46
111
|
}
|
|
47
112
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-bar-dropdown.d.ts","sourceRoot":"","sources":["../../../src/integration-systems/integration-bar-dropdown/integration-bar-dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"integration-bar-dropdown.d.ts","sourceRoot":"","sources":["../../../src/integration-systems/integration-bar-dropdown/integration-bar-dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA4B,KAAK,cAAc,EAAC,MAAM,KAAK,CAAC;AAG9E,OAAO,yCAAyC,CAAC;AACjD,OAAO,iCAAiC,CAAC;AACzC,OAAO,6CAA6C,CAAC;AACrD,OAAO,2CAA2C,CAAC;AACnD,OAAO,0BAA0B,CAAC;AAClC,OAAO,+BAA+B,CAAC;AACvC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,0BAA0B,CAAC;AAClC,OAAO,iCAAiC,CAAC;AACzC,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAKlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,qBACa,yBAA0B,SAAQ,UAAU;IAC5B,cAAc,UAAS;IACvB,mBAAmB,UAAS;IAC5B,cAAc,UAAS;IACvB,mBAAmB,UAAS;IAC5B,SAAS,UAAS;IAClB,eAAe,UAAS;IACxB,oBAAoB,UAAS;IAC7B,sBAAsB,UAAS;IAC/B,2BAA2B,UAAS;IACrC,iBAAiB,SAAK;IACrB,qBAAqB,UAAS;IAC9B,gBAAgB,UAAS;IACzB,qBAAqB,UAAS;IAC9B,cAAc,UAAS;IACvB,mBAAmB,UAAS;IAC5B,iBAAiB,UAAS;IAC1B,sBAAsB,UAAS;IAC/B,gBAAgB,UAAS;IACzB,qBAAqB,UAAS;IAC/B,aAAa,SAAK;IAE5C,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;IAmBf,MAAM;IA+Ff,OAAgB,MAAM,0BAA2B;CAClD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,8BAA8B,EAAE,yBAAyB,CAAC;KAC3D;CACF"}
|
|
@@ -9,8 +9,12 @@ import "../../icons/icon-user.js";
|
|
|
9
9
|
import "../../icons/icon-configure.js";
|
|
10
10
|
import "../../icons/icon-notification.js";
|
|
11
11
|
import "../../icons/icon-home.js";
|
|
12
|
+
import "../../icons/icon-screen-desk.js";
|
|
13
|
+
import "../../icons/icon-alerts.js";
|
|
14
|
+
import "../../icons/icon-link.js";
|
|
12
15
|
import { NotificationButtonStyle } from "../../components/notification-button/notification-button.js";
|
|
13
16
|
import { property } from "lit/decorators.js";
|
|
17
|
+
import { msg } from "@lit/localize";
|
|
14
18
|
var __defProp = Object.defineProperty;
|
|
15
19
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
16
20
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -26,11 +30,17 @@ let ObcIntegrationBarDropdown = class extends LitElement {
|
|
|
26
30
|
super(...arguments);
|
|
27
31
|
this.showHomeButton = false;
|
|
28
32
|
this.homeButtonActivated = false;
|
|
33
|
+
this.showLinkButton = false;
|
|
34
|
+
this.linkButtonActivated = false;
|
|
29
35
|
this.showClock = false;
|
|
36
|
+
this.showAlertButton = false;
|
|
37
|
+
this.alertButtonActivated = false;
|
|
30
38
|
this.showNotificationButton = false;
|
|
31
39
|
this.notificationButtonActivated = false;
|
|
32
40
|
this.notificationCount = 0;
|
|
33
41
|
this.showNotificationCount = false;
|
|
42
|
+
this.showScreenButton = false;
|
|
43
|
+
this.screenButtonActivated = false;
|
|
34
44
|
this.showUserButton = false;
|
|
35
45
|
this.userButtonActivated = false;
|
|
36
46
|
this.showDimmingButton = false;
|
|
@@ -57,60 +67,90 @@ let ObcIntegrationBarDropdown = class extends LitElement {
|
|
|
57
67
|
}
|
|
58
68
|
return html`<div class="status">${result}</div>`;
|
|
59
69
|
}
|
|
70
|
+
// The event name stays a literal at each call site so `cem analyze` can read it.
|
|
71
|
+
renderIconButton(name, activated, label, icon, onClick) {
|
|
72
|
+
return html`<obc-icon-button
|
|
73
|
+
class="${name}-button"
|
|
74
|
+
part="${name}-button"
|
|
75
|
+
variant="integration"
|
|
76
|
+
aria-label=${label}
|
|
77
|
+
@click=${onClick}
|
|
78
|
+
?activated=${activated}
|
|
79
|
+
>
|
|
80
|
+
${icon}
|
|
81
|
+
</obc-icon-button>`;
|
|
82
|
+
}
|
|
60
83
|
render() {
|
|
61
84
|
return html`
|
|
62
85
|
<div class="wrapper">
|
|
63
86
|
<div class="left-side">
|
|
64
|
-
${this.showHomeButton ?
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
87
|
+
${this.showHomeButton ? this.renderIconButton(
|
|
88
|
+
"home",
|
|
89
|
+
this.homeButtonActivated,
|
|
90
|
+
msg("Home"),
|
|
91
|
+
html`<obi-home></obi-home>`,
|
|
92
|
+
() => this.dispatchEvent(new CustomEvent("home-button-clicked"))
|
|
93
|
+
) : nothing}
|
|
94
|
+
${this.showLinkButton ? this.renderIconButton(
|
|
95
|
+
"link",
|
|
96
|
+
this.linkButtonActivated,
|
|
97
|
+
msg("Link"),
|
|
98
|
+
html`<obi-link></obi-link>`,
|
|
99
|
+
() => this.dispatchEvent(new CustomEvent("link-button-clicked"))
|
|
100
|
+
) : nothing}
|
|
73
101
|
<slot name="vessel-selector"></slot>
|
|
74
102
|
${this.renderStatusFields()}
|
|
75
103
|
</div>
|
|
76
104
|
<div class="right-side">
|
|
77
|
-
${this.
|
|
105
|
+
${this.showAlertButton ? this.renderIconButton(
|
|
106
|
+
"alert",
|
|
107
|
+
this.alertButtonActivated,
|
|
108
|
+
msg("Alerts"),
|
|
109
|
+
html`<obi-alerts></obi-alerts>`,
|
|
110
|
+
() => this.dispatchEvent(new CustomEvent("alert-button-clicked"))
|
|
111
|
+
) : nothing}
|
|
112
|
+
${this.showNotificationButton ? (
|
|
113
|
+
// TODO(designer): keep the Enhanced badge button here, or match the
|
|
114
|
+
// sibling bar's plain notification icon button? (#624)
|
|
115
|
+
html`<obc-notification-button
|
|
78
116
|
@click=${() => this.dispatchEvent(
|
|
79
|
-
|
|
80
|
-
|
|
117
|
+
new CustomEvent("notification-button-clicked")
|
|
118
|
+
)}
|
|
81
119
|
.buttonStyle=${NotificationButtonStyle.Enhanced}
|
|
82
120
|
.showCount=${this.showNotificationCount}
|
|
83
121
|
.count=${this.notificationCount}
|
|
84
122
|
?isActive=${this.notificationButtonActivated}
|
|
85
|
-
></obc-notification-button>`
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
123
|
+
></obc-notification-button>`
|
|
124
|
+
) : nothing}
|
|
125
|
+
${this.showScreenButton ? this.renderIconButton(
|
|
126
|
+
"screen",
|
|
127
|
+
this.screenButtonActivated,
|
|
128
|
+
msg("Screen"),
|
|
129
|
+
html`<obi-screen-desk></obi-screen-desk>`,
|
|
130
|
+
() => this.dispatchEvent(new CustomEvent("screen-button-clicked"))
|
|
131
|
+
) : nothing}
|
|
132
|
+
${this.showSystemButton ? this.renderIconButton(
|
|
133
|
+
"system",
|
|
134
|
+
this.systemButtonActivated,
|
|
135
|
+
msg("System"),
|
|
136
|
+
html`<obi-configure></obi-configure>`,
|
|
137
|
+
() => this.dispatchEvent(new CustomEvent("system-button-clicked"))
|
|
138
|
+
) : nothing}
|
|
139
|
+
${this.showDimmingButton ? this.renderIconButton(
|
|
140
|
+
"dimming",
|
|
141
|
+
this.dimmingButtonActivated,
|
|
142
|
+
msg("Dimming"),
|
|
143
|
+
html`<obi-palette-day-night-iec></obi-palette-day-night-iec>`,
|
|
144
|
+
() => this.dispatchEvent(new CustomEvent("dimming-button-clicked"))
|
|
145
|
+
) : nothing}
|
|
146
|
+
${this.showUserButton ? this.renderIconButton(
|
|
147
|
+
"user",
|
|
148
|
+
this.userButtonActivated,
|
|
149
|
+
msg("User"),
|
|
150
|
+
html`<obi-user></obi-user>`,
|
|
151
|
+
() => this.dispatchEvent(new CustomEvent("user-button-clicked"))
|
|
152
|
+
) : nothing}
|
|
153
|
+
${this.showClock ? html`<slot name="clock"></slot>` : nothing}
|
|
114
154
|
</div>
|
|
115
155
|
</div>
|
|
116
156
|
`;
|
|
@@ -123,9 +163,21 @@ __decorateClass([
|
|
|
123
163
|
__decorateClass([
|
|
124
164
|
property({ type: Boolean })
|
|
125
165
|
], ObcIntegrationBarDropdown.prototype, "homeButtonActivated", 2);
|
|
166
|
+
__decorateClass([
|
|
167
|
+
property({ type: Boolean })
|
|
168
|
+
], ObcIntegrationBarDropdown.prototype, "showLinkButton", 2);
|
|
169
|
+
__decorateClass([
|
|
170
|
+
property({ type: Boolean })
|
|
171
|
+
], ObcIntegrationBarDropdown.prototype, "linkButtonActivated", 2);
|
|
126
172
|
__decorateClass([
|
|
127
173
|
property({ type: Boolean })
|
|
128
174
|
], ObcIntegrationBarDropdown.prototype, "showClock", 2);
|
|
175
|
+
__decorateClass([
|
|
176
|
+
property({ type: Boolean })
|
|
177
|
+
], ObcIntegrationBarDropdown.prototype, "showAlertButton", 2);
|
|
178
|
+
__decorateClass([
|
|
179
|
+
property({ type: Boolean })
|
|
180
|
+
], ObcIntegrationBarDropdown.prototype, "alertButtonActivated", 2);
|
|
129
181
|
__decorateClass([
|
|
130
182
|
property({ type: Boolean })
|
|
131
183
|
], ObcIntegrationBarDropdown.prototype, "showNotificationButton", 2);
|
|
@@ -138,6 +190,12 @@ __decorateClass([
|
|
|
138
190
|
__decorateClass([
|
|
139
191
|
property({ type: Boolean })
|
|
140
192
|
], ObcIntegrationBarDropdown.prototype, "showNotificationCount", 2);
|
|
193
|
+
__decorateClass([
|
|
194
|
+
property({ type: Boolean })
|
|
195
|
+
], ObcIntegrationBarDropdown.prototype, "showScreenButton", 2);
|
|
196
|
+
__decorateClass([
|
|
197
|
+
property({ type: Boolean })
|
|
198
|
+
], ObcIntegrationBarDropdown.prototype, "screenButtonActivated", 2);
|
|
141
199
|
__decorateClass([
|
|
142
200
|
property({ type: Boolean })
|
|
143
201
|
], ObcIntegrationBarDropdown.prototype, "showUserButton", 2);
|