@oicl/openbridge-webcomponents 2.0.0 → 2.1.0-next.1

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 (46) hide show
  1. package/bundle/openbridge-webcomponents.bundle.js +64 -17
  2. package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
  3. package/custom-elements.json +499 -356
  4. package/dist/automation/automation-button/abstract-automation-button-storybook-helpers.d.ts +135 -136
  5. package/dist/automation/automation-button/abstract-automation-button-storybook-helpers.d.ts.map +1 -1
  6. package/dist/automation/automation-button/abstract-automation-button-storybook-helpers.js +2 -18
  7. package/dist/automation/automation-button/abstract-automation-button-storybook-helpers.js.map +1 -1
  8. package/dist/automation/automation-button/abstract-automation-button.d.ts +4 -4
  9. package/dist/automation/automation-button/abstract-automation-button.js +2 -2
  10. package/dist/automation/automation-button/abstract-automation-button.js.map +1 -1
  11. package/dist/automation/automation-button/automation-button.d.ts +4 -4
  12. package/dist/automation/automation-button/automation-button.js.map +1 -1
  13. package/dist/automation/automation-tank/automation-tank.d.ts +47 -3
  14. package/dist/automation/automation-tank/automation-tank.d.ts.map +1 -1
  15. package/dist/automation/automation-tank/automation-tank.js +4 -1
  16. package/dist/automation/automation-tank/automation-tank.js.map +1 -1
  17. package/dist/automation/heat-exchanger/heat-exchanger.d.ts +1 -1
  18. package/dist/automation/heat-exchanger/heat-exchanger.js.map +1 -1
  19. package/dist/automation/heat-pump/heat-pump.d.ts +1 -1
  20. package/dist/automation/heat-pump/heat-pump.js.map +1 -1
  21. package/dist/automation/hydraulic-separator/hydraulic-separator.d.ts +1 -1
  22. package/dist/automation/hydraulic-separator/hydraulic-separator.js.map +1 -1
  23. package/dist/automation/specialty-tank/abstract-specialty-tank.d.ts +14 -5
  24. package/dist/automation/specialty-tank/abstract-specialty-tank.d.ts.map +1 -1
  25. package/dist/automation/specialty-tank/abstract-specialty-tank.js +9 -3
  26. package/dist/automation/specialty-tank/abstract-specialty-tank.js.map +1 -1
  27. package/dist/automation/specialty-tank/specialty-tank-story-meta.d.ts.map +1 -1
  28. package/dist/automation/specialty-tank/specialty-tank-story-meta.js +5 -13
  29. package/dist/automation/specialty-tank/specialty-tank-story-meta.js.map +1 -1
  30. package/dist/automation/transmitter/transmitter.d.ts +77 -8
  31. package/dist/automation/transmitter/transmitter.d.ts.map +1 -1
  32. package/dist/automation/transmitter/transmitter.js +37 -10
  33. package/dist/automation/transmitter/transmitter.js.map +1 -1
  34. package/dist/components/accordion-card/accordion-card.d.ts +31 -6
  35. package/dist/components/accordion-card/accordion-card.d.ts.map +1 -1
  36. package/dist/components/accordion-card/accordion-card.js +13 -1
  37. package/dist/components/accordion-card/accordion-card.js.map +1 -1
  38. package/dist/components/alert-frame/alert-frame-storybook-helpers.d.ts +33 -0
  39. package/dist/components/alert-frame/alert-frame-storybook-helpers.d.ts.map +1 -0
  40. package/dist/components/alert-frame/alert-frame-storybook-helpers.js +30 -0
  41. package/dist/components/alert-frame/alert-frame-storybook-helpers.js.map +1 -0
  42. package/dist/navigation-instruments/readout/readout.d.ts.map +1 -1
  43. package/dist/navigation-instruments/readout/readout.js.map +1 -1
  44. package/dist/navigation-instruments/readout-list-item/readout-list-item.d.ts.map +1 -1
  45. package/dist/navigation-instruments/readout-list-item/readout-list-item.js.map +1 -1
  46. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"transmitter.js","names":[],"sources":["../../../src/automation/transmitter/transmitter.ts"],"sourcesContent":["import {LitElement, html, nothing, unsafeCSS} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport componentStyle from './transmitter.css?inline';\nimport {customElement} from '../../decorator.js';\nimport {LineType} from '../index.js';\nimport {\n TransmitterOrientation,\n transmitterLeaderOffset,\n} from './transmitter-shared.js';\nimport {\n TransmitterButtonSize,\n TransmitterButtonVariant,\n} from '../transmitter-button/transmitter-button.js';\nimport '../transmitter-button/transmitter-button.js';\nimport {\n ObcIndicatorGraphSize,\n type ObcIndicatorGraphLayout,\n} from '../../navigation-instruments/indicator-graph/indicator-graph.js';\nimport '../../navigation-instruments/indicator-graph/indicator-graph.js';\nimport {ObcAlertFrameType} from '../../components/alert-frame/alert-frame.js';\nimport '../../components/alert-frame/alert-frame.js';\n\nexport {\n TransmitterOrientation,\n transmitterLeaderOffset,\n} from './transmitter-shared.js';\n\nexport enum TransmitterType {\n indicator = 'indicator',\n value = 'value',\n horizontalGraph = 'horizontal-graph',\n verticalGraph = 'vertical-graph',\n}\n\n/**\n * `<obc-transmitter>` – A readout label that attaches to a line via a leader\n * line, showing a measured value, a tag identifier, or a value paired with a\n * trend graph.\n *\n * Positioning (orientation + leader line) follows `<obc-automation-readout>`.\n * The value chip is an `<obc-transmitter-button>` and the trend is an\n * `<obc-indicator-graph>` with its area fill enabled.\n *\n * ### Features / Variants\n * - **`type`** – `indicator` (tag pill), `value` (icon/value/unit), or value\n * paired with a `horizontal-graph` (beside) or `vertical-graph` (below).\n * - **`orientation`** – `top`, `right`, `bottom`, `left`; controls which edge\n * the leader line attaches to.\n * - **Segments** – opt into a leading advice segment with `hasAdvice`/\n * `adviceValue` and a setpoint segment with `hasSetPoint`/`setpointValue`;\n * both are read-only and shown in the value chip for non-`indicator` types.\n * - **`hasAlert`** – wraps the whole transmitter in an alarm `<obc-alert-frame>`.\n * - **Formatting** – `fractionDigits`, `maxDigits`, `hintedZeros` and\n * `hasSignSpacer` are forwarded to the value chip to control decimal\n * precision, muted leading-zero padding (e.g. `0012.3`) and the sign\n * column. The advice and setpoint segments reuse the same formatting.\n * `hasDegree` adds a degree column between the value and the unit.\n * `value`, `adviceValue` and `setpointValue` render dashes when they are\n * `NaN`, `null` or `undefined`.\n *\n * ### Slots\n * | Slot Name | Conditions | Purpose |\n * |-----------|-------------------------|---------------------------------|\n * | icon | value/graph + `hasIcon` | Leading icon in the value chip. |\n *\n * @property maxDigits - Integer digits to reserve / hint (independent of `fractionDigits`).\n * @property hasSignSpacer - Reserve a minus-sign column on every segment, filled by the real sign\n * only while a value is negative, so the chip's width does not change\n * across zero.\n * @property hasDegree - Show a degree column between the value and the unit (e.g. `12.3°` then `C`).\n * @property hasAlert - Wrap the transmitter in an `<obc-alert-frame>` (alarm) when true.\n * @property adviceValue - Advisory value shown in the leading advice segment when `hasAdvice`.\n * @property setpointValue - Target value shown in the setpoint segment when `hasSetPoint`.\n * @property tag - Tag identifier shown when `type` is `indicator` (e.g. `TT`).\n * @property idTag - Optional identifier shown below the chip (e.g. `#0000`).\n * @property data - Trend data for the graph types: `[xValues, yValues]`.\n * @slot icon - Leading icon in the value chip.\n *\n * @experimental\n */\n@customElement('obc-transmitter')\nexport class ObcTransmitter extends LitElement {\n @property({type: String}) orientation: TransmitterOrientation =\n TransmitterOrientation.bottom;\n @property({type: String}) type: TransmitterType = TransmitterType.value;\n @property({type: String}) lineType: LineType | undefined = undefined;\n\n @property({type: Number}) value?: number | null;\n @property({type: String}) unit = '';\n @property({type: Number}) fractionDigits = 1;\n\n @property({type: Number}) maxDigits = 0;\n\n @property({type: Boolean}) hintedZeros = false;\n @property({type: Boolean}) hasSignSpacer = false;\n @property({type: Boolean}) hasDegree = false;\n @property({type: String}) size: TransmitterButtonSize =\n TransmitterButtonSize.regular;\n @property({type: Boolean}) hasIcon = false;\n @property({type: Boolean}) hasAdvice = false;\n\n @property({type: Boolean}) hasAlert = false;\n\n @property({type: Number}) adviceValue?: number | null;\n\n @property({type: Boolean}) hasSetPoint = false;\n\n @property({type: Number}) setpointValue?: number | null;\n\n @property({type: String}) tag = '';\n\n @property({type: String}) idTag = '';\n\n @property({type: Array}) data: [number[], number[]] = [[], []];\n\n private get hasGraph() {\n return (\n this.type === TransmitterType.horizontalGraph ||\n this.type === TransmitterType.verticalGraph\n );\n }\n\n private renderButton() {\n const isIndicator = this.type === TransmitterType.indicator;\n return html`\n <obc-transmitter-button\n class=\"chip\"\n .variant=${\n isIndicator\n ? TransmitterButtonVariant.tag\n : TransmitterButtonVariant.value\n }\n .size=${this.size}\n .value=${this.value}\n .unit=${this.unit}\n .fractionDigits=${this.fractionDigits}\n .maxDigits=${this.maxDigits}\n .hintedZeros=${this.hintedZeros}\n .hasSignSpacer=${this.hasSignSpacer}\n .hasDegree=${this.hasDegree}\n .hasIcon=${this.hasIcon}\n .hasAdvice=${this.hasAdvice}\n .adviceValue=${this.adviceValue}\n .hasSetPoint=${this.hasSetPoint}\n .setpointValue=${this.setpointValue}\n .label=${this.tag}\n .idTag=${this.idTag}\n >\n <slot name=\"icon\" slot=\"icon\"></slot>\n </obc-transmitter-button>\n `;\n }\n\n private renderGraph() {\n if (!this.hasGraph) {\n return nothing;\n }\n const layout: ObcIndicatorGraphLayout = {\n size: ObcIndicatorGraphSize.small,\n fill: true,\n };\n return html`\n <div class=\"graph-box\">\n <obc-indicator-graph .data=${this.data} .layout=${layout}>\n </obc-indicator-graph>\n </div>\n `;\n }\n\n private renderLabel() {\n if (!this.idTag) {\n return nothing;\n }\n return html`<div class=\"id-tag\" aria-hidden=\"true\">${this.idTag}</div>`;\n }\n\n private renderContent() {\n return html`\n <div class=\"content\">\n <div class=\"body\">${this.renderButton()} ${this.renderGraph()}</div>\n ${this.renderLabel()}\n </div>\n `;\n }\n\n override render() {\n const content = this.hasAlert\n ? html`\n <obc-alert-frame\n class=\"alert-frame\"\n .type=${ObcAlertFrameType.Regular}\n .wrapContent=${true}\n >\n ${this.renderContent()}\n </obc-alert-frame>\n `\n : this.renderContent();\n\n return html`\n <div\n class=${classMap({\n transmitter: true,\n 'has-alert': this.hasAlert,\n [`orientation-${this.orientation}`]: true,\n [`type-${this.type}`]: true,\n })}\n style=\"--offset: ${transmitterLeaderOffset(this.lineType)}px;\"\n >\n ${content}\n </div>\n `;\n }\n\n static override styles = unsafeCSS(componentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-transmitter': ObcTransmitter;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"transmitter.js","names":[],"sources":["../../../src/automation/transmitter/transmitter.ts"],"sourcesContent":["import {LitElement, html, nothing, unsafeCSS} from 'lit';\nimport type {TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport componentStyle from './transmitter.css?inline';\nimport {customElement} from '../../decorator.js';\nimport {LineType} from '../index.js';\nimport {\n TransmitterOrientation,\n transmitterLeaderOffset,\n} from './transmitter-shared.js';\nimport {\n TransmitterButtonSize,\n TransmitterButtonVariant,\n} from '../transmitter-button/transmitter-button.js';\nimport '../transmitter-button/transmitter-button.js';\nimport {\n ObcIndicatorGraphSize,\n type ObcIndicatorGraphLayout,\n} from '../../navigation-instruments/indicator-graph/indicator-graph.js';\nimport '../../navigation-instruments/indicator-graph/indicator-graph.js';\nimport {\n ObcAlertFrameMode,\n ObcAlertFrameThickness,\n ObcAlertFrameType,\n} from '../../components/alert-frame/alert-frame.js';\nimport '../../components/alert-frame/alert-frame.js';\nimport {AlertType} from '../../types.js';\n\nexport {\n TransmitterOrientation,\n transmitterLeaderOffset,\n} from './transmitter-shared.js';\n\nexport enum TransmitterType {\n indicator = 'indicator',\n value = 'value',\n horizontalGraph = 'horizontal-graph',\n verticalGraph = 'vertical-graph',\n}\n\n/**\n * `<obc-transmitter>` – A readout label that attaches to a line via a leader\n * line, showing a measured value, a tag identifier, or a value paired with a\n * trend graph.\n *\n * Positioning (orientation + leader line) follows `<obc-automation-readout>`.\n * The value chip is an `<obc-transmitter-button>` and the trend is an\n * `<obc-indicator-graph>` with its area fill enabled.\n *\n * ### Features / Variants\n * - **`type`** – `indicator` (tag pill), `value` (icon/value/unit), or value\n * paired with a `horizontal-graph` (beside) or `vertical-graph` (below).\n * - **`orientation`** – `top`, `right`, `bottom`, `left`; controls which edge\n * the leader line attaches to.\n * - **Segments** – opt into a leading advice segment with `hasAdvice`/\n * `adviceValue` and a setpoint segment with `hasSetPoint`/`setpointValue`;\n * both are read-only and shown in the value chip for non-`indicator` types.\n * - **Alert frame** – `hasAlert` wraps the whole transmitter in an\n * `<obc-alert-frame>`. `alertFrameStatus`, `alertFrameType`,\n * `alertFrameThickness` and `alertFrameMode` set its severity, flap, border\n * and flashing, with the same names as on the automation devices; a flap\n * carries the status badge and the `alert-icon`, `alert-label` and\n * `alert-timer` slots.\n * - **Formatting** – `fractionDigits`, `maxDigits`, `hintedZeros` and\n * `hasSignSpacer` are forwarded to the value chip to control decimal\n * precision, muted leading-zero padding (e.g. `0012.3`) and the sign\n * column. The advice and setpoint segments reuse the same formatting.\n * `hasDegree` adds a degree column between the value and the unit.\n * `value`, `adviceValue` and `setpointValue` render dashes when they are\n * `NaN`, `null` or `undefined`.\n *\n * **TODO(designer):** the Figma Transmitter set (25656:45081) draws no alert\n * state, so the frame and its flaps follow the automation devices.\n *\n * ### Slots\n * | Slot Name | Conditions | Purpose |\n * |-------------|----------------------------------------------------------|---------------------------------|\n * | icon | value/graph + `hasIcon` | Leading icon in the value chip. |\n * | alert-icon | `hasAlert` + `showAlertIcon`, large side/bottom/top flap | Custom icon in the alert flap. |\n * | alert-label | `hasAlert`, bottom/top flap | Label in the alert flap. |\n * | alert-timer | `hasAlert`, bottom/top flap | Timer in the alert flap. |\n *\n * @property maxDigits - Integer digits to reserve / hint (independent of `fractionDigits`).\n * @property hasSignSpacer - Reserve a minus-sign column on every segment, filled by the real sign\n * only while a value is negative, so the chip's width does not change\n * across zero.\n * @property hasDegree - Show a degree column between the value and the unit (e.g. `12.3°` then `C`).\n * @property hasAlert - Wrap the transmitter in an `<obc-alert-frame>` when true.\n * @property alertFrameStatus - Severity of the alert frame, which picks its colour and flap badge:\n * `alarm` (default), `warning`, `caution` or one of the `level-*` severities.\n * @availableWhen alertFrameStatus hasAlert==true\n * @property alertFrameType - Flap of the alert frame: `regular` (default) draws the outline alone,\n * `small-side-flip`, `large-side-flip`, `bottom-flip` and `top-flip` add a flap\n * with the status badge.\n * @availableWhen alertFrameType hasAlert==true\n * @property alertFrameThickness - Border of the alert frame: `small` (default) or `large`.\n * @availableWhen alertFrameThickness hasAlert==true\n * @property alertFrameMode - Acknowledgement state of the alert: `acked-active` (default) is steady,\n * `unacked-active` flashes, `unacked-rectified` flashes a dashed frame.\n * @availableWhen alertFrameMode hasAlert==true\n * @property showAlertCategoryIcon - Show the status badge in the flap; a small side flap without it is not drawn.\n * @availableWhen showAlertCategoryIcon hasAlert==true && alertFrameType in [SmallSideFlip, LargeSideFlip, BottomFlip, TopFlip]\n * @property showAlertIcon - Show the `alert-icon` slot in a large side, bottom or top flap.\n * @availableWhen showAlertIcon hasAlert==true && alertFrameType in [LargeSideFlip, BottomFlip, TopFlip]\n * @property adviceValue - Advisory value shown in the leading advice segment when `hasAdvice`.\n * @property setpointValue - Target value shown in the setpoint segment when `hasSetPoint`.\n * @property tag - Tag identifier shown when `type` is `indicator` (e.g. `TT`).\n * @property idTag - Optional identifier shown below the chip (e.g. `#0000`).\n * @property data - Trend data for the graph types: `[xValues, yValues]`.\n * @slot icon - Leading icon in the value chip.\n * @slot alert-icon - Custom icon in the alert flap, shown when `hasAlert` and `showAlertIcon`.\n * @slot alert-label - Label in a bottom or top alert flap, shown when `hasAlert`.\n * @slot alert-timer - Timer in a bottom or top alert flap, shown when `hasAlert`.\n *\n * @experimental\n */\n@customElement('obc-transmitter')\nexport class ObcTransmitter extends LitElement {\n @property({type: String}) orientation: TransmitterOrientation =\n TransmitterOrientation.bottom;\n @property({type: String}) type: TransmitterType = TransmitterType.value;\n @property({type: String}) lineType: LineType | undefined = undefined;\n\n @property({type: Number}) value?: number | null;\n @property({type: String}) unit = '';\n @property({type: Number}) fractionDigits = 1;\n\n @property({type: Number}) maxDigits = 0;\n\n @property({type: Boolean}) hintedZeros = false;\n @property({type: Boolean}) hasSignSpacer = false;\n @property({type: Boolean}) hasDegree = false;\n @property({type: String}) size: TransmitterButtonSize =\n TransmitterButtonSize.regular;\n @property({type: Boolean}) hasIcon = false;\n @property({type: Boolean}) hasAdvice = false;\n\n @property({type: Boolean}) hasAlert = false;\n @property({type: String}) alertFrameStatus: AlertType = AlertType.Alarm;\n @property({type: String}) alertFrameType: ObcAlertFrameType =\n ObcAlertFrameType.Regular;\n @property({type: String}) alertFrameThickness: ObcAlertFrameThickness =\n ObcAlertFrameThickness.Small;\n @property({type: String}) alertFrameMode: ObcAlertFrameMode =\n ObcAlertFrameMode.ackedActive;\n @property({type: Boolean, attribute: false}) showAlertCategoryIcon = true;\n @property({type: Boolean}) showAlertIcon = false;\n\n @property({type: Number}) adviceValue?: number | null;\n\n @property({type: Boolean}) hasSetPoint = false;\n\n @property({type: Number}) setpointValue?: number | null;\n\n @property({type: String}) tag = '';\n\n @property({type: String}) idTag = '';\n\n @property({type: Array}) data: [number[], number[]] = [[], []];\n\n private get hasGraph() {\n return (\n this.type === TransmitterType.horizontalGraph ||\n this.type === TransmitterType.verticalGraph\n );\n }\n\n private renderButton() {\n const isIndicator = this.type === TransmitterType.indicator;\n return html`\n <obc-transmitter-button\n class=\"chip\"\n .variant=${\n isIndicator\n ? TransmitterButtonVariant.tag\n : TransmitterButtonVariant.value\n }\n .size=${this.size}\n .value=${this.value}\n .unit=${this.unit}\n .fractionDigits=${this.fractionDigits}\n .maxDigits=${this.maxDigits}\n .hintedZeros=${this.hintedZeros}\n .hasSignSpacer=${this.hasSignSpacer}\n .hasDegree=${this.hasDegree}\n .hasIcon=${this.hasIcon}\n .hasAdvice=${this.hasAdvice}\n .adviceValue=${this.adviceValue}\n .hasSetPoint=${this.hasSetPoint}\n .setpointValue=${this.setpointValue}\n .label=${this.tag}\n .idTag=${this.idTag}\n >\n <slot name=\"icon\" slot=\"icon\"></slot>\n </obc-transmitter-button>\n `;\n }\n\n private renderGraph() {\n if (!this.hasGraph) {\n return nothing;\n }\n const layout: ObcIndicatorGraphLayout = {\n size: ObcIndicatorGraphSize.small,\n fill: true,\n };\n return html`\n <div class=\"graph-box\">\n <obc-indicator-graph .data=${this.data} .layout=${layout}>\n </obc-indicator-graph>\n </div>\n `;\n }\n\n private renderLabel() {\n if (!this.idTag) {\n return nothing;\n }\n return html`<div class=\"id-tag\" aria-hidden=\"true\">${this.idTag}</div>`;\n }\n\n private renderContent() {\n return html`\n <div class=\"content\">\n <div class=\"body\">${this.renderButton()} ${this.renderGraph()}</div>\n ${this.renderLabel()}\n </div>\n `;\n }\n\n private renderAlertFrame(content: TemplateResult) {\n return html`\n <obc-alert-frame\n class=\"alert-frame\"\n .type=${this.alertFrameType}\n .thickness=${this.alertFrameThickness}\n .status=${this.alertFrameStatus}\n .mode=${this.alertFrameMode}\n .showAlertCategoryIcon=${this.showAlertCategoryIcon}\n .showIcon=${this.showAlertIcon}\n .wrapContent=${true}\n >\n ${content}\n <span slot=\"icon\"><slot name=\"alert-icon\"></slot></span>\n <span slot=\"label\"><slot name=\"alert-label\"></slot></span>\n <span slot=\"timer\"><slot name=\"alert-timer\"></slot></span>\n </obc-alert-frame>\n `;\n }\n\n override render() {\n const content = this.hasAlert\n ? this.renderAlertFrame(this.renderContent())\n : this.renderContent();\n\n return html`\n <div\n class=${classMap({\n transmitter: true,\n 'has-alert': this.hasAlert,\n [`orientation-${this.orientation}`]: true,\n [`type-${this.type}`]: true,\n })}\n style=\"--offset: ${transmitterLeaderOffset(this.lineType)}px;\"\n >\n ${content}\n </div>\n `;\n }\n\n static override styles = unsafeCSS(componentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-transmitter': ObcTransmitter;\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { LitElement, PropertyValues } from 'lit';
2
- import { ObcAlertFrameThickness, ObcAlertFrameType } from '../alert-frame/alert-frame.js';
2
+ import { ObcAlertFrameMode, ObcAlertFrameThickness, ObcAlertFrameType } from '../alert-frame/alert-frame.js';
3
3
  import { AlertType } from '../../types.js';
4
4
  import '../../icons/icon-chevron-down-google.js';
5
5
  import '../alert-frame/alert-frame.js';
@@ -46,7 +46,7 @@ export declare enum Position {
46
46
  * |-------------------|------------------------|-------------------------------------------------------|
47
47
  * | leading-icon | `hasLeadingIcon` true | Icon at the start of the header (e.g., `<obi-placeholder></obi-placeholder>`). |
48
48
  * | expanded-content | Always | Content revealed when the accordion is expanded. |
49
- * | alert-icon | `hasAlert` true | Icon for the alert overlay (slot="icon" in alert frame). |
49
+ * | alert-icon | `hasAlert` and `showAlertIcon` true | Icon for the alert overlay (slot="icon" in alert frame). |
50
50
  * | alert-label | `hasAlert` true | Label text for the alert overlay (slot="label" in alert frame). |
51
51
  * | alert-timer | `hasAlert` true | Timer or duration text for the alert overlay (slot="timer" in alert frame). |
52
52
  *
@@ -62,7 +62,7 @@ export declare enum Position {
62
62
  * - `hasLeadingIcon` (boolean): Enables leading icon slot in header.
63
63
  * - `size` (`AccordionSize` enum): Layout variant, either `'single-line'` (default) or `'large'`.
64
64
  * - `position` (`Position` enum): Controls border radius for stacking (`'top'`, `'bottom'`, `'center'`, `'regular'`).
65
- * - `alertFrameType`, `alertFrameThickness`, `alertFrameStatus`: Configure the alert overlay's appearance (see `obc-alert-frame` for details).
65
+ * - `alertFrameType`, `alertFrameThickness`, `alertFrameStatus`, `alertFrameMode`, `showAlertCategoryIcon`, `showAlertIcon`: Configure the alert overlay's appearance (see `obc-alert-frame` for details).
66
66
  *
67
67
  * ### Events
68
68
  * - `accordion-toggle` – Fired when the accordion is expanded or collapsed. Event detail includes `{ expanded, cardTitle }`.
@@ -96,7 +96,7 @@ export declare enum Position {
96
96
  * @availableWhen statusLabel hasStatusLabel==true
97
97
  * @property expanded - Whether the accordion card is expanded (shows additional content).
98
98
  * @property disabled - Disables the accordion card, preventing user interaction and dimming its appearance.
99
- * @property hasAlert - Shows an alert overlay above the card when true. Configure appearance with `alertFrameType`, `alertFrameThickness`, and `alertFrameStatus`.
99
+ * @property hasAlert - Shows an alert overlay above the card when true. Configure appearance with `alertFrameType`, `alertFrameThickness`, `alertFrameStatus` and `alertFrameMode`.
100
100
  * @property hasDescription - Enables the description text in the header (only in large size).
101
101
  * @property hasStatusLabel - Enables the status label in the header.
102
102
  * @property hasLeadingIcon - Enables the leading icon slot in the header.
@@ -109,6 +109,13 @@ export declare enum Position {
109
109
  * @property alertFrameStatus - Status of the alert frame overlay (used when `hasAlert` is true).
110
110
  * See `obc-alert-frame` for available statuses.
111
111
  * @availableWhen alertFrameStatus hasAlert==true
112
+ * @property alertFrameMode - Acknowledgement state of the alert: `acked-active` (default) is steady,
113
+ * `unacked-active` flashes, `unacked-rectified` flashes a dashed frame.
114
+ * @availableWhen alertFrameMode hasAlert==true
115
+ * @property showAlertCategoryIcon - Shows the alert category icon in the flap; a small side flap without it is not drawn.
116
+ * @availableWhen showAlertCategoryIcon hasAlert==true && alertFrameType in [SmallSideFlip, LargeSideFlip, BottomFlip, TopFlip]
117
+ * @property showAlertIcon - Shows the `alert-icon` slot in a large side, bottom or top flap.
118
+ * @availableWhen showAlertIcon hasAlert==true && alertFrameType in [LargeSideFlip, BottomFlip, TopFlip]
112
119
  * @property position - Border radius for stacking: `regular` (default) rounds every corner,
113
120
  * `top` flattens the bottom edge, `bottom` flattens the top edge, and
114
121
  * `center` flattens both for a card in the middle of a stack.
@@ -116,7 +123,7 @@ export declare enum Position {
116
123
  * `large` adds a description beneath the title.
117
124
  * @slot leading-icon - Icon at the start of the header (shown when `hasLeadingIcon` is true)
118
125
  * @slot expanded-content - Content revealed when the accordion is expanded
119
- * @slot alert-icon - Icon for the alert overlay (used when `hasAlert` is true)
126
+ * @slot alert-icon - Icon for the alert overlay (used when `hasAlert` and `showAlertIcon` are true)
120
127
  * @slot alert-label - Label text for the alert overlay (used when `hasAlert` is true)
121
128
  * @slot alert-timer - Timer/duration text for the alert overlay (used when `hasAlert` is true)
122
129
  * @fires {CustomEvent<{expanded: boolean, cardTitle: string}>} accordion-toggle - Fired when the accordion is expanded or collapsed
@@ -142,7 +149,7 @@ export declare class ObcAccordionCard extends LitElement {
142
149
  expanded: boolean;
143
150
  /** Disables the accordion card, preventing user interaction and dimming its appearance. */
144
151
  disabled: boolean;
145
- /** Shows an alert overlay above the card when true. Configure appearance with `alertFrameType`, `alertFrameThickness`, and `alertFrameStatus`. */
152
+ /** Shows an alert overlay above the card when true. Configure appearance with `alertFrameType`, `alertFrameThickness`, `alertFrameStatus` and `alertFrameMode`. */
146
153
  hasAlert: boolean;
147
154
  /** Enables the description text in the header (only in large size). */
148
155
  hasDescription: boolean;
@@ -172,6 +179,24 @@ export declare class ObcAccordionCard extends LitElement {
172
179
  * Available when `hasAlert==true`.
173
180
  */
174
181
  alertFrameStatus: AlertType;
182
+ /**
183
+ * Acknowledgement state of the alert: `acked-active` (default) is steady, `unacked-active` flashes, `unacked-rectified` flashes a dashed frame.
184
+ *
185
+ * Available when `hasAlert==true`.
186
+ */
187
+ alertFrameMode: ObcAlertFrameMode;
188
+ /**
189
+ * Shows the alert category icon in the flap; a small side flap without it is not drawn.
190
+ *
191
+ * Available when `hasAlert==true && alertFrameType in [SmallSideFlip, LargeSideFlip, BottomFlip, TopFlip]`.
192
+ */
193
+ showAlertCategoryIcon: boolean;
194
+ /**
195
+ * Shows the `alert-icon` slot in a large side, bottom or top flap.
196
+ *
197
+ * Available when `hasAlert==true && alertFrameType in [LargeSideFlip, BottomFlip, TopFlip]`.
198
+ */
199
+ showAlertIcon: boolean;
175
200
  private get shouldShowDescription();
176
201
  private handleToggle;
177
202
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"accordion-card.d.ts","sourceRoot":"","sources":["../../../src/components/accordion-card/accordion-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAmB,KAAK,cAAc,EAAC,MAAM,KAAK,CAAC;AAMrE,OAAO,yCAAyC,CAAC;AACjD,OAAO,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,oBAAY,aAAa;IACvB,UAAU,gBAAgB;IAC1B,KAAK,UAAU;CAChB;AAED,oBAAY,QAAQ;IAClB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IACpB,SAAS,SAAM;IAEf,WAAW,SAAM;IAEjB,WAAW,SAAM;IAEhB,QAAQ,UAAS;IAEjB,QAAQ,UAAS;IAEjB,QAAQ,UAAS;IAEjB,cAAc,UAAS;IAEvB,cAAc,UAAS;IAEvB,cAAc,UAAS;IAExB,QAAQ,EAAE,QAAQ,CAAoB;IAEtC,IAAI,EAAE,aAAa,CAA4B;IAE/C,cAAc,EAAE,iBAAiB,CAC/B;IAEF,mBAAmB,EAAE,sBAAsB,CACtC;IAEL,gBAAgB,EAAE,SAAS,CAAmB;IAExE,OAAO,KAAK,qBAAqB,GAMhC;IAED,OAAO,CAAC,YAAY;IAmBpB;;;;;;;OAOG;IACM,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAYjD,OAAO,CAAC,iBAAiB;IAwCzB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,iBAAiB;IAGzB,OAAO,CAAC,cAAc;IAMb,MAAM;IAuDf,OAAgB,MAAM,0BAA2B;CAClD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
1
+ {"version":3,"file":"accordion-card.d.ts","sourceRoot":"","sources":["../../../src/components/accordion-card/accordion-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAmB,KAAK,cAAc,EAAC,MAAM,KAAK,CAAC;AAMrE,OAAO,yCAAyC,CAAC;AACjD,OAAO,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,oBAAY,aAAa;IACvB,UAAU,gBAAgB;IAC1B,KAAK,UAAU;CAChB;AAED,oBAAY,QAAQ;IAClB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoHG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IACpB,SAAS,SAAM;IAEf,WAAW,SAAM;IAEjB,WAAW,SAAM;IAEhB,QAAQ,UAAS;IAEjB,QAAQ,UAAS;IAEjB,QAAQ,UAAS;IAEjB,cAAc,UAAS;IAEvB,cAAc,UAAS;IAEvB,cAAc,UAAS;IAExB,QAAQ,EAAE,QAAQ,CAAoB;IAEtC,IAAI,EAAE,aAAa,CAA4B;IAE/C,cAAc,EAAE,iBAAiB,CAC/B;IAEF,mBAAmB,EAAE,sBAAsB,CACtC;IAEL,gBAAgB,EAAE,SAAS,CAAmB;IAE9C,cAAc,EAAE,iBAAiB,CAC3B;IAEa,qBAAqB,UAAQ;IAE/C,aAAa,UAAS;IAEjD,OAAO,KAAK,qBAAqB,GAMhC;IAED,OAAO,CAAC,YAAY;IAmBpB;;;;;;;OAOG;IACM,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAYjD,OAAO,CAAC,iBAAiB;IAwCzB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,iBAAiB;IAGzB,OAAO,CAAC,cAAc;IAMb,MAAM;IA0Df,OAAgB,MAAM,0BAA2B;CAClD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
@@ -3,7 +3,7 @@ import { customElement } from "../../decorator.js";
3
3
  import __decorate from "../../_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js";
4
4
  import "../../icons/icon-chevron-down-google.js";
5
5
  import { releaseFocusBefore } from "../../internal/focus.js";
6
- import { ObcAlertFrameThickness, ObcAlertFrameType } from "../alert-frame/alert-frame.js";
6
+ import { ObcAlertFrameMode, ObcAlertFrameThickness, ObcAlertFrameType } from "../alert-frame/alert-frame.js";
7
7
  import accordion_card_default from "./accordion-card.css.js";
8
8
  import { LitElement, html, unsafeCSS } from "lit";
9
9
  import { property } from "lit/decorators.js";
@@ -38,6 +38,9 @@ var ObcAccordionCard = class ObcAccordionCard extends LitElement {
38
38
  this.alertFrameType = ObcAlertFrameType.Regular;
39
39
  this.alertFrameThickness = ObcAlertFrameThickness.Small;
40
40
  this.alertFrameStatus = AlertType.Alarm;
41
+ this.alertFrameMode = ObcAlertFrameMode.ackedActive;
42
+ this.showAlertCategoryIcon = true;
43
+ this.showAlertIcon = false;
41
44
  }
42
45
  get shouldShowDescription() {
43
46
  return this.size === "large" && this.hasDescription && this.description.trim() !== "";
@@ -153,6 +156,9 @@ var ObcAccordionCard = class ObcAccordionCard extends LitElement {
153
156
  .type=${this.alertFrameType}
154
157
  .thickness=${this.alertFrameThickness}
155
158
  .status=${this.alertFrameStatus}
159
+ .mode=${this.alertFrameMode}
160
+ .showAlertCategoryIcon=${this.showAlertCategoryIcon}
161
+ .showIcon=${this.showAlertIcon}
156
162
  >
157
163
  <slot name="alert-icon" slot="icon"></slot>
158
164
  <slot name="alert-label" slot="label"></slot>
@@ -180,6 +186,12 @@ __decorate([property({ type: String })], ObcAccordionCard.prototype, "size", voi
180
186
  __decorate([property({ type: String })], ObcAccordionCard.prototype, "alertFrameType", void 0);
181
187
  __decorate([property({ type: String })], ObcAccordionCard.prototype, "alertFrameThickness", void 0);
182
188
  __decorate([property({ type: String })], ObcAccordionCard.prototype, "alertFrameStatus", void 0);
189
+ __decorate([property({ type: String })], ObcAccordionCard.prototype, "alertFrameMode", void 0);
190
+ __decorate([property({
191
+ type: Boolean,
192
+ attribute: false
193
+ })], ObcAccordionCard.prototype, "showAlertCategoryIcon", void 0);
194
+ __decorate([property({ type: Boolean })], ObcAccordionCard.prototype, "showAlertIcon", void 0);
183
195
  ObcAccordionCard = __decorate([customElement("obc-accordion-card")], ObcAccordionCard);
184
196
  //#endregion
185
197
  export { AccordionSize, ObcAccordionCard, Position };
@@ -1 +1 @@
1
- {"version":3,"file":"accordion-card.js","names":[],"sources":["../../../src/components/accordion-card/accordion-card.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS, type PropertyValues} from 'lit';\nimport {customElement} from '../../decorator.js';\nimport {releaseFocusBefore} from '../../internal/focus.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport compentStyle from './accordion-card.css?inline';\nimport {property} from 'lit/decorators.js';\nimport '../../icons/icon-chevron-down-google.js';\nimport '../alert-frame/alert-frame.js';\nimport {\n ObcAlertFrameThickness,\n ObcAlertFrameType,\n} from '../alert-frame/alert-frame.js';\nimport {AlertType} from '../../types.js';\n\nexport enum AccordionSize {\n SingleLine = 'single-line',\n Large = 'large',\n}\n\nexport enum Position {\n top = 'top',\n bottom = 'bottom',\n center = 'center',\n regular = 'regular',\n}\n\n/**\n * `<obc-accordion-card>` – Expandable/collapsible card component for grouping content in a compact, interactive section (accordion, expandable panel, disclosure).\n *\n * Provides a summary row with optional icon, title, description, and status label. Expands to reveal additional content on click/tap, supporting both single-line and large layouts. Can display an alert overlay for contextual warnings or notifications.\n *\n * ### Features\n * - **Expandable/collapsible:** Click/tap toggles between collapsed and expanded states, revealing or hiding additional content. The panel slides open and closed, and the chevron turns with it; `prefers-reduced-motion: reduce` switches instantly instead.\n * - **Variants:**\n * - **Single-line:** Compact header with only title (and optional icon/status).\n * - **Large:** Header includes a description beneath the title for more detail.\n * - **Positioning:** Supports `top`, `bottom`, `center`, or `regular` (default) border radius/edge styling for stacking multiple accordions.\n * - **Status label:** Optional status text displayed in the header (e.g., \"Active\", \"Warning\").\n * - **Leading icon:** Optional icon slot at the start of the header for visual context.\n * - **Alert overlay:** Can display an alert frame (with icon, label, timer) above the card for warnings or notifications.\n * - **Disabled state:** Prevents interaction and visually indicates non-interactive status.\n * - **Accessibility:** Uses button semantics and ARIA attributes for expand/collapse.\n *\n * ### Usage Guidelines\n * Use `obc-accordion-card` to organize related content in a collapsible section, especially when space is limited or when users may want to focus on one section at a time. Ideal for settings panels, grouped controls, or dashboards where expandable details are needed. Avoid using for persistent, always-visible content.\n *\n * - Use the **single-line** variant for brief titles or when space is tight.\n * - Use the **large** variant when you need to provide a short description or supporting text under the title.\n * - The **status label** is useful for showing quick state info (e.g., \"Active\", \"Error\").\n * - The **alert overlay** is intended for contextual warnings or notifications related to the card's content.\n * - For stacking multiple accordions, adjust the `position` property to control border radii and visual grouping.\n *\n * **TODO(designer):** Confirm if there are recommended limits on title/description length, and if only one accordion should be expanded at a time in a group.\n *\n * ### Slots\n * | Slot Name | Renders When... | Purpose |\n * |-------------------|------------------------|-------------------------------------------------------|\n * | leading-icon | `hasLeadingIcon` true | Icon at the start of the header (e.g., `<obi-placeholder></obi-placeholder>`). |\n * | expanded-content | Always | Content revealed when the accordion is expanded. |\n * | alert-icon | `hasAlert` true | Icon for the alert overlay (slot=\"icon\" in alert frame). |\n * | alert-label | `hasAlert` true | Label text for the alert overlay (slot=\"label\" in alert frame). |\n * | alert-timer | `hasAlert` true | Timer or duration text for the alert overlay (slot=\"timer\" in alert frame). |\n *\n * ### Properties\n * - `expanded` (boolean): Whether the card is expanded (shows additional content). Toggled by user interaction.\n * - `disabled` (boolean): Disables interaction and visually dims the card.\n * - `cardTitle` (string): Main title text shown in the header.\n * - `description` (string): Supporting description (shown only in large size and if `hasDescription` is true).\n * - `statusLabel` (string): Optional status text in the header (shown if `hasStatusLabel` is true).\n * - `hasAlert` (boolean): Shows an alert overlay above the card when true.\n * - `hasDescription` (boolean): Enables description text in large variant.\n * - `hasStatusLabel` (boolean): Enables status label in header.\n * - `hasLeadingIcon` (boolean): Enables leading icon slot in header.\n * - `size` (`AccordionSize` enum): Layout variant, either `'single-line'` (default) or `'large'`.\n * - `position` (`Position` enum): Controls border radius for stacking (`'top'`, `'bottom'`, `'center'`, `'regular'`).\n * - `alertFrameType`, `alertFrameThickness`, `alertFrameStatus`: Configure the alert overlay's appearance (see `obc-alert-frame` for details).\n *\n * ### Events\n * - `accordion-toggle` – Fired when the accordion is expanded or collapsed. Event detail includes `{ expanded, cardTitle }`.\n *\n * ### Best Practices\n * - Only use the alert overlay for important, contextual notifications related to the card's content.\n * - For accessibility, ensure the card title is descriptive and unique within a group.\n * - Avoid nesting interactive elements (like buttons) directly in the header; place them in the expanded content if needed.\n *\n * ### Example:\n * ```\n * <obc-accordion-card\n * cardTitle=\"Settings\"\n * description=\"Configure your preferences\"\n * size=\"large\"\n * hasDescription\n * expanded\n * hasLeadingIcon\n * >\n * <span slot=\"leading-icon\"><obi-placeholder></obi-placeholder></span>\n * <div slot=\"expanded-content\">\n * <!-- Additional settings controls here -->\n * </div>\n * </obc-accordion-card>\n * ```\n *\n * @property cardTitle - Main title text displayed in the accordion header.\n * @property description - Supporting description text shown under the title (only in large size and if `hasDescription` is true).\n * @availableWhen description size==large && hasDescription==true\n * @property statusLabel - Optional status label displayed in the header (shown if `hasStatusLabel` is true).\n * @availableWhen statusLabel hasStatusLabel==true\n * @property expanded - Whether the accordion card is expanded (shows additional content).\n * @property disabled - Disables the accordion card, preventing user interaction and dimming its appearance.\n * @property hasAlert - Shows an alert overlay above the card when true. Configure appearance with `alertFrameType`, `alertFrameThickness`, and `alertFrameStatus`.\n * @property hasDescription - Enables the description text in the header (only in large size).\n * @property hasStatusLabel - Enables the status label in the header.\n * @property hasLeadingIcon - Enables the leading icon slot in the header.\n * @property alertFrameType - Type of the alert frame overlay (used when `hasAlert` is true).\n * See `obc-alert-frame` for available types.\n * @availableWhen alertFrameType hasAlert==true\n * @property alertFrameThickness - Thickness of the alert frame overlay (used when `hasAlert` is true).\n * See `obc-alert-frame` for available thickness values.\n * @availableWhen alertFrameThickness hasAlert==true\n * @property alertFrameStatus - Status of the alert frame overlay (used when `hasAlert` is true).\n * See `obc-alert-frame` for available statuses.\n * @availableWhen alertFrameStatus hasAlert==true\n * @property position - Border radius for stacking: `regular` (default) rounds every corner,\n * `top` flattens the bottom edge, `bottom` flattens the top edge, and\n * `center` flattens both for a card in the middle of a stack.\n * @property size - Layout variant: `single-line` (default) is a compact title-only header,\n * `large` adds a description beneath the title.\n * @slot leading-icon - Icon at the start of the header (shown when `hasLeadingIcon` is true)\n * @slot expanded-content - Content revealed when the accordion is expanded\n * @slot alert-icon - Icon for the alert overlay (used when `hasAlert` is true)\n * @slot alert-label - Label text for the alert overlay (used when `hasAlert` is true)\n * @slot alert-timer - Timer/duration text for the alert overlay (used when `hasAlert` is true)\n * @fires {CustomEvent<{expanded: boolean, cardTitle: string}>} accordion-toggle - Fired when the accordion is expanded or collapsed\n * @cssprop [--obc-accordion-expand-duration=200ms] - How long the panel takes to open and close. The chevron and the card's corners follow it. Ignored under `prefers-reduced-motion: reduce`.\n * @stable\n */\n@customElement('obc-accordion-card')\nexport class ObcAccordionCard extends LitElement {\n @property({type: String}) cardTitle = '';\n\n @property({type: String}) description = '';\n\n @property({type: String}) statusLabel = '';\n\n @property({type: Boolean}) expanded = false;\n\n @property({type: Boolean}) disabled = false;\n\n @property({type: Boolean}) hasAlert = false;\n\n @property({type: Boolean}) hasDescription = false;\n\n @property({type: Boolean}) hasStatusLabel = false;\n\n @property({type: Boolean}) hasLeadingIcon = false;\n\n @property({type: String}) position: Position = Position.regular;\n\n @property({type: String}) size: AccordionSize = AccordionSize.SingleLine;\n\n @property({type: String}) alertFrameType: ObcAlertFrameType =\n ObcAlertFrameType.Regular;\n\n @property({type: String}) alertFrameThickness: ObcAlertFrameThickness =\n ObcAlertFrameThickness.Small;\n\n @property({type: String}) alertFrameStatus: AlertType = AlertType.Alarm;\n\n private get shouldShowDescription() {\n return (\n this.size === AccordionSize.Large &&\n this.hasDescription &&\n this.description.trim() !== ''\n );\n }\n\n private handleToggle() {\n if (this.disabled) return;\n\n this.expanded = !this.expanded;\n\n /**\n * Fired when the accordion is expanded or collapsed.\n * @fires accordion-toggle\n */\n this.dispatchEvent(\n new CustomEvent('accordion-toggle', {\n detail: {\n expanded: this.expanded,\n cardTitle: this.cardTitle,\n },\n })\n );\n }\n\n /**\n * Keeps the keyboard somewhere predictable when the panel closes.\n *\n * A collapsed panel is `inert`, and the browser drops focus out of anything\n * it makes inert — onto `<body>`, two frames later. Clicking the header\n * already leaves focus there; a consumer setting `expanded` while a slotted\n * control has focus is the case that needs the transfer.\n */\n override willUpdate(changed: PropertyValues<this>) {\n if (!changed.has('expanded') || this.expanded) return;\n\n const panel = this.shadowRoot?.querySelector('.panel');\n if (!panel) return;\n releaseFocusBefore(\n panel,\n this.shadowRoot?.querySelector<HTMLButtonElement>('.content-button'),\n this.shadowRoot?.querySelector<HTMLElement>('.wrapper')\n );\n }\n\n private renderContentMain() {\n return html`\n <div class=\"header-container\">\n <div class=\"content-container\">\n ${\n this.hasLeadingIcon\n ? html`\n <div class=\"container-icon\">\n <slot name=\"leading-icon\"></slot>\n </div>\n `\n : ''\n }\n <div class=\"container-labels\">\n <div class=\"label-title\">${this.cardTitle}</div>\n ${\n this.shouldShowDescription\n ? html`\n <div class=\"label-description\">${this.description}</div>\n `\n : ''\n }\n </div>\n ${\n this.hasStatusLabel\n ? html`\n <div class=\"container-status\">\n <div class=\"status\">${this.statusLabel}</div>\n </div>\n `\n : ''\n }\n <div class=\"trailing-icon\">\n <obi-chevron-down-google></obi-chevron-down-google>\n </div>\n </div>\n </div>\n `;\n }\n\n private renderContentAdditional() {\n return html`\n <div class=\"panel\" id=\"accordion-content\" ?inert=${!this.expanded}>\n <div class=\"panel-inner\">\n <div class=\"container-content-additional\">\n <slot name=\"expanded-content\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n private isShartEdgeBottom() {\n return this.position === Position.top || this.position === Position.center;\n }\n private isShartEdgeTop() {\n return (\n this.position === Position.bottom || this.position === Position.center\n );\n }\n\n override render() {\n return html`\n <div\n tabindex=\"-1\"\n class=${classMap({\n wrapper: true,\n 'state-expanded': this.expanded,\n 'state-collapsed': !this.expanded,\n 'state-disabled': this.disabled,\n 'style-single-line': this.size === AccordionSize.SingleLine,\n 'style-large': this.size === AccordionSize.Large,\n 'position-top': this.position === Position.top,\n 'position-bottom': this.position === Position.bottom,\n 'position-center': this.position === Position.center,\n })}\n style=\"position: relative;\"\n >\n <div class=\"card-container\">\n <button\n class=\"content-button\"\n @click=${this.handleToggle}\n ?disabled=${this.disabled}\n aria-expanded=${this.expanded}\n aria-controls=\"accordion-content\"\n >\n ${this.renderContentMain()}\n </button>\n\n ${this.renderContentAdditional()}\n </div>\n\n ${\n this.hasAlert\n ? html`\n <obc-alert-frame\n class=\"alert alert-${this.alertFrameStatus}\"\n .sharpEdgeTopLeft=${this.isShartEdgeTop()}\n .sharpEdgeTopRight=${this.isShartEdgeTop()}\n .sharpEdgeBottomLeft=${this.isShartEdgeBottom()}\n .sharpEdgeBottomRight=${this.isShartEdgeBottom()}\n .type=${this.alertFrameType}\n .thickness=${this.alertFrameThickness}\n .status=${this.alertFrameStatus}\n >\n <slot name=\"alert-icon\" slot=\"icon\"></slot>\n <slot name=\"alert-label\" slot=\"label\"></slot>\n <slot name=\"alert-timer\" slot=\"timer\"></slot>\n </obc-alert-frame>\n `\n : ''\n }\n </div>\n `;\n }\n\n static override styles = unsafeCSS(compentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-accordion-card': ObcAccordionCard;\n }\n}\n"],"mappings":";;;;;;;;;;;AAcA,IAAY,gBAAL,yBAAA,eAAA;CACL,cAAA,gBAAA;CACA,cAAA,WAAA;;AACF,EAAA,CAAA,CAAA;AAEA,IAAY,WAAL,yBAAA,UAAA;CACL,SAAA,SAAA;CACA,SAAA,YAAA;CACA,SAAA,YAAA;CACA,SAAA,aAAA;;AACF,EAAA,CAAA,CAAA;AAiHO,IAAM,mBAAN,MAAM,yBAAyB,WAAW;;;EACT,KAAA,YAAA;EAEE,KAAA,cAAA;EAEA,KAAA,cAAA;EAEF,KAAA,WAAA;EAEA,KAAA,WAAA;EAEA,KAAA,WAAA;EAEM,KAAA,iBAAA;EAEA,KAAA,iBAAA;EAEA,KAAA,iBAAA;;;EAO1C,KAAA,iBAAA,kBAAkB;EAGlB,KAAA,sBAAA,uBAAuB;EAE+B,KAAA,mBAAA,UAAU;;CAElE,IAAY,wBAAwB;EAClC,OACE,KAAK,SAAA,WACL,KAAK,kBACL,KAAK,YAAY,KAAK,MAAM;CAEhC;CAEA,eAAuB;EACrB,IAAI,KAAK,UAAU;EAEnB,KAAK,WAAW,CAAC,KAAK;;;;;EAMtB,KAAK,cACH,IAAI,YAAY,oBAAoB,EAClC,QAAQ;GACN,UAAU,KAAK;GACf,WAAW,KAAK;EAClB,EACF,CAAC,CACH;CACF;;;;;;;;;CAUA,WAAoB,SAA+B;EACjD,IAAI,CAAC,QAAQ,IAAI,UAAU,KAAK,KAAK,UAAU;EAE/C,MAAM,QAAQ,KAAK,YAAY,cAAc,QAAQ;EACrD,IAAI,CAAC,OAAO;EACZ,mBACE,OACA,KAAK,YAAY,cAAiC,iBAAiB,GACnE,KAAK,YAAY,cAA2B,UAAU,CACxD;CACF;CAEA,oBAA4B;EAC1B,OAAO,IAAI;;;YAIH,KAAK,iBACD,IAAI;;;;oBAKJ,GACL;;uCAE4B,KAAK,UAAU;cAExC,KAAK,wBACD,IAAI;qDAC+B,KAAK,YAAY;sBAEpD,GACL;;YAGD,KAAK,iBACD,IAAI;;0CAEsB,KAAK,YAAY;;oBAG3C,GACL;;;;;;;CAOT;CAEA,0BAAkC;EAChC,OAAO,IAAI;yDAC0C,CAAC,KAAK,SAAS;;;;;;;;CAQtE;CAEA,oBAA4B;EAC1B,OAAO,KAAK,aAAA,SAA6B,KAAK,aAAA;CAChD;CACA,iBAAyB;EACvB,OACE,KAAK,aAAA,YAAgC,KAAK,aAAA;CAE9C;CAEA,SAAkB;EAChB,OAAO,IAAI;;;gBAGC,SAAS;GACf,SAAS;GACT,kBAAkB,KAAK;GACvB,mBAAmB,CAAC,KAAK;GACzB,kBAAkB,KAAK;GACvB,qBAAqB,KAAK,SAAA;GAC1B,eAAe,KAAK,SAAA;GACpB,gBAAgB,KAAK,aAAA;GACrB,mBAAmB,KAAK,aAAA;GACxB,mBAAmB,KAAK,aAAA;EAC1B,CAAC,EAAE;;;;;;qBAMU,KAAK,aAAa;wBACf,KAAK,SAAS;4BACV,KAAK,SAAS;;;cAG5B,KAAK,kBAAkB,EAAE;;;YAG3B,KAAK,wBAAwB,EAAE;;;UAIjC,KAAK,WACD,IAAI;;uCAEqB,KAAK,iBAAiB;sCACvB,KAAK,eAAe,EAAE;uCACrB,KAAK,eAAe,EAAE;yCACpB,KAAK,kBAAkB,EAAE;0CACxB,KAAK,kBAAkB,EAAE;0BACzC,KAAK,eAAe;+BACf,KAAK,oBAAoB;4BAC5B,KAAK,iBAAiB;;;;;;kBAOpC,GACL;;;CAGP;;EAEyB,KAAA,SAAA,UAAU,sBAAY;;AACjD;AAlMG,WAAA,CAAA,SAAS,EAAC,MAAM,OAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,aAAA,KAAA,CAAA;AAEvB,WAAA,CAAA,SAAS,EAAC,MAAM,OAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;AAEvB,WAAA,CAAA,SAAS,EAAC,MAAM,OAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;AAEvB,WAAA,CAAA,SAAS,EAAC,MAAM,QAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,YAAA,KAAA,CAAA;AAExB,WAAA,CAAA,SAAS,EAAC,MAAM,QAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,YAAA,KAAA,CAAA;AAExB,WAAA,CAAA,SAAS,EAAC,MAAM,QAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,YAAA,KAAA,CAAA;AAExB,WAAA,CAAA,SAAS,EAAC,MAAM,QAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,kBAAA,KAAA,CAAA;AAExB,WAAA,CAAA,SAAS,EAAC,MAAM,QAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,kBAAA,KAAA,CAAA;AAExB,WAAA,CAAA,SAAS,EAAC,MAAM,QAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,kBAAA,KAAA,CAAA;AAExB,WAAA,CAAA,SAAS,EAAC,MAAM,OAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,YAAA,KAAA,CAAA;AAEvB,WAAA,CAAA,SAAS,EAAC,MAAM,OAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,QAAA,KAAA,CAAA;AAEvB,WAAA,CAAA,SAAS,EAAC,MAAM,OAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,kBAAA,KAAA,CAAA;AAGvB,WAAA,CAAA,SAAS,EAAC,MAAM,OAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,uBAAA,KAAA,CAAA;AAGvB,WAAA,CAAA,SAAS,EAAC,MAAM,OAAM,CAAC,CAAA,GAAA,iBAAA,WAAA,oBAAA,KAAA,CAAA;AA9BzB,mBAAA,WAAA,CAAA,cAAc,oBAAoB,CAAA,GAAA,gBAAA"}
1
+ {"version":3,"file":"accordion-card.js","names":[],"sources":["../../../src/components/accordion-card/accordion-card.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS, type PropertyValues} from 'lit';\nimport {customElement} from '../../decorator.js';\nimport {releaseFocusBefore} from '../../internal/focus.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport compentStyle from './accordion-card.css?inline';\nimport {property} from 'lit/decorators.js';\nimport '../../icons/icon-chevron-down-google.js';\nimport '../alert-frame/alert-frame.js';\nimport {\n ObcAlertFrameMode,\n ObcAlertFrameThickness,\n ObcAlertFrameType,\n} from '../alert-frame/alert-frame.js';\nimport {AlertType} from '../../types.js';\n\nexport enum AccordionSize {\n SingleLine = 'single-line',\n Large = 'large',\n}\n\nexport enum Position {\n top = 'top',\n bottom = 'bottom',\n center = 'center',\n regular = 'regular',\n}\n\n/**\n * `<obc-accordion-card>` – Expandable/collapsible card component for grouping content in a compact, interactive section (accordion, expandable panel, disclosure).\n *\n * Provides a summary row with optional icon, title, description, and status label. Expands to reveal additional content on click/tap, supporting both single-line and large layouts. Can display an alert overlay for contextual warnings or notifications.\n *\n * ### Features\n * - **Expandable/collapsible:** Click/tap toggles between collapsed and expanded states, revealing or hiding additional content. The panel slides open and closed, and the chevron turns with it; `prefers-reduced-motion: reduce` switches instantly instead.\n * - **Variants:**\n * - **Single-line:** Compact header with only title (and optional icon/status).\n * - **Large:** Header includes a description beneath the title for more detail.\n * - **Positioning:** Supports `top`, `bottom`, `center`, or `regular` (default) border radius/edge styling for stacking multiple accordions.\n * - **Status label:** Optional status text displayed in the header (e.g., \"Active\", \"Warning\").\n * - **Leading icon:** Optional icon slot at the start of the header for visual context.\n * - **Alert overlay:** Can display an alert frame (with icon, label, timer) above the card for warnings or notifications.\n * - **Disabled state:** Prevents interaction and visually indicates non-interactive status.\n * - **Accessibility:** Uses button semantics and ARIA attributes for expand/collapse.\n *\n * ### Usage Guidelines\n * Use `obc-accordion-card` to organize related content in a collapsible section, especially when space is limited or when users may want to focus on one section at a time. Ideal for settings panels, grouped controls, or dashboards where expandable details are needed. Avoid using for persistent, always-visible content.\n *\n * - Use the **single-line** variant for brief titles or when space is tight.\n * - Use the **large** variant when you need to provide a short description or supporting text under the title.\n * - The **status label** is useful for showing quick state info (e.g., \"Active\", \"Error\").\n * - The **alert overlay** is intended for contextual warnings or notifications related to the card's content.\n * - For stacking multiple accordions, adjust the `position` property to control border radii and visual grouping.\n *\n * **TODO(designer):** Confirm if there are recommended limits on title/description length, and if only one accordion should be expanded at a time in a group.\n *\n * ### Slots\n * | Slot Name | Renders When... | Purpose |\n * |-------------------|------------------------|-------------------------------------------------------|\n * | leading-icon | `hasLeadingIcon` true | Icon at the start of the header (e.g., `<obi-placeholder></obi-placeholder>`). |\n * | expanded-content | Always | Content revealed when the accordion is expanded. |\n * | alert-icon | `hasAlert` and `showAlertIcon` true | Icon for the alert overlay (slot=\"icon\" in alert frame). |\n * | alert-label | `hasAlert` true | Label text for the alert overlay (slot=\"label\" in alert frame). |\n * | alert-timer | `hasAlert` true | Timer or duration text for the alert overlay (slot=\"timer\" in alert frame). |\n *\n * ### Properties\n * - `expanded` (boolean): Whether the card is expanded (shows additional content). Toggled by user interaction.\n * - `disabled` (boolean): Disables interaction and visually dims the card.\n * - `cardTitle` (string): Main title text shown in the header.\n * - `description` (string): Supporting description (shown only in large size and if `hasDescription` is true).\n * - `statusLabel` (string): Optional status text in the header (shown if `hasStatusLabel` is true).\n * - `hasAlert` (boolean): Shows an alert overlay above the card when true.\n * - `hasDescription` (boolean): Enables description text in large variant.\n * - `hasStatusLabel` (boolean): Enables status label in header.\n * - `hasLeadingIcon` (boolean): Enables leading icon slot in header.\n * - `size` (`AccordionSize` enum): Layout variant, either `'single-line'` (default) or `'large'`.\n * - `position` (`Position` enum): Controls border radius for stacking (`'top'`, `'bottom'`, `'center'`, `'regular'`).\n * - `alertFrameType`, `alertFrameThickness`, `alertFrameStatus`, `alertFrameMode`, `showAlertCategoryIcon`, `showAlertIcon`: Configure the alert overlay's appearance (see `obc-alert-frame` for details).\n *\n * ### Events\n * - `accordion-toggle` – Fired when the accordion is expanded or collapsed. Event detail includes `{ expanded, cardTitle }`.\n *\n * ### Best Practices\n * - Only use the alert overlay for important, contextual notifications related to the card's content.\n * - For accessibility, ensure the card title is descriptive and unique within a group.\n * - Avoid nesting interactive elements (like buttons) directly in the header; place them in the expanded content if needed.\n *\n * ### Example:\n * ```\n * <obc-accordion-card\n * cardTitle=\"Settings\"\n * description=\"Configure your preferences\"\n * size=\"large\"\n * hasDescription\n * expanded\n * hasLeadingIcon\n * >\n * <span slot=\"leading-icon\"><obi-placeholder></obi-placeholder></span>\n * <div slot=\"expanded-content\">\n * <!-- Additional settings controls here -->\n * </div>\n * </obc-accordion-card>\n * ```\n *\n * @property cardTitle - Main title text displayed in the accordion header.\n * @property description - Supporting description text shown under the title (only in large size and if `hasDescription` is true).\n * @availableWhen description size==large && hasDescription==true\n * @property statusLabel - Optional status label displayed in the header (shown if `hasStatusLabel` is true).\n * @availableWhen statusLabel hasStatusLabel==true\n * @property expanded - Whether the accordion card is expanded (shows additional content).\n * @property disabled - Disables the accordion card, preventing user interaction and dimming its appearance.\n * @property hasAlert - Shows an alert overlay above the card when true. Configure appearance with `alertFrameType`, `alertFrameThickness`, `alertFrameStatus` and `alertFrameMode`.\n * @property hasDescription - Enables the description text in the header (only in large size).\n * @property hasStatusLabel - Enables the status label in the header.\n * @property hasLeadingIcon - Enables the leading icon slot in the header.\n * @property alertFrameType - Type of the alert frame overlay (used when `hasAlert` is true).\n * See `obc-alert-frame` for available types.\n * @availableWhen alertFrameType hasAlert==true\n * @property alertFrameThickness - Thickness of the alert frame overlay (used when `hasAlert` is true).\n * See `obc-alert-frame` for available thickness values.\n * @availableWhen alertFrameThickness hasAlert==true\n * @property alertFrameStatus - Status of the alert frame overlay (used when `hasAlert` is true).\n * See `obc-alert-frame` for available statuses.\n * @availableWhen alertFrameStatus hasAlert==true\n * @property alertFrameMode - Acknowledgement state of the alert: `acked-active` (default) is steady,\n * `unacked-active` flashes, `unacked-rectified` flashes a dashed frame.\n * @availableWhen alertFrameMode hasAlert==true\n * @property showAlertCategoryIcon - Shows the alert category icon in the flap; a small side flap without it is not drawn.\n * @availableWhen showAlertCategoryIcon hasAlert==true && alertFrameType in [SmallSideFlip, LargeSideFlip, BottomFlip, TopFlip]\n * @property showAlertIcon - Shows the `alert-icon` slot in a large side, bottom or top flap.\n * @availableWhen showAlertIcon hasAlert==true && alertFrameType in [LargeSideFlip, BottomFlip, TopFlip]\n * @property position - Border radius for stacking: `regular` (default) rounds every corner,\n * `top` flattens the bottom edge, `bottom` flattens the top edge, and\n * `center` flattens both for a card in the middle of a stack.\n * @property size - Layout variant: `single-line` (default) is a compact title-only header,\n * `large` adds a description beneath the title.\n * @slot leading-icon - Icon at the start of the header (shown when `hasLeadingIcon` is true)\n * @slot expanded-content - Content revealed when the accordion is expanded\n * @slot alert-icon - Icon for the alert overlay (used when `hasAlert` and `showAlertIcon` are true)\n * @slot alert-label - Label text for the alert overlay (used when `hasAlert` is true)\n * @slot alert-timer - Timer/duration text for the alert overlay (used when `hasAlert` is true)\n * @fires {CustomEvent<{expanded: boolean, cardTitle: string}>} accordion-toggle - Fired when the accordion is expanded or collapsed\n * @cssprop [--obc-accordion-expand-duration=200ms] - How long the panel takes to open and close. The chevron and the card's corners follow it. Ignored under `prefers-reduced-motion: reduce`.\n * @stable\n */\n@customElement('obc-accordion-card')\nexport class ObcAccordionCard extends LitElement {\n @property({type: String}) cardTitle = '';\n\n @property({type: String}) description = '';\n\n @property({type: String}) statusLabel = '';\n\n @property({type: Boolean}) expanded = false;\n\n @property({type: Boolean}) disabled = false;\n\n @property({type: Boolean}) hasAlert = false;\n\n @property({type: Boolean}) hasDescription = false;\n\n @property({type: Boolean}) hasStatusLabel = false;\n\n @property({type: Boolean}) hasLeadingIcon = false;\n\n @property({type: String}) position: Position = Position.regular;\n\n @property({type: String}) size: AccordionSize = AccordionSize.SingleLine;\n\n @property({type: String}) alertFrameType: ObcAlertFrameType =\n ObcAlertFrameType.Regular;\n\n @property({type: String}) alertFrameThickness: ObcAlertFrameThickness =\n ObcAlertFrameThickness.Small;\n\n @property({type: String}) alertFrameStatus: AlertType = AlertType.Alarm;\n\n @property({type: String}) alertFrameMode: ObcAlertFrameMode =\n ObcAlertFrameMode.ackedActive;\n\n @property({type: Boolean, attribute: false}) showAlertCategoryIcon = true;\n\n @property({type: Boolean}) showAlertIcon = false;\n\n private get shouldShowDescription() {\n return (\n this.size === AccordionSize.Large &&\n this.hasDescription &&\n this.description.trim() !== ''\n );\n }\n\n private handleToggle() {\n if (this.disabled) return;\n\n this.expanded = !this.expanded;\n\n /**\n * Fired when the accordion is expanded or collapsed.\n * @fires accordion-toggle\n */\n this.dispatchEvent(\n new CustomEvent('accordion-toggle', {\n detail: {\n expanded: this.expanded,\n cardTitle: this.cardTitle,\n },\n })\n );\n }\n\n /**\n * Keeps the keyboard somewhere predictable when the panel closes.\n *\n * A collapsed panel is `inert`, and the browser drops focus out of anything\n * it makes inert — onto `<body>`, two frames later. Clicking the header\n * already leaves focus there; a consumer setting `expanded` while a slotted\n * control has focus is the case that needs the transfer.\n */\n override willUpdate(changed: PropertyValues<this>) {\n if (!changed.has('expanded') || this.expanded) return;\n\n const panel = this.shadowRoot?.querySelector('.panel');\n if (!panel) return;\n releaseFocusBefore(\n panel,\n this.shadowRoot?.querySelector<HTMLButtonElement>('.content-button'),\n this.shadowRoot?.querySelector<HTMLElement>('.wrapper')\n );\n }\n\n private renderContentMain() {\n return html`\n <div class=\"header-container\">\n <div class=\"content-container\">\n ${\n this.hasLeadingIcon\n ? html`\n <div class=\"container-icon\">\n <slot name=\"leading-icon\"></slot>\n </div>\n `\n : ''\n }\n <div class=\"container-labels\">\n <div class=\"label-title\">${this.cardTitle}</div>\n ${\n this.shouldShowDescription\n ? html`\n <div class=\"label-description\">${this.description}</div>\n `\n : ''\n }\n </div>\n ${\n this.hasStatusLabel\n ? html`\n <div class=\"container-status\">\n <div class=\"status\">${this.statusLabel}</div>\n </div>\n `\n : ''\n }\n <div class=\"trailing-icon\">\n <obi-chevron-down-google></obi-chevron-down-google>\n </div>\n </div>\n </div>\n `;\n }\n\n private renderContentAdditional() {\n return html`\n <div class=\"panel\" id=\"accordion-content\" ?inert=${!this.expanded}>\n <div class=\"panel-inner\">\n <div class=\"container-content-additional\">\n <slot name=\"expanded-content\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n private isShartEdgeBottom() {\n return this.position === Position.top || this.position === Position.center;\n }\n private isShartEdgeTop() {\n return (\n this.position === Position.bottom || this.position === Position.center\n );\n }\n\n override render() {\n return html`\n <div\n tabindex=\"-1\"\n class=${classMap({\n wrapper: true,\n 'state-expanded': this.expanded,\n 'state-collapsed': !this.expanded,\n 'state-disabled': this.disabled,\n 'style-single-line': this.size === AccordionSize.SingleLine,\n 'style-large': this.size === AccordionSize.Large,\n 'position-top': this.position === Position.top,\n 'position-bottom': this.position === Position.bottom,\n 'position-center': this.position === Position.center,\n })}\n style=\"position: relative;\"\n >\n <div class=\"card-container\">\n <button\n class=\"content-button\"\n @click=${this.handleToggle}\n ?disabled=${this.disabled}\n aria-expanded=${this.expanded}\n aria-controls=\"accordion-content\"\n >\n ${this.renderContentMain()}\n </button>\n\n ${this.renderContentAdditional()}\n </div>\n\n ${\n this.hasAlert\n ? html`\n <obc-alert-frame\n class=\"alert alert-${this.alertFrameStatus}\"\n .sharpEdgeTopLeft=${this.isShartEdgeTop()}\n .sharpEdgeTopRight=${this.isShartEdgeTop()}\n .sharpEdgeBottomLeft=${this.isShartEdgeBottom()}\n .sharpEdgeBottomRight=${this.isShartEdgeBottom()}\n .type=${this.alertFrameType}\n .thickness=${this.alertFrameThickness}\n .status=${this.alertFrameStatus}\n .mode=${this.alertFrameMode}\n .showAlertCategoryIcon=${this.showAlertCategoryIcon}\n .showIcon=${this.showAlertIcon}\n >\n <slot name=\"alert-icon\" slot=\"icon\"></slot>\n <slot name=\"alert-label\" slot=\"label\"></slot>\n <slot name=\"alert-timer\" slot=\"timer\"></slot>\n </obc-alert-frame>\n `\n : ''\n }\n </div>\n `;\n }\n\n static override styles = unsafeCSS(compentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-accordion-card': ObcAccordionCard;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { ObcAlertFrameMode, ObcAlertFrameStatus, ObcAlertFrameThickness, ObcAlertFrameType } from './alert-frame.js';
2
+ /**
3
+ * Story controls for the alert-frame properties a component forwards under the
4
+ * shared names: `alertFrameType`, `alertFrameThickness`, `alertFrameStatus`
5
+ * and `alertFrameMode`. Spread it into the story's `argTypes`.
6
+ */
7
+ export declare const argTypesAlertFrame: {
8
+ readonly alertFrameType: {
9
+ readonly options: ObcAlertFrameType[];
10
+ readonly control: {
11
+ readonly type: "radio";
12
+ };
13
+ };
14
+ readonly alertFrameThickness: {
15
+ readonly options: ObcAlertFrameThickness[];
16
+ readonly control: {
17
+ readonly type: "radio";
18
+ };
19
+ };
20
+ readonly alertFrameStatus: {
21
+ readonly options: ObcAlertFrameStatus[];
22
+ readonly control: {
23
+ readonly type: "radio";
24
+ };
25
+ };
26
+ readonly alertFrameMode: {
27
+ readonly options: ObcAlertFrameMode[];
28
+ readonly control: {
29
+ readonly type: "radio";
30
+ };
31
+ };
32
+ };
33
+ //# sourceMappingURL=alert-frame-storybook-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-frame-storybook-helpers.d.ts","sourceRoot":"","sources":["../../../src/components/alert-frame/alert-frame-storybook-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;CAiBrB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { AlertType } from "../../types.js";
2
+ import { ObcAlertFrameMode, ObcAlertFrameThickness, ObcAlertFrameType } from "./alert-frame.js";
3
+ //#region src/components/alert-frame/alert-frame-storybook-helpers.ts
4
+ /**
5
+ * Story controls for the alert-frame properties a component forwards under the
6
+ * shared names: `alertFrameType`, `alertFrameThickness`, `alertFrameStatus`
7
+ * and `alertFrameMode`. Spread it into the story's `argTypes`.
8
+ */
9
+ var argTypesAlertFrame = {
10
+ alertFrameType: {
11
+ options: Object.values(ObcAlertFrameType),
12
+ control: { type: "radio" }
13
+ },
14
+ alertFrameThickness: {
15
+ options: Object.values(ObcAlertFrameThickness),
16
+ control: { type: "radio" }
17
+ },
18
+ alertFrameStatus: {
19
+ options: Object.values(AlertType),
20
+ control: { type: "radio" }
21
+ },
22
+ alertFrameMode: {
23
+ options: Object.values(ObcAlertFrameMode),
24
+ control: { type: "radio" }
25
+ }
26
+ };
27
+ //#endregion
28
+ export { argTypesAlertFrame };
29
+
30
+ //# sourceMappingURL=alert-frame-storybook-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-frame-storybook-helpers.js","names":[],"sources":["../../../src/components/alert-frame/alert-frame-storybook-helpers.ts"],"sourcesContent":["import {\n ObcAlertFrameMode,\n ObcAlertFrameStatus,\n ObcAlertFrameThickness,\n ObcAlertFrameType,\n} from './alert-frame.js';\n\n/**\n * Story controls for the alert-frame properties a component forwards under the\n * shared names: `alertFrameType`, `alertFrameThickness`, `alertFrameStatus`\n * and `alertFrameMode`. Spread it into the story's `argTypes`.\n */\nexport const argTypesAlertFrame = {\n alertFrameType: {\n options: Object.values(ObcAlertFrameType),\n control: {type: 'radio'},\n },\n alertFrameThickness: {\n options: Object.values(ObcAlertFrameThickness),\n control: {type: 'radio'},\n },\n alertFrameStatus: {\n options: Object.values(ObcAlertFrameStatus),\n control: {type: 'radio'},\n },\n alertFrameMode: {\n options: Object.values(ObcAlertFrameMode),\n control: {type: 'radio'},\n },\n} as const;\n"],"mappings":";;;;;;;;AAYA,IAAa,qBAAqB;CAChC,gBAAgB;EACd,SAAS,OAAO,OAAO,iBAAiB;EACxC,SAAS,EAAC,MAAM,QAAO;CACzB;CACA,qBAAqB;EACnB,SAAS,OAAO,OAAO,sBAAsB;EAC7C,SAAS,EAAC,MAAM,QAAO;CACzB;CACA,kBAAkB;EAChB,SAAS,OAAO,OAAO,SAAmB;EAC1C,SAAS,EAAC,MAAM,QAAO;CACzB;CACA,gBAAgB;EACd,SAAS,OAAO,OAAO,iBAAiB;EACxC,SAAS,EAAC,MAAM,QAAO;CACzB;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"readout.d.ts","sourceRoot":"","sources":["../../../src/navigation-instruments/readout/readout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readout.d.ts","sourceRoot":"","sources":["../../../src/navigation-instruments/readout/readout.ts"],"names":[],"mappings":"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"}