@oicl/openbridge-webcomponents 2.0.0-next.96 → 2.0.0-next.98
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 +39 -124
- package/bundle/openbridge-webcomponents.bundle.js.map +1 -1
- package/custom-elements.json +343 -142
- package/dist/ar/poi/poi.d.ts +4 -2
- package/dist/ar/poi/poi.d.ts.map +1 -1
- package/dist/ar/poi/poi.js.map +1 -1
- package/dist/ar/poi-layer/poi-layer.d.ts +1 -0
- package/dist/ar/poi-layer/poi-layer.d.ts.map +1 -1
- package/dist/ar/poi-layer/poi-layer.js.map +1 -1
- package/dist/ar/poi-object/poi-object-aton.d.ts +1 -0
- package/dist/ar/poi-object/poi-object-aton.d.ts.map +1 -1
- package/dist/ar/poi-object/poi-object-aton.js.map +1 -1
- package/dist/automation/automation-badge/automation-badge.d.ts +2 -0
- package/dist/automation/automation-badge/automation-badge.d.ts.map +1 -1
- package/dist/automation/automation-badge/automation-badge.js.map +1 -1
- package/dist/automation/automation-button/automation-button.d.ts +9 -0
- package/dist/automation/automation-button/automation-button.d.ts.map +1 -1
- package/dist/automation/automation-button/automation-button.js.map +1 -1
- package/dist/automation/automation-input-modal/automation-input-modal.d.ts +4 -0
- package/dist/automation/automation-input-modal/automation-input-modal.d.ts.map +1 -1
- package/dist/automation/automation-input-modal/automation-input-modal.js.map +1 -1
- package/dist/automation/automation-tank/automation-tank.css.js +8 -87
- package/dist/automation/automation-tank/automation-tank.css.js.map +1 -1
- package/dist/automation/automation-tank/automation-tank.d.ts +13 -33
- package/dist/automation/automation-tank/automation-tank.d.ts.map +1 -1
- package/dist/automation/automation-tank/automation-tank.js +12 -28
- package/dist/automation/automation-tank/automation-tank.js.map +1 -1
- package/dist/building-blocks/alert-list/alert-list.d.ts +4 -0
- package/dist/building-blocks/alert-list/alert-list.d.ts.map +1 -1
- package/dist/building-blocks/alert-list/alert-list.js.map +1 -1
- package/dist/building-blocks/bar-horizontal/bar-horizontal.d.ts +2 -0
- package/dist/building-blocks/bar-horizontal/bar-horizontal.d.ts.map +1 -1
- package/dist/building-blocks/bar-horizontal/bar-horizontal.js.map +1 -1
- package/dist/building-blocks/bar-vertical/bar-vertical.d.ts +2 -0
- package/dist/building-blocks/bar-vertical/bar-vertical.d.ts.map +1 -1
- package/dist/building-blocks/bar-vertical/bar-vertical.js.map +1 -1
- package/dist/components/advice-floating-item/advice-floating-item.d.ts +2 -4
- package/dist/components/advice-floating-item/advice-floating-item.d.ts.map +1 -1
- package/dist/components/advice-floating-item/advice-floating-item.js.map +1 -1
- package/dist/components/advice-message-item/advice-message-item.d.ts +6 -19
- package/dist/components/advice-message-item/advice-message-item.d.ts.map +1 -1
- package/dist/components/advice-message-item/advice-message-item.js.map +1 -1
- package/dist/components/alert-floating-item/alert-floating-item.d.ts +12 -0
- package/dist/components/alert-floating-item/alert-floating-item.d.ts.map +1 -1
- package/dist/components/alert-floating-item/alert-floating-item.js.map +1 -1
- package/dist/components/alert-menu/alert-menu.d.ts +6 -20
- package/dist/components/alert-menu/alert-menu.d.ts.map +1 -1
- package/dist/components/alert-menu/alert-menu.js.map +1 -1
- package/dist/components/alert-menu-item/alert-menu-item.d.ts +4 -0
- package/dist/components/alert-menu-item/alert-menu-item.d.ts.map +1 -1
- package/dist/components/alert-menu-item/alert-menu-item.js.map +1 -1
- package/dist/components/chat-message/chat-message.d.ts +3 -0
- package/dist/components/chat-message/chat-message.d.ts.map +1 -1
- package/dist/components/chat-message/chat-message.js.map +1 -1
- package/dist/components/elevated-card-radio/elevated-card-radio.d.ts +2 -6
- package/dist/components/elevated-card-radio/elevated-card-radio.d.ts.map +1 -1
- package/dist/components/elevated-card-radio/elevated-card-radio.js.map +1 -1
- package/dist/components/keyboard-numeric/keyboard-numeric.d.ts +6 -0
- package/dist/components/keyboard-numeric/keyboard-numeric.d.ts.map +1 -1
- package/dist/components/keyboard-numeric/keyboard-numeric.js.map +1 -1
- package/dist/components/notification-floating-item/notification-floating-item.d.ts +2 -4
- package/dist/components/notification-floating-item/notification-floating-item.d.ts.map +1 -1
- package/dist/components/notification-floating-item/notification-floating-item.js.map +1 -1
- package/dist/components/sequence-card/sequence-card.d.ts +9 -0
- package/dist/components/sequence-card/sequence-card.d.ts.map +1 -1
- package/dist/components/sequence-card/sequence-card.js.map +1 -1
- package/dist/components/sequence-item/sequence-item.d.ts +5 -0
- package/dist/components/sequence-item/sequence-item.d.ts.map +1 -1
- package/dist/components/sequence-item/sequence-item.js.map +1 -1
- package/dist/components/sequence-modal/sequence-modal.d.ts +4 -0
- package/dist/components/sequence-modal/sequence-modal.d.ts.map +1 -1
- package/dist/components/sequence-modal/sequence-modal.js.map +1 -1
- package/dist/components/sequence-step/sequence-step.d.ts.map +1 -1
- package/dist/components/sequence-step/sequence-step.js.map +1 -1
- package/dist/components/slider-double/slider-double.d.ts +4 -8
- package/dist/components/slider-double/slider-double.d.ts.map +1 -1
- package/dist/components/slider-double/slider-double.js.map +1 -1
- package/dist/components/status-indicator/status-indicator.d.ts +1 -0
- package/dist/components/status-indicator/status-indicator.d.ts.map +1 -1
- package/dist/components/status-indicator/status-indicator.js.map +1 -1
- package/dist/components/system-menu/system-menu.d.ts +2 -0
- package/dist/components/system-menu/system-menu.d.ts.map +1 -1
- package/dist/components/system-menu/system-menu.js.map +1 -1
- package/dist/components/table-header-item/table-header-item.d.ts +2 -0
- package/dist/components/table-header-item/table-header-item.d.ts.map +1 -1
- package/dist/components/table-header-item/table-header-item.js.map +1 -1
- package/dist/components/tag/tag.d.ts +1 -0
- package/dist/components/tag/tag.d.ts.map +1 -1
- package/dist/components/tag/tag.js.map +1 -1
- package/dist/components/toggletip/toggletip.d.ts +4 -4
- package/dist/components/toggletip/toggletip.js.map +1 -1
- package/dist/components/user-menu/user-menu.d.ts +1 -0
- package/dist/components/user-menu/user-menu.d.ts.map +1 -1
- package/dist/components/user-menu/user-menu.js.map +1 -1
- package/dist/integration-systems/integration-app-bar/integration-app-bar.d.ts +1 -0
- package/dist/integration-systems/integration-app-bar/integration-app-bar.d.ts.map +1 -1
- package/dist/integration-systems/integration-app-bar/integration-app-bar.js.map +1 -1
- package/dist/integration-systems/integration-bar/integration-bar.d.ts +0 -1
- package/dist/integration-systems/integration-bar/integration-bar.d.ts.map +1 -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 +9 -9
- package/dist/integration-systems/integration-bar-dropdown/integration-bar-dropdown.js.map +1 -1
- package/dist/integration-systems/integration-fleet-button/integration-fleet-button.d.ts +1 -0
- package/dist/integration-systems/integration-fleet-button/integration-fleet-button.d.ts.map +1 -1
- package/dist/integration-systems/integration-fleet-button/integration-fleet-button.js.map +1 -1
- package/dist/integration-systems/integration-tabs/integration-tabs.d.ts +1 -0
- package/dist/integration-systems/integration-tabs/integration-tabs.d.ts.map +1 -1
- package/dist/integration-systems/integration-tabs/integration-tabs.js.map +1 -1
- package/dist/navigation-instruments/compass-sector/compass-sector.d.ts +0 -1
- package/dist/navigation-instruments/compass-sector/compass-sector.d.ts.map +1 -1
- package/dist/navigation-instruments/compass-sector/compass-sector.js.map +1 -1
- package/dist/navigation-instruments/watch/tickmark.d.ts.map +1 -1
- package/dist/navigation-instruments/watch/tickmark.js +17 -7
- package/dist/navigation-instruments/watch/tickmark.js.map +1 -1
- package/dist/navigation-instruments/watch/watch.d.ts.map +1 -1
- package/dist/navigation-instruments/watch/watch.js +2 -2
- package/dist/navigation-instruments/watch/watch.js.map +1 -1
- package/dist/navigation-instruments/wind-propulsion/wind-propulsion.d.ts +0 -1
- package/dist/navigation-instruments/wind-propulsion/wind-propulsion.d.ts.map +1 -1
- package/dist/navigation-instruments/wind-propulsion/wind-propulsion.js.map +1 -1
- package/dist/pages/alert-detail-page/alert-detail-page.d.ts.map +1 -1
- package/dist/pages/alert-detail-page/alert-detail-page.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-card.js","sources":["../../../src/components/sequence-card/sequence-card.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 './sequence-card.css?inline';\nimport {customElement} from '../../decorator.js';\nimport {\n SequenceOrientation,\n SequenceStyle,\n SequenceType,\n SequenceValue,\n} from '../sequence-step/sequence-step.js';\nimport '../sequence-step/sequence-step.js';\nimport '../../icons/icon-placeholder.js';\nimport '../button/button.js';\n\nexport enum ObcSequenceCardSize {\n Small = 'small',\n Regular = 'regular',\n}\n\nexport enum ObcSequenceCardTitleType {\n Single = 'single',\n TwoLine = 'two-line',\n Description = 'description',\n}\n\nexport enum ObcSequenceCardProgressType {\n Centered = 'centered',\n LeftSide = 'left-side',\n}\n\nexport enum ObcSequenceCardState {\n Active = 'active',\n Flat = 'flat',\n Enhanced = 'enhanced',\n}\n\n/**\n * `<obc-sequence-card>` - Timeline-style card with header, content, and progress indicator.\n *\n * Overview:\n * - Combines a step indicator, header metadata, and optional content/actions.\n * - Supports vertical and horizontal layouts with centered or left-side progress.\n * - Use for timelines, process steps, and time-stamped events.\n *\n * Features and Variants:\n * - Sizes: `regular`, `small`.\n * - Progress layouts: `centered`, `left-side`.\n * - Optional progress connector (`showConnector=false` to hide).\n * - States: `active`, `flat`, `enhanced`.\n * - Layouts: vertical, horizontal, or both.\n * - Optional leading icon, timestamps, content, and actions.\n * - Full width/height layout toggles.\n * - Horizontal and vertical (default) layouts are supported.\n *\n * Usage Guidelines:\n * - Keep titles short; use `subtitle` for secondary text.\n * - Provide custom content via the default slot when `hasContent` is true.\n * - Provide actions via the `actions` slot when `hasActions` is true.\n * - Disable connectors for modal-style layouts that should not show continuation.\n *\n * Slots:\n * - `leading-icon`: Icon before the title (shown when `hasLeadingIcon` is true).\n * - `title`: Title text (fallbacks to `cardTitle`).\n * - `subtitle`: Subtitle/description (fallbacks to `subtitle`).\n * - `time-stamp`: Header timestamp (fallbacks to `timeLabel` + `time`).\n * - `header-actions`: Optional header actions (e.g., close button).\n * - `left-time-stamp`: Left rail timestamp (fallbacks to `leftTime`).\n * - `actions`: Actions row content (shown when `hasActions` is true).\n * - Default slot: Main content area (shown when `hasContent` is true).\n *\n * Notes:\n * - `fullWidth` and `fullHeight` stretch the card to fill its container.\n * - `indicatorTypeOverride`/`indicatorStyleOverride` force the step indicator\n * size/style when special layouts are needed.\n *\n * Events:\n * - None. Consumers define actions in slots and handle events on slotted elements.\n *\n * Best Practices:\n * - Pair `left-side` progress with vertical layout for rail-based timelines.\n * - Avoid mixing long text with dense action rows; use content slot instead.\n *\n * Example:\n * ```html\n * <obc-sequence-card\n * size=\"regular\"\n * progressType=\"left-side\"\n * state=\"active\"\n * hasActions\n * >\n * <span slot=\"title\">Title</span>\n * <span slot=\"subtitle\">Subtitle</span>\n * <div slot=\"actions\">...</div>\n * <!-- default slot: your content -->\n * </obc-sequence-card>\n * ```\n *\n * Keywords: timeline, step, progress, sequence, card, event, status.\n * @experimental\n */\n@customElement('obc-sequence-card')\nexport class ObcSequenceCard extends LitElement {\n @property({type: String}) size: ObcSequenceCardSize =\n ObcSequenceCardSize.Regular;\n @property({type: String}) titleType: ObcSequenceCardTitleType =\n ObcSequenceCardTitleType.Single;\n @property({type: String}) progressType: ObcSequenceCardProgressType =\n ObcSequenceCardProgressType.Centered;\n @property({type: String}) state: ObcSequenceCardState =\n ObcSequenceCardState.Active;\n\n @property({type: Boolean}) fullWidth = false;\n @property({type: Boolean}) fullHeight = false;\n\n @property({type: Boolean}) horizontal = false;\n @property({type: Boolean}) showConnector = false;\n\n @property({type: Boolean}) hasLeadingIcon = false;\n @property({type: String}) cardTitle = 'Title';\n /** @availableWhen titleType!=Single */\n @property({type: String}) subtitle = 'Subtitle';\n\n @property({type: Boolean}) hasTimeStamp = false;\n /** @availableWhen hasTimeStamp==true */\n @property({type: String}) timeLabel = 'TWOL';\n /** @availableWhen hasTimeStamp==true */\n @property({type: String}) time = '00:00:00';\n\n @property({type: Boolean}) hasContent = false;\n @property({type: Boolean}) hasActions = false;\n\n /** @availableWhen progressType==Centered && (titleType!=Single || indicatorTypeOverride!=undefined) */\n @property({type: String}) progressLabel = '1';\n /** @availableWhen (showConnector==true && progressType==Centered && horizontal==false) || (showConnector==true && horizontal==true && progressType!=LeftSide) */\n @property({type: String}) progressValue: SequenceValue =\n SequenceValue.regular;\n\n /** @availableWhen progressType==LeftSide && horizontal==false && hasTimeStamp==true */\n @property({type: String}) leftTime = '00:00';\n\n /** @availableWhen progressType==Centered */\n @property({type: String}) indicatorTypeOverride?: SequenceType;\n /** @availableWhen progressType==Centered */\n @property({type: String}) indicatorStyleOverride?: SequenceStyle;\n\n private get showSubtitle() {\n return (\n this.titleType !== ObcSequenceCardTitleType.Single &&\n this.subtitle.trim() !== ''\n );\n }\n\n private get isLeftSide() {\n return this.progressType === ObcSequenceCardProgressType.LeftSide;\n }\n\n private get stepIndicatorStyle() {\n return this.size === ObcSequenceCardSize.Regular\n ? SequenceStyle.regular\n : SequenceStyle.point;\n }\n\n private get stepIndicatorValue() {\n return SequenceValue.notStarted;\n }\n\n private get stepIndicatorLabel() {\n const allowLabelForSingle =\n this.titleType === ObcSequenceCardTitleType.Single &&\n this.indicatorTypeOverride !== undefined;\n if (\n this.progressType !== ObcSequenceCardProgressType.Centered ||\n (this.titleType === ObcSequenceCardTitleType.Single &&\n !allowLabelForSingle)\n ) {\n return '';\n }\n\n const label = this.progressLabel.trim();\n return label === '' ? '1' : label;\n }\n\n private get verticalConnectorType() {\n return SequenceType.small;\n }\n\n private get horizontalConnectorType() {\n return this.size === ObcSequenceCardSize.Small\n ? SequenceType.small\n : SequenceType.medium;\n }\n\n constructor() {\n super();\n this.showConnector = true;\n }\n\n private getResolvedIndicatorType(isCenteredMultiLine: boolean) {\n if (this.size === ObcSequenceCardSize.Small) {\n return isCenteredMultiLine ? SequenceType.medium : SequenceType.small;\n }\n\n if (this.progressType === ObcSequenceCardProgressType.LeftSide) {\n return SequenceType.small;\n }\n\n return isCenteredMultiLine ? SequenceType.large : SequenceType.small;\n }\n\n private renderStepIndicator() {\n const isCenteredMultiLine =\n this.progressType === ObcSequenceCardProgressType.Centered &&\n (this.titleType === ObcSequenceCardTitleType.TwoLine ||\n this.titleType === ObcSequenceCardTitleType.Description);\n const indicatorType =\n this.indicatorTypeOverride ??\n this.getResolvedIndicatorType(isCenteredMultiLine);\n const indicatorStyle =\n this.indicatorStyleOverride ??\n (isCenteredMultiLine ? SequenceStyle.point : this.stepIndicatorStyle);\n\n return html`\n <obc-sequence-step\n .type=${indicatorType}\n .styleType=${indicatorStyle}\n .value=${this.stepIndicatorValue}\n .showStepInputConnector=${false}\n .showStepOutputConnector=${false}\n .hasIcon=${false}\n >\n ${this.stepIndicatorLabel}\n </obc-sequence-step>\n `;\n }\n\n override render() {\n const classes = {\n 'sequence-card': true,\n [`size-${this.size}`]: true,\n [`title-${this.titleType}`]: true,\n [`progress-${this.progressType}`]: true,\n [`state-${this.state}`]: true,\n 'full-width': this.fullWidth,\n 'full-height': this.fullHeight,\n 'is-vertical': !this.horizontal,\n 'is-horizontal': this.horizontal,\n 'has-leading-icon': this.hasLeadingIcon,\n 'has-time-stamp': this.hasTimeStamp,\n 'has-content': this.hasContent,\n 'has-actions': this.hasActions,\n };\n\n const showLeftRail = this.isLeftSide && !this.horizontal;\n const showLeftRailHorizontal = this.isLeftSide && this.horizontal;\n const showCenteredConnector =\n this.progressType === ObcSequenceCardProgressType.Centered &&\n !this.horizontal &&\n this.showConnector;\n const showHorizontalConnector =\n this.horizontal && !this.isLeftSide && this.showConnector;\n\n const verticalLeftRail = html`\n <div class=\"vertical-progress-container\">\n ${this.hasTimeStamp\n ? html`\n <div class=\"stamp-container\">\n <slot name=\"left-time-stamp\">${this.leftTime}</slot>\n </div>\n `\n : nothing}\n <div class=\"progress-container\">\n <obc-sequence-step\n .orientation=${SequenceOrientation.vertical}\n .type=${this.getResolvedIndicatorType(false)}\n .styleType=${this.stepIndicatorStyle}\n .value=${this.stepIndicatorValue}\n .showStepInputConnector=${true}\n .showStepOutputConnector=${true}\n .inputConnectorExtended=${true}\n .hasIcon=${false}\n >\n ${this.stepIndicatorLabel}\n </obc-sequence-step>\n </div>\n </div>\n `;\n\n const horizontalLeftRail = html`\n <div class=\"horizontal-left-rail\">\n <obc-sequence-step\n .orientation=${SequenceOrientation.horizontal}\n .type=${this.getResolvedIndicatorType(false)}\n .styleType=${this.stepIndicatorStyle}\n .value=${this.stepIndicatorValue}\n .showStepInputConnector=${true}\n .showStepOutputConnector=${true}\n .hasIcon=${false}\n >\n ${this.stepIndicatorLabel}\n </obc-sequence-step>\n </div>\n `;\n\n return html`\n <div class=${classMap(classes)}>\n ${showLeftRail ? verticalLeftRail : nothing}\n <div class=\"card-container\">\n ${this.horizontal\n ? html`\n <div class=\"card-row\">\n ${showLeftRailHorizontal ? horizontalLeftRail : nothing}\n <div class=\"card\">\n <div class=\"header-row\">\n <div class=\"title-container\" part=\"title-container\">\n ${showLeftRail || showLeftRailHorizontal\n ? nothing\n : this.renderStepIndicator()}\n <div class=\"content-container-placeholder\">\n ${this.hasLeadingIcon\n ? html`\n <div class=\"leading-icon\">\n <slot name=\"leading-icon\"></slot>\n </div>\n `\n : nothing}\n <div class=\"text-container\">\n <div class=\"text-wrapper\">\n <div class=\"title-text\" part=\"title-text\">\n <slot name=\"title\">${this.cardTitle}</slot>\n </div>\n ${this.showSubtitle\n ? html`\n <div class=\"subtitle-text\">\n <slot name=\"subtitle\"\n >${this.subtitle}</slot\n >\n </div>\n `\n : nothing}\n </div>\n </div>\n </div>\n </div>\n <div class=\"header-right\">\n ${this.hasTimeStamp\n ? html`\n <div class=\"time-stamp\">\n <slot name=\"time-stamp\">\n <div class=\"time-label\">\n ${this.timeLabel}\n </div>\n <div class=\"time-value\">${this.time}</div>\n </slot>\n </div>\n `\n : nothing}\n <slot name=\"header-actions\"></slot>\n </div>\n </div>\n ${this.hasContent\n ? html`\n <div class=\"content-container-placeholder\">\n <slot></slot>\n </div>\n `\n : nothing}\n ${this.hasActions\n ? html`\n <div class=\"action-container\" part=\"action-container\">\n <slot name=\"actions\"></slot>\n </div>\n `\n : nothing}\n </div>\n\n ${showHorizontalConnector\n ? html`\n <div class=\"horizontal-progress-container\">\n <obc-sequence-step\n .orientation=${SequenceOrientation.horizontal}\n .type=${this.horizontalConnectorType}\n .styleType=${SequenceStyle.connector}\n .value=${this.progressValue}\n .showStepInputConnector=${false}\n .showStepOutputConnector=${true}\n .hasIcon=${false}\n ></obc-sequence-step>\n </div>\n `\n : nothing}\n </div>\n `\n : html`\n <div class=\"card\">\n <div class=\"header-row\">\n <div class=\"title-container\" part=\"title-container\">\n ${showLeftRail || showLeftRailHorizontal\n ? nothing\n : this.renderStepIndicator()}\n <div class=\"content-container-placeholder\">\n ${this.hasLeadingIcon\n ? html`\n <div class=\"leading-icon\">\n <slot name=\"leading-icon\"></slot>\n </div>\n `\n : nothing}\n <div class=\"text-container\">\n <div class=\"text-wrapper\">\n <div class=\"title-text\" part=\"title-text\">\n <slot name=\"title\">${this.cardTitle}</slot>\n </div>\n ${this.showSubtitle\n ? html`\n <div class=\"subtitle-text\">\n <slot name=\"subtitle\"\n >${this.subtitle}</slot\n >\n </div>\n `\n : nothing}\n </div>\n </div>\n </div>\n </div>\n <div class=\"header-right\">\n ${this.hasTimeStamp\n ? html`\n <div class=\"time-stamp\">\n <slot name=\"time-stamp\">\n <div class=\"time-label\">${this.timeLabel}</div>\n <div class=\"time-value\">${this.time}</div>\n </slot>\n </div>\n `\n : nothing}\n <slot name=\"header-actions\"></slot>\n </div>\n </div>\n ${this.hasContent\n ? html`\n <div class=\"content-container-placeholder\">\n <slot></slot>\n </div>\n `\n : nothing}\n ${this.hasActions\n ? html`\n <div class=\"action-container\" part=\"action-container\">\n <slot name=\"actions\"></slot>\n </div>\n `\n : nothing}\n </div>\n `}\n </div>\n ${showCenteredConnector\n ? html`\n <div class=\"vertical-progress-container is-centered\">\n <obc-sequence-step\n .orientation=${SequenceOrientation.vertical}\n .type=${this.verticalConnectorType}\n .styleType=${SequenceStyle.connector}\n .value=${this.progressValue}\n .showStepInputConnector=${true}\n .showStepOutputConnector=${true}\n .inputConnectorExtended=${true}\n .hasIcon=${false}\n ></obc-sequence-step>\n </div>\n `\n : nothing}\n </div>\n `;\n }\n\n static override styles = unsafeCSS(componentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-sequence-card': ObcSequenceCard;\n }\n}\n"],"names":["ObcSequenceCardSize","ObcSequenceCardTitleType","ObcSequenceCardProgressType","ObcSequenceCardState"],"mappings":";;;;;;;;;;;;;;;;;;AAeO,IAAK,wCAAAA,yBAAL;AACLA,uBAAA,OAAA,IAAQ;AACRA,uBAAA,SAAA,IAAU;AAFA,SAAAA;AAAA,GAAA,uBAAA,CAAA,CAAA;AAKL,IAAK,6CAAAC,8BAAL;AACLA,4BAAA,QAAA,IAAS;AACTA,4BAAA,SAAA,IAAU;AACVA,4BAAA,aAAA,IAAc;AAHJ,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;AAML,IAAK,gDAAAC,iCAAL;AACLA,+BAAA,UAAA,IAAW;AACXA,+BAAA,UAAA,IAAW;AAFD,SAAAA;AAAA,GAAA,+BAAA,CAAA,CAAA;AAKL,IAAK,yCAAAC,0BAAL;AACLA,wBAAA,QAAA,IAAS;AACTA,wBAAA,MAAA,IAAO;AACPA,wBAAA,UAAA,IAAW;AAHD,SAAAA;AAAA,GAAA,wBAAA,CAAA,CAAA;AAuEL,IAAM,kBAAN,cAA8B,WAAW;AAAA,EA2F9C,cAAc;AACZ,UAAA;AA3FwB,SAAA,OACxB;AACwB,SAAA,YACxB;AACwB,SAAA,eACxB;AACwB,SAAA,QACxB;AAEyB,SAAA,YAAY;AACZ,SAAA,aAAa;AAEb,SAAA,aAAa;AACb,SAAA,gBAAgB;AAEhB,SAAA,iBAAiB;AAClB,SAAA,YAAY;AAEZ,SAAA,WAAW;AAEV,SAAA,eAAe;AAEhB,SAAA,YAAY;AAEZ,SAAA,OAAO;AAEN,SAAA,aAAa;AACb,SAAA,aAAa;AAGd,SAAA,gBAAgB;AAEhB,SAAA,gBACxB,cAAc;AAGU,SAAA,WAAW;AAwDnC,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAlDA,IAAY,eAAe;AACzB,WACE,KAAK,cAAc,YACnB,KAAK,SAAS,WAAW;AAAA,EAE7B;AAAA,EAEA,IAAY,aAAa;AACvB,WAAO,KAAK,iBAAiB;AAAA,EAC/B;AAAA,EAEA,IAAY,qBAAqB;AAC/B,WAAO,KAAK,SAAS,YACjB,cAAc,UACd,cAAc;AAAA,EACpB;AAAA,EAEA,IAAY,qBAAqB;AAC/B,WAAO,cAAc;AAAA,EACvB;AAAA,EAEA,IAAY,qBAAqB;AAC/B,UAAM,sBACJ,KAAK,cAAc,YACnB,KAAK,0BAA0B;AACjC,QACE,KAAK,iBAAiB,cACrB,KAAK,cAAc,YAClB,CAAC,qBACH;AACA,aAAO;AAAA,IACT;AAEA,UAAM,QAAQ,KAAK,cAAc,KAAA;AACjC,WAAO,UAAU,KAAK,MAAM;AAAA,EAC9B;AAAA,EAEA,IAAY,wBAAwB;AAClC,WAAO,aAAa;AAAA,EACtB;AAAA,EAEA,IAAY,0BAA0B;AACpC,WAAO,KAAK,SAAS,UACjB,aAAa,QACb,aAAa;AAAA,EACnB;AAAA,EAOQ,yBAAyB,qBAA8B;AAC7D,QAAI,KAAK,SAAS,SAA2B;AAC3C,aAAO,sBAAsB,aAAa,SAAS,aAAa;AAAA,IAClE;AAEA,QAAI,KAAK,iBAAiB,aAAsC;AAC9D,aAAO,aAAa;AAAA,IACtB;AAEA,WAAO,sBAAsB,aAAa,QAAQ,aAAa;AAAA,EACjE;AAAA,EAEQ,sBAAsB;AAC5B,UAAM,sBACJ,KAAK,iBAAiB,eACrB,KAAK,cAAc,cAClB,KAAK,cAAc;AACvB,UAAM,gBACJ,KAAK,yBACL,KAAK,yBAAyB,mBAAmB;AACnD,UAAM,iBACJ,KAAK,2BACJ,sBAAsB,cAAc,QAAQ,KAAK;AAEpD,WAAO;AAAA;AAAA,gBAEK,aAAa;AAAA,qBACR,cAAc;AAAA,iBAClB,KAAK,kBAAkB;AAAA,kCACN,KAAK;AAAA,mCACJ,KAAK;AAAA,mBACrB,KAAK;AAAA;AAAA,UAEd,KAAK,kBAAkB;AAAA;AAAA;AAAA,EAG/B;AAAA,EAES,SAAS;AAChB,UAAM,UAAU;AAAA,MACd,iBAAiB;AAAA,MACjB,CAAC,QAAQ,KAAK,IAAI,EAAE,GAAG;AAAA,MACvB,CAAC,SAAS,KAAK,SAAS,EAAE,GAAG;AAAA,MAC7B,CAAC,YAAY,KAAK,YAAY,EAAE,GAAG;AAAA,MACnC,CAAC,SAAS,KAAK,KAAK,EAAE,GAAG;AAAA,MACzB,cAAc,KAAK;AAAA,MACnB,eAAe,KAAK;AAAA,MACpB,eAAe,CAAC,KAAK;AAAA,MACrB,iBAAiB,KAAK;AAAA,MACtB,oBAAoB,KAAK;AAAA,MACzB,kBAAkB,KAAK;AAAA,MACvB,eAAe,KAAK;AAAA,MACpB,eAAe,KAAK;AAAA,IAAA;AAGtB,UAAM,eAAe,KAAK,cAAc,CAAC,KAAK;AAC9C,UAAM,yBAAyB,KAAK,cAAc,KAAK;AACvD,UAAM,wBACJ,KAAK,iBAAiB,cACtB,CAAC,KAAK,cACN,KAAK;AACP,UAAM,0BACJ,KAAK,cAAc,CAAC,KAAK,cAAc,KAAK;AAE9C,UAAM,mBAAmB;AAAA;AAAA,UAEnB,KAAK,eACH;AAAA;AAAA,+CAEmC,KAAK,QAAQ;AAAA;AAAA,gBAGhD,OAAO;AAAA;AAAA;AAAA,2BAGQ,oBAAoB,QAAQ;AAAA,oBACnC,KAAK,yBAAyB,KAAK,CAAC;AAAA,yBAC/B,KAAK,kBAAkB;AAAA,qBAC3B,KAAK,kBAAkB;AAAA,sCACN,IAAI;AAAA,uCACH,IAAI;AAAA,sCACL,IAAI;AAAA,uBACnB,KAAK;AAAA;AAAA,cAEd,KAAK,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAMjC,UAAM,qBAAqB;AAAA;AAAA;AAAA,yBAGN,oBAAoB,UAAU;AAAA,kBACrC,KAAK,yBAAyB,KAAK,CAAC;AAAA,uBAC/B,KAAK,kBAAkB;AAAA,mBAC3B,KAAK,kBAAkB;AAAA,oCACN,IAAI;AAAA,qCACH,IAAI;AAAA,qBACpB,KAAK;AAAA;AAAA,YAEd,KAAK,kBAAkB;AAAA;AAAA;AAAA;AAK/B,WAAO;AAAA,mBACQ,SAAS,OAAO,CAAC;AAAA,UAC1B,eAAe,mBAAmB,OAAO;AAAA;AAAA,YAEvC,KAAK,aACH;AAAA;AAAA,oBAEM,yBAAyB,qBAAqB,OAAO;AAAA;AAAA;AAAA;AAAA,0BAI/C,gBAAgB,yBACd,UACA,KAAK,qBAAqB;AAAA;AAAA,4BAE1B,KAAK,iBACH;AAAA;AAAA;AAAA;AAAA,kCAKA,OAAO;AAAA;AAAA;AAAA;AAAA,qDAIgB,KAAK,SAAS;AAAA;AAAA,gCAEnC,KAAK,eACH;AAAA;AAAA;AAAA,2CAGS,KAAK,QAAQ;AAAA;AAAA;AAAA,sCAItB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAMf,KAAK,eACH;AAAA;AAAA;AAAA;AAAA,sCAIU,KAAK,SAAS;AAAA;AAAA,4DAEQ,KAAK,IAAI;AAAA;AAAA;AAAA,gCAIzC,OAAO;AAAA;AAAA;AAAA;AAAA,sBAIb,KAAK,aACH;AAAA;AAAA;AAAA;AAAA,4BAKA,OAAO;AAAA,sBACT,KAAK,aACH;AAAA;AAAA;AAAA;AAAA,4BAKA,OAAO;AAAA;AAAA;AAAA,oBAGX,0BACE;AAAA;AAAA;AAAA,2CAGqB,oBAAoB,UAAU;AAAA,oCACrC,KAAK,uBAAuB;AAAA,yCACvB,cAAc,SAAS;AAAA,qCAC3B,KAAK,aAAa;AAAA,sDACD,KAAK;AAAA,uDACJ,IAAI;AAAA,uCACpB,KAAK;AAAA;AAAA;AAAA,0BAItB,OAAO;AAAA;AAAA,kBAGf;AAAA;AAAA;AAAA;AAAA,wBAIU,gBAAgB,yBACd,UACA,KAAK,qBAAqB;AAAA;AAAA,0BAE1B,KAAK,iBACH;AAAA;AAAA;AAAA;AAAA,gCAKA,OAAO;AAAA;AAAA;AAAA;AAAA,mDAIgB,KAAK,SAAS;AAAA;AAAA,8BAEnC,KAAK,eACH;AAAA;AAAA;AAAA,yCAGS,KAAK,QAAQ;AAAA;AAAA;AAAA,oCAItB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMf,KAAK,eACH;AAAA;AAAA;AAAA,0DAGgC,KAAK,SAAS;AAAA,0DACd,KAAK,IAAI;AAAA;AAAA;AAAA,8BAIzC,OAAO;AAAA;AAAA;AAAA;AAAA,oBAIb,KAAK,aACH;AAAA;AAAA;AAAA;AAAA,0BAKA,OAAO;AAAA,oBACT,KAAK,aACH;AAAA;AAAA;AAAA;AAAA,0BAKA,OAAO;AAAA;AAAA,eAEd;AAAA;AAAA,UAEL,wBACE;AAAA;AAAA;AAAA,iCAGqB,oBAAoB,QAAQ;AAAA,0BACnC,KAAK,qBAAqB;AAAA,+BACrB,cAAc,SAAS;AAAA,2BAC3B,KAAK,aAAa;AAAA,4CACD,IAAI;AAAA,6CACH,IAAI;AAAA,4CACL,IAAI;AAAA,6BACnB,KAAK;AAAA;AAAA;AAAA,gBAItB,OAAO;AAAA;AAAA;AAAA,EAGjB;AAGF;AAxXa,gBAuXK,SAAS,UAAU,cAAc;AAtXvB,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GADb,gBACe,WAAA,QAAA,CAAA;AAEA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAHb,gBAGe,WAAA,aAAA,CAAA;AAEA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GALb,gBAKe,WAAA,gBAAA,CAAA;AAEA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAPb,gBAOe,WAAA,SAAA,CAAA;AAGC,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAVd,gBAUgB,WAAA,aAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAXd,gBAWgB,WAAA,cAAA,CAAA;AAEA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAbd,gBAagB,WAAA,cAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAdd,gBAcgB,WAAA,iBAAA,CAAA;AAEA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAhBd,gBAgBgB,WAAA,kBAAA,CAAA;AACD,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAjBb,gBAiBe,WAAA,aAAA,CAAA;AAEA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAnBb,gBAmBe,WAAA,YAAA,CAAA;AAEC,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GArBd,gBAqBgB,WAAA,gBAAA,CAAA;AAED,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAvBb,gBAuBe,WAAA,aAAA,CAAA;AAEA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAzBb,gBAyBe,WAAA,QAAA,CAAA;AAEC,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GA3Bd,gBA2BgB,WAAA,cAAA,CAAA;AACA,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GA5Bd,gBA4BgB,WAAA,cAAA,CAAA;AAGD,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GA/Bb,gBA+Be,WAAA,iBAAA,CAAA;AAEA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAjCb,gBAiCe,WAAA,iBAAA,CAAA;AAIA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GArCb,gBAqCe,WAAA,YAAA,CAAA;AAGA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAxCb,gBAwCe,WAAA,yBAAA,CAAA;AAEA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GA1Cb,gBA0Ce,WAAA,0BAAA,CAAA;AA1Cf,kBAAN,gBAAA;AAAA,EADN,cAAc,mBAAmB;AAAA,GACrB,eAAA;"}
|
|
1
|
+
{"version":3,"file":"sequence-card.js","sources":["../../../src/components/sequence-card/sequence-card.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 './sequence-card.css?inline';\nimport {customElement} from '../../decorator.js';\nimport {\n SequenceOrientation,\n SequenceStyle,\n SequenceType,\n SequenceValue,\n} from '../sequence-step/sequence-step.js';\nimport '../sequence-step/sequence-step.js';\nimport '../../icons/icon-placeholder.js';\nimport '../button/button.js';\n\nexport enum ObcSequenceCardSize {\n Small = 'small',\n Regular = 'regular',\n}\n\nexport enum ObcSequenceCardTitleType {\n Single = 'single',\n TwoLine = 'two-line',\n Description = 'description',\n}\n\nexport enum ObcSequenceCardProgressType {\n Centered = 'centered',\n LeftSide = 'left-side',\n}\n\nexport enum ObcSequenceCardState {\n Active = 'active',\n Flat = 'flat',\n Enhanced = 'enhanced',\n}\n\n/**\n * `<obc-sequence-card>` - Timeline-style card with header, content, and progress indicator.\n *\n * Overview:\n * - Combines a step indicator, header metadata, and optional content/actions.\n * - Supports vertical and horizontal layouts with centered or left-side progress.\n * - Use for timelines, process steps, and time-stamped events.\n *\n * Features and Variants:\n * - Sizes: `regular`, `small`.\n * - Progress layouts: `centered`, `left-side`.\n * - Optional progress connector (`showConnector=false` to hide).\n * - States: `active`, `flat`, `enhanced`.\n * - Layouts: vertical, horizontal, or both.\n * - Optional leading icon, timestamps, content, and actions.\n * - Full width/height layout toggles.\n * - Horizontal and vertical (default) layouts are supported.\n *\n * Usage Guidelines:\n * - Keep titles short; use `subtitle` for secondary text.\n * - Provide custom content via the default slot when `hasContent` is true.\n * - Provide actions via the `actions` slot when `hasActions` is true.\n * - Disable connectors for modal-style layouts that should not show continuation.\n *\n * Slots:\n * - `leading-icon`: Icon before the title (shown when `hasLeadingIcon` is true).\n * - `title`: Title text (fallbacks to `cardTitle`).\n * - `subtitle`: Subtitle/description (fallbacks to `subtitle`).\n * - `time-stamp`: Header timestamp (fallbacks to `timeLabel` + `time`).\n * - `header-actions`: Optional header actions (e.g., close button).\n * - `left-time-stamp`: Left rail timestamp (fallbacks to `leftTime`).\n * - `actions`: Actions row content (shown when `hasActions` is true).\n * - Default slot: Main content area (shown when `hasContent` is true).\n *\n * Notes:\n * - `fullWidth` and `fullHeight` stretch the card to fill its container.\n * - `indicatorTypeOverride`/`indicatorStyleOverride` force the step indicator\n * size/style when special layouts are needed.\n *\n * Events:\n * - None. Consumers define actions in slots and handle events on slotted elements.\n *\n * Best Practices:\n * - Pair `left-side` progress with vertical layout for rail-based timelines.\n * - Avoid mixing long text with dense action rows; use content slot instead.\n *\n * Example:\n * ```html\n * <obc-sequence-card\n * size=\"regular\"\n * progressType=\"left-side\"\n * state=\"active\"\n * hasActions\n * >\n * <span slot=\"title\">Title</span>\n * <span slot=\"subtitle\">Subtitle</span>\n * <div slot=\"actions\">...</div>\n * <!-- default slot: your content -->\n * </obc-sequence-card>\n * ```\n *\n * Keywords: timeline, step, progress, sequence, card, event, status.\n *\n * @slot leading-icon - Icon before the title (shown when `hasLeadingIcon` is true).\n * @slot title - Title text (falls back to `cardTitle`).\n * @slot subtitle - Subtitle/description (falls back to `subtitle`).\n * @slot time-stamp - Header timestamp (falls back to `timeLabel` + `time`).\n * @slot header-actions - Optional header actions (e.g., close button).\n * @slot left-time-stamp - Left rail timestamp (falls back to `leftTime`).\n * @slot actions - Actions row content (shown when `hasActions` is true).\n * @slot - Main content area (shown when `hasContent` is true).\n * @experimental\n */\n@customElement('obc-sequence-card')\nexport class ObcSequenceCard extends LitElement {\n @property({type: String}) size: ObcSequenceCardSize =\n ObcSequenceCardSize.Regular;\n @property({type: String}) titleType: ObcSequenceCardTitleType =\n ObcSequenceCardTitleType.Single;\n @property({type: String}) progressType: ObcSequenceCardProgressType =\n ObcSequenceCardProgressType.Centered;\n @property({type: String}) state: ObcSequenceCardState =\n ObcSequenceCardState.Active;\n\n @property({type: Boolean}) fullWidth = false;\n @property({type: Boolean}) fullHeight = false;\n\n @property({type: Boolean}) horizontal = false;\n @property({type: Boolean}) showConnector = false;\n\n @property({type: Boolean}) hasLeadingIcon = false;\n @property({type: String}) cardTitle = 'Title';\n /** @availableWhen titleType!=Single */\n @property({type: String}) subtitle = 'Subtitle';\n\n @property({type: Boolean}) hasTimeStamp = false;\n /** @availableWhen hasTimeStamp==true */\n @property({type: String}) timeLabel = 'TWOL';\n /** @availableWhen hasTimeStamp==true */\n @property({type: String}) time = '00:00:00';\n\n @property({type: Boolean}) hasContent = false;\n @property({type: Boolean}) hasActions = false;\n\n /** @availableWhen progressType==Centered && (titleType!=Single || indicatorTypeOverride!=undefined) */\n @property({type: String}) progressLabel = '1';\n /** @availableWhen (showConnector==true && progressType==Centered && horizontal==false) || (showConnector==true && horizontal==true && progressType!=LeftSide) */\n @property({type: String}) progressValue: SequenceValue =\n SequenceValue.regular;\n\n /** @availableWhen progressType==LeftSide && horizontal==false && hasTimeStamp==true */\n @property({type: String}) leftTime = '00:00';\n\n /** @availableWhen progressType==Centered */\n @property({type: String}) indicatorTypeOverride?: SequenceType;\n /** @availableWhen progressType==Centered */\n @property({type: String}) indicatorStyleOverride?: SequenceStyle;\n\n private get showSubtitle() {\n return (\n this.titleType !== ObcSequenceCardTitleType.Single &&\n this.subtitle.trim() !== ''\n );\n }\n\n private get isLeftSide() {\n return this.progressType === ObcSequenceCardProgressType.LeftSide;\n }\n\n private get stepIndicatorStyle() {\n return this.size === ObcSequenceCardSize.Regular\n ? SequenceStyle.regular\n : SequenceStyle.point;\n }\n\n private get stepIndicatorValue() {\n return SequenceValue.notStarted;\n }\n\n private get stepIndicatorLabel() {\n const allowLabelForSingle =\n this.titleType === ObcSequenceCardTitleType.Single &&\n this.indicatorTypeOverride !== undefined;\n if (\n this.progressType !== ObcSequenceCardProgressType.Centered ||\n (this.titleType === ObcSequenceCardTitleType.Single &&\n !allowLabelForSingle)\n ) {\n return '';\n }\n\n const label = this.progressLabel.trim();\n return label === '' ? '1' : label;\n }\n\n private get verticalConnectorType() {\n return SequenceType.small;\n }\n\n private get horizontalConnectorType() {\n return this.size === ObcSequenceCardSize.Small\n ? SequenceType.small\n : SequenceType.medium;\n }\n\n constructor() {\n super();\n this.showConnector = true;\n }\n\n private getResolvedIndicatorType(isCenteredMultiLine: boolean) {\n if (this.size === ObcSequenceCardSize.Small) {\n return isCenteredMultiLine ? SequenceType.medium : SequenceType.small;\n }\n\n if (this.progressType === ObcSequenceCardProgressType.LeftSide) {\n return SequenceType.small;\n }\n\n return isCenteredMultiLine ? SequenceType.large : SequenceType.small;\n }\n\n private renderStepIndicator() {\n const isCenteredMultiLine =\n this.progressType === ObcSequenceCardProgressType.Centered &&\n (this.titleType === ObcSequenceCardTitleType.TwoLine ||\n this.titleType === ObcSequenceCardTitleType.Description);\n const indicatorType =\n this.indicatorTypeOverride ??\n this.getResolvedIndicatorType(isCenteredMultiLine);\n const indicatorStyle =\n this.indicatorStyleOverride ??\n (isCenteredMultiLine ? SequenceStyle.point : this.stepIndicatorStyle);\n\n return html`\n <obc-sequence-step\n .type=${indicatorType}\n .styleType=${indicatorStyle}\n .value=${this.stepIndicatorValue}\n .showStepInputConnector=${false}\n .showStepOutputConnector=${false}\n .hasIcon=${false}\n >\n ${this.stepIndicatorLabel}\n </obc-sequence-step>\n `;\n }\n\n override render() {\n const classes = {\n 'sequence-card': true,\n [`size-${this.size}`]: true,\n [`title-${this.titleType}`]: true,\n [`progress-${this.progressType}`]: true,\n [`state-${this.state}`]: true,\n 'full-width': this.fullWidth,\n 'full-height': this.fullHeight,\n 'is-vertical': !this.horizontal,\n 'is-horizontal': this.horizontal,\n 'has-leading-icon': this.hasLeadingIcon,\n 'has-time-stamp': this.hasTimeStamp,\n 'has-content': this.hasContent,\n 'has-actions': this.hasActions,\n };\n\n const showLeftRail = this.isLeftSide && !this.horizontal;\n const showLeftRailHorizontal = this.isLeftSide && this.horizontal;\n const showCenteredConnector =\n this.progressType === ObcSequenceCardProgressType.Centered &&\n !this.horizontal &&\n this.showConnector;\n const showHorizontalConnector =\n this.horizontal && !this.isLeftSide && this.showConnector;\n\n const verticalLeftRail = html`\n <div class=\"vertical-progress-container\">\n ${this.hasTimeStamp\n ? html`\n <div class=\"stamp-container\">\n <slot name=\"left-time-stamp\">${this.leftTime}</slot>\n </div>\n `\n : nothing}\n <div class=\"progress-container\">\n <obc-sequence-step\n .orientation=${SequenceOrientation.vertical}\n .type=${this.getResolvedIndicatorType(false)}\n .styleType=${this.stepIndicatorStyle}\n .value=${this.stepIndicatorValue}\n .showStepInputConnector=${true}\n .showStepOutputConnector=${true}\n .inputConnectorExtended=${true}\n .hasIcon=${false}\n >\n ${this.stepIndicatorLabel}\n </obc-sequence-step>\n </div>\n </div>\n `;\n\n const horizontalLeftRail = html`\n <div class=\"horizontal-left-rail\">\n <obc-sequence-step\n .orientation=${SequenceOrientation.horizontal}\n .type=${this.getResolvedIndicatorType(false)}\n .styleType=${this.stepIndicatorStyle}\n .value=${this.stepIndicatorValue}\n .showStepInputConnector=${true}\n .showStepOutputConnector=${true}\n .hasIcon=${false}\n >\n ${this.stepIndicatorLabel}\n </obc-sequence-step>\n </div>\n `;\n\n return html`\n <div class=${classMap(classes)}>\n ${showLeftRail ? verticalLeftRail : nothing}\n <div class=\"card-container\">\n ${this.horizontal\n ? html`\n <div class=\"card-row\">\n ${showLeftRailHorizontal ? horizontalLeftRail : nothing}\n <div class=\"card\">\n <div class=\"header-row\">\n <div class=\"title-container\" part=\"title-container\">\n ${showLeftRail || showLeftRailHorizontal\n ? nothing\n : this.renderStepIndicator()}\n <div class=\"content-container-placeholder\">\n ${this.hasLeadingIcon\n ? html`\n <div class=\"leading-icon\">\n <slot name=\"leading-icon\"></slot>\n </div>\n `\n : nothing}\n <div class=\"text-container\">\n <div class=\"text-wrapper\">\n <div class=\"title-text\" part=\"title-text\">\n <slot name=\"title\">${this.cardTitle}</slot>\n </div>\n ${this.showSubtitle\n ? html`\n <div class=\"subtitle-text\">\n <slot name=\"subtitle\"\n >${this.subtitle}</slot\n >\n </div>\n `\n : nothing}\n </div>\n </div>\n </div>\n </div>\n <div class=\"header-right\">\n ${this.hasTimeStamp\n ? html`\n <div class=\"time-stamp\">\n <slot name=\"time-stamp\">\n <div class=\"time-label\">\n ${this.timeLabel}\n </div>\n <div class=\"time-value\">${this.time}</div>\n </slot>\n </div>\n `\n : nothing}\n <slot name=\"header-actions\"></slot>\n </div>\n </div>\n ${this.hasContent\n ? html`\n <div class=\"content-container-placeholder\">\n <slot></slot>\n </div>\n `\n : nothing}\n ${this.hasActions\n ? html`\n <div class=\"action-container\" part=\"action-container\">\n <slot name=\"actions\"></slot>\n </div>\n `\n : nothing}\n </div>\n\n ${showHorizontalConnector\n ? html`\n <div class=\"horizontal-progress-container\">\n <obc-sequence-step\n .orientation=${SequenceOrientation.horizontal}\n .type=${this.horizontalConnectorType}\n .styleType=${SequenceStyle.connector}\n .value=${this.progressValue}\n .showStepInputConnector=${false}\n .showStepOutputConnector=${true}\n .hasIcon=${false}\n ></obc-sequence-step>\n </div>\n `\n : nothing}\n </div>\n `\n : html`\n <div class=\"card\">\n <div class=\"header-row\">\n <div class=\"title-container\" part=\"title-container\">\n ${showLeftRail || showLeftRailHorizontal\n ? nothing\n : this.renderStepIndicator()}\n <div class=\"content-container-placeholder\">\n ${this.hasLeadingIcon\n ? html`\n <div class=\"leading-icon\">\n <slot name=\"leading-icon\"></slot>\n </div>\n `\n : nothing}\n <div class=\"text-container\">\n <div class=\"text-wrapper\">\n <div class=\"title-text\" part=\"title-text\">\n <slot name=\"title\">${this.cardTitle}</slot>\n </div>\n ${this.showSubtitle\n ? html`\n <div class=\"subtitle-text\">\n <slot name=\"subtitle\"\n >${this.subtitle}</slot\n >\n </div>\n `\n : nothing}\n </div>\n </div>\n </div>\n </div>\n <div class=\"header-right\">\n ${this.hasTimeStamp\n ? html`\n <div class=\"time-stamp\">\n <slot name=\"time-stamp\">\n <div class=\"time-label\">${this.timeLabel}</div>\n <div class=\"time-value\">${this.time}</div>\n </slot>\n </div>\n `\n : nothing}\n <slot name=\"header-actions\"></slot>\n </div>\n </div>\n ${this.hasContent\n ? html`\n <div class=\"content-container-placeholder\">\n <slot></slot>\n </div>\n `\n : nothing}\n ${this.hasActions\n ? html`\n <div class=\"action-container\" part=\"action-container\">\n <slot name=\"actions\"></slot>\n </div>\n `\n : nothing}\n </div>\n `}\n </div>\n ${showCenteredConnector\n ? html`\n <div class=\"vertical-progress-container is-centered\">\n <obc-sequence-step\n .orientation=${SequenceOrientation.vertical}\n .type=${this.verticalConnectorType}\n .styleType=${SequenceStyle.connector}\n .value=${this.progressValue}\n .showStepInputConnector=${true}\n .showStepOutputConnector=${true}\n .inputConnectorExtended=${true}\n .hasIcon=${false}\n ></obc-sequence-step>\n </div>\n `\n : nothing}\n </div>\n `;\n }\n\n static override styles = unsafeCSS(componentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-sequence-card': ObcSequenceCard;\n }\n}\n"],"names":["ObcSequenceCardSize","ObcSequenceCardTitleType","ObcSequenceCardProgressType","ObcSequenceCardState"],"mappings":"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"}
|
|
@@ -19,6 +19,11 @@ export declare enum SequenceItemState {
|
|
|
19
19
|
* composing `<obc-sequence-step>` for the visual indicator. Consumers can either
|
|
20
20
|
* configure the built-in step via `step*` props or supply a custom step through
|
|
21
21
|
* the `step` slot.
|
|
22
|
+
*
|
|
23
|
+
* @slot title - Title/subtitle block (falls back to the built-in `title`/`subtitle`/inline description).
|
|
24
|
+
* @slot description - Description text (rendered when `hasDescription` is true and not inlined).
|
|
25
|
+
* @slot meta - Meta row with timestamp/distance stamps (rendered when `hasMeta` is true — i.e. `hasStamp` with a timestamp or distance stamp enabled).
|
|
26
|
+
* @slot step - Custom step indicator (falls back to the built-in `<obc-sequence-step>`).
|
|
22
27
|
* @beta
|
|
23
28
|
*/
|
|
24
29
|
export declare class ObcSequenceItem extends LitElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-item.d.ts","sourceRoot":"","sources":["../../../src/components/sequence-item/sequence-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAmB,cAAc,EAAC,MAAM,KAAK,CAAC;AAKhE,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAE3C,oBAAY,uBAAuB;IACjC,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AAED,oBAAY,qBAAqB;IAC/B,OAAO,YAAY;IACnB,SAAS,eAAe;IACxB,KAAK,UAAU;CAChB;AAED,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"sequence-item.d.ts","sourceRoot":"","sources":["../../../src/components/sequence-item/sequence-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAmB,cAAc,EAAC,MAAM,KAAK,CAAC;AAKhE,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAE3C,oBAAY,uBAAuB;IACjC,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AAED,oBAAY,qBAAqB;IAC/B,OAAO,YAAY;IACnB,SAAS,eAAe;IACxB,KAAK,UAAU;CAChB;AAED,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED;;;;;;;;;;;GAWG;AACH,qBACa,eAAgB,SAAQ,UAAU;IACnB,WAAW,EAAE,uBAAuB,CAC3B;IACT,SAAS,EAAE,qBAAqB,CAC1B;IACN,KAAK,EAAE,iBAAiB,CACtB;IACO,KAAK,SAAM;IACnB,WAAW,UAAS;IAC/C,uCAAuC;IACb,QAAQ,SAAM;IACb,cAAc,UAAS;IAClD,0CAA0C;IAChB,WAAW,SAAM;IAC3C;;;OAGG;IACwB,QAAQ,UAAS;IAC5C;;;OAGG;IACwB,YAAY,UAAS;IAChD,0DAA0D;IAChC,SAAS,SAAM;IACzC;;;OAGG;IACwB,gBAAgB,UAAS;IACpD,8DAA8D;IACpC,aAAa,SAAM;IAC7C;;;OAGG;IACuB,SAAS,SAAM;IAIf,QAAQ,EAAE,YAAY,CAAsB;IAC5C,SAAS,EAAE,aAAa,CAAuB;IAC/C,SAAS,CAAC,EAAE,aAAa,CAAC;IACP,sBAAsB,EAAE,OAAO,CACrE;IAEP,uBAAuB,EAAE,OAAO,CAAQ;IACb,WAAW,UAAS;IAE/C,OAAgB,MAAM,0BAAoB;IAE1C,OAAO,KAAK,OAAO,GAKlB;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,KAAK,uBAAuB,GAIlC;IAED,OAAO,KAAK,iBAAiB,GAI5B;IAED,OAAO,KAAK,0BAA0B,GAErC;IAED,OAAO,KAAK,uBAAuB,GAKlC;IAED,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,UAAU;IAoBT,MAAM,IAAI,cAAc;CAmClC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-item.js","sources":["../../../src/components/sequence-item/sequence-item.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS, TemplateResult} from 'lit';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {property} from 'lit/decorators.js';\nimport {customElement} from '../../decorator.js';\nimport style from './sequence-item.css?inline';\nimport {\n SequenceOrientation,\n SequenceStyle,\n SequenceType,\n SequenceValue,\n} from '../sequence-step/sequence-step.js';\nimport '../sequence-step/sequence-step.js';\n\nexport enum SequenceItemOrientation {\n vertical = 'vertical',\n horizontal = 'horizontal',\n}\n\nexport enum SequenceItemLabelType {\n regular = 'regular',\n multiLine = 'multi-line',\n small = 'small',\n}\n\nexport enum SequenceItemState {\n enabled = 'enabled',\n active = 'active',\n}\n\n/**\n * `<obc-sequence-item>` renders the textual part of a sequence flow while\n * composing `<obc-sequence-step>` for the visual indicator. Consumers can either\n * configure the built-in step via `step*` props or supply a custom step through\n * the `step` slot.\n * @beta\n */\n@customElement('obc-sequence-item')\nexport class ObcSequenceItem extends LitElement {\n @property({type: String}) orientation: SequenceItemOrientation =\n SequenceItemOrientation.vertical;\n @property({type: String}) labelType: SequenceItemLabelType =\n SequenceItemLabelType.regular;\n @property({type: String}) state: SequenceItemState =\n SequenceItemState.enabled;\n @property({type: String}) override title = '';\n @property({type: Boolean}) hasSubtitle = false;\n /** @availableWhen hasSubtitle==true */\n @property({type: String}) subtitle = '';\n @property({type: Boolean}) hasDescription = false;\n /** @availableWhen hasDescription==true */\n @property({type: String}) description = '';\n /**\n * Enables the meta stamp container. Without this, timestamp/distance values are\n * ignored even if their booleans are true.\n */\n @property({type: Boolean}) hasStamp = false;\n /**\n * Shows a timestamp inside the stamp container when `hasStamp` is true.\n * @availableWhen hasStamp==true\n */\n @property({type: Boolean}) hasTimeStamp = false;\n /** @availableWhen hasStamp==true && hasTimeStamp==true */\n @property({type: String}) timeStamp = '';\n /**\n * Shows a distance stamp alongside the timestamp. Requires `hasStamp` to be true.\n * @availableWhen hasStamp==true\n */\n @property({type: Boolean}) hasDistanceStamp = false;\n /** @availableWhen hasStamp==true && hasDistanceStamp==true */\n @property({type: String}) distanceStamp = '';\n /**\n * Optional text used inside the auto-generated step. Defaults to `title` when\n * not provided.\n */\n @property({type: String}) stepLabel = '';\n // Deprecated: keeping the properties for compatibility but they are ignored\n // when rendering the default sequence item visual. Step rendering inside\n // sequence-item always uses a point indicator.\n @property({type: String}) stepType: SequenceType = SequenceType.small;\n @property({type: String}) stepStyle: SequenceStyle = SequenceStyle.point;\n @property({type: String}) stepValue?: SequenceValue;\n @property({type: Boolean, attribute: false}) showStepInputConnector: boolean =\n true;\n @property({type: Boolean, attribute: false})\n showStepOutputConnector: boolean = true;\n @property({type: Boolean}) stepHasIcon = false;\n\n static override styles = unsafeCSS(style);\n\n private get hasMeta(): boolean {\n if (!this.hasStamp) {\n return false;\n }\n return this.hasTimeStamp || this.hasDistanceStamp;\n }\n\n private get resolvedStepValue(): SequenceValue {\n return SequenceValue.notStarted;\n }\n\n private get resolvedStepOrientation(): SequenceOrientation {\n return this.orientation === SequenceItemOrientation.vertical\n ? SequenceOrientation.vertical\n : SequenceOrientation.horizontal;\n }\n\n private get resolvedStepLabel(): string {\n if (this.stepLabel) return this.stepLabel;\n if (this.title) return this.title;\n return 'Label';\n }\n\n private get shouldExtendInputConnector(): boolean {\n return this.hasDescription;\n }\n\n private get shouldInlineDescription(): boolean {\n return (\n this.orientation === SequenceItemOrientation.vertical &&\n this.hasDescription\n );\n }\n\n private renderStep(): TemplateResult {\n const stepClasses = {\n 'label-multi-line': this.labelType === SequenceItemLabelType.multiLine,\n };\n return html`\n <obc-sequence-step\n class=${classMap(stepClasses)}\n .type=${SequenceType.small}\n .styleType=${SequenceStyle.point}\n .value=${this.resolvedStepValue}\n .orientation=${this.resolvedStepOrientation}\n .hasIcon=${false}\n .inputConnectorExtended=${this.shouldExtendInputConnector}\n >\n ${this.resolvedStepLabel}\n </obc-sequence-step>\n `;\n }\n\n private renderTitleRow(): TemplateResult {\n return html`\n <div class=\"title-row\" part=\"title-row content\">\n <slot name=\"title\">\n <div class=\"title-block\" part=\"title-block\">\n <div class=\"title\" part=\"title\">${this.title}</div>\n ${this.hasSubtitle\n ? html`<div class=\"subtitle\" part=\"subtitle\">\n ${this.subtitle}\n </div>`\n : ''}\n ${this.shouldInlineDescription\n ? html`<div class=\"description\" part=\"description\">\n ${this.description}\n </div>`\n : ''}\n </div>\n </slot>\n </div>\n `;\n }\n\n private renderDescription(): TemplateResult | '' {\n if (!this.hasDescription || this.shouldInlineDescription) return '';\n return html`\n <slot name=\"description\">\n <div class=\"description\" part=\"description content\">\n ${this.description}\n </div>\n </slot>\n `;\n }\n\n private renderMeta(): TemplateResult | '' {\n if (!this.hasMeta) return '';\n return html`\n <slot name=\"meta\">\n <div class=\"meta-row\" part=\"meta-row\">\n ${this.hasTimeStamp\n ? html`<div class=\"meta timestamp\" part=\"timestamp\">\n ${this.timeStamp}\n </div>`\n : ''}\n ${this.hasDistanceStamp\n ? html`<div class=\"meta distance\" part=\"distance\">\n ${this.distanceStamp}\n </div>`\n : ''}\n </div>\n </slot>\n `;\n }\n\n override render(): TemplateResult {\n const wrapperClassMap = {\n 'sequence-item__wrapper': true,\n [`orientation-${this.orientation}`]: true,\n ...(this.labelType\n ? {[`label-${this.labelType}`]: true}\n : {'label-regular': true}),\n ...(this.state ? {[`state-${this.state}`]: true} : {}),\n ...(this.stepType ? {[`step-size-${this.stepType}`]: true} : {}),\n 'sequence-item__wrapper--multi-line':\n this.labelType === SequenceItemLabelType.multiLine,\n 'sequence-item__wrapper--has-description': this.hasDescription,\n 'sequence-item__wrapper--no-input-connector':\n !this.showStepInputConnector,\n 'sequence-item__wrapper--no-output-connector':\n !this.showStepOutputConnector,\n };\n\n const meta = this.renderMeta();\n const textContent = html`${this.renderTitleRow()}\n ${this.renderDescription()}\n ${this.orientation === SequenceItemOrientation.horizontal ? meta : null}`;\n\n return html`\n <div class=${classMap(wrapperClassMap)} part=\"wrapper\">\n ${this.orientation === SequenceItemOrientation.vertical ? meta : null}\n <div class=\"step-wrapper\" part=\"indicator\">\n <slot name=\"step\">${this.renderStep()}</slot>\n </div>\n ${this.orientation === SequenceItemOrientation.horizontal\n ? html`<div class=\"content\" part=\"content\">${textContent}</div>`\n : textContent}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-sequence-item': ObcSequenceItem;\n }\n}\n"],"names":["SequenceItemOrientation","SequenceItemLabelType","SequenceItemState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sequence-item.js","sources":["../../../src/components/sequence-item/sequence-item.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS, TemplateResult} from 'lit';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {property} from 'lit/decorators.js';\nimport {customElement} from '../../decorator.js';\nimport style from './sequence-item.css?inline';\nimport {\n SequenceOrientation,\n SequenceStyle,\n SequenceType,\n SequenceValue,\n} from '../sequence-step/sequence-step.js';\nimport '../sequence-step/sequence-step.js';\n\nexport enum SequenceItemOrientation {\n vertical = 'vertical',\n horizontal = 'horizontal',\n}\n\nexport enum SequenceItemLabelType {\n regular = 'regular',\n multiLine = 'multi-line',\n small = 'small',\n}\n\nexport enum SequenceItemState {\n enabled = 'enabled',\n active = 'active',\n}\n\n/**\n * `<obc-sequence-item>` renders the textual part of a sequence flow while\n * composing `<obc-sequence-step>` for the visual indicator. Consumers can either\n * configure the built-in step via `step*` props or supply a custom step through\n * the `step` slot.\n *\n * @slot title - Title/subtitle block (falls back to the built-in `title`/`subtitle`/inline description).\n * @slot description - Description text (rendered when `hasDescription` is true and not inlined).\n * @slot meta - Meta row with timestamp/distance stamps (rendered when `hasMeta` is true — i.e. `hasStamp` with a timestamp or distance stamp enabled).\n * @slot step - Custom step indicator (falls back to the built-in `<obc-sequence-step>`).\n * @beta\n */\n@customElement('obc-sequence-item')\nexport class ObcSequenceItem extends LitElement {\n @property({type: String}) orientation: SequenceItemOrientation =\n SequenceItemOrientation.vertical;\n @property({type: String}) labelType: SequenceItemLabelType =\n SequenceItemLabelType.regular;\n @property({type: String}) state: SequenceItemState =\n SequenceItemState.enabled;\n @property({type: String}) override title = '';\n @property({type: Boolean}) hasSubtitle = false;\n /** @availableWhen hasSubtitle==true */\n @property({type: String}) subtitle = '';\n @property({type: Boolean}) hasDescription = false;\n /** @availableWhen hasDescription==true */\n @property({type: String}) description = '';\n /**\n * Enables the meta stamp container. Without this, timestamp/distance values are\n * ignored even if their booleans are true.\n */\n @property({type: Boolean}) hasStamp = false;\n /**\n * Shows a timestamp inside the stamp container when `hasStamp` is true.\n * @availableWhen hasStamp==true\n */\n @property({type: Boolean}) hasTimeStamp = false;\n /** @availableWhen hasStamp==true && hasTimeStamp==true */\n @property({type: String}) timeStamp = '';\n /**\n * Shows a distance stamp alongside the timestamp. Requires `hasStamp` to be true.\n * @availableWhen hasStamp==true\n */\n @property({type: Boolean}) hasDistanceStamp = false;\n /** @availableWhen hasStamp==true && hasDistanceStamp==true */\n @property({type: String}) distanceStamp = '';\n /**\n * Optional text used inside the auto-generated step. Defaults to `title` when\n * not provided.\n */\n @property({type: String}) stepLabel = '';\n // Deprecated: keeping the properties for compatibility but they are ignored\n // when rendering the default sequence item visual. Step rendering inside\n // sequence-item always uses a point indicator.\n @property({type: String}) stepType: SequenceType = SequenceType.small;\n @property({type: String}) stepStyle: SequenceStyle = SequenceStyle.point;\n @property({type: String}) stepValue?: SequenceValue;\n @property({type: Boolean, attribute: false}) showStepInputConnector: boolean =\n true;\n @property({type: Boolean, attribute: false})\n showStepOutputConnector: boolean = true;\n @property({type: Boolean}) stepHasIcon = false;\n\n static override styles = unsafeCSS(style);\n\n private get hasMeta(): boolean {\n if (!this.hasStamp) {\n return false;\n }\n return this.hasTimeStamp || this.hasDistanceStamp;\n }\n\n private get resolvedStepValue(): SequenceValue {\n return SequenceValue.notStarted;\n }\n\n private get resolvedStepOrientation(): SequenceOrientation {\n return this.orientation === SequenceItemOrientation.vertical\n ? SequenceOrientation.vertical\n : SequenceOrientation.horizontal;\n }\n\n private get resolvedStepLabel(): string {\n if (this.stepLabel) return this.stepLabel;\n if (this.title) return this.title;\n return 'Label';\n }\n\n private get shouldExtendInputConnector(): boolean {\n return this.hasDescription;\n }\n\n private get shouldInlineDescription(): boolean {\n return (\n this.orientation === SequenceItemOrientation.vertical &&\n this.hasDescription\n );\n }\n\n private renderStep(): TemplateResult {\n const stepClasses = {\n 'label-multi-line': this.labelType === SequenceItemLabelType.multiLine,\n };\n return html`\n <obc-sequence-step\n class=${classMap(stepClasses)}\n .type=${SequenceType.small}\n .styleType=${SequenceStyle.point}\n .value=${this.resolvedStepValue}\n .orientation=${this.resolvedStepOrientation}\n .hasIcon=${false}\n .inputConnectorExtended=${this.shouldExtendInputConnector}\n >\n ${this.resolvedStepLabel}\n </obc-sequence-step>\n `;\n }\n\n private renderTitleRow(): TemplateResult {\n return html`\n <div class=\"title-row\" part=\"title-row content\">\n <slot name=\"title\">\n <div class=\"title-block\" part=\"title-block\">\n <div class=\"title\" part=\"title\">${this.title}</div>\n ${this.hasSubtitle\n ? html`<div class=\"subtitle\" part=\"subtitle\">\n ${this.subtitle}\n </div>`\n : ''}\n ${this.shouldInlineDescription\n ? html`<div class=\"description\" part=\"description\">\n ${this.description}\n </div>`\n : ''}\n </div>\n </slot>\n </div>\n `;\n }\n\n private renderDescription(): TemplateResult | '' {\n if (!this.hasDescription || this.shouldInlineDescription) return '';\n return html`\n <slot name=\"description\">\n <div class=\"description\" part=\"description content\">\n ${this.description}\n </div>\n </slot>\n `;\n }\n\n private renderMeta(): TemplateResult | '' {\n if (!this.hasMeta) return '';\n return html`\n <slot name=\"meta\">\n <div class=\"meta-row\" part=\"meta-row\">\n ${this.hasTimeStamp\n ? html`<div class=\"meta timestamp\" part=\"timestamp\">\n ${this.timeStamp}\n </div>`\n : ''}\n ${this.hasDistanceStamp\n ? html`<div class=\"meta distance\" part=\"distance\">\n ${this.distanceStamp}\n </div>`\n : ''}\n </div>\n </slot>\n `;\n }\n\n override render(): TemplateResult {\n const wrapperClassMap = {\n 'sequence-item__wrapper': true,\n [`orientation-${this.orientation}`]: true,\n ...(this.labelType\n ? {[`label-${this.labelType}`]: true}\n : {'label-regular': true}),\n ...(this.state ? {[`state-${this.state}`]: true} : {}),\n ...(this.stepType ? {[`step-size-${this.stepType}`]: true} : {}),\n 'sequence-item__wrapper--multi-line':\n this.labelType === SequenceItemLabelType.multiLine,\n 'sequence-item__wrapper--has-description': this.hasDescription,\n 'sequence-item__wrapper--no-input-connector':\n !this.showStepInputConnector,\n 'sequence-item__wrapper--no-output-connector':\n !this.showStepOutputConnector,\n };\n\n const meta = this.renderMeta();\n const textContent = html`${this.renderTitleRow()}\n ${this.renderDescription()}\n ${this.orientation === SequenceItemOrientation.horizontal ? meta : null}`;\n\n return html`\n <div class=${classMap(wrapperClassMap)} part=\"wrapper\">\n ${this.orientation === SequenceItemOrientation.vertical ? meta : null}\n <div class=\"step-wrapper\" part=\"indicator\">\n <slot name=\"step\">${this.renderStep()}</slot>\n </div>\n ${this.orientation === SequenceItemOrientation.horizontal\n ? html`<div class=\"content\" part=\"content\">${textContent}</div>`\n : textContent}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-sequence-item': ObcSequenceItem;\n }\n}\n"],"names":["SequenceItemOrientation","SequenceItemLabelType","SequenceItemState"],"mappings":"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"}
|
|
@@ -44,6 +44,10 @@ export declare enum ObcSequenceModalType {
|
|
|
44
44
|
* ```
|
|
45
45
|
*
|
|
46
46
|
* Keywords: modal, sequence, step, dialog, progress, actions.
|
|
47
|
+
*
|
|
48
|
+
* @slot actions - Actions row content (shown when `hasActions` is true).
|
|
49
|
+
* @slot - Main content area.
|
|
50
|
+
* @fires close-click - Fired when the close icon is clicked.
|
|
47
51
|
* @experimental
|
|
48
52
|
*/
|
|
49
53
|
export declare class ObcSequenceModal extends LitElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-modal.d.ts","sourceRoot":"","sources":["../../../src/components/sequence-modal/sequence-modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAkB,MAAM,KAAK,CAAC;AAIhD,OAAO,EAGL,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,+BAA+B,CAAC;AACvC,OAAO,kCAAkC,CAAC;AAO1C,OAAO,mCAAmC,CAAC;AAE3C,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,OAAO,aAAa;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"sequence-modal.d.ts","sourceRoot":"","sources":["../../../src/components/sequence-modal/sequence-modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAkB,MAAM,KAAK,CAAC;AAIhD,OAAO,EAGL,aAAa,EACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,+BAA+B,CAAC;AACvC,OAAO,kCAAkC,CAAC;AAO1C,OAAO,mCAAmC,CAAC;AAE3C,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,OAAO,aAAa;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IACpB,IAAI,EAAE,oBAAoB,CACrB;IAEL,SAAS,SAAM;IACf,SAAS,EAAE,aAAa,CAA4B;IAEpD,UAAU,SAAM;IAChB,QAAQ,SAAM;IAEb,YAAY,UAAS;IACtB,SAAS,SAAM;IACf,SAAS,SAAM;IAEd,UAAU,UAAS;IAEpB,UAAU,SAAW;IAE/C,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,YAAY,CACiC;IAE5C,MAAM;IAgDf,OAAgB,MAAM,0BAA6B;CACpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-modal.js","sources":["../../../src/components/sequence-modal/sequence-modal.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement} from '../../decorator.js';\nimport componentStyle from './sequence-modal.css?inline';\nimport {\n SequenceStyle,\n SequenceType,\n SequenceValue,\n} from '../sequence-step/sequence-step.js';\nimport '../sequence-step/sequence-step.js';\nimport '../icon-button/icon-button.js';\nimport '../../icons/icon-close-google.js';\nimport {\n ObcSequenceCardProgressType,\n ObcSequenceCardSize,\n ObcSequenceCardState,\n ObcSequenceCardTitleType,\n} from '../sequence-card/sequence-card.js';\nimport '../sequence-card/sequence-card.js';\n\nexport enum ObcSequenceModalType {\n Regular = 'regular',\n TwoLine = 'two-line',\n}\n\n/**\n * `<obc-sequence-modal>` - Modal card with step indicator, title, content, and actions.\n *\n * Overview:\n * - Presents a sequence step in a modal-style card with header metadata.\n * - Supports regular and two-line title layouts.\n * - Use for focused step/task dialogs with optional actions.\n *\n * Features and Variants:\n * - Types: `regular`, `two-line`.\n * - Optional timestamp and actions area.\n *\n * Usage Guidelines:\n * - Use the `actions` slot for custom buttons.\n * - Provide content via the default slot (no built-in placeholders).\n *\n * Slots:\n * - `actions`: Actions row content (shown when `hasActions` is true).\n * - Default slot: Main content area.\n *\n * Events:\n * - `close-click`: Fired when the close icon is clicked.\n *\n * Best Practices:\n * - Keep titles short; use `subtitle` for additional context.\n * - Prefer a single row of actions for compact layouts.\n *\n * Example:\n * ```html\n * <obc-sequence-modal type=\"regular\" hasActions>\n * <div slot=\"actions\">...</div>\n * <!-- default slot: your content -->\n * </obc-sequence-modal>\n * ```\n *\n * Keywords: modal, sequence, step, dialog, progress, actions.\n * @experimental\n */\n@customElement('obc-sequence-modal')\nexport class ObcSequenceModal extends LitElement {\n @property({type: String}) type: ObcSequenceModalType =\n ObcSequenceModalType.Regular;\n\n @property({type: String}) stepLabel = '';\n @property({type: String}) stepValue: SequenceValue = SequenceValue.notStarted;\n\n @property({type: String}) modalTitle = '';\n @property({type: String}) subtitle = '';\n\n @property({type: Boolean}) hasTimeStamp = false;\n @property({type: String}) timeValue = '';\n @property({type: String}) timeLabel = '';\n\n @property({type: Boolean}) hasActions = false;\n\n @property({type: String}) closeLabel = 'Close';\n\n private get isTwoLine() {\n return this.type === ObcSequenceModalType.TwoLine;\n }\n\n private onCloseClick = () =>\n this.dispatchEvent(new CustomEvent('close-click'));\n\n override render() {\n const titleType = ObcSequenceCardTitleType.TwoLine;\n\n const subtitle = this.isTwoLine ? this.subtitle : '';\n\n return html`\n <div class=\"sequence-modal type-${this.type}\">\n <obc-sequence-card\n class=\"sequence-modal-card\"\n .size=${ObcSequenceCardSize.Regular}\n .titleType=${titleType}\n .progressType=${ObcSequenceCardProgressType.Centered}\n .state=${ObcSequenceCardState.Active}\n .fullWidth=${true}\n .fullHeight=${true}\n .horizontal=${false}\n .showConnector=${false}\n .hasLeadingIcon=${false}\n .cardTitle=${this.modalTitle}\n .subtitle=${subtitle}\n .hasTimeStamp=${this.hasTimeStamp}\n .timeLabel=${this.timeLabel}\n .time=${this.timeValue}\n .hasContent=${true}\n .hasActions=${this.hasActions}\n .progressLabel=${this.stepLabel}\n .progressValue=${this.stepValue}\n .indicatorTypeOverride=${SequenceType.medium}\n .indicatorStyleOverride=${SequenceStyle.point}\n >\n <div class=\"sequence-modal-header-actions\" slot=\"header-actions\">\n <span class=\"sequence-modal-divider\" aria-hidden=\"true\"></span>\n <obc-icon-button\n class=\"close-button\"\n variant=\"flat\"\n aria-label=${this.closeLabel}\n @click=${this.onCloseClick}\n >\n <obi-close-google></obi-close-google>\n </obc-icon-button>\n </div>\n <slot name=\"actions\" slot=\"actions\"></slot>\n <slot></slot>\n </obc-sequence-card>\n </div>\n `;\n }\n\n static override styles = unsafeCSS(componentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-sequence-modal': ObcSequenceModal;\n }\n}\n"],"names":["ObcSequenceModalType"],"mappings":";;;;;;;;;;;;;;;;;;AAoBO,IAAK,yCAAAA,0BAAL;AACLA,wBAAA,SAAA,IAAU;AACVA,wBAAA,SAAA,IAAU;AAFA,SAAAA;AAAA,GAAA,wBAAA,CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"sequence-modal.js","sources":["../../../src/components/sequence-modal/sequence-modal.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement} from '../../decorator.js';\nimport componentStyle from './sequence-modal.css?inline';\nimport {\n SequenceStyle,\n SequenceType,\n SequenceValue,\n} from '../sequence-step/sequence-step.js';\nimport '../sequence-step/sequence-step.js';\nimport '../icon-button/icon-button.js';\nimport '../../icons/icon-close-google.js';\nimport {\n ObcSequenceCardProgressType,\n ObcSequenceCardSize,\n ObcSequenceCardState,\n ObcSequenceCardTitleType,\n} from '../sequence-card/sequence-card.js';\nimport '../sequence-card/sequence-card.js';\n\nexport enum ObcSequenceModalType {\n Regular = 'regular',\n TwoLine = 'two-line',\n}\n\n/**\n * `<obc-sequence-modal>` - Modal card with step indicator, title, content, and actions.\n *\n * Overview:\n * - Presents a sequence step in a modal-style card with header metadata.\n * - Supports regular and two-line title layouts.\n * - Use for focused step/task dialogs with optional actions.\n *\n * Features and Variants:\n * - Types: `regular`, `two-line`.\n * - Optional timestamp and actions area.\n *\n * Usage Guidelines:\n * - Use the `actions` slot for custom buttons.\n * - Provide content via the default slot (no built-in placeholders).\n *\n * Slots:\n * - `actions`: Actions row content (shown when `hasActions` is true).\n * - Default slot: Main content area.\n *\n * Events:\n * - `close-click`: Fired when the close icon is clicked.\n *\n * Best Practices:\n * - Keep titles short; use `subtitle` for additional context.\n * - Prefer a single row of actions for compact layouts.\n *\n * Example:\n * ```html\n * <obc-sequence-modal type=\"regular\" hasActions>\n * <div slot=\"actions\">...</div>\n * <!-- default slot: your content -->\n * </obc-sequence-modal>\n * ```\n *\n * Keywords: modal, sequence, step, dialog, progress, actions.\n *\n * @slot actions - Actions row content (shown when `hasActions` is true).\n * @slot - Main content area.\n * @fires close-click - Fired when the close icon is clicked.\n * @experimental\n */\n@customElement('obc-sequence-modal')\nexport class ObcSequenceModal extends LitElement {\n @property({type: String}) type: ObcSequenceModalType =\n ObcSequenceModalType.Regular;\n\n @property({type: String}) stepLabel = '';\n @property({type: String}) stepValue: SequenceValue = SequenceValue.notStarted;\n\n @property({type: String}) modalTitle = '';\n @property({type: String}) subtitle = '';\n\n @property({type: Boolean}) hasTimeStamp = false;\n @property({type: String}) timeValue = '';\n @property({type: String}) timeLabel = '';\n\n @property({type: Boolean}) hasActions = false;\n\n @property({type: String}) closeLabel = 'Close';\n\n private get isTwoLine() {\n return this.type === ObcSequenceModalType.TwoLine;\n }\n\n private onCloseClick = () =>\n this.dispatchEvent(new CustomEvent('close-click'));\n\n override render() {\n const titleType = ObcSequenceCardTitleType.TwoLine;\n\n const subtitle = this.isTwoLine ? this.subtitle : '';\n\n return html`\n <div class=\"sequence-modal type-${this.type}\">\n <obc-sequence-card\n class=\"sequence-modal-card\"\n .size=${ObcSequenceCardSize.Regular}\n .titleType=${titleType}\n .progressType=${ObcSequenceCardProgressType.Centered}\n .state=${ObcSequenceCardState.Active}\n .fullWidth=${true}\n .fullHeight=${true}\n .horizontal=${false}\n .showConnector=${false}\n .hasLeadingIcon=${false}\n .cardTitle=${this.modalTitle}\n .subtitle=${subtitle}\n .hasTimeStamp=${this.hasTimeStamp}\n .timeLabel=${this.timeLabel}\n .time=${this.timeValue}\n .hasContent=${true}\n .hasActions=${this.hasActions}\n .progressLabel=${this.stepLabel}\n .progressValue=${this.stepValue}\n .indicatorTypeOverride=${SequenceType.medium}\n .indicatorStyleOverride=${SequenceStyle.point}\n >\n <div class=\"sequence-modal-header-actions\" slot=\"header-actions\">\n <span class=\"sequence-modal-divider\" aria-hidden=\"true\"></span>\n <obc-icon-button\n class=\"close-button\"\n variant=\"flat\"\n aria-label=${this.closeLabel}\n @click=${this.onCloseClick}\n >\n <obi-close-google></obi-close-google>\n </obc-icon-button>\n </div>\n <slot name=\"actions\" slot=\"actions\"></slot>\n <slot></slot>\n </obc-sequence-card>\n </div>\n `;\n }\n\n static override styles = unsafeCSS(componentStyle);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-sequence-modal': ObcSequenceModal;\n }\n}\n"],"names":["ObcSequenceModalType"],"mappings":";;;;;;;;;;;;;;;;;;AAoBO,IAAK,yCAAAA,0BAAL;AACLA,wBAAA,SAAA,IAAU;AACVA,wBAAA,SAAA,IAAU;AAFA,SAAAA;AAAA,GAAA,wBAAA,CAAA,CAAA;AAgDL,IAAM,mBAAN,cAA+B,WAAW;AAAA,EAA1C,cAAA;AAAA,UAAA,GAAA,SAAA;AACqB,SAAA,OACxB;AAEwB,SAAA,YAAY;AACZ,SAAA,YAA2B,cAAc;AAEzC,SAAA,aAAa;AACb,SAAA,WAAW;AAEV,SAAA,eAAe;AAChB,SAAA,YAAY;AACZ,SAAA,YAAY;AAEX,SAAA,aAAa;AAEd,SAAA,aAAa;AAMvC,SAAQ,eAAe,MACrB,KAAK,cAAc,IAAI,YAAY,aAAa,CAAC;AAAA,EAAA;AAAA,EALnD,IAAY,YAAY;AACtB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EAKS,SAAS;AAChB,UAAM,YAAY,yBAAyB;AAE3C,UAAM,WAAW,KAAK,YAAY,KAAK,WAAW;AAElD,WAAO;AAAA,wCAC6B,KAAK,IAAI;AAAA;AAAA;AAAA,kBAG/B,oBAAoB,OAAO;AAAA,uBACtB,SAAS;AAAA,0BACN,4BAA4B,QAAQ;AAAA,mBAC3C,qBAAqB,MAAM;AAAA,uBACvB,IAAI;AAAA,wBACH,IAAI;AAAA,wBACJ,KAAK;AAAA,2BACF,KAAK;AAAA,4BACJ,KAAK;AAAA,uBACV,KAAK,UAAU;AAAA,sBAChB,QAAQ;AAAA,0BACJ,KAAK,YAAY;AAAA,uBACpB,KAAK,SAAS;AAAA,kBACnB,KAAK,SAAS;AAAA,wBACR,IAAI;AAAA,wBACJ,KAAK,UAAU;AAAA,2BACZ,KAAK,SAAS;AAAA,2BACd,KAAK,SAAS;AAAA,mCACN,aAAa,MAAM;AAAA,oCAClB,cAAc,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAO5B,KAAK,UAAU;AAAA,uBACnB,KAAK,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUtC;AAGF;AA1Ea,iBAyEK,SAAS,UAAU,cAAc;AAxEvB,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GADb,iBACe,WAAA,QAAA,CAAA;AAGA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAJb,iBAIe,WAAA,aAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GALb,iBAKe,WAAA,aAAA,CAAA;AAEA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAPb,iBAOe,WAAA,cAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GARb,iBAQe,WAAA,YAAA,CAAA;AAEC,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAVd,iBAUgB,WAAA,gBAAA,CAAA;AACD,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAXb,iBAWe,WAAA,aAAA,CAAA;AACA,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAZb,iBAYe,WAAA,aAAA,CAAA;AAEC,gBAAA;AAAA,EAA1B,SAAS,EAAC,MAAM,QAAA,CAAQ;AAAA,GAdd,iBAcgB,WAAA,cAAA,CAAA;AAED,gBAAA;AAAA,EAAzB,SAAS,EAAC,MAAM,OAAA,CAAO;AAAA,GAhBb,iBAgBe,WAAA,cAAA,CAAA;AAhBf,mBAAN,gBAAA;AAAA,EADN,cAAc,oBAAoB;AAAA,GACtB,gBAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-step.d.ts","sourceRoot":"","sources":["../../../src/components/sequence-step/sequence-step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAmB,cAAc,EAAU,MAAM,KAAK,CAAC;AAMzE,OAAO,kCAAkC,CAAC;AAK1C,OAAO,yDAAyD,CAAC;AAEjE,oBAAY,mBAAmB;IAC7B,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AAED,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,SAAS,cAAc;CACxB;AAED,oBAAY,aAAa;IACvB,UAAU,gBAAgB;IAC1B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED;;;GAGG;AACH,oBAAY,eAAe;IACzB,UAAU,gBAAgB;IAC1B,oBAAoB,2BAA2B;IAC/C,WAAW,iBAAiB;CAC7B;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"sequence-step.d.ts","sourceRoot":"","sources":["../../../src/components/sequence-step/sequence-step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAmB,cAAc,EAAU,MAAM,KAAK,CAAC;AAMzE,OAAO,kCAAkC,CAAC;AAK1C,OAAO,yDAAyD,CAAC;AAEjE,oBAAY,mBAAmB;IAC7B,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AAED,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,SAAS,cAAc;CACxB;AAED,oBAAY,aAAa;IACvB,UAAU,gBAAgB;IAC1B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED;;;GAGG;AACH,oBAAY,eAAe;IACzB,UAAU,gBAAgB;IAC1B,oBAAoB,2BAA2B;IAC/C,WAAW,iBAAiB;CAC7B;AAED;;GAEG;AACH,qBASa,eAAgB,SAAQ,UAAU;IACnB,WAAW,EAAE,mBAAmB,CACzB;IACP,IAAI,EAAE,YAAY,CAAuB;IACzC,SAAS,EAAE,aAAa,CAAyB;IACjD,KAAK,EAAE,aAAa,CAAyB;IAC9B,OAAO,CAAC,EAAE,eAAe,CAAC;IACnE;;;OAGG;IACwB,OAAO,UAAS;IACE,sBAAsB,EAAE,OAAO,CACrE;IAEP,uBAAuB,EAAE,OAAO,CAAQ;IACxC;;;;OAIG;IACwB,sBAAsB,UAAS;IAE1D,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,aAAa,GAKxB;IAED,OAAO,KAAK,YAAY,GAIvB;IAED,OAAO,KAAK,yBAAyB,GAOpC;IAED,OAAO,KAAK,mBAAmB,GAM9B;IAED,OAAO,CAAC,eAAe;IAsCvB,OAAO,KAAK,sBAAsB,GAYjC;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,KAAK,aAAa,GAGxB;IAED,OAAO,KAAK,iBAAiB,GAI5B;IAED,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,KAAK,kBAAkB,GAe7B;IAED,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,iBAAiB;IAkCzB,OAAgB,MAAM,0BAAoB;IAEjC,MAAM,IAAI,cAAc;CA6FlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-step.js","sources":["../../../src/components/sequence-step/sequence-step.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS, TemplateResult, nothing} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {customElement} from '../../decorator.js';\nimport style from './sequence-step.css?inline';\nimport '../../icons/icon-check-google.js';\nimport {\n SequenceLoadingSpinnerProgressionType,\n SequenceLoadingSpinnerType,\n} from '../sequence-loading-spinner/sequence-loading-spinner.js';\nimport '../sequence-loading-spinner/sequence-loading-spinner.js';\n\nexport enum SequenceOrientation {\n vertical = 'vertical',\n horizontal = 'horizontal',\n}\n\nexport enum SequenceType {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum SequenceStyle {\n regular = 'regular',\n point = 'point',\n connector = 'connector',\n}\n\nexport enum SequenceValue {\n notStarted = 'not-started',\n loading = 'loading',\n regular = 'regular',\n next = 'next',\n active = 'active',\n completed = 'completed',\n}\n\n/**\n * Visual variants used by sequence toolbar layouts.\n * These map to `:host([variant=\"...\"])` selectors in the component CSS.\n */\nexport enum SequenceVariant {\n toolbarAdd = 'toolbar-add',\n toolbarCondensedIcon = 'toolbar-condensed-icon',\n toolbarPrev = 'toolbar-prev',\n}\n\n/**\n * @beta\n */\n@customElement('obc-sequence-step')\n/**\n * `<obc-sequence-step>` renders the visual node of a sequence diagram.\n * Supports three sizes, multiple styles (regular/point/connector), and can show\n * leading/trailing connectors as well as state-specific icons.\n */\nexport class ObcSequenceStep extends LitElement {\n @property({type: String}) orientation: SequenceOrientation =\n SequenceOrientation.horizontal;\n @property({type: String}) type: SequenceType = SequenceType.medium;\n @property({type: String}) styleType: SequenceStyle = SequenceStyle.regular;\n @property({type: String}) value: SequenceValue = SequenceValue.regular;\n @property({type: String, reflect: true}) variant?: SequenceVariant;\n /**\n * Displays the built-in state icon for medium/large regular steps.\n * @availableWhen styleType==regular && type in [medium, large]\n */\n @property({type: Boolean}) hasIcon = false;\n @property({type: Boolean, attribute: false}) showStepInputConnector: boolean =\n true;\n @property({type: Boolean, attribute: false})\n showStepOutputConnector: boolean = true;\n /**\n * Extends the input connector to match the height/width of multi-line content.\n * Applies only when `hasInputConnector` is true.\n * @availableWhen showStepInputConnector==true\n */\n @property({type: Boolean}) inputConnectorExtended = false;\n\n private get isVertical() {\n return this.orientation === SequenceOrientation.vertical;\n }\n\n private get showInputConnector() {\n return this.showStepInputConnector;\n }\n\n private get showOutputConnector() {\n return this.showStepOutputConnector;\n }\n\n private get isMediumPoint() {\n return (\n this.type === SequenceType.medium &&\n this.styleType === SequenceStyle.point\n );\n }\n\n private get isLargePoint() {\n return (\n this.type === SequenceType.large && this.styleType === SequenceStyle.point\n );\n }\n\n private get isSpecialLoadingConnector(): boolean {\n return (\n this.type === SequenceType.small &&\n (this.value === SequenceValue.loading ||\n this.value === SequenceValue.next ||\n this.value === SequenceValue.active)\n );\n }\n\n private get shouldShowStateIcon(): boolean {\n return (\n this.hasIcon &&\n this.styleType === SequenceStyle.regular &&\n (this.type === SequenceType.medium || this.type === SequenceType.large)\n );\n }\n\n private renderStateIcon(): TemplateResult | typeof nothing {\n if (!this.shouldShowStateIcon) {\n return nothing;\n }\n\n if (this.value === SequenceValue.loading) {\n return html`\n <obc-sequence-loading-spinner\n class=\"state-icon state-icon--spinner\"\n part=\"state-icon\"\n aria-hidden=\"true\"\n .type=${this.loadingSpinnerType}\n .progression=${SequenceLoadingSpinnerProgressionType.determinate}\n ></obc-sequence-loading-spinner>\n `;\n }\n\n if (this.value === SequenceValue.completed) {\n return html`\n <obi-check-google\n class=\"state-icon state-icon--completed\"\n part=\"state-icon\"\n aria-hidden=\"true\"\n ></obi-check-google>\n `;\n }\n\n return html`\n <span\n class=\"state-icon state-icon--slot\"\n part=\"state-icon\"\n aria-hidden=\"true\"\n >\n <slot name=\"leading-icon\"></slot>\n </span>\n `;\n }\n\n private get shouldUseButtonWrapper(): boolean {\n if (this.styleType === SequenceStyle.connector) {\n return false;\n }\n if (\n this.type === SequenceType.large &&\n (this.styleType === SequenceStyle.regular ||\n this.styleType === SequenceStyle.point)\n ) {\n return true;\n }\n return false;\n }\n\n private get stepAriaCurrent(): 'step' | null {\n return this.value === SequenceValue.active ? 'step' : null;\n }\n\n private get stepAriaLabel(): string {\n const readable = this.value.replace(/-/g, ' ');\n return `Sequence step ${readable}`;\n }\n\n private get resolvedAriaLabel(): string {\n // If the consumer provides an explicit accessible name on the host,\n // prefer it over the generic state-based label.\n return this.getAttribute('aria-label') ?? this.stepAriaLabel;\n }\n\n private renderSmallIndicator(): TemplateResult {\n const showCheck =\n this.styleType === SequenceStyle.regular &&\n this.value === SequenceValue.completed;\n\n return html`\n <div class=\"node\" part=\"node\" aria-hidden=\"true\">\n ${this.value === SequenceValue.loading\n ? this.renderLoadingSpinner()\n : showCheck\n ? html`<obi-check-google\n class=\"small-check\"\n part=\"state-icon\"\n aria-hidden=\"true\"\n ></obi-check-google>`\n : nothing}\n </div>\n `;\n }\n\n private get loadingSpinnerType(): SequenceLoadingSpinnerType {\n const isPoint = this.styleType === SequenceStyle.point;\n if (this.type === SequenceType.small) {\n return isPoint\n ? SequenceLoadingSpinnerType.indicatorPoint\n : SequenceLoadingSpinnerType.indicator;\n }\n if (this.type === SequenceType.medium) {\n return isPoint\n ? SequenceLoadingSpinnerType.tagPoint\n : SequenceLoadingSpinnerType.tag;\n }\n return isPoint\n ? SequenceLoadingSpinnerType.buttonPoint\n : SequenceLoadingSpinnerType.button;\n }\n\n private renderLoadingSpinner(): TemplateResult {\n return html`\n <obc-sequence-loading-spinner\n aria-hidden=\"true\"\n .type=${this.loadingSpinnerType}\n .progression=${SequenceLoadingSpinnerProgressionType.determinate}\n ></obc-sequence-loading-spinner>\n `;\n }\n\n private renderPointLoadingSpinner(): TemplateResult {\n return html`\n <span class=\"loading-spinner\" aria-hidden=\"true\">\n <obc-sequence-loading-spinner\n .type=${this.loadingSpinnerType}\n .progression=${SequenceLoadingSpinnerProgressionType.determinate}\n ></obc-sequence-loading-spinner>\n </span>\n `;\n }\n\n private getWrapperClasses() {\n return {\n wrapper: true,\n [`type-${this.type}`]: true,\n [`style-${this.styleType}`]: true,\n [`value-${this.value}`]: true,\n [`connector-${this.orientation}`]: true,\n 'has-icon': this.shouldShowStateIcon,\n 'has-input': this.showInputConnector,\n 'has-output': this.showOutputConnector,\n 'input-extended': this.inputConnectorExtended,\n 'label-multi-line': this.classList.contains('label-multi-line'),\n };\n }\n\n private renderNodeContent(): TemplateResult | null {\n const isSmall = this.type === SequenceType.small;\n if (isSmall) {\n return this.renderSmallIndicator();\n }\n if (this.isMediumPoint || this.isLargePoint) {\n const loadingSpinner =\n this.value === SequenceValue.loading\n ? this.renderPointLoadingSpinner()\n : nothing;\n return html`\n <div\n class=\"node ${this.type === 'medium' && this.styleType === 'point'\n ? 'medium-point'\n : ''}\"\n part=\"node\"\n >\n ${loadingSpinner}\n <div class=\"content\" part=\"label\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n return html`\n <div class=\"node\" part=\"node\">\n ${this.renderStateIcon()}\n <div class=\"content\" part=\"label\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n static override styles = unsafeCSS(style);\n\n override render(): TemplateResult {\n const ariaLabel = this.resolvedAriaLabel;\n if (this.styleType === SequenceStyle.connector) {\n return html`\n <div\n class=${classMap(this.getWrapperClasses())}\n part=\"wrapper\"\n role=\"listitem\"\n aria-label=${ariaLabel}\n aria-current=${ifDefined(this.stepAriaCurrent ?? undefined)}\n >\n <div class=\"body\" part=\"body\">\n ${this.showInputConnector\n ? html`<span\n class=\"connector input\"\n part=\"connector input\"\n ></span>`\n : ''}\n ${this.showOutputConnector\n ? html`<span\n class=\"connector output\"\n part=\"connector output\"\n ></span>`\n : ''}\n </div>\n </div>\n `;\n }\n\n const wrapperClasses = classMap(this.getWrapperClasses());\n const ariaCurrent = this.stepAriaCurrent ?? undefined;\n const verticalInput =\n this.isVertical && this.showInputConnector\n ? html`<span\n class=\"connector input ${this.isSpecialLoadingConnector\n ? 'loading-special'\n : ''}\"\n part=\"connector input\"\n ></span>`\n : '';\n const verticalOutput =\n this.isVertical && this.showOutputConnector\n ? html`<span class=\"connector output\" part=\"connector output\"></span>`\n : '';\n const nodeContent = this.renderNodeContent();\n const horizontalInput =\n !this.isVertical && this.showInputConnector\n ? html`<span\n class=\"connector input ${this.isSpecialLoadingConnector\n ? 'loading-special'\n : ''}\"\n part=\"connector input\"\n ></span>`\n : '';\n const horizontalOutput =\n !this.isVertical && this.showOutputConnector\n ? html`<span class=\"connector output\" part=\"connector output\"></span>`\n : '';\n const contents = html`\n ${(this.isVertical ? verticalInput : horizontalInput) ?? ''}\n <div class=\"visible-wrapper\" part=\"visible-wrapper\">\n <div class=\"body\" part=\"body\">${nodeContent}</div>\n </div>\n ${(this.isVertical ? verticalOutput : horizontalOutput) ?? ''}\n `;\n\n if (this.shouldUseButtonWrapper) {\n return html`\n <button\n type=\"button\"\n class=${wrapperClasses}\n part=\"wrapper\"\n role=\"listitem\"\n aria-label=${ariaLabel}\n aria-current=${ifDefined(ariaCurrent)}\n >\n ${contents}\n </button>\n `;\n }\n\n return html`\n <div\n class=${wrapperClasses}\n part=\"wrapper\"\n role=\"listitem\"\n aria-label=${ariaLabel}\n aria-current=${ifDefined(ariaCurrent)}\n >\n ${contents}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-sequence-step': ObcSequenceStep;\n }\n}\n"],"names":["SequenceOrientation","SequenceType","SequenceStyle","SequenceValue","SequenceVariant"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sequence-step.js","sources":["../../../src/components/sequence-step/sequence-step.ts"],"sourcesContent":["import {LitElement, html, unsafeCSS, TemplateResult, nothing} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {ifDefined} from 'lit/directives/if-defined.js';\nimport {customElement} from '../../decorator.js';\nimport style from './sequence-step.css?inline';\nimport '../../icons/icon-check-google.js';\nimport {\n SequenceLoadingSpinnerProgressionType,\n SequenceLoadingSpinnerType,\n} from '../sequence-loading-spinner/sequence-loading-spinner.js';\nimport '../sequence-loading-spinner/sequence-loading-spinner.js';\n\nexport enum SequenceOrientation {\n vertical = 'vertical',\n horizontal = 'horizontal',\n}\n\nexport enum SequenceType {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum SequenceStyle {\n regular = 'regular',\n point = 'point',\n connector = 'connector',\n}\n\nexport enum SequenceValue {\n notStarted = 'not-started',\n loading = 'loading',\n regular = 'regular',\n next = 'next',\n active = 'active',\n completed = 'completed',\n}\n\n/**\n * Visual variants used by sequence toolbar layouts.\n * These map to `:host([variant=\"...\"])` selectors in the component CSS.\n */\nexport enum SequenceVariant {\n toolbarAdd = 'toolbar-add',\n toolbarCondensedIcon = 'toolbar-condensed-icon',\n toolbarPrev = 'toolbar-prev',\n}\n\n/**\n * @beta\n */\n@customElement('obc-sequence-step')\n/**\n * `<obc-sequence-step>` renders the visual node of a sequence diagram.\n * Supports three sizes, multiple styles (regular/point/connector), and can show\n * leading/trailing connectors as well as state-specific icons.\n *\n * @slot leading-icon - Custom leading state icon (shown for medium/large regular steps with `hasIcon`, when the value has no built-in icon).\n * @slot - Step label content (shown for non-small steps).\n */\nexport class ObcSequenceStep extends LitElement {\n @property({type: String}) orientation: SequenceOrientation =\n SequenceOrientation.horizontal;\n @property({type: String}) type: SequenceType = SequenceType.medium;\n @property({type: String}) styleType: SequenceStyle = SequenceStyle.regular;\n @property({type: String}) value: SequenceValue = SequenceValue.regular;\n @property({type: String, reflect: true}) variant?: SequenceVariant;\n /**\n * Displays the built-in state icon for medium/large regular steps.\n * @availableWhen styleType==regular && type in [medium, large]\n */\n @property({type: Boolean}) hasIcon = false;\n @property({type: Boolean, attribute: false}) showStepInputConnector: boolean =\n true;\n @property({type: Boolean, attribute: false})\n showStepOutputConnector: boolean = true;\n /**\n * Extends the input connector to match the height/width of multi-line content.\n * Applies only when `hasInputConnector` is true.\n * @availableWhen showStepInputConnector==true\n */\n @property({type: Boolean}) inputConnectorExtended = false;\n\n private get isVertical() {\n return this.orientation === SequenceOrientation.vertical;\n }\n\n private get showInputConnector() {\n return this.showStepInputConnector;\n }\n\n private get showOutputConnector() {\n return this.showStepOutputConnector;\n }\n\n private get isMediumPoint() {\n return (\n this.type === SequenceType.medium &&\n this.styleType === SequenceStyle.point\n );\n }\n\n private get isLargePoint() {\n return (\n this.type === SequenceType.large && this.styleType === SequenceStyle.point\n );\n }\n\n private get isSpecialLoadingConnector(): boolean {\n return (\n this.type === SequenceType.small &&\n (this.value === SequenceValue.loading ||\n this.value === SequenceValue.next ||\n this.value === SequenceValue.active)\n );\n }\n\n private get shouldShowStateIcon(): boolean {\n return (\n this.hasIcon &&\n this.styleType === SequenceStyle.regular &&\n (this.type === SequenceType.medium || this.type === SequenceType.large)\n );\n }\n\n private renderStateIcon(): TemplateResult | typeof nothing {\n if (!this.shouldShowStateIcon) {\n return nothing;\n }\n\n if (this.value === SequenceValue.loading) {\n return html`\n <obc-sequence-loading-spinner\n class=\"state-icon state-icon--spinner\"\n part=\"state-icon\"\n aria-hidden=\"true\"\n .type=${this.loadingSpinnerType}\n .progression=${SequenceLoadingSpinnerProgressionType.determinate}\n ></obc-sequence-loading-spinner>\n `;\n }\n\n if (this.value === SequenceValue.completed) {\n return html`\n <obi-check-google\n class=\"state-icon state-icon--completed\"\n part=\"state-icon\"\n aria-hidden=\"true\"\n ></obi-check-google>\n `;\n }\n\n return html`\n <span\n class=\"state-icon state-icon--slot\"\n part=\"state-icon\"\n aria-hidden=\"true\"\n >\n <slot name=\"leading-icon\"></slot>\n </span>\n `;\n }\n\n private get shouldUseButtonWrapper(): boolean {\n if (this.styleType === SequenceStyle.connector) {\n return false;\n }\n if (\n this.type === SequenceType.large &&\n (this.styleType === SequenceStyle.regular ||\n this.styleType === SequenceStyle.point)\n ) {\n return true;\n }\n return false;\n }\n\n private get stepAriaCurrent(): 'step' | null {\n return this.value === SequenceValue.active ? 'step' : null;\n }\n\n private get stepAriaLabel(): string {\n const readable = this.value.replace(/-/g, ' ');\n return `Sequence step ${readable}`;\n }\n\n private get resolvedAriaLabel(): string {\n // If the consumer provides an explicit accessible name on the host,\n // prefer it over the generic state-based label.\n return this.getAttribute('aria-label') ?? this.stepAriaLabel;\n }\n\n private renderSmallIndicator(): TemplateResult {\n const showCheck =\n this.styleType === SequenceStyle.regular &&\n this.value === SequenceValue.completed;\n\n return html`\n <div class=\"node\" part=\"node\" aria-hidden=\"true\">\n ${this.value === SequenceValue.loading\n ? this.renderLoadingSpinner()\n : showCheck\n ? html`<obi-check-google\n class=\"small-check\"\n part=\"state-icon\"\n aria-hidden=\"true\"\n ></obi-check-google>`\n : nothing}\n </div>\n `;\n }\n\n private get loadingSpinnerType(): SequenceLoadingSpinnerType {\n const isPoint = this.styleType === SequenceStyle.point;\n if (this.type === SequenceType.small) {\n return isPoint\n ? SequenceLoadingSpinnerType.indicatorPoint\n : SequenceLoadingSpinnerType.indicator;\n }\n if (this.type === SequenceType.medium) {\n return isPoint\n ? SequenceLoadingSpinnerType.tagPoint\n : SequenceLoadingSpinnerType.tag;\n }\n return isPoint\n ? SequenceLoadingSpinnerType.buttonPoint\n : SequenceLoadingSpinnerType.button;\n }\n\n private renderLoadingSpinner(): TemplateResult {\n return html`\n <obc-sequence-loading-spinner\n aria-hidden=\"true\"\n .type=${this.loadingSpinnerType}\n .progression=${SequenceLoadingSpinnerProgressionType.determinate}\n ></obc-sequence-loading-spinner>\n `;\n }\n\n private renderPointLoadingSpinner(): TemplateResult {\n return html`\n <span class=\"loading-spinner\" aria-hidden=\"true\">\n <obc-sequence-loading-spinner\n .type=${this.loadingSpinnerType}\n .progression=${SequenceLoadingSpinnerProgressionType.determinate}\n ></obc-sequence-loading-spinner>\n </span>\n `;\n }\n\n private getWrapperClasses() {\n return {\n wrapper: true,\n [`type-${this.type}`]: true,\n [`style-${this.styleType}`]: true,\n [`value-${this.value}`]: true,\n [`connector-${this.orientation}`]: true,\n 'has-icon': this.shouldShowStateIcon,\n 'has-input': this.showInputConnector,\n 'has-output': this.showOutputConnector,\n 'input-extended': this.inputConnectorExtended,\n 'label-multi-line': this.classList.contains('label-multi-line'),\n };\n }\n\n private renderNodeContent(): TemplateResult | null {\n const isSmall = this.type === SequenceType.small;\n if (isSmall) {\n return this.renderSmallIndicator();\n }\n if (this.isMediumPoint || this.isLargePoint) {\n const loadingSpinner =\n this.value === SequenceValue.loading\n ? this.renderPointLoadingSpinner()\n : nothing;\n return html`\n <div\n class=\"node ${this.type === 'medium' && this.styleType === 'point'\n ? 'medium-point'\n : ''}\"\n part=\"node\"\n >\n ${loadingSpinner}\n <div class=\"content\" part=\"label\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n return html`\n <div class=\"node\" part=\"node\">\n ${this.renderStateIcon()}\n <div class=\"content\" part=\"label\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n static override styles = unsafeCSS(style);\n\n override render(): TemplateResult {\n const ariaLabel = this.resolvedAriaLabel;\n if (this.styleType === SequenceStyle.connector) {\n return html`\n <div\n class=${classMap(this.getWrapperClasses())}\n part=\"wrapper\"\n role=\"listitem\"\n aria-label=${ariaLabel}\n aria-current=${ifDefined(this.stepAriaCurrent ?? undefined)}\n >\n <div class=\"body\" part=\"body\">\n ${this.showInputConnector\n ? html`<span\n class=\"connector input\"\n part=\"connector input\"\n ></span>`\n : ''}\n ${this.showOutputConnector\n ? html`<span\n class=\"connector output\"\n part=\"connector output\"\n ></span>`\n : ''}\n </div>\n </div>\n `;\n }\n\n const wrapperClasses = classMap(this.getWrapperClasses());\n const ariaCurrent = this.stepAriaCurrent ?? undefined;\n const verticalInput =\n this.isVertical && this.showInputConnector\n ? html`<span\n class=\"connector input ${this.isSpecialLoadingConnector\n ? 'loading-special'\n : ''}\"\n part=\"connector input\"\n ></span>`\n : '';\n const verticalOutput =\n this.isVertical && this.showOutputConnector\n ? html`<span class=\"connector output\" part=\"connector output\"></span>`\n : '';\n const nodeContent = this.renderNodeContent();\n const horizontalInput =\n !this.isVertical && this.showInputConnector\n ? html`<span\n class=\"connector input ${this.isSpecialLoadingConnector\n ? 'loading-special'\n : ''}\"\n part=\"connector input\"\n ></span>`\n : '';\n const horizontalOutput =\n !this.isVertical && this.showOutputConnector\n ? html`<span class=\"connector output\" part=\"connector output\"></span>`\n : '';\n const contents = html`\n ${(this.isVertical ? verticalInput : horizontalInput) ?? ''}\n <div class=\"visible-wrapper\" part=\"visible-wrapper\">\n <div class=\"body\" part=\"body\">${nodeContent}</div>\n </div>\n ${(this.isVertical ? verticalOutput : horizontalOutput) ?? ''}\n `;\n\n if (this.shouldUseButtonWrapper) {\n return html`\n <button\n type=\"button\"\n class=${wrapperClasses}\n part=\"wrapper\"\n role=\"listitem\"\n aria-label=${ariaLabel}\n aria-current=${ifDefined(ariaCurrent)}\n >\n ${contents}\n </button>\n `;\n }\n\n return html`\n <div\n class=${wrapperClasses}\n part=\"wrapper\"\n role=\"listitem\"\n aria-label=${ariaLabel}\n aria-current=${ifDefined(ariaCurrent)}\n >\n ${contents}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-sequence-step': ObcSequenceStep;\n }\n}\n"],"names":["SequenceOrientation","SequenceType","SequenceStyle","SequenceValue","SequenceVariant"],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export type ObcSliderDoubleChangeEvent = CustomEvent<{
|
|
|
33
33
|
*
|
|
34
34
|
* This component allows users to select a minimum and maximum value by dragging two thumbs along a horizontal track. It is commonly used for filtering or specifying ranges (such as price, speed, or time intervals) in forms and dashboards. The slider supports both interactive and read-only display modes, as well as visual variants for different UI needs.
|
|
35
35
|
*
|
|
36
|
-
* Appears with two draggable handles (thumbs) and labels showing the current low and high values.
|
|
36
|
+
* Appears with two draggable handles (thumbs) and labels showing the current low and high values. The low and high readout labels can be customized via slots.
|
|
37
37
|
*
|
|
38
38
|
* ## Features
|
|
39
39
|
* - **Dual-thumb range selection:** Users can adjust both the lower and upper bounds of a numeric interval.
|
|
@@ -46,7 +46,7 @@ export type ObcSliderDoubleChangeEvent = CustomEvent<{
|
|
|
46
46
|
* - **Seeking mode:** Enable `allowSeeking` to let users jump to a value by clicking on the track, with smooth animated transitions controlled by `seekingSpeed`.
|
|
47
47
|
* - **Custom labels:** Display formatted value labels with unit (`labelUnit`), decimal precision (`labelDecimals`), and adjustable label width (`labelWidth`).
|
|
48
48
|
* - **Hug container option:** Remove spacing between slider and container edges with the `hugcontainer` attribute for seamless layout integration.
|
|
49
|
-
* - **
|
|
49
|
+
* - **Custom readouts:** Replace the low/high value labels with custom content using the `left-readout` and `right-readout` slots.
|
|
50
50
|
*
|
|
51
51
|
* ## Usage Guidelines
|
|
52
52
|
* Use `obc-slider-double` when you need users to specify a numeric range, such as filtering results by minimum and maximum values. Ideal for scenarios like:
|
|
@@ -62,8 +62,6 @@ export type ObcSliderDoubleChangeEvent = CustomEvent<{
|
|
|
62
62
|
*
|
|
63
63
|
* | Slot Name | Renders When... | Purpose |
|
|
64
64
|
* |---------------|-------------------------------|------------------------------------------------------------------------------------------------------------------|
|
|
65
|
-
* | icon-left | Always | Icon or content at the left end of the slider. Example: `<obi-placeholder slot="icon-left"></obi-placeholder>` |
|
|
66
|
-
* | icon-right | Always | Icon or content at the right end of the slider. Example: `<obi-placeholder slot="icon-right"></obi-placeholder>` |
|
|
67
65
|
* | left-readout | `showLeftReadout` is true | Custom content for the left (low) readout label. Falls back to the formatted `low` value. |
|
|
68
66
|
* | right-readout | `showRightReadout` is true | Custom content for the right (high) readout label. Falls back to the formatted `high` value. |
|
|
69
67
|
*
|
|
@@ -109,15 +107,13 @@ export type ObcSliderDoubleChangeEvent = CustomEvent<{
|
|
|
109
107
|
* variant="enhanced"
|
|
110
108
|
* allowSeeking
|
|
111
109
|
* >
|
|
112
|
-
* <
|
|
113
|
-
* <
|
|
110
|
+
* <span slot="left-readout">Min</span>
|
|
111
|
+
* <span slot="right-readout">Max</span>
|
|
114
112
|
* </obc-slider-double>
|
|
115
113
|
* ```
|
|
116
114
|
*
|
|
117
115
|
* In this example, the slider allows selection of a percentage range from 0 to 100, with 5% increments, enhanced styling, and seeking enabled.
|
|
118
116
|
*
|
|
119
|
-
* @slot icon-left - Slot for the left icon
|
|
120
|
-
* @slot icon-right - Slot for the right icon
|
|
121
117
|
* @slot left-readout - Custom content for the left (low) readout label (rendered when `showLeftReadout` is true)
|
|
122
118
|
* @slot right-readout - Custom content for the right (high) readout label (rendered when `showRightReadout` is true)
|
|
123
119
|
* @fires value {ObcSliderDoubleValueEvent} - Fires when the value is changed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-double.d.ts","sourceRoot":"","sources":["../../../src/components/slider-double/slider-double.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAkB,MAAM,KAAK,CAAC;AAKhD,OAAO,+BAA+B,CAAC;AAIvC;;;;;;GAMG;AACH,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,aAAa;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAAC;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH
|
|
1
|
+
{"version":3,"file":"slider-double.d.ts","sourceRoot":"","sources":["../../../src/components/slider-double/slider-double.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAkB,MAAM,KAAK,CAAC;AAKhD,OAAO,+BAA+B,CAAC;AAIvC;;;;;;GAMG;AACH,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,aAAa;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAAC;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAC7C;;;OAGG;IACuB,GAAG,SAAK;IAElC;;;OAGG;IACuB,IAAI,SAAO;IAErC;;;OAGG;IACuB,GAAG,SAAK;IAElC;;;OAGG;IACuB,GAAG,SAAO;IAEpC;;;OAGG;IACuB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnD;;;OAGG;IACuB,SAAS,SAAM;IAEzC;;;;;;OAMG;IACuB,OAAO,EAAE,sBAAsB,CACzB;IAEhC;;;OAGG;IACwB,YAAY,UAAS;IAErB,QAAQ,UAAS;IAE5C;;;;OAIG;IACuB,YAAY,SAAS;IAE/C;;OAEG;IACuB,SAAS,SAAM;IAEzC;;OAEG;IACuB,aAAa,SAAK;IAE5C;;OAEG;IACuB,UAAU,SAAU;IAE9C;;;;;;;OAOG;IAC0C,eAAe,UAAQ;IAEpE;;;;;;;OAOG;IAC0C,gBAAgB,UAAQ;IAErE;;;OAGG;IAEH,YAAY,UAAS;IAErB,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,mBAAmB,CAAa;IAGxC,OAAO,CAAC,QAAQ,CAAoB;IAGpC,OAAO,CAAC,QAAQ,CAAoB;IAEpC;;;;;OAKG;IACH,OAAO;IAkBP;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,mBAAmB,CAAM;IAEjC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,eAAe,CAErB;IAEF,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,cAAc;IAmEtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,WAAW;IAIV,MAAM;IA8Ef,OAAgB,MAAM,0BAA6B;CACpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
|