@carbon/ibm-products-web-components 0.37.0 → 0.38.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 (275) hide show
  1. package/custom-elements.json +957 -4843
  2. package/es/components/about-modal/about-modal.d.ts +0 -350
  3. package/es/components/about-modal/about-modal.d.ts.map +1 -1
  4. package/es/components/about-modal/about-modal.scss.js +1 -1
  5. package/es/components/about-modal/about-modal.scss.js.map +1 -1
  6. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +0 -350
  7. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts.map +1 -1
  8. package/es/components/coachmark/coachmark-body.d.ts +0 -350
  9. package/es/components/coachmark/coachmark-body.d.ts.map +1 -1
  10. package/es/components/coachmark/coachmark-header.d.ts +0 -350
  11. package/es/components/coachmark/coachmark-header.d.ts.map +1 -1
  12. package/es/components/coachmark/coachmark-header.js +11 -2
  13. package/es/components/coachmark/coachmark-header.js.map +1 -1
  14. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +0 -350
  15. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts.map +1 -1
  16. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.js.map +1 -1
  17. package/es/components/coachmark/coachmark.d.ts +7 -350
  18. package/es/components/coachmark/coachmark.d.ts.map +1 -1
  19. package/es/components/coachmark/coachmark.js +10 -0
  20. package/es/components/coachmark/coachmark.js.map +1 -1
  21. package/es/components/guide-banner/guide-banner-element.d.ts +0 -350
  22. package/es/components/guide-banner/guide-banner-element.d.ts.map +1 -1
  23. package/es/components/guide-banner/guide-banner.d.ts +0 -350
  24. package/es/components/guide-banner/guide-banner.d.ts.map +1 -1
  25. package/es/components/interstitial-screen/interstitial-screen-body-item.d.ts +0 -350
  26. package/es/components/interstitial-screen/interstitial-screen-body-item.d.ts.map +1 -1
  27. package/es/components/interstitial-screen/interstitial-screen-body-item.scss.js +1 -1
  28. package/es/components/interstitial-screen/interstitial-screen-body-item.scss.js.map +1 -1
  29. package/es/components/interstitial-screen/interstitial-screen-body.d.ts +0 -350
  30. package/es/components/interstitial-screen/interstitial-screen-body.d.ts.map +1 -1
  31. package/es/components/interstitial-screen/interstitial-screen-body.scss.js +1 -1
  32. package/es/components/interstitial-screen/interstitial-screen-body.scss.js.map +1 -1
  33. package/es/components/interstitial-screen/interstitial-screen-footer.d.ts +0 -350
  34. package/es/components/interstitial-screen/interstitial-screen-footer.d.ts.map +1 -1
  35. package/es/components/interstitial-screen/interstitial-screen-header.d.ts +0 -350
  36. package/es/components/interstitial-screen/interstitial-screen-header.d.ts.map +1 -1
  37. package/es/components/interstitial-screen/interstitial-screen.d.ts +0 -350
  38. package/es/components/interstitial-screen/interstitial-screen.d.ts.map +1 -1
  39. package/es/components/notification-panel/notification-footer.d.ts +0 -350
  40. package/es/components/notification-panel/notification-footer.d.ts.map +1 -1
  41. package/es/components/notification-panel/notification-panel.d.ts +0 -350
  42. package/es/components/notification-panel/notification-panel.d.ts.map +1 -1
  43. package/es/components/notification-panel/notification.d.ts +0 -350
  44. package/es/components/notification-panel/notification.d.ts.map +1 -1
  45. package/es/components/options-tile/options-tile.d.ts +0 -350
  46. package/es/components/options-tile/options-tile.d.ts.map +1 -1
  47. package/es/components/page-header/_story-assets/overflowHandler.d.ts +99 -0
  48. package/es/components/page-header/_story-assets/overflowHandler.d.ts.map +1 -0
  49. package/es/components/page-header/_story-assets/overflowHandler.js +122 -0
  50. package/es/components/page-header/_story-assets/overflowHandler.js.map +1 -0
  51. package/es/components/page-header/index.d.ts +4 -1
  52. package/es/components/page-header/index.d.ts.map +1 -1
  53. package/es/components/page-header/index.js +3 -0
  54. package/es/components/page-header/page-header-actions-set/index.d.ts +10 -0
  55. package/es/components/page-header/page-header-actions-set/index.d.ts.map +1 -0
  56. package/es/components/page-header/page-header-actions-set/index.js +8 -0
  57. package/es/components/page-header/page-header-actions-set/page-header-actions-set.d.ts +50 -0
  58. package/es/components/page-header/page-header-actions-set/page-header-actions-set.d.ts.map +1 -0
  59. package/es/components/page-header/page-header-actions-set/page-header-actions-set.js +162 -0
  60. package/es/components/page-header/page-header-actions-set/page-header-actions-set.js.map +1 -0
  61. package/es/components/page-header/page-header-actions-set/page-header-actions-set.scss.js +15 -0
  62. package/es/components/page-header/page-header-actions-set/page-header-actions-set.scss.js.map +1 -0
  63. package/es/components/page-header/page-header-breadcrumbs-set/index.d.ts +10 -0
  64. package/es/components/page-header/page-header-breadcrumbs-set/index.d.ts.map +1 -0
  65. package/es/components/page-header/page-header-breadcrumbs-set/index.js +8 -0
  66. package/es/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.d.ts +48 -0
  67. package/es/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.d.ts.map +1 -0
  68. package/es/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.js +136 -0
  69. package/es/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.js.map +1 -0
  70. package/es/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.scss.js +15 -0
  71. package/es/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.scss.js.map +1 -0
  72. package/es/components/page-header/page-header-tags-set/index.d.ts +10 -0
  73. package/es/components/page-header/page-header-tags-set/index.d.ts.map +1 -0
  74. package/es/components/page-header/page-header-tags-set/index.js +8 -0
  75. package/es/components/page-header/page-header-tags-set/page-header-tags-set.d.ts +41 -0
  76. package/es/components/page-header/page-header-tags-set/page-header-tags-set.d.ts.map +1 -0
  77. package/es/components/page-header/page-header-tags-set/page-header-tags-set.js +210 -0
  78. package/es/components/page-header/page-header-tags-set/page-header-tags-set.js.map +1 -0
  79. package/es/components/page-header/page-header-tags-set/page-header-tags-set.scss.js +15 -0
  80. package/es/components/page-header/page-header-tags-set/page-header-tags-set.scss.js.map +1 -0
  81. package/es/components/page-header/page-header-tags-set/utils.d.ts +24 -0
  82. package/es/components/page-header/page-header-tags-set/utils.d.ts.map +1 -0
  83. package/es/components/page-header/page-header-tags-set/utils.js +42 -0
  84. package/es/components/page-header/page-header-tags-set/utils.js.map +1 -0
  85. package/es/components/page-header/page-header.scss.js +1 -1
  86. package/es/components/page-header/page-header.scss.js.map +1 -1
  87. package/es/components/page-header/utils.d.ts +9 -1
  88. package/es/components/page-header/utils.d.ts.map +1 -1
  89. package/es/components/page-header/utils.js +4 -2
  90. package/es/components/page-header/utils.js.map +1 -1
  91. package/es/components/side-panel/side-panel.d.ts +0 -350
  92. package/es/components/side-panel/side-panel.d.ts.map +1 -1
  93. package/es/components/tearsheet/tearsheet.d.ts +0 -370
  94. package/es/components/tearsheet/tearsheet.d.ts.map +1 -1
  95. package/es/components/tearsheet/tearsheet.scss.js +1 -1
  96. package/es/components/tearsheet-preview/index.d.ts +1 -0
  97. package/es/components/tearsheet-preview/index.d.ts.map +1 -1
  98. package/es/components/tearsheet-preview/index.js +1 -0
  99. package/es/components/tearsheet-preview/tearsheet-body.d.ts +0 -350
  100. package/es/components/tearsheet-preview/tearsheet-body.d.ts.map +1 -1
  101. package/es/components/tearsheet-preview/tearsheet-footer.d.ts +17 -351
  102. package/es/components/tearsheet-preview/tearsheet-footer.d.ts.map +1 -1
  103. package/es/components/tearsheet-preview/tearsheet-footer.js +31 -3
  104. package/es/components/tearsheet-preview/tearsheet-footer.js.map +1 -1
  105. package/es/components/tearsheet-preview/tearsheet-header-content.d.ts +0 -350
  106. package/es/components/tearsheet-preview/tearsheet-header-content.d.ts.map +1 -1
  107. package/es/components/tearsheet-preview/tearsheet-header-content.scss.js +1 -1
  108. package/es/components/tearsheet-preview/tearsheet-header-content.scss.js.map +1 -1
  109. package/es/components/tearsheet-preview/tearsheet-header.d.ts +0 -350
  110. package/es/components/tearsheet-preview/tearsheet-header.d.ts.map +1 -1
  111. package/es/components/tearsheet-preview/tearsheet-header.scss.js +1 -1
  112. package/es/components/tearsheet-preview/tearsheet-header.scss.js.map +1 -1
  113. package/es/components/tearsheet-preview/tearsheet-influencer.d.ts +0 -350
  114. package/es/components/tearsheet-preview/tearsheet-influencer.d.ts.map +1 -1
  115. package/es/components/tearsheet-preview/tearsheet-navigation-bar.d.ts +0 -350
  116. package/es/components/tearsheet-preview/tearsheet-navigation-bar.d.ts.map +1 -1
  117. package/es/components/tearsheet-preview/tearsheet-navigation-bar.scss.js +1 -1
  118. package/es/components/tearsheet-preview/tearsheet-stack.d.ts +42 -0
  119. package/es/components/tearsheet-preview/tearsheet-stack.d.ts.map +1 -0
  120. package/es/components/tearsheet-preview/tearsheet-stack.js +83 -0
  121. package/es/components/tearsheet-preview/tearsheet-stack.js.map +1 -0
  122. package/es/components/tearsheet-preview/tearsheet-summary-content.d.ts +0 -350
  123. package/es/components/tearsheet-preview/tearsheet-summary-content.d.ts.map +1 -1
  124. package/es/components/tearsheet-preview/tearsheet.d.ts +16 -350
  125. package/es/components/tearsheet-preview/tearsheet.d.ts.map +1 -1
  126. package/es/components/tearsheet-preview/tearsheet.js +32 -3
  127. package/es/components/tearsheet-preview/tearsheet.js.map +1 -1
  128. package/es/components/tearsheet-preview/tearsheet.scss.js +1 -1
  129. package/es/components/tearsheet-preview/tearsheet.scss.js.map +1 -1
  130. package/es/components/user-avatar/user-avatar.d.ts +0 -350
  131. package/es/components/user-avatar/user-avatar.d.ts.map +1 -1
  132. package/es/package.js +1 -1
  133. package/es-custom/components/about-modal/about-modal.scss.js +1 -1
  134. package/es-custom/components/about-modal/about-modal.scss.js.map +1 -1
  135. package/es-custom/components/coachmark/coachmark-header.js +11 -2
  136. package/es-custom/components/coachmark/coachmark-header.js.map +1 -1
  137. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.js.map +1 -1
  138. package/es-custom/components/coachmark/coachmark.js +10 -0
  139. package/es-custom/components/coachmark/coachmark.js.map +1 -1
  140. package/es-custom/components/interstitial-screen/interstitial-screen-body-item.scss.js +1 -1
  141. package/es-custom/components/interstitial-screen/interstitial-screen-body-item.scss.js.map +1 -1
  142. package/es-custom/components/interstitial-screen/interstitial-screen-body.scss.js +1 -1
  143. package/es-custom/components/interstitial-screen/interstitial-screen-body.scss.js.map +1 -1
  144. package/es-custom/components/page-header/_story-assets/overflowHandler.js +122 -0
  145. package/es-custom/components/page-header/_story-assets/overflowHandler.js.map +1 -0
  146. package/es-custom/components/page-header/index.js +3 -0
  147. package/es-custom/components/page-header/page-header-actions-set/index.js +8 -0
  148. package/es-custom/components/page-header/page-header-actions-set/page-header-actions-set.js +162 -0
  149. package/es-custom/components/page-header/page-header-actions-set/page-header-actions-set.js.map +1 -0
  150. package/es-custom/components/page-header/page-header-actions-set/page-header-actions-set.scss.js +15 -0
  151. package/es-custom/components/page-header/page-header-actions-set/page-header-actions-set.scss.js.map +1 -0
  152. package/es-custom/components/page-header/page-header-breadcrumbs-set/index.js +8 -0
  153. package/es-custom/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.js +136 -0
  154. package/es-custom/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.js.map +1 -0
  155. package/es-custom/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.scss.js +15 -0
  156. package/es-custom/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.scss.js.map +1 -0
  157. package/es-custom/components/page-header/page-header-tags-set/index.js +8 -0
  158. package/es-custom/components/page-header/page-header-tags-set/page-header-tags-set.js +210 -0
  159. package/es-custom/components/page-header/page-header-tags-set/page-header-tags-set.js.map +1 -0
  160. package/es-custom/components/page-header/page-header-tags-set/page-header-tags-set.scss.js +15 -0
  161. package/es-custom/components/page-header/page-header-tags-set/page-header-tags-set.scss.js.map +1 -0
  162. package/es-custom/components/page-header/page-header-tags-set/utils.js +42 -0
  163. package/es-custom/components/page-header/page-header-tags-set/utils.js.map +1 -0
  164. package/es-custom/components/page-header/page-header.scss.js +1 -1
  165. package/es-custom/components/page-header/page-header.scss.js.map +1 -1
  166. package/es-custom/components/page-header/utils.js +4 -2
  167. package/es-custom/components/page-header/utils.js.map +1 -1
  168. package/es-custom/components/tearsheet/tearsheet.scss.js +1 -1
  169. package/es-custom/components/tearsheet-preview/index.js +1 -0
  170. package/es-custom/components/tearsheet-preview/tearsheet-footer.js +31 -3
  171. package/es-custom/components/tearsheet-preview/tearsheet-footer.js.map +1 -1
  172. package/es-custom/components/tearsheet-preview/tearsheet-header-content.scss.js +1 -1
  173. package/es-custom/components/tearsheet-preview/tearsheet-header-content.scss.js.map +1 -1
  174. package/es-custom/components/tearsheet-preview/tearsheet-header.scss.js +1 -1
  175. package/es-custom/components/tearsheet-preview/tearsheet-header.scss.js.map +1 -1
  176. package/es-custom/components/tearsheet-preview/tearsheet-navigation-bar.scss.js +1 -1
  177. package/es-custom/components/tearsheet-preview/tearsheet-stack.js +83 -0
  178. package/es-custom/components/tearsheet-preview/tearsheet-stack.js.map +1 -0
  179. package/es-custom/components/tearsheet-preview/tearsheet.js +32 -3
  180. package/es-custom/components/tearsheet-preview/tearsheet.js.map +1 -1
  181. package/es-custom/components/tearsheet-preview/tearsheet.scss.js +1 -1
  182. package/es-custom/components/tearsheet-preview/tearsheet.scss.js.map +1 -1
  183. package/es-custom/package.js +1 -1
  184. package/lib/components/about-modal/about-modal.d.ts +0 -350
  185. package/lib/components/about-modal/about-modal.d.ts.map +1 -1
  186. package/lib/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +0 -350
  187. package/lib/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts.map +1 -1
  188. package/lib/components/coachmark/coachmark-body.d.ts +0 -350
  189. package/lib/components/coachmark/coachmark-body.d.ts.map +1 -1
  190. package/lib/components/coachmark/coachmark-header.d.ts +0 -350
  191. package/lib/components/coachmark/coachmark-header.d.ts.map +1 -1
  192. package/lib/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +0 -350
  193. package/lib/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts.map +1 -1
  194. package/lib/components/coachmark/coachmark.d.ts +7 -350
  195. package/lib/components/coachmark/coachmark.d.ts.map +1 -1
  196. package/lib/components/guide-banner/guide-banner-element.d.ts +0 -350
  197. package/lib/components/guide-banner/guide-banner-element.d.ts.map +1 -1
  198. package/lib/components/guide-banner/guide-banner.d.ts +0 -350
  199. package/lib/components/guide-banner/guide-banner.d.ts.map +1 -1
  200. package/lib/components/interstitial-screen/interstitial-screen-body-item.d.ts +0 -350
  201. package/lib/components/interstitial-screen/interstitial-screen-body-item.d.ts.map +1 -1
  202. package/lib/components/interstitial-screen/interstitial-screen-body.d.ts +0 -350
  203. package/lib/components/interstitial-screen/interstitial-screen-body.d.ts.map +1 -1
  204. package/lib/components/interstitial-screen/interstitial-screen-footer.d.ts +0 -350
  205. package/lib/components/interstitial-screen/interstitial-screen-footer.d.ts.map +1 -1
  206. package/lib/components/interstitial-screen/interstitial-screen-header.d.ts +0 -350
  207. package/lib/components/interstitial-screen/interstitial-screen-header.d.ts.map +1 -1
  208. package/lib/components/interstitial-screen/interstitial-screen.d.ts +0 -350
  209. package/lib/components/interstitial-screen/interstitial-screen.d.ts.map +1 -1
  210. package/lib/components/notification-panel/notification-footer.d.ts +0 -350
  211. package/lib/components/notification-panel/notification-footer.d.ts.map +1 -1
  212. package/lib/components/notification-panel/notification-panel.d.ts +0 -350
  213. package/lib/components/notification-panel/notification-panel.d.ts.map +1 -1
  214. package/lib/components/notification-panel/notification.d.ts +0 -350
  215. package/lib/components/notification-panel/notification.d.ts.map +1 -1
  216. package/lib/components/options-tile/options-tile.d.ts +0 -350
  217. package/lib/components/options-tile/options-tile.d.ts.map +1 -1
  218. package/lib/components/page-header/_story-assets/overflowHandler.d.ts +99 -0
  219. package/lib/components/page-header/_story-assets/overflowHandler.d.ts.map +1 -0
  220. package/lib/components/page-header/index.d.ts +4 -1
  221. package/lib/components/page-header/index.d.ts.map +1 -1
  222. package/lib/components/page-header/page-header-actions-set/index.d.ts +10 -0
  223. package/lib/components/page-header/page-header-actions-set/index.d.ts.map +1 -0
  224. package/lib/components/page-header/page-header-actions-set/page-header-actions-set.d.ts +50 -0
  225. package/lib/components/page-header/page-header-actions-set/page-header-actions-set.d.ts.map +1 -0
  226. package/lib/components/page-header/page-header-breadcrumbs-set/index.d.ts +10 -0
  227. package/lib/components/page-header/page-header-breadcrumbs-set/index.d.ts.map +1 -0
  228. package/lib/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.d.ts +48 -0
  229. package/lib/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.d.ts.map +1 -0
  230. package/lib/components/page-header/page-header-tags-set/index.d.ts +10 -0
  231. package/lib/components/page-header/page-header-tags-set/index.d.ts.map +1 -0
  232. package/lib/components/page-header/page-header-tags-set/page-header-tags-set.d.ts +41 -0
  233. package/lib/components/page-header/page-header-tags-set/page-header-tags-set.d.ts.map +1 -0
  234. package/lib/components/page-header/page-header-tags-set/utils.d.ts +24 -0
  235. package/lib/components/page-header/page-header-tags-set/utils.d.ts.map +1 -0
  236. package/lib/components/page-header/utils.d.ts +9 -1
  237. package/lib/components/page-header/utils.d.ts.map +1 -1
  238. package/lib/components/side-panel/side-panel.d.ts +0 -350
  239. package/lib/components/side-panel/side-panel.d.ts.map +1 -1
  240. package/lib/components/tearsheet/tearsheet.d.ts +0 -370
  241. package/lib/components/tearsheet/tearsheet.d.ts.map +1 -1
  242. package/lib/components/tearsheet-preview/index.d.ts +1 -0
  243. package/lib/components/tearsheet-preview/index.d.ts.map +1 -1
  244. package/lib/components/tearsheet-preview/tearsheet-body.d.ts +0 -350
  245. package/lib/components/tearsheet-preview/tearsheet-body.d.ts.map +1 -1
  246. package/lib/components/tearsheet-preview/tearsheet-footer.d.ts +17 -351
  247. package/lib/components/tearsheet-preview/tearsheet-footer.d.ts.map +1 -1
  248. package/lib/components/tearsheet-preview/tearsheet-header-content.d.ts +0 -350
  249. package/lib/components/tearsheet-preview/tearsheet-header-content.d.ts.map +1 -1
  250. package/lib/components/tearsheet-preview/tearsheet-header.d.ts +0 -350
  251. package/lib/components/tearsheet-preview/tearsheet-header.d.ts.map +1 -1
  252. package/lib/components/tearsheet-preview/tearsheet-influencer.d.ts +0 -350
  253. package/lib/components/tearsheet-preview/tearsheet-influencer.d.ts.map +1 -1
  254. package/lib/components/tearsheet-preview/tearsheet-navigation-bar.d.ts +0 -350
  255. package/lib/components/tearsheet-preview/tearsheet-navigation-bar.d.ts.map +1 -1
  256. package/lib/components/tearsheet-preview/tearsheet-stack.d.ts +42 -0
  257. package/lib/components/tearsheet-preview/tearsheet-stack.d.ts.map +1 -0
  258. package/lib/components/tearsheet-preview/tearsheet-summary-content.d.ts +0 -350
  259. package/lib/components/tearsheet-preview/tearsheet-summary-content.d.ts.map +1 -1
  260. package/lib/components/tearsheet-preview/tearsheet.d.ts +16 -350
  261. package/lib/components/tearsheet-preview/tearsheet.d.ts.map +1 -1
  262. package/lib/components/user-avatar/user-avatar.d.ts +0 -350
  263. package/lib/components/user-avatar/user-avatar.d.ts.map +1 -1
  264. package/package.json +11 -11
  265. package/scss/components/about-modal/about-modal.scss +0 -2
  266. package/scss/components/interstitial-screen/interstitial-screen-body-item.scss +1 -1
  267. package/scss/components/interstitial-screen/interstitial-screen-body.scss +1 -1
  268. package/scss/components/page-header/page-header-actions-set/page-header-actions-set.scss +82 -0
  269. package/scss/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.scss +41 -0
  270. package/scss/components/page-header/page-header-tags-set/page-header-tags-set.scss +96 -0
  271. package/scss/components/page-header/page-header.scss +35 -4
  272. package/scss/components/tearsheet-preview/tearsheet-header-content.scss +10 -0
  273. package/scss/components/tearsheet-preview/tearsheet-header.scss +15 -0
  274. package/scss/components/tearsheet-preview/tearsheet.scss +1 -3
  275. package/telemetry.yml +22 -13
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 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 { prefix } from "../../../globals/settings.js";
9
+ import { __decorate } from "../../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorate.js";
10
+ import page_header_actions_set_default$1 from "./page-header-actions-set.scss.js";
11
+ import { LitElement, html } from "lit";
12
+ import { customElement, property, query, state } from "lit/decorators.js";
13
+ import { iconLoader } from "@carbon/web-components/es/globals/internal/icon-loader.js";
14
+ import { repeat } from "lit/directives/repeat.js";
15
+ import '@carbon/web-components/es-custom/components/overflow-menu/index.js';
16
+ import OverflowMenuVertical16 from "@carbon/icons/es/overflow-menu--vertical/16.js";
17
+
18
+ //#region src/components/page-header/page-header-actions-set/page-header-actions-set.ts
19
+ /**
20
+ * @license
21
+ *
22
+ * Copyright IBM Corp. 2025, 2026
23
+ *
24
+ * This source code is licensed under the Apache-2.0 license found in the
25
+ * LICENSE file in the root directory of this source tree.
26
+ */
27
+ const blockClass = `${prefix}--page-header-actions-set`;
28
+ let CDSPageHeaderActionsSet = class CDSPageHeaderActionsSet extends LitElement {
29
+ constructor(..._args) {
30
+ super(..._args);
31
+ this.hiddenItems = [];
32
+ this.actionsData = [];
33
+ this.isSetup = false;
34
+ this.lastContainerWidth = 0;
35
+ }
36
+ connectedCallback() {
37
+ super.connectedCallback();
38
+ this.style.visibility = "hidden";
39
+ }
40
+ firstUpdated() {
41
+ if (!this.container) return;
42
+ this.updateComplete.then(() => {
43
+ requestAnimationFrame(() => {
44
+ this.setupOverflowDetection();
45
+ this.isSetup = true;
46
+ this.style.visibility = "visible";
47
+ });
48
+ });
49
+ }
50
+ updated(changedProperties) {
51
+ if (this.isSetup && changedProperties.has("actionsData") && !changedProperties.has("hiddenItems")) this.updateComplete.then(() => {
52
+ requestAnimationFrame(() => this.setupOverflowDetection());
53
+ });
54
+ }
55
+ setupOverflowDetection() {
56
+ if (!this.itemsContainer) return;
57
+ this.resizeObserver?.disconnect();
58
+ const slot = this.shadowRoot?.querySelector("slot");
59
+ const checkOverflow = () => {
60
+ const slottedElements = slot?.assignedElements();
61
+ if (!slottedElements || slottedElements.length === 0) return;
62
+ const containerWidth = this.offsetWidth || this.itemsContainer.clientWidth;
63
+ const overflowMenuWidth = 48;
64
+ if (containerWidth === 0) return;
65
+ if (Math.abs(containerWidth - this.lastContainerWidth) < 5) return;
66
+ this.lastContainerWidth = containerWidth;
67
+ let totalWidth = 0;
68
+ for (let i = 0; i < slottedElements.length; i++) totalWidth += slottedElements[i].offsetWidth;
69
+ if (totalWidth <= containerWidth) {
70
+ slottedElements.forEach((el) => {
71
+ el.removeAttribute("data-hidden");
72
+ });
73
+ this.hiddenItems = [];
74
+ return;
75
+ }
76
+ totalWidth = 0;
77
+ let visibleCount = 0;
78
+ for (let i = 0; i < slottedElements.length; i++) {
79
+ const itemWidth = slottedElements[i].offsetWidth;
80
+ if (totalWidth + itemWidth + overflowMenuWidth <= containerWidth) {
81
+ totalWidth += itemWidth;
82
+ visibleCount = i + 1;
83
+ } else break;
84
+ }
85
+ slottedElements.forEach((el, index) => {
86
+ if (index >= visibleCount) el.setAttribute("data-hidden", "");
87
+ else el.removeAttribute("data-hidden");
88
+ });
89
+ this.hiddenItems = this.actionsData?.slice(visibleCount) || [];
90
+ };
91
+ checkOverflow();
92
+ this.resizeObserver = new ResizeObserver(() => {
93
+ if (this.resizeTimeout) clearTimeout(this.resizeTimeout);
94
+ this.resizeTimeout = window.setTimeout(() => {
95
+ checkOverflow();
96
+ }, 100);
97
+ });
98
+ this.resizeObserver.observe(this);
99
+ this.resizeObserver.observe(this.itemsContainer);
100
+ }
101
+ disconnectedCallback() {
102
+ super.disconnectedCallback();
103
+ this.resizeObserver?.disconnect();
104
+ if (this.resizeTimeout) clearTimeout(this.resizeTimeout);
105
+ }
106
+ handleOverflowItemClick(index) {
107
+ const button = ((this.shadowRoot?.querySelector("slot"))?.assignedElements())[this.actionsData.length - this.hiddenItems.length + index];
108
+ if (button) button.click();
109
+ }
110
+ render() {
111
+ return html`
112
+ <div class="${blockClass}">
113
+ <div class="${blockClass}__items">
114
+ <slot></slot>
115
+ </div>
116
+
117
+ <div data-offset ?data-hidden=${this.hiddenItems.length === 0}>
118
+ <cds-custom-overflow-menu
119
+ size="md"
120
+ close-on-activation
121
+ enter-delay-ms="0"
122
+ leave-delay-ms="0"
123
+ align="left"
124
+ data-floating-menu-container
125
+ >
126
+ ${iconLoader(OverflowMenuVertical16, {
127
+ class: `${blockClass}__overflow-svg`,
128
+ slot: "icon"
129
+ })}
130
+ <span slot="tooltip-content">More actions</span>
131
+ <cds-custom-overflow-menu-body flipped>
132
+ ${repeat(this.hiddenItems ?? [], (_item, index) => index, (item, index) => html`
133
+ <cds-custom-overflow-menu-item
134
+ @click="${() => this.handleOverflowItemClick(index)}"
135
+ >
136
+ ${item.label}
137
+ </cds-custom-overflow-menu-item>
138
+ `)}
139
+ </cds-custom-overflow-menu-body>
140
+ </cds-custom-overflow-menu>
141
+ </div>
142
+ </div>
143
+ `;
144
+ }
145
+ static {
146
+ this.styles = page_header_actions_set_default$1;
147
+ }
148
+ };
149
+ __decorate([state()], CDSPageHeaderActionsSet.prototype, "hiddenItems", void 0);
150
+ __decorate([property({
151
+ type: Array,
152
+ attribute: "actions-data",
153
+ reflect: true
154
+ })], CDSPageHeaderActionsSet.prototype, "actionsData", void 0);
155
+ __decorate([query(`.${blockClass}`)], CDSPageHeaderActionsSet.prototype, "container", void 0);
156
+ __decorate([query(`.${blockClass}__items`)], CDSPageHeaderActionsSet.prototype, "itemsContainer", void 0);
157
+ CDSPageHeaderActionsSet = __decorate([customElement(`${prefix}-page-header-actions-set`)], CDSPageHeaderActionsSet);
158
+ var page_header_actions_set_default = CDSPageHeaderActionsSet;
159
+
160
+ //#endregion
161
+ export { page_header_actions_set_default as default };
162
+ //# sourceMappingURL=page-header-actions-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-header-actions-set.js","names":["styles"],"sources":["../../../../src/components/page-header/page-header-actions-set/page-header-actions-set.ts"],"sourcesContent":["/**\n * @license\n *\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\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport '@carbon/web-components/es-custom/components/overflow-menu/index.js';\nimport OverflowMenuVertical16 from '@carbon/icons/es/overflow-menu--vertical/16.js';\nimport { iconLoader } from '@carbon/web-components/es/globals/internal/icon-loader.js';\nimport styles from './page-header-actions-set.scss?lit';\nimport { prefix } from '../../../globals/settings';\n\nconst blockClass = `${prefix}--page-header-actions-set`;\n\ninterface PageAction {\n label: string;\n}\n\n@customElement(`${prefix}-page-header-actions-set`)\nexport default class CDSPageHeaderActionsSet extends LitElement {\n /**\n * Hidden actions that will be rendered in the overflow menu.\n */\n @state()\n hiddenItems: PageAction[] = [];\n\n /**\n * The list of page action labels for overflow menu.\n */\n @property({ type: Array, attribute: 'actions-data', reflect: true })\n actionsData: PageAction[] = [];\n\n /**\n * Container holding all action buttons and the overflow menu.\n */\n @query(`.${blockClass}`)\n private container!: HTMLElement;\n\n /**\n * Items wrapper containing the slotted elements.\n */\n @query(`.${blockClass}__items`)\n private itemsContainer!: HTMLElement;\n\n private resizeObserver: ResizeObserver | undefined;\n private isSetup = false;\n private resizeTimeout: number | undefined;\n private lastContainerWidth = 0;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.style.visibility = 'hidden';\n }\n\n firstUpdated() {\n if (!this.container) {\n return;\n }\n\n this.updateComplete.then(() => {\n requestAnimationFrame(() => {\n this.setupOverflowDetection();\n this.isSetup = true;\n this.style.visibility = 'visible';\n });\n });\n }\n\n updated(changedProperties: Map<string, unknown>) {\n // Only re-setup if actionsData changed and we've already done initial setup\n if (\n this.isSetup &&\n changedProperties.has('actionsData') &&\n !changedProperties.has('hiddenItems')\n ) {\n this.updateComplete.then(() => {\n requestAnimationFrame(() => this.setupOverflowDetection());\n });\n }\n }\n\n private setupOverflowDetection() {\n if (!this.itemsContainer) {\n return;\n }\n\n // Disconnect existing observer if any\n this.resizeObserver?.disconnect();\n\n // Get slotted elements\n const slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement;\n\n const checkOverflow = () => {\n const slottedElements = slot?.assignedElements() as HTMLElement[];\n\n if (!slottedElements || slottedElements.length === 0) {\n return;\n }\n\n // Use the host element's width as it reflects the actual available space\n const containerWidth =\n this.offsetWidth || this.itemsContainer.clientWidth;\n const overflowMenuWidth = 48; // Approximate width of overflow menu button\n\n // If container has no width yet, skip check\n if (containerWidth === 0) {\n return;\n }\n\n // Prevent resize loop - only recalculate if width changed significantly (>5px)\n if (Math.abs(containerWidth - this.lastContainerWidth) < 5) {\n return;\n }\n this.lastContainerWidth = containerWidth;\n\n // First, check if all items fit without overflow menu\n let totalWidth = 0;\n for (let i = 0; i < slottedElements.length; i++) {\n totalWidth += slottedElements[i].offsetWidth;\n }\n\n // If all items fit, show all and hide overflow menu\n if (totalWidth <= containerWidth) {\n slottedElements.forEach((el) => {\n el.removeAttribute('data-hidden');\n });\n this.hiddenItems = [];\n return;\n }\n\n // Items don't fit, calculate how many can fit with overflow menu\n totalWidth = 0;\n let visibleCount = 0;\n\n for (let i = 0; i < slottedElements.length; i++) {\n const itemWidth = slottedElements[i].offsetWidth;\n\n // Check if this item plus overflow menu would fit\n if (totalWidth + itemWidth + overflowMenuWidth <= containerWidth) {\n totalWidth += itemWidth;\n visibleCount = i + 1;\n } else {\n break;\n }\n }\n\n // Update visibility\n slottedElements.forEach((el, index) => {\n if (index >= visibleCount) {\n el.setAttribute('data-hidden', '');\n } else {\n el.removeAttribute('data-hidden');\n }\n });\n\n // Update hidden items for overflow menu\n this.hiddenItems = this.actionsData?.slice(visibleCount) || [];\n };\n\n // Initial check\n checkOverflow();\n\n // Observe both the host element and items container for size changes with debouncing\n this.resizeObserver = new ResizeObserver(() => {\n // Clear existing timeout\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n\n // Debounce the check to prevent rapid recalculations\n this.resizeTimeout = window.setTimeout(() => {\n checkOverflow();\n }, 100);\n });\n\n this.resizeObserver.observe(this);\n this.resizeObserver.observe(this.itemsContainer);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver?.disconnect();\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n }\n\n private handleOverflowItemClick(index: number) {\n // Get the slot and find the corresponding slotted element\n const slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement;\n const slottedElements = slot?.assignedElements() as HTMLElement[];\n const hiddenIndex =\n this.actionsData.length - this.hiddenItems.length + index;\n const button = slottedElements[hiddenIndex];\n if (button) {\n button.click();\n }\n }\n\n render() {\n return html`\n <div class=\"${blockClass}\">\n <div class=\"${blockClass}__items\">\n <slot></slot>\n </div>\n\n <div data-offset ?data-hidden=${this.hiddenItems.length === 0}>\n <cds-custom-overflow-menu\n size=\"md\"\n close-on-activation\n enter-delay-ms=\"0\"\n leave-delay-ms=\"0\"\n align=\"left\"\n data-floating-menu-container\n >\n ${iconLoader(OverflowMenuVertical16, {\n class: `${blockClass}__overflow-svg`,\n slot: 'icon',\n })}\n <span slot=\"tooltip-content\">More actions</span>\n <cds-custom-overflow-menu-body flipped>\n ${repeat(\n this.hiddenItems ?? [],\n (_item, index) => index,\n (item, index) => html`\n <cds-custom-overflow-menu-item\n @click=\"${() => this.handleOverflowItemClick(index)}\"\n >\n ${item.label}\n </cds-custom-overflow-menu-item>\n `\n )}\n </cds-custom-overflow-menu-body>\n </cds-custom-overflow-menu>\n </div>\n </div>\n `;\n }\n static styles = styles;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'c4p-page-header-actions-set': CDSPageHeaderActionsSet;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAM,aAAa,GAAG,OAAO;AAOd,oCAAM,gCAAgC,WAAW;;;qBAKlC,EAAE;qBAMF,EAAE;iBAeZ;4BAEW;;CAE7B,oBAA0B;AACxB,QAAM,mBAAmB;AACzB,OAAK,MAAM,aAAa;;CAG1B,eAAe;AACb,MAAI,CAAC,KAAK,UACR;AAGF,OAAK,eAAe,WAAW;AAC7B,+BAA4B;AAC1B,SAAK,wBAAwB;AAC7B,SAAK,UAAU;AACf,SAAK,MAAM,aAAa;KACxB;IACF;;CAGJ,QAAQ,mBAAyC;AAE/C,MACE,KAAK,WACL,kBAAkB,IAAI,cAAc,IACpC,CAAC,kBAAkB,IAAI,cAAc,CAErC,MAAK,eAAe,WAAW;AAC7B,+BAA4B,KAAK,wBAAwB,CAAC;IAC1D;;CAIN,AAAQ,yBAAyB;AAC/B,MAAI,CAAC,KAAK,eACR;AAIF,OAAK,gBAAgB,YAAY;EAGjC,MAAM,OAAO,KAAK,YAAY,cAAc,OAAO;EAEnD,MAAM,sBAAsB;GAC1B,MAAM,kBAAkB,MAAM,kBAAkB;AAEhD,OAAI,CAAC,mBAAmB,gBAAgB,WAAW,EACjD;GAIF,MAAM,iBACJ,KAAK,eAAe,KAAK,eAAe;GAC1C,MAAM,oBAAoB;AAG1B,OAAI,mBAAmB,EACrB;AAIF,OAAI,KAAK,IAAI,iBAAiB,KAAK,mBAAmB,GAAG,EACvD;AAEF,QAAK,qBAAqB;GAG1B,IAAI,aAAa;AACjB,QAAK,IAAI,IAAI,GAAG,IAAI,gBAAgB,QAAQ,IAC1C,eAAc,gBAAgB,GAAG;AAInC,OAAI,cAAc,gBAAgB;AAChC,oBAAgB,SAAS,OAAO;AAC9B,QAAG,gBAAgB,cAAc;MACjC;AACF,SAAK,cAAc,EAAE;AACrB;;AAIF,gBAAa;GACb,IAAI,eAAe;AAEnB,QAAK,IAAI,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;IAC/C,MAAM,YAAY,gBAAgB,GAAG;AAGrC,QAAI,aAAa,YAAY,qBAAqB,gBAAgB;AAChE,mBAAc;AACd,oBAAe,IAAI;UAEnB;;AAKJ,mBAAgB,SAAS,IAAI,UAAU;AACrC,QAAI,SAAS,aACX,IAAG,aAAa,eAAe,GAAG;QAElC,IAAG,gBAAgB,cAAc;KAEnC;AAGF,QAAK,cAAc,KAAK,aAAa,MAAM,aAAa,IAAI,EAAE;;AAIhE,iBAAe;AAGf,OAAK,iBAAiB,IAAI,qBAAqB;AAE7C,OAAI,KAAK,cACP,cAAa,KAAK,cAAc;AAIlC,QAAK,gBAAgB,OAAO,iBAAiB;AAC3C,mBAAe;MACd,IAAI;IACP;AAEF,OAAK,eAAe,QAAQ,KAAK;AACjC,OAAK,eAAe,QAAQ,KAAK,eAAe;;CAGlD,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,OAAK,gBAAgB,YAAY;AACjC,MAAI,KAAK,cACP,cAAa,KAAK,cAAc;;CAIpC,AAAQ,wBAAwB,OAAe;EAM7C,MAAM,WAJO,KAAK,YAAY,cAAc,OAAO,GACrB,kBAAkB,EAE9C,KAAK,YAAY,SAAS,KAAK,YAAY,SAAS;AAEtD,MAAI,OACF,QAAO,OAAO;;CAIlB,SAAS;AACP,SAAO,IAAI;oBACK,WAAW;sBACT,WAAW;;;;wCAIO,KAAK,YAAY,WAAW,EAAE;;;;;;;;;cASxD,WAAW,wBAAwB;GACnC,OAAO,GAAG,WAAW;GACrB,MAAM;GACP,CAAC,CAAC;;;gBAGC,OACA,KAAK,eAAe,EAAE,GACrB,OAAO,UAAU,QACjB,MAAM,UAAU,IAAI;;oCAED,KAAK,wBAAwB,MAAM,CAAC;;sBAElD,KAAK,MAAM;;kBAGlB,CAAC;;;;;;;;gBAOEA;;;YAvNf,OAAO;YAMP,SAAS;CAAE,MAAM;CAAO,WAAW;CAAgB,SAAS;CAAM,CAAC;YAMnE,MAAM,IAAI,aAAa;YAMvB,MAAM,IAAI,WAAW,SAAS;sCAvBhC,cAAc,GAAG,OAAO,0BAA0B"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 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
+
10
+ //#region src/components/page-header/page-header-actions-set/page-header-actions-set.scss?lit
11
+ var page_header_actions_set_default = css([":host(c4p-page-header-actions-set){display:flex;flex:1;max-inline-size:100%;min-inline-size:0}:host(c4p-page-header-actions-set) cds-custom-overflow-menu:not(:defined){display:none}.c4p--page-header-actions-set{align-items:center;display:flex;gap:0;inline-size:100%;min-inline-size:0}.c4p--page-header-actions-set__items{align-items:center;display:flex;flex:1;gap:0;min-inline-size:0;overflow:hidden}.c4p--page-header-actions-set__items ::slotted(*){display:flex;flex-shrink:0}.c4p--page-header-actions-set__items ::slotted([data-hidden]){display:none}@media screen and (prefers-reduced-motion:reduce){[data-offset]{flex-shrink:0;opacity:1;transition:none}[data-offset][data-hidden]{opacity:0;pointer-events:none;visibility:hidden}}[data-offset]{flex-shrink:0;opacity:1;transition:opacity .15s ease-in-out}[data-offset][data-hidden]{opacity:0;pointer-events:none;visibility:hidden}.c4p--page-header-actions-set__overflow-svg{fill:var(--cds-custom-text-primary,#161616)}"]);
12
+
13
+ //#endregion
14
+ export { page_header_actions_set_default as default };
15
+ //# sourceMappingURL=page-header-actions-set.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-header-actions-set.scss.js","names":[],"sources":["../../../../src/components/page-header/page-header-actions-set/page-header-actions-set.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@use '@carbon/styles/scss/theme' as *;\n\n$prefix: 'c4p';\n$carbon-prefix: 'cds-custom';\n\n/* stylelint-disable selector-type-no-unknown */\n:host(#{$prefix}-page-header-actions-set) {\n display: flex;\n flex: 1;\n max-inline-size: 100%;\n min-inline-size: 0;\n\n // Suppress custom elements until styles are loaded\n #{$carbon-prefix}-overflow-menu:not(:defined) {\n display: none;\n }\n}\n\n$block-class: #{$prefix}--page-header-actions-set;\n\n.#{$block-class} {\n display: flex;\n align-items: center;\n gap: 0;\n inline-size: 100%;\n min-inline-size: 0;\n\n &__items {\n display: flex;\n overflow: hidden;\n flex: 1;\n align-items: center;\n gap: 0;\n min-inline-size: 0;\n\n ::slotted(*) {\n display: flex;\n flex-shrink: 0;\n }\n\n ::slotted([data-hidden]) {\n display: none;\n }\n }\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n [data-offset] {\n flex-shrink: 0;\n opacity: 1;\n transition: none;\n\n &[data-hidden] {\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n }\n }\n}\n\n[data-offset] {\n flex-shrink: 0;\n opacity: 1;\n transition: opacity 0.15s ease-in-out;\n\n &[data-hidden] {\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n }\n}\n\n.#{$block-class}__overflow-svg {\n fill: $text-primary;\n}\n"],"mappings":""}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 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 "./page-header-breadcrumbs-set.js";
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 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 { prefix } from "../../../globals/settings.js";
9
+ import { __decorate } from "../../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorate.js";
10
+ import "../../truncated-text/index.js";
11
+ import { createOverflowHandler } from "../_story-assets/overflowHandler.js";
12
+ import "../page-header-title-breadcrumb.js";
13
+ import page_header_breadcrumbs_set_default$1 from "./page-header-breadcrumbs-set.scss.js";
14
+ import { classMap } from "lit/directives/class-map.js";
15
+ import { LitElement, html } from "lit";
16
+ import { customElement, property, query } from "lit/decorators.js";
17
+ import { iconLoader } from "@carbon/web-components/es/globals/internal/icon-loader.js";
18
+ import { repeat } from "lit/directives/repeat.js";
19
+ import '@carbon/web-components/es-custom/components/breadcrumb/index.js';
20
+ import '@carbon/web-components/es-custom/components/overflow-menu/index.js';
21
+ import OverflowMenuHorizontal16 from "@carbon/icons/es/overflow-menu--horizontal/16.js";
22
+
23
+ //#region src/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.ts
24
+ /**
25
+ * @license
26
+ *
27
+ * Copyright IBM Corp. 2025, 2026
28
+ *
29
+ * This source code is licensed under the Apache-2.0 license found in the
30
+ * LICENSE file in the root directory of this source tree.
31
+ */
32
+ const blockClass = `${prefix}--page-header-breadcrumbs-set`;
33
+ let CDSPageHeaderBreadcrumbsSet = class CDSPageHeaderBreadcrumbsSet extends LitElement {
34
+ constructor(..._args) {
35
+ super(..._args);
36
+ this.hiddenItems = [];
37
+ this.breadcrumbsData = [];
38
+ this.title = "";
39
+ }
40
+ connectedCallback() {
41
+ super.connectedCallback();
42
+ this.style.visibility = "hidden";
43
+ }
44
+ firstUpdated() {
45
+ if (!this.container) return;
46
+ const breadcrumb = this.shadowRoot?.querySelector("cds-custom-breadcrumb");
47
+ if (breadcrumb) {
48
+ breadcrumb.style.display = "block";
49
+ requestAnimationFrame(() => {
50
+ const ol = breadcrumb.shadowRoot?.querySelector("ol");
51
+ if (ol) {
52
+ ol.style.display = "flex";
53
+ ol.style.flexWrap = "unset";
54
+ }
55
+ });
56
+ }
57
+ this.updateComplete.then(() => {
58
+ requestAnimationFrame(() => {
59
+ this.overflowHandler = createOverflowHandler({
60
+ offsetValue: 14,
61
+ container: this.container,
62
+ onChange: (visibleItems, _) => {
63
+ const hiddenCount = (this.breadcrumbsData?.length ?? 1) - 1 - visibleItems.length;
64
+ this.hiddenItems = this.breadcrumbsData?.slice(0, hiddenCount) ?? [];
65
+ }
66
+ });
67
+ });
68
+ });
69
+ setTimeout(() => {
70
+ this.style.visibility = "visible";
71
+ });
72
+ }
73
+ disconnectedCallback() {
74
+ super.disconnectedCallback();
75
+ if (this.overflowHandler) this.overflowHandler.disconnect();
76
+ }
77
+ render() {
78
+ return html`
79
+ <cds-custom-breadcrumb
80
+ aria-label="breadcrumbs"
81
+ class=${classMap({ [`${blockClass}`]: true })}
82
+ >
83
+ <cds-custom-breadcrumb-item
84
+ data-fixed
85
+ data-offset
86
+ style="display: ${this.hiddenItems?.length >= 1 ? "flex" : "none"}"
87
+ >
88
+ <cds-custom-overflow-menu breadcrumb="" align="bottom">
89
+ ${iconLoader(OverflowMenuHorizontal16, { slot: "icon" })}
90
+ <span slot="tooltip-content"> Breadcrumbs </span>
91
+ <cds-custom-overflow-menu-body size="sm">
92
+ ${repeat(this.hiddenItems ?? [], (item) => item.href ?? item.text, (item) => html`
93
+ <cds-custom-overflow-menu-item href=${item.href}>
94
+ ${item.text}
95
+ </cds-custom-overflow-menu-item>
96
+ `)}
97
+ </cds-custom-overflow-menu-body>
98
+ </cds-custom-overflow-menu>
99
+ </cds-custom-breadcrumb-item>
100
+ ${repeat(this.breadcrumbsData?.slice(this.hiddenItems?.length ?? 0, -1) ?? [], (item) => item.href ?? item.text, (item) => html`
101
+ <cds-custom-breadcrumb-item>
102
+ <cds-custom-breadcrumb-link href="${item.href}">
103
+ ${item.text}
104
+ </cds-custom-breadcrumb-link>
105
+ </cds-custom-breadcrumb-item>
106
+ `)}
107
+ <c4p-page-header-title-breadcrumb data-fixed>
108
+ <cds-custom-breadcrumb-link is-currentpage="">
109
+ <c4p-truncated-text
110
+ value="${this.title}"
111
+ lines="1"
112
+ autoalign
113
+ ></c4p-truncated-text>
114
+ </cds-custom-breadcrumb-link>
115
+ </c4p-page-header-title-breadcrumb>
116
+ </cds-custom-breadcrumb>
117
+ `;
118
+ }
119
+ static {
120
+ this.styles = page_header_breadcrumbs_set_default$1;
121
+ }
122
+ };
123
+ __decorate([property({ type: Array })], CDSPageHeaderBreadcrumbsSet.prototype, "hiddenItems", void 0);
124
+ __decorate([property({
125
+ type: Array,
126
+ attribute: "breadcrumbs-data",
127
+ reflect: true
128
+ })], CDSPageHeaderBreadcrumbsSet.prototype, "breadcrumbsData", void 0);
129
+ __decorate([property({ type: String })], CDSPageHeaderBreadcrumbsSet.prototype, "title", void 0);
130
+ __decorate([query(`.${blockClass}`)], CDSPageHeaderBreadcrumbsSet.prototype, "container", void 0);
131
+ CDSPageHeaderBreadcrumbsSet = __decorate([customElement(`${prefix}-page-header-breadcrumbs-set`)], CDSPageHeaderBreadcrumbsSet);
132
+ var page_header_breadcrumbs_set_default = CDSPageHeaderBreadcrumbsSet;
133
+
134
+ //#endregion
135
+ export { page_header_breadcrumbs_set_default as default };
136
+ //# sourceMappingURL=page-header-breadcrumbs-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-header-breadcrumbs-set.js","names":["styles"],"sources":["../../../../src/components/page-header/page-header-breadcrumbs-set/page-header-breadcrumbs-set.ts"],"sourcesContent":["// cspell:words currentpage\n/**\n * @license\n *\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\nimport { LitElement, html } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport '@carbon/web-components/es-custom/components/breadcrumb/index.js';\nimport '@carbon/web-components/es-custom/components/overflow-menu/index.js';\nimport { createOverflowHandler } from '../utils';\nimport OverflowMenuHorizontal16 from '@carbon/icons/es/overflow-menu--horizontal/16.js';\nimport { iconLoader } from '@carbon/web-components/es/globals/internal/icon-loader.js';\nimport '../../truncated-text';\nimport styles from './page-header-breadcrumbs-set.scss?lit';\nimport '../page-header-title-breadcrumb';\nimport { prefix } from '../../../globals/settings';\n\nconst blockClass = `${prefix}--page-header-breadcrumbs-set`;\n\ninterface Breadcrumb {\n text: string;\n href: string;\n}\n\n@customElement(`${prefix}-page-header-breadcrumbs-set`)\nexport default class CDSPageHeaderBreadcrumbsSet extends LitElement {\n /**\n * Hidden items that will be rendered in the overflow menu.\n */\n @property({ type: Array })\n hiddenItems: Breadcrumb[] = [];\n\n /**\n * The list of breadcrumbs.\n */\n @property({ type: Array, attribute: 'breadcrumbs-data', reflect: true })\n breadcrumbsData: Breadcrumb[] = [];\n\n /**\n * The page title to display in the title breadcrumb.\n */\n @property({ type: String })\n title = '';\n\n /**\n * Container holding all breadcrumbs and the overflow menu.\n */\n @query(`.${blockClass}`)\n private container!: HTMLElement;\n\n private overflowHandler: { disconnect: () => void } | undefined;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.style.visibility = 'hidden';\n }\n\n firstUpdated() {\n if (!this.container) {\n return;\n }\n const sr = this.shadowRoot;\n const breadcrumb = sr?.querySelector(\n 'cds-custom-breadcrumb'\n ) as HTMLElement | null;\n\n if (breadcrumb) {\n breadcrumb.style.display = 'block';\n\n requestAnimationFrame(() => {\n const ol = breadcrumb.shadowRoot?.querySelector(\n 'ol'\n ) as HTMLElement | null;\n if (ol) {\n ol.style.display = 'flex';\n ol.style.flexWrap = 'unset';\n }\n });\n }\n\n this.updateComplete.then(() => {\n requestAnimationFrame(() => {\n this.overflowHandler = createOverflowHandler({\n offsetValue: 14,\n container: this.container,\n onChange: (visibleItems: HTMLElement[], _) => {\n const totalItems = (this.breadcrumbsData?.length ?? 1) - 1; // Exclude last item\n const hiddenCount = totalItems - visibleItems.length;\n this.hiddenItems =\n this.breadcrumbsData?.slice(0, hiddenCount) ?? [];\n },\n });\n });\n });\n // On first render, all elements are initially visible. so hiding `this` visibility in connectedCallback\n // The handler runs on the second render to hide specific elements as needed.\n // The following line restores visibility after layout settles, allowing for smoother transitions.\n setTimeout(() => {\n this.style.visibility = 'visible';\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.overflowHandler) {\n this.overflowHandler.disconnect();\n }\n }\n\n render() {\n return html`\n <cds-custom-breadcrumb\n aria-label=\"breadcrumbs\"\n class=${classMap({\n [`${blockClass}`]: true,\n })}\n >\n <cds-custom-breadcrumb-item\n data-fixed\n data-offset\n style=\"display: ${this.hiddenItems?.length >= 1 ? 'flex' : 'none'}\"\n >\n <cds-custom-overflow-menu breadcrumb=\"\" align=\"bottom\">\n ${iconLoader(OverflowMenuHorizontal16, {\n slot: 'icon',\n })}\n <span slot=\"tooltip-content\"> Breadcrumbs </span>\n <cds-custom-overflow-menu-body size=\"sm\">\n ${repeat(\n this.hiddenItems ?? [],\n (item) => item.href ?? item.text,\n (item) => html`\n <cds-custom-overflow-menu-item href=${item.href}>\n ${item.text}\n </cds-custom-overflow-menu-item>\n `\n )}\n </cds-custom-overflow-menu-body>\n </cds-custom-overflow-menu>\n </cds-custom-breadcrumb-item>\n ${repeat(\n this.breadcrumbsData?.slice(this.hiddenItems?.length ?? 0, -1) ?? [],\n (item) => item.href ?? item.text,\n (item) => html`\n <cds-custom-breadcrumb-item>\n <cds-custom-breadcrumb-link href=\"${item.href}\">\n ${item.text}\n </cds-custom-breadcrumb-link>\n </cds-custom-breadcrumb-item>\n `\n )}\n <c4p-page-header-title-breadcrumb data-fixed>\n <cds-custom-breadcrumb-link is-currentpage=\"\">\n <c4p-truncated-text\n value=\"${this.title}\"\n lines=\"1\"\n autoalign\n ></c4p-truncated-text>\n </cds-custom-breadcrumb-link>\n </c4p-page-header-title-breadcrumb>\n </cds-custom-breadcrumb>\n `;\n }\n static styles = styles;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'c4p-page-header-breadcrumbs-set': CDSPageHeaderBreadcrumbsSet;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,aAAa,GAAG,OAAO;AAQd,wCAAM,oCAAoC,WAAW;;;qBAKtC,EAAE;yBAME,EAAE;eAM1B;;CAUR,oBAA0B;AACxB,QAAM,mBAAmB;AACzB,OAAK,MAAM,aAAa;;CAG1B,eAAe;AACb,MAAI,CAAC,KAAK,UACR;EAGF,MAAM,aADK,KAAK,YACO,cACrB,iBACD;AAED,MAAI,YAAY;AACd,cAAW,MAAM,UAAU;AAE3B,+BAA4B;IAC1B,MAAM,KAAK,WAAW,YAAY,cAChC,KACD;AACD,QAAI,IAAI;AACN,QAAG,MAAM,UAAU;AACnB,QAAG,MAAM,WAAW;;KAEtB;;AAGJ,OAAK,eAAe,WAAW;AAC7B,+BAA4B;AAC1B,SAAK,kBAAkB,sBAAsB;KAC3C,aAAa;KACb,WAAW,KAAK;KAChB,WAAW,cAA6B,MAAM;MAE5C,MAAM,eADc,KAAK,iBAAiB,UAAU,KAAK,IACxB,aAAa;AAC9C,WAAK,cACH,KAAK,iBAAiB,MAAM,GAAG,YAAY,IAAI,EAAE;;KAEtD,CAAC;KACF;IACF;AAIF,mBAAiB;AACf,QAAK,MAAM,aAAa;IACxB;;CAGJ,uBAAuB;AACrB,QAAM,sBAAsB;AAC5B,MAAI,KAAK,gBACP,MAAK,gBAAgB,YAAY;;CAIrC,SAAS;AACP,SAAO,IAAI;;;gBAGC,SAAS,GACd,GAAG,eAAe,MACpB,CAAC,CAAC;;;;;4BAKiB,KAAK,aAAa,UAAU,IAAI,SAAS,OAAO;;;cAG9D,WAAW,0BAA0B,EACrC,MAAM,QACP,CAAC,CAAC;;;gBAGC,OACA,KAAK,eAAe,EAAE,GACrB,SAAS,KAAK,QAAQ,KAAK,OAC3B,SAAS,IAAI;iDACmB,KAAK,KAAK;sBACrC,KAAK,KAAK;;kBAGjB,CAAC;;;;UAIN,OACA,KAAK,iBAAiB,MAAM,KAAK,aAAa,UAAU,GAAG,GAAG,IAAI,EAAE,GACnE,SAAS,KAAK,QAAQ,KAAK,OAC3B,SAAS,IAAI;;2CAEmB,KAAK,KAAK;kBACnC,KAAK,KAAK;;;YAInB,CAAC;;;;uBAIa,KAAK,MAAM;;;;;;;;;;gBAShBA;;;YAtIf,SAAS,EAAE,MAAM,OAAO,CAAC;YAMzB,SAAS;CAAE,MAAM;CAAO,WAAW;CAAoB,SAAS;CAAM,CAAC;YAMvE,SAAS,EAAE,MAAM,QAAQ,CAAC;YAM1B,MAAM,IAAI,aAAa;0CAvBzB,cAAc,GAAG,OAAO,8BAA8B"}