@oicl/openbridge-webcomponents 2.0.0-next.50 → 2.0.0-next.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/bundle/openbridge-webcomponents.bundle.js +18016 -17042
  2. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  3. package/custom-elements.json +857 -3
  4. package/dist/components/icon-button/icon-button.css.js +18 -18
  5. package/dist/components/icon-button/icon-button.d.ts +2 -0
  6. package/dist/components/icon-button/icon-button.d.ts.map +1 -1
  7. package/dist/components/icon-button/icon-button.js.map +1 -1
  8. package/dist/integration-systems/integration-bar/integration-bar.css.js +97 -0
  9. package/dist/integration-systems/integration-bar/integration-bar.css.js.map +1 -0
  10. package/dist/integration-systems/integration-bar/integration-bar.d.ts +91 -0
  11. package/dist/integration-systems/integration-bar/integration-bar.d.ts.map +1 -0
  12. package/dist/integration-systems/integration-bar/integration-bar.js +279 -0
  13. package/dist/integration-systems/integration-bar/integration-bar.js.map +1 -0
  14. package/dist/integration-systems/integration-button/integration-button.css.js +457 -149
  15. package/dist/integration-systems/integration-button/integration-button.css.js.map +1 -1
  16. package/dist/integration-systems/integration-button/integration-button.d.ts +37 -1
  17. package/dist/integration-systems/integration-button/integration-button.d.ts.map +1 -1
  18. package/dist/integration-systems/integration-button/integration-button.js +202 -36
  19. package/dist/integration-systems/integration-button/integration-button.js.map +1 -1
  20. package/dist/integration-systems/integration-dropdown-button/integration-dropdown-button.css.js +7 -1
  21. package/dist/integration-systems/integration-dropdown-button/integration-dropdown-button.css.js.map +1 -1
  22. package/dist/integration-systems/integration-vessel-menu/integration-vessel-menu.css.js +75 -0
  23. package/dist/integration-systems/integration-vessel-menu/integration-vessel-menu.css.js.map +1 -0
  24. package/dist/integration-systems/integration-vessel-menu/integration-vessel-menu.d.ts +37 -0
  25. package/dist/integration-systems/integration-vessel-menu/integration-vessel-menu.d.ts.map +1 -0
  26. package/dist/integration-systems/integration-vessel-menu/integration-vessel-menu.js +72 -0
  27. package/dist/integration-systems/integration-vessel-menu/integration-vessel-menu.js.map +1 -0
  28. package/dist/integration-systems/integration-vessel-selector/integration-vessel-selector.css.js +21 -8
  29. package/dist/integration-systems/integration-vessel-selector/integration-vessel-selector.css.js.map +1 -1
  30. package/dist/integration-systems/integration-vessel-selector/integration-vessel-selector.d.ts +2 -0
  31. package/dist/integration-systems/integration-vessel-selector/integration-vessel-selector.d.ts.map +1 -1
  32. package/dist/integration-systems/integration-vessel-selector/integration-vessel-selector.js +5 -0
  33. package/dist/integration-systems/integration-vessel-selector/integration-vessel-selector.js.map +1 -1
  34. package/package.json +3 -3
@@ -0,0 +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 * @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 * @slot vessel-integration-menu - Modal that will appear achored below the fleet/vessel button. Typically an obc-integration-vessel-menu\n * @property {IntegrationBarType} type - Integration bar mode for fleet/vessel presentation\n * @property {boolean} hideHomeButton - Hides the home button when true\n * @property {boolean} showClock - Toggles rendering of the clock slot\n * @property {boolean} showLinkButton - Toggles visibility of link button\n * @property {boolean} linkButtonActivated - Activated state of link button\n * @property {boolean} showUserButton - Toggles visibility of user button\n * @property {boolean} userButtonActivated - Activated state of user button\n * @property {boolean} showDimmingButton - Toggles visibility of dimming button\n * @property {boolean} dimmingButtonActivated - Activated state of dimming button\n * @property {boolean} showSystemButton - Toggles visibility of system button\n * @property {boolean} systemButtonActivated - Activated state of system button\n * @property {boolean} showScreenButton - Toggles visibility of screen button\n * @property {boolean} screenButtonActivated - Activated state of screen button\n * @property {boolean} showNotificationButton - Toggles visibility of notification button\n * @property {boolean} notificationButtonActivated - Activated state of notification button\n * @property {boolean} showAlertButton - Toggles visibility of alert button\n * @property {boolean} alertButtonActivated - Activated state of alert button\n * @property {boolean} showFleetButton - Toggles visibility of fleet button\n * @property {boolean} fleetButtonSelected - Selected state of fleet button\n * @property {boolean} fleetButtonActivated - Active state of fleet button while selection is pending\n * @property {string} fleetButtonLabel - Label for the fleet button\n * @property {string} selectedVesselValue - Selected vessel value\n * @property {string} activeVesselValue - Active vessel value while selection is pending\n * @property {{value: string; label: string}[]} vesselSelectorOptions - Available vessel options\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 */\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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"}