@carbon/ibm-products-web-components
Version:
Carbon for IBM Products Web Components
72 lines (68 loc) • 2.68 kB
JavaScript
/**
* Copyright IBM Corp. 2024
*
* 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 { __decorate } from 'tslib';
import { html } from 'lit';
import { consume, ContextConsumer } from '@lit/context';
import { carbonElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';
import { CDSBreadcrumbItem } from '@carbon/web-components/es/index';
import { prefix } from '../../globals/settings.js';
import styles from './page-header.scss.js';
import { pageHeaderContext } from './context.js';
/**
* @license
*
* Copyright IBM Corp. 2025, 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.
*/
/**
* Page header Title Breadcrumb
* @element c4p-page-header-title-breadcrumb
*/
let CDSPageHeaderTitleBreadcrumb = class CDSPageHeaderTitleBreadcrumb extends CDSBreadcrumbItem {
constructor() {
super();
new ContextConsumer(this, {
context: pageHeaderContext,
subscribe: true,
callback: (state) => {
if (state.titleClipped) {
this.classList.add(`${prefix}--page-header-title-breadcrumb-show__fallback`);
}
else {
this.classList.remove(`${prefix}--page-header-title-breadcrumb-show__fallback`);
}
if (state.withContent) {
this.classList.add(`${prefix}--page-header-title-breadcrumb-show__with-content`);
this.classList.remove(`${prefix}--page-header-title-breadcrumb-show__by-default`);
}
else {
this.classList.remove(`${prefix}--page-header-title-breadcrumb-show__with-content`);
this.classList.add(`${prefix}--page-header-title-breadcrumb-show__by-default`);
}
},
});
}
render() {
return html `
<cds-breadcrumb-item class="${prefix}--page-header-title-breadcrumb">
<slot></slot>
</cds-breadcrumb-item>
`;
}
};
CDSPageHeaderTitleBreadcrumb.styles = styles;
__decorate([
consume({ context: pageHeaderContext, subscribe: true })
], CDSPageHeaderTitleBreadcrumb.prototype, "context", void 0);
CDSPageHeaderTitleBreadcrumb = __decorate([
carbonElement(`${prefix}-page-header-title-breadcrumb`)
], CDSPageHeaderTitleBreadcrumb);
var CDSPageHeaderTitleBreadcrumb$1 = CDSPageHeaderTitleBreadcrumb;
export { CDSPageHeaderTitleBreadcrumb$1 as default };
//# sourceMappingURL=page-header-title-breadcrumb.js.map