@carbon/web-components 2.43.0 → 2.44.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 +8 -15
- package/dist/accordion.min.js +3 -3
- package/dist/ai-label.min.js +3 -3
- package/dist/ai-skeleton.min.js +3 -3
- package/dist/badge-indicator.min.js +3 -3
- package/dist/breadcrumb.min.js +6 -6
- package/dist/{button-eTloXzqX.js → button-CKgb4gp4.js} +4 -3
- package/dist/{button-skeleton-Dk3chlBc.js → button-skeleton-CXiEp3M8.js} +3 -3
- package/dist/button.min.js +3 -3
- package/dist/chat-button.min.js +3 -3
- package/dist/{checkbox-cr5-wvt1.js → checkbox-cQAHKwqU.js} +3 -3
- package/dist/checkbox.min.js +3 -3
- package/dist/{class-map-CJoc5JjN.js → class-map-warKt-hW.js} +3 -3
- package/dist/code-snippet.min.js +3 -3
- package/dist/combo-box.min.js +20 -9
- package/dist/combo-button.min.js +3 -3
- package/dist/{content-switcher-item-3fTDI2Aq.js → content-switcher-item-Cvkk1snv.js} +3 -3
- package/dist/content-switcher.min.js +3 -3
- package/dist/copy-button.min.js +3 -3
- package/dist/data-table.min.js +3 -3
- package/dist/date-picker.min.js +3 -3
- package/dist/dropdown-item-BHkaXms6.js +100 -0
- package/dist/dropdown.min.js +6 -10
- package/dist/feature-flags.min.js +3 -3
- package/dist/file-uploader.min.js +3 -3
- package/dist/floating-menu.min.js +3 -3
- package/dist/fluid-search.min.js +3 -3
- package/dist/fluid-select.min.js +3 -3
- package/dist/fluid-text-input.min.js +3 -3
- package/dist/fluid-textarea.min.js +3 -3
- package/dist/{focus-yD1Q_pDt.js → focus-Bwk_lgHl.js} +3 -3
- package/dist/{form-BaYTr2z0.js → form-CfvlKX6g.js} +3 -3
- package/dist/form-group.min.js +3 -3
- package/dist/form.min.js +3 -3
- package/dist/grid.min.js +3 -3
- package/dist/heading.min.js +3 -3
- package/dist/{host-listener-BJsBtsIt.js → host-listener-DJH6yN4y.js} +3 -3
- package/dist/icon-button.min.js +3 -3
- package/dist/icon-indicator.min.js +3 -3
- package/dist/{icon-loader-CqB9WRMP.js → icon-loader-pxyCrZwZ.js} +3 -3
- package/dist/{icon-loader-utils-DUl0vwdh.js → icon-loader-utils-lPqg1iFP.js} +3 -3
- package/dist/icon.min.js +3 -3
- package/dist/{if-defined-IxozbDOJ.js → if-defined-zhGxRN9M.js} +3 -3
- package/dist/{if-non-empty-CqQHBHdQ.js → if-non-empty-CTDui88C.js} +3 -3
- package/dist/inline-loading.min.js +4 -4
- package/dist/layer.min.js +3 -3
- package/dist/link.min.js +3 -3
- package/dist/list.min.js +3 -3
- package/dist/{loading-icon-CSgLYhyw.js → loading-icon-DfL1aC0N.js} +3 -3
- package/dist/loading.min.js +3 -3
- package/dist/menu-button.min.js +3 -3
- package/dist/menu.min.js +3 -3
- package/dist/modal.min.js +3 -3
- package/dist/multi-select.min.js +4 -3
- package/dist/notification.min.js +3 -3
- package/dist/number-input.min.js +3 -3
- package/dist/overflow-menu.min.js +3 -3
- package/dist/page-header.min.js +3 -3
- package/dist/pagination.min.js +3 -3
- package/dist/password-input.min.js +3 -3
- package/dist/popover.min.js +3 -3
- package/dist/progress-bar.min.js +3 -3
- package/dist/progress-indicator.min.js +3 -3
- package/dist/{property-B_F7V5eB.js → property-CoShOfqo.js} +3 -3
- package/dist/{query-assigned-elements-DeMmXVMb.js → query-assigned-elements-DvdLJjH_.js} +3 -3
- package/dist/radio-button.min.js +3 -3
- package/dist/{search-DhwzN9sI.js → search-mXlboHWm.js} +3 -3
- package/dist/search.min.js +3 -3
- package/dist/{select-BIi12O8B.js → select-BLrQXy2c.js} +4 -3
- package/dist/{select-item-Be7OL9mD.js → select-item-CMDCy7c6.js} +3 -3
- package/dist/{select-skeleton-8uIIQzNt.js → select-skeleton-D_qjQ9lZ.js} +3 -3
- package/dist/select.min.js +3 -3
- package/dist/shape-indicator.min.js +3 -3
- package/dist/side-panel.min.js +3 -3
- package/dist/skeleton-icon.min.js +3 -3
- package/dist/skeleton-placeholder.min.js +3 -3
- package/dist/skeleton-text.min.js +3 -3
- package/dist/skip-to-content.min.js +3 -3
- package/dist/slider.min.js +3 -3
- package/dist/slug.min.js +3 -3
- package/dist/stack.min.js +3 -3
- package/dist/{state-CJQmj6wG.js → state-D7rtIkB2.js} +3 -3
- package/dist/structured-list.min.js +3 -3
- package/dist/tabs.min.js +3 -3
- package/dist/tag.min.js +3 -3
- package/dist/tearsheet.min.js +3 -3
- package/dist/{text-input-C0qeKR9e.js → text-input-CIM-jSOC.js} +3 -3
- package/dist/text-input.min.js +3 -3
- package/dist/textarea.min.js +3 -3
- package/dist/tile.min.js +3 -3
- package/dist/time-picker.min.js +3 -3
- package/dist/toggle-tip.min.js +3 -3
- package/dist/toggle.min.js +3 -3
- package/dist/{tooltip-content-CMbdEoxb.js → tooltip-content-D25Rgp9z.js} +3 -3
- package/dist/tooltip.min.js +3 -3
- package/dist/tree-view.min.js +3 -3
- package/dist/ui-shell.min.js +3 -3
- package/dist/{unsafe-html-Dqv0UqC_.js → unsafe-html-C26Gpb7O.js} +3 -3
- 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.js +1 -0
- package/es/components/button/button.js.map +1 -1
- package/es/components/combo-box/combo-box-item.d.ts +10 -1
- package/es/components/combo-box/combo-box-item.js +65 -1
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.d.ts +6 -9
- package/es/components/combo-box/combo-box.js +108 -65
- 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/data-table/data-table.scss.js +1 -1
- package/es/components/dropdown/dropdown-skeleton.d.ts +10 -1
- package/es/components/dropdown/dropdown-skeleton.js +31 -7
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.d.ts +41 -7
- package/es/components/dropdown/dropdown.js +438 -65
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/dropdown/dropdown.scss.js +1 -1
- package/es/components/icon-button/icon-button.scss.js +1 -1
- package/es/components/inline-loading/inline-loading.js +1 -1
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/inline-loading/inline-loading.scss.js +1 -1
- package/es/components/multi-select/multi-select.d.ts +13 -1
- package/es/components/multi-select/multi-select.js +53 -0
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/multi-select/multi-select.scss.js +1 -1
- package/es/components/popover/popover.scss.js +1 -1
- package/es/components/select/select.js +1 -0
- package/es/components/select/select.js.map +1 -1
- package/es/components/slug/slug.scss.js +1 -1
- package/es/components/toggle-tip/toggletip.scss.js +1 -1
- package/es/components/tooltip/tooltip.js +1 -1
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tooltip/tooltip.scss.js +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.js +1 -0
- package/es-custom/components/button/button.js.map +1 -1
- package/es-custom/components/combo-box/combo-box-item.d.ts +10 -1
- package/es-custom/components/combo-box/combo-box-item.js +65 -1
- package/es-custom/components/combo-box/combo-box-item.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.d.ts +6 -9
- package/es-custom/components/combo-box/combo-box.js +108 -65
- 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/data-table/data-table.scss.js +1 -1
- package/es-custom/components/dropdown/dropdown-skeleton.d.ts +10 -1
- package/es-custom/components/dropdown/dropdown-skeleton.js +31 -7
- package/es-custom/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.d.ts +41 -7
- package/es-custom/components/dropdown/dropdown.js +438 -65
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.scss.js +1 -1
- package/es-custom/components/icon-button/icon-button.scss.js +1 -1
- package/es-custom/components/inline-loading/inline-loading.js +1 -1
- package/es-custom/components/inline-loading/inline-loading.js.map +1 -1
- package/es-custom/components/inline-loading/inline-loading.scss.js +1 -1
- package/es-custom/components/multi-select/multi-select.d.ts +13 -1
- package/es-custom/components/multi-select/multi-select.js +53 -0
- package/es-custom/components/multi-select/multi-select.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.scss.js +1 -1
- package/es-custom/components/popover/popover.scss.js +1 -1
- package/es-custom/components/select/select.js +1 -0
- package/es-custom/components/select/select.js.map +1 -1
- package/es-custom/components/slug/slug.scss.js +1 -1
- package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
- package/es-custom/components/tooltip/tooltip.js +1 -1
- package/es-custom/components/tooltip/tooltip.js.map +1 -1
- package/es-custom/components/tooltip/tooltip.scss.js +1 -1
- package/lib/components/combo-box/combo-box-item.d.ts +10 -1
- package/lib/components/combo-box/combo-box.d.ts +6 -9
- package/lib/components/dropdown/dropdown-skeleton.d.ts +10 -1
- package/lib/components/dropdown/dropdown.d.ts +41 -7
- package/lib/components/multi-select/multi-select.d.ts +13 -1
- package/package.json +6 -6
- package/scss/components/breadcrumb/breadcrumb.scss +1 -3
- package/scss/components/combo-box/combo-box.scss +72 -3
- package/scss/components/data-table/_table-core.scss +10 -0
- package/scss/components/data-table/_table-expandable.scss +6 -0
- package/scss/components/data-table/_table-selection.scss +7 -0
- package/scss/components/data-table/_table-sizes.scss +4 -0
- package/scss/components/data-table/data-table.scss +6 -9
- package/scss/components/dropdown/dropdown.scss +174 -22
- package/scss/components/menu/menu-variables.scss +0 -2
- package/scss/components/menu/menu.scss +1 -1
- package/scss/components/multi-select/multi-select.scss +7 -0
- package/scss/components/overflow-menu/overflow-menu.scss +0 -2
- package/scss/components/popover/popover.scss +58 -11
- package/scss/components/tooltip/tooltip-story.scss +8 -4
- package/telemetry.yml +0 -1
- package/dist/dropdown-item-BO7AhHPd.js +0 -96
- package/dist/{16-DhAznVKm.js → 16-5c5jFrXp.js} +2 -2
- package/dist/{16-B7MRS_3W.js → 16-B9Uo1cvh.js} +2 -2
- package/dist/{16-BWlgPBcu.js → 16-BMXNUlRI.js} +2 -2
- package/dist/{16-CdxGkvXO.js → 16-C-j0eQg7.js} +2 -2
- package/dist/{16-CJNlj_0b.js → 16-CZiCF7iO.js} +2 -2
- package/dist/{16-DoN7q01_.js → 16-CmZExt83.js} +2 -2
- package/dist/{16-DTvjc9uv.js → 16-DbvtK9-e.js} +2 -2
- package/dist/{16-GKRs-ALp.js → 16-INlZq7cB.js} +2 -2
- package/dist/{16-B46MLj4i.js → 16-dlAJdf7K.js} +2 -2
- package/dist/{16-B3Yskhl0.js → 16-tP236nqZ.js} +2 -2
- package/dist/{16-Bf2P7KMJ.js → 16-u6yXz6wM.js} +2 -2
- package/dist/{16-Bxm7Omxq.js → 16-vHbYZhS2.js} +2 -2
- package/dist/{20-CuEbZLGA.js → 20-ClE5EQkn.js} +2 -2
- package/dist/{20-DlknbFYR.js → 20-seUgpuwc.js} +2 -2
- package/dist/{carbon-element-DDrYm3XO.js → carbon-element-sn5DFO1t.js} +2 -2
- package/dist/{collection-helpers-C5emLOnk.js → collection-helpers-DwvpKeJx.js} +2 -2
- package/dist/{consume-BeeFGGfo.js → consume-C6px77x6.js} +2 -2
- package/dist/{directive-Dlo2OKiC.js → directive-CwtBJVHj.js} +2 -2
- package/dist/{floating-controller-DLpRVhGd.js → floating-controller-qGN47tO7.js} +2 -2
- package/dist/{host-listener-BCnAWDV7.js → host-listener-6VuJ4xzb.js} +2 -2
- package/dist/{lit-element-eFlPHqE1.js → lit-element-ljyXx2IF.js} +2 -2
- package/dist/{on-DvnWS_DB.js → on-CsYzs_5y.js} +2 -2
- package/dist/{query-BdmT5Ln1.js → query-BpyCOA3I.js} +2 -2
- package/dist/{radio-group-manager-B_pENWmT.js → radio-group-manager-DCfD4e6U.js} +2 -2
- package/dist/{settings-BBN_bDP6.js → settings-BYFrjJ1N.js} +2 -2
- package/dist/{shared-enums-D8TrS6Ts.js → shared-enums-BhRvRKoR.js} +2 -2
- package/dist/{validity-BUGyJDQ6.js → validity-wk0CEz9X.js} +2 -2
|
@@ -191,7 +191,7 @@ let CDSTooltip = class CDSTooltip extends HostListenerMixin(CDSPopover) {
|
|
|
191
191
|
? toolTipContent === null || toolTipContent === void 0 ? void 0 : toolTipContent.setAttribute('open', '')
|
|
192
192
|
: toolTipContent === null || toolTipContent === void 0 ? void 0 : toolTipContent.removeAttribute('open');
|
|
193
193
|
}
|
|
194
|
-
['align', 'caret', 'autoalign'].forEach((name) => {
|
|
194
|
+
['align', 'caret', 'autoalign', 'dropShadow'].forEach((name) => {
|
|
195
195
|
if (changedProperties.has(name)) {
|
|
196
196
|
const { [name]: value } = this;
|
|
197
197
|
toolTipContent[name] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sources":["../../../src/components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\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 { css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSPopover from '../popover/popover';\nimport '../popover/popover-content';\nimport styles from './tooltip.scss?lit';\nimport CDSTooltipContent from './tooltip-content';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Trigger button of tooltip.\n *\n * @element cds-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass CDSTooltip extends HostListenerMixin(CDSPopover) {\n /**\n * Specify how the trigger should align with the tooltip\n */\n @property({ reflect: true, type: String })\n align = 'top';\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * `true` if this tooltip is in a data table row\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the tooltip should be closed when clicked\n */\n @property({ reflect: true, type: Boolean })\n closeOnActivation = false;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, type: Boolean })\n defaultOpen = false;\n\n /**\n * Specify the duration in milliseconds to delay before displaying the tooltip\n */\n @property({ attribute: 'enter-delay-ms', type: Number })\n enterDelayMs = 100;\n\n /**\n * Specify the duration in milliseconds to delay before hiding the tooltip\n */\n @property({ attribute: 'leave-delay-ms', type: Number })\n leaveDelayMs = 300;\n\n /**\n * Only open tooltip on keyboard interactions, this is used for interactive tags\n * (ie. operational-tag, selectable-tag)\n */\n @property({ attribute: 'keyboard-only', type: Boolean })\n keyboardOnly = false;\n\n /**\n * Specify the size of the tooltip\n */\n @property({ reflect: true })\n size = false;\n\n /**\n * Specify the timeout reference for the tooltip\n */\n @property({ reflect: true })\n timeoutId = 0;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, attribute: 'toolbar-action', type: Boolean })\n toolbarAction = false;\n\n /**\n * Track if last interaction was a keyboard interaction\n */\n private lastInteractionWasKeyboard = false;\n\n /**\n * Handles opening of tooltip\n */\n private _showTooltip = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n this.open = true;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { selectorTooltipContent } = this\n .constructor as typeof CDSTooltip;\n (this.querySelector(selectorTooltipContent) as HTMLElement)?.focus();\n }\n }, this.enterDelayMs);\n };\n\n /**\n * Handles `mouseover` event on this element.\n */\n private _handleHover = (event) => {\n if (this.keyboardOnly) {\n if (event instanceof FocusEvent && this.lastInteractionWasKeyboard) {\n this._showTooltip();\n }\n } else {\n this._showTooltip();\n }\n };\n\n /**\n * Handles `mouseleave` event on this element.\n */\n private _handleHoverOut = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n const { open } = this;\n if (open) {\n this.open = false;\n }\n }, this.leaveDelayMs);\n };\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('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 private _handleClick = async () => {\n this.lastInteractionWasKeyboard = false;\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\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 private _handleKeydown = async (event) => {\n // needed for interactive tags for when the tag is focused from tabbing into it\n // tooltip is expected to open only from keyboard interaction\n if (event.key === 'Tab') {\n this.lastInteractionWasKeyboard = true;\n }\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Escape') {\n this.lastInteractionWasKeyboard = true;\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n }\n };\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const component = (target as HTMLSlotElement).assignedNodes().filter(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim() // eslint-disable-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n );\n if (!component[0]) {\n return;\n }\n\n (component[0] as HTMLElement).addEventListener('focus', this._handleHover);\n (component[0] as HTMLElement).addEventListener(\n 'focusout',\n this._handleHoverOut\n );\n\n if (!this.keyboardOnly) {\n (component[0] as HTMLElement).addEventListener(\n 'mouseover',\n this._handleHover\n );\n (component[0] as HTMLElement).addEventListener(\n 'mouseleave',\n this._handleHoverOut\n );\n }\n this.requestUpdate();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('highContrast')) {\n this.setAttribute('highContrast', '');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n window.addEventListener('keydown', this._handleKeydown, true);\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n window.removeEventListener('keydown', this._handleKeydown, true);\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { selectorTooltipContent } = this.constructor as typeof CDSTooltip;\n const toolTipContent = this.querySelector(selectorTooltipContent);\n\n if (changedProperties.has('defaultOpen')) {\n this.open = this.defaultOpen;\n }\n\n if (changedProperties.has('open')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n this.open\n ? toolTipContent?.setAttribute('open', '')\n : toolTipContent?.removeAttribute('open');\n }\n\n ['align', 'caret', 'autoalign'].forEach((name) => {\n if (changedProperties.has(name)) {\n const { [name as keyof CDSTooltip]: value } = this;\n (toolTipContent as CDSTooltipContent)[name] = value;\n }\n });\n\n if (this.hasAttribute('highcontrast')) {\n toolTipContent?.setAttribute('highcontrast', '');\n }\n\n this.shadowRoot\n ?.querySelector(`.${prefix}--popover-container`)\n ?.classList.add(`${prefix}--tooltip`);\n\n super.updated(changedProperties);\n }\n\n /**\n * A selector that will return the CDSTooltipContent.\n */\n static get selectorTooltipContent() {\n return `${prefix}-tooltip-content`;\n }\n\n static get styles() {\n return css`\n ${super.styles}${styles}\n `;\n }\n}\n\nexport default CDSTooltip;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tooltip.js","sources":["../../../src/components/tooltip/tooltip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\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 { css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport CDSPopover from '../popover/popover';\nimport '../popover/popover-content';\nimport styles from './tooltip.scss?lit';\nimport CDSTooltipContent from './tooltip-content';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Trigger button of tooltip.\n *\n * @element cds-tooltip\n */\n@customElement(`${prefix}-tooltip`)\nclass CDSTooltip extends HostListenerMixin(CDSPopover) {\n /**\n * Specify how the trigger should align with the tooltip\n */\n @property({ reflect: true, type: String })\n align = 'top';\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * `true` if this tooltip is in a data table row\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the tooltip should be closed when clicked\n */\n @property({ reflect: true, type: Boolean })\n closeOnActivation = false;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, type: Boolean })\n defaultOpen = false;\n\n /**\n * Specify the duration in milliseconds to delay before displaying the tooltip\n */\n @property({ attribute: 'enter-delay-ms', type: Number })\n enterDelayMs = 100;\n\n /**\n * Specify the duration in milliseconds to delay before hiding the tooltip\n */\n @property({ attribute: 'leave-delay-ms', type: Number })\n leaveDelayMs = 300;\n\n /**\n * Only open tooltip on keyboard interactions, this is used for interactive tags\n * (ie. operational-tag, selectable-tag)\n */\n @property({ attribute: 'keyboard-only', type: Boolean })\n keyboardOnly = false;\n\n /**\n * Specify the size of the tooltip\n */\n @property({ reflect: true })\n size = false;\n\n /**\n * Specify the timeout reference for the tooltip\n */\n @property({ reflect: true })\n timeoutId = 0;\n\n /**\n * Specify whether the tooltip should be open when it first renders\n */\n @property({ reflect: true, attribute: 'toolbar-action', type: Boolean })\n toolbarAction = false;\n\n /**\n * Track if last interaction was a keyboard interaction\n */\n private lastInteractionWasKeyboard = false;\n\n /**\n * Handles opening of tooltip\n */\n private _showTooltip = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n this.open = true;\n const { open, updateComplete } = this;\n if (open) {\n await updateComplete;\n const { selectorTooltipContent } = this\n .constructor as typeof CDSTooltip;\n (this.querySelector(selectorTooltipContent) as HTMLElement)?.focus();\n }\n }, this.enterDelayMs);\n };\n\n /**\n * Handles `mouseover` event on this element.\n */\n private _handleHover = (event) => {\n if (this.keyboardOnly) {\n if (event instanceof FocusEvent && this.lastInteractionWasKeyboard) {\n this._showTooltip();\n }\n } else {\n this._showTooltip();\n }\n };\n\n /**\n * Handles `mouseleave` event on this element.\n */\n private _handleHoverOut = async () => {\n window.clearTimeout(this.timeoutId);\n this.timeoutId = window.setTimeout(async () => {\n const { open } = this;\n if (open) {\n this.open = false;\n }\n }, this.leaveDelayMs);\n };\n\n /**\n * Handles `click` event on this element.\n */\n @HostListener('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 private _handleClick = async () => {\n this.lastInteractionWasKeyboard = false;\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n };\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\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 private _handleKeydown = async (event) => {\n // needed for interactive tags for when the tag is focused from tabbing into it\n // tooltip is expected to open only from keyboard interaction\n if (event.key === 'Tab') {\n this.lastInteractionWasKeyboard = true;\n }\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Escape') {\n this.lastInteractionWasKeyboard = true;\n if (this.closeOnActivation) {\n this._handleHoverOut();\n }\n }\n };\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const component = (target as HTMLSlotElement).assignedNodes().filter(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim() // eslint-disable-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n );\n if (!component[0]) {\n return;\n }\n\n (component[0] as HTMLElement).addEventListener('focus', this._handleHover);\n (component[0] as HTMLElement).addEventListener(\n 'focusout',\n this._handleHoverOut\n );\n\n if (!this.keyboardOnly) {\n (component[0] as HTMLElement).addEventListener(\n 'mouseover',\n this._handleHover\n );\n (component[0] as HTMLElement).addEventListener(\n 'mouseleave',\n this._handleHoverOut\n );\n }\n this.requestUpdate();\n }\n\n connectedCallback() {\n if (!this.hasAttribute('highContrast')) {\n this.setAttribute('highContrast', '');\n }\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n window.addEventListener('keydown', this._handleKeydown, true);\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n window.removeEventListener('keydown', this._handleKeydown, true);\n super.disconnectedCallback();\n }\n\n updated(changedProperties) {\n const { selectorTooltipContent } = this.constructor as typeof CDSTooltip;\n const toolTipContent = this.querySelector(selectorTooltipContent);\n\n if (changedProperties.has('defaultOpen')) {\n this.open = this.defaultOpen;\n }\n\n if (changedProperties.has('open')) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n this.open\n ? toolTipContent?.setAttribute('open', '')\n : toolTipContent?.removeAttribute('open');\n }\n\n ['align', 'caret', 'autoalign', 'dropShadow'].forEach((name) => {\n if (changedProperties.has(name)) {\n const { [name as keyof CDSTooltip]: value } = this;\n (toolTipContent as CDSTooltipContent)[name] = value;\n }\n });\n\n if (this.hasAttribute('highcontrast')) {\n toolTipContent?.setAttribute('highcontrast', '');\n }\n\n this.shadowRoot\n ?.querySelector(`.${prefix}--popover-container`)\n ?.classList.add(`${prefix}--tooltip`);\n\n super.updated(changedProperties);\n }\n\n /**\n * A selector that will return the CDSTooltipContent.\n */\n static get selectorTooltipContent() {\n return `${prefix}-tooltip-content`;\n }\n\n static get styles() {\n return css`\n ${super.styles}${styles}\n `;\n }\n}\n\nexport default CDSTooltip;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAaH;;;;AAIG;AAEH,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,iBAAiB,CAAC,UAAU,CAAC,CAAA;AAAtD,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAK,CAAA,KAAA,GAAG,KAAK;AAEb;;AAEG;QAEH,IAAS,CAAA,SAAA,GAAG,KAAK;AAEjB;;AAEG;QAEH,IAAS,CAAA,SAAA,GAAG,KAAK;AAEjB;;AAEG;QAEH,IAAiB,CAAA,iBAAA,GAAG,KAAK;AAEzB;;AAEG;QAEH,IAAW,CAAA,WAAA,GAAG,KAAK;AAEnB;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAG,GAAG;AAElB;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAG,GAAG;AAElB;;;AAGG;QAEH,IAAY,CAAA,YAAA,GAAG,KAAK;AAEpB;;AAEG;QAEH,IAAI,CAAA,IAAA,GAAG,KAAK;AAEZ;;AAEG;QAEH,IAAS,CAAA,SAAA,GAAG,CAAC;AAEb;;AAEG;QAEH,IAAa,CAAA,aAAA,GAAG,KAAK;AAErB;;AAEG;QACK,IAA0B,CAAA,0BAAA,GAAG,KAAK;AAE1C;;AAEG;QACK,IAAY,CAAA,YAAA,GAAG,YAAW;AAChC,YAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,YAAW;;AAC5C,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,gBAAA,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI;gBACrC,IAAI,IAAI,EAAE;AACR,oBAAA,MAAM,cAAc;AACpB,oBAAA,MAAM,EAAE,sBAAsB,EAAE,GAAG;AAChC,yBAAA,WAAgC;oBACnC,CAAC,EAAA,GAAA,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,EAAE;;AAExE,aAAC,EAAE,IAAI,CAAC,YAAY,CAAC;AACvB,SAAC;AAED;;AAEG;AACK,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,KAAK,KAAI;AAC/B,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,KAAK,YAAY,UAAU,IAAI,IAAI,CAAC,0BAA0B,EAAE;oBAClE,IAAI,CAAC,YAAY,EAAE;;;iBAEhB;gBACL,IAAI,CAAC,YAAY,EAAE;;AAEvB,SAAC;AAED;;AAEG;QACK,IAAe,CAAA,eAAA,GAAG,YAAW;AACnC,YAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,YAAW;AAC5C,gBAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI;gBACrB,IAAI,IAAI,EAAE;AACR,oBAAA,IAAI,CAAC,IAAI,GAAG,KAAK;;AAErB,aAAC,EAAE,IAAI,CAAC,YAAY,CAAC;AACvB,SAAC;AAED;;AAEG;QAIK,IAAY,CAAA,YAAA,GAAG,YAAW;AAChC,YAAA,IAAI,CAAC,0BAA0B,GAAG,KAAK;AACvC,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,eAAe,EAAE;;AAE1B,SAAC;AAED;;AAEG;AAIK,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,KAAK,KAAI;;;AAGvC,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;AACvB,gBAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI;;AAExC,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AACxE,gBAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI;AACtC,gBAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBAC1B,IAAI,CAAC,eAAe,EAAE;;;AAG5B,SAAC;;AAED;;AAEG;IACO,iBAAiB,CAAC,EAAE,MAAM,EAAS,EAAA;AAC3C,QAAA,MAAM,SAAS,GAAI,MAA0B,CAAC,aAAa,EAAE,CAAC,MAAM,CAClE,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAK,CAAC,WAAY,CAAC,IAAI,EAAE;SACxE;AACD,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACjB;;AAGD,QAAA,SAAS,CAAC,CAAC,CAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;AACzE,QAAA,SAAS,CAAC,CAAC,CAAiB,CAAC,gBAAgB,CAC5C,UAAU,EACV,IAAI,CAAC,eAAe,CACrB;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,SAAS,CAAC,CAAC,CAAiB,CAAC,gBAAgB,CAC5C,WAAW,EACX,IAAI,CAAC,YAAY,CAClB;AACA,YAAA,SAAS,CAAC,CAAC,CAAiB,CAAC,gBAAgB,CAC5C,YAAY,EACZ,IAAI,CAAC,eAAe,CACrB;;QAEH,IAAI,CAAC,aAAa,EAAE;;IAGtB,iBAAiB,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;;AAEvC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;QAErC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;QAC7D,KAAK,CAAC,iBAAiB,EAAE;;IAG3B,oBAAoB,GAAA;QAClB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;QAChE,KAAK,CAAC,oBAAoB,EAAE;;AAG9B,IAAA,OAAO,CAAC,iBAAiB,EAAA;;AACvB,QAAA,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC,WAAgC;QACxE,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC;AAEjE,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;AACxC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW;;AAG9B,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;;AAEjC,YAAA,IAAI,CAAC;AACH,kBAAE,cAAc,KAAd,IAAA,IAAA,cAAc,KAAd,MAAA,GAAA,MAAA,GAAA,cAAc,CAAE,YAAY,CAAC,MAAM,EAAE,EAAE;kBACvC,cAAc,KAAA,IAAA,IAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,eAAe,CAAC,MAAM,CAAC;;AAG7C,QAAA,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC7D,YAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC/B,MAAM,EAAE,CAAC,IAAwB,GAAG,KAAK,EAAE,GAAG,IAAI;AACjD,gBAAA,cAAoC,CAAC,IAAI,CAAC,GAAG,KAAK;;AAEvD,SAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;YACrC,cAAc,KAAA,IAAA,IAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;;QAGlD,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,0CACX,aAAa,CAAC,IAAI,MAAM,CAAA,mBAAA,CAAqB,CAAC,MAC9C,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA,SAAA,CAAW,CAAC;AAEvC,QAAA,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;;AAGlC;;AAEG;AACH,IAAA,WAAW,sBAAsB,GAAA;QAC/B,OAAO,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB;;AAGpC,IAAA,WAAW,MAAM,GAAA;AACf,QAAA,OAAO,GAAG,CAAA;QACN,KAAK,CAAC,MAAM,CAAA,EAAG,MAAM;KACxB;;CAEJ;AA3OC,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3B,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACxB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMlB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE;AACjD,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMlB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AAChB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,MAAA,CAAA;AAM1B,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AACtB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAMpB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE;AACpC,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAMnB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE;AACpC,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAOnB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;AAClC,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAMrB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACd,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACb,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;AACjD,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,eAAA,EAAA,MAAA,CAAA;AAwDd,UAAA,CAAA;IAHP,YAAY,CAAC,OAAO;;;AAQnB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAQM,UAAA,CAAA;IAHP,YAAY,CAAC,SAAS;;;AAerB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AAnJE,UAAU,GAAA,UAAA,CAAA;AADf,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,QAAA,CAAU;AAC5B,CAAA,EAAA,UAAU,CAgPf;AAED,mBAAe,UAAU;;;;"}
|