@carbon/web-components 2.61.0 → 2.62.0-rc.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 (241) hide show
  1. package/custom-elements.json +455 -13
  2. package/es/components/action-set/action-set.d.ts +107 -0
  3. package/es/components/action-set/action-set.d.ts.map +1 -0
  4. package/es/components/action-set/action-set.js +269 -0
  5. package/es/components/action-set/action-set.js.map +1 -0
  6. package/es/components/action-set/action-set.scss.js +14 -0
  7. package/es/components/action-set/action-set.scss.js.map +1 -0
  8. package/es/components/action-set/index.d.ts +9 -0
  9. package/es/components/action-set/index.d.ts.map +1 -0
  10. package/es/components/action-set/index.js +8 -0
  11. package/es/components/button/button.d.ts.map +1 -1
  12. package/es/components/button/button.js +7 -2
  13. package/es/components/button/button.js.map +1 -1
  14. package/es/components/data-table/data-table.scss.js +1 -1
  15. package/es/components/date-picker/next/components/date-picker.scss.js +1 -1
  16. package/es/components/file-uploader/file-uploader.scss.js +1 -1
  17. package/es/components/fluid-date-picker/fluid-date-picker.scss.js +1 -1
  18. package/es/components/resizer/defs.d.ts +73 -0
  19. package/es/components/resizer/defs.d.ts.map +1 -0
  20. package/es/components/resizer/defs.js +97 -0
  21. package/es/components/resizer/defs.js.map +1 -0
  22. package/es/components/resizer/index.d.ts +11 -0
  23. package/es/components/resizer/index.d.ts.map +1 -0
  24. package/es/components/resizer/index.js +11 -0
  25. package/es/components/resizer/resizer-grid.d.ts +22 -0
  26. package/es/components/resizer/resizer-grid.d.ts.map +1 -0
  27. package/es/components/resizer/resizer-grid.js +44 -0
  28. package/es/components/resizer/resizer-grid.js.map +1 -0
  29. package/es/components/resizer/resizer-grid.scss.js +14 -0
  30. package/es/components/resizer/resizer-grid.scss.js.map +1 -0
  31. package/es/components/resizer/resizer-handle-pivot.d.ts +31 -0
  32. package/es/components/resizer/resizer-handle-pivot.d.ts.map +1 -0
  33. package/es/components/resizer/resizer-handle-pivot.js +93 -0
  34. package/es/components/resizer/resizer-handle-pivot.js.map +1 -0
  35. package/es/components/resizer/resizer-handle-pivot.scss.js +14 -0
  36. package/es/components/resizer/resizer-handle-pivot.scss.js.map +1 -0
  37. package/es/components/resizer/resizer-handle.d.ts +64 -0
  38. package/es/components/resizer/resizer-handle.d.ts.map +1 -0
  39. package/es/components/resizer/resizer-handle.js +350 -0
  40. package/es/components/resizer/resizer-handle.js.map +1 -0
  41. package/es/components/resizer/resizer-handle.scss.js +14 -0
  42. package/es/components/resizer/resizer-handle.scss.js.map +1 -0
  43. package/es/components/resizer/resizer-panel.d.ts +22 -0
  44. package/es/components/resizer/resizer-panel.d.ts.map +1 -0
  45. package/es/components/resizer/resizer-panel.js +37 -0
  46. package/es/components/resizer/resizer-panel.js.map +1 -0
  47. package/es/components/resizer/resizer-panel.scss.js +14 -0
  48. package/es/components/resizer/resizer-panel.scss.js.map +1 -0
  49. package/es/components/side-panel/_story-assets/index.d.ts +9 -0
  50. package/es/components/side-panel/_story-assets/index.d.ts.map +1 -0
  51. package/es/components/side-panel/_story-assets/index.js +246 -0
  52. package/es/components/side-panel/_story-assets/index.js.map +1 -0
  53. package/es/components/side-panel/defs.d.ts +7 -1
  54. package/es/components/side-panel/defs.d.ts.map +1 -1
  55. package/es/components/side-panel/defs.js +7 -1
  56. package/es/components/side-panel/defs.js.map +1 -1
  57. package/es/components/side-panel/index.d.ts +3 -1
  58. package/es/components/side-panel/index.d.ts.map +1 -1
  59. package/es/components/side-panel/index.js +12 -0
  60. package/es/components/side-panel/index.js.map +1 -0
  61. package/es/components/side-panel/side-panel.d.ts +60 -22
  62. package/es/components/side-panel/side-panel.d.ts.map +1 -1
  63. package/es/components/side-panel/side-panel.js +268 -126
  64. package/es/components/side-panel/side-panel.js.map +1 -1
  65. package/es/components/side-panel/side-panel.scss.js +14 -0
  66. package/es/components/side-panel/side-panel.scss.js.map +1 -0
  67. package/es/components/side-panel/story-styles.scss.js +14 -0
  68. package/es/components/side-panel/story-styles.scss.js.map +1 -0
  69. package/es/components/slider/slider.d.ts +14 -0
  70. package/es/components/slider/slider.d.ts.map +1 -1
  71. package/es/components/slider/slider.js +40 -5
  72. package/es/components/slider/slider.js.map +1 -1
  73. package/es/components/slider/slider.scss.js +1 -1
  74. package/es/components/tabs/tab.d.ts.map +1 -1
  75. package/es/components/tabs/tab.js +4 -1
  76. package/es/components/tabs/tab.js.map +1 -1
  77. package/es/components/tabs/tabs.scss.js +1 -1
  78. package/es/components/tabs/tabs.scss.js.map +1 -1
  79. package/es/components/textarea/textarea.scss.js +1 -1
  80. package/es/components/textarea/textarea.scss.js.map +1 -1
  81. package/es/components/truncated-text/index.d.ts +8 -0
  82. package/es/components/truncated-text/index.d.ts.map +1 -0
  83. package/es/components/truncated-text/index.js +8 -0
  84. package/es/components/truncated-text/truncated-text.d.ts +77 -0
  85. package/es/components/truncated-text/truncated-text.d.ts.map +1 -0
  86. package/es/components/truncated-text/truncated-text.js +216 -0
  87. package/es/components/truncated-text/truncated-text.js.map +1 -0
  88. package/es/components/truncated-text/truncated-text.scss.js +14 -0
  89. package/es/components/truncated-text/truncated-text.scss.js.map +1 -0
  90. package/es/globals/internal/icon-loader-utils.d.ts +2 -2
  91. package/es/globals/internal/icon-loader-utils.d.ts.map +1 -1
  92. package/es/globals/internal/icon-loader-utils.js +1 -1
  93. package/es/globals/internal/icon-loader-utils.js.map +1 -1
  94. package/es/index.d.ts.map +1 -1
  95. package/es-custom/components/action-set/action-set.d.ts +107 -0
  96. package/es-custom/components/action-set/action-set.d.ts.map +1 -0
  97. package/es-custom/components/action-set/action-set.js +269 -0
  98. package/es-custom/components/action-set/action-set.js.map +1 -0
  99. package/es-custom/components/action-set/action-set.scss.js +14 -0
  100. package/es-custom/components/action-set/action-set.scss.js.map +1 -0
  101. package/es-custom/components/action-set/index.d.ts +9 -0
  102. package/es-custom/components/action-set/index.d.ts.map +1 -0
  103. package/es-custom/components/action-set/index.js +8 -0
  104. package/es-custom/components/button/button.d.ts.map +1 -1
  105. package/es-custom/components/button/button.js +7 -2
  106. package/es-custom/components/button/button.js.map +1 -1
  107. package/es-custom/components/data-table/data-table.scss.js +1 -1
  108. package/es-custom/components/date-picker/next/components/date-picker.scss.js +1 -1
  109. package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
  110. package/es-custom/components/fluid-date-picker/fluid-date-picker.scss.js +1 -1
  111. package/es-custom/components/resizer/defs.d.ts +73 -0
  112. package/es-custom/components/resizer/defs.d.ts.map +1 -0
  113. package/es-custom/components/resizer/defs.js +97 -0
  114. package/es-custom/components/resizer/defs.js.map +1 -0
  115. package/es-custom/components/resizer/index.d.ts +11 -0
  116. package/es-custom/components/resizer/index.d.ts.map +1 -0
  117. package/es-custom/components/resizer/index.js +11 -0
  118. package/es-custom/components/resizer/resizer-grid.d.ts +22 -0
  119. package/es-custom/components/resizer/resizer-grid.d.ts.map +1 -0
  120. package/es-custom/components/resizer/resizer-grid.js +44 -0
  121. package/es-custom/components/resizer/resizer-grid.js.map +1 -0
  122. package/es-custom/components/resizer/resizer-grid.scss.js +14 -0
  123. package/es-custom/components/resizer/resizer-grid.scss.js.map +1 -0
  124. package/es-custom/components/resizer/resizer-handle-pivot.d.ts +31 -0
  125. package/es-custom/components/resizer/resizer-handle-pivot.d.ts.map +1 -0
  126. package/es-custom/components/resizer/resizer-handle-pivot.js +93 -0
  127. package/es-custom/components/resizer/resizer-handle-pivot.js.map +1 -0
  128. package/es-custom/components/resizer/resizer-handle-pivot.scss.js +14 -0
  129. package/es-custom/components/resizer/resizer-handle-pivot.scss.js.map +1 -0
  130. package/es-custom/components/resizer/resizer-handle.d.ts +64 -0
  131. package/es-custom/components/resizer/resizer-handle.d.ts.map +1 -0
  132. package/es-custom/components/resizer/resizer-handle.js +350 -0
  133. package/es-custom/components/resizer/resizer-handle.js.map +1 -0
  134. package/es-custom/components/resizer/resizer-handle.scss.js +14 -0
  135. package/es-custom/components/resizer/resizer-handle.scss.js.map +1 -0
  136. package/es-custom/components/resizer/resizer-panel.d.ts +22 -0
  137. package/es-custom/components/resizer/resizer-panel.d.ts.map +1 -0
  138. package/es-custom/components/resizer/resizer-panel.js +37 -0
  139. package/es-custom/components/resizer/resizer-panel.js.map +1 -0
  140. package/es-custom/components/resizer/resizer-panel.scss.js +14 -0
  141. package/es-custom/components/resizer/resizer-panel.scss.js.map +1 -0
  142. package/es-custom/components/side-panel/_story-assets/index.d.ts +9 -0
  143. package/es-custom/components/side-panel/_story-assets/index.d.ts.map +1 -0
  144. package/es-custom/components/side-panel/_story-assets/index.js +246 -0
  145. package/es-custom/components/side-panel/_story-assets/index.js.map +1 -0
  146. package/es-custom/components/side-panel/defs.d.ts +7 -1
  147. package/es-custom/components/side-panel/defs.d.ts.map +1 -1
  148. package/es-custom/components/side-panel/defs.js +7 -1
  149. package/es-custom/components/side-panel/defs.js.map +1 -1
  150. package/es-custom/components/side-panel/index.d.ts +3 -1
  151. package/es-custom/components/side-panel/index.d.ts.map +1 -1
  152. package/es-custom/components/side-panel/index.js +12 -0
  153. package/es-custom/components/side-panel/index.js.map +1 -0
  154. package/es-custom/components/side-panel/side-panel.d.ts +60 -22
  155. package/es-custom/components/side-panel/side-panel.d.ts.map +1 -1
  156. package/es-custom/components/side-panel/side-panel.js +268 -126
  157. package/es-custom/components/side-panel/side-panel.js.map +1 -1
  158. package/es-custom/components/side-panel/side-panel.scss.js +14 -0
  159. package/es-custom/components/side-panel/side-panel.scss.js.map +1 -0
  160. package/es-custom/components/side-panel/story-styles.scss.js +14 -0
  161. package/es-custom/components/side-panel/story-styles.scss.js.map +1 -0
  162. package/es-custom/components/slider/slider.d.ts +14 -0
  163. package/es-custom/components/slider/slider.d.ts.map +1 -1
  164. package/es-custom/components/slider/slider.js +40 -5
  165. package/es-custom/components/slider/slider.js.map +1 -1
  166. package/es-custom/components/slider/slider.scss.js +1 -1
  167. package/es-custom/components/tabs/tab.d.ts.map +1 -1
  168. package/es-custom/components/tabs/tab.js +4 -1
  169. package/es-custom/components/tabs/tab.js.map +1 -1
  170. package/es-custom/components/tabs/tabs.scss.js +1 -1
  171. package/es-custom/components/tabs/tabs.scss.js.map +1 -1
  172. package/es-custom/components/textarea/textarea.scss.js +1 -1
  173. package/es-custom/components/textarea/textarea.scss.js.map +1 -1
  174. package/es-custom/components/truncated-text/index.d.ts +8 -0
  175. package/es-custom/components/truncated-text/index.d.ts.map +1 -0
  176. package/es-custom/components/truncated-text/index.js +8 -0
  177. package/es-custom/components/truncated-text/truncated-text.d.ts +77 -0
  178. package/es-custom/components/truncated-text/truncated-text.d.ts.map +1 -0
  179. package/es-custom/components/truncated-text/truncated-text.js +216 -0
  180. package/es-custom/components/truncated-text/truncated-text.js.map +1 -0
  181. package/es-custom/components/truncated-text/truncated-text.scss.js +14 -0
  182. package/es-custom/components/truncated-text/truncated-text.scss.js.map +1 -0
  183. package/es-custom/globals/internal/icon-loader-utils.d.ts +2 -2
  184. package/es-custom/globals/internal/icon-loader-utils.d.ts.map +1 -1
  185. package/es-custom/globals/internal/icon-loader-utils.js +1 -1
  186. package/es-custom/globals/internal/icon-loader-utils.js.map +1 -1
  187. package/es-custom/index.d.ts.map +1 -1
  188. package/lib/components/action-set/action-set.d.ts +107 -0
  189. package/lib/components/action-set/action-set.d.ts.map +1 -0
  190. package/lib/components/action-set/index.d.ts +9 -0
  191. package/lib/components/action-set/index.d.ts.map +1 -0
  192. package/lib/components/button/button.d.ts.map +1 -1
  193. package/lib/components/resizer/defs.d.ts +73 -0
  194. package/lib/components/resizer/defs.d.ts.map +1 -0
  195. package/lib/components/resizer/defs.js +112 -0
  196. package/lib/components/resizer/defs.js.map +1 -0
  197. package/lib/components/resizer/index.d.ts +11 -0
  198. package/lib/components/resizer/index.d.ts.map +1 -0
  199. package/lib/components/resizer/resizer-grid.d.ts +22 -0
  200. package/lib/components/resizer/resizer-grid.d.ts.map +1 -0
  201. package/lib/components/resizer/resizer-handle-pivot.d.ts +31 -0
  202. package/lib/components/resizer/resizer-handle-pivot.d.ts.map +1 -0
  203. package/lib/components/resizer/resizer-handle.d.ts +64 -0
  204. package/lib/components/resizer/resizer-handle.d.ts.map +1 -0
  205. package/lib/components/resizer/resizer-panel.d.ts +22 -0
  206. package/lib/components/resizer/resizer-panel.d.ts.map +1 -0
  207. package/lib/components/side-panel/_story-assets/index.d.ts +9 -0
  208. package/lib/components/side-panel/_story-assets/index.d.ts.map +1 -0
  209. package/lib/components/side-panel/defs.d.ts +7 -1
  210. package/lib/components/side-panel/defs.d.ts.map +1 -1
  211. package/lib/components/side-panel/defs.js +7 -1
  212. package/lib/components/side-panel/defs.js.map +1 -1
  213. package/lib/components/side-panel/index.d.ts +3 -1
  214. package/lib/components/side-panel/index.d.ts.map +1 -1
  215. package/lib/components/side-panel/side-panel.d.ts +60 -22
  216. package/lib/components/side-panel/side-panel.d.ts.map +1 -1
  217. package/lib/components/slider/slider.d.ts +14 -0
  218. package/lib/components/slider/slider.d.ts.map +1 -1
  219. package/lib/components/tabs/tab.d.ts.map +1 -1
  220. package/lib/components/truncated-text/index.d.ts +8 -0
  221. package/lib/components/truncated-text/index.d.ts.map +1 -0
  222. package/lib/components/truncated-text/truncated-text.d.ts +77 -0
  223. package/lib/components/truncated-text/truncated-text.d.ts.map +1 -0
  224. package/lib/globals/internal/icon-loader-utils.d.ts +2 -2
  225. package/lib/globals/internal/icon-loader-utils.d.ts.map +1 -1
  226. package/lib/index.d.ts.map +1 -1
  227. package/package.json +7 -7
  228. package/scss/components/action-set/action-set.scss +93 -0
  229. package/scss/components/data-table/_table-core.scss +73 -20
  230. package/scss/components/data-table/_table-selection.scss +31 -14
  231. package/scss/components/resizer/resizer-grid.scss +34 -0
  232. package/scss/components/resizer/resizer-handle-pivot.scss +39 -0
  233. package/scss/components/resizer/resizer-handle.scss +127 -0
  234. package/scss/components/resizer/resizer-panel.scss +10 -0
  235. package/scss/components/side-panel/side-panel.scss +363 -0
  236. package/scss/components/side-panel/story-styles.scss +51 -0
  237. package/scss/components/tabs/tabs.scss +4 -0
  238. package/scss/components/textarea/textarea.scss +6 -0
  239. package/scss/components/truncated-text/truncated-text-story.scss +14 -0
  240. package/scss/components/truncated-text/truncated-text.scss +122 -0
  241. package/telemetry.yml +26 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.scss.js","names":[],"sources":["../../../src/components/tabs/tabs.scss?lit"],"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\n@use '@carbon/styles/scss/config' as *;\n@use '@carbon/styles/scss/theme' as *;\n@use '@carbon/styles/scss/utilities' as *;\n@use '@carbon/styles/scss/breakpoint' as *;\n@use '@carbon/styles/scss/spacing' as *;\n@use '@carbon/styles/scss/motion' as *;\n@use '@carbon/styles/scss/type' as *;\n@use '@carbon/styles/scss/components/button/index' as *;\n@use '@carbon/styles/scss/components/tabs/index';\n@use '@carbon/styles/scss/components/tabs/vars' as *;\n@use '@carbon/styles/scss/utilities/button-reset';\n@use '@carbon/styles/scss/utilities/layout' as *;\n@use '@carbon/styles/scss/utilities/layout';\n@use '@carbon/styles/scss/utilities/convert';\n@use '@carbon/styles/scss/utilities/skeleton' as *;\n@use '@carbon/styles/scss/utilities/update_fields_on_layer' as *;\n\n@include emit-layout-context-classes();\n@include emit-layout-context-classes('density');\n\n$inset-transition: inset 110ms motion(standard, productive);\n\n:host(#{$prefix}-tabs),\n:host(#{$prefix}-tabs-skeleton) {\n @extend .#{$prefix}--tabs;\n @include emit-layout-tokens();\n\n .#{$prefix}--tabs-nav-content-container {\n position: relative;\n overflow: scroll;\n flex: 1 1 0%;\n // for some reason, overflow: hidden shrinks the content\n block-size: layout.size('height');\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n /* Set to zero-specificity so it can be overridden by dynamic stylesheet */\n :where(.#{$prefix}--tabs-nav-content) {\n position: absolute;\n block-size: 100%;\n inset-inline-start: 0;\n transition: $inset-transition;\n }\n\n .#{$prefix}--tabs-nav {\n position: absolute;\n display: block;\n }\n\n .#{$prefix}--tab--overflow-nav-button {\n z-index: 1;\n }\n\n .#{$prefix}--tab--overflow-nav-button {\n background-color: var(--tabs-overflow-button-background, $background);\n }\n\n .#{$prefix}--tab--overflow-nav-button--hidden {\n display: none;\n }\n}\n\n:host(#{$prefix}-tabs) {\n @include focus-outline('reset');\n\n .#{$prefix}--tabs-trigger svg {\n block-size: auto;\n inline-size: auto;\n }\n}\n\n:host(#{$prefix}-tabs:focus) {\n .#{$prefix}--tabs-trigger {\n @include focus-outline('outline');\n }\n}\n\n:host(#{$prefix}-tabs[size='sm']) {\n @extend .#{$prefix}--layout--size-sm;\n}\n\n:host(#{$prefix}-tabs[size='md']) {\n @extend .#{$prefix}--layout--size-md;\n}\n\n:host(#{$prefix}-tabs[type='contained'][size='lg']),\n:host(#{$prefix}-tabs[vertical][size='lg']) {\n @extend .#{$prefix}--layout--size-lg;\n}\n\n:host(#{$prefix}-tabs[icon-size='default'])\n .#{$prefix}--tabs-nav-content-container,\n:host(#{$prefix}-tabs.#{$prefix}--tabs__icon--default)\n .#{$prefix}--tabs-nav-content-container {\n overflow: visible;\n block-size: layout.size('height');\n}\n\n:host(#{$prefix}-tabs[icon-size='lg']) .#{$prefix}--tabs-nav-content-container,\n:host(#{$prefix}-tabs.#{$prefix}--tabs__icon--lg)\n .#{$prefix}--tabs-nav-content-container {\n overflow: visible;\n block-size: $spacing-09;\n}\n\n:host(#{$prefix}-tabs[icon-size='default']),\n:host(#{$prefix}-tabs[icon-size='lg']),\n:host(#{$prefix}-tabs.#{$prefix}--tabs__icon--default),\n:host(#{$prefix}-tabs.#{$prefix}--tabs__icon--lg) {\n overflow: visible;\n\n .#{$prefix}--tab--list {\n overflow: visible;\n }\n}\n\n:host(#{$prefix}-tabs[type='contained']) {\n .#{$prefix}--tab--overflow-nav-button {\n background-color: $layer-accent;\n inline-size: $spacing-09;\n\n &:hover {\n background-color: $layer-accent-hover;\n }\n\n &:active {\n background-color: $layer-accent-active;\n }\n }\n}\n\n:host(#{$prefix}-tabs[type='contained'][has-secondary-labels])\n .#{$prefix}--tabs-nav-content-container {\n block-size: $spacing-10;\n}\n\n:host(#{$prefix}-tabs[type='contained'][has-secondary-labels]) #{$prefix}-tab {\n block-size: $spacing-10;\n}\n\n:host(#{$prefix}-tab[type='contained'][secondary-label]) {\n block-size: $spacing-10;\n\n a.#{$prefix}--tabs__nav-link {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0 $spacing-05;\n block-size: $spacing-10;\n line-height: normal;\n }\n\n .#{$prefix}--tabs__nav-item-label-wrapper {\n flex-direction: row;\n align-items: center;\n }\n\n .#{$prefix}--tabs__nav-item-label {\n line-height: var(--cds-body-compact-01-line-height);\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][secondary-label][selected]),\n:host(#{$prefix}-tab[type='contained'][secondary-label][selected]:hover) {\n a.#{$prefix}--tabs__nav-link {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0 $spacing-05;\n line-height: normal;\n }\n}\n\n:host(#{$prefix}-tab[type='contained']) {\n .#{$prefix}--tabs__nav-item-secondary-label {\n @include type-style('label-01');\n\n display: block;\n overflow: hidden;\n color: $text-secondary;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][selected]) {\n .#{$prefix}--tabs__nav-item-secondary-label {\n color: $text-primary;\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][disabled]) {\n .#{$prefix}--tabs__nav-item-secondary-label {\n color: $text-on-color-disabled;\n }\n}\n\n:host(#{$prefix}-tabs[type='contained'][full-width]) {\n display: flex;\n inline-size: 100%;\n\n .#{$prefix}--tabs-nav-content-container {\n overflow: visible;\n flex: 1 1 0%;\n }\n\n .#{$prefix}--tabs-nav-content,\n .#{$prefix}--tabs-nav,\n .#{$prefix}--tab--list {\n inline-size: 100%;\n }\n\n .#{$prefix}--tab--list {\n display: flex;\n }\n}\n\n:host(#{$prefix}-tabs[type='contained'][full-width]) #{$prefix}-tab {\n flex: 1 1 0%;\n min-inline-size: 0;\n\n .#{$prefix}--tabs__nav-link {\n overflow: hidden;\n inline-size: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n:host(#{$prefix}-tab),\n:host(#{$prefix}-tab-skeleton) {\n @include layout.use('size', $default: 'md', $min: 'sm', $max: 'lg');\n\n display: flex;\n background: transparent;\n inline-size: 100%;\n\n .#{$prefix}--tabs__nav-item-label-wrapper {\n display: flex;\n align-items: inherit;\n gap: $spacing-03;\n }\n\n .#{$prefix}--tabs__nav-link {\n @include button-reset.reset($width: false);\n @include focus-outline('reset');\n @include type-style('body-compact-01');\n\n position: relative;\n overflow: hidden;\n\n align-items: center;\n padding: $spacing-04 $spacing-05 $spacing-03;\n border-block-end: $tab-underline-color;\n color: $text-secondary;\n inline-size: 100%;\n text-align: start;\n text-decoration: none;\n text-overflow: ellipsis;\n transition:\n border $duration-fast-01 motion(standard, productive),\n outline $duration-fast-01 motion(standard, productive);\n white-space: nowrap;\n\n &:focus,\n &:active {\n @include focus-outline('outline');\n }\n }\n\n outline: none;\n}\n\n:host(#{$prefix}-tab:not([type='contained']):not([vertical])) {\n margin-inline-end: convert.to-rem(1px);\n}\n:host(#{$prefix}-tab:not([type='contained'])) {\n .#{$prefix}--tabs__nav-link {\n display: flex;\n align-items: center;\n block-size: layout.size('height');\n padding-block: 0;\n }\n}\n\n:host(#{$prefix}-tab:not([type='contained']):not([vertical]):last-of-type) {\n margin-inline-end: 0;\n}\n:host(#{$prefix}-tab:not([type='contained']))\n + :host(#{$prefix}-tab:not([type='contained'])) {\n margin-inline-start: convert.to-rem(1px);\n}\n:host(#{$prefix}-tab[vertical]) {\n .#{$prefix}--tabs__nav-link {\n padding-block-end: $spacing-03;\n padding-block-start: $spacing-03;\n }\n}\n\n:host(#{$prefix}-tab[badge-indicator][icon-only]:not([icon-size='lg']))\n #{$prefix}-badge-indicator,\n:host(\n #{$prefix}-tab[badge-indicator].#{$prefix}--tabs__nav-item--icon-only:not(\n .#{$prefix}--tabs__nav-item--icon-only__20\n )\n )\n #{$prefix}-badge-indicator {\n margin-block-start: $spacing-02;\n margin-inline-end: $spacing-02;\n}\n\n:host(#{$prefix}-tab[icon-only]),\n:host(#{$prefix}-tab.#{$prefix}--tabs__nav-item--icon-only) {\n flex: 0 0 auto;\n block-size: layout.size('height');\n inline-size: layout.size('height');\n\n .#{$prefix}--tabs__nav-item-label-wrapper {\n display: flex;\n }\n\n #{$prefix}-tooltip {\n display: block;\n block-size: 100%;\n inline-size: 100%;\n --#{$prefix}-tooltip-padding-block: #{convert.to-rem(2px)};\n --#{$prefix}-popover-caret-width: #{convert.to-rem(8px)};\n --#{$prefix}-popover-caret-height: #{convert.to-rem(4px)};\n --#{$prefix}-popover-offset: #{convert.to-rem(8px)};\n }\n\n #{$prefix}-tooltip::part(popover-container) {\n display: block;\n block-size: 100%;\n inline-size: 100%;\n }\n\n .#{$prefix}--tabs__nav-link {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n block-size: 100%;\n inline-size: 100%;\n }\n\n ::slotted(svg) {\n display: block;\n fill: currentColor;\n }\n}\n\n:host(#{$prefix}-tab[icon-only]:not([type='contained'])),\n:host(\n #{$prefix}-tab.#{$prefix}--tabs__nav-item--icon-only:not([type='contained'])\n ) {\n .#{$prefix}--tabs__nav-item-label-wrapper {\n position: relative;\n inset-block-start: convert.to-rem(1px);\n }\n}\n\n:host(#{$prefix}-tab[icon-only][icon-size='lg']),\n:host(#{$prefix}-tab.#{$prefix}--tabs__nav-item--icon-only__20) {\n block-size: $spacing-09;\n inline-size: $spacing-09;\n}\n\n:host(#{$prefix}-tab[selected]) {\n .#{$prefix}--tabs__nav-link {\n @include type-style('heading-compact-01');\n\n border-block-end: $spacing-01 solid $border-interactive;\n\n &,\n // Need to override Carbon core's non-selected focus color\n &:focus,\n &:active {\n color: $text-primary;\n }\n }\n\n display: flex;\n background-color: transparent;\n transition: color $duration-fast-01 motion(standard, productive);\n\n &:hover {\n background-color: transparent;\n }\n}\n\n:host(\n #{$prefix}-tab:not([type='contained']):hover:not([selected]):not(\n [disabled]\n ):not([vertical])\n ) {\n background-color: transparent;\n\n a.#{$prefix}--tabs__nav-link {\n border-block-end: $tab-underline-color-hover;\n color: $text-primary;\n }\n}\n\n:host(#{$prefix}-tab[icon-only]:hover),\n:host(#{$prefix}-tab.#{$prefix}--tabs__nav-item--icon-only:hover) {\n box-shadow: none;\n}\n\n:host(#{$prefix}-tabs[type='contained'])\n .#{$prefix}--tabs-nav-content-container {\n block-size: layout.size('height');\n}\n\n:host(#{$prefix}-tab[type='contained']) {\n background-color: $layer-accent-01;\n\n a.#{$prefix}--tabs__nav-link {\n padding: $spacing-03 $spacing-05;\n block-size: layout.size('height');\n // height - vertical padding\n line-height: calc(#{layout.size('height')} - (#{$spacing-03} * 2));\n }\n}\n\n:host(#{$prefix}-tab[type='contained']),\n:host(#{$prefix}-tab[type='contained']:hover) {\n a.#{$prefix}--tabs__nav-link {\n border-block-end: none;\n // Draws the border without affecting the inner-content\n box-shadow: rem(-1px) 0 0 0 $border-strong;\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][hide-divider])\n a.#{$prefix}--tabs__nav-link {\n box-shadow: rem(-1px) 0 0 0 transparent;\n}\n\n// `[role]` is only for specificity.\n// We have `:not()` usage in the corresponding Carbon core style\n// which puts specificity of \"specific\" scenario though the style is for \"regular\" scenario\n:host(#{$prefix}-tab[disabled][role]),\n:host(#{$prefix}-tab[disabled][role]:hover) {\n background-color: transparent;\n box-shadow: none;\n cursor: not-allowed;\n outline: none;\n\n .#{$prefix}--tabs__nav-link {\n border-block-end: $tab-underline-color;\n color: $tab-text-disabled;\n outline: none;\n pointer-events: none;\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][disabled][role])\n .#{$prefix}--tabs__nav-link {\n background-color: $button-disabled;\n border-block-end: none;\n color: $text-on-color-disabled;\n}\n\n:host(#{$prefix}-tab[type='contained'][selected]),\n:host(#{$prefix}-tab[type='contained'][selected]:hover) {\n background-color: $layer-01;\n\n .#{$prefix}--tabs__nav-link {\n border-block-end: none;\n // Draws the border without affecting the inner-content\n box-shadow: inset 0 $spacing-01 0 0 $interactive;\n // height - vertical padding\n line-height: calc(#{layout.size('height')} - (#{$spacing-03} * 2));\n }\n\n .#{$prefix}--tabs__nav-link:focus,\n .#{$prefix}--tabs__nav-link:active {\n box-shadow: none;\n }\n}\n\n:host(#{$prefix}-tab[type='contained']:hover) {\n background-color: $layer-accent-01;\n}\n:host(#{$prefix}-tab[type='contained']) {\n .#{$prefix}--tabs__nav-link:hover {\n background-color: $layer-accent-hover;\n }\n}\n\n// Disabled tab never gets selected, but we guard for manual addition of `selected` attribute\n:host(#{$prefix}-tab[disabled][selected]),\n:host(#{$prefix}-tab[disabled][selected]:hover),\n:host(#{$prefix}-tab[disabled][in-focus][selected]),\n:host(#{$prefix}-tab[disabled][in-focus][selected]:hover) {\n display: flex;\n background-color: transparent;\n box-shadow: none;\n\n @include focus-outline('reset');\n\n .#{$prefix}--tabs__nav-link {\n @include type-style('body-short-01');\n\n border-block-end: $tab-underline-color;\n\n color: $tab-text-disabled;\n\n &:focus,\n &:active {\n border-block-end-width: 3px;\n }\n }\n}\n\n:host(#{$prefix}-tabs-skeleton) .#{$prefix}--tabs-trigger {\n @include skeleton;\n\n inline-size: rem(100px);\n}\n\n:host(#{$prefix}-tab-skeleton) {\n margin-inline-start: $spacing-01;\n\n .#{$prefix}--tabs__nav-link {\n @include skeleton;\n\n display: flex;\n align-items: center;\n padding: 0 layout.density('padding-inline');\n background-color: transparent;\n block-size: 100%;\n border-block-end: 2px solid $skeleton-element;\n inline-size: 10rem;\n\n &::before {\n display: none;\n content: none;\n }\n }\n\n .#{$prefix}--tabs__nav-item {\n @include reset;\n\n position: relative;\n display: flex;\n flex: 1 0 auto;\n padding: 0;\n cursor: pointer;\n transition: background-color $duration-fast-01 motion(standard, productive);\n }\n\n span {\n @include skeleton;\n\n display: block;\n block-size: convert.to-rem(14px);\n inline-size: 100%;\n }\n}\n\n:host(#{$prefix}-tab-skeleton) {\n @extend .#{$prefix}--tabs__nav-item;\n}\n\n:host(#{$prefix}-tabs-skeleton) {\n @extend .#{$prefix}--tabs;\n @extend .#{$prefix}--skeleton;\n}\n\n:host(#{$prefix}-tabs-skeleton[contained]) {\n @extend .#{$prefix}--tabs--contained;\n}\n\n:host(#{$prefix}-tab-skeleton:first-of-type) {\n margin-inline-start: 0;\n}\n\n// Windows HCM fix\n:host(#{$prefix}-tab[selected]) .#{$prefix}--tabs__nav-link {\n @include high-contrast-mode {\n background-color: SelectedItem;\n }\n}\n\n:host(#{$prefix}-tab[vertical]) .#{$prefix}--tabs__nav-link {\n display: flex;\n align-items: center;\n block-size: 100%;\n border-block-end: 1px solid $border-subtle;\n}\n\n:host(#{$prefix}-tab[vertical][selected]) .#{$prefix}--tabs__nav-link {\n border-block-end: 1px solid $border-subtle;\n}\n\n:host(#{$prefix}-tab[vertical][disabled]) .#{$prefix}--tabs__nav-link {\n border-block-end: 1px solid $border-subtle;\n}\n\n//-----------------------------\n// Vertical Tabs Wrapper\n//-----------------------------\n\n:host(#{$prefix}-tabs-vertical) {\n @include emit-layout-tokens();\n @include layout.use('density', $default: 'normal');\n\n grid-column: span 2;\n max-block-size: none;\n\n &.#{$prefix}--css-grid {\n box-shadow: inset -1px 0 $border-subtle;\n }\n\n ::slotted(#{$prefix}-tabs) {\n grid-column: span 2;\n\n @include breakpoint(lg) {\n grid-column: span 4;\n }\n }\n\n // Shadow-DOM wrapper for the panel slot — styled directly (no ::slotted needed)\n .#{$prefix}-panel-container {\n @include update_fields_on_layer;\n\n background: $layer;\n grid-column: 3 / -1;\n overflow-y: auto;\n\n @include breakpoint(lg) {\n grid-column: 5 / -1;\n }\n }\n}\n\n// Slotted tab panel divs — match React's cds--tab-content styles\n:host(#{$prefix}-tabs-vertical) ::slotted([role='tabpanel']) {\n // stylelint-disable-next-line declaration-no-important\n padding: layout.density('padding-inline') !important;\n outline: none;\n}\n\n:host(#{$prefix}-tabs-vertical)\n .panel-container\n ::slotted([role='tabpanel']:focus) {\n @include focus-outline('outline');\n}\n\n// cds-tabs when slotted inside cds-tabs-vertical (slot=\"tabs\")\n:host(#{$prefix}-tabs-vertical) ::slotted(#{$prefix}-tabs) {\n background: $layer;\n box-shadow: inset -1px 0 $border-subtle;\n max-block-size: none;\n}\n\n// Internal styles for cds-tabs when inside cds-tabs-vertical\n// These are applied via a CSS custom property / attribute set by the wrapper\n:host(#{$prefix}-tabs[vertical]) {\n // Default line-clamp for vertical tabs\n --#{$prefix}-tabs-vertical-line-clamp: 2;\n\n .#{$prefix}--tabs-nav-content-container {\n block-size: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .#{$prefix}--tabs-nav-content {\n position: relative;\n block-size: 100%;\n }\n\n .#{$prefix}--tabs-nav {\n position: relative;\n }\n\n .#{$prefix}--tab--list {\n display: flex;\n flex-direction: column;\n }\n\n .#{$prefix}--tab--overflow-nav-button {\n display: none;\n }\n}\n\n// Size-specific line-clamp overrides for vertical tabs\n:host(#{$prefix}-tabs[size='sm'][vertical]) {\n --#{$prefix}-tabs-vertical-line-clamp: 1;\n}\n\n:host(#{$prefix}-tab[vertical]) {\n flex: none;\n background-color: $layer-01;\n block-size: var(--#{$prefix}-layout-size-height, $spacing-10);\n border-inline-end: 1px solid $border-subtle;\n box-shadow: inset 3px 0 0 0 $border-subtle;\n inline-size: 100%;\n\n .#{$prefix}--tabs__nav-item-label {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--#{$prefix}-tabs-vertical-line-clamp);\n line-height: var(--cds-body-compact-01-line-height);\n text-overflow: ellipsis;\n white-space: normal;\n }\n}\n\n:host(#{$prefix}-tab[vertical][disabled]) {\n border-inline-end: 1px solid $border-subtle;\n box-shadow: inset 3px 0 0 0 $border-subtle;\n}\n\n:host(#{$prefix}-tab[vertical]:hover),\n:host(#{$prefix}-tab[vertical][disabled]:hover) {\n .#{$prefix}--tabs__nav-link {\n border-block-end: 1px solid $border-subtle;\n }\n}\n\n:host(#{$prefix}-tab[vertical][selected]) {\n border-inline: none;\n box-shadow: inset 3px 0 0 0 $border-interactive;\n}\n\n:host(#{$prefix}-tab[vertical]:not([selected]):not([disabled]):hover) {\n background-color: $layer-hover;\n box-shadow: inset 3px 0 0 0 $border-strong;\n}\n:host(#{$prefix}-tab) {\n .#{$prefix}--tabs__nav-link--dismissable {\n display: flex;\n align-items: flex-start;\n padding-inline-end: $spacing-08;\n }\n .#{$prefix}--tabs--dismissable.#{$prefix}--tabs--contained {\n padding-inline-end: calc($spacing-09 - 1px);\n }\n}\n:host(#{$prefix}-tab[type='contained']) {\n .#{$prefix}--tabs__nav-link.#{$prefix}--tabs__nav-link--dismissable {\n padding-inline-end: calc($spacing-09 - 1px);\n }\n}\n:host(#{$prefix}-tab) {\n .#{$prefix}--tabs__nav-item--close {\n position: relative;\n display: flex;\n align-items: center;\n inset-inline-start: calc(-#{$spacing-04} - 1px);\n margin-inline-start: calc(-#{$spacing-06} + 1px);\n\n &[disabled] {\n pointer-events: none;\n }\n }\n .#{$prefix}--tabs__nav-item--close--hidden {\n display: none;\n }\n .#{$prefix}--tabs__nav-item--close::part(button) {\n @include button-reset.reset();\n\n block-size: convert.to-rem(24px);\n inline-size: convert.to-rem(24px);\n padding-block: $spacing-02;\n padding-inline: $spacing-02;\n pointer-events: inherit;\n\n svg {\n block-size: convert.to-rem(16px);\n fill: $text-secondary;\n inline-size: convert.to-rem(16px);\n }\n\n svg:hover {\n fill: $icon-primary;\n }\n\n &:hover {\n background-color: $layer-hover;\n }\n\n &:focus,\n &:active {\n @include focus-outline('outline');\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"tabs.scss.js","names":[],"sources":["../../../src/components/tabs/tabs.scss?lit"],"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\n@use '@carbon/styles/scss/config' as *;\n@use '@carbon/styles/scss/theme' as *;\n@use '@carbon/styles/scss/utilities' as *;\n@use '@carbon/styles/scss/breakpoint' as *;\n@use '@carbon/styles/scss/spacing' as *;\n@use '@carbon/styles/scss/motion' as *;\n@use '@carbon/styles/scss/type' as *;\n@use '@carbon/styles/scss/components/button/index' as *;\n@use '@carbon/styles/scss/components/tabs/index';\n@use '@carbon/styles/scss/components/tabs/vars' as *;\n@use '@carbon/styles/scss/utilities/button-reset';\n@use '@carbon/styles/scss/utilities/layout' as *;\n@use '@carbon/styles/scss/utilities/layout';\n@use '@carbon/styles/scss/utilities/convert';\n@use '@carbon/styles/scss/utilities/skeleton' as *;\n@use '@carbon/styles/scss/utilities/update_fields_on_layer' as *;\n\n@include emit-layout-context-classes();\n@include emit-layout-context-classes('density');\n\n$inset-transition: inset 110ms motion(standard, productive);\n\n:host(#{$prefix}-tabs),\n:host(#{$prefix}-tabs-skeleton) {\n @extend .#{$prefix}--tabs;\n @include emit-layout-tokens();\n\n .#{$prefix}--tabs-nav-content-container {\n position: relative;\n overflow: scroll;\n flex: 1 1 0%;\n // for some reason, overflow: hidden shrinks the content\n block-size: layout.size('height');\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n /* Set to zero-specificity so it can be overridden by dynamic stylesheet */\n :where(.#{$prefix}--tabs-nav-content) {\n position: absolute;\n block-size: 100%;\n inset-inline-start: 0;\n transition: $inset-transition;\n }\n\n .#{$prefix}--tabs-nav {\n position: absolute;\n display: block;\n }\n\n .#{$prefix}--tab--overflow-nav-button {\n z-index: 1;\n }\n\n .#{$prefix}--tab--overflow-nav-button {\n background-color: var(--tabs-overflow-button-background, $background);\n }\n\n .#{$prefix}--tab--overflow-nav-button--hidden {\n display: none;\n }\n}\n\n:host(#{$prefix}-tabs) {\n @include focus-outline('reset');\n\n .#{$prefix}--tabs-trigger svg {\n block-size: auto;\n inline-size: auto;\n }\n}\n\n:host(#{$prefix}-tabs:focus) {\n .#{$prefix}--tabs-trigger {\n @include focus-outline('outline');\n }\n}\n\n:host(#{$prefix}-tabs[size='sm']) {\n @extend .#{$prefix}--layout--size-sm;\n}\n\n:host(#{$prefix}-tabs[size='md']) {\n @extend .#{$prefix}--layout--size-md;\n}\n\n:host(#{$prefix}-tabs[type='contained'][size='lg']),\n:host(#{$prefix}-tabs[vertical][size='lg']) {\n @extend .#{$prefix}--layout--size-lg;\n}\n\n:host(#{$prefix}-tabs[icon-size='default'])\n .#{$prefix}--tabs-nav-content-container,\n:host(#{$prefix}-tabs.#{$prefix}--tabs__icon--default)\n .#{$prefix}--tabs-nav-content-container {\n overflow: visible;\n block-size: layout.size('height');\n}\n\n:host(#{$prefix}-tabs[icon-size='lg']) .#{$prefix}--tabs-nav-content-container,\n:host(#{$prefix}-tabs.#{$prefix}--tabs__icon--lg)\n .#{$prefix}--tabs-nav-content-container {\n overflow: visible;\n block-size: $spacing-09;\n}\n\n:host(#{$prefix}-tabs[icon-size='default']),\n:host(#{$prefix}-tabs[icon-size='lg']),\n:host(#{$prefix}-tabs.#{$prefix}--tabs__icon--default),\n:host(#{$prefix}-tabs.#{$prefix}--tabs__icon--lg) {\n overflow: visible;\n\n .#{$prefix}--tab--list {\n overflow: visible;\n }\n}\n\n:host(#{$prefix}-tabs[type='contained']) {\n .#{$prefix}--tab--overflow-nav-button {\n background-color: $layer-accent;\n inline-size: $spacing-09;\n\n &:hover {\n background-color: $layer-accent-hover;\n }\n\n &:active {\n background-color: $layer-accent-active;\n }\n }\n}\n\n:host(#{$prefix}-tabs[type='contained'][has-secondary-labels])\n .#{$prefix}--tabs-nav-content-container {\n block-size: $spacing-10;\n}\n\n:host(#{$prefix}-tabs[type='contained'][has-secondary-labels]) #{$prefix}-tab {\n block-size: $spacing-10;\n}\n\n:host(#{$prefix}-tab[type='contained'][secondary-label]) {\n block-size: $spacing-10;\n\n a.#{$prefix}--tabs__nav-link {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0 $spacing-05;\n block-size: $spacing-10;\n line-height: normal;\n }\n\n .#{$prefix}--tabs__nav-item-label-wrapper {\n flex-direction: row;\n align-items: center;\n }\n\n .#{$prefix}--tabs__nav-item-label {\n line-height: var(--cds-body-compact-01-line-height);\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][secondary-label][selected]),\n:host(#{$prefix}-tab[type='contained'][secondary-label][selected]:hover) {\n a.#{$prefix}--tabs__nav-link {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0 $spacing-05;\n line-height: normal;\n }\n}\n\n:host(#{$prefix}-tab[type='contained']) {\n .#{$prefix}--tabs__nav-item-secondary-label {\n @include type-style('label-01');\n\n display: block;\n overflow: hidden;\n color: $text-secondary;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][selected]) {\n .#{$prefix}--tabs__nav-item-secondary-label {\n color: $text-primary;\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][disabled]) {\n .#{$prefix}--tabs__nav-item-secondary-label {\n color: $text-on-color-disabled;\n }\n}\n\n:host(#{$prefix}-tabs[type='contained'][full-width]) {\n display: flex;\n inline-size: 100%;\n\n .#{$prefix}--tabs-nav-content-container {\n overflow: visible;\n flex: 1 1 0%;\n }\n\n .#{$prefix}--tabs-nav-content,\n .#{$prefix}--tabs-nav,\n .#{$prefix}--tab--list {\n inline-size: 100%;\n }\n\n .#{$prefix}--tab--list {\n display: flex;\n }\n}\n\n:host(#{$prefix}-tabs[type='contained'][full-width]) #{$prefix}-tab {\n flex: 1 1 0%;\n min-inline-size: 0;\n\n .#{$prefix}--tabs__nav-link {\n overflow: hidden;\n inline-size: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\n:host(#{$prefix}-tab),\n:host(#{$prefix}-tab-skeleton) {\n @include layout.use('size', $default: 'md', $min: 'sm', $max: 'lg');\n\n display: flex;\n background: transparent;\n inline-size: 100%;\n\n .#{$prefix}--tabs__nav-item-label-wrapper {\n display: flex;\n align-items: inherit;\n gap: $spacing-03;\n }\n\n .#{$prefix}--tabs__nav-link {\n @include button-reset.reset($width: false);\n @include focus-outline('reset');\n @include type-style('body-compact-01');\n\n position: relative;\n overflow: hidden;\n\n align-items: center;\n padding: $spacing-04 $spacing-05 $spacing-03;\n border-block-end: $tab-underline-color;\n color: $text-secondary;\n inline-size: 100%;\n text-align: start;\n text-decoration: none;\n text-overflow: ellipsis;\n transition:\n border $duration-fast-01 motion(standard, productive),\n outline $duration-fast-01 motion(standard, productive);\n white-space: nowrap;\n\n &:focus,\n &:active {\n @include focus-outline('outline');\n }\n }\n\n outline: none;\n}\n\n:host(#{$prefix}-tab:not([type='contained']):not([vertical])) {\n margin-inline-end: convert.to-rem(1px);\n}\n:host(#{$prefix}-tab:not([type='contained'])) {\n .#{$prefix}--tabs__nav-link {\n display: flex;\n align-items: center;\n block-size: layout.size('height');\n padding-block: 0;\n }\n}\n\n:host(#{$prefix}-tab:not([type='contained']):not([vertical]):last-of-type) {\n margin-inline-end: 0;\n}\n:host(#{$prefix}-tab:not([type='contained']))\n + :host(#{$prefix}-tab:not([type='contained'])) {\n margin-inline-start: convert.to-rem(1px);\n}\n:host(#{$prefix}-tab[vertical]) {\n .#{$prefix}--tabs__nav-link {\n padding-block-end: $spacing-03;\n padding-block-start: $spacing-03;\n }\n}\n\n:host(#{$prefix}-tab[badge-indicator][icon-only]:not([icon-size='lg']))\n #{$prefix}-badge-indicator,\n:host(\n #{$prefix}-tab[badge-indicator].#{$prefix}--tabs__nav-item--icon-only:not(\n .#{$prefix}--tabs__nav-item--icon-only__20\n )\n )\n #{$prefix}-badge-indicator {\n margin-block-start: $spacing-02;\n margin-inline-end: $spacing-02;\n}\n\n:host(#{$prefix}-tab[icon-only]),\n:host(#{$prefix}-tab.#{$prefix}--tabs__nav-item--icon-only) {\n flex: 0 0 auto;\n block-size: layout.size('height');\n inline-size: layout.size('height');\n\n .#{$prefix}--tabs__nav-item-label-wrapper {\n display: flex;\n }\n\n #{$prefix}-tooltip {\n display: block;\n block-size: 100%;\n inline-size: 100%;\n --#{$prefix}-tooltip-padding-block: #{convert.to-rem(2px)};\n --#{$prefix}-popover-caret-width: #{convert.to-rem(8px)};\n --#{$prefix}-popover-caret-height: #{convert.to-rem(4px)};\n --#{$prefix}-popover-offset: #{convert.to-rem(8px)};\n }\n\n #{$prefix}-tooltip-content {\n --#{$prefix}-popover-offset: #{convert.to-rem(8px)};\n }\n\n #{$prefix}-tooltip::part(popover-container) {\n display: block;\n block-size: 100%;\n inline-size: 100%;\n }\n\n .#{$prefix}--tabs__nav-link {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n block-size: 100%;\n inline-size: 100%;\n }\n\n ::slotted(svg) {\n display: block;\n fill: currentColor;\n }\n}\n\n:host(#{$prefix}-tab[icon-only]:not([type='contained'])),\n:host(\n #{$prefix}-tab.#{$prefix}--tabs__nav-item--icon-only:not([type='contained'])\n ) {\n .#{$prefix}--tabs__nav-item-label-wrapper {\n position: relative;\n inset-block-start: convert.to-rem(1px);\n }\n}\n\n:host(#{$prefix}-tab[icon-only][icon-size='lg']),\n:host(#{$prefix}-tab.#{$prefix}--tabs__nav-item--icon-only__20) {\n block-size: $spacing-09;\n inline-size: $spacing-09;\n}\n\n:host(#{$prefix}-tab[selected]) {\n .#{$prefix}--tabs__nav-link {\n @include type-style('heading-compact-01');\n\n border-block-end: $spacing-01 solid $border-interactive;\n\n &,\n // Need to override Carbon core's non-selected focus color\n &:focus,\n &:active {\n color: $text-primary;\n }\n }\n\n display: flex;\n background-color: transparent;\n transition: color $duration-fast-01 motion(standard, productive);\n\n &:hover {\n background-color: transparent;\n }\n}\n\n:host(\n #{$prefix}-tab:not([type='contained']):hover:not([selected]):not(\n [disabled]\n ):not([vertical])\n ) {\n background-color: transparent;\n\n a.#{$prefix}--tabs__nav-link {\n border-block-end: $tab-underline-color-hover;\n color: $text-primary;\n }\n}\n\n:host(#{$prefix}-tab[icon-only]:hover),\n:host(#{$prefix}-tab.#{$prefix}--tabs__nav-item--icon-only:hover) {\n box-shadow: none;\n}\n\n:host(#{$prefix}-tabs[type='contained'])\n .#{$prefix}--tabs-nav-content-container {\n block-size: layout.size('height');\n}\n\n:host(#{$prefix}-tab[type='contained']) {\n background-color: $layer-accent-01;\n\n a.#{$prefix}--tabs__nav-link {\n padding: $spacing-03 $spacing-05;\n block-size: layout.size('height');\n // height - vertical padding\n line-height: calc(#{layout.size('height')} - (#{$spacing-03} * 2));\n }\n}\n\n:host(#{$prefix}-tab[type='contained']),\n:host(#{$prefix}-tab[type='contained']:hover) {\n a.#{$prefix}--tabs__nav-link {\n border-block-end: none;\n // Draws the border without affecting the inner-content\n box-shadow: rem(-1px) 0 0 0 $border-strong;\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][hide-divider])\n a.#{$prefix}--tabs__nav-link {\n box-shadow: rem(-1px) 0 0 0 transparent;\n}\n\n// `[role]` is only for specificity.\n// We have `:not()` usage in the corresponding Carbon core style\n// which puts specificity of \"specific\" scenario though the style is for \"regular\" scenario\n:host(#{$prefix}-tab[disabled][role]),\n:host(#{$prefix}-tab[disabled][role]:hover) {\n background-color: transparent;\n box-shadow: none;\n cursor: not-allowed;\n outline: none;\n\n .#{$prefix}--tabs__nav-link {\n border-block-end: $tab-underline-color;\n color: $tab-text-disabled;\n outline: none;\n pointer-events: none;\n }\n}\n\n:host(#{$prefix}-tab[type='contained'][disabled][role])\n .#{$prefix}--tabs__nav-link {\n background-color: $button-disabled;\n border-block-end: none;\n color: $text-on-color-disabled;\n}\n\n:host(#{$prefix}-tab[type='contained'][selected]),\n:host(#{$prefix}-tab[type='contained'][selected]:hover) {\n background-color: $layer-01;\n\n .#{$prefix}--tabs__nav-link {\n border-block-end: none;\n // Draws the border without affecting the inner-content\n box-shadow: inset 0 $spacing-01 0 0 $interactive;\n // height - vertical padding\n line-height: calc(#{layout.size('height')} - (#{$spacing-03} * 2));\n }\n\n .#{$prefix}--tabs__nav-link:focus,\n .#{$prefix}--tabs__nav-link:active {\n box-shadow: none;\n }\n}\n\n:host(#{$prefix}-tab[type='contained']:hover) {\n background-color: $layer-accent-01;\n}\n:host(#{$prefix}-tab[type='contained']) {\n .#{$prefix}--tabs__nav-link:hover {\n background-color: $layer-accent-hover;\n }\n}\n\n// Disabled tab never gets selected, but we guard for manual addition of `selected` attribute\n:host(#{$prefix}-tab[disabled][selected]),\n:host(#{$prefix}-tab[disabled][selected]:hover),\n:host(#{$prefix}-tab[disabled][in-focus][selected]),\n:host(#{$prefix}-tab[disabled][in-focus][selected]:hover) {\n display: flex;\n background-color: transparent;\n box-shadow: none;\n\n @include focus-outline('reset');\n\n .#{$prefix}--tabs__nav-link {\n @include type-style('body-short-01');\n\n border-block-end: $tab-underline-color;\n\n color: $tab-text-disabled;\n\n &:focus,\n &:active {\n border-block-end-width: 3px;\n }\n }\n}\n\n:host(#{$prefix}-tabs-skeleton) .#{$prefix}--tabs-trigger {\n @include skeleton;\n\n inline-size: rem(100px);\n}\n\n:host(#{$prefix}-tab-skeleton) {\n margin-inline-start: $spacing-01;\n\n .#{$prefix}--tabs__nav-link {\n @include skeleton;\n\n display: flex;\n align-items: center;\n padding: 0 layout.density('padding-inline');\n background-color: transparent;\n block-size: 100%;\n border-block-end: 2px solid $skeleton-element;\n inline-size: 10rem;\n\n &::before {\n display: none;\n content: none;\n }\n }\n\n .#{$prefix}--tabs__nav-item {\n @include reset;\n\n position: relative;\n display: flex;\n flex: 1 0 auto;\n padding: 0;\n cursor: pointer;\n transition: background-color $duration-fast-01 motion(standard, productive);\n }\n\n span {\n @include skeleton;\n\n display: block;\n block-size: convert.to-rem(14px);\n inline-size: 100%;\n }\n}\n\n:host(#{$prefix}-tab-skeleton) {\n @extend .#{$prefix}--tabs__nav-item;\n}\n\n:host(#{$prefix}-tabs-skeleton) {\n @extend .#{$prefix}--tabs;\n @extend .#{$prefix}--skeleton;\n}\n\n:host(#{$prefix}-tabs-skeleton[contained]) {\n @extend .#{$prefix}--tabs--contained;\n}\n\n:host(#{$prefix}-tab-skeleton:first-of-type) {\n margin-inline-start: 0;\n}\n\n// Windows HCM fix\n:host(#{$prefix}-tab[selected]) .#{$prefix}--tabs__nav-link {\n @include high-contrast-mode {\n background-color: SelectedItem;\n }\n}\n\n:host(#{$prefix}-tab[vertical]) .#{$prefix}--tabs__nav-link {\n display: flex;\n align-items: center;\n block-size: 100%;\n border-block-end: 1px solid $border-subtle;\n}\n\n:host(#{$prefix}-tab[vertical][selected]) .#{$prefix}--tabs__nav-link {\n border-block-end: 1px solid $border-subtle;\n}\n\n:host(#{$prefix}-tab[vertical][disabled]) .#{$prefix}--tabs__nav-link {\n border-block-end: 1px solid $border-subtle;\n}\n\n//-----------------------------\n// Vertical Tabs Wrapper\n//-----------------------------\n\n:host(#{$prefix}-tabs-vertical) {\n @include emit-layout-tokens();\n @include layout.use('density', $default: 'normal');\n\n grid-column: span 2;\n max-block-size: none;\n\n &.#{$prefix}--css-grid {\n box-shadow: inset -1px 0 $border-subtle;\n }\n\n ::slotted(#{$prefix}-tabs) {\n grid-column: span 2;\n\n @include breakpoint(lg) {\n grid-column: span 4;\n }\n }\n\n // Shadow-DOM wrapper for the panel slot — styled directly (no ::slotted needed)\n .#{$prefix}-panel-container {\n @include update_fields_on_layer;\n\n background: $layer;\n grid-column: 3 / -1;\n overflow-y: auto;\n\n @include breakpoint(lg) {\n grid-column: 5 / -1;\n }\n }\n}\n\n// Slotted tab panel divs — match React's cds--tab-content styles\n:host(#{$prefix}-tabs-vertical) ::slotted([role='tabpanel']) {\n // stylelint-disable-next-line declaration-no-important\n padding: layout.density('padding-inline') !important;\n outline: none;\n}\n\n:host(#{$prefix}-tabs-vertical)\n .panel-container\n ::slotted([role='tabpanel']:focus) {\n @include focus-outline('outline');\n}\n\n// cds-tabs when slotted inside cds-tabs-vertical (slot=\"tabs\")\n:host(#{$prefix}-tabs-vertical) ::slotted(#{$prefix}-tabs) {\n background: $layer;\n box-shadow: inset -1px 0 $border-subtle;\n max-block-size: none;\n}\n\n// Internal styles for cds-tabs when inside cds-tabs-vertical\n// These are applied via a CSS custom property / attribute set by the wrapper\n:host(#{$prefix}-tabs[vertical]) {\n // Default line-clamp for vertical tabs\n --#{$prefix}-tabs-vertical-line-clamp: 2;\n\n .#{$prefix}--tabs-nav-content-container {\n block-size: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .#{$prefix}--tabs-nav-content {\n position: relative;\n block-size: 100%;\n }\n\n .#{$prefix}--tabs-nav {\n position: relative;\n }\n\n .#{$prefix}--tab--list {\n display: flex;\n flex-direction: column;\n }\n\n .#{$prefix}--tab--overflow-nav-button {\n display: none;\n }\n}\n\n// Size-specific line-clamp overrides for vertical tabs\n:host(#{$prefix}-tabs[size='sm'][vertical]) {\n --#{$prefix}-tabs-vertical-line-clamp: 1;\n}\n\n:host(#{$prefix}-tab[vertical]) {\n flex: none;\n background-color: $layer-01;\n block-size: var(--#{$prefix}-layout-size-height, $spacing-10);\n border-inline-end: 1px solid $border-subtle;\n box-shadow: inset 3px 0 0 0 $border-subtle;\n inline-size: 100%;\n\n .#{$prefix}--tabs__nav-item-label {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--#{$prefix}-tabs-vertical-line-clamp);\n line-height: var(--cds-body-compact-01-line-height);\n text-overflow: ellipsis;\n white-space: normal;\n }\n}\n\n:host(#{$prefix}-tab[vertical][disabled]) {\n border-inline-end: 1px solid $border-subtle;\n box-shadow: inset 3px 0 0 0 $border-subtle;\n}\n\n:host(#{$prefix}-tab[vertical]:hover),\n:host(#{$prefix}-tab[vertical][disabled]:hover) {\n .#{$prefix}--tabs__nav-link {\n border-block-end: 1px solid $border-subtle;\n }\n}\n\n:host(#{$prefix}-tab[vertical][selected]) {\n border-inline: none;\n box-shadow: inset 3px 0 0 0 $border-interactive;\n}\n\n:host(#{$prefix}-tab[vertical]:not([selected]):not([disabled]):hover) {\n background-color: $layer-hover;\n box-shadow: inset 3px 0 0 0 $border-strong;\n}\n:host(#{$prefix}-tab) {\n .#{$prefix}--tabs__nav-link--dismissable {\n display: flex;\n align-items: flex-start;\n padding-inline-end: $spacing-08;\n }\n .#{$prefix}--tabs--dismissable.#{$prefix}--tabs--contained {\n padding-inline-end: calc($spacing-09 - 1px);\n }\n}\n:host(#{$prefix}-tab[type='contained']) {\n .#{$prefix}--tabs__nav-link.#{$prefix}--tabs__nav-link--dismissable {\n padding-inline-end: calc($spacing-09 - 1px);\n }\n}\n:host(#{$prefix}-tab) {\n .#{$prefix}--tabs__nav-item--close {\n position: relative;\n display: flex;\n align-items: center;\n inset-inline-start: calc(-#{$spacing-04} - 1px);\n margin-inline-start: calc(-#{$spacing-06} + 1px);\n\n &[disabled] {\n pointer-events: none;\n }\n }\n .#{$prefix}--tabs__nav-item--close--hidden {\n display: none;\n }\n .#{$prefix}--tabs__nav-item--close::part(button) {\n @include button-reset.reset();\n\n block-size: convert.to-rem(24px);\n inline-size: convert.to-rem(24px);\n padding-block: $spacing-02;\n padding-inline: $spacing-02;\n pointer-events: inherit;\n\n svg {\n block-size: convert.to-rem(16px);\n fill: $text-secondary;\n inline-size: convert.to-rem(16px);\n }\n\n svg:hover {\n fill: $icon-primary;\n }\n\n &:hover {\n background-color: $layer-hover;\n }\n\n &:focus,\n &:active {\n @include focus-outline('outline');\n }\n }\n}\n"],"mappings":""}
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { css } from "lit";
9
9
  //#region src/components/textarea/textarea.scss?lit
10
- var textarea_default = css([".cds--layer-one,:root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds--layer-two{--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds--layer-three{--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds--layer-one.cds--layer__with-background,.cds--layer-three.cds--layer__with-background,.cds--layer-two.cds--layer__with-background{background-color:var(--cds-layer-background)}@keyframes cds--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--cds-field) inset;-webkit-text-fill-color:var(--cds-text-primary,#161616)}.cds--fieldset{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--fieldset *,.cds--fieldset :after,.cds--fieldset :before{box-sizing:inherit}.cds--form-item{font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);line-height:var(--cds-body-compact-01-line-height,1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start}.cds--label html{font-size:100%}.cds--label body{font-weight:400;font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--label code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds--label strong{font-weight:600}.cds--label{font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);display:inline-block;color:var(--cds-text-secondary,#525252);font-weight:400;line-height:1rem;margin-block-end:.5rem;vertical-align:baseline}.cds--label,.cds--label .cds--toggletip-label{font-size:var(--cds-label-01-font-size,.75rem);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label .cds--toggletip-label{font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333)}.cds--label--no-margin{margin-block-end:0}.cds--label+.cds--tooltip{position:relative;inset-block-start:.2rem;inset-inline-start:.5rem}.cds--label+.cds--tooltip .cds--tooltip__trigger{display:inline-block;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;cursor:pointer;text-align:start;inline-size:100%;box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--label+.cds--tooltip .cds--tooltip__trigger *,.cds--label+.cds--tooltip .cds--tooltip__trigger :after,.cds--label+.cds--tooltip .cds--tooltip__trigger :before{box-sizing:inherit}.cds--label+.cds--tooltip .cds--tooltip__trigger::-moz-focus-inner{border:0}.cds--label+.cds--tooltip .cds--tooltip__trigger{display:flex;align-items:center;justify-content:center;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label+.cds--tooltip .cds--tooltip__trigger:focus{outline:1px solid var(--cds-focus,#0f62fe)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg{fill:var(--cds-icon-secondary,#525252)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg :hover{fill:var(--cds-icon-primary,#161616)}.cds--label+.cds--toggletip{inset-block-start:.2rem;inset-inline-start:.5rem}.cds--label.cds--skeleton{position:relative;padding:0;border:none;background:var(--cds-skeleton-background,#e8e8e8);box-shadow:none;pointer-events:none}.cds--label.cds--skeleton:active,.cds--label.cds--skeleton:focus,.cds--label.cds--skeleton:hover{border:none;cursor:default;outline:none}.cds--label.cds--skeleton:before{position:absolute;animation:cds--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--label.cds--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds--label.cds--skeleton{background:CanvasText}.cds--label.cds--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds--label.cds--skeleton{block-size:.875rem;inline-size:4.6875rem}input[type=number],input[type=text].cds--number{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif}.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused,.cds--combo-box--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--number[data-invalid] input[type=text]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused,.cds--combo-box--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--number[data-invalid] input[type=text]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline-style:dotted}}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper--warn~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box--warning~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--number__input-wrapper--warning~.cds--form-requirement,.cds--select--warning .cds--select-input__wrapper~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper--warn~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper--warning>.cds--text-input~.cds--form-requirement,.cds--text-input__field-wrapper--warning~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker--warning~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{display:block;overflow:visible;font-weight:400;max-block-size:12.5rem}.cds--select--inline.cds--select--warning .cds--select-input--inline__wrapper~.cds--form-requirement,.cds--select-input--inline__wrapper[data-invalid]~.cds--form-requirement{display:inline-flex;overflow:visible;margin:0;inline-size:100%;margin-block-end:0;max-block-size:100%;padding-inline-start:.5rem}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--select-input--inline__wrapper[data-invalid]~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{color:var(--cds-text-error,#da1e28)}.cds--form--fluid .cds--text-input__field-wrapper--warning,.cds--form--fluid .cds--text-input__field-wrapper[data-invalid]{display:block}.cds--form--fluid input[data-invalid]{outline:none}.cds--form--fluid .cds--form-requirement{padding:.5rem 2.5rem .5rem 1rem;margin:0}input:not(output,[data-invalid]):-moz-ui-invalid{box-shadow:none}.cds--form-requirement html{font-size:100%}.cds--form-requirement body{font-weight:400;font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--form-requirement code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds--form-requirement strong{font-weight:600}.cds--form-requirement{font-size:var(--cds-helper-text-01-font-size,.75rem);line-height:var(--cds-helper-text-01-line-height,1.33333);letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);display:none;overflow:hidden;margin:.25rem 0 0;max-block-size:0;overflow-wrap:break-word;word-break:break-word}.cds--select--inline .cds--form__helper-text{margin-block-start:0}.cds--form__helper-text{font-size:var(--cds-helper-text-01-font-size,.75rem);line-height:var(--cds-helper-text-01-line-height,1.33333);letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);z-index:0;color:var(--cds-text-helper,#6f6f6f);inline-size:100%;margin-block-start:.25rem;opacity:1}.cds--form__helper-text--disabled,.cds--label--disabled,fieldset[disabled] .cds--form__helper-text,fieldset[disabled] .cds--label{color:var(--cds-text-disabled,rgba(22,22,22,.25))}.cds--assistive-text,.cds--visually-hidden{position:absolute;overflow:hidden;padding:0;border:0;margin:-1px;block-size:1px;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.cds--text-area{box-sizing:border-box;padding:0;border:0;margin:0;font-size:100%;vertical-align:baseline}.cds--text-area *,.cds--text-area :after,.cds--text-area :before{box-sizing:inherit}.cds--text-area{font-size:var(--cds-body-01-font-size,.875rem);font-weight:var(--cds-body-01-font-weight,400);line-height:var(--cds-body-01-line-height,1.42857);letter-spacing:var(--cds-body-01-letter-spacing,.16px);outline:2px solid transparent;outline-offset:-2px;padding:.6875rem var(--cds-layout-density-padding-inline-local);border:none;background-color:var(--cds-field);block-size:100%;border-block-end:1px solid var(--cds-border-strong);color:var(--cds-text-primary,#161616);font-family:inherit;min-block-size:2.5rem;min-inline-size:10rem;resize:vertical;transition:background-color 70ms cubic-bezier(.2,0,.38,.9),outline 70ms cubic-bezier(.2,0,.38,.9)}.cds--text-area:active,.cds--text-area:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--text-area:active,.cds--text-area:focus{outline-style:dotted}}.cds--text-area::-moz-placeholder{color:var(--cds-text-placeholder,rgba(22,22,22,.4));opacity:1;font-size:var(--cds-body-01-font-size,.875rem);font-weight:var(--cds-body-01-font-weight,400);line-height:var(--cds-body-01-line-height,1.42857);letter-spacing:var(--cds-body-01-letter-spacing,.16px)}.cds--text-area::placeholder{color:var(--cds-text-placeholder,rgba(22,22,22,.4));opacity:1;font-size:var(--cds-body-01-font-size,.875rem);font-weight:var(--cds-body-01-font-weight,400);line-height:var(--cds-body-01-line-height,1.42857);letter-spacing:var(--cds-body-01-letter-spacing,.16px)}.cds--text-area--light{background-color:var(--cds-field-02,#fff)}.cds--text-area__wrapper{--cds-layout-density-padding-inline-local:clamp(var(--cds-layout-density-padding-inline-min),var(--cds-layout-density-padding-inline,var(--cds-layout-density-padding-inline-normal)),var(--cds-layout-density-padding-inline-max));position:relative;display:flex;inline-size:100%;max-inline-size:100%}.cds--text-area__wrapper--cols{inline-size:auto}.cds--text-area__invalid-icon{position:absolute;fill:var(--cds-support-error,#da1e28);inset-block-start:.75rem;inset-inline-end:var(--cds-layout-density-padding-inline-local)}.cds--text-area__invalid-icon--warning{fill:var(--cds-support-warning,#f1c21b)}.cds--text-area__invalid-icon--warning path[fill]{fill:#000;opacity:1}.cds--text-area__counter-alert{position:absolute;overflow:hidden;padding:0;border:0;margin:-1px;block-size:1px;clip:rect(0,0,0,0);inline-size:1px}.cds--form-item:has(.cds--text-area__wrapper--cols){inline-size:-moz-fit-content;inline-size:fit-content}.cds--text-area:disabled{background-color:var(--cds-field);border-block-end:1px solid transparent;color:var(--cds-text-disabled,rgba(22,22,22,.25));cursor:not-allowed;outline:none;resize:none}.cds--text-area:disabled::-moz-placeholder{color:var(--cds-text-disabled,rgba(22,22,22,.25))}.cds--text-area:disabled::placeholder{color:var(--cds-text-disabled,rgba(22,22,22,.25))}.cds--text-area__wrapper--readonly .cds--text-area{background:transparent;border-block-end-color:var(--cds-border-subtle)}.cds--text-area__wrapper--decorator .cds--text-area__inner-wrapper--decorator>*,.cds--text-area__wrapper--slug .cds--ai-label,.cds--text-area__wrapper--slug .cds--slug{position:absolute;inset-block-start:.75rem;inset-inline-end:1rem}.cds--text-area__wrapper--decorator .cds--ai-label.cds--ai-label--revert,.cds--text-area__wrapper--slug .cds--ai-label.cds--ai-label--revert,.cds--text-area__wrapper--slug .cds--slug.cds--slug--revert{inset-block-start:.25rem;inset-inline-end:.5rem;transform:translate(0)}.cds--text-area__wrapper--decorator .cds--text-area:has(~.cds--text-area__inner-wrapper--decorator .cds--ai-label):not(:has(~.cds--text-area__inner-wrapper--decorator .cds--ai-label--revert)),.cds--text-area__wrapper--slug .cds--text-area:has(~.cds--ai-label):not(:has(~.cds--ai-label--revert)),.cds--text-area__wrapper--slug .cds--text-area:has(~.cds--slug):not(:has(~.cds--slug--revert)){background-image:linear-gradient(0deg,var(--cds-ai-aura-start-sm,rgba(69,137,255,.16)) 0,15%,var(--cds-ai-aura-end,hsla(0,0%,100%,0)) 50%,transparent 100%);border-block-end-color:var(--cds-ai-border-strong,#4589ff)}.cds--text-area__wrapper--decorator .cds--text-area:has(~.cds--text-area__inner-wrapper--decorator>*),.cds--text-area__wrapper--slug .cds--text-area:has(~.cds--ai-label),.cds--text-area__wrapper--slug .cds--text-area:has(~.cds--slug){padding-inline-end:2.5rem}.cds--text-area--invalid:has(~.cds--ai-label),.cds--text-area--invalid:has(~.cds--slug),.cds--text-area--invalid:has(~.cds--text-area__inner-wrapper--decorator>*),.cds--text-area--warn:has(~.cds--ai-label),.cds--text-area--warn:has(~.cds--slug),.cds--text-area--warn:has(~.cds--text-area__inner-wrapper--decorator>*){padding-inline-end:4rem}.cds--text-area--invalid~.cds--ai-label,.cds--text-area--invalid~.cds--slug,.cds--text-area--invalid~.cds--text-area__inner-wrapper--decorator>*,.cds--text-area--warn~.cds--ai-label,.cds--text-area--warn~.cds--slug,.cds--text-area--warn~.cds--text-area__inner-wrapper--decorator>*{inset-inline-end:2.5rem}.cds--text-area--invalid~.cds--ai-label.cds--ai-label--revert,.cds--text-area--invalid~.cds--slug.cds--slug--revert,.cds--text-area--invalid~.cds--text-area__inner-wrapper--decorator>.cds--ai-label.cds--ai-label--revert,.cds--text-area--warn~.cds--ai-label.cds--ai-label--revert,.cds--text-area--warn~.cds--slug.cds--slug--revert,.cds--text-area--warn~.cds--text-area__inner-wrapper--decorator>.cds--ai-label.cds--ai-label--revert{inset-inline-end:2rem}.cds--text-area.cds--skeleton{position:relative;padding:0;border:none;background:var(--cds-skeleton-background,#e8e8e8);box-shadow:none;pointer-events:none}.cds--text-area.cds--skeleton:active,.cds--text-area.cds--skeleton:focus,.cds--text-area.cds--skeleton:hover{border:none;cursor:default;outline:none}.cds--text-area.cds--skeleton:before{position:absolute;animation:cds--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--text-area.cds--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds--text-area.cds--skeleton{background:CanvasText}.cds--text-area.cds--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds--text-area.cds--skeleton{block-size:6.25rem;inline-size:100%}.cds--text-area.cds--skeleton::-moz-placeholder{color:transparent}.cds--text-area.cds--skeleton::placeholder{color:transparent}.cds--text-area__label-wrapper{position:relative;display:flex;justify-content:space-between;inline-size:100%}:host(cds-textarea){--cds-layout-size-height-xs:1.5rem;--cds-layout-size-height-sm:2rem;--cds-layout-size-height-md:2.5rem;--cds-layout-size-height-lg:3rem;--cds-layout-size-height-xl:4rem;--cds-layout-size-height-2xl:5rem;--cds-layout-size-height-min:0px;--cds-layout-size-height-max:999999999px;--cds-layout-density-padding-inline-condensed:0.5rem;--cds-layout-density-padding-inline-normal:1rem;--cds-layout-density-padding-inline-min:0px;--cds-layout-density-padding-inline-max:999999999px;outline:none}:host(cds-textarea) ::slotted(cds-ai-label),:host(cds-textarea) ::slotted(cds-slug){position:absolute;inset-block-start:.75rem;inset-inline-end:1rem}:host(cds-textarea) ::slotted(cds-ai-label[revert-active]),:host(cds-textarea) ::slotted(cds-slug[revert-active]){inset-block-start:.25rem;inset-inline-end:.5rem;transform:translate(0)}:host(cds-textarea) textarea:not([cols]),:host(cds-textarea) textarea[cols=\"0\"],:host(cds-textarea:not([cols])),:host(cds-textarea[cols=\"0\"]){inline-size:100%}:host(cds-textarea[invalid]) .cds--text-area__wrapper--decorator .cds--text-area,:host(cds-textarea[warn]) .cds--text-area__wrapper--decorator .cds--text-area{padding-inline-end:4rem}:host(cds-textarea[invalid]) ::slotted(cds-ai-label),:host(cds-textarea[invalid]) ::slotted(cds-slug),:host(cds-textarea[warn]) ::slotted(cds-ai-label),:host(cds-textarea[warn]) ::slotted(cds-slug){inset-inline-end:2.5rem}:host(cds-textarea[invalid]) ::slotted(cds-ai-label[revert-active]),:host(cds-textarea[invalid]) ::slotted(cds-slug[revert-active]),:host(cds-textarea[warn]) ::slotted(cds-ai-label[revert-active]),:host(cds-textarea[warn]) ::slotted(cds-slug[revert-active]){inset-inline-end:2rem}:host(cds-textarea[ai-label]) .cds--text-area__wrapper--decorator{background-image:linear-gradient(0deg,var(--cds-ai-aura-start-sm,rgba(69,137,255,.16)) 0,15%,var(--cds-ai-aura-end,hsla(0,0%,100%,0)) 50%,transparent 100%);border-block-end-color:var(--cds-ai-border-strong,#4589ff)}.cds--text-area__wrapper--cols{display:inline-flex}"]);
10
+ var textarea_default = css([".cds--layer-one,:root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds--layer-two{--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds--layer-three{--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds--layer-one.cds--layer__with-background,.cds--layer-three.cds--layer__with-background,.cds--layer-two.cds--layer__with-background{background-color:var(--cds-layer-background)}@keyframes cds--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{box-shadow:0 0 0 1000px var(--cds-field) inset;-webkit-text-fill-color:var(--cds-text-primary,#161616)}.cds--fieldset{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--fieldset *,.cds--fieldset :after,.cds--fieldset :before{box-sizing:inherit}.cds--form-item{font-size:var(--cds-body-compact-01-font-size,.875rem);font-weight:var(--cds-body-compact-01-font-weight,400);line-height:var(--cds-body-compact-01-line-height,1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing,.16px);display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start}.cds--label html{font-size:100%}.cds--label body{font-weight:400;font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--label code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds--label strong{font-weight:600}.cds--label{font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);display:inline-block;color:var(--cds-text-secondary,#525252);font-weight:400;line-height:1rem;margin-block-end:.5rem;vertical-align:baseline}.cds--label,.cds--label .cds--toggletip-label{font-size:var(--cds-label-01-font-size,.75rem);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label .cds--toggletip-label{font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333)}.cds--label--no-margin{margin-block-end:0}.cds--label+.cds--tooltip{position:relative;inset-block-start:.2rem;inset-inline-start:.5rem}.cds--label+.cds--tooltip .cds--tooltip__trigger{display:inline-block;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;cursor:pointer;text-align:start;inline-size:100%;box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--label+.cds--tooltip .cds--tooltip__trigger *,.cds--label+.cds--tooltip .cds--tooltip__trigger :after,.cds--label+.cds--tooltip .cds--tooltip__trigger :before{box-sizing:inherit}.cds--label+.cds--tooltip .cds--tooltip__trigger::-moz-focus-inner{border:0}.cds--label+.cds--tooltip .cds--tooltip__trigger{display:flex;align-items:center;justify-content:center;font-size:var(--cds-label-01-font-size,.75rem);font-weight:var(--cds-label-01-font-weight,400);line-height:var(--cds-label-01-line-height,1.33333);letter-spacing:var(--cds-label-01-letter-spacing,.32px)}.cds--label+.cds--tooltip .cds--tooltip__trigger:focus{outline:1px solid var(--cds-focus,#0f62fe)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg{fill:var(--cds-icon-secondary,#525252)}.cds--label+.cds--tooltip .cds--tooltip__trigger svg :hover{fill:var(--cds-icon-primary,#161616)}.cds--label+.cds--toggletip{inset-block-start:.2rem;inset-inline-start:.5rem}.cds--label.cds--skeleton{position:relative;padding:0;border:none;background:var(--cds-skeleton-background,#e8e8e8);box-shadow:none;pointer-events:none}.cds--label.cds--skeleton:active,.cds--label.cds--skeleton:focus,.cds--label.cds--skeleton:hover{border:none;cursor:default;outline:none}.cds--label.cds--skeleton:before{position:absolute;animation:cds--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--label.cds--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds--label.cds--skeleton{background:CanvasText}.cds--label.cds--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds--label.cds--skeleton{block-size:.875rem;inline-size:4.6875rem}input[type=number],input[type=text].cds--number{font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif}.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused,.cds--combo-box--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--number[data-invalid] input[type=text]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline:2px solid var(--cds-support-error,#da1e28);outline-offset:-2px}@media screen and (prefers-contrast){.cds--combo-box[data-invalid]:not(.cds--multi-select--selected) .cds--text-input:not(:focus),.cds--list-box[data-invalid]:not(.cds--multi-select--invalid--focused,.cds--combo-box--invalid--focused),.cds--number[data-invalid] input[type=number]:not(:focus),.cds--number[data-invalid] input[type=text]:not(:focus),.cds--select-input__wrapper[data-invalid] .cds--select-input:not(:focus),.cds--text-area__wrapper[data-invalid]>.cds--text-area--invalid:not(:focus),.cds--text-input__field-wrapper[data-invalid]>.cds--text-input--invalid:not(:focus),input[data-invalid]:not(:focus){outline-style:dotted}}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper--warn~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box--warning~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--number__input-wrapper--warning~.cds--form-requirement,.cds--select--warning .cds--select-input__wrapper~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper--warn~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper--warning>.cds--text-input~.cds--form-requirement,.cds--text-input__field-wrapper--warning~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker--warning~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{display:block;overflow:visible;font-weight:400;max-block-size:12.5rem}.cds--select--inline.cds--select--warning .cds--select-input--inline__wrapper~.cds--form-requirement,.cds--select-input--inline__wrapper[data-invalid]~.cds--form-requirement{display:inline-flex;overflow:visible;margin:0;inline-size:100%;margin-block-end:0;max-block-size:100%;padding-inline-start:.5rem}.cds--date-picker-input__wrapper--invalid~.cds--form-requirement,.cds--date-picker-input__wrapper~.cds--form-requirement,.cds--list-box[data-invalid]~.cds--form-requirement,.cds--number[data-invalid] .cds--number__input-wrapper~.cds--form-requirement,.cds--select-input--inline__wrapper[data-invalid]~.cds--form-requirement,.cds--select-input__wrapper[data-invalid]~.cds--form-requirement,.cds--text-area__wrapper[data-invalid]~.cds--form-requirement,.cds--text-input__field-wrapper[data-invalid]~.cds--form-requirement,.cds--time-picker--invalid~.cds--form-requirement,.cds--time-picker[data-invalid]~.cds--form-requirement,input[data-invalid]~.cds--form-requirement{color:var(--cds-text-error,#da1e28)}.cds--form--fluid .cds--text-input__field-wrapper--warning,.cds--form--fluid .cds--text-input__field-wrapper[data-invalid]{display:block}.cds--form--fluid input[data-invalid]{outline:none}.cds--form--fluid .cds--form-requirement{padding:.5rem 2.5rem .5rem 1rem;margin:0}input:not(output,[data-invalid]):-moz-ui-invalid{box-shadow:none}.cds--form-requirement html{font-size:100%}.cds--form-requirement body{font-weight:400;font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cds--form-requirement code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}.cds--form-requirement strong{font-weight:600}.cds--form-requirement{font-size:var(--cds-helper-text-01-font-size,.75rem);line-height:var(--cds-helper-text-01-line-height,1.33333);letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);display:none;overflow:hidden;margin:.25rem 0 0;max-block-size:0;overflow-wrap:break-word;word-break:break-word}.cds--select--inline .cds--form__helper-text{margin-block-start:0}.cds--form__helper-text{font-size:var(--cds-helper-text-01-font-size,.75rem);line-height:var(--cds-helper-text-01-line-height,1.33333);letter-spacing:var(--cds-helper-text-01-letter-spacing,.32px);z-index:0;color:var(--cds-text-helper,#6f6f6f);inline-size:100%;margin-block-start:.25rem;opacity:1}.cds--form__helper-text--disabled,.cds--label--disabled,fieldset[disabled] .cds--form__helper-text,fieldset[disabled] .cds--label{color:var(--cds-text-disabled,rgba(22,22,22,.25))}.cds--assistive-text,.cds--visually-hidden{position:absolute;overflow:hidden;padding:0;border:0;margin:-1px;block-size:1px;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.cds--text-area{box-sizing:border-box;padding:0;border:0;margin:0;font-size:100%;vertical-align:baseline}.cds--text-area *,.cds--text-area :after,.cds--text-area :before{box-sizing:inherit}.cds--text-area{font-size:var(--cds-body-01-font-size,.875rem);font-weight:var(--cds-body-01-font-weight,400);line-height:var(--cds-body-01-line-height,1.42857);letter-spacing:var(--cds-body-01-letter-spacing,.16px);outline:2px solid transparent;outline-offset:-2px;padding:.6875rem var(--cds-layout-density-padding-inline-local);border:none;background-color:var(--cds-field);block-size:100%;border-block-end:1px solid var(--cds-border-strong);color:var(--cds-text-primary,#161616);font-family:inherit;min-block-size:2.5rem;min-inline-size:10rem;resize:vertical;transition:background-color 70ms cubic-bezier(.2,0,.38,.9),outline 70ms cubic-bezier(.2,0,.38,.9)}.cds--text-area:active,.cds--text-area:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--text-area:active,.cds--text-area:focus{outline-style:dotted}}.cds--text-area::-moz-placeholder{color:var(--cds-text-placeholder,rgba(22,22,22,.4));opacity:1;font-size:var(--cds-body-01-font-size,.875rem);font-weight:var(--cds-body-01-font-weight,400);line-height:var(--cds-body-01-line-height,1.42857);letter-spacing:var(--cds-body-01-letter-spacing,.16px)}.cds--text-area::placeholder{color:var(--cds-text-placeholder,rgba(22,22,22,.4));opacity:1;font-size:var(--cds-body-01-font-size,.875rem);font-weight:var(--cds-body-01-font-weight,400);line-height:var(--cds-body-01-line-height,1.42857);letter-spacing:var(--cds-body-01-letter-spacing,.16px)}.cds--text-area--light{background-color:var(--cds-field-02,#fff)}.cds--text-area__wrapper{--cds-layout-density-padding-inline-local:clamp(var(--cds-layout-density-padding-inline-min),var(--cds-layout-density-padding-inline,var(--cds-layout-density-padding-inline-normal)),var(--cds-layout-density-padding-inline-max));position:relative;display:flex;inline-size:100%;max-inline-size:100%}.cds--text-area__wrapper--cols{inline-size:auto}.cds--text-area__invalid-icon{position:absolute;fill:var(--cds-support-error,#da1e28);inset-block-start:.75rem;inset-inline-end:var(--cds-layout-density-padding-inline-local)}.cds--text-area__invalid-icon--warning{fill:var(--cds-support-warning,#f1c21b)}.cds--text-area__invalid-icon--warning path[fill]{fill:#000;opacity:1}.cds--text-area__counter-alert{position:absolute;overflow:hidden;padding:0;border:0;margin:-1px;block-size:1px;clip:rect(0,0,0,0);inline-size:1px}.cds--form-item:has(.cds--text-area__wrapper--cols){inline-size:-moz-fit-content;inline-size:fit-content}.cds--text-area:disabled{background-color:var(--cds-field);border-block-end:1px solid transparent;color:var(--cds-text-disabled,rgba(22,22,22,.25));cursor:not-allowed;outline:none;resize:none}.cds--text-area:disabled::-moz-placeholder{color:var(--cds-text-disabled,rgba(22,22,22,.25))}.cds--text-area:disabled::placeholder{color:var(--cds-text-disabled,rgba(22,22,22,.25))}.cds--text-area__wrapper--readonly .cds--text-area{background:transparent;border-block-end-color:var(--cds-border-subtle)}.cds--text-area__wrapper--decorator .cds--text-area__inner-wrapper--decorator>*,.cds--text-area__wrapper--slug .cds--ai-label,.cds--text-area__wrapper--slug .cds--slug{position:absolute;inset-block-start:.75rem;inset-inline-end:1rem}.cds--text-area__wrapper--decorator .cds--ai-label.cds--ai-label--revert,.cds--text-area__wrapper--slug .cds--ai-label.cds--ai-label--revert,.cds--text-area__wrapper--slug .cds--slug.cds--slug--revert{inset-block-start:.25rem;inset-inline-end:.5rem;transform:translate(0)}.cds--text-area__wrapper--decorator .cds--text-area:has(~.cds--text-area__inner-wrapper--decorator .cds--ai-label):not(:has(~.cds--text-area__inner-wrapper--decorator .cds--ai-label--revert)),.cds--text-area__wrapper--slug .cds--text-area:has(~.cds--ai-label):not(:has(~.cds--ai-label--revert)),.cds--text-area__wrapper--slug .cds--text-area:has(~.cds--slug):not(:has(~.cds--slug--revert)){background-image:linear-gradient(0deg,var(--cds-ai-aura-start-sm,rgba(69,137,255,.16)) 0,15%,var(--cds-ai-aura-end,hsla(0,0%,100%,0)) 50%,transparent 100%);border-block-end-color:var(--cds-ai-border-strong,#4589ff)}.cds--text-area__wrapper--decorator .cds--text-area:has(~.cds--text-area__inner-wrapper--decorator>*),.cds--text-area__wrapper--slug .cds--text-area:has(~.cds--ai-label),.cds--text-area__wrapper--slug .cds--text-area:has(~.cds--slug){padding-inline-end:2.5rem}.cds--text-area--invalid:has(~.cds--ai-label),.cds--text-area--invalid:has(~.cds--slug),.cds--text-area--invalid:has(~.cds--text-area__inner-wrapper--decorator>*),.cds--text-area--warn:has(~.cds--ai-label),.cds--text-area--warn:has(~.cds--slug),.cds--text-area--warn:has(~.cds--text-area__inner-wrapper--decorator>*){padding-inline-end:4rem}.cds--text-area--invalid~.cds--ai-label,.cds--text-area--invalid~.cds--slug,.cds--text-area--invalid~.cds--text-area__inner-wrapper--decorator>*,.cds--text-area--warn~.cds--ai-label,.cds--text-area--warn~.cds--slug,.cds--text-area--warn~.cds--text-area__inner-wrapper--decorator>*{inset-inline-end:2.5rem}.cds--text-area--invalid~.cds--ai-label.cds--ai-label--revert,.cds--text-area--invalid~.cds--slug.cds--slug--revert,.cds--text-area--invalid~.cds--text-area__inner-wrapper--decorator>.cds--ai-label.cds--ai-label--revert,.cds--text-area--warn~.cds--ai-label.cds--ai-label--revert,.cds--text-area--warn~.cds--slug.cds--slug--revert,.cds--text-area--warn~.cds--text-area__inner-wrapper--decorator>.cds--ai-label.cds--ai-label--revert{inset-inline-end:2rem}.cds--text-area.cds--skeleton{position:relative;padding:0;border:none;background:var(--cds-skeleton-background,#e8e8e8);box-shadow:none;pointer-events:none}.cds--text-area.cds--skeleton:active,.cds--text-area.cds--skeleton:focus,.cds--text-area.cds--skeleton:hover{border:none;cursor:default;outline:none}.cds--text-area.cds--skeleton:before{position:absolute;animation:cds--skeleton 3s ease-in-out infinite;background:var(--cds-skeleton-element,#c6c6c6);block-size:100%;content:\"\";inline-size:100%;inset-inline-start:0;will-change:transform-origin,transform,opacity}@media (prefers-reduced-motion:reduce){.cds--text-area.cds--skeleton:before{animation:none}}@media (forced-colors:active),screen and (-ms-high-contrast:active){.cds--text-area.cds--skeleton{background:CanvasText}.cds--text-area.cds--skeleton:before{background:Canvas;forced-color-adjust:none}}.cds--text-area.cds--skeleton{block-size:6.25rem;inline-size:100%}.cds--text-area.cds--skeleton::-moz-placeholder{color:transparent}.cds--text-area.cds--skeleton::placeholder{color:transparent}.cds--text-area__label-wrapper{position:relative;display:flex;justify-content:space-between;inline-size:100%}:host(cds-textarea){--cds-layout-size-height-xs:1.5rem;--cds-layout-size-height-sm:2rem;--cds-layout-size-height-md:2.5rem;--cds-layout-size-height-lg:3rem;--cds-layout-size-height-xl:4rem;--cds-layout-size-height-2xl:5rem;--cds-layout-size-height-min:0px;--cds-layout-size-height-max:999999999px;--cds-layout-density-padding-inline-condensed:0.5rem;--cds-layout-density-padding-inline-normal:1rem;--cds-layout-density-padding-inline-min:0px;--cds-layout-density-padding-inline-max:999999999px;display:flex;flex-direction:column;outline:none}:host(cds-textarea) ::slotted(cds-ai-label),:host(cds-textarea) ::slotted(cds-slug){position:absolute;inset-block-start:.75rem;inset-inline-end:1rem}:host(cds-textarea) ::slotted(cds-ai-label[revert-active]),:host(cds-textarea) ::slotted(cds-slug[revert-active]){inset-block-start:.25rem;inset-inline-end:.5rem;transform:translate(0)}:host(cds-textarea) textarea:not([cols]),:host(cds-textarea) textarea[cols=\"0\"],:host(cds-textarea:not([cols])),:host(cds-textarea[cols=\"0\"]){inline-size:100%}:host(cds-textarea[invalid]) .cds--text-area__wrapper--decorator .cds--text-area,:host(cds-textarea[warn]) .cds--text-area__wrapper--decorator .cds--text-area{padding-inline-end:4rem}:host(cds-textarea[invalid]) ::slotted(cds-ai-label),:host(cds-textarea[invalid]) ::slotted(cds-slug),:host(cds-textarea[warn]) ::slotted(cds-ai-label),:host(cds-textarea[warn]) ::slotted(cds-slug){inset-inline-end:2.5rem}:host(cds-textarea[invalid]) ::slotted(cds-ai-label[revert-active]),:host(cds-textarea[invalid]) ::slotted(cds-slug[revert-active]),:host(cds-textarea[warn]) ::slotted(cds-ai-label[revert-active]),:host(cds-textarea[warn]) ::slotted(cds-slug[revert-active]){inset-inline-end:2rem}:host(cds-textarea[ai-label]) .cds--text-area__wrapper--decorator{background-image:linear-gradient(0deg,var(--cds-ai-aura-start-sm,rgba(69,137,255,.16)) 0,15%,var(--cds-ai-aura-end,hsla(0,0%,100%,0)) 50%,transparent 100%);border-block-end-color:var(--cds-ai-border-strong,#4589ff)}.cds--text-area__wrapper{flex:1 1 auto}.cds--text-area__wrapper--cols{display:inline-flex}"]);
11
11
  //#endregion
12
12
  export { textarea_default as default };
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.scss.js","names":[],"sources":["../../../src/components/textarea/textarea.scss?lit"],"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\n$css--plex: true !default;\n@use '@carbon/styles/scss/config' as *;\n@use '@carbon/styles/scss/utilities/layout' as *;\n@use '@carbon/styles/scss/spacing' as *;\n@use '@carbon/styles/scss/components/text-area/index';\n@use '@carbon/styles/scss/utilities/ai-gradient' as *;\n\n:host(#{$prefix}-textarea) {\n @include emit-layout-tokens();\n\n outline: none;\n ::slotted(#{$prefix}-ai-label),\n ::slotted(#{$prefix}-slug) {\n position: absolute;\n inset-block-start: $spacing-04;\n inset-inline-end: $spacing-05;\n }\n\n ::slotted(#{$prefix}-ai-label[revert-active]),\n ::slotted(#{$prefix}-slug[revert-active]) {\n inset-block-start: $spacing-02;\n inset-inline-end: $spacing-03;\n transform: translate(0);\n }\n}\n\n:host(#{$prefix}-textarea[cols='0']),\n:host(#{$prefix}-textarea:not([cols])),\n:host(#{$prefix}-textarea) textarea[cols='0'],\n:host(#{$prefix}-textarea) textarea:not([cols]) {\n inline-size: 100%;\n}\n\n:host(#{$prefix}-textarea[warn]),\n:host(#{$prefix}-textarea[invalid]) {\n .#{$prefix}--text-area__wrapper--decorator {\n .#{$prefix}--text-area {\n padding-inline-end: $spacing-10;\n }\n }\n\n ::slotted(#{$prefix}-ai-label),\n ::slotted(#{$prefix}-slug) {\n inset-inline-end: $spacing-08;\n }\n\n ::slotted(#{$prefix}-ai-label[revert-active]),\n ::slotted(#{$prefix}-slug[revert-active]) {\n inset-inline-end: $spacing-07;\n }\n}\n:host(#{$prefix}-textarea[ai-label])\n .#{$prefix}--text-area__wrapper--decorator {\n @include ai-gradient;\n}\n\n.#{$prefix}--text-area__wrapper--cols {\n display: inline-flex;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"textarea.scss.js","names":[],"sources":["../../../src/components/textarea/textarea.scss?lit"],"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\n$css--plex: true !default;\n@use '@carbon/styles/scss/config' as *;\n@use '@carbon/styles/scss/utilities/layout' as *;\n@use '@carbon/styles/scss/spacing' as *;\n@use '@carbon/styles/scss/components/text-area/index';\n@use '@carbon/styles/scss/utilities/ai-gradient' as *;\n\n:host(#{$prefix}-textarea) {\n @include emit-layout-tokens();\n\n display: flex;\n flex-direction: column;\n outline: none;\n ::slotted(#{$prefix}-ai-label),\n ::slotted(#{$prefix}-slug) {\n position: absolute;\n inset-block-start: $spacing-04;\n inset-inline-end: $spacing-05;\n }\n\n ::slotted(#{$prefix}-ai-label[revert-active]),\n ::slotted(#{$prefix}-slug[revert-active]) {\n inset-block-start: $spacing-02;\n inset-inline-end: $spacing-03;\n transform: translate(0);\n }\n}\n\n:host(#{$prefix}-textarea[cols='0']),\n:host(#{$prefix}-textarea:not([cols])),\n:host(#{$prefix}-textarea) textarea[cols='0'],\n:host(#{$prefix}-textarea) textarea:not([cols]) {\n inline-size: 100%;\n}\n\n:host(#{$prefix}-textarea[warn]),\n:host(#{$prefix}-textarea[invalid]) {\n .#{$prefix}--text-area__wrapper--decorator {\n .#{$prefix}--text-area {\n padding-inline-end: $spacing-10;\n }\n }\n\n ::slotted(#{$prefix}-ai-label),\n ::slotted(#{$prefix}-slug) {\n inset-inline-end: $spacing-08;\n }\n\n ::slotted(#{$prefix}-ai-label[revert-active]),\n ::slotted(#{$prefix}-slug[revert-active]) {\n inset-inline-end: $spacing-07;\n }\n}\n:host(#{$prefix}-textarea[ai-label])\n .#{$prefix}--text-area__wrapper--decorator {\n @include ai-gradient;\n}\n\n.#{$prefix}--text-area__wrapper {\n flex: 1 1 auto;\n}\n\n.#{$prefix}--text-area__wrapper--cols {\n display: inline-flex;\n}\n"],"mappings":""}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025, 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import './truncated-text';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/truncated-text/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import "./truncated-text.js";
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025, 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { LitElement } from 'lit';
8
+ import '../tooltip/index';
9
+ export declare const blockClass = "cds--truncated-text";
10
+ declare const elementName = "cds-truncated-text";
11
+ /**
12
+ * TruncatedText.
13
+ *
14
+ * @element cds-truncated-text
15
+ */
16
+ export declare class CDSTruncatedText extends LitElement {
17
+ /**
18
+ * Specify how the tooltip should align with the content.
19
+ */
20
+ align: string;
21
+ /**
22
+ * Specify whether a auto align functionality should be applied
23
+ */
24
+ autoalign: boolean;
25
+ /**
26
+ * The label on the collapse button.
27
+ */
28
+ collapseLabel: string;
29
+ /**
30
+ * The label on expand button.
31
+ */
32
+ expandLabel: string;
33
+ /**
34
+ * Unique identifier for the element.
35
+ */
36
+ id: string;
37
+ /**
38
+ * The maximum number of lines to display before truncation.
39
+ * Defaults to `0` (no truncation applied). Note: the React counterpart
40
+ * defaults to `2` — consumers migrating from React should set this explicitly.
41
+ */
42
+ lines: number;
43
+ /**
44
+ * The method to display the full text when truncated. Options are "tooltip" or "expand". if not passed, the text would just be truncated with ellipsis.
45
+ */
46
+ type: 'tooltip' | 'expand';
47
+ /**
48
+ * The string value to be truncated.
49
+ */
50
+ value: string;
51
+ private _isOverflowing;
52
+ private _isExpanded;
53
+ private _maxHeight;
54
+ private _textElement;
55
+ private _lineHeight;
56
+ private _isLayered;
57
+ private _resizeObserver?;
58
+ static styles: any;
59
+ connectedCallback(): void;
60
+ disconnectedCallback(): void;
61
+ protected firstUpdated(): void;
62
+ protected updated(changed: Map<string, unknown>): void;
63
+ private _updateMaxHeight;
64
+ private _setupResizeObserver;
65
+ private _updateOverflowStatus;
66
+ private _handleKeydown;
67
+ private _toggleExpansion;
68
+ private _renderToggleButton;
69
+ render(): import("lit-html").TemplateResult<1>;
70
+ }
71
+ declare global {
72
+ interface HTMLElementTagNameMap {
73
+ [elementName]: CDSTruncatedText;
74
+ }
75
+ }
76
+ export default CDSTruncatedText;
77
+ //# sourceMappingURL=truncated-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncated-text.d.ts","sourceRoot":"","sources":["../../../src/components/truncated-text/truncated-text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAMvC,OAAO,kBAAkB,CAAC;AAK1B,eAAO,MAAM,UAAU,wBAAgC,CAAC;AACxD,QAAA,MAAM,WAAW,uBAA+B,CAAC;AAEjD;;;;GAIG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAC9C;;OAEG;IAEH,KAAK,SAAS;IAEd;;OAEG;IAEH,SAAS,UAAS;IAElB;;OAEG;IAEH,aAAa,SAAM;IAEnB;;OAEG;IAEH,WAAW,SAAM;IAEjB;;OAEG;IAEH,EAAE,SAAM;IAER;;;;OAIG;IAEH,KAAK,SAAK;IAEV;;OAEG;IAEH,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAa;IAEvC;;OAEG;IAEH,KAAK,SAAM;IAEF,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAkB;IAEZ,OAAO,CAAC,YAAY,CAAe;IACpE,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC,MAAM,CAAC,MAAM,MAAU;IAEvB,iBAAiB;IAMjB,oBAAoB;IAKpB,SAAS,CAAC,YAAY;IAQtB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAO/C,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,mBAAmB;IAsB3B,MAAM;CA2CP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;KACjC;CACF;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import "../../globals/settings.js";
9
+ import { carbonElement } from "../../globals/decorators/carbon-element.js";
10
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/decorate.js";
11
+ import "../tooltip/index.js";
12
+ import truncated_text_default$1 from "./truncated-text.scss.js";
13
+ import { LitElement, html } from "lit";
14
+ import { property, query, state } from "lit/decorators.js";
15
+ import { classMap } from "lit/directives/class-map.js";
16
+ import { styleMap } from "lit/directives/style-map.js";
17
+ //#region src/components/truncated-text/truncated-text.ts
18
+ /**
19
+ * Copyright IBM Corp. 2025, 2026
20
+ *
21
+ * This source code is licensed under the Apache-2.0 license found in the
22
+ * LICENSE file in the root directory of this source tree.
23
+ */
24
+ const componentName = "truncated-text";
25
+ const blockClass = `cds--${componentName}`;
26
+ const elementName = `cds-${componentName}`;
27
+ let CDSTruncatedText = class CDSTruncatedText extends LitElement {
28
+ constructor(..._args) {
29
+ super(..._args);
30
+ this.align = "top";
31
+ this.autoalign = false;
32
+ this.collapseLabel = "";
33
+ this.expandLabel = "";
34
+ this.id = "";
35
+ this.lines = 0;
36
+ this.type = "tooltip";
37
+ this.value = "";
38
+ this._isOverflowing = false;
39
+ this._isExpanded = false;
40
+ this._maxHeight = "none";
41
+ this._lineHeight = 0;
42
+ this._isLayered = false;
43
+ }
44
+ static {
45
+ this.styles = truncated_text_default$1;
46
+ }
47
+ connectedCallback() {
48
+ super.connectedCallback();
49
+ this._isLayered = !!this.closest(`cds-layer`);
50
+ this.type = this.type || "tooltip";
51
+ }
52
+ disconnectedCallback() {
53
+ this._resizeObserver?.disconnect();
54
+ super.disconnectedCallback();
55
+ }
56
+ firstUpdated() {
57
+ requestAnimationFrame(() => {
58
+ const computedStyle = getComputedStyle(this._textElement);
59
+ this._lineHeight = parseFloat(computedStyle.lineHeight);
60
+ this._setupResizeObserver();
61
+ });
62
+ }
63
+ updated(changed) {
64
+ if (changed.has("lines") || changed.has("value")) {
65
+ this._updateOverflowStatus();
66
+ this._updateMaxHeight();
67
+ }
68
+ }
69
+ _updateMaxHeight() {
70
+ if (this.type !== "expand") return;
71
+ requestAnimationFrame(() => {
72
+ if (!this._textElement) return;
73
+ this._maxHeight = this.lines > 0 && !this._isExpanded ? `${this.lines * this._lineHeight}px` : `${this._textElement.scrollHeight}px`;
74
+ });
75
+ }
76
+ _setupResizeObserver() {
77
+ if (!this._textElement) return;
78
+ if (this._resizeObserver) this._resizeObserver.disconnect();
79
+ this._resizeObserver = new ResizeObserver(() => {
80
+ this._updateOverflowStatus();
81
+ });
82
+ this._resizeObserver.observe(this);
83
+ }
84
+ _updateOverflowStatus() {
85
+ if (!this._textElement || this.lines <= 0) return;
86
+ this._updateMaxHeight();
87
+ const { scrollHeight, clientHeight } = this._textElement;
88
+ const isOverflowing = scrollHeight > clientHeight + this._lineHeight / 2;
89
+ if (isOverflowing !== this._isOverflowing) this._isOverflowing = isOverflowing;
90
+ }
91
+ _handleKeydown(evt) {
92
+ const { key } = evt;
93
+ if (key === "Enter" || key === " ") this._toggleExpansion();
94
+ }
95
+ _toggleExpansion() {
96
+ this._isExpanded = !this._isExpanded;
97
+ this._updateMaxHeight();
98
+ this._textElement?.classList.add(`${blockClass}_transition`);
99
+ const onTransitionEnd = () => {
100
+ this._textElement?.querySelector("button")?.focus();
101
+ this._textElement?.removeEventListener("transitionend", onTransitionEnd);
102
+ };
103
+ this._textElement?.addEventListener("transitionend", onTransitionEnd);
104
+ /**
105
+ * currently you cannot animate line-clamping
106
+ * you can however animate max-height
107
+ * this removes the clamping and then quickly adds it so you can see the ellipsis
108
+ */
109
+ if (this._isExpanded === false) {
110
+ this._textElement?.classList.add(`${blockClass}_content--closing`);
111
+ setTimeout(() => {
112
+ this._textElement?.classList.remove(`${blockClass}_content--closing`);
113
+ }, 100);
114
+ }
115
+ }
116
+ _renderToggleButton() {
117
+ const className = classMap({
118
+ [`${blockClass}_button-collapse`]: this._isExpanded,
119
+ [`${blockClass}_button-expand`]: !this._isExpanded,
120
+ [`${blockClass}_button-layered`]: this._isLayered,
121
+ [`${blockClass}_button-hide`]: !this._isOverflowing && !this._isExpanded
122
+ });
123
+ const label = this._isExpanded ? this.collapseLabel : this.expandLabel;
124
+ return html`
125
+ <span
126
+ aria-controls=${this.id}
127
+ aria-expanded=${this._isExpanded}
128
+ class=${className}
129
+ @click=${this._toggleExpansion}
130
+ @keydown=${this._handleKeydown}
131
+ role="button"
132
+ tabindex="0">
133
+ ${label}
134
+ </span>
135
+ `;
136
+ }
137
+ render() {
138
+ const contentClasses = classMap({
139
+ [`${blockClass}_content`]: true,
140
+ [`${blockClass}_content--expanded`]: this._isExpanded
141
+ });
142
+ const contentStyle = {
143
+ ["--line-clamp"]: this._isExpanded ? "none" : this.lines,
144
+ ["max-block-size"]: this.type === "expand" ? this._maxHeight : "none"
145
+ };
146
+ const valueBody = html`
147
+ <div
148
+ id=${this.id}
149
+ class=${contentClasses}
150
+ style=${styleMap(contentStyle)}>
151
+ ${this.value}
152
+ </div>
153
+ `;
154
+ if (this.type === "expand") return html`${valueBody} ${this._renderToggleButton()}`;
155
+ return this._isOverflowing ? html`
156
+ <cds-tooltip
157
+ align=${this.align}
158
+ ?autoalign=${this.autoalign}
159
+ enter-delay-ms="0"
160
+ leave-delay-ms="0">
161
+ <button
162
+ type="button"
163
+ class="${blockClass}_tooltip-trigger"
164
+ aria-label=${this.value}>
165
+ ${valueBody}
166
+ </button>
167
+ <cds-tooltip-content>${this.value}</cds-tooltip-content>
168
+ </cds-tooltip>
169
+ ` : valueBody;
170
+ }
171
+ };
172
+ __decorate([property({
173
+ reflect: true,
174
+ type: String
175
+ })], CDSTruncatedText.prototype, "align", void 0);
176
+ __decorate([property({
177
+ type: Boolean,
178
+ reflect: true
179
+ })], CDSTruncatedText.prototype, "autoalign", void 0);
180
+ __decorate([property({
181
+ attribute: "collapse-label",
182
+ type: String,
183
+ reflect: true
184
+ })], CDSTruncatedText.prototype, "collapseLabel", void 0);
185
+ __decorate([property({
186
+ attribute: "expand-label",
187
+ type: String,
188
+ reflect: true
189
+ })], CDSTruncatedText.prototype, "expandLabel", void 0);
190
+ __decorate([property({
191
+ type: String,
192
+ reflect: true
193
+ })], CDSTruncatedText.prototype, "id", void 0);
194
+ __decorate([property({
195
+ type: Number,
196
+ reflect: true
197
+ })], CDSTruncatedText.prototype, "lines", void 0);
198
+ __decorate([property({
199
+ type: String,
200
+ reflect: true
201
+ })], CDSTruncatedText.prototype, "type", void 0);
202
+ __decorate([property({
203
+ type: String,
204
+ attribute: "value",
205
+ reflect: true
206
+ })], CDSTruncatedText.prototype, "value", void 0);
207
+ __decorate([state()], CDSTruncatedText.prototype, "_isOverflowing", void 0);
208
+ __decorate([state()], CDSTruncatedText.prototype, "_isExpanded", void 0);
209
+ __decorate([state()], CDSTruncatedText.prototype, "_maxHeight", void 0);
210
+ __decorate([query(`.${blockClass}_content`)], CDSTruncatedText.prototype, "_textElement", void 0);
211
+ CDSTruncatedText = __decorate([carbonElement(elementName)], CDSTruncatedText);
212
+ var truncated_text_default = CDSTruncatedText;
213
+ //#endregion
214
+ export { CDSTruncatedText, blockClass, truncated_text_default as default };
215
+
216
+ //# sourceMappingURL=truncated-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncated-text.js","names":["styles","customElement"],"sources":["../../../src/components/truncated-text/truncated-text.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2025, 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 */\nimport { html, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport '../tooltip/index';\n\nimport styles from './truncated-text.scss?lit';\n\nconst componentName = 'truncated-text';\nexport const blockClass = `${prefix}--${componentName}`;\nconst elementName = `${prefix}-${componentName}`; // cds-truncated-text\n\n/**\n * TruncatedText.\n *\n * @element cds-truncated-text\n */\n@customElement(elementName)\nexport class CDSTruncatedText extends LitElement {\n /**\n * Specify how the tooltip should align with the content.\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 * The label on the collapse button.\n */\n @property({ attribute: 'collapse-label', type: String, reflect: true })\n collapseLabel = '';\n\n /**\n * The label on expand button.\n */\n @property({ attribute: 'expand-label', type: String, reflect: true })\n expandLabel = '';\n\n /**\n * Unique identifier for the element.\n */\n @property({ type: String, reflect: true })\n id = '';\n\n /**\n * The maximum number of lines to display before truncation.\n * Defaults to `0` (no truncation applied). Note: the React counterpart\n * defaults to `2` — consumers migrating from React should set this explicitly.\n */\n @property({ type: Number, reflect: true })\n lines = 0;\n\n /**\n * The method to display the full text when truncated. Options are \"tooltip\" or \"expand\". if not passed, the text would just be truncated with ellipsis.\n */\n @property({ type: String, reflect: true })\n type: 'tooltip' | 'expand' = 'tooltip';\n\n /**\n * The string value to be truncated.\n */\n @property({ type: String, attribute: 'value', reflect: true })\n value = '';\n\n @state() private _isOverflowing: boolean = false;\n @state() private _isExpanded: boolean = false;\n @state() private _maxHeight: string = 'none';\n\n @query(`.${blockClass}_content`) private _textElement!: HTMLElement;\n private _lineHeight: number = 0;\n private _isLayered: boolean = false;\n private _resizeObserver?: ResizeObserver;\n\n static styles = styles;\n\n connectedCallback() {\n super.connectedCallback();\n this._isLayered = !!this.closest(`${prefix}-layer`);\n this.type = this.type || 'tooltip';\n }\n\n disconnectedCallback() {\n this._resizeObserver?.disconnect();\n super.disconnectedCallback();\n }\n\n protected firstUpdated() {\n requestAnimationFrame(() => {\n const computedStyle = getComputedStyle(this._textElement);\n this._lineHeight = parseFloat(computedStyle.lineHeight);\n this._setupResizeObserver();\n });\n }\n\n protected updated(changed: Map<string, unknown>) {\n if (changed.has('lines') || changed.has('value')) {\n this._updateOverflowStatus();\n this._updateMaxHeight();\n }\n }\n\n private _updateMaxHeight() {\n if (this.type !== 'expand') {\n return;\n }\n requestAnimationFrame(() => {\n if (!this._textElement) {\n return;\n }\n this._maxHeight =\n this.lines > 0 && !this._isExpanded\n ? `${this.lines * this._lineHeight}px`\n : `${this._textElement.scrollHeight}px`;\n });\n }\n\n private _setupResizeObserver() {\n if (!this._textElement) {\n return;\n }\n\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n }\n\n this._resizeObserver = new ResizeObserver(() => {\n this._updateOverflowStatus();\n });\n\n this._resizeObserver.observe(this);\n }\n\n private _updateOverflowStatus() {\n if (!this._textElement || this.lines <= 0) {\n return;\n }\n this._updateMaxHeight();\n const { scrollHeight, clientHeight } = this._textElement;\n const buffer = this._lineHeight / 2; // buffer of at least half of line height for a stable outcome\n\n const isOverflowing = scrollHeight > clientHeight + buffer;\n\n if (isOverflowing !== this._isOverflowing) {\n this._isOverflowing = isOverflowing;\n }\n }\n\n private _handleKeydown(evt: KeyboardEvent) {\n const { key } = evt;\n if (key === 'Enter' || key === ' ') {\n this._toggleExpansion();\n }\n }\n\n private _toggleExpansion() {\n this._isExpanded = !this._isExpanded;\n this._updateMaxHeight();\n this._textElement?.classList.add(`${blockClass}_transition`);\n const onTransitionEnd = () => {\n this._textElement?.querySelector('button')?.focus();\n this._textElement?.removeEventListener('transitionend', onTransitionEnd);\n };\n this._textElement?.addEventListener('transitionend', onTransitionEnd);\n\n /**\n * currently you cannot animate line-clamping\n * you can however animate max-height\n * this removes the clamping and then quickly adds it so you can see the ellipsis\n */\n if (this._isExpanded === false) {\n this._textElement?.classList.add(`${blockClass}_content--closing`);\n setTimeout(() => {\n this._textElement?.classList.remove(`${blockClass}_content--closing`);\n }, 100);\n }\n }\n\n private _renderToggleButton() {\n const className = classMap({\n [`${blockClass}_button-collapse`]: this._isExpanded,\n [`${blockClass}_button-expand`]: !this._isExpanded,\n [`${blockClass}_button-layered`]: this._isLayered,\n [`${blockClass}_button-hide`]: !this._isOverflowing && !this._isExpanded,\n });\n const label = this._isExpanded ? this.collapseLabel : this.expandLabel;\n return html`\n <span\n aria-controls=${this.id}\n aria-expanded=${this._isExpanded}\n class=${className}\n @click=${this._toggleExpansion}\n @keydown=${this._handleKeydown}\n role=\"button\"\n tabindex=\"0\">\n ${label}\n </span>\n `;\n }\n\n render() {\n const contentClasses = classMap({\n [`${blockClass}_content`]: true,\n [`${blockClass}_content--expanded`]: this._isExpanded,\n });\n\n const contentStyle = {\n ['--line-clamp']: this._isExpanded ? 'none' : this.lines,\n ['max-block-size']: this.type === 'expand' ? this._maxHeight : 'none',\n };\n\n const valueBody = html`\n <div\n id=${this.id}\n class=${contentClasses}\n style=${styleMap(contentStyle)}>\n ${this.value}\n </div>\n `;\n\n if (this.type === 'expand') {\n return html`${valueBody} ${this._renderToggleButton()}`;\n }\n\n // type === 'tooltip'\n return this._isOverflowing\n ? html`\n <cds-tooltip\n align=${this.align}\n ?autoalign=${this.autoalign}\n enter-delay-ms=\"0\"\n leave-delay-ms=\"0\">\n <button\n type=\"button\"\n class=\"${blockClass}_tooltip-trigger\"\n aria-label=${this.value}>\n ${valueBody}\n </button>\n <cds-tooltip-content>${this.value}</cds-tooltip-content>\n </cds-tooltip>\n `\n : valueBody;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [elementName]: CDSTruncatedText;\n }\n}\n\nexport default CDSTruncatedText;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,gBAAgB;AACtB,MAAa,aAAa,QAAc;AACxC,MAAM,cAAc,OAAa;AAQ1B,IAAA,mBAAA,MAAM,yBAAyB,WAAW;;;eAKvC;mBAMI;uBAMI;qBAMF;YAMT;eAQG;cAMqB;eAMrB;wBAEmC;qBACH;oBACF;qBAGR;oBACA;;;gBAGdA;;CAEhB,oBAAoB;EAClB,MAAM,kBAAkB;EACxB,KAAK,aAAa,CAAC,CAAC,KAAK,QAAQ,WAAiB;EAClD,KAAK,OAAO,KAAK,QAAQ;CAC3B;CAEA,uBAAuB;EACrB,KAAK,iBAAiB,WAAW;EACjC,MAAM,qBAAqB;CAC7B;CAEA,eAAyB;EACvB,4BAA4B;GAC1B,MAAM,gBAAgB,iBAAiB,KAAK,YAAY;GACxD,KAAK,cAAc,WAAW,cAAc,UAAU;GACtD,KAAK,qBAAqB;EAC5B,CAAC;CACH;CAEA,QAAkB,SAA+B;EAC/C,IAAI,QAAQ,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG;GAChD,KAAK,sBAAsB;GAC3B,KAAK,iBAAiB;EACxB;CACF;CAEA,mBAA2B;EACzB,IAAI,KAAK,SAAS,UAChB;EAEF,4BAA4B;GAC1B,IAAI,CAAC,KAAK,cACR;GAEF,KAAK,aACH,KAAK,QAAQ,KAAK,CAAC,KAAK,cACpB,GAAG,KAAK,QAAQ,KAAK,YAAY,MACjC,GAAG,KAAK,aAAa,aAAa;EAC1C,CAAC;CACH;CAEA,uBAA+B;EAC7B,IAAI,CAAC,KAAK,cACR;EAGF,IAAI,KAAK,iBACP,KAAK,gBAAgB,WAAW;EAGlC,KAAK,kBAAkB,IAAI,qBAAqB;GAC9C,KAAK,sBAAsB;EAC7B,CAAC;EAED,KAAK,gBAAgB,QAAQ,IAAI;CACnC;CAEA,wBAAgC;EAC9B,IAAI,CAAC,KAAK,gBAAgB,KAAK,SAAS,GACtC;EAEF,KAAK,iBAAiB;EACtB,MAAM,EAAE,cAAc,iBAAiB,KAAK;EAG5C,MAAM,gBAAgB,eAAe,eAFtB,KAAK,cAAc;EAIlC,IAAI,kBAAkB,KAAK,gBACzB,KAAK,iBAAiB;CAE1B;CAEA,eAAuB,KAAoB;EACzC,MAAM,EAAE,QAAQ;EAChB,IAAI,QAAQ,WAAW,QAAQ,KAC7B,KAAK,iBAAiB;CAE1B;CAEA,mBAA2B;EACzB,KAAK,cAAc,CAAC,KAAK;EACzB,KAAK,iBAAiB;EACtB,KAAK,cAAc,UAAU,IAAI,GAAG,WAAW,YAAY;EAC3D,MAAM,wBAAwB;GAC5B,KAAK,cAAc,cAAc,QAAQ,CAAC,EAAE,MAAM;GAClD,KAAK,cAAc,oBAAoB,iBAAiB,eAAe;EACzE;EACA,KAAK,cAAc,iBAAiB,iBAAiB,eAAe;;;;;;EAOpE,IAAI,KAAK,gBAAgB,OAAO;GAC9B,KAAK,cAAc,UAAU,IAAI,GAAG,WAAW,kBAAkB;GACjE,iBAAiB;IACf,KAAK,cAAc,UAAU,OAAO,GAAG,WAAW,kBAAkB;GACtE,GAAG,GAAG;EACR;CACF;CAEA,sBAA8B;EAC5B,MAAM,YAAY,SAAS;IACxB,GAAG,WAAW,oBAAoB,KAAK;IACvC,GAAG,WAAW,kBAAkB,CAAC,KAAK;IACtC,GAAG,WAAW,mBAAmB,KAAK;IACtC,GAAG,WAAW,gBAAgB,CAAC,KAAK,kBAAkB,CAAC,KAAK;EAC/D,CAAC;EACD,MAAM,QAAQ,KAAK,cAAc,KAAK,gBAAgB,KAAK;EAC3D,OAAO,IAAI;;wBAES,KAAK,GAAG;wBACR,KAAK,YAAY;gBACzB,UAAU;iBACT,KAAK,iBAAiB;mBACpB,KAAK,eAAe;;;UAG7B,MAAM;;;CAGd;CAEA,SAAS;EACP,MAAM,iBAAiB,SAAS;IAC7B,GAAG,WAAW,YAAY;IAC1B,GAAG,WAAW,sBAAsB,KAAK;EAC5C,CAAC;EAED,MAAM,eAAe;IAClB,iBAAiB,KAAK,cAAc,SAAS,KAAK;IAClD,mBAAmB,KAAK,SAAS,WAAW,KAAK,aAAa;EACjE;EAEA,MAAM,YAAY,IAAI;;aAEb,KAAK,GAAG;gBACL,eAAe;gBACf,SAAS,YAAY,EAAE;UAC7B,KAAK,MAAM;;;EAIjB,IAAI,KAAK,SAAS,UAChB,OAAO,IAAI,GAAG,UAAU,GAAG,KAAK,oBAAoB;EAItD,OAAO,KAAK,iBACR,IAAI;;oBAEQ,KAAK,MAAM;yBACN,KAAK,UAAU;;;;;uBAKjB,WAAW;2BACP,KAAK,MAAM;gBACtB,UAAU;;mCAES,KAAK,MAAM;;YAGtC;CACN;AACF;YAjOG,SAAS;CAAE,SAAS;CAAM,MAAM;AAAO,CAAC,CAAA,GAAA,iBAAA,WAAA,SAAA,KAAA,CAAA;YAMxC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,iBAAA,WAAA,aAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,WAAW;CAAkB,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,iBAAA,WAAA,iBAAA,KAAA,CAAA;YAMrE,SAAS;CAAE,WAAW;CAAgB,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;YAMnE,SAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,iBAAA,WAAA,MAAA,KAAA,CAAA;YAQxC,SAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,iBAAA,WAAA,SAAA,KAAA,CAAA;YAMxC,SAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,iBAAA,WAAA,QAAA,KAAA,CAAA;YAMxC,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,iBAAA,WAAA,SAAA,KAAA,CAAA;YAG5D,MAAM,CAAA,GAAA,iBAAA,WAAA,kBAAA,KAAA,CAAA;YACN,MAAM,CAAA,GAAA,iBAAA,WAAA,eAAA,KAAA,CAAA;YACN,MAAM,CAAA,GAAA,iBAAA,WAAA,cAAA,KAAA,CAAA;YAEN,MAAM,IAAI,WAAW,SAAS,CAAA,GAAA,iBAAA,WAAA,gBAAA,KAAA,CAAA;+BAxDhCC,cAAc,WAAW,CAAA,GAAA,gBAAA;AA8O1B,IAAA,yBAAe"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { css } from "lit";
9
+ //#region src/components/truncated-text/truncated-text.scss?lit
10
+ var truncated_text_default = css(["@keyframes cds--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}.cds--assistive-text,.cds--visually-hidden{position:absolute;overflow:hidden;padding:0;border:0;margin:-1px;block-size:1px;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.cds--truncated-text_button-collapse,.cds--truncated-text_button-expand{border:none;cursor:pointer;font:inherit;line-height:inherit}:host(cds-truncated-text){display:block;inline-size:100%}@media (prefers-reduced-motion:no-preference){:host(cds-truncated-text) .cds--truncated-text_transition{transition:max-height .11s cubic-bezier(.2,0,.38,.9)}}:host(cds-truncated-text) .cds--truncated-text_content{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp,0);text-overflow:clip;white-space:normal}:host(cds-truncated-text) .cds--truncated-text_content:focus-visible{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){:host(cds-truncated-text) .cds--truncated-text_content:focus-visible{outline-style:dotted}}:host(cds-truncated-text) .cds--truncated-text_content--closing{-webkit-line-clamp:none}:host(cds-truncated-text) cds-tooltip{display:inline-flex}:host(cds-truncated-text) .cds--truncated-text_tooltip-trigger{display:inline;padding:0;border:0;background:none;color:inherit;cursor:default;font:inherit;text-align:inherit}:host(cds-truncated-text) .cds--truncated-text_tooltip-trigger:focus-visible{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){:host(cds-truncated-text) .cds--truncated-text_tooltip-trigger:focus-visible{outline-style:dotted}}:host(cds-truncated-text) .cds--truncated-text_button-collapse:focus-visible,:host(cds-truncated-text) .cds--truncated-text_button-expand:focus-visible,:host(cds-truncated-text) button:focus-visible{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){:host(cds-truncated-text) .cds--truncated-text_button-collapse:focus-visible,:host(cds-truncated-text) .cds--truncated-text_button-expand:focus-visible,:host(cds-truncated-text) button:focus-visible{outline-style:dotted}}.cds--truncated-text_button-collapse,.cds--truncated-text_button-expand{padding:0 .125rem;color:var(--cds-link-primary,#0f62fe)}.cds--truncated-text_button-collapse.cds--truncated-text_button-hide,.cds--truncated-text_button-expand.cds--truncated-text_button-hide{display:none}.cds--truncated-text_button-expand.cds--truncated-text_button-layered{background-color:var(--cds-layer)}.cds--truncated-text_button-expand:dir(ltr):before{background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,var(--cds-background,#fff) 0)}.cds--truncated-text_button-expand.cds--truncated-text_button-layered:dir(ltr):before{background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,var(--cds-layer) 0)}.cds--truncated-text_button-expand:dir(rtl):before{background:linear-gradient(270deg,hsla(0,0%,100%,0) 0,var(--cds-background,#fff) 0)}.cds--truncated-text_button-expand.cds--truncated-text_button-layered:dir(rtl):before{background:linear-gradient(270deg,hsla(0,0%,100%,0) 0,var(--cds-layer) 0)}.cds--truncated-text_button-collapse{background-color:transparent}"]);
11
+ //#endregion
12
+ export { truncated_text_default as default };
13
+
14
+ //# sourceMappingURL=truncated-text.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncated-text.scss.js","names":[],"sources":["../../../src/components/truncated-text/truncated-text.scss?lit"],"sourcesContent":["/*\n* Copyright IBM Corp. 2025, 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\n$css--plex: true !default;\n\n@use '@carbon/styles/scss/config' as *;\n@use '@carbon/styles/scss/utilities' as *;\n@use '@carbon/styles/scss/spacing' as *;\n@use '@carbon/styles/scss/theme';\n@use '@carbon/styles/scss/motion' as *;\n\n$block-class: #{$prefix}--truncated-text;\n\n// Common reset button style\n%reset-button {\n border: none;\n cursor: pointer;\n font: inherit;\n line-height: inherit;\n}\n\n// Mixin for directional gradients\n@mixin gradient-bg($direction, $color) {\n background: linear-gradient($direction, rgba(255, 255, 255, 0) 0%, $color 0%);\n}\n\n:host(#{$prefix}-truncated-text) {\n display: block;\n inline-size: 100%;\n\n .#{$block-class}_transition {\n @media (prefers-reduced-motion: no-preference) {\n transition: max-height $duration-fast-02 motion(standard, productive);\n }\n }\n\n .#{$block-class}_content {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--line-clamp, 0);\n text-overflow: clip;\n white-space: normal;\n\n &:focus-visible {\n @include focus-outline('outline');\n }\n }\n\n .#{$block-class}_content--closing {\n -webkit-line-clamp: none;\n }\n\n #{$prefix}-tooltip {\n display: inline-flex;\n }\n\n .#{$block-class}_tooltip-trigger {\n display: inline;\n padding: 0;\n border: 0;\n background: none;\n color: inherit;\n cursor: default;\n font: inherit;\n text-align: inherit;\n\n &:focus-visible {\n @include focus-outline('outline');\n }\n }\n\n button:focus-visible,\n .#{$block-class}_button-expand:focus-visible,\n .#{$block-class}_button-collapse:focus-visible {\n @include focus-outline('outline');\n }\n}\n\n.#{$block-class}_button-expand,\n.#{$block-class}_button-collapse {\n @extend %reset-button;\n\n padding: 0 $spacing-01;\n color: theme.$link-primary;\n\n &.#{$block-class}_button-hide {\n display: none;\n }\n}\n\n.#{$block-class}_button-expand {\n &.#{$block-class}_button-layered {\n background-color: theme.$layer;\n }\n\n // Gradient LTR\n &:dir(ltr)::before {\n @include gradient-bg(90deg, theme.$background);\n }\n\n &.#{$block-class}_button-layered:dir(ltr)::before {\n @include gradient-bg(90deg, theme.$layer);\n }\n\n // Gradient RTL\n &:dir(rtl)::before {\n @include gradient-bg(270deg, theme.$background);\n }\n\n &.#{$block-class}_button-layered:dir(rtl)::before {\n @include gradient-bg(270deg, theme.$layer);\n }\n}\n\n.#{$block-class}_button-collapse {\n background-color: transparent;\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2024
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -7,7 +7,7 @@
7
7
  export interface CarbonIconElement {
8
8
  elem: string;
9
9
  attrs: Record<string, string | number>;
10
- content: (CarbonIconElement | string)[];
10
+ content?: (CarbonIconElement | string)[];
11
11
  }
12
12
  export interface CarbonIconDescriptor {
13
13
  elem: string;
@@ -1 +1 @@
1
- {"version":3,"file":"icon-loader-utils.d.ts","sourceRoot":"","sources":["../../../src/globals/internal/icon-loader-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC;CACzC;AAGD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AASjE;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAM,UA+B7D;AAiBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,IAC/C,aAAY,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAM,4HAIrE"}
1
+ {"version":3,"file":"icon-loader-utils.d.ts","sourceRoot":"","sources":["../../../src/globals/internal/icon-loader-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC;CAC1C;AAGD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AASjE;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAM,UA+B7D;AAiBD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,IAC/C,aAAY,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAM,4HAIrE"}