UNPKG

@carbon/ibm-products-web-components

Version:
99 lines (97 loc) 3.43 kB
/** * Copyright IBM Corp. 2020, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import "../../globals/settings.js"; import { __decorate } from "../../_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.js"; import { coachmarkDetailsSignal, updateCoachmarkDetailsSignal } from "./coachmark-context.js"; import coachmark_header_default$1 from "./coachmark-header.scss.js"; import { LitElement, html, nothing } from "lit"; import { property } from "lit/decorators.js"; import HostListenerMixin from "@carbon/web-components/es/globals/mixins/host-listener.js"; import { carbonElement } from "@carbon/web-components/es/globals/decorators/carbon-element.js"; import Close from "@carbon/icons/es/close/16"; import { SignalWatcher } from "@lit-labs/signals"; import iconLoader from "@carbon/web-components/es/globals/internal/icon-loader"; import '@carbon/web-components/es-custom/components/button/index'; import Draggable from "@carbon/icons/es/draggable/16"; //#region src/components/coachmark/coachmark-header.ts /** * @license * * Copyright IBM Corp. 2025 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ /** * coachmark-header for content header section * @element c4p-coachmark-header */ let CDSCoachmarkHeader = class CDSCoachmarkHeader extends SignalWatcher(HostListenerMixin(LitElement)) { constructor(..._args) { super(..._args); this.closeIconDescription = ""; this.dragIconDescription = ""; this._handleClick = (event) => { event.stopPropagation(); const coachmark = this.closest(`c4p-coachmark`); if (coachmark) { coachmark.dispatchEvent(new CustomEvent(`c4p-coachmark-request-close`, { bubbles: true, composed: true, cancelable: true, detail: { source: "header-close-button" } })); coachmark.open = false; } updateCoachmarkDetailsSignal({ name: "open", detail: false }); }; } render() { const { floating } = coachmarkDetailsSignal.get(); return html` ${floating ? html` <cds-custom-button kind="ghost" size="sm" class="${"c4p"}--coachmark-header-drag-handle" tooltip-text="${this.dragIconDescription}" > ${iconLoader(Draggable, { slot: "icon", class: `c4p--coachmark-header-drag-icon` })} </cds-custom-button> ` : nothing} <slot name="header"></slot> <cds-custom-button kind="ghost" size="sm" class="${"c4p"}--coachmark-header-close-button" tooltip-text="${this.closeIconDescription}" @click=${this._handleClick} > ${iconLoader(Close, { slot: "icon", class: `c4p--coachmark-header-close-icon` })} </cds-custom-button> `; } static { this.styles = coachmark_header_default$1; } }; __decorate([property({ reflect: true })], CDSCoachmarkHeader.prototype, "closeIconDescription", void 0); __decorate([property({ reflect: true })], CDSCoachmarkHeader.prototype, "dragIconDescription", void 0); CDSCoachmarkHeader = __decorate([carbonElement(`c4p-coachmark-header`)], CDSCoachmarkHeader); var coachmark_header_default = CDSCoachmarkHeader; //#endregion export { coachmark_header_default as default }; //# sourceMappingURL=coachmark-header.js.map