@carbon/web-components 2.54.0 → 2.55.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 (475) hide show
  1. package/custom-elements.json +331 -187
  2. package/es/components/accordion/accordion.scss.js +1 -1
  3. package/es/components/ai-label/ai-label.scss.js +1 -1
  4. package/es/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  5. package/es/components/badge-indicator/badge-indicator.scss.js +1 -1
  6. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  7. package/es/components/button/button.d.ts +1 -1
  8. package/es/components/button/button.d.ts.map +1 -1
  9. package/es/components/button/button.js +7 -5
  10. package/es/components/button/button.js.map +1 -1
  11. package/es/components/button/button.scss.js +1 -1
  12. package/es/components/checkbox/checkbox.scss.js +1 -1
  13. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  14. package/es/components/combo-box/combo-box.scss.js +1 -1
  15. package/es/components/combo-button/combo-button.scss.js +1 -1
  16. package/es/components/contained-list/contained-list.scss.js +1 -1
  17. package/es/components/content-switcher/content-switcher.scss.js +1 -1
  18. package/es/components/copy-button/copy-button.scss.js +1 -1
  19. package/es/components/data-table/data-table.scss.js +1 -1
  20. package/es/components/date-picker/date-picker.scss.js +1 -1
  21. package/es/components/date-picker/date-picker.scss.js.map +1 -1
  22. package/es/components/dialog/dialog-body.js +1 -1
  23. package/es/components/dialog/dialog-close-button.js +1 -1
  24. package/es/components/dialog/dialog-footer.js +1 -1
  25. package/es/components/dialog/dialog-subtitle.js +1 -1
  26. package/es/components/dialog/dialog-title.js +1 -1
  27. package/es/components/dialog/dialog.d.ts +18 -7
  28. package/es/components/dialog/dialog.d.ts.map +1 -1
  29. package/es/components/dialog/dialog.js +51 -17
  30. package/es/components/dialog/dialog.js.map +1 -1
  31. package/es/components/dialog/dialog.scss.js +1 -1
  32. package/es/components/dialog/dialog.scss.js.map +1 -1
  33. package/es/components/dropdown/dropdown.scss.js +1 -1
  34. package/es/components/feature-flags/index.d.ts.map +1 -1
  35. package/es/components/feature-flags/index.js +8 -3
  36. package/es/components/feature-flags/index.js.map +1 -1
  37. package/es/components/file-uploader/file-uploader-button.d.ts.map +1 -1
  38. package/es/components/file-uploader/file-uploader-button.js +3 -2
  39. package/es/components/file-uploader/file-uploader-button.js.map +1 -1
  40. package/es/components/file-uploader/file-uploader-drop-container.d.ts +1 -1
  41. package/es/components/file-uploader/file-uploader-drop-container.d.ts.map +1 -1
  42. package/es/components/file-uploader/file-uploader-drop-container.js +3 -2
  43. package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
  44. package/es/components/file-uploader/file-uploader-item.d.ts +4 -0
  45. package/es/components/file-uploader/file-uploader-item.d.ts.map +1 -1
  46. package/es/components/file-uploader/file-uploader-item.js +6 -0
  47. package/es/components/file-uploader/file-uploader-item.js.map +1 -1
  48. package/es/components/file-uploader/file-uploader.scss.js +1 -1
  49. package/es/components/file-uploader/file-uploader.scss.js.map +1 -1
  50. package/es/components/fluid-combo-box/fluid-combo-box.scss.js +1 -1
  51. package/es/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
  52. package/es/components/fluid-form/fluid-form.scss.js +1 -1
  53. package/es/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
  54. package/es/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  55. package/es/components/fluid-password-input/fluid-password-input.scss.js +1 -1
  56. package/es/components/fluid-search/fluid-search.scss.js +1 -1
  57. package/es/components/fluid-select/fluid-select.scss.js +1 -1
  58. package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  59. package/es/components/fluid-textarea/fluid-textarea.scss.js +1 -1
  60. package/es/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
  61. package/es/components/form/form-item.scss.js +1 -1
  62. package/es/components/form/form.scss.js +1 -1
  63. package/es/components/form-group/form-group.scss.js +1 -1
  64. package/es/components/heading/heading.scss.js +1 -1
  65. package/es/components/icon-button/icon-button.scss.js +1 -1
  66. package/es/components/icon-indicator/icon-indicator.scss.js +1 -1
  67. package/es/components/inline-loading/inline-loading.scss.js +1 -1
  68. package/es/components/link/link.d.ts +1 -1
  69. package/es/components/link/link.d.ts.map +1 -1
  70. package/es/components/link/link.js.map +1 -1
  71. package/es/components/link/link.scss.js +1 -1
  72. package/es/components/list/list.scss.js +1 -1
  73. package/es/components/loading/loading.scss.js +1 -1
  74. package/es/components/menu/menu-item.d.ts.map +1 -1
  75. package/es/components/menu/menu-item.js +3 -3
  76. package/es/components/menu/menu-item.js.map +1 -1
  77. package/es/components/menu/menu-item.scss.js +1 -1
  78. package/es/components/menu/menu.scss.js +1 -1
  79. package/es/components/menu-button/menu-button.scss.js +1 -1
  80. package/es/components/modal/modal-base.d.ts +144 -0
  81. package/es/components/modal/modal-base.d.ts.map +1 -0
  82. package/es/components/modal/modal-base.js +229 -0
  83. package/es/components/modal/modal-base.js.map +1 -0
  84. package/es/components/modal/modal.d.ts +15 -89
  85. package/es/components/modal/modal.d.ts.map +1 -1
  86. package/es/components/modal/modal.js +66 -169
  87. package/es/components/modal/modal.js.map +1 -1
  88. package/es/components/modal/modal.scss.js +1 -1
  89. package/es/components/modal/modal.scss.js.map +1 -1
  90. package/es/components/multi-select/multi-select.d.ts +4 -0
  91. package/es/components/multi-select/multi-select.d.ts.map +1 -1
  92. package/es/components/multi-select/multi-select.js +4 -1
  93. package/es/components/multi-select/multi-select.js.map +1 -1
  94. package/es/components/multi-select/multi-select.scss.js +1 -1
  95. package/es/components/notification/actionable-notification.scss.js +1 -1
  96. package/es/components/notification/inline-notification.scss.js +1 -1
  97. package/es/components/notification/toast-notification.scss.js +1 -1
  98. package/es/components/number-input/number-input.scss.js +1 -1
  99. package/es/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
  100. package/es/components/overflow-menu/overflow-menu-item.js +4 -3
  101. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  102. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  103. package/es/components/page-header/index.d.ts +4 -0
  104. package/es/components/page-header/index.d.ts.map +1 -1
  105. package/es/components/page-header/page-header-breadcrumb.d.ts +7 -0
  106. package/es/components/page-header/page-header-breadcrumb.d.ts.map +1 -1
  107. package/es/components/page-header/page-header-breadcrumb.js +7 -0
  108. package/es/components/page-header/page-header-breadcrumb.js.map +1 -1
  109. package/es/components/page-header/page-header-content-text.d.ts +7 -0
  110. package/es/components/page-header/page-header-content-text.d.ts.map +1 -1
  111. package/es/components/page-header/page-header-content-text.js +7 -0
  112. package/es/components/page-header/page-header-content-text.js.map +1 -1
  113. package/es/components/page-header/page-header-content.d.ts +7 -0
  114. package/es/components/page-header/page-header-content.d.ts.map +1 -1
  115. package/es/components/page-header/page-header-content.js +7 -0
  116. package/es/components/page-header/page-header-content.js.map +1 -1
  117. package/es/components/page-header/page-header-hero-image.d.ts +7 -0
  118. package/es/components/page-header/page-header-hero-image.d.ts.map +1 -1
  119. package/es/components/page-header/page-header-hero-image.js +7 -0
  120. package/es/components/page-header/page-header-hero-image.js.map +1 -1
  121. package/es/components/page-header/page-header-tabs.d.ts +7 -0
  122. package/es/components/page-header/page-header-tabs.d.ts.map +1 -1
  123. package/es/components/page-header/page-header-tabs.js +7 -0
  124. package/es/components/page-header/page-header-tabs.js.map +1 -1
  125. package/es/components/page-header/page-header.d.ts +7 -0
  126. package/es/components/page-header/page-header.d.ts.map +1 -1
  127. package/es/components/page-header/page-header.js +7 -0
  128. package/es/components/page-header/page-header.js.map +1 -1
  129. package/es/components/page-header/page-header.scss.js +1 -1
  130. package/es/components/page-header/page-header.scss.js.map +1 -1
  131. package/es/components/pagination/pagination.scss.js +1 -1
  132. package/es/components/pagination-nav/pagination-nav.scss.js +1 -1
  133. package/es/components/password-input/password-input.scss.js +1 -1
  134. package/es/components/popover/popover.scss.js +1 -1
  135. package/es/components/progress-bar/progress-bar.scss.js +1 -1
  136. package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
  137. package/es/components/radio-button/radio-button.scss.js +1 -1
  138. package/es/components/search/search.d.ts +4 -0
  139. package/es/components/search/search.d.ts.map +1 -1
  140. package/es/components/search/search.js +4 -1
  141. package/es/components/search/search.js.map +1 -1
  142. package/es/components/search/search.scss.js +1 -1
  143. package/es/components/select/select.scss.js +1 -1
  144. package/es/components/shape-indicator/shape-indicator.scss.js +1 -1
  145. package/es/components/side-panel/side-panel.d.ts +1 -1
  146. package/es/components/side-panel/side-panel.js +1 -1
  147. package/es/components/side-panel/side-panel.js.map +1 -1
  148. package/es/components/skeleton-icon/skeleton-icon.scss.js +1 -1
  149. package/es/components/skeleton-placeholder/skeleton-placeholder.scss.js +1 -1
  150. package/es/components/skeleton-text/skeleton-text.scss.js +1 -1
  151. package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
  152. package/es/components/slider/slider.scss.js +1 -1
  153. package/es/components/slug/slug.scss.js +1 -1
  154. package/es/components/stack/stack.scss.js +1 -1
  155. package/es/components/structured-list/structured-list.scss.js +1 -1
  156. package/es/components/tabs/defs.d.ts +26 -0
  157. package/es/components/tabs/defs.d.ts.map +1 -1
  158. package/es/components/tabs/defs.js +28 -1
  159. package/es/components/tabs/defs.js.map +1 -1
  160. package/es/components/tabs/index.d.ts +1 -0
  161. package/es/components/tabs/index.d.ts.map +1 -1
  162. package/es/components/tabs/index.js +1 -0
  163. package/es/components/tabs/stories/tabs-wrapper.d.ts +9 -0
  164. package/es/components/tabs/stories/tabs-wrapper.d.ts.map +1 -1
  165. package/es/components/tabs/stories/tabs-wrapper.js +24 -10
  166. package/es/components/tabs/stories/tabs-wrapper.js.map +1 -1
  167. package/es/components/tabs/tab.d.ts +60 -1
  168. package/es/components/tabs/tab.d.ts.map +1 -1
  169. package/es/components/tabs/tab.js +76 -9
  170. package/es/components/tabs/tab.js.map +1 -1
  171. package/es/components/tabs/tabs-vertical.d.ts +29 -0
  172. package/es/components/tabs/tabs-vertical.d.ts.map +1 -0
  173. package/es/components/tabs/tabs-vertical.js +113 -0
  174. package/es/components/tabs/tabs-vertical.js.map +1 -0
  175. package/es/components/tabs/tabs.d.ts +34 -4
  176. package/es/components/tabs/tabs.d.ts.map +1 -1
  177. package/es/components/tabs/tabs.js +86 -19
  178. package/es/components/tabs/tabs.js.map +1 -1
  179. package/es/components/tabs/tabs.scss.js +1 -1
  180. package/es/components/tabs/tabs.scss.js.map +1 -1
  181. package/es/components/tag/tag.scss.js +1 -1
  182. package/es/components/tearsheet/tearsheet.d.ts +1 -1
  183. package/es/components/tearsheet/tearsheet.js +1 -1
  184. package/es/components/tearsheet/tearsheet.js.map +1 -1
  185. package/es/components/text-input/text-input.scss.js +1 -1
  186. package/es/components/textarea/textarea.scss.js +1 -1
  187. package/es/components/tile/clickable-tile.d.ts +1 -1
  188. package/es/components/tile/clickable-tile.d.ts.map +1 -1
  189. package/es/components/tile/clickable-tile.js +6 -1
  190. package/es/components/tile/clickable-tile.js.map +1 -1
  191. package/es/components/tile/radio-tile.d.ts +4 -1
  192. package/es/components/tile/radio-tile.d.ts.map +1 -1
  193. package/es/components/tile/radio-tile.js +23 -6
  194. package/es/components/tile/radio-tile.js.map +1 -1
  195. package/es/components/tile/tile.scss.js +1 -1
  196. package/es/components/tile/tile.scss.js.map +1 -1
  197. package/es/components/time-picker/time-picker.scss.js +1 -1
  198. package/es/components/toggle/toggle.scss.js +1 -1
  199. package/es/components/toggle-tip/toggletip.scss.js +1 -1
  200. package/es/components/tooltip/tooltip.scss.js +1 -1
  201. package/es/components/tree-view/tree-view.scss.js +1 -1
  202. package/es/components/ui-shell/header.scss.js +1 -1
  203. package/es/components/ui-shell/side-nav.scss.js +1 -1
  204. package/es/globals/decorators/carbon-element.js.map +1 -1
  205. package/es/index.js +1 -1
  206. package/es-custom/components/accordion/accordion.scss.js +1 -1
  207. package/es-custom/components/ai-label/ai-label.scss.js +1 -1
  208. package/es-custom/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  209. package/es-custom/components/badge-indicator/badge-indicator.scss.js +1 -1
  210. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  211. package/es-custom/components/button/button.d.ts +1 -1
  212. package/es-custom/components/button/button.d.ts.map +1 -1
  213. package/es-custom/components/button/button.js +7 -5
  214. package/es-custom/components/button/button.js.map +1 -1
  215. package/es-custom/components/button/button.scss.js +1 -1
  216. package/es-custom/components/checkbox/checkbox.scss.js +1 -1
  217. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  218. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  219. package/es-custom/components/combo-button/combo-button.scss.js +1 -1
  220. package/es-custom/components/contained-list/contained-list.scss.js +1 -1
  221. package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
  222. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  223. package/es-custom/components/data-table/data-table.scss.js +1 -1
  224. package/es-custom/components/date-picker/date-picker.scss.js +1 -1
  225. package/es-custom/components/date-picker/date-picker.scss.js.map +1 -1
  226. package/es-custom/components/dialog/dialog-body.js +1 -1
  227. package/es-custom/components/dialog/dialog-close-button.js +1 -1
  228. package/es-custom/components/dialog/dialog-footer.js +1 -1
  229. package/es-custom/components/dialog/dialog-subtitle.js +1 -1
  230. package/es-custom/components/dialog/dialog-title.js +1 -1
  231. package/es-custom/components/dialog/dialog.d.ts +18 -7
  232. package/es-custom/components/dialog/dialog.d.ts.map +1 -1
  233. package/es-custom/components/dialog/dialog.js +51 -17
  234. package/es-custom/components/dialog/dialog.js.map +1 -1
  235. package/es-custom/components/dialog/dialog.scss.js +1 -1
  236. package/es-custom/components/dialog/dialog.scss.js.map +1 -1
  237. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  238. package/es-custom/components/feature-flags/index.d.ts.map +1 -1
  239. package/es-custom/components/feature-flags/index.js +8 -3
  240. package/es-custom/components/feature-flags/index.js.map +1 -1
  241. package/es-custom/components/file-uploader/file-uploader-button.d.ts.map +1 -1
  242. package/es-custom/components/file-uploader/file-uploader-button.js +3 -2
  243. package/es-custom/components/file-uploader/file-uploader-button.js.map +1 -1
  244. package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts +1 -1
  245. package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts.map +1 -1
  246. package/es-custom/components/file-uploader/file-uploader-drop-container.js +3 -2
  247. package/es-custom/components/file-uploader/file-uploader-drop-container.js.map +1 -1
  248. package/es-custom/components/file-uploader/file-uploader-item.d.ts +4 -0
  249. package/es-custom/components/file-uploader/file-uploader-item.d.ts.map +1 -1
  250. package/es-custom/components/file-uploader/file-uploader-item.js +6 -0
  251. package/es-custom/components/file-uploader/file-uploader-item.js.map +1 -1
  252. package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
  253. package/es-custom/components/file-uploader/file-uploader.scss.js.map +1 -1
  254. package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js +1 -1
  255. package/es-custom/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
  256. package/es-custom/components/fluid-form/fluid-form.scss.js +1 -1
  257. package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
  258. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  259. package/es-custom/components/fluid-password-input/fluid-password-input.scss.js +1 -1
  260. package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
  261. package/es-custom/components/fluid-select/fluid-select.scss.js +1 -1
  262. package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  263. package/es-custom/components/fluid-textarea/fluid-textarea.scss.js +1 -1
  264. package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
  265. package/es-custom/components/form/form-item.scss.js +1 -1
  266. package/es-custom/components/form/form.scss.js +1 -1
  267. package/es-custom/components/form-group/form-group.scss.js +1 -1
  268. package/es-custom/components/heading/heading.scss.js +1 -1
  269. package/es-custom/components/icon-button/icon-button.scss.js +1 -1
  270. package/es-custom/components/icon-indicator/icon-indicator.scss.js +1 -1
  271. package/es-custom/components/inline-loading/inline-loading.scss.js +1 -1
  272. package/es-custom/components/link/link.d.ts +1 -1
  273. package/es-custom/components/link/link.d.ts.map +1 -1
  274. package/es-custom/components/link/link.js.map +1 -1
  275. package/es-custom/components/link/link.scss.js +1 -1
  276. package/es-custom/components/list/list.scss.js +1 -1
  277. package/es-custom/components/loading/loading.scss.js +1 -1
  278. package/es-custom/components/menu/menu-item.d.ts.map +1 -1
  279. package/es-custom/components/menu/menu-item.js +3 -3
  280. package/es-custom/components/menu/menu-item.js.map +1 -1
  281. package/es-custom/components/menu/menu-item.scss.js +1 -1
  282. package/es-custom/components/menu/menu.scss.js +1 -1
  283. package/es-custom/components/menu-button/menu-button.scss.js +1 -1
  284. package/es-custom/components/modal/modal-base.d.ts +144 -0
  285. package/es-custom/components/modal/modal-base.d.ts.map +1 -0
  286. package/es-custom/components/modal/modal-base.js +229 -0
  287. package/es-custom/components/modal/modal-base.js.map +1 -0
  288. package/es-custom/components/modal/modal.d.ts +15 -89
  289. package/es-custom/components/modal/modal.d.ts.map +1 -1
  290. package/es-custom/components/modal/modal.js +66 -169
  291. package/es-custom/components/modal/modal.js.map +1 -1
  292. package/es-custom/components/modal/modal.scss.js +1 -1
  293. package/es-custom/components/modal/modal.scss.js.map +1 -1
  294. package/es-custom/components/multi-select/multi-select.d.ts +4 -0
  295. package/es-custom/components/multi-select/multi-select.d.ts.map +1 -1
  296. package/es-custom/components/multi-select/multi-select.js +4 -1
  297. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  298. package/es-custom/components/multi-select/multi-select.scss.js +1 -1
  299. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  300. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  301. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  302. package/es-custom/components/number-input/number-input.scss.js +1 -1
  303. package/es-custom/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
  304. package/es-custom/components/overflow-menu/overflow-menu-item.js +4 -3
  305. package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
  306. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  307. package/es-custom/components/page-header/index.d.ts +4 -0
  308. package/es-custom/components/page-header/index.d.ts.map +1 -1
  309. package/es-custom/components/page-header/page-header-breadcrumb.d.ts +7 -0
  310. package/es-custom/components/page-header/page-header-breadcrumb.d.ts.map +1 -1
  311. package/es-custom/components/page-header/page-header-breadcrumb.js +7 -0
  312. package/es-custom/components/page-header/page-header-breadcrumb.js.map +1 -1
  313. package/es-custom/components/page-header/page-header-content-text.d.ts +7 -0
  314. package/es-custom/components/page-header/page-header-content-text.d.ts.map +1 -1
  315. package/es-custom/components/page-header/page-header-content-text.js +7 -0
  316. package/es-custom/components/page-header/page-header-content-text.js.map +1 -1
  317. package/es-custom/components/page-header/page-header-content.d.ts +7 -0
  318. package/es-custom/components/page-header/page-header-content.d.ts.map +1 -1
  319. package/es-custom/components/page-header/page-header-content.js +7 -0
  320. package/es-custom/components/page-header/page-header-content.js.map +1 -1
  321. package/es-custom/components/page-header/page-header-hero-image.d.ts +7 -0
  322. package/es-custom/components/page-header/page-header-hero-image.d.ts.map +1 -1
  323. package/es-custom/components/page-header/page-header-hero-image.js +7 -0
  324. package/es-custom/components/page-header/page-header-hero-image.js.map +1 -1
  325. package/es-custom/components/page-header/page-header-tabs.d.ts +7 -0
  326. package/es-custom/components/page-header/page-header-tabs.d.ts.map +1 -1
  327. package/es-custom/components/page-header/page-header-tabs.js +7 -0
  328. package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
  329. package/es-custom/components/page-header/page-header.d.ts +7 -0
  330. package/es-custom/components/page-header/page-header.d.ts.map +1 -1
  331. package/es-custom/components/page-header/page-header.js +7 -0
  332. package/es-custom/components/page-header/page-header.js.map +1 -1
  333. package/es-custom/components/page-header/page-header.scss.js +1 -1
  334. package/es-custom/components/page-header/page-header.scss.js.map +1 -1
  335. package/es-custom/components/pagination/pagination.scss.js +1 -1
  336. package/es-custom/components/pagination-nav/pagination-nav.scss.js +1 -1
  337. package/es-custom/components/password-input/password-input.scss.js +1 -1
  338. package/es-custom/components/popover/popover.scss.js +1 -1
  339. package/es-custom/components/progress-bar/progress-bar.scss.js +1 -1
  340. package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
  341. package/es-custom/components/radio-button/radio-button.scss.js +1 -1
  342. package/es-custom/components/search/search.d.ts +4 -0
  343. package/es-custom/components/search/search.d.ts.map +1 -1
  344. package/es-custom/components/search/search.js +4 -1
  345. package/es-custom/components/search/search.js.map +1 -1
  346. package/es-custom/components/search/search.scss.js +1 -1
  347. package/es-custom/components/select/select.scss.js +1 -1
  348. package/es-custom/components/shape-indicator/shape-indicator.scss.js +1 -1
  349. package/es-custom/components/side-panel/side-panel.d.ts +1 -1
  350. package/es-custom/components/side-panel/side-panel.js +1 -1
  351. package/es-custom/components/side-panel/side-panel.js.map +1 -1
  352. package/es-custom/components/skeleton-icon/skeleton-icon.scss.js +1 -1
  353. package/es-custom/components/skeleton-placeholder/skeleton-placeholder.scss.js +1 -1
  354. package/es-custom/components/skeleton-text/skeleton-text.scss.js +1 -1
  355. package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
  356. package/es-custom/components/slider/slider.scss.js +1 -1
  357. package/es-custom/components/slug/slug.scss.js +1 -1
  358. package/es-custom/components/stack/stack.scss.js +1 -1
  359. package/es-custom/components/structured-list/structured-list.scss.js +1 -1
  360. package/es-custom/components/tabs/defs.d.ts +26 -0
  361. package/es-custom/components/tabs/defs.d.ts.map +1 -1
  362. package/es-custom/components/tabs/defs.js +28 -1
  363. package/es-custom/components/tabs/defs.js.map +1 -1
  364. package/es-custom/components/tabs/index.d.ts +1 -0
  365. package/es-custom/components/tabs/index.d.ts.map +1 -1
  366. package/es-custom/components/tabs/index.js +1 -0
  367. package/es-custom/components/tabs/stories/tabs-wrapper.d.ts +9 -0
  368. package/es-custom/components/tabs/stories/tabs-wrapper.d.ts.map +1 -1
  369. package/es-custom/components/tabs/stories/tabs-wrapper.js +24 -10
  370. package/es-custom/components/tabs/stories/tabs-wrapper.js.map +1 -1
  371. package/es-custom/components/tabs/tab.d.ts +60 -1
  372. package/es-custom/components/tabs/tab.d.ts.map +1 -1
  373. package/es-custom/components/tabs/tab.js +76 -9
  374. package/es-custom/components/tabs/tab.js.map +1 -1
  375. package/es-custom/components/tabs/tabs-vertical.d.ts +29 -0
  376. package/es-custom/components/tabs/tabs-vertical.d.ts.map +1 -0
  377. package/es-custom/components/tabs/tabs-vertical.js +113 -0
  378. package/es-custom/components/tabs/tabs-vertical.js.map +1 -0
  379. package/es-custom/components/tabs/tabs.d.ts +34 -4
  380. package/es-custom/components/tabs/tabs.d.ts.map +1 -1
  381. package/es-custom/components/tabs/tabs.js +86 -19
  382. package/es-custom/components/tabs/tabs.js.map +1 -1
  383. package/es-custom/components/tabs/tabs.scss.js +1 -1
  384. package/es-custom/components/tabs/tabs.scss.js.map +1 -1
  385. package/es-custom/components/tag/tag.scss.js +1 -1
  386. package/es-custom/components/tearsheet/tearsheet.d.ts +1 -1
  387. package/es-custom/components/tearsheet/tearsheet.js +1 -1
  388. package/es-custom/components/tearsheet/tearsheet.js.map +1 -1
  389. package/es-custom/components/text-input/text-input.scss.js +1 -1
  390. package/es-custom/components/textarea/textarea.scss.js +1 -1
  391. package/es-custom/components/tile/clickable-tile.d.ts +1 -1
  392. package/es-custom/components/tile/clickable-tile.d.ts.map +1 -1
  393. package/es-custom/components/tile/clickable-tile.js +6 -1
  394. package/es-custom/components/tile/clickable-tile.js.map +1 -1
  395. package/es-custom/components/tile/radio-tile.d.ts +4 -1
  396. package/es-custom/components/tile/radio-tile.d.ts.map +1 -1
  397. package/es-custom/components/tile/radio-tile.js +23 -6
  398. package/es-custom/components/tile/radio-tile.js.map +1 -1
  399. package/es-custom/components/tile/tile.scss.js +1 -1
  400. package/es-custom/components/tile/tile.scss.js.map +1 -1
  401. package/es-custom/components/time-picker/time-picker.scss.js +1 -1
  402. package/es-custom/components/toggle/toggle.scss.js +1 -1
  403. package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
  404. package/es-custom/components/tooltip/tooltip.scss.js +1 -1
  405. package/es-custom/components/tree-view/tree-view.scss.js +1 -1
  406. package/es-custom/components/ui-shell/header.scss.js +1 -1
  407. package/es-custom/components/ui-shell/side-nav.scss.js +1 -1
  408. package/es-custom/globals/decorators/carbon-element.js.map +1 -1
  409. package/es-custom/index.js +1 -1
  410. package/lib/components/button/button.d.ts +1 -1
  411. package/lib/components/button/button.d.ts.map +1 -1
  412. package/lib/components/dialog/dialog.d.ts +18 -7
  413. package/lib/components/dialog/dialog.d.ts.map +1 -1
  414. package/lib/components/feature-flags/index.d.ts.map +1 -1
  415. package/lib/components/file-uploader/file-uploader-button.d.ts.map +1 -1
  416. package/lib/components/file-uploader/file-uploader-drop-container.d.ts +1 -1
  417. package/lib/components/file-uploader/file-uploader-drop-container.d.ts.map +1 -1
  418. package/lib/components/file-uploader/file-uploader-item.d.ts +4 -0
  419. package/lib/components/file-uploader/file-uploader-item.d.ts.map +1 -1
  420. package/lib/components/link/link.d.ts +1 -1
  421. package/lib/components/link/link.d.ts.map +1 -1
  422. package/lib/components/menu/menu-item.d.ts.map +1 -1
  423. package/lib/components/modal/modal-base.d.ts +144 -0
  424. package/lib/components/modal/modal-base.d.ts.map +1 -0
  425. package/lib/components/modal/modal.d.ts +15 -89
  426. package/lib/components/modal/modal.d.ts.map +1 -1
  427. package/lib/components/multi-select/multi-select.d.ts +4 -0
  428. package/lib/components/multi-select/multi-select.d.ts.map +1 -1
  429. package/lib/components/overflow-menu/overflow-menu-item.d.ts.map +1 -1
  430. package/lib/components/page-header/index.d.ts +4 -0
  431. package/lib/components/page-header/index.d.ts.map +1 -1
  432. package/lib/components/page-header/page-header-breadcrumb.d.ts +7 -0
  433. package/lib/components/page-header/page-header-breadcrumb.d.ts.map +1 -1
  434. package/lib/components/page-header/page-header-content-text.d.ts +7 -0
  435. package/lib/components/page-header/page-header-content-text.d.ts.map +1 -1
  436. package/lib/components/page-header/page-header-content.d.ts +7 -0
  437. package/lib/components/page-header/page-header-content.d.ts.map +1 -1
  438. package/lib/components/page-header/page-header-hero-image.d.ts +7 -0
  439. package/lib/components/page-header/page-header-hero-image.d.ts.map +1 -1
  440. package/lib/components/page-header/page-header-tabs.d.ts +7 -0
  441. package/lib/components/page-header/page-header-tabs.d.ts.map +1 -1
  442. package/lib/components/page-header/page-header.d.ts +7 -0
  443. package/lib/components/page-header/page-header.d.ts.map +1 -1
  444. package/lib/components/search/search.d.ts +4 -0
  445. package/lib/components/search/search.d.ts.map +1 -1
  446. package/lib/components/side-panel/side-panel.d.ts +1 -1
  447. package/lib/components/tabs/defs.d.ts +26 -0
  448. package/lib/components/tabs/defs.d.ts.map +1 -1
  449. package/lib/components/tabs/defs.js +29 -0
  450. package/lib/components/tabs/defs.js.map +1 -1
  451. package/lib/components/tabs/index.d.ts +1 -0
  452. package/lib/components/tabs/index.d.ts.map +1 -1
  453. package/lib/components/tabs/stories/tabs-wrapper.d.ts +9 -0
  454. package/lib/components/tabs/stories/tabs-wrapper.d.ts.map +1 -1
  455. package/lib/components/tabs/tab.d.ts +60 -1
  456. package/lib/components/tabs/tab.d.ts.map +1 -1
  457. package/lib/components/tabs/tabs-vertical.d.ts +29 -0
  458. package/lib/components/tabs/tabs-vertical.d.ts.map +1 -0
  459. package/lib/components/tabs/tabs.d.ts +34 -4
  460. package/lib/components/tabs/tabs.d.ts.map +1 -1
  461. package/lib/components/tearsheet/tearsheet.d.ts +1 -1
  462. package/lib/components/tile/clickable-tile.d.ts +1 -1
  463. package/lib/components/tile/clickable-tile.d.ts.map +1 -1
  464. package/lib/components/tile/radio-tile.d.ts +4 -1
  465. package/lib/components/tile/radio-tile.d.ts.map +1 -1
  466. package/package.json +9 -9
  467. package/scss/components/date-picker/date-picker.scss +2 -1
  468. package/scss/components/dialog/dialog.scss +10 -4
  469. package/scss/components/file-uploader/file-uploader.scss +4 -0
  470. package/scss/components/modal/modal.scss +28 -1
  471. package/scss/components/page-header/page-header.scss +2 -0
  472. package/scss/components/tabs/tabs-story.scss +5 -0
  473. package/scss/components/tabs/tabs.scss +289 -6
  474. package/scss/components/tile/tile.scss +67 -1
  475. package/telemetry.yml +12 -6
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/web-components",
3
3
  "description": "Web components for the Carbon Design System",
4
- "version": "2.54.0",
4
+ "version": "2.55.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "es/index.js",
7
7
  "module": "es/index.js",
@@ -66,8 +66,8 @@
66
66
  },
67
67
  "dependencies": {
68
68
  "@carbon/icon-helpers": "10.47.0",
69
- "@carbon/icons": "^11.80.0",
70
- "@carbon/styles": "^1.106.0",
69
+ "@carbon/icons": "^11.81.0",
70
+ "@carbon/styles": "^1.107.0",
71
71
  "@carbon/utilities": "^0.17.0",
72
72
  "@floating-ui/dom": "^1.6.3",
73
73
  "@ibm/telemetry-js": "^1.10.2",
@@ -77,8 +77,8 @@
77
77
  "tslib": "^2.6.3"
78
78
  },
79
79
  "devDependencies": {
80
- "@carbon/layout": "^11.52.0",
81
- "@carbon/motion": "^11.45.0",
80
+ "@carbon/layout": "^11.53.0",
81
+ "@carbon/motion": "^11.46.0",
82
82
  "@juggle/resize-observer": "^3.4.0",
83
83
  "@mordech/vite-lit-loader": "^0.40.0",
84
84
  "@open-wc/testing": "^4.0.0",
@@ -94,16 +94,16 @@
94
94
  "@web/test-runner-puppeteer": "^0.18.0",
95
95
  "@webcomponents/webcomponentsjs": "^2.8.0",
96
96
  "autoprefixer": "^10.4.0",
97
- "cssnano": "^7.1.0",
97
+ "cssnano": "^8.0.0",
98
98
  "flatpickr": "4.6.13",
99
99
  "globby": "^16.0.0",
100
100
  "remark-gfm": "^4.0.0",
101
101
  "rimraf": "^6.0.1",
102
102
  "sass": "^1.93.2",
103
103
  "storybook": "^10.3.5",
104
- "storybook-addon-accessibility-checker": "^9.2.0-rc.3",
104
+ "storybook-addon-accessibility-checker": "^9.2.0-rc.4",
105
105
  "tsdown": "^0.21.0",
106
- "typescript-config-carbon": "^0.9.0",
106
+ "typescript-config-carbon": "^0.10.0",
107
107
  "vite": "^7.2.4",
108
108
  "web-component-analyzer": "2.0.0"
109
109
  },
@@ -126,5 +126,5 @@
126
126
  }
127
127
  ]
128
128
  },
129
- "gitHead": "13c5c427ad4413aea5184a0a593e6452bc163e4a"
129
+ "gitHead": "2d98f4ee9914fa44acba58f62599c3f5382acad0"
130
130
  }
@@ -23,7 +23,8 @@ $css--plex: true !default;
23
23
  @extend .#{$prefix}--date-picker;
24
24
 
25
25
  #floating-menu-container {
26
- position: absolute;
26
+ position: fixed;
27
+ z-index: z('dropdown');
27
28
  inline-size: 100%;
28
29
  }
29
30
 
@@ -17,10 +17,6 @@
17
17
  @use '@carbon/styles/scss/components/button' as *;
18
18
  @use '@carbon/styles/scss/utilities/focus-outline' as *;
19
19
 
20
- :host(#{$prefix}-dialog) dialog {
21
- @extend .#{$prefix}--dialog;
22
- }
23
-
24
20
  :host(#{$prefix}-dialog[has-scrolling-content])
25
21
  ::slotted(#{$prefix}-dialog-body),
26
22
  :host(#{$prefix}-dialog) ::slotted(#{$prefix}-dialog-body[is-scrollable]) {
@@ -90,6 +86,9 @@
90
86
  ::slotted(#{$prefix}-dialog-footer-button) {
91
87
  flex: 0 1 25%;
92
88
  }
89
+ ::slotted(#{$prefix}-inline-loading) {
90
+ flex: 0 1 25%;
91
+ }
93
92
  }
94
93
 
95
94
  :host(#{$prefix}-dialog-footer-button:first-of-type) .#{$prefix}--btn {
@@ -113,6 +112,13 @@
113
112
  }
114
113
  }
115
114
 
115
+ :host(#{$prefix}-dialog-footer) ::slotted(#{$prefix}-inline-loading) {
116
+ flex: 0 1 50%;
117
+ cursor: not-allowed;
118
+ padding-block: $spacing-05 $spacing-07;
119
+ padding-inline-start: $spacing-05;
120
+ }
121
+
116
122
  :host(#{$prefix}-dialog-footer) ::slotted(#{$prefix}-button),
117
123
  :host(#{$prefix}-dialog-footer-button) {
118
124
  flex: 0 1 50%;
@@ -45,6 +45,10 @@
45
45
  }
46
46
  }
47
47
 
48
+ :host(#{$prefix}-file-uploader-item[disabled]) {
49
+ @extend .#{$prefix}--file__selected-file--disabled;
50
+ }
51
+
48
52
  :host(#{$prefix}-file-uploader-item[size='md']) {
49
53
  @extend .#{$prefix}--file__selected-file--md;
50
54
  }
@@ -28,7 +28,6 @@
28
28
  visibility: inherit;
29
29
 
30
30
  .#{$prefix}--modal-container {
31
- overflow: hidden;
32
31
  transform: translate3d(0, 0, 0);
33
32
  transition: transform $duration-moderate-02 motion(entrance, expressive);
34
33
  }
@@ -231,3 +230,31 @@
231
230
  inset-block-start: to-rem(10px);
232
231
  inset-inline-end: to-rem(48px);
233
232
  }
233
+
234
+ // `enable-dialog-element` feature flag styles
235
+ :host(#{$prefix}-modal[enable-dialog-element]) #{$prefix}-dialog::part(dialog) {
236
+ @extend .#{$prefix}--modal-container;
237
+
238
+ // Prevent a 2px border when using `enable-dialog-element` feature flag
239
+ border: none;
240
+ }
241
+
242
+ :host(#{$prefix}-modal[enable-dialog-element][size='xs'])
243
+ #{$prefix}-dialog::part(dialog) {
244
+ @extend .#{$prefix}--modal-container--xs;
245
+ }
246
+
247
+ :host(#{$prefix}-modal[enable-dialog-element][size='sm'])
248
+ #{$prefix}-dialog::part(dialog) {
249
+ @extend .#{$prefix}--modal-container--sm;
250
+ }
251
+
252
+ :host(#{$prefix}-modal[enable-dialog-element][size='lg'])
253
+ #{$prefix}-dialog::part(dialog) {
254
+ @extend .#{$prefix}--modal-container--lg;
255
+ }
256
+
257
+ :host(#{$prefix}-modal[enable-dialog-element]:not([open]))
258
+ #{$prefix}-dialog::part(dialog) {
259
+ display: none;
260
+ }
@@ -4,6 +4,8 @@
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.
6
6
  //
7
+ // @deprecated PageHeader has moved to Carbon for IBM Products.
8
+ // See https://github.com/carbon-design-system/carbon/issues/21926
7
9
 
8
10
  @use 'sass:math';
9
11
 
@@ -46,3 +46,8 @@ body {
46
46
  #{$prefix}-tabs[type='contained'] ~ .#{$prefix}--tab-content {
47
47
  background: $layer;
48
48
  }
49
+
50
+ .#{$prefix}-ce-demo-devenv--tab-story-button {
51
+ display: inline-block;
52
+ inline-size: auto;
53
+ }
@@ -20,6 +20,7 @@
20
20
  @use '@carbon/styles/scss/utilities/layout';
21
21
  @use '@carbon/styles/scss/utilities/convert';
22
22
  @use '@carbon/styles/scss/utilities/skeleton' as *;
23
+ @use '@carbon/styles/scss/utilities/update_fields_on_layer' as *;
23
24
 
24
25
  $inset-transition: inset 110ms motion(standard, productive);
25
26
 
@@ -27,6 +28,7 @@ $inset-transition: inset 110ms motion(standard, productive);
27
28
  :host(#{$prefix}-tabs-skeleton) {
28
29
  @extend .#{$prefix}--tabs;
29
30
  @include emit-layout-tokens();
31
+
30
32
  .#{$prefix}--tabs-nav-content-container {
31
33
  position: relative;
32
34
  overflow: scroll;
@@ -60,6 +62,10 @@ $inset-transition: inset 110ms motion(standard, productive);
60
62
  .#{$prefix}--tab--overflow-nav-button {
61
63
  background-color: var(--tabs-overflow-button-background, $background);
62
64
  }
65
+
66
+ .#{$prefix}--tab--overflow-nav-button--hidden {
67
+ display: none;
68
+ }
63
69
  }
64
70
 
65
71
  :host(#{$prefix}-tabs) {
@@ -103,6 +109,121 @@ $inset-transition: inset 110ms motion(standard, productive);
103
109
  }
104
110
  }
105
111
 
112
+ :host(#{$prefix}-tabs[type='contained']) {
113
+ .#{$prefix}--tab--overflow-nav-button {
114
+ background-color: $layer-accent;
115
+ inline-size: $spacing-09;
116
+
117
+ &:hover {
118
+ background-color: $layer-accent-hover;
119
+ }
120
+
121
+ &:active {
122
+ background-color: $layer-accent-active;
123
+ }
124
+ }
125
+ }
126
+
127
+ :host(#{$prefix}-tabs[type='contained'][has-secondary-labels])
128
+ .#{$prefix}--tabs-nav-content-container {
129
+ block-size: $spacing-10;
130
+ }
131
+
132
+ :host(#{$prefix}-tabs[type='contained'][has-secondary-labels]) #{$prefix}-tab {
133
+ block-size: $spacing-10;
134
+ }
135
+
136
+ :host(#{$prefix}-tab[type='contained'][secondary-label]) {
137
+ block-size: $spacing-10;
138
+
139
+ a.#{$prefix}--tabs__nav-link {
140
+ display: flex;
141
+ flex-direction: column;
142
+ align-items: flex-start;
143
+ justify-content: center;
144
+ padding: 0 $spacing-05;
145
+ block-size: $spacing-10;
146
+ line-height: normal;
147
+ }
148
+
149
+ .#{$prefix}--tabs__nav-item-label-wrapper {
150
+ flex-direction: row;
151
+ align-items: center;
152
+ }
153
+
154
+ .#{$prefix}--tabs__nav-item-label {
155
+ line-height: var(--cds-body-compact-01-line-height);
156
+ }
157
+ }
158
+
159
+ :host(#{$prefix}-tab[type='contained'][secondary-label][selected]),
160
+ :host(#{$prefix}-tab[type='contained'][secondary-label][selected]:hover) {
161
+ a.#{$prefix}--tabs__nav-link {
162
+ display: flex;
163
+ flex-direction: column;
164
+ align-items: flex-start;
165
+ justify-content: center;
166
+ padding: 0 $spacing-05;
167
+ line-height: normal;
168
+ }
169
+ }
170
+
171
+ :host(#{$prefix}-tab[type='contained']) {
172
+ .#{$prefix}--tabs__nav-item-secondary-label {
173
+ @include type-style('label-01');
174
+
175
+ display: block;
176
+ overflow: hidden;
177
+ color: $text-secondary;
178
+ text-overflow: ellipsis;
179
+ white-space: nowrap;
180
+ }
181
+ }
182
+
183
+ :host(#{$prefix}-tab[type='contained'][selected]) {
184
+ .#{$prefix}--tabs__nav-item-secondary-label {
185
+ color: $text-primary;
186
+ }
187
+ }
188
+
189
+ :host(#{$prefix}-tab[type='contained'][disabled]) {
190
+ .#{$prefix}--tabs__nav-item-secondary-label {
191
+ color: $text-on-color-disabled;
192
+ }
193
+ }
194
+
195
+ :host(#{$prefix}-tabs[type='contained'][full-width]) {
196
+ display: flex;
197
+ inline-size: 100%;
198
+
199
+ .#{$prefix}--tabs-nav-content-container {
200
+ overflow: visible;
201
+ flex: 1 1 0%;
202
+ }
203
+
204
+ .#{$prefix}--tabs-nav-content,
205
+ .#{$prefix}--tabs-nav,
206
+ .#{$prefix}--tab--list {
207
+ inline-size: 100%;
208
+ }
209
+
210
+ .#{$prefix}--tab--list {
211
+ display: flex;
212
+ }
213
+ }
214
+
215
+ :host(#{$prefix}-tabs[type='contained'][full-width]) #{$prefix}-tab {
216
+ flex: 1 1 0%;
217
+ min-inline-size: 0;
218
+
219
+ .#{$prefix}--tabs__nav-link {
220
+ overflow: hidden;
221
+ inline-size: 100%;
222
+ text-overflow: ellipsis;
223
+ white-space: nowrap;
224
+ }
225
+ }
226
+
106
227
  :host(#{$prefix}-tab),
107
228
  :host(#{$prefix}-tab-skeleton) {
108
229
  display: flex;
@@ -111,7 +232,7 @@ $inset-transition: inset 110ms motion(standard, productive);
111
232
 
112
233
  .#{$prefix}--tabs__nav-item-label-wrapper {
113
234
  display: flex;
114
- align-items: center;
235
+ align-items: inherit;
115
236
  gap: $spacing-03;
116
237
  }
117
238
 
@@ -145,6 +266,9 @@ $inset-transition: inset 110ms motion(standard, productive);
145
266
  outline: none;
146
267
  }
147
268
 
269
+ :host(#{$prefix}-tab:not([type='contained']):not([vertical])) {
270
+ margin-inline-end: convert.to-rem(1px);
271
+ }
148
272
  :host(#{$prefix}-tab:not([type='contained'])) {
149
273
  .#{$prefix}--tabs__nav-link {
150
274
  padding-block-end: calc(#{$spacing-03} + #{convert.to-rem(1px)});
@@ -152,10 +276,19 @@ $inset-transition: inset 110ms motion(standard, productive);
152
276
  }
153
277
  }
154
278
 
279
+ :host(#{$prefix}-tab:not([type='contained']):not([vertical]):last-of-type) {
280
+ margin-inline-end: 0;
281
+ }
155
282
  :host(#{$prefix}-tab:not([type='contained']))
156
283
  + :host(#{$prefix}-tab:not([type='contained'])) {
157
284
  margin-inline-start: convert.to-rem(1px);
158
285
  }
286
+ :host(#{$prefix}-tab[vertical]) {
287
+ .#{$prefix}--tabs__nav-link {
288
+ padding-block-end: $spacing-03;
289
+ padding-block-start: $spacing-03;
290
+ }
291
+ }
159
292
 
160
293
  :host(#{$prefix}-tab[badge-indicator][icon-only]:not([icon-size='lg']))
161
294
  #{$prefix}-badge-indicator,
@@ -249,7 +382,7 @@ $inset-transition: inset 110ms motion(standard, productive);
249
382
  }
250
383
  }
251
384
 
252
- :host(#{$prefix}-tab:hover:not([selected])) {
385
+ :host(#{$prefix}-tab:hover:not([selected]):not([vertical])) {
253
386
  background-color: transparent;
254
387
 
255
388
  a.#{$prefix}--tabs__nav-link {
@@ -265,7 +398,7 @@ $inset-transition: inset 110ms motion(standard, productive);
265
398
 
266
399
  :host(#{$prefix}-tabs[type='contained'])
267
400
  .#{$prefix}--tabs-nav-content-container {
268
- block-size: $spacing-09;
401
+ block-size: layout.size('height');
269
402
  }
270
403
 
271
404
  :host(#{$prefix}-tab[type='contained']) {
@@ -273,9 +406,9 @@ $inset-transition: inset 110ms motion(standard, productive);
273
406
 
274
407
  a.#{$prefix}--tabs__nav-link {
275
408
  padding: $spacing-03 $spacing-05;
276
- block-size: $spacing-09;
409
+ block-size: layout.size('height');
277
410
  // height - vertical padding
278
- line-height: calc(#{$spacing-09} - (#{$spacing-03} * 2));
411
+ line-height: calc(#{layout.size('height')} - (#{$spacing-03} * 2));
279
412
  }
280
413
  }
281
414
 
@@ -327,7 +460,7 @@ $inset-transition: inset 110ms motion(standard, productive);
327
460
  // Draws the border without affecting the inner-content
328
461
  box-shadow: inset 0 $spacing-01 0 0 $interactive;
329
462
  // height - vertical padding
330
- line-height: calc(#{$spacing-09} - (#{$spacing-03} * 2));
463
+ line-height: calc(#{layout.size('height')} - (#{$spacing-03} * 2));
331
464
  }
332
465
 
333
466
  .#{$prefix}--tabs__nav-link:focus,
@@ -440,9 +573,159 @@ $inset-transition: inset 110ms motion(standard, productive);
440
573
  }
441
574
  }
442
575
 
576
+ :host(#{$prefix}-tab[vertical]) .#{$prefix}--tabs__nav-link {
577
+ display: flex;
578
+ align-items: center;
579
+ border-block-end: 1px solid $border-subtle;
580
+ }
581
+
582
+ :host(#{$prefix}-tab[vertical][selected]) .#{$prefix}--tabs__nav-link {
583
+ border-block-end: 1px solid $border-subtle;
584
+ }
585
+
586
+ :host(#{$prefix}-tab[vertical][disabled]) .#{$prefix}--tabs__nav-link {
587
+ border-block-end: 1px solid $border-subtle;
588
+ }
589
+
590
+ //-----------------------------
591
+ // Vertical Tabs Wrapper
592
+ //-----------------------------
593
+
594
+ :host(#{$prefix}-tabs-vertical) {
595
+ @include emit-layout-tokens();
596
+ @include layout.use('density', $default: 'normal');
597
+
598
+ grid-column: span 2;
599
+ max-block-size: none;
600
+
601
+ &.#{$prefix}--css-grid {
602
+ box-shadow: inset -1px 0 $border-subtle;
603
+ }
604
+
605
+ ::slotted(#{$prefix}-tabs) {
606
+ grid-column: span 2;
607
+
608
+ @include breakpoint(lg) {
609
+ grid-column: span 4;
610
+ }
611
+ }
612
+
613
+ // Shadow-DOM wrapper for the panel slot — styled directly (no ::slotted needed)
614
+ .#{$prefix}-panel-container {
615
+ @include update_fields_on_layer;
616
+
617
+ background: $layer;
618
+ grid-column: 3 / -1;
619
+ overflow-y: auto;
620
+
621
+ @include breakpoint(lg) {
622
+ grid-column: 5 / -1;
623
+ }
624
+ }
625
+ }
626
+
627
+ // Slotted tab panel divs — match React's cds--tab-content styles
628
+ :host(#{$prefix}-tabs-vertical) ::slotted([role='tabpanel']) {
629
+ // stylelint-disable-next-line declaration-no-important
630
+ padding: layout.density('padding-inline') !important;
631
+ outline: none;
632
+ }
633
+
634
+ :host(#{$prefix}-tabs-vertical)
635
+ .panel-container
636
+ ::slotted([role='tabpanel']:focus) {
637
+ @include focus-outline('outline');
638
+ }
639
+
640
+ // cds-tabs when slotted inside cds-tabs-vertical (slot="tabs")
641
+ :host(#{$prefix}-tabs-vertical) ::slotted(#{$prefix}-tabs) {
642
+ background: $layer;
643
+ box-shadow: inset -1px 0 $border-subtle;
644
+ max-block-size: none;
645
+ }
646
+
647
+ // Internal styles for cds-tabs when inside cds-tabs-vertical
648
+ // These are applied via a CSS custom property / attribute set by the wrapper
649
+ :host(#{$prefix}-tabs[vertical]) {
650
+ .#{$prefix}--tabs-nav-content-container {
651
+ block-size: 100%;
652
+ overflow-x: hidden;
653
+ overflow-y: auto;
654
+ }
655
+
656
+ .#{$prefix}--tabs-nav-content {
657
+ position: relative;
658
+ block-size: 100%;
659
+ }
660
+
661
+ .#{$prefix}--tabs-nav {
662
+ position: relative;
663
+ }
664
+
665
+ .#{$prefix}--tab--list {
666
+ display: flex;
667
+ flex-direction: column;
668
+ }
669
+
670
+ .#{$prefix}--tab--overflow-nav-button {
671
+ display: none;
672
+ }
673
+
674
+ .#{$prefix}--tabs__nav-item-label {
675
+ display: -webkit-box;
676
+ overflow: hidden;
677
+ -webkit-box-orient: vertical;
678
+ -webkit-line-clamp: 2;
679
+ line-height: var(--cds-body-compact-01-line-height);
680
+ text-overflow: ellipsis;
681
+ white-space: normal;
682
+ }
683
+ }
684
+
685
+ :host(#{$prefix}-tab[vertical]) {
686
+ flex: none;
687
+ background-color: $layer-01;
688
+ block-size: $spacing-10;
689
+ border-inline-end: 1px solid $border-subtle;
690
+ box-shadow: inset 3px 0 0 0 $border-subtle;
691
+ inline-size: 100%;
692
+
693
+ .#{$prefix}--tabs__nav-item-label {
694
+ display: -webkit-box;
695
+ overflow: hidden;
696
+ -webkit-box-orient: vertical;
697
+ -webkit-line-clamp: 2;
698
+ line-height: var(--cds-body-compact-01-line-height);
699
+ text-overflow: ellipsis;
700
+ white-space: normal;
701
+ }
702
+ }
703
+
704
+ :host(#{$prefix}-tab[vertical][disabled]) {
705
+ border-inline-end: 1px solid $border-subtle;
706
+ box-shadow: inset 3px 0 0 0 $border-subtle;
707
+ }
708
+
709
+ :host(#{$prefix}-tab[vertical]:hover),
710
+ :host(#{$prefix}-tab[vertical][disabled]:hover) {
711
+ .#{$prefix}--tabs__nav-link {
712
+ border-block-end: 1px solid $border-subtle;
713
+ }
714
+ }
715
+
716
+ :host(#{$prefix}-tab[vertical][selected]) {
717
+ border-inline: none;
718
+ box-shadow: inset 3px 0 0 0 $border-interactive;
719
+ }
720
+
721
+ :host(#{$prefix}-tab[vertical]:not([selected]):not([disabled]):hover) {
722
+ background-color: $layer-hover;
723
+ box-shadow: inset 3px 0 0 0 $border-strong;
724
+ }
443
725
  :host(#{$prefix}-tab) {
444
726
  .#{$prefix}--tabs__nav-link--dismissable {
445
727
  display: flex;
728
+ align-items: flex-start;
446
729
  padding-inline-end: $spacing-08;
447
730
  }
448
731
  .#{$prefix}--tabs--dismissable.#{$prefix}--tabs--contained {
@@ -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.
@@ -122,6 +122,17 @@ $css--plex: true !default;
122
122
  }
123
123
  }
124
124
 
125
+ :host(#{$prefix}-radio-tile[enable-v12-tile-radio-icons]) {
126
+ .#{$prefix}--tile__checkmark {
127
+ opacity: 1;
128
+ }
129
+ }
130
+
131
+ :host(#{$prefix}-radio-tile[enable-v12-tile-radio-icons])
132
+ ::slotted([slot='ai-label']) {
133
+ inset-inline-end: 2.5rem;
134
+ }
135
+
125
136
  :host(#{$prefix}-radio-tile) ::slotted(:not([slot])),
126
137
  :host(#{$prefix}-clickable-tile) ::slotted(*),
127
138
  :host(#{$prefix}-selectable-tile) ::slotted(:not([slot])) {
@@ -292,3 +303,58 @@ $css--plex: true !default;
292
303
  border-end-end-radius: $spacing-03;
293
304
  }
294
305
  }
306
+
307
+ :host(#{$prefix}-clickable-tile[enable-tile-contrast]) {
308
+ .#{$prefix}--tile--clickable {
309
+ box-sizing: border-box;
310
+ border: 1px solid $border-tile;
311
+ }
312
+
313
+ .#{$prefix}--link--disabled {
314
+ box-sizing: border-box;
315
+ border: 1px solid $border-disabled;
316
+ }
317
+ }
318
+
319
+ :host(#{$prefix}-selectable-tile[enable-tile-contrast]) {
320
+ .#{$prefix}--tile--selectable {
321
+ border: 1px solid $border-tile;
322
+ }
323
+
324
+ .#{$prefix}--tile--is-selected {
325
+ border: 1px solid $layer-selected-inverse;
326
+ }
327
+
328
+ .#{$prefix}--tile--disabled {
329
+ border: 1px solid $border-disabled;
330
+ }
331
+ }
332
+
333
+ :host(#{$prefix}-expandable-tile[enable-tile-contrast]) {
334
+ .#{$prefix}--tile__chevron--interactive {
335
+ border: 1px solid $border-disabled;
336
+ }
337
+ }
338
+
339
+ :host(
340
+ #{$prefix}-expandable-tile[enable-tile-contrast]:not([with-interactive])
341
+ ) {
342
+ border: 1px solid $border-tile;
343
+ }
344
+
345
+ :host(#{$prefix}-radio-tile[enable-tile-contrast]) {
346
+ .#{$prefix}--tile--selectable {
347
+ box-sizing: border-box;
348
+ border: 1px solid $border-tile;
349
+ }
350
+
351
+ .#{$prefix}--tile--is-selected {
352
+ box-sizing: border-box;
353
+ border: 1px solid $layer-selected-inverse;
354
+ }
355
+
356
+ .#{$prefix}--tile--disabled {
357
+ box-sizing: border-box;
358
+ border: 1px solid $border-disabled;
359
+ }
360
+ }