@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.
Files changed (226) hide show
  1. package/custom-elements.json +38 -13
  2. package/es/components/ai-label/ai-label.scss.js +1 -1
  3. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  4. package/es/components/button/button-set.js +1 -1
  5. package/es/components/button/button-set.js.map +1 -1
  6. package/es/components/button/button.scss.js +1 -1
  7. package/es/components/checkbox/checkbox.js +1 -1
  8. package/es/components/checkbox/checkbox.js.map +1 -1
  9. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  10. package/es/components/combo-box/combo-box-item.d.ts +3 -4
  11. package/es/components/combo-box/combo-box-item.js +0 -14
  12. package/es/components/combo-box/combo-box-item.js.map +1 -1
  13. package/es/components/combo-box/combo-box.d.ts +7 -0
  14. package/es/components/combo-box/combo-box.js +30 -8
  15. package/es/components/combo-box/combo-box.js.map +1 -1
  16. package/es/components/combo-box/combo-box.scss.js +1 -1
  17. package/es/components/combo-button/combo-button.scss.js +1 -1
  18. package/es/components/contained-list/contained-list.scss.js +1 -1
  19. package/es/components/content-switcher/content-switcher-item.d.ts +1 -1
  20. package/es/components/content-switcher/content-switcher-item.js +2 -2
  21. package/es/components/content-switcher/content-switcher-item.js.map +1 -1
  22. package/es/components/content-switcher/content-switcher.scss.js +1 -1
  23. package/es/components/copy-button/copy-button.scss.js +1 -1
  24. package/es/components/data-table/data-table.scss.js +1 -1
  25. package/es/components/data-table/table-skeleton.d.ts +1 -5
  26. package/es/components/data-table/table-skeleton.js +2 -10
  27. package/es/components/data-table/table-skeleton.js.map +1 -1
  28. package/es/components/dropdown/dropdown-item.d.ts +15 -0
  29. package/es/components/dropdown/dropdown-item.js +52 -0
  30. package/es/components/dropdown/dropdown-item.js.map +1 -1
  31. package/es/components/dropdown/dropdown.js +0 -1
  32. package/es/components/dropdown/dropdown.js.map +1 -1
  33. package/es/components/dropdown/dropdown.scss.js +1 -1
  34. package/es/components/file-uploader/file-uploader.scss.js +1 -1
  35. package/es/components/menu-button/menu-button.scss.js +1 -1
  36. package/es/components/modal/modal.scss.js +1 -1
  37. package/es/components/multi-select/multi-select.js +0 -3
  38. package/es/components/multi-select/multi-select.js.map +1 -1
  39. package/es/components/notification/actionable-notification.scss.js +1 -1
  40. package/es/components/notification/inline-notification.scss.js +1 -1
  41. package/es/components/notification/toast-notification.scss.js +1 -1
  42. package/es/components/overflow-menu/overflow-menu-item.d.ts +5 -1
  43. package/es/components/overflow-menu/overflow-menu-item.js +24 -1
  44. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  45. package/es/components/overflow-menu/overflow-menu.d.ts +1 -1
  46. package/es/components/overflow-menu/overflow-menu.js +3 -3
  47. package/es/components/overflow-menu/overflow-menu.js.map +1 -1
  48. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  49. package/es/components/pagination/pagination.scss.js +1 -1
  50. package/es/components/pagination-nav/pagination-nav.scss.js +1 -1
  51. package/es/components/popover/popover.d.ts +12 -2
  52. package/es/components/popover/popover.js +56 -37
  53. package/es/components/popover/popover.js.map +1 -1
  54. package/es/components/popover/popover.scss.js +1 -1
  55. package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
  56. package/es/components/progress-indicator/progress-step.d.ts +1 -1
  57. package/es/components/progress-indicator/progress-step.js +2 -2
  58. package/es/components/progress-indicator/progress-step.js.map +1 -1
  59. package/es/components/radio-button/radio-button.js +1 -1
  60. package/es/components/radio-button/radio-button.js.map +1 -1
  61. package/es/components/select/select.d.ts +1 -1
  62. package/es/components/select/select.js +3 -3
  63. package/es/components/select/select.js.map +1 -1
  64. package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
  65. package/es/components/slug/slug.scss.js +1 -1
  66. package/es/components/tabs/tab.d.ts +1 -1
  67. package/es/components/tabs/tab.js +2 -2
  68. package/es/components/tabs/tab.js.map +1 -1
  69. package/es/components/tabs/tabs.scss.js +1 -1
  70. package/es/components/tag/tag.d.ts +1 -1
  71. package/es/components/tag/tag.js +2 -2
  72. package/es/components/tag/tag.js.map +1 -1
  73. package/es/components/tag/tag.scss.js +1 -1
  74. package/es/components/text-input/text-input.d.ts +2 -0
  75. package/es/components/text-input/text-input.js +26 -14
  76. package/es/components/text-input/text-input.js.map +1 -1
  77. package/es/components/tile/expandable-tile.d.ts +1 -1
  78. package/es/components/tile/expandable-tile.js +2 -2
  79. package/es/components/tile/expandable-tile.js.map +1 -1
  80. package/es/components/time-picker/time-picker-select.d.ts +1 -1
  81. package/es/components/time-picker/time-picker-select.js +2 -2
  82. package/es/components/time-picker/time-picker-select.js.map +1 -1
  83. package/es/components/toggle-tip/toggletip.d.ts +0 -1
  84. package/es/components/toggle-tip/toggletip.js +2 -13
  85. package/es/components/toggle-tip/toggletip.js.map +1 -1
  86. package/es/components/toggle-tip/toggletip.scss.js +1 -1
  87. package/es/components/tooltip/tooltip.scss.js +1 -1
  88. package/es/components/ui-shell/header-menu.d.ts +1 -1
  89. package/es/components/ui-shell/header-menu.js +2 -2
  90. package/es/components/ui-shell/header-menu.js.map +1 -1
  91. package/es/components/ui-shell/header.scss.js +1 -1
  92. package/es/components/ui-shell/side-nav-menu.d.ts +1 -1
  93. package/es/components/ui-shell/side-nav-menu.js +2 -2
  94. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  95. package/es/globals/controllers/floating-controller.js +6 -2
  96. package/es/globals/controllers/floating-controller.js.map +1 -1
  97. package/es/globals/internal/deep-shadow-contains.d.ts +15 -0
  98. package/es/globals/internal/deep-shadow-contains.js +36 -0
  99. package/es/globals/internal/deep-shadow-contains.js.map +1 -0
  100. package/es/polyfills/toggle-attribute.d.ts +1 -1
  101. package/es-custom/components/ai-label/ai-label.scss.js +1 -1
  102. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  103. package/es-custom/components/button/button-set.js +1 -1
  104. package/es-custom/components/button/button-set.js.map +1 -1
  105. package/es-custom/components/button/button.scss.js +1 -1
  106. package/es-custom/components/checkbox/checkbox.js +1 -1
  107. package/es-custom/components/checkbox/checkbox.js.map +1 -1
  108. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  109. package/es-custom/components/combo-box/combo-box-item.d.ts +3 -4
  110. package/es-custom/components/combo-box/combo-box-item.js +0 -14
  111. package/es-custom/components/combo-box/combo-box-item.js.map +1 -1
  112. package/es-custom/components/combo-box/combo-box.d.ts +7 -0
  113. package/es-custom/components/combo-box/combo-box.js +30 -8
  114. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  115. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  116. package/es-custom/components/combo-button/combo-button.scss.js +1 -1
  117. package/es-custom/components/contained-list/contained-list.scss.js +1 -1
  118. package/es-custom/components/content-switcher/content-switcher-item.d.ts +1 -1
  119. package/es-custom/components/content-switcher/content-switcher-item.js +2 -2
  120. package/es-custom/components/content-switcher/content-switcher-item.js.map +1 -1
  121. package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
  122. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  123. package/es-custom/components/data-table/data-table.scss.js +1 -1
  124. package/es-custom/components/data-table/table-skeleton.d.ts +1 -5
  125. package/es-custom/components/data-table/table-skeleton.js +2 -10
  126. package/es-custom/components/data-table/table-skeleton.js.map +1 -1
  127. package/es-custom/components/dropdown/dropdown-item.d.ts +15 -0
  128. package/es-custom/components/dropdown/dropdown-item.js +52 -0
  129. package/es-custom/components/dropdown/dropdown-item.js.map +1 -1
  130. package/es-custom/components/dropdown/dropdown.js +0 -1
  131. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  132. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  133. package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
  134. package/es-custom/components/menu-button/menu-button.scss.js +1 -1
  135. package/es-custom/components/modal/modal.scss.js +1 -1
  136. package/es-custom/components/multi-select/multi-select.js +0 -3
  137. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  138. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  139. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  140. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  141. package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +5 -1
  142. package/es-custom/components/overflow-menu/overflow-menu-item.js +24 -1
  143. package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
  144. package/es-custom/components/overflow-menu/overflow-menu.d.ts +1 -1
  145. package/es-custom/components/overflow-menu/overflow-menu.js +3 -3
  146. package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
  147. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  148. package/es-custom/components/pagination/pagination.scss.js +1 -1
  149. package/es-custom/components/pagination-nav/pagination-nav.scss.js +1 -1
  150. package/es-custom/components/popover/popover.d.ts +12 -2
  151. package/es-custom/components/popover/popover.js +56 -37
  152. package/es-custom/components/popover/popover.js.map +1 -1
  153. package/es-custom/components/popover/popover.scss.js +1 -1
  154. package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
  155. package/es-custom/components/progress-indicator/progress-step.d.ts +1 -1
  156. package/es-custom/components/progress-indicator/progress-step.js +2 -2
  157. package/es-custom/components/progress-indicator/progress-step.js.map +1 -1
  158. package/es-custom/components/radio-button/radio-button.js +1 -1
  159. package/es-custom/components/radio-button/radio-button.js.map +1 -1
  160. package/es-custom/components/select/select.d.ts +1 -1
  161. package/es-custom/components/select/select.js +3 -3
  162. package/es-custom/components/select/select.js.map +1 -1
  163. package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
  164. package/es-custom/components/slug/slug.scss.js +1 -1
  165. package/es-custom/components/tabs/tab.d.ts +1 -1
  166. package/es-custom/components/tabs/tab.js +2 -2
  167. package/es-custom/components/tabs/tab.js.map +1 -1
  168. package/es-custom/components/tabs/tabs.scss.js +1 -1
  169. package/es-custom/components/tag/tag.d.ts +1 -1
  170. package/es-custom/components/tag/tag.js +2 -2
  171. package/es-custom/components/tag/tag.js.map +1 -1
  172. package/es-custom/components/tag/tag.scss.js +1 -1
  173. package/es-custom/components/text-input/text-input.d.ts +2 -0
  174. package/es-custom/components/text-input/text-input.js +26 -14
  175. package/es-custom/components/text-input/text-input.js.map +1 -1
  176. package/es-custom/components/tile/expandable-tile.d.ts +1 -1
  177. package/es-custom/components/tile/expandable-tile.js +2 -2
  178. package/es-custom/components/tile/expandable-tile.js.map +1 -1
  179. package/es-custom/components/time-picker/time-picker-select.d.ts +1 -1
  180. package/es-custom/components/time-picker/time-picker-select.js +2 -2
  181. package/es-custom/components/time-picker/time-picker-select.js.map +1 -1
  182. package/es-custom/components/toggle-tip/toggletip.d.ts +0 -1
  183. package/es-custom/components/toggle-tip/toggletip.js +2 -13
  184. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  185. package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
  186. package/es-custom/components/tooltip/tooltip.scss.js +1 -1
  187. package/es-custom/components/ui-shell/header-menu.d.ts +1 -1
  188. package/es-custom/components/ui-shell/header-menu.js +2 -2
  189. package/es-custom/components/ui-shell/header-menu.js.map +1 -1
  190. package/es-custom/components/ui-shell/header.scss.js +1 -1
  191. package/es-custom/components/ui-shell/side-nav-menu.d.ts +1 -1
  192. package/es-custom/components/ui-shell/side-nav-menu.js +2 -2
  193. package/es-custom/components/ui-shell/side-nav-menu.js.map +1 -1
  194. package/es-custom/globals/controllers/floating-controller.js +6 -2
  195. package/es-custom/globals/controllers/floating-controller.js.map +1 -1
  196. package/es-custom/globals/internal/deep-shadow-contains.d.ts +15 -0
  197. package/es-custom/globals/internal/deep-shadow-contains.js +36 -0
  198. package/es-custom/globals/internal/deep-shadow-contains.js.map +1 -0
  199. package/es-custom/polyfills/toggle-attribute.d.ts +1 -1
  200. package/lib/components/combo-box/combo-box-item.d.ts +3 -4
  201. package/lib/components/combo-box/combo-box.d.ts +7 -0
  202. package/lib/components/content-switcher/content-switcher-item.d.ts +1 -1
  203. package/lib/components/data-table/table-skeleton.d.ts +1 -5
  204. package/lib/components/dropdown/dropdown-item.d.ts +15 -0
  205. package/lib/components/overflow-menu/overflow-menu-item.d.ts +5 -1
  206. package/lib/components/overflow-menu/overflow-menu.d.ts +1 -1
  207. package/lib/components/popover/popover.d.ts +12 -2
  208. package/lib/components/progress-indicator/progress-step.d.ts +1 -1
  209. package/lib/components/select/select.d.ts +1 -1
  210. package/lib/components/tabs/tab.d.ts +1 -1
  211. package/lib/components/tag/tag.d.ts +1 -1
  212. package/lib/components/text-input/text-input.d.ts +2 -0
  213. package/lib/components/tile/expandable-tile.d.ts +1 -1
  214. package/lib/components/time-picker/time-picker-select.d.ts +1 -1
  215. package/lib/components/toggle-tip/toggletip.d.ts +0 -1
  216. package/lib/components/ui-shell/header-menu.d.ts +1 -1
  217. package/lib/components/ui-shell/side-nav-menu.d.ts +1 -1
  218. package/lib/globals/controllers/floating-controller.js +6 -2
  219. package/lib/globals/controllers/floating-controller.js.map +1 -1
  220. package/lib/globals/internal/deep-shadow-contains.d.ts +15 -0
  221. package/lib/polyfills/toggle-attribute.d.ts +1 -1
  222. package/package.json +6 -6
  223. package/scss/components/dropdown/dropdown.scss +5 -0
  224. package/scss/components/overflow-menu/overflow-menu.scss +4 -0
  225. package/scss/components/popover/popover.scss +160 -4
  226. package/telemetry.yml +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"content-switcher-item.js","sources":["../../../src/components/content-switcher/content-switcher-item.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\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 { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './content-switcher.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Content switcher button.\n *\n * @element cds-custom-content-switcher-item\n */\n@customElement(`${prefix}-content-switcher-item`)\nclass CDSContentSwitcherItem extends FocusMixin(LitElement) {\n /**\n * `true` if this content switcher item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` to hide the divider at the left.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-divider' })\n hideDivider = false;\n\n /**\n * `true` if the content switcher button should be selected.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The element ID of target panel.\n */\n @property()\n target!: string;\n\n /**\n * The `value` attribute that is set to the parent `<cds-custom-content-switcher>`\n * when this content switcher item is selected.\n */\n @property()\n value = '';\n\n /**\n * `true` if the content switcher button should be icon-only.\n */\n @property({ type: Boolean, reflect: true })\n icon = false;\n\n /**\n * Specify how the trigger should align with the tooltip for icon-only\n * switcher item\n */\n @property({ reflect: true, type: String })\n align = 'top';\n\n /**\n * Determines whether the tooltip should close when inner content is\n * activated (click, Enter or Space)\n */\n @property({ attribute: 'close-on-activation', reflect: true, type: Boolean })\n closeOnActivation = true;\n\n /**\n * Specify the duration in milliseconds to delay before displaying the\n * tooltip for icon-only switcher item\n */\n enterDelayMs = 100;\n\n /**\n * Specify the duration in milliseconds to delay before hiding the tooltip\n * for icon-only switcher-item\n *\n */\n leaveDelayMs = 100;\n\n updated(changedProperties) {\n if (changedProperties) {\n this.shadowRoot\n ?.querySelector(`${prefix}-tooltip`)\n ?.classList.add(`${prefix}--icon-tooltip`);\n }\n\n if (\n this.disabled &&\n changedProperties.has('disabled') &&\n !this.parentElement?.hasAttribute('disabled')\n ) {\n this.parentElement?.setAttribute('disabled', '');\n }\n }\n\n protected _renderTooltipContent() {\n return html`\n <cds-custom-tooltip-content>\n <slot name=\"tooltip-content\"></slot>\n </cds-custom-tooltip-content>\n `;\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('selected') || changedProperties.has('target')) {\n const { selected, target } = this;\n if (target) {\n const doc = this.getRootNode() as HTMLDocument;\n // `doc` can be an element if such element is orphaned\n const targetNode = doc?.getElementById(target);\n targetNode?.toggleAttribute('hidden', !selected);\n }\n }\n return true;\n }\n\n render() {\n const { disabled, selected, target } = this;\n const className = classMap({\n [`${prefix}--content-switcher-btn`]: true,\n [`${prefix}--content-switcher--selected`]: selected,\n });\n const switcherItem = html`<button\n type=\"button\"\n role=\"tab\"\n class=\"${className}\"\n ?disabled=\"${disabled}\"\n tabindex=\"${selected ? '0' : '-1'}\"\n aria-controls=\"${ifDefined(target)}\"\n aria-selected=\"${Boolean(selected)}\">\n <span class=\"${prefix}--content-switcher__label\"><slot></slot></span>\n </button>`;\n\n if (this.icon) {\n const { align, closeOnActivation, enterDelayMs, leaveDelayMs } = this;\n return html`<cds-custom-tooltip\n align=${align}\n close-on-activation=\"${closeOnActivation}\"\n enter-delay-ms=${enterDelayMs}\n leave-delay-ms=${leaveDelayMs}>\n ${switcherItem} ${this._renderTooltipContent()}\n </cds-custom-tooltip>`;\n }\n return switcherItem;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSContentSwitcherItem;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"content-switcher-item.js","sources":["../../../src/components/content-switcher/content-switcher-item.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 { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './content-switcher.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Content switcher button.\n *\n * @element cds-custom-content-switcher-item\n */\n@customElement(`${prefix}-content-switcher-item`)\nclass CDSContentSwitcherItem extends FocusMixin(LitElement) {\n /**\n * `true` if this content switcher item should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * `true` to hide the divider at the left.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-divider' })\n hideDivider = false;\n\n /**\n * `true` if the content switcher button should be selected.\n *\n * @private\n */\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n /**\n * The element ID of target panel.\n */\n @property()\n target!: string;\n\n /**\n * The `value` attribute that is set to the parent `<cds-custom-content-switcher>`\n * when this content switcher item is selected.\n */\n @property()\n value = '';\n\n /**\n * `true` if the content switcher button should be icon-only.\n */\n @property({ type: Boolean, reflect: true })\n icon = false;\n\n /**\n * Specify how the trigger should align with the tooltip for icon-only\n * switcher item\n */\n @property({ reflect: true, type: String })\n align = 'top';\n\n /**\n * Determines whether the tooltip should close when inner content is\n * activated (click, Enter or Space)\n */\n @property({ attribute: 'close-on-activation', reflect: true, type: Boolean })\n closeOnActivation = true;\n\n /**\n * Specify the duration in milliseconds to delay before displaying the\n * tooltip for icon-only switcher item\n */\n enterDelayMs = 100;\n\n /**\n * Specify the duration in milliseconds to delay before hiding the tooltip\n * for icon-only switcher-item\n *\n */\n leaveDelayMs = 100;\n\n updated(changedProperties) {\n if (changedProperties) {\n this.shadowRoot\n ?.querySelector(`${prefix}-tooltip`)\n ?.classList.add(`${prefix}--icon-tooltip`);\n }\n\n if (\n this.disabled &&\n changedProperties.has('disabled') &&\n !this.parentElement?.hasAttribute('disabled')\n ) {\n this.parentElement?.setAttribute('disabled', '');\n }\n }\n\n protected _renderTooltipContent() {\n return html`\n <cds-custom-tooltip-content>\n <slot name=\"tooltip-content\"></slot>\n </cds-custom-tooltip-content>\n `;\n }\n\n shouldUpdate(changedProperties) {\n if (changedProperties.has('selected') || changedProperties.has('target')) {\n const { selected, target } = this;\n if (target) {\n const doc = this.getRootNode() as HTMLDocument;\n // `doc` can be an element if such element is orphaned\n const targetNode = doc?.getElementById(target);\n targetNode?.toggleAttribute('hidden', !selected);\n }\n }\n return true;\n }\n\n render() {\n const { disabled, selected, target } = this;\n const className = classMap({\n [`${prefix}--content-switcher-btn`]: true,\n [`${prefix}--content-switcher--selected`]: selected,\n });\n const switcherItem = html`<button\n type=\"button\"\n role=\"tab\"\n class=\"${className}\"\n ?disabled=\"${disabled}\"\n tabindex=\"${selected ? '0' : '-1'}\"\n aria-controls=\"${ifDefined(target)}\"\n aria-selected=\"${selected}\">\n <span class=\"${prefix}--content-switcher__label\"><slot></slot></span>\n </button>`;\n\n if (this.icon) {\n const { align, closeOnActivation, enterDelayMs, leaveDelayMs } = this;\n return html`<cds-custom-tooltip\n align=${align}\n close-on-activation=\"${closeOnActivation}\"\n enter-delay-ms=${enterDelayMs}\n leave-delay-ms=${leaveDelayMs}>\n ${switcherItem} ${this._renderTooltipContent()}\n </cds-custom-tooltip>`;\n }\n return switcherItem;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSContentSwitcherItem;\n"],"names":["customElement"],"mappings":"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"}