@carbon/web-components 2.48.0 → 2.49.0
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/custom-elements.json +38 -13
- package/es/components/ai-label/ai-label.scss.js +1 -1
- package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es/components/button/button-set.js +1 -1
- package/es/components/button/button-set.js.map +1 -1
- package/es/components/button/button.scss.js +1 -1
- package/es/components/checkbox/checkbox.js +1 -1
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/code-snippet/code-snippet.scss.js +1 -1
- package/es/components/combo-box/combo-box-item.d.ts +3 -4
- package/es/components/combo-box/combo-box-item.js +0 -14
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.d.ts +7 -0
- package/es/components/combo-box/combo-box.js +30 -8
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-box/combo-box.scss.js +1 -1
- package/es/components/combo-button/combo-button.scss.js +1 -1
- package/es/components/contained-list/contained-list.scss.js +1 -1
- package/es/components/content-switcher/content-switcher-item.d.ts +1 -1
- package/es/components/content-switcher/content-switcher-item.js +2 -2
- package/es/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es/components/content-switcher/content-switcher.scss.js +1 -1
- package/es/components/copy-button/copy-button.scss.js +1 -1
- package/es/components/data-table/data-table.scss.js +1 -1
- package/es/components/data-table/table-skeleton.d.ts +1 -5
- package/es/components/data-table/table-skeleton.js +2 -10
- package/es/components/data-table/table-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown-item.d.ts +15 -0
- package/es/components/dropdown/dropdown-item.js +52 -0
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown.js +0 -1
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/dropdown/dropdown.scss.js +1 -1
- package/es/components/file-uploader/file-uploader.scss.js +1 -1
- package/es/components/menu-button/menu-button.scss.js +1 -1
- package/es/components/modal/modal.scss.js +1 -1
- package/es/components/multi-select/multi-select.js +0 -3
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/notification/actionable-notification.scss.js +1 -1
- package/es/components/notification/inline-notification.scss.js +1 -1
- package/es/components/notification/toast-notification.scss.js +1 -1
- package/es/components/overflow-menu/overflow-menu-item.d.ts +5 -1
- package/es/components/overflow-menu/overflow-menu-item.js +24 -1
- package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.d.ts +1 -1
- package/es/components/overflow-menu/overflow-menu.js +3 -3
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es/components/pagination/pagination.scss.js +1 -1
- package/es/components/pagination-nav/pagination-nav.scss.js +1 -1
- package/es/components/popover/popover.d.ts +12 -2
- package/es/components/popover/popover.js +56 -37
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/popover/popover.scss.js +1 -1
- package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
- package/es/components/progress-indicator/progress-step.d.ts +1 -1
- package/es/components/progress-indicator/progress-step.js +2 -2
- package/es/components/progress-indicator/progress-step.js.map +1 -1
- package/es/components/radio-button/radio-button.js +1 -1
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/select/select.d.ts +1 -1
- package/es/components/select/select.js +3 -3
- package/es/components/select/select.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es/components/slug/slug.scss.js +1 -1
- package/es/components/tabs/tab.d.ts +1 -1
- package/es/components/tabs/tab.js +2 -2
- package/es/components/tabs/tab.js.map +1 -1
- package/es/components/tabs/tabs.scss.js +1 -1
- package/es/components/tag/tag.d.ts +1 -1
- package/es/components/tag/tag.js +2 -2
- package/es/components/tag/tag.js.map +1 -1
- package/es/components/tag/tag.scss.js +1 -1
- package/es/components/text-input/text-input.d.ts +2 -0
- package/es/components/text-input/text-input.js +26 -14
- package/es/components/text-input/text-input.js.map +1 -1
- package/es/components/tile/expandable-tile.d.ts +1 -1
- package/es/components/tile/expandable-tile.js +2 -2
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/time-picker/time-picker-select.d.ts +1 -1
- package/es/components/time-picker/time-picker-select.js +2 -2
- package/es/components/time-picker/time-picker-select.js.map +1 -1
- package/es/components/toggle-tip/toggletip.d.ts +0 -1
- package/es/components/toggle-tip/toggletip.js +2 -13
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/toggle-tip/toggletip.scss.js +1 -1
- package/es/components/tooltip/tooltip.scss.js +1 -1
- package/es/components/ui-shell/header-menu.d.ts +1 -1
- package/es/components/ui-shell/header-menu.js +2 -2
- package/es/components/ui-shell/header-menu.js.map +1 -1
- package/es/components/ui-shell/header.scss.js +1 -1
- package/es/components/ui-shell/side-nav-menu.d.ts +1 -1
- package/es/components/ui-shell/side-nav-menu.js +2 -2
- package/es/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es/globals/controllers/floating-controller.js +6 -2
- package/es/globals/controllers/floating-controller.js.map +1 -1
- package/es/globals/internal/deep-shadow-contains.d.ts +15 -0
- package/es/globals/internal/deep-shadow-contains.js +36 -0
- package/es/globals/internal/deep-shadow-contains.js.map +1 -0
- package/es/polyfills/toggle-attribute.d.ts +1 -1
- package/es-custom/components/ai-label/ai-label.scss.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es-custom/components/button/button-set.js +1 -1
- package/es-custom/components/button/button-set.js.map +1 -1
- package/es-custom/components/button/button.scss.js +1 -1
- package/es-custom/components/checkbox/checkbox.js +1 -1
- package/es-custom/components/checkbox/checkbox.js.map +1 -1
- package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
- package/es-custom/components/combo-box/combo-box-item.d.ts +3 -4
- package/es-custom/components/combo-box/combo-box-item.js +0 -14
- package/es-custom/components/combo-box/combo-box-item.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.d.ts +7 -0
- package/es-custom/components/combo-box/combo-box.js +30 -8
- package/es-custom/components/combo-box/combo-box.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.scss.js +1 -1
- package/es-custom/components/combo-button/combo-button.scss.js +1 -1
- package/es-custom/components/contained-list/contained-list.scss.js +1 -1
- package/es-custom/components/content-switcher/content-switcher-item.d.ts +1 -1
- package/es-custom/components/content-switcher/content-switcher-item.js +2 -2
- package/es-custom/components/content-switcher/content-switcher-item.js.map +1 -1
- package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
- package/es-custom/components/copy-button/copy-button.scss.js +1 -1
- package/es-custom/components/data-table/data-table.scss.js +1 -1
- package/es-custom/components/data-table/table-skeleton.d.ts +1 -5
- package/es-custom/components/data-table/table-skeleton.js +2 -10
- package/es-custom/components/data-table/table-skeleton.js.map +1 -1
- package/es-custom/components/dropdown/dropdown-item.d.ts +15 -0
- package/es-custom/components/dropdown/dropdown-item.js +52 -0
- package/es-custom/components/dropdown/dropdown-item.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.js +0 -1
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.scss.js +1 -1
- package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
- package/es-custom/components/menu-button/menu-button.scss.js +1 -1
- package/es-custom/components/modal/modal.scss.js +1 -1
- package/es-custom/components/multi-select/multi-select.js +0 -3
- package/es-custom/components/multi-select/multi-select.js.map +1 -1
- package/es-custom/components/notification/actionable-notification.scss.js +1 -1
- package/es-custom/components/notification/inline-notification.scss.js +1 -1
- package/es-custom/components/notification/toast-notification.scss.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +5 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.js +24 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.d.ts +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.js +3 -3
- package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es-custom/components/pagination/pagination.scss.js +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.scss.js +1 -1
- package/es-custom/components/popover/popover.d.ts +12 -2
- package/es-custom/components/popover/popover.js +56 -37
- package/es-custom/components/popover/popover.js.map +1 -1
- package/es-custom/components/popover/popover.scss.js +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
- package/es-custom/components/progress-indicator/progress-step.d.ts +1 -1
- package/es-custom/components/progress-indicator/progress-step.js +2 -2
- package/es-custom/components/progress-indicator/progress-step.js.map +1 -1
- package/es-custom/components/radio-button/radio-button.js +1 -1
- package/es-custom/components/radio-button/radio-button.js.map +1 -1
- package/es-custom/components/select/select.d.ts +1 -1
- package/es-custom/components/select/select.js +3 -3
- package/es-custom/components/select/select.js.map +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es-custom/components/slug/slug.scss.js +1 -1
- package/es-custom/components/tabs/tab.d.ts +1 -1
- package/es-custom/components/tabs/tab.js +2 -2
- package/es-custom/components/tabs/tab.js.map +1 -1
- package/es-custom/components/tabs/tabs.scss.js +1 -1
- package/es-custom/components/tag/tag.d.ts +1 -1
- package/es-custom/components/tag/tag.js +2 -2
- package/es-custom/components/tag/tag.js.map +1 -1
- package/es-custom/components/tag/tag.scss.js +1 -1
- package/es-custom/components/text-input/text-input.d.ts +2 -0
- package/es-custom/components/text-input/text-input.js +26 -14
- package/es-custom/components/text-input/text-input.js.map +1 -1
- package/es-custom/components/tile/expandable-tile.d.ts +1 -1
- package/es-custom/components/tile/expandable-tile.js +2 -2
- package/es-custom/components/tile/expandable-tile.js.map +1 -1
- package/es-custom/components/time-picker/time-picker-select.d.ts +1 -1
- package/es-custom/components/time-picker/time-picker-select.js +2 -2
- package/es-custom/components/time-picker/time-picker-select.js.map +1 -1
- package/es-custom/components/toggle-tip/toggletip.d.ts +0 -1
- package/es-custom/components/toggle-tip/toggletip.js +2 -13
- package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
- package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
- package/es-custom/components/tooltip/tooltip.scss.js +1 -1
- package/es-custom/components/ui-shell/header-menu.d.ts +1 -1
- package/es-custom/components/ui-shell/header-menu.js +2 -2
- package/es-custom/components/ui-shell/header-menu.js.map +1 -1
- package/es-custom/components/ui-shell/header.scss.js +1 -1
- package/es-custom/components/ui-shell/side-nav-menu.d.ts +1 -1
- package/es-custom/components/ui-shell/side-nav-menu.js +2 -2
- package/es-custom/components/ui-shell/side-nav-menu.js.map +1 -1
- package/es-custom/globals/controllers/floating-controller.js +6 -2
- package/es-custom/globals/controllers/floating-controller.js.map +1 -1
- package/es-custom/globals/internal/deep-shadow-contains.d.ts +15 -0
- package/es-custom/globals/internal/deep-shadow-contains.js +36 -0
- package/es-custom/globals/internal/deep-shadow-contains.js.map +1 -0
- package/es-custom/polyfills/toggle-attribute.d.ts +1 -1
- package/lib/components/combo-box/combo-box-item.d.ts +3 -4
- package/lib/components/combo-box/combo-box.d.ts +7 -0
- package/lib/components/content-switcher/content-switcher-item.d.ts +1 -1
- package/lib/components/data-table/table-skeleton.d.ts +1 -5
- package/lib/components/dropdown/dropdown-item.d.ts +15 -0
- package/lib/components/overflow-menu/overflow-menu-item.d.ts +5 -1
- package/lib/components/overflow-menu/overflow-menu.d.ts +1 -1
- package/lib/components/popover/popover.d.ts +12 -2
- package/lib/components/progress-indicator/progress-step.d.ts +1 -1
- package/lib/components/select/select.d.ts +1 -1
- package/lib/components/tabs/tab.d.ts +1 -1
- package/lib/components/tag/tag.d.ts +1 -1
- package/lib/components/text-input/text-input.d.ts +2 -0
- package/lib/components/tile/expandable-tile.d.ts +1 -1
- package/lib/components/time-picker/time-picker-select.d.ts +1 -1
- package/lib/components/toggle-tip/toggletip.d.ts +0 -1
- package/lib/components/ui-shell/header-menu.d.ts +1 -1
- package/lib/components/ui-shell/side-nav-menu.d.ts +1 -1
- package/lib/globals/controllers/floating-controller.js +6 -2
- package/lib/globals/controllers/floating-controller.js.map +1 -1
- package/lib/globals/internal/deep-shadow-contains.d.ts +15 -0
- package/lib/polyfills/toggle-attribute.d.ts +1 -1
- package/package.json +6 -6
- package/scss/components/dropdown/dropdown.scss +5 -0
- package/scss/components/overflow-menu/overflow-menu.scss +4 -0
- package/scss/components/popover/popover.scss +160 -4
- package/telemetry.yml +2 -1
|
@@ -19,7 +19,7 @@ import styles from './tag.scss.js';
|
|
|
19
19
|
import { carbonElement } from '../../globals/decorators/carbon-element.js';
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
* Copyright IBM Corp. 2019,
|
|
22
|
+
* Copyright IBM Corp. 2019, 2026
|
|
23
23
|
*
|
|
24
24
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
25
25
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -120,7 +120,7 @@ let CDSTag = class CDSTag extends HostListenerMixin(FocusMixin(LitElement)) {
|
|
|
120
120
|
*/
|
|
121
121
|
_handleIconSlotChange({ target }) {
|
|
122
122
|
const hasIcon = target.assignedNodes();
|
|
123
|
-
this.hasCustomIcon =
|
|
123
|
+
this.hasCustomIcon = hasIcon.length > 0;
|
|
124
124
|
this.requestUpdate();
|
|
125
125
|
}
|
|
126
126
|
updated() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sources":["../../../src/components/tag/tag.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TAG_SIZE, TAG_TYPE } from './defs';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TAG_SIZE, TAG_TYPE };\n\n/**\n * Tag.\n * @element cds-custom-tag\n * @fires cds-custom-tag-beingclosed - The custom event fired as the element is being closed\n * @fires cds-custom-tag-closed - The custom event fired after the element has been closed\n */\n@customElement(`${prefix}-tag`)\nclass CDSTag extends HostListenerMixin(FocusMixin(LitElement)) {\n @query('button')\n protected _buttonNode!: HTMLButtonElement;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleAILabelSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSTag).aiLabelItem\n ) ||\n // remove reference of slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSTag).slugItem\n )\n : false\n );\n if (hasContent.length > 0) {\n (hasContent[0] as HTMLElement).setAttribute('tag', `${this.type}`);\n (hasContent[0] as HTMLElement).setAttribute('size', 'sm');\n (hasContent[0] as HTMLElement).setAttribute('kind', 'inline');\n }\n this.requestUpdate();\n }\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleIconSlotChange({ target }: Event) {\n const hasIcon = (target as HTMLSlotElement).assignedNodes();\n\n this.hasCustomIcon = Boolean(hasIcon.length > 0);\n this.requestUpdate();\n }\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleClick = (event: MouseEvent) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n if (event.composedPath().indexOf(this._buttonNode!) >= 0) {\n if (this.disabled) {\n event.stopPropagation();\n } else if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: event.target,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTag).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTag).eventClose,\n init\n )\n );\n }\n }\n }\n };\n\n /**\n * Text to show on filter tag \"clear\" buttons. Corresponds to the attribute with the same name\n *\n * @deprecated The `title` property has been deprecated and will be removed in the next major version. Use cds-custom-dismissible-tag instead.\n */\n @property({ type: String })\n title = 'Clear filter';\n\n /**\n * `true` if the tag should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Determine if is a filter/chip\n *\n * @deprecated The `filter` property has been deprecated and will be removed in the next major version. Use cds-custom-dismissible-tag instead.\n */\n @property({ type: Boolean, reflect: true })\n filter = false;\n\n /**\n * `true` if there is a custom icon.\n */\n @property({ type: Boolean, attribute: 'has-custom-icon', reflect: true })\n hasCustomIcon = false;\n\n /**\n * `true` if the tag should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = true;\n\n /**\n * The size of the tag.\n */\n @property({ reflect: true })\n size = TAG_SIZE.MEDIUM;\n\n /**\n * The type of the tag.\n */\n @property({ reflect: true })\n type = TAG_TYPE.GRAY;\n\n /**\n * true if the tag text has ellipsis applied\n */\n @state()\n _hasEllipsisApplied = false;\n\n updated() {\n const textContainer = this.shadowRoot?.querySelector(\n `.${prefix}--tag__label`\n );\n if (!textContainer || this._hasEllipsisApplied === true) return;\n\n this._hasEllipsisApplied =\n textContainer.scrollWidth > textContainer.clientWidth;\n\n const root = this.getRootNode();\n // Check if the root is a shadow root and get its host\n if (root instanceof ShadowRoot) {\n const parent = root.host.tagName.toLowerCase();\n if (\n parent === `${prefix}-selectable-tag` ||\n parent === `${prefix}-operational-tag`\n ) {\n this.setAttribute('role', 'button');\n this.tabIndex = this.disabled ? -1 : 0;\n }\n }\n }\n\n render() {\n const {\n disabled,\n filter,\n _handleAILabelSlotChange: handleAILabelSlotChange,\n _handleIconSlotChange: handleIconSlotChange,\n size,\n title,\n } = this;\n\n return html`\n ${size !== TAG_SIZE.SMALL\n ? html`<slot name=\"icon\" @slotchange=\"${handleIconSlotChange}\"></slot>`\n : ''}\n <span class=\"${prefix}--tag__label\">\n <slot></slot>\n </span>\n <slot name=\"decorator\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <slot name=\"ai-label\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n ${filter\n ? html`\n <button class=\"${prefix}--tag__close-icon\" ?disabled=${disabled}>\n ${iconLoader(Close16, { 'aria-label': title })}\n </button>\n `\n : ``}\n `;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n /**\n * The name of the custom event fired before this tag is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this tag.\n */\n static get eventBeforeClose() {\n return `${prefix}-tag-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this tag is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-tag-closed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTag;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tag.js","sources":["../../../src/components/tag/tag.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport Close16 from '@carbon/icons/es/close/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { TAG_SIZE, TAG_TYPE } from './defs';\nimport styles from './tag.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\nexport { TAG_SIZE, TAG_TYPE };\n\n/**\n * Tag.\n * @element cds-custom-tag\n * @fires cds-custom-tag-beingclosed - The custom event fired as the element is being closed\n * @fires cds-custom-tag-closed - The custom event fired after the element has been closed\n */\n@customElement(`${prefix}-tag`)\nclass CDSTag extends HostListenerMixin(FocusMixin(LitElement)) {\n @query('button')\n protected _buttonNode!: HTMLButtonElement;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleAILabelSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSTag).aiLabelItem\n ) ||\n // remove reference of slug in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSTag).slugItem\n )\n : false\n );\n if (hasContent.length > 0) {\n (hasContent[0] as HTMLElement).setAttribute('tag', `${this.type}`);\n (hasContent[0] as HTMLElement).setAttribute('size', 'sm');\n (hasContent[0] as HTMLElement).setAttribute('kind', 'inline');\n }\n this.requestUpdate();\n }\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleIconSlotChange({ target }: Event) {\n const hasIcon = (target as HTMLSlotElement).assignedNodes();\n\n this.hasCustomIcon = hasIcon.length > 0;\n this.requestUpdate();\n }\n\n /**\n * Handles `click` event on this element.\n *\n * @param event The event.\n */\n @HostListener('shadowRoot:click')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n protected _handleClick = (event: MouseEvent) => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n if (event.composedPath().indexOf(this._buttonNode!) >= 0) {\n if (this.disabled) {\n event.stopPropagation();\n } else if (this.open) {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: event.target,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTag).eventBeforeClose,\n init\n )\n )\n ) {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSTag).eventClose,\n init\n )\n );\n }\n }\n }\n };\n\n /**\n * Text to show on filter tag \"clear\" buttons. Corresponds to the attribute with the same name\n *\n * @deprecated The `title` property has been deprecated and will be removed in the next major version. Use cds-custom-dismissible-tag instead.\n */\n @property({ type: String })\n title = 'Clear filter';\n\n /**\n * `true` if the tag should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Determine if is a filter/chip\n *\n * @deprecated The `filter` property has been deprecated and will be removed in the next major version. Use cds-custom-dismissible-tag instead.\n */\n @property({ type: Boolean, reflect: true })\n filter = false;\n\n /**\n * `true` if there is a custom icon.\n */\n @property({ type: Boolean, attribute: 'has-custom-icon', reflect: true })\n hasCustomIcon = false;\n\n /**\n * `true` if the tag should be open.\n */\n @property({ type: Boolean, reflect: true })\n open = true;\n\n /**\n * The size of the tag.\n */\n @property({ reflect: true })\n size = TAG_SIZE.MEDIUM;\n\n /**\n * The type of the tag.\n */\n @property({ reflect: true })\n type = TAG_TYPE.GRAY;\n\n /**\n * true if the tag text has ellipsis applied\n */\n @state()\n _hasEllipsisApplied = false;\n\n updated() {\n const textContainer = this.shadowRoot?.querySelector(\n `.${prefix}--tag__label`\n );\n if (!textContainer || this._hasEllipsisApplied === true) return;\n\n this._hasEllipsisApplied =\n textContainer.scrollWidth > textContainer.clientWidth;\n\n const root = this.getRootNode();\n // Check if the root is a shadow root and get its host\n if (root instanceof ShadowRoot) {\n const parent = root.host.tagName.toLowerCase();\n if (\n parent === `${prefix}-selectable-tag` ||\n parent === `${prefix}-operational-tag`\n ) {\n this.setAttribute('role', 'button');\n this.tabIndex = this.disabled ? -1 : 0;\n }\n }\n }\n\n render() {\n const {\n disabled,\n filter,\n _handleAILabelSlotChange: handleAILabelSlotChange,\n _handleIconSlotChange: handleIconSlotChange,\n size,\n title,\n } = this;\n\n return html`\n ${size !== TAG_SIZE.SMALL\n ? html`<slot name=\"icon\" @slotchange=\"${handleIconSlotChange}\"></slot>`\n : ''}\n <span class=\"${prefix}--tag__label\">\n <slot></slot>\n </span>\n <slot name=\"decorator\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <slot name=\"ai-label\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${handleAILabelSlotChange}\"></slot>\n ${filter\n ? html`\n <button class=\"${prefix}--tag__close-icon\" ?disabled=${disabled}>\n ${iconLoader(Close16, { 'aria-label': title })}\n </button>\n `\n : ``}\n `;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the AI Label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n /**\n * The name of the custom event fired before this tag is being closed upon a user gesture.\n * Cancellation of this event stops the user-initiated action of closing this tag.\n */\n static get eventBeforeClose() {\n return `${prefix}-tag-beingclosed`;\n }\n\n /**\n * The name of the custom event fired after this tag is closed upon a user gesture.\n */\n static get eventClose() {\n return `${prefix}-tag-closed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSTag;\n"],"names":["customElement"],"mappings":"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"}
|