@carbon/web-components 2.62.0 → 2.63.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 (955) hide show
  1. package/README.md +26 -0
  2. package/bin/create-prefixed-build.js +157 -0
  3. package/custom-elements.json +2074 -360
  4. package/es/components/accordion/accordion.scss.js +1 -1
  5. package/es/components/action-set/action-set.scss.js +1 -1
  6. package/es/components/ai-label/ai-label-action-button.d.ts +1 -1
  7. package/es/components/ai-label/ai-label-action-button.d.ts.map +1 -1
  8. package/es/components/ai-label/ai-label-action-button.js +4 -3
  9. package/es/components/ai-label/ai-label-action-button.js.map +1 -1
  10. package/es/components/ai-label/ai-label.scss.js +1 -1
  11. package/es/components/ai-label/ai-label.scss.js.map +1 -1
  12. package/es/components/ai-label/index.d.ts +1 -0
  13. package/es/components/ai-label/index.d.ts.map +1 -1
  14. package/es/components/ai-label/index.js +1 -0
  15. package/es/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  16. package/es/components/big-number/big-number-skeleton.d.ts +21 -0
  17. package/es/components/big-number/big-number-skeleton.d.ts.map +1 -0
  18. package/es/components/big-number/big-number-skeleton.js +62 -0
  19. package/es/components/big-number/big-number-skeleton.js.map +1 -0
  20. package/es/components/big-number/big-number-skeleton.scss.js +14 -0
  21. package/es/components/big-number/big-number-skeleton.scss.js.map +1 -0
  22. package/es/components/big-number/big-number.d.ts +35 -0
  23. package/es/components/big-number/big-number.d.ts.map +1 -0
  24. package/es/components/big-number/big-number.js +171 -0
  25. package/es/components/big-number/big-number.js.map +1 -0
  26. package/es/components/big-number/big-number.scss.js +14 -0
  27. package/es/components/big-number/big-number.scss.js.map +1 -0
  28. package/es/components/big-number/constants.d.ts +20 -0
  29. package/es/components/big-number/constants.d.ts.map +1 -0
  30. package/es/components/big-number/constants.js +32 -0
  31. package/es/components/big-number/constants.js.map +1 -0
  32. package/es/components/big-number/index.d.ts +8 -0
  33. package/es/components/big-number/index.d.ts.map +1 -0
  34. package/es/components/big-number/index.js +8 -0
  35. package/es/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  36. package/es/components/breadcrumb/breadcrumb-item.js +2 -1
  37. package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
  38. package/es/components/breadcrumb/breadcrumb.d.ts +1 -1
  39. package/es/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  40. package/es/components/breadcrumb/breadcrumb.js +2 -2
  41. package/es/components/breadcrumb/breadcrumb.js.map +1 -1
  42. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  43. package/es/components/button/button.d.ts.map +1 -1
  44. package/es/components/button/button.js +1 -1
  45. package/es/components/button/button.js.map +1 -1
  46. package/es/components/button/button.scss.js +1 -1
  47. package/es/components/card/card-action.d.ts +27 -0
  48. package/es/components/card/card-action.d.ts.map +1 -0
  49. package/es/components/card/card-action.js +52 -0
  50. package/es/components/card/card-action.js.map +1 -0
  51. package/es/components/card/card-actions.d.ts +36 -0
  52. package/es/components/card/card-actions.d.ts.map +1 -0
  53. package/es/components/card/card-actions.js +171 -0
  54. package/es/components/card/card-actions.js.map +1 -0
  55. package/es/components/card/card-body.d.ts +23 -0
  56. package/es/components/card/card-body.d.ts.map +1 -0
  57. package/es/components/card/card-body.js +54 -0
  58. package/es/components/card/card-body.js.map +1 -0
  59. package/es/components/card/card-context.d.ts +20 -0
  60. package/es/components/card/card-context.d.ts.map +1 -0
  61. package/es/components/card/card-context.js +29 -0
  62. package/es/components/card/card-context.js.map +1 -0
  63. package/es/components/card/card-footer.d.ts +34 -0
  64. package/es/components/card/card-footer.d.ts.map +1 -0
  65. package/es/components/card/card-footer.js +75 -0
  66. package/es/components/card/card-footer.js.map +1 -0
  67. package/es/components/card/card-header-media.d.ts +19 -0
  68. package/es/components/card/card-header-media.d.ts.map +1 -0
  69. package/es/components/card/card-header-media.js +39 -0
  70. package/es/components/card/card-header-media.js.map +1 -0
  71. package/es/components/card/card-header.d.ts +23 -0
  72. package/es/components/card/card-header.d.ts.map +1 -0
  73. package/es/components/card/card-header.js +70 -0
  74. package/es/components/card/card-header.js.map +1 -0
  75. package/es/components/card/card-media.d.ts +37 -0
  76. package/es/components/card/card-media.d.ts.map +1 -0
  77. package/es/components/card/card-media.js +79 -0
  78. package/es/components/card/card-media.js.map +1 -0
  79. package/es/components/card/card-title-media.d.ts +19 -0
  80. package/es/components/card/card-title-media.d.ts.map +1 -0
  81. package/es/components/card/card-title-media.js +39 -0
  82. package/es/components/card/card-title-media.js.map +1 -0
  83. package/es/components/card/card-title.d.ts +52 -0
  84. package/es/components/card/card-title.d.ts.map +1 -0
  85. package/es/components/card/card-title.js +144 -0
  86. package/es/components/card/card-title.js.map +1 -0
  87. package/es/components/card/card.d.ts +69 -0
  88. package/es/components/card/card.d.ts.map +1 -0
  89. package/es/components/card/card.js +185 -0
  90. package/es/components/card/card.js.map +1 -0
  91. package/es/components/card/card.scss.js +14 -0
  92. package/es/components/card/card.scss.js.map +1 -0
  93. package/es/components/card/defs.d.ts +33 -0
  94. package/es/components/card/defs.d.ts.map +1 -0
  95. package/es/components/card/defs.js +46 -0
  96. package/es/components/card/defs.js.map +1 -0
  97. package/es/components/card/index.d.ts +17 -0
  98. package/es/components/card/index.d.ts.map +1 -0
  99. package/es/components/card/index.js +17 -0
  100. package/es/components/checkbox/checkbox.scss.js +1 -1
  101. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +67 -0
  102. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts.map +1 -0
  103. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.js +120 -0
  104. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.js.map +1 -0
  105. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js +14 -0
  106. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js.map +1 -0
  107. package/es/components/coachmark/coachmark-beacon/defs.d.ts +13 -0
  108. package/es/components/coachmark/coachmark-beacon/defs.d.ts.map +1 -0
  109. package/es/components/coachmark/coachmark-beacon/defs.js +25 -0
  110. package/es/components/coachmark/coachmark-beacon/defs.js.map +1 -0
  111. package/es/components/coachmark/coachmark-beacon/index.d.ts +8 -0
  112. package/es/components/coachmark/coachmark-beacon/index.d.ts.map +1 -0
  113. package/es/components/coachmark/coachmark-beacon/index.js +8 -0
  114. package/es/components/coachmark/coachmark-body.d.ts +31 -0
  115. package/es/components/coachmark/coachmark-body.d.ts.map +1 -0
  116. package/es/components/coachmark/coachmark-body.js +39 -0
  117. package/es/components/coachmark/coachmark-body.js.map +1 -0
  118. package/es/components/coachmark/coachmark-body.scss.js +14 -0
  119. package/es/components/coachmark/coachmark-body.scss.js.map +1 -0
  120. package/es/components/coachmark/coachmark-context.d.ts +12 -0
  121. package/es/components/coachmark/coachmark-context.d.ts.map +1 -0
  122. package/es/components/coachmark/coachmark-context.js +39 -0
  123. package/es/components/coachmark/coachmark-context.js.map +1 -0
  124. package/es/components/coachmark/coachmark-header.d.ts +41 -0
  125. package/es/components/coachmark/coachmark-header.d.ts.map +1 -0
  126. package/es/components/coachmark/coachmark-header.js +95 -0
  127. package/es/components/coachmark/coachmark-header.js.map +1 -0
  128. package/es/components/coachmark/coachmark-header.scss.js +14 -0
  129. package/es/components/coachmark/coachmark-header.scss.js.map +1 -0
  130. package/es/components/coachmark/coachmark-helpers.d.ts +10 -0
  131. package/es/components/coachmark/coachmark-helpers.d.ts.map +1 -0
  132. package/es/components/coachmark/coachmark-helpers.js +33 -0
  133. package/es/components/coachmark/coachmark-helpers.js.map +1 -0
  134. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +72 -0
  135. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts.map +1 -0
  136. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.js +130 -0
  137. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.js.map +1 -0
  138. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js +14 -0
  139. package/es/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js.map +1 -0
  140. package/es/components/coachmark/coachmark-tagline/index.d.ts +8 -0
  141. package/es/components/coachmark/coachmark-tagline/index.d.ts.map +1 -0
  142. package/es/components/coachmark/coachmark-tagline/index.js +8 -0
  143. package/es/components/coachmark/coachmark.d.ts +97 -0
  144. package/es/components/coachmark/coachmark.d.ts.map +1 -0
  145. package/es/components/coachmark/coachmark.js +290 -0
  146. package/es/components/coachmark/coachmark.js.map +1 -0
  147. package/es/components/coachmark/coachmark.scss.js +14 -0
  148. package/es/components/coachmark/coachmark.scss.js.map +1 -0
  149. package/es/components/coachmark/index.d.ts +10 -0
  150. package/es/components/coachmark/index.d.ts.map +1 -0
  151. package/es/components/coachmark/index.js +10 -0
  152. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  153. package/es/components/combo-box/combo-box.d.ts.map +1 -1
  154. package/es/components/combo-box/combo-box.js +5 -12
  155. package/es/components/combo-box/combo-box.js.map +1 -1
  156. package/es/components/combo-box/combo-box.scss.js +1 -1
  157. package/es/components/combo-box/combo-box.scss.js.map +1 -1
  158. package/es/components/combo-button/combo-button.scss.js +1 -1
  159. package/es/components/contained-list/contained-list.scss.js +1 -1
  160. package/es/components/content-switcher/content-switcher.scss.js +1 -1
  161. package/es/components/copy/index.d.ts +9 -0
  162. package/es/components/copy/index.d.ts.map +1 -0
  163. package/es/components/copy/index.js +9 -0
  164. package/es/components/copy-button/copy-button.scss.js +1 -1
  165. package/es/components/data-table/data-table.scss.js +1 -1
  166. package/es/components/date-picker/date-picker.scss.js +1 -1
  167. package/es/components/date-picker/date-picker.scss.js.map +1 -1
  168. package/es/components/date-picker/next/components/date-picker.scss.js +1 -1
  169. package/es/components/date-picker/next/components/date-picker.scss.js.map +1 -1
  170. package/es/components/dialog/dialog.scss.js +1 -1
  171. package/es/components/dropdown/dropdown.d.ts +2 -1
  172. package/es/components/dropdown/dropdown.d.ts.map +1 -1
  173. package/es/components/dropdown/dropdown.js +13 -15
  174. package/es/components/dropdown/dropdown.js.map +1 -1
  175. package/es/components/dropdown/dropdown.scss.js +1 -1
  176. package/es/components/dropdown/dropdown.scss.js.map +1 -1
  177. package/es/components/edit-in-place/defs.d.ts +30 -0
  178. package/es/components/edit-in-place/defs.d.ts.map +1 -0
  179. package/es/components/edit-in-place/defs.js +43 -0
  180. package/es/components/edit-in-place/defs.js.map +1 -0
  181. package/es/components/edit-in-place/edit-in-place-helpers.d.ts +47 -0
  182. package/es/components/edit-in-place/edit-in-place-helpers.d.ts.map +1 -0
  183. package/es/components/edit-in-place/edit-in-place-helpers.js +59 -0
  184. package/es/components/edit-in-place/edit-in-place-helpers.js.map +1 -0
  185. package/es/components/edit-in-place/edit-in-place.d.ts +214 -0
  186. package/es/components/edit-in-place/edit-in-place.d.ts.map +1 -0
  187. package/es/components/edit-in-place/edit-in-place.js +453 -0
  188. package/es/components/edit-in-place/edit-in-place.js.map +1 -0
  189. package/es/components/edit-in-place/edit-in-place.scss.js +14 -0
  190. package/es/components/edit-in-place/edit-in-place.scss.js.map +1 -0
  191. package/es/components/edit-in-place/index.d.ts +10 -0
  192. package/es/components/edit-in-place/index.d.ts.map +1 -0
  193. package/es/components/edit-in-place/index.js +20 -0
  194. package/es/components/edit-in-place/index.js.map +1 -0
  195. package/es/components/file-uploader/file-uploader.scss.js +1 -1
  196. package/es/components/fluid-combo-box/fluid-combo-box.scss.js +1 -1
  197. package/es/components/fluid-combo-box/fluid-combo-box.scss.js.map +1 -1
  198. package/es/components/fluid-date-picker/fluid-date-picker.d.ts +5 -1
  199. package/es/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -1
  200. package/es/components/fluid-date-picker/fluid-date-picker.js +27 -1
  201. package/es/components/fluid-date-picker/fluid-date-picker.js.map +1 -1
  202. package/es/components/fluid-date-picker/fluid-date-picker.scss.js +1 -1
  203. package/es/components/fluid-date-picker/fluid-date-picker.scss.js.map +1 -1
  204. package/es/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
  205. package/es/components/fluid-dropdown/fluid-dropdown.scss.js.map +1 -1
  206. package/es/components/fluid-form/fluid-form.scss.js +1 -1
  207. package/es/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
  208. package/es/components/fluid-multi-select/fluid-multi-select.scss.js.map +1 -1
  209. package/es/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  210. package/es/components/fluid-number-input/fluid-number-input.scss.js.map +1 -1
  211. package/es/components/fluid-password-input/fluid-password-input.scss.js +1 -1
  212. package/es/components/fluid-search/fluid-search.scss.js +1 -1
  213. package/es/components/fluid-search/fluid-search.scss.js.map +1 -1
  214. package/es/components/fluid-select/fluid-select.scss.js +1 -1
  215. package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  216. package/es/components/fluid-textarea/fluid-textarea.scss.js +1 -1
  217. package/es/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
  218. package/es/components/form/form-item.scss.js +1 -1
  219. package/es/components/form/form.scss.js +1 -1
  220. package/es/components/form-group/form-group.scss.js +1 -1
  221. package/es/components/grid/column-hang.scss.js +1 -1
  222. package/es/components/grid/grid.scss.js +1 -1
  223. package/es/components/icon-button/icon-button.d.ts +1 -1
  224. package/es/components/icon-button/icon-button.js +1 -1
  225. package/es/components/icon-button/icon-button.js.map +1 -1
  226. package/es/components/inline-loading/inline-loading.scss.js +1 -1
  227. package/es/components/layer/layer.scss.js +1 -1
  228. package/es/components/layout/layout.scss.js +1 -1
  229. package/es/components/link/link.d.ts +2 -1
  230. package/es/components/link/link.d.ts.map +1 -1
  231. package/es/components/link/link.js +1 -1
  232. package/es/components/link/link.js.map +1 -1
  233. package/es/components/loading/loading.scss.js +1 -1
  234. package/es/components/menu/menu-item.d.ts.map +1 -1
  235. package/es/components/menu/menu-item.js +2 -6
  236. package/es/components/menu/menu-item.js.map +1 -1
  237. package/es/components/menu/menu-item.scss.js +1 -1
  238. package/es/components/menu/menu-item.scss.js.map +1 -1
  239. package/es/components/menu/menu.d.ts +10 -0
  240. package/es/components/menu/menu.d.ts.map +1 -1
  241. package/es/components/menu/menu.js +17 -11
  242. package/es/components/menu/menu.js.map +1 -1
  243. package/es/components/menu/menu.scss.js +1 -1
  244. package/es/components/menu/menu.scss.js.map +1 -1
  245. package/es/components/menu-button/menu-button.scss.js +1 -1
  246. package/es/components/modal/modal.scss.js +1 -1
  247. package/es/components/multi-select/multi-select-item.d.ts +1 -1
  248. package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
  249. package/es/components/multi-select/multi-select-item.js +5 -1
  250. package/es/components/multi-select/multi-select-item.js.map +1 -1
  251. package/es/components/multi-select/multi-select.d.ts +2 -1
  252. package/es/components/multi-select/multi-select.d.ts.map +1 -1
  253. package/es/components/multi-select/multi-select.js +15 -14
  254. package/es/components/multi-select/multi-select.js.map +1 -1
  255. package/es/components/multi-select/multi-select.scss.js +1 -1
  256. package/es/components/multi-select/multi-select.scss.js.map +1 -1
  257. package/es/components/notification/actionable-notification-button.d.ts +1 -1
  258. package/es/components/notification/actionable-notification-button.d.ts.map +1 -1
  259. package/es/components/notification/actionable-notification-button.js +2 -2
  260. package/es/components/notification/actionable-notification-button.js.map +1 -1
  261. package/es/components/notification/actionable-notification.d.ts.map +1 -1
  262. package/es/components/notification/actionable-notification.js +4 -4
  263. package/es/components/notification/actionable-notification.js.map +1 -1
  264. package/es/components/notification/actionable-notification.scss.js +1 -1
  265. package/es/components/notification/inline-notification.scss.js +1 -1
  266. package/es/components/notification/toast-notification.scss.js +1 -1
  267. package/es/components/number-input/number-input.scss.js +1 -1
  268. package/es/components/number-input/number-input.scss.js.map +1 -1
  269. package/es/components/options-tile/index.d.ts +8 -0
  270. package/es/components/options-tile/index.d.ts.map +1 -0
  271. package/es/components/options-tile/index.js +8 -0
  272. package/es/components/options-tile/option-tile-helpers.d.ts +16 -0
  273. package/es/components/options-tile/option-tile-helpers.d.ts.map +1 -0
  274. package/es/components/options-tile/option-tile-helpers.js +163 -0
  275. package/es/components/options-tile/option-tile-helpers.js.map +1 -0
  276. package/es/components/options-tile/options-tile.d.ts +91 -0
  277. package/es/components/options-tile/options-tile.d.ts.map +1 -0
  278. package/es/components/options-tile/options-tile.js +208 -0
  279. package/es/components/options-tile/options-tile.js.map +1 -0
  280. package/es/components/options-tile/options-tile.scss.js +14 -0
  281. package/es/components/options-tile/options-tile.scss.js.map +1 -0
  282. package/es/components/overflow-menu/overflow-menu.js +1 -1
  283. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  284. package/es/components/page-header/index.d.ts +1 -0
  285. package/es/components/page-header/index.d.ts.map +1 -1
  286. package/es/components/page-header/index.js +1 -0
  287. package/es/components/page-header/page-header-tabs.d.ts +1 -1
  288. package/es/components/page-header/page-header-tabs.d.ts.map +1 -1
  289. package/es/components/page-header/page-header-tabs.js +1 -2
  290. package/es/components/page-header/page-header-tabs.js.map +1 -1
  291. package/es/components/page-header/page-header.d.ts +1 -1
  292. package/es/components/page-header/page-header.d.ts.map +1 -1
  293. package/es/components/page-header/page-header.js +1 -2
  294. package/es/components/page-header/page-header.js.map +1 -1
  295. package/es/components/page-header/page-header.scss.js +1 -1
  296. package/es/components/pagination/pagination.scss.js +1 -1
  297. package/es/components/pagination-nav/pagination-nav.scss.js +1 -1
  298. package/es/components/password-input/password-input.scss.js +1 -1
  299. package/es/components/popover/popover.scss.js +1 -1
  300. package/es/components/progress-bar/progress-bar.scss.js +1 -1
  301. package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
  302. package/es/components/radio-button/radio-button.scss.js +1 -1
  303. package/es/components/resizer/resizer-handle-pivot.scss.js +1 -1
  304. package/es/components/search/search.d.ts.map +1 -1
  305. package/es/components/search/search.js +2 -0
  306. package/es/components/search/search.js.map +1 -1
  307. package/es/components/search/search.scss.js +1 -1
  308. package/es/components/search/search.scss.js.map +1 -1
  309. package/es/components/select/select.scss.js +1 -1
  310. package/es/components/select/select.scss.js.map +1 -1
  311. package/es/components/side-panel/side-panel.js +2 -2
  312. package/es/components/side-panel/side-panel.js.map +1 -1
  313. package/es/components/side-panel/side-panel.scss.js +1 -1
  314. package/es/components/skeleton-icon/skeleton-icon.scss.js +1 -1
  315. package/es/components/skeleton-placeholder/skeleton-placeholder.scss.js +1 -1
  316. package/es/components/skeleton-text/skeleton-text.scss.js +1 -1
  317. package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
  318. package/es/components/slider/slider.scss.js +1 -1
  319. package/es/components/slider/slider.scss.js.map +1 -1
  320. package/es/components/slug/index.d.ts +1 -0
  321. package/es/components/slug/index.d.ts.map +1 -1
  322. package/es/components/slug/index.js +1 -0
  323. package/es/components/slug/slug.scss.js +1 -1
  324. package/es/components/structured-list/structured-list.scss.js +1 -1
  325. package/es/components/tabs/tabs.scss.js +1 -1
  326. package/es/components/tabs/tabs.scss.js.map +1 -1
  327. package/es/components/tag/dismissible-tag.d.ts +1 -1
  328. package/es/components/tag/dismissible-tag.d.ts.map +1 -1
  329. package/es/components/tag/dismissible-tag.js +24 -15
  330. package/es/components/tag/dismissible-tag.js.map +1 -1
  331. package/es/components/tag/tag.d.ts.map +1 -1
  332. package/es/components/tag/tag.js +1 -1
  333. package/es/components/tag/tag.js.map +1 -1
  334. package/es/components/tag/tag.scss.js +1 -1
  335. package/es/components/tag/tag.scss.js.map +1 -1
  336. package/es/components/text-input/text-input.scss.js +1 -1
  337. package/es/components/text-input/text-input.scss.js.map +1 -1
  338. package/es/components/textarea/textarea.scss.js +1 -1
  339. package/es/components/tile/clickable-tile.d.ts +2 -1
  340. package/es/components/tile/clickable-tile.d.ts.map +1 -1
  341. package/es/components/tile/clickable-tile.js +1 -1
  342. package/es/components/tile/clickable-tile.js.map +1 -1
  343. package/es/components/tile/tile.scss.js +1 -1
  344. package/es/components/time-picker/time-picker.scss.js +1 -1
  345. package/es/components/toggle-tip/toggletip.scss.js +1 -1
  346. package/es/components/tooltip/tooltip.scss.js +1 -1
  347. package/es/components/tree-view/tree-view.scss.js +1 -1
  348. package/es/components/ui-shell/header.scss.js +1 -1
  349. package/es/components/ui-shell/side-nav.scss.js +1 -1
  350. package/es/components/user-avatar/index.d.ts +8 -0
  351. package/es/components/user-avatar/index.d.ts.map +1 -0
  352. package/es/components/user-avatar/index.js +8 -0
  353. package/es/components/user-avatar/user-avatar.d.ts +84 -0
  354. package/es/components/user-avatar/user-avatar.d.ts.map +1 -0
  355. package/es/components/user-avatar/user-avatar.js +151 -0
  356. package/es/components/user-avatar/user-avatar.js.map +1 -0
  357. package/es/components/user-avatar/user-avatar.scss.js +14 -0
  358. package/es/components/user-avatar/user-avatar.scss.js.map +1 -0
  359. package/es/globals/controllers/floating-controller.d.ts.map +1 -1
  360. package/es/globals/controllers/floating-controller.js.map +1 -1
  361. package/es/globals/decorators/carbon-element.d.ts +8 -0
  362. package/es/globals/decorators/carbon-element.d.ts.map +1 -1
  363. package/es/globals/decorators/carbon-element.js +8 -0
  364. package/es/globals/decorators/carbon-element.js.map +1 -1
  365. package/es/globals/internal/collection-helpers.d.ts +5 -5
  366. package/es/globals/internal/collection-helpers.d.ts.map +1 -1
  367. package/es/globals/internal/collection-helpers.js +1 -1
  368. package/es/globals/internal/collection-helpers.js.map +1 -1
  369. package/es/globals/internal/getSupportedLocale.d.ts +12 -0
  370. package/es/globals/internal/getSupportedLocale.d.ts.map +1 -0
  371. package/es/globals/internal/getSupportedLocale.js +29 -0
  372. package/es/globals/internal/getSupportedLocale.js.map +1 -0
  373. package/es/globals/mixins/on.d.ts +2 -2
  374. package/es/globals/mixins/on.d.ts.map +1 -1
  375. package/es/globals/mixins/on.js +4 -4
  376. package/es/globals/mixins/on.js.map +1 -1
  377. package/es/globals/register.d.ts +89 -0
  378. package/es/globals/register.d.ts.map +1 -0
  379. package/es/globals/register.js +56 -0
  380. package/es/globals/register.js.map +1 -0
  381. package/es/globals/settings.d.ts +1 -1
  382. package/es/globals/settings.d.ts.map +1 -1
  383. package/es/globals/settings.js +1 -0
  384. package/es/globals/settings.js.map +1 -1
  385. package/es/index.d.ts +10 -0
  386. package/es/index.d.ts.map +1 -1
  387. package/es/index.js +13 -3
  388. package/es-custom/components/accordion/accordion.scss.js +1 -1
  389. package/es-custom/components/action-set/action-set.scss.js +1 -1
  390. package/es-custom/components/ai-label/ai-label-action-button.d.ts +1 -1
  391. package/es-custom/components/ai-label/ai-label-action-button.d.ts.map +1 -1
  392. package/es-custom/components/ai-label/ai-label-action-button.js +4 -3
  393. package/es-custom/components/ai-label/ai-label-action-button.js.map +1 -1
  394. package/es-custom/components/ai-label/ai-label.scss.js +1 -1
  395. package/es-custom/components/ai-label/ai-label.scss.js.map +1 -1
  396. package/es-custom/components/ai-label/index.d.ts +1 -0
  397. package/es-custom/components/ai-label/index.d.ts.map +1 -1
  398. package/es-custom/components/ai-label/index.js +1 -0
  399. package/es-custom/components/ai-skeleton/ai-skeleton.scss.js +1 -1
  400. package/es-custom/components/big-number/big-number-skeleton.d.ts +21 -0
  401. package/es-custom/components/big-number/big-number-skeleton.d.ts.map +1 -0
  402. package/es-custom/components/big-number/big-number-skeleton.js +62 -0
  403. package/es-custom/components/big-number/big-number-skeleton.js.map +1 -0
  404. package/es-custom/components/big-number/big-number-skeleton.scss.js +14 -0
  405. package/es-custom/components/big-number/big-number-skeleton.scss.js.map +1 -0
  406. package/es-custom/components/big-number/big-number.d.ts +35 -0
  407. package/es-custom/components/big-number/big-number.d.ts.map +1 -0
  408. package/es-custom/components/big-number/big-number.js +171 -0
  409. package/es-custom/components/big-number/big-number.js.map +1 -0
  410. package/es-custom/components/big-number/big-number.scss.js +14 -0
  411. package/es-custom/components/big-number/big-number.scss.js.map +1 -0
  412. package/es-custom/components/big-number/constants.d.ts +20 -0
  413. package/es-custom/components/big-number/constants.d.ts.map +1 -0
  414. package/es-custom/components/big-number/constants.js +32 -0
  415. package/es-custom/components/big-number/constants.js.map +1 -0
  416. package/es-custom/components/big-number/index.d.ts +8 -0
  417. package/es-custom/components/big-number/index.d.ts.map +1 -0
  418. package/es-custom/components/big-number/index.js +8 -0
  419. package/es-custom/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  420. package/es-custom/components/breadcrumb/breadcrumb-item.js +2 -1
  421. package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
  422. package/es-custom/components/breadcrumb/breadcrumb.d.ts +1 -1
  423. package/es-custom/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  424. package/es-custom/components/breadcrumb/breadcrumb.js +2 -2
  425. package/es-custom/components/breadcrumb/breadcrumb.js.map +1 -1
  426. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  427. package/es-custom/components/button/button.d.ts.map +1 -1
  428. package/es-custom/components/button/button.js +1 -1
  429. package/es-custom/components/button/button.js.map +1 -1
  430. package/es-custom/components/button/button.scss.js +1 -1
  431. package/es-custom/components/card/card-action.d.ts +27 -0
  432. package/es-custom/components/card/card-action.d.ts.map +1 -0
  433. package/es-custom/components/card/card-action.js +52 -0
  434. package/es-custom/components/card/card-action.js.map +1 -0
  435. package/es-custom/components/card/card-actions.d.ts +36 -0
  436. package/es-custom/components/card/card-actions.d.ts.map +1 -0
  437. package/es-custom/components/card/card-actions.js +171 -0
  438. package/es-custom/components/card/card-actions.js.map +1 -0
  439. package/es-custom/components/card/card-body.d.ts +23 -0
  440. package/es-custom/components/card/card-body.d.ts.map +1 -0
  441. package/es-custom/components/card/card-body.js +54 -0
  442. package/es-custom/components/card/card-body.js.map +1 -0
  443. package/es-custom/components/card/card-context.d.ts +20 -0
  444. package/es-custom/components/card/card-context.d.ts.map +1 -0
  445. package/es-custom/components/card/card-context.js +29 -0
  446. package/es-custom/components/card/card-context.js.map +1 -0
  447. package/es-custom/components/card/card-footer.d.ts +34 -0
  448. package/es-custom/components/card/card-footer.d.ts.map +1 -0
  449. package/es-custom/components/card/card-footer.js +75 -0
  450. package/es-custom/components/card/card-footer.js.map +1 -0
  451. package/es-custom/components/card/card-header-media.d.ts +19 -0
  452. package/es-custom/components/card/card-header-media.d.ts.map +1 -0
  453. package/es-custom/components/card/card-header-media.js +39 -0
  454. package/es-custom/components/card/card-header-media.js.map +1 -0
  455. package/es-custom/components/card/card-header.d.ts +23 -0
  456. package/es-custom/components/card/card-header.d.ts.map +1 -0
  457. package/es-custom/components/card/card-header.js +70 -0
  458. package/es-custom/components/card/card-header.js.map +1 -0
  459. package/es-custom/components/card/card-media.d.ts +37 -0
  460. package/es-custom/components/card/card-media.d.ts.map +1 -0
  461. package/es-custom/components/card/card-media.js +79 -0
  462. package/es-custom/components/card/card-media.js.map +1 -0
  463. package/es-custom/components/card/card-title-media.d.ts +19 -0
  464. package/es-custom/components/card/card-title-media.d.ts.map +1 -0
  465. package/es-custom/components/card/card-title-media.js +39 -0
  466. package/es-custom/components/card/card-title-media.js.map +1 -0
  467. package/es-custom/components/card/card-title.d.ts +52 -0
  468. package/es-custom/components/card/card-title.d.ts.map +1 -0
  469. package/es-custom/components/card/card-title.js +144 -0
  470. package/es-custom/components/card/card-title.js.map +1 -0
  471. package/es-custom/components/card/card.d.ts +69 -0
  472. package/es-custom/components/card/card.d.ts.map +1 -0
  473. package/es-custom/components/card/card.js +185 -0
  474. package/es-custom/components/card/card.js.map +1 -0
  475. package/es-custom/components/card/card.scss.js +14 -0
  476. package/es-custom/components/card/card.scss.js.map +1 -0
  477. package/es-custom/components/card/defs.d.ts +33 -0
  478. package/es-custom/components/card/defs.d.ts.map +1 -0
  479. package/es-custom/components/card/defs.js +46 -0
  480. package/es-custom/components/card/defs.js.map +1 -0
  481. package/es-custom/components/card/index.d.ts +17 -0
  482. package/es-custom/components/card/index.d.ts.map +1 -0
  483. package/es-custom/components/card/index.js +17 -0
  484. package/es-custom/components/checkbox/checkbox.scss.js +1 -1
  485. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +67 -0
  486. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts.map +1 -0
  487. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.js +120 -0
  488. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.js.map +1 -0
  489. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js +14 -0
  490. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js.map +1 -0
  491. package/es-custom/components/coachmark/coachmark-beacon/defs.d.ts +13 -0
  492. package/es-custom/components/coachmark/coachmark-beacon/defs.d.ts.map +1 -0
  493. package/es-custom/components/coachmark/coachmark-beacon/defs.js +25 -0
  494. package/es-custom/components/coachmark/coachmark-beacon/defs.js.map +1 -0
  495. package/es-custom/components/coachmark/coachmark-beacon/index.d.ts +8 -0
  496. package/es-custom/components/coachmark/coachmark-beacon/index.d.ts.map +1 -0
  497. package/es-custom/components/coachmark/coachmark-beacon/index.js +8 -0
  498. package/es-custom/components/coachmark/coachmark-body.d.ts +31 -0
  499. package/es-custom/components/coachmark/coachmark-body.d.ts.map +1 -0
  500. package/es-custom/components/coachmark/coachmark-body.js +39 -0
  501. package/es-custom/components/coachmark/coachmark-body.js.map +1 -0
  502. package/es-custom/components/coachmark/coachmark-body.scss.js +14 -0
  503. package/es-custom/components/coachmark/coachmark-body.scss.js.map +1 -0
  504. package/es-custom/components/coachmark/coachmark-context.d.ts +12 -0
  505. package/es-custom/components/coachmark/coachmark-context.d.ts.map +1 -0
  506. package/es-custom/components/coachmark/coachmark-context.js +39 -0
  507. package/es-custom/components/coachmark/coachmark-context.js.map +1 -0
  508. package/es-custom/components/coachmark/coachmark-header.d.ts +41 -0
  509. package/es-custom/components/coachmark/coachmark-header.d.ts.map +1 -0
  510. package/es-custom/components/coachmark/coachmark-header.js +95 -0
  511. package/es-custom/components/coachmark/coachmark-header.js.map +1 -0
  512. package/es-custom/components/coachmark/coachmark-header.scss.js +14 -0
  513. package/es-custom/components/coachmark/coachmark-header.scss.js.map +1 -0
  514. package/es-custom/components/coachmark/coachmark-helpers.d.ts +10 -0
  515. package/es-custom/components/coachmark/coachmark-helpers.d.ts.map +1 -0
  516. package/es-custom/components/coachmark/coachmark-helpers.js +33 -0
  517. package/es-custom/components/coachmark/coachmark-helpers.js.map +1 -0
  518. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +72 -0
  519. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts.map +1 -0
  520. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.js +130 -0
  521. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.js.map +1 -0
  522. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js +14 -0
  523. package/es-custom/components/coachmark/coachmark-tagline/coachmark-tagline.scss.js.map +1 -0
  524. package/es-custom/components/coachmark/coachmark-tagline/index.d.ts +8 -0
  525. package/es-custom/components/coachmark/coachmark-tagline/index.d.ts.map +1 -0
  526. package/es-custom/components/coachmark/coachmark-tagline/index.js +8 -0
  527. package/es-custom/components/coachmark/coachmark.d.ts +97 -0
  528. package/es-custom/components/coachmark/coachmark.d.ts.map +1 -0
  529. package/es-custom/components/coachmark/coachmark.js +290 -0
  530. package/es-custom/components/coachmark/coachmark.js.map +1 -0
  531. package/es-custom/components/coachmark/coachmark.scss.js +14 -0
  532. package/es-custom/components/coachmark/coachmark.scss.js.map +1 -0
  533. package/es-custom/components/coachmark/index.d.ts +10 -0
  534. package/es-custom/components/coachmark/index.d.ts.map +1 -0
  535. package/es-custom/components/coachmark/index.js +10 -0
  536. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  537. package/es-custom/components/combo-box/combo-box.d.ts.map +1 -1
  538. package/es-custom/components/combo-box/combo-box.js +5 -12
  539. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  540. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  541. package/es-custom/components/combo-box/combo-box.scss.js.map +1 -1
  542. package/es-custom/components/combo-button/combo-button.scss.js +1 -1
  543. package/es-custom/components/contained-list/contained-list.scss.js +1 -1
  544. package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
  545. package/es-custom/components/copy/index.d.ts +9 -0
  546. package/es-custom/components/copy/index.d.ts.map +1 -0
  547. package/es-custom/components/copy/index.js +9 -0
  548. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  549. package/es-custom/components/data-table/data-table.scss.js +1 -1
  550. package/es-custom/components/date-picker/date-picker.scss.js +1 -1
  551. package/es-custom/components/date-picker/date-picker.scss.js.map +1 -1
  552. package/es-custom/components/date-picker/next/components/date-picker.scss.js +1 -1
  553. package/es-custom/components/date-picker/next/components/date-picker.scss.js.map +1 -1
  554. package/es-custom/components/dialog/dialog.scss.js +1 -1
  555. package/es-custom/components/dropdown/dropdown.d.ts +2 -1
  556. package/es-custom/components/dropdown/dropdown.d.ts.map +1 -1
  557. package/es-custom/components/dropdown/dropdown.js +13 -15
  558. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  559. package/es-custom/components/dropdown/dropdown.scss.js +1 -1
  560. package/es-custom/components/dropdown/dropdown.scss.js.map +1 -1
  561. package/es-custom/components/edit-in-place/defs.d.ts +30 -0
  562. package/es-custom/components/edit-in-place/defs.d.ts.map +1 -0
  563. package/es-custom/components/edit-in-place/defs.js +43 -0
  564. package/es-custom/components/edit-in-place/defs.js.map +1 -0
  565. package/es-custom/components/edit-in-place/edit-in-place-helpers.d.ts +47 -0
  566. package/es-custom/components/edit-in-place/edit-in-place-helpers.d.ts.map +1 -0
  567. package/es-custom/components/edit-in-place/edit-in-place-helpers.js +59 -0
  568. package/es-custom/components/edit-in-place/edit-in-place-helpers.js.map +1 -0
  569. package/es-custom/components/edit-in-place/edit-in-place.d.ts +214 -0
  570. package/es-custom/components/edit-in-place/edit-in-place.d.ts.map +1 -0
  571. package/es-custom/components/edit-in-place/edit-in-place.js +453 -0
  572. package/es-custom/components/edit-in-place/edit-in-place.js.map +1 -0
  573. package/es-custom/components/edit-in-place/edit-in-place.scss.js +14 -0
  574. package/es-custom/components/edit-in-place/edit-in-place.scss.js.map +1 -0
  575. package/es-custom/components/edit-in-place/index.d.ts +10 -0
  576. package/es-custom/components/edit-in-place/index.d.ts.map +1 -0
  577. package/es-custom/components/edit-in-place/index.js +20 -0
  578. package/es-custom/components/edit-in-place/index.js.map +1 -0
  579. package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
  580. package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js +1 -1
  581. package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js.map +1 -1
  582. package/es-custom/components/fluid-date-picker/fluid-date-picker.d.ts +5 -1
  583. package/es-custom/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -1
  584. package/es-custom/components/fluid-date-picker/fluid-date-picker.js +27 -1
  585. package/es-custom/components/fluid-date-picker/fluid-date-picker.js.map +1 -1
  586. package/es-custom/components/fluid-date-picker/fluid-date-picker.scss.js +1 -1
  587. package/es-custom/components/fluid-date-picker/fluid-date-picker.scss.js.map +1 -1
  588. package/es-custom/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
  589. package/es-custom/components/fluid-dropdown/fluid-dropdown.scss.js.map +1 -1
  590. package/es-custom/components/fluid-form/fluid-form.scss.js +1 -1
  591. package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
  592. package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js.map +1 -1
  593. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +1 -1
  594. package/es-custom/components/fluid-number-input/fluid-number-input.scss.js.map +1 -1
  595. package/es-custom/components/fluid-password-input/fluid-password-input.scss.js +1 -1
  596. package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
  597. package/es-custom/components/fluid-search/fluid-search.scss.js.map +1 -1
  598. package/es-custom/components/fluid-select/fluid-select.scss.js +1 -1
  599. package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
  600. package/es-custom/components/fluid-textarea/fluid-textarea.scss.js +1 -1
  601. package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
  602. package/es-custom/components/form/form-item.scss.js +1 -1
  603. package/es-custom/components/form/form.scss.js +1 -1
  604. package/es-custom/components/form-group/form-group.scss.js +1 -1
  605. package/es-custom/components/grid/column-hang.scss.js +1 -1
  606. package/es-custom/components/grid/grid.scss.js +1 -1
  607. package/es-custom/components/icon-button/icon-button.d.ts +1 -1
  608. package/es-custom/components/icon-button/icon-button.js +1 -1
  609. package/es-custom/components/icon-button/icon-button.js.map +1 -1
  610. package/es-custom/components/inline-loading/inline-loading.scss.js +1 -1
  611. package/es-custom/components/layer/layer.scss.js +1 -1
  612. package/es-custom/components/layout/layout.scss.js +1 -1
  613. package/es-custom/components/link/link.d.ts +2 -1
  614. package/es-custom/components/link/link.d.ts.map +1 -1
  615. package/es-custom/components/link/link.js +1 -1
  616. package/es-custom/components/link/link.js.map +1 -1
  617. package/es-custom/components/loading/loading.scss.js +1 -1
  618. package/es-custom/components/menu/menu-item.d.ts.map +1 -1
  619. package/es-custom/components/menu/menu-item.js +2 -6
  620. package/es-custom/components/menu/menu-item.js.map +1 -1
  621. package/es-custom/components/menu/menu-item.scss.js +1 -1
  622. package/es-custom/components/menu/menu-item.scss.js.map +1 -1
  623. package/es-custom/components/menu/menu.d.ts +10 -0
  624. package/es-custom/components/menu/menu.d.ts.map +1 -1
  625. package/es-custom/components/menu/menu.js +17 -11
  626. package/es-custom/components/menu/menu.js.map +1 -1
  627. package/es-custom/components/menu/menu.scss.js +1 -1
  628. package/es-custom/components/menu/menu.scss.js.map +1 -1
  629. package/es-custom/components/menu-button/menu-button.scss.js +1 -1
  630. package/es-custom/components/modal/modal.scss.js +1 -1
  631. package/es-custom/components/multi-select/multi-select-item.d.ts +1 -1
  632. package/es-custom/components/multi-select/multi-select-item.d.ts.map +1 -1
  633. package/es-custom/components/multi-select/multi-select-item.js +5 -1
  634. package/es-custom/components/multi-select/multi-select-item.js.map +1 -1
  635. package/es-custom/components/multi-select/multi-select.d.ts +2 -1
  636. package/es-custom/components/multi-select/multi-select.d.ts.map +1 -1
  637. package/es-custom/components/multi-select/multi-select.js +15 -14
  638. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  639. package/es-custom/components/multi-select/multi-select.scss.js +1 -1
  640. package/es-custom/components/multi-select/multi-select.scss.js.map +1 -1
  641. package/es-custom/components/notification/actionable-notification-button.d.ts +1 -1
  642. package/es-custom/components/notification/actionable-notification-button.d.ts.map +1 -1
  643. package/es-custom/components/notification/actionable-notification-button.js +2 -2
  644. package/es-custom/components/notification/actionable-notification-button.js.map +1 -1
  645. package/es-custom/components/notification/actionable-notification.d.ts.map +1 -1
  646. package/es-custom/components/notification/actionable-notification.js +4 -4
  647. package/es-custom/components/notification/actionable-notification.js.map +1 -1
  648. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  649. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  650. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  651. package/es-custom/components/number-input/number-input.scss.js +1 -1
  652. package/es-custom/components/number-input/number-input.scss.js.map +1 -1
  653. package/es-custom/components/options-tile/index.d.ts +8 -0
  654. package/es-custom/components/options-tile/index.d.ts.map +1 -0
  655. package/es-custom/components/options-tile/index.js +8 -0
  656. package/es-custom/components/options-tile/option-tile-helpers.d.ts +16 -0
  657. package/es-custom/components/options-tile/option-tile-helpers.d.ts.map +1 -0
  658. package/es-custom/components/options-tile/option-tile-helpers.js +163 -0
  659. package/es-custom/components/options-tile/option-tile-helpers.js.map +1 -0
  660. package/es-custom/components/options-tile/options-tile.d.ts +91 -0
  661. package/es-custom/components/options-tile/options-tile.d.ts.map +1 -0
  662. package/es-custom/components/options-tile/options-tile.js +208 -0
  663. package/es-custom/components/options-tile/options-tile.js.map +1 -0
  664. package/es-custom/components/options-tile/options-tile.scss.js +14 -0
  665. package/es-custom/components/options-tile/options-tile.scss.js.map +1 -0
  666. package/es-custom/components/overflow-menu/overflow-menu.js +1 -1
  667. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  668. package/es-custom/components/page-header/index.d.ts +1 -0
  669. package/es-custom/components/page-header/index.d.ts.map +1 -1
  670. package/es-custom/components/page-header/index.js +1 -0
  671. package/es-custom/components/page-header/page-header-tabs.d.ts +1 -1
  672. package/es-custom/components/page-header/page-header-tabs.d.ts.map +1 -1
  673. package/es-custom/components/page-header/page-header-tabs.js +1 -2
  674. package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
  675. package/es-custom/components/page-header/page-header.d.ts +1 -1
  676. package/es-custom/components/page-header/page-header.d.ts.map +1 -1
  677. package/es-custom/components/page-header/page-header.js +1 -2
  678. package/es-custom/components/page-header/page-header.js.map +1 -1
  679. package/es-custom/components/page-header/page-header.scss.js +1 -1
  680. package/es-custom/components/pagination/pagination.scss.js +1 -1
  681. package/es-custom/components/pagination-nav/pagination-nav.scss.js +1 -1
  682. package/es-custom/components/password-input/password-input.scss.js +1 -1
  683. package/es-custom/components/popover/popover.scss.js +1 -1
  684. package/es-custom/components/progress-bar/progress-bar.scss.js +1 -1
  685. package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
  686. package/es-custom/components/radio-button/radio-button.scss.js +1 -1
  687. package/es-custom/components/resizer/resizer-handle-pivot.scss.js +1 -1
  688. package/es-custom/components/search/search.d.ts.map +1 -1
  689. package/es-custom/components/search/search.js +2 -0
  690. package/es-custom/components/search/search.js.map +1 -1
  691. package/es-custom/components/search/search.scss.js +1 -1
  692. package/es-custom/components/search/search.scss.js.map +1 -1
  693. package/es-custom/components/select/select.scss.js +1 -1
  694. package/es-custom/components/select/select.scss.js.map +1 -1
  695. package/es-custom/components/side-panel/side-panel.js +2 -2
  696. package/es-custom/components/side-panel/side-panel.js.map +1 -1
  697. package/es-custom/components/side-panel/side-panel.scss.js +1 -1
  698. package/es-custom/components/skeleton-icon/skeleton-icon.scss.js +1 -1
  699. package/es-custom/components/skeleton-placeholder/skeleton-placeholder.scss.js +1 -1
  700. package/es-custom/components/skeleton-text/skeleton-text.scss.js +1 -1
  701. package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
  702. package/es-custom/components/slider/slider.scss.js +1 -1
  703. package/es-custom/components/slider/slider.scss.js.map +1 -1
  704. package/es-custom/components/slug/index.d.ts +1 -0
  705. package/es-custom/components/slug/index.d.ts.map +1 -1
  706. package/es-custom/components/slug/index.js +1 -0
  707. package/es-custom/components/slug/slug.scss.js +1 -1
  708. package/es-custom/components/structured-list/structured-list.scss.js +1 -1
  709. package/es-custom/components/tabs/tabs.scss.js +1 -1
  710. package/es-custom/components/tabs/tabs.scss.js.map +1 -1
  711. package/es-custom/components/tag/dismissible-tag.d.ts +1 -1
  712. package/es-custom/components/tag/dismissible-tag.d.ts.map +1 -1
  713. package/es-custom/components/tag/dismissible-tag.js +24 -15
  714. package/es-custom/components/tag/dismissible-tag.js.map +1 -1
  715. package/es-custom/components/tag/tag.d.ts.map +1 -1
  716. package/es-custom/components/tag/tag.js +1 -1
  717. package/es-custom/components/tag/tag.js.map +1 -1
  718. package/es-custom/components/tag/tag.scss.js +1 -1
  719. package/es-custom/components/tag/tag.scss.js.map +1 -1
  720. package/es-custom/components/text-input/text-input.scss.js +1 -1
  721. package/es-custom/components/text-input/text-input.scss.js.map +1 -1
  722. package/es-custom/components/textarea/textarea.scss.js +1 -1
  723. package/es-custom/components/tile/clickable-tile.d.ts +2 -1
  724. package/es-custom/components/tile/clickable-tile.d.ts.map +1 -1
  725. package/es-custom/components/tile/clickable-tile.js +1 -1
  726. package/es-custom/components/tile/clickable-tile.js.map +1 -1
  727. package/es-custom/components/tile/tile.scss.js +1 -1
  728. package/es-custom/components/time-picker/time-picker.scss.js +1 -1
  729. package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
  730. package/es-custom/components/tooltip/tooltip.scss.js +1 -1
  731. package/es-custom/components/tree-view/tree-view.scss.js +1 -1
  732. package/es-custom/components/ui-shell/header.scss.js +1 -1
  733. package/es-custom/components/ui-shell/side-nav.scss.js +1 -1
  734. package/es-custom/components/user-avatar/index.d.ts +8 -0
  735. package/es-custom/components/user-avatar/index.d.ts.map +1 -0
  736. package/es-custom/components/user-avatar/index.js +8 -0
  737. package/es-custom/components/user-avatar/user-avatar.d.ts +84 -0
  738. package/es-custom/components/user-avatar/user-avatar.d.ts.map +1 -0
  739. package/es-custom/components/user-avatar/user-avatar.js +151 -0
  740. package/es-custom/components/user-avatar/user-avatar.js.map +1 -0
  741. package/es-custom/components/user-avatar/user-avatar.scss.js +14 -0
  742. package/es-custom/components/user-avatar/user-avatar.scss.js.map +1 -0
  743. package/es-custom/globals/controllers/floating-controller.d.ts.map +1 -1
  744. package/es-custom/globals/controllers/floating-controller.js.map +1 -1
  745. package/es-custom/globals/decorators/carbon-element.d.ts +8 -0
  746. package/es-custom/globals/decorators/carbon-element.d.ts.map +1 -1
  747. package/es-custom/globals/decorators/carbon-element.js +18 -1
  748. package/es-custom/globals/decorators/carbon-element.js.map +1 -1
  749. package/es-custom/globals/internal/collection-helpers.d.ts +5 -5
  750. package/es-custom/globals/internal/collection-helpers.d.ts.map +1 -1
  751. package/es-custom/globals/internal/collection-helpers.js +1 -1
  752. package/es-custom/globals/internal/collection-helpers.js.map +1 -1
  753. package/es-custom/globals/internal/getSupportedLocale.d.ts +12 -0
  754. package/es-custom/globals/internal/getSupportedLocale.d.ts.map +1 -0
  755. package/es-custom/globals/internal/getSupportedLocale.js +29 -0
  756. package/es-custom/globals/internal/getSupportedLocale.js.map +1 -0
  757. package/es-custom/globals/mixins/on.d.ts +2 -2
  758. package/es-custom/globals/mixins/on.d.ts.map +1 -1
  759. package/es-custom/globals/mixins/on.js +4 -4
  760. package/es-custom/globals/mixins/on.js.map +1 -1
  761. package/es-custom/globals/register.d.ts +89 -0
  762. package/es-custom/globals/register.d.ts.map +1 -0
  763. package/es-custom/globals/register.js +56 -0
  764. package/es-custom/globals/register.js.map +1 -0
  765. package/es-custom/globals/settings.d.ts +1 -1
  766. package/es-custom/globals/settings.d.ts.map +1 -1
  767. package/es-custom/globals/settings.js +1 -0
  768. package/es-custom/globals/settings.js.map +1 -1
  769. package/es-custom/index.d.ts +10 -0
  770. package/es-custom/index.d.ts.map +1 -1
  771. package/es-custom/index.js +13 -3
  772. package/lib/components/ai-label/ai-label-action-button.d.ts +1 -1
  773. package/lib/components/ai-label/ai-label-action-button.d.ts.map +1 -1
  774. package/lib/components/ai-label/index.d.ts +1 -0
  775. package/lib/components/ai-label/index.d.ts.map +1 -1
  776. package/lib/components/big-number/big-number-skeleton.d.ts +21 -0
  777. package/lib/components/big-number/big-number-skeleton.d.ts.map +1 -0
  778. package/lib/components/big-number/big-number.d.ts +35 -0
  779. package/lib/components/big-number/big-number.d.ts.map +1 -0
  780. package/lib/components/big-number/constants.d.ts +20 -0
  781. package/lib/components/big-number/constants.d.ts.map +1 -0
  782. package/lib/components/big-number/index.d.ts +8 -0
  783. package/lib/components/big-number/index.d.ts.map +1 -0
  784. package/lib/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  785. package/lib/components/breadcrumb/breadcrumb.d.ts +1 -1
  786. package/lib/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  787. package/lib/components/button/button.d.ts.map +1 -1
  788. package/lib/components/card/card-action.d.ts +27 -0
  789. package/lib/components/card/card-action.d.ts.map +1 -0
  790. package/lib/components/card/card-actions.d.ts +36 -0
  791. package/lib/components/card/card-actions.d.ts.map +1 -0
  792. package/lib/components/card/card-body.d.ts +23 -0
  793. package/lib/components/card/card-body.d.ts.map +1 -0
  794. package/lib/components/card/card-context.d.ts +20 -0
  795. package/lib/components/card/card-context.d.ts.map +1 -0
  796. package/lib/components/card/card-footer.d.ts +34 -0
  797. package/lib/components/card/card-footer.d.ts.map +1 -0
  798. package/lib/components/card/card-header-media.d.ts +19 -0
  799. package/lib/components/card/card-header-media.d.ts.map +1 -0
  800. package/lib/components/card/card-header.d.ts +23 -0
  801. package/lib/components/card/card-header.d.ts.map +1 -0
  802. package/lib/components/card/card-media.d.ts +37 -0
  803. package/lib/components/card/card-media.d.ts.map +1 -0
  804. package/lib/components/card/card-title-media.d.ts +19 -0
  805. package/lib/components/card/card-title-media.d.ts.map +1 -0
  806. package/lib/components/card/card-title.d.ts +52 -0
  807. package/lib/components/card/card-title.d.ts.map +1 -0
  808. package/lib/components/card/card.d.ts +69 -0
  809. package/lib/components/card/card.d.ts.map +1 -0
  810. package/lib/components/card/defs.d.ts +33 -0
  811. package/lib/components/card/defs.d.ts.map +1 -0
  812. package/lib/components/card/defs.js +48 -0
  813. package/lib/components/card/defs.js.map +1 -0
  814. package/lib/components/card/index.d.ts +17 -0
  815. package/lib/components/card/index.d.ts.map +1 -0
  816. package/lib/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +67 -0
  817. package/lib/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts.map +1 -0
  818. package/lib/components/coachmark/coachmark-beacon/defs.d.ts +13 -0
  819. package/lib/components/coachmark/coachmark-beacon/defs.d.ts.map +1 -0
  820. package/lib/components/coachmark/coachmark-beacon/defs.js +26 -0
  821. package/lib/components/coachmark/coachmark-beacon/defs.js.map +1 -0
  822. package/lib/components/coachmark/coachmark-beacon/index.d.ts +8 -0
  823. package/lib/components/coachmark/coachmark-beacon/index.d.ts.map +1 -0
  824. package/lib/components/coachmark/coachmark-body.d.ts +31 -0
  825. package/lib/components/coachmark/coachmark-body.d.ts.map +1 -0
  826. package/lib/components/coachmark/coachmark-context.d.ts +12 -0
  827. package/lib/components/coachmark/coachmark-context.d.ts.map +1 -0
  828. package/lib/components/coachmark/coachmark-header.d.ts +41 -0
  829. package/lib/components/coachmark/coachmark-header.d.ts.map +1 -0
  830. package/lib/components/coachmark/coachmark-helpers.d.ts +10 -0
  831. package/lib/components/coachmark/coachmark-helpers.d.ts.map +1 -0
  832. package/lib/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts +72 -0
  833. package/lib/components/coachmark/coachmark-tagline/coachmark-tagline.d.ts.map +1 -0
  834. package/lib/components/coachmark/coachmark-tagline/index.d.ts +8 -0
  835. package/lib/components/coachmark/coachmark-tagline/index.d.ts.map +1 -0
  836. package/lib/components/coachmark/coachmark.d.ts +97 -0
  837. package/lib/components/coachmark/coachmark.d.ts.map +1 -0
  838. package/lib/components/coachmark/index.d.ts +10 -0
  839. package/lib/components/coachmark/index.d.ts.map +1 -0
  840. package/lib/components/combo-box/combo-box.d.ts.map +1 -1
  841. package/lib/components/copy/index.d.ts +9 -0
  842. package/lib/components/copy/index.d.ts.map +1 -0
  843. package/lib/components/dropdown/dropdown.d.ts +2 -1
  844. package/lib/components/dropdown/dropdown.d.ts.map +1 -1
  845. package/lib/components/edit-in-place/defs.d.ts +30 -0
  846. package/lib/components/edit-in-place/defs.d.ts.map +1 -0
  847. package/lib/components/edit-in-place/defs.js +45 -0
  848. package/lib/components/edit-in-place/defs.js.map +1 -0
  849. package/lib/components/edit-in-place/edit-in-place-helpers.d.ts +47 -0
  850. package/lib/components/edit-in-place/edit-in-place-helpers.d.ts.map +1 -0
  851. package/lib/components/edit-in-place/edit-in-place.d.ts +214 -0
  852. package/lib/components/edit-in-place/edit-in-place.d.ts.map +1 -0
  853. package/lib/components/edit-in-place/index.d.ts +10 -0
  854. package/lib/components/edit-in-place/index.d.ts.map +1 -0
  855. package/lib/components/fluid-date-picker/fluid-date-picker.d.ts +5 -1
  856. package/lib/components/fluid-date-picker/fluid-date-picker.d.ts.map +1 -1
  857. package/lib/components/icon-button/icon-button.d.ts +1 -1
  858. package/lib/components/link/link.d.ts +2 -1
  859. package/lib/components/link/link.d.ts.map +1 -1
  860. package/lib/components/menu/menu-item.d.ts.map +1 -1
  861. package/lib/components/menu/menu.d.ts +10 -0
  862. package/lib/components/menu/menu.d.ts.map +1 -1
  863. package/lib/components/multi-select/multi-select-item.d.ts +1 -1
  864. package/lib/components/multi-select/multi-select-item.d.ts.map +1 -1
  865. package/lib/components/multi-select/multi-select.d.ts +2 -1
  866. package/lib/components/multi-select/multi-select.d.ts.map +1 -1
  867. package/lib/components/notification/actionable-notification-button.d.ts +1 -1
  868. package/lib/components/notification/actionable-notification-button.d.ts.map +1 -1
  869. package/lib/components/notification/actionable-notification.d.ts.map +1 -1
  870. package/lib/components/options-tile/index.d.ts +8 -0
  871. package/lib/components/options-tile/index.d.ts.map +1 -0
  872. package/lib/components/options-tile/option-tile-helpers.d.ts +16 -0
  873. package/lib/components/options-tile/option-tile-helpers.d.ts.map +1 -0
  874. package/lib/components/options-tile/options-tile.d.ts +91 -0
  875. package/lib/components/options-tile/options-tile.d.ts.map +1 -0
  876. package/lib/components/page-header/index.d.ts +1 -0
  877. package/lib/components/page-header/index.d.ts.map +1 -1
  878. package/lib/components/page-header/page-header-tabs.d.ts +1 -1
  879. package/lib/components/page-header/page-header-tabs.d.ts.map +1 -1
  880. package/lib/components/page-header/page-header.d.ts +1 -1
  881. package/lib/components/page-header/page-header.d.ts.map +1 -1
  882. package/lib/components/search/search.d.ts.map +1 -1
  883. package/lib/components/slug/index.d.ts +1 -0
  884. package/lib/components/slug/index.d.ts.map +1 -1
  885. package/lib/components/tag/dismissible-tag.d.ts +1 -1
  886. package/lib/components/tag/dismissible-tag.d.ts.map +1 -1
  887. package/lib/components/tag/tag.d.ts.map +1 -1
  888. package/lib/components/tile/clickable-tile.d.ts +2 -1
  889. package/lib/components/tile/clickable-tile.d.ts.map +1 -1
  890. package/lib/components/user-avatar/index.d.ts +8 -0
  891. package/lib/components/user-avatar/index.d.ts.map +1 -0
  892. package/lib/components/user-avatar/user-avatar.d.ts +84 -0
  893. package/lib/components/user-avatar/user-avatar.d.ts.map +1 -0
  894. package/lib/globals/controllers/floating-controller.d.ts.map +1 -1
  895. package/lib/globals/controllers/floating-controller.js.map +1 -1
  896. package/lib/globals/decorators/carbon-element.d.ts +8 -0
  897. package/lib/globals/decorators/carbon-element.d.ts.map +1 -1
  898. package/lib/globals/internal/collection-helpers.d.ts +5 -5
  899. package/lib/globals/internal/collection-helpers.d.ts.map +1 -1
  900. package/lib/globals/internal/getSupportedLocale.d.ts +12 -0
  901. package/lib/globals/internal/getSupportedLocale.d.ts.map +1 -0
  902. package/lib/globals/mixins/on.d.ts +2 -2
  903. package/lib/globals/mixins/on.d.ts.map +1 -1
  904. package/lib/globals/register.d.ts +89 -0
  905. package/lib/globals/register.d.ts.map +1 -0
  906. package/lib/globals/register.js +61 -0
  907. package/lib/globals/register.js.map +1 -0
  908. package/lib/globals/settings.d.ts +1 -1
  909. package/lib/globals/settings.d.ts.map +1 -1
  910. package/lib/globals/settings.js +1 -0
  911. package/lib/globals/settings.js.map +1 -1
  912. package/lib/index.d.ts +10 -0
  913. package/lib/index.d.ts.map +1 -1
  914. package/package.json +16 -10
  915. package/scss/components/ai-label/ai-label.scss +24 -33
  916. package/scss/components/big-number/big-number-skeleton.scss +58 -0
  917. package/scss/components/big-number/big-number.scss +29 -0
  918. package/scss/components/big-number/story-styles.scss +48 -0
  919. package/scss/components/card/card-story.scss +29 -0
  920. package/scss/components/card/card.scss +212 -0
  921. package/scss/components/coachmark/coachmark-beacon/coachmark-beacon.scss +89 -0
  922. package/scss/components/coachmark/coachmark-body.scss +16 -0
  923. package/scss/components/coachmark/coachmark-header.scss +28 -0
  924. package/scss/components/coachmark/coachmark-tagline/coachmark-tagline.scss +42 -0
  925. package/scss/components/coachmark/coachmark.scss +42 -0
  926. package/scss/components/coachmark/story-styles.scss +37 -0
  927. package/scss/components/combo-box/combo-box.scss +63 -6
  928. package/scss/components/data-table/_table-action.scss +5 -3
  929. package/scss/components/date-picker/date-picker.scss +70 -2
  930. package/scss/components/date-picker/next/components/date-picker.scss +28 -2
  931. package/scss/components/dropdown/dropdown.scss +39 -4
  932. package/scss/components/edit-in-place/edit-in-place.scss +127 -0
  933. package/scss/components/edit-in-place/story-styles.scss +61 -0
  934. package/scss/components/fluid-combo-box/fluid-combo-box.scss +68 -5
  935. package/scss/components/fluid-date-picker/fluid-date-picker.scss +109 -12
  936. package/scss/components/fluid-dropdown/fluid-dropdown.scss +56 -6
  937. package/scss/components/fluid-multi-select/fluid-multi-select.scss +75 -2
  938. package/scss/components/fluid-number-input/fluid-number-input.scss +32 -1
  939. package/scss/components/fluid-search/fluid-search.scss +6 -3
  940. package/scss/components/menu/menu-item.scss +9 -1
  941. package/scss/components/menu/menu.scss +32 -1
  942. package/scss/components/multi-select/multi-select.scss +130 -28
  943. package/scss/components/number-input/number-input.scss +35 -1
  944. package/scss/components/options-tile/options-tile.scss +157 -0
  945. package/scss/components/options-tile/story-styles.scss +32 -0
  946. package/scss/components/search/search.scss +7 -0
  947. package/scss/components/select/select.scss +7 -3
  948. package/scss/components/slider/slider.scss +9 -2
  949. package/scss/components/tabs/tabs.scss +9 -2
  950. package/scss/components/tag/tag-story.scss +19 -0
  951. package/scss/components/tag/tag.scss +15 -11
  952. package/scss/components/text-input/text-input.scss +22 -0
  953. package/scss/components/user-avatar/story-styles.scss +53 -0
  954. package/scss/components/user-avatar/user-avatar.scss +113 -0
  955. package/telemetry.yml +67 -0
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { css } from "lit";
9
9
  //#region src/components/layer/layer.scss?lit
10
- var layer_default = css([":root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds--layer-one,:host(cds-layer[level=\"0\"]){--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds--layer-two,:host(cds-layer[level=\"1\"]){--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds--layer-three,:host(cds-layer[level=\"2\"]){--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds--layer-one.cds--layer__with-background,:host(cds-layer[level=\"0\"]):host(cds-layer[with-background]){background-color:var(--cds-layer-background)}.cds--layer-two.cds--layer__with-background,:host(cds-layer[level=\"1\"]):host(cds-layer[with-background]){background-color:var(--cds-layer-background)}.cds--layer-three.cds--layer__with-background,:host(cds-layer[level=\"2\"]):host(cds-layer[with-background]){background-color:var(--cds-layer-background)}:host(cds-layer){display:block}"]);
10
+ var layer_default = css([":root{--cds-layer:var(--cds-layer-01, #f4f4f4);--cds-layer-active:var(--cds-layer-active-01, #c6c6c6);--cds-layer-background:var(--cds-layer-background-01, #fff);--cds-layer-hover:var(--cds-layer-hover-01, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01, #a8a8a8);--cds-field:var(--cds-field-01, #f4f4f4);--cds-field-hover:var(--cds-field-hover-01, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00, #e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01, #c6c6c6);--cds-border-strong:var(--cds-border-strong-01, #8d8d8d);--cds-border-tile:var(--cds-border-tile-01, #c6c6c6)}.cds--layer-one,:host(cds-layer[level=\"0\"]){--cds-layer:var(--cds-layer-01, #f4f4f4);--cds-layer-active:var(--cds-layer-active-01, #c6c6c6);--cds-layer-background:var(--cds-layer-background-01, #fff);--cds-layer-hover:var(--cds-layer-hover-01, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01, #a8a8a8);--cds-field:var(--cds-field-01, #f4f4f4);--cds-field-hover:var(--cds-field-hover-01, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00, #e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01, #c6c6c6);--cds-border-strong:var(--cds-border-strong-01, #8d8d8d);--cds-border-tile:var(--cds-border-tile-01, #c6c6c6)}.cds--layer-two,:host(cds-layer[level=\"1\"]){--cds-layer:var(--cds-layer-02, #fff);--cds-layer-active:var(--cds-layer-active-02, #c6c6c6);--cds-layer-background:var(--cds-layer-background-02, #f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02, #a8a8a8);--cds-field:var(--cds-field-02, #fff);--cds-field-hover:var(--cds-field-hover-02, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01, #c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02, #c6c6c6);--cds-border-strong:var(--cds-border-strong-02, #8d8d8d);--cds-border-tile:var(--cds-border-tile-02, #a8a8a8)}.cds--layer-three,:host(cds-layer[level=\"2\"]){--cds-layer:var(--cds-layer-03, #f4f4f4);--cds-layer-active:var(--cds-layer-active-03, #c6c6c6);--cds-layer-background:var(--cds-layer-background-03, #fff);--cds-layer-hover:var(--cds-layer-hover-03, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03, #a8a8a8);--cds-field:var(--cds-field-03, #f4f4f4);--cds-field-hover:var(--cds-field-hover-03, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02, #e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03, #c6c6c6);--cds-border-strong:var(--cds-border-strong-03, #8d8d8d);--cds-border-tile:var(--cds-border-tile-03, #c6c6c6)}.cds--layer-one.cds--layer__with-background,:host(cds-layer[level=\"0\"]):host(cds-layer[with-background]){background-color:var(--cds-layer-background)}.cds--layer-two.cds--layer__with-background,:host(cds-layer[level=\"1\"]):host(cds-layer[with-background]){background-color:var(--cds-layer-background)}.cds--layer-three.cds--layer__with-background,:host(cds-layer[level=\"2\"]):host(cds-layer[with-background]){background-color:var(--cds-layer-background)}:host(cds-layer){display:block}"]);
11
11
  //#endregion
12
12
  export { layer_default as default };
13
13
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { css } from "lit";
9
9
  //#region src/components/layout/layout.scss?lit
10
- var layout_default = css([":host(cds-layout){--cds-layout-size-height-xs:1.5rem;--cds-layout-size-height-sm:2rem;--cds-layout-size-height-md:2.5rem;--cds-layout-size-height-lg:3rem;--cds-layout-size-height-xl:4rem;--cds-layout-size-height-2xl:5rem;--cds-layout-size-height-min:0px;--cds-layout-size-height-max:999999999px;--cds-layout-density-padding-inline-condensed:0.5rem;--cds-layout-density-padding-inline-normal:1rem;--cds-layout-density-padding-inline-min:0px;--cds-layout-density-padding-inline-max:999999999px;display:contents}:host(cds-layout[size=xs]){--cds-layout-size-height-context:var(--cds-layout-size-height-xs,1.5rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=sm]){--cds-layout-size-height-context:var(--cds-layout-size-height-sm,2rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=md]){--cds-layout-size-height-context:var(--cds-layout-size-height-md,2.5rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=lg]){--cds-layout-size-height-context:var(--cds-layout-size-height-lg,3rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=xl]){--cds-layout-size-height-context:var(--cds-layout-size-height-xl,4rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=\"2xl\"]){--cds-layout-size-height-context:var(--cds-layout-size-height-2xl,5rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[density=condensed]){--cds-layout-density-padding-inline-context:var(--cds-layout-density-padding-inline-condensed,0.5rem);--cds-layout-density-padding-inline:var(--cds-layout-density-padding-inline-context)}:host(cds-layout[density=normal]){--cds-layout-density-padding-inline-context:var(--cds-layout-density-padding-inline-normal,1rem);--cds-layout-density-padding-inline:var(--cds-layout-density-padding-inline-context)}"]);
10
+ var layout_default = css([":host(cds-layout){--cds-layout-size-height-xs:1.5rem;--cds-layout-size-height-sm:2rem;--cds-layout-size-height-md:2.5rem;--cds-layout-size-height-lg:3rem;--cds-layout-size-height-xl:4rem;--cds-layout-size-height-2xl:5rem;--cds-layout-size-height-min:0px;--cds-layout-size-height-max:999999999px;--cds-layout-density-padding-inline-condensed:0.5rem;--cds-layout-density-padding-inline-normal:1rem;--cds-layout-density-padding-inline-min:0px;--cds-layout-density-padding-inline-max:999999999px;display:contents}:host(cds-layout[size=xs]){--cds-layout-size-height-context:var(--cds-layout-size-height-xs, 1.5rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=sm]){--cds-layout-size-height-context:var(--cds-layout-size-height-sm, 2rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=md]){--cds-layout-size-height-context:var(--cds-layout-size-height-md, 2.5rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=lg]){--cds-layout-size-height-context:var(--cds-layout-size-height-lg, 3rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=xl]){--cds-layout-size-height-context:var(--cds-layout-size-height-xl, 4rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[size=\"2xl\"]){--cds-layout-size-height-context:var(--cds-layout-size-height-2xl, 5rem);--cds-layout-size-height:var(--cds-layout-size-height-context)}:host(cds-layout[density=condensed]){--cds-layout-density-padding-inline-context:var(--cds-layout-density-padding-inline-condensed, 0.5rem);--cds-layout-density-padding-inline:var(--cds-layout-density-padding-inline-context)}:host(cds-layout[density=normal]){--cds-layout-density-padding-inline-context:var(--cds-layout-density-padding-inline-normal, 1rem);--cds-layout-density-padding-inline:var(--cds-layout-density-padding-inline-context)}"]);
11
11
  //#endregion
12
12
  export { layout_default as default };
13
13
 
@@ -4,6 +4,7 @@
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
+ import { classMap } from 'lit/directives/class-map.js';
7
8
  import { LitElement } from 'lit';
8
9
  /**
9
10
  * Link size.
@@ -36,7 +37,7 @@ declare class CDSLink extends CDSLink_base {
36
37
  /**
37
38
  * The CSS class list for the link node.
38
39
  */
39
- protected get _classes(): any;
40
+ protected get _classes(): ReturnType<typeof classMap>;
40
41
  /**
41
42
  * @returns The inner content.
42
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/components/link/link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAOvC;;GAEG;AACH,eAAO,MAAM,SAAS;;;;CAIrB,CAAC;AAGF,KAAK,cAAc,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;;;;AAEjE;;;;;GAKG;AACH,cACM,OAAQ,SAAQ,YAAsB;IAC1C;;OAEG;IACH,SAAS,CAAC,QAAQ,UAAS;IAE3B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK;IAW7C,SAAS,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAE/D;;OAEG;IAEH,SAAS,KAAK,QAAQ,IAAI,GAAG,CAU5B;IAED;;OAEG;IAEH,SAAS,CAAC,YAAY;IAUtB;;OAEG;IACH,SAAS,CAAC,mBAAmB;IAO7B;;OAEG;IACH,SAAS,CAAC,WAAW;IA+BrB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IAEH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IAEH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IAEH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IAEH,GAAG,EAAG,MAAM,CAAC;IAEb;;OAEG;IAEH,IAAI,EAAE,cAAc,CAAoB;IAExC;;OAEG;IAEH,MAAM,EAAG,MAAM,CAAC;IAEhB;;OAEG;IAEH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IAEH,OAAO,UAAS;IAEhB,MAAM;IAKN,MAAM,CAAC,iBAAiB;;;;;;;MAGtB;IACF,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/components/link/link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAOvC;;GAEG;AACH,eAAO,MAAM,SAAS;;;;CAIrB,CAAC;AAGF,KAAK,cAAc,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;;;;AAEjE;;;;;GAKG;AACH,cACM,OAAQ,SAAQ,YAAsB;IAC1C;;OAEG;IACH,SAAS,CAAC,QAAQ,UAAS;IAE3B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK;IAY7C,SAAS,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAE/D;;OAEG;IACH,SAAS,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,QAAQ,CAAC,CAUpD;IAED;;OAEG;IAEH,SAAS,CAAC,YAAY;IAUtB;;OAEG;IACH,SAAS,CAAC,mBAAmB;IAO7B;;OAEG;IACH,SAAS,CAAC,WAAW;IA+BrB;;OAEG;IAEH,QAAQ,UAAS;IAEjB;;OAEG;IAEH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IAEH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IAEH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,QAAQ,EAAG,MAAM,CAAC;IAElB;;OAEG;IAEH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IAEH,GAAG,EAAG,MAAM,CAAC;IAEb;;OAEG;IAEH,IAAI,EAAE,cAAc,CAAoB;IAExC;;OAEG;IAEH,MAAM,EAAG,MAAM,CAAC;IAEhB;;OAEG;IAEH,IAAI,EAAG,MAAM,CAAC;IAEd;;OAEG;IAEH,OAAO,UAAS;IAEhB,MAAM;IAKN,MAAM,CAAC,iBAAiB;;;;;;;MAGtB;IACF,MAAM,CAAC,MAAM,MAAU;CACxB;AAED,eAAe,OAAO,CAAC"}
@@ -49,7 +49,7 @@ let CDSLink = class CDSLink extends FocusMixin(LitElement) {
49
49
  */
50
50
  _handleSlotChange({ target }) {
51
51
  const { name } = target;
52
- const hasContent = target.assignedNodes().some((node) => node.nodeType !== Node.TEXT_NODE || node.textContent.trim());
52
+ const hasContent = target.assignedNodes().some((node) => node.nodeType !== Node.TEXT_NODE || node.textContent?.trim());
53
53
  this[name === "icon" ? "_hasIcon" : ""] = hasContent;
54
54
  this.requestUpdate();
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","names":["styles","customElement"],"sources":["../../../src/components/link/link.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './link.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Link size.\n */\nexport const LINK_SIZE = {\n MEDIUM: 'md',\n SMALL: 'sm',\n LARGE: 'lg',\n};\n\n// Convert object key in a type\ntype LINK_SIZE_TYPE = (typeof LINK_SIZE)[keyof typeof LINK_SIZE];\n\n/**\n * Link.\n *\n * @element cds-link\n * @csspart link The link.\n */\n@customElement(`${prefix}-link`)\nclass CDSLink extends FocusMixin(LitElement) {\n /**\n * `true` if there is an icon.\n */\n protected _hasIcon = false;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const { name } = target as HTMLSlotElement;\n const hasContent = (target as HTMLSlotElement).assignedNodes().some(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n this[name === 'icon' ? '_hasIcon' : ''] = hasContent;\n this.requestUpdate();\n }\n\n @query('#link')\n protected _linkNode?: HTMLAnchorElement | HTMLParagraphElement;\n\n /**\n * The CSS class list for the link node.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n protected get _classes(): any {\n const { disabled, size, inline, visited, _hasIcon } = this;\n return classMap({\n [`${prefix}--link`]: true,\n [`${prefix}--link--disabled`]: disabled,\n [`${prefix}--link--icon`]: _hasIcon,\n [`${prefix}--link--inline`]: inline,\n [`${prefix}--link--${size}`]: size,\n [`${prefix}--link--visited`]: visited,\n });\n }\n\n /**\n * @returns The inner content.\n */\n\n protected _renderInner() {\n const { _hasIcon: hasIcon, _handleSlotChange: handleSlotChange } = this;\n return html`\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n <span ?hidden=\"${!hasIcon}\" class=\"${prefix}--link__icon\">\n <slot name=\"icon\" @slotchange=\"${handleSlotChange}\"></slot>\n </span>\n `;\n }\n\n /**\n * @returns The disabled link content.\n */\n protected _renderDisabledLink() {\n const { _classes: classes } = this;\n return html`\n <p id=\"link\" part=\"link\" class=\"${classes}\">${this._renderInner()}</p>\n `;\n }\n\n /**\n * @returns The link content.\n */\n protected _renderLink() {\n const {\n download,\n href,\n hreflang,\n linkRole,\n ping,\n rel,\n target,\n type,\n _classes: classes,\n } = this;\n return html`\n <a\n tabindex=\"0\"\n id=\"link\"\n role=\"${ifDefined(linkRole)}\"\n class=\"${classes}\"\n part=\"link\"\n download=\"${ifDefined(download)}\"\n href=\"${ifDefined(href)}\"\n hreflang=\"${ifDefined(hreflang)}\"\n ping=\"${ifDefined(ping)}\"\n rel=\"${ifDefined(rel)}\"\n target=\"${ifDefined(target)}\"\n type=\"${ifDefined(type)}\">\n ${this._renderInner()}\n </a>\n `;\n }\n\n /**\n * `true` if the link should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The default file name.\n */\n @property({ reflect: true })\n download!: string;\n\n /**\n * Link `href`.\n */\n @property({ reflect: true })\n href!: string;\n\n /**\n * The language of what `href` points to.\n */\n @property({ reflect: true })\n hreflang!: string;\n\n /**\n * `true` if the link should be inline.\n */\n @property({ type: Boolean, reflect: true })\n inline = false;\n\n /**\n * The a11y role for `<a>`.\n */\n @property({ attribute: 'link-role' })\n linkRole!: string;\n\n /**\n * URLs to ping.\n */\n @property({ reflect: true })\n ping!: string;\n\n /**\n * The link type.\n */\n @property({ reflect: true })\n rel!: string;\n\n /**\n * Link size.\n */\n @property({ reflect: true })\n size: LINK_SIZE_TYPE = LINK_SIZE.MEDIUM;\n\n /**\n * The link target.\n */\n @property({ reflect: true })\n target!: string;\n\n /**\n * MIME type of the `target`.\n */\n @property({ reflect: true })\n type!: string;\n\n /**\n * When enabled, applies Carbon's visited-link styles to browser-controlled :visited link state.\n */\n @property({ type: Boolean, reflect: true })\n visited = false;\n\n render() {\n const { disabled } = this;\n return disabled ? this._renderDisabledLink() : this._renderLink();\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSLink;\n"],"mappings":"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"}
1
+ {"version":3,"file":"link.js","names":["styles","customElement"],"sources":["../../../src/components/link/link.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport styles from './link.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Link size.\n */\nexport const LINK_SIZE = {\n MEDIUM: 'md',\n SMALL: 'sm',\n LARGE: 'lg',\n};\n\n// Convert object key in a type\ntype LINK_SIZE_TYPE = (typeof LINK_SIZE)[keyof typeof LINK_SIZE];\n\n/**\n * Link.\n *\n * @element cds-link\n * @csspart link The link.\n */\n@customElement(`${prefix}-link`)\nclass CDSLink extends FocusMixin(LitElement) {\n /**\n * `true` if there is an icon.\n */\n protected _hasIcon = false;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const { name } = target as HTMLSlotElement;\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .some(\n (node) => node.nodeType !== Node.TEXT_NODE || node.textContent?.trim()\n );\n this[name === 'icon' ? '_hasIcon' : ''] = hasContent;\n this.requestUpdate();\n }\n\n @query('#link')\n protected _linkNode?: HTMLAnchorElement | HTMLParagraphElement;\n\n /**\n * The CSS class list for the link node.\n */\n protected get _classes(): ReturnType<typeof classMap> {\n const { disabled, size, inline, visited, _hasIcon } = this;\n return classMap({\n [`${prefix}--link`]: true,\n [`${prefix}--link--disabled`]: disabled,\n [`${prefix}--link--icon`]: _hasIcon,\n [`${prefix}--link--inline`]: inline,\n [`${prefix}--link--${size}`]: size,\n [`${prefix}--link--visited`]: visited,\n });\n }\n\n /**\n * @returns The inner content.\n */\n\n protected _renderInner() {\n const { _hasIcon: hasIcon, _handleSlotChange: handleSlotChange } = this;\n return html`\n <slot @slotchange=\"${handleSlotChange}\"></slot>\n <span ?hidden=\"${!hasIcon}\" class=\"${prefix}--link__icon\">\n <slot name=\"icon\" @slotchange=\"${handleSlotChange}\"></slot>\n </span>\n `;\n }\n\n /**\n * @returns The disabled link content.\n */\n protected _renderDisabledLink() {\n const { _classes: classes } = this;\n return html`\n <p id=\"link\" part=\"link\" class=\"${classes}\">${this._renderInner()}</p>\n `;\n }\n\n /**\n * @returns The link content.\n */\n protected _renderLink() {\n const {\n download,\n href,\n hreflang,\n linkRole,\n ping,\n rel,\n target,\n type,\n _classes: classes,\n } = this;\n return html`\n <a\n tabindex=\"0\"\n id=\"link\"\n role=\"${ifDefined(linkRole)}\"\n class=\"${classes}\"\n part=\"link\"\n download=\"${ifDefined(download)}\"\n href=\"${ifDefined(href)}\"\n hreflang=\"${ifDefined(hreflang)}\"\n ping=\"${ifDefined(ping)}\"\n rel=\"${ifDefined(rel)}\"\n target=\"${ifDefined(target)}\"\n type=\"${ifDefined(type)}\">\n ${this._renderInner()}\n </a>\n `;\n }\n\n /**\n * `true` if the link should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The default file name.\n */\n @property({ reflect: true })\n download!: string;\n\n /**\n * Link `href`.\n */\n @property({ reflect: true })\n href!: string;\n\n /**\n * The language of what `href` points to.\n */\n @property({ reflect: true })\n hreflang!: string;\n\n /**\n * `true` if the link should be inline.\n */\n @property({ type: Boolean, reflect: true })\n inline = false;\n\n /**\n * The a11y role for `<a>`.\n */\n @property({ attribute: 'link-role' })\n linkRole!: string;\n\n /**\n * URLs to ping.\n */\n @property({ reflect: true })\n ping!: string;\n\n /**\n * The link type.\n */\n @property({ reflect: true })\n rel!: string;\n\n /**\n * Link size.\n */\n @property({ reflect: true })\n size: LINK_SIZE_TYPE = LINK_SIZE.MEDIUM;\n\n /**\n * The link target.\n */\n @property({ reflect: true })\n target!: string;\n\n /**\n * MIME type of the `target`.\n */\n @property({ reflect: true })\n type!: string;\n\n /**\n * When enabled, applies Carbon's visited-link styles to browser-controlled :visited link state.\n */\n @property({ type: Boolean, reflect: true })\n visited = false;\n\n render() {\n const { disabled } = this;\n return disabled ? this._renderDisabledLink() : this._renderLink();\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSLink;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAa,YAAY;CACvB,QAAQ;CACR,OAAO;CACP,OAAO;AACT;;;;;;;AAWA,IAAA,UAAA,MACM,gBAAgB,WAAW,UAAU,CAAC,CAAC;;;kBAItB;kBAgGV;gBAwBF;cAwBc,UAAU;iBAkBvB;;;;;CA7JV,kBAA4B,EAAE,UAAiB;EAC7C,MAAM,EAAE,SAAS;EACjB,MAAM,aAAc,OACjB,cAAc,CAAC,CACf,MACE,SAAS,KAAK,aAAa,KAAK,aAAa,KAAK,aAAa,KAAK,CACvE;EACF,KAAK,SAAS,SAAS,aAAa,MAAM;EAC1C,KAAK,cAAc;CACrB;;;;CAQA,IAAc,WAAwC;EACpD,MAAM,EAAE,UAAU,MAAM,QAAQ,SAAS,aAAa;EACtD,OAAO,SAAS;IACb,cAAoB;IACpB,wBAA8B;IAC9B,oBAA0B;IAC1B,sBAA4B;IAC5B,cAAoB,SAAS;IAC7B,uBAA6B;EAChC,CAAC;CACH;;;;CAMA,eAAyB;EACvB,MAAM,EAAE,UAAU,SAAS,mBAAmB,qBAAqB;EACnE,OAAO,IAAI;2BACY,iBAAiB;uBACrB,CAAC,QAAQ,WAAA,MAAkB;yCACT,iBAAiB;;;CAGxD;;;;CAKA,sBAAgC;EAC9B,MAAM,EAAE,UAAU,YAAY;EAC9B,OAAO,IAAI;wCACyB,QAAQ,IAAI,KAAK,aAAa,EAAE;;CAEtE;;;;CAKA,cAAwB;EACtB,MAAM,EACJ,UACA,MACA,UACA,UACA,MACA,KACA,QACA,MACA,UAAU,YACR;EACJ,OAAO,IAAI;;;;gBAIC,UAAU,QAAQ,EAAE;iBACnB,QAAQ;;oBAEL,UAAU,QAAQ,EAAE;gBACxB,UAAU,IAAI,EAAE;oBACZ,UAAU,QAAQ,EAAE;gBACxB,UAAU,IAAI,EAAE;eACjB,UAAU,GAAG,EAAE;kBACZ,UAAU,MAAM,EAAE;gBACpB,UAAU,IAAI,EAAE;UACtB,KAAK,aAAa,EAAE;;;CAG5B;CA0EA,SAAS;EACP,MAAM,EAAE,aAAa;EACrB,OAAO,WAAW,KAAK,oBAAoB,IAAI,KAAK,YAAY;CAClE;;2BAE2B;GACzB,GAAG,WAAW;GACd,gBAAgB;EAClB;;;gBACgBA;;AAClB;YA9JG,MAAM,OAAO,CAAA,GAAA,QAAA,WAAA,aAAA,KAAA,CAAA;YA+Eb,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,QAAA,WAAA,YAAA,KAAA,CAAA;YAMzC,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,QAAA,WAAA,YAAA,KAAA,CAAA;YAM1B,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,QAAA,WAAA,QAAA,KAAA,CAAA;YAM1B,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,QAAA,WAAA,YAAA,KAAA,CAAA;YAM1B,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,QAAA,WAAA,UAAA,KAAA,CAAA;YAMzC,SAAS,EAAE,WAAW,YAAY,CAAC,CAAA,GAAA,QAAA,WAAA,YAAA,KAAA,CAAA;YAMnC,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,QAAA,WAAA,QAAA,KAAA,CAAA;YAM1B,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,QAAA,WAAA,OAAA,KAAA,CAAA;YAM1B,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,QAAA,WAAA,QAAA,KAAA,CAAA;YAM1B,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,QAAA,WAAA,UAAA,KAAA,CAAA;YAM1B,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA,GAAA,QAAA,WAAA,QAAA,KAAA,CAAA;YAM1B,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,QAAA,WAAA,WAAA,KAAA,CAAA;sBAtK3CC,cAAc,UAAgB,CAAA,GAAA,OAAA;AAqL/B,IAAA,eAAe"}
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { css } from "lit";
9
9
  //#region src/components/loading/loading.scss?lit
10
- var loading_default = css([".cds--layer-one,:root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds--layer-two{--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds--layer-three{--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds--layer-one.cds--layer__with-background,.cds--layer-three.cds--layer__with-background,.cds--layer-two.cds--layer__with-background{background-color:var(--cds-layer-background)}.cds--loading,:host(cds-loading){box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--loading *,.cds--loading :after,.cds--loading :before,:host(cds-loading) *,:host(cds-loading) :after,:host(cds-loading) :before{box-sizing:inherit}.cds--loading,:host(cds-loading){animation-duration:.69s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:cds--rotate;animation-timing-function:linear}.cds--loading svg circle,:host(cds-loading) svg circle{animation-duration:10ms;animation-name:cds--init-stroke;animation-timing-function:cubic-bezier(.5,0,.1,1)}@media screen and (prefers-reduced-motion:reduce){.cds--loading svg circle,:host(cds-loading) svg circle{animation:none}}.cds--loading,:host(cds-loading){block-size:5.5rem;inline-size:5.5rem}.cds--loading__svg{fill:transparent}.cds--loading__svg circle{stroke-dasharray:276.4608 276.4608;stroke-linecap:butt;stroke-width:10}.cds--loading__stroke{stroke:var(--cds-interactive,#0f62fe);stroke-dashoffset:52.527552}.cds--loading--small .cds--loading__stroke,:host(cds-loading[small]) .cds--loading__stroke{stroke-dashoffset:143.759616}.cds--loading--stop,:host(cds-loading:not([active])){animation:cds--rotate-end-p1 .7s cubic-bezier(0,0,.25,1) forwards,cds--rotate-end-p2 .7s cubic-bezier(0,0,.25,1) .7s forwards}.cds--loading--stop svg circle,:host(cds-loading:not([active])) svg circle{animation-delay:.7s;animation-duration:.7s;animation-fill-mode:forwards;animation-name:cds--stroke-end;animation-timing-function:cubic-bezier(0,0,.25,1)}@media screen and (prefers-reduced-motion:reduce){.cds--loading--stop svg circle,:host(cds-loading:not([active])) svg circle{animation:none}}.cds--loading--small,:host(cds-loading[small]){block-size:1rem;inline-size:1rem;line-height:1rem}.cds--loading--small circle,:host(cds-loading[small]) circle{stroke-width:16}.cds--loading--small .cds--loading__svg,:host(cds-loading[small]) .cds--loading__svg{stroke:var(--cds-interactive,#0f62fe)}.cds--loading__background{stroke:var(--cds-layer-accent);stroke-dashoffset:-22}@supports (hanging-punctuation:first) and (font:-apple-system-body) and (-webkit-appearance:none){circle.cds--loading__background{stroke-dasharray:265;stroke-dashoffset:0}}.cds--loading-overlay,:host(cds-loading[overlay]){position:fixed;z-index:6000;display:flex;align-items:center;justify-content:center;background-color:var(--cds-overlay,rgba(0,0,0,.6));block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;transition:background-color .7s cubic-bezier(.4,.14,.3,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cds--loading-overlay--stop{display:none}@keyframes cds--rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes cds--rotate-end-p1{to{transform:rotate(1turn)}}@keyframes cds--rotate-end-p2{to{transform:rotate(-1turn)}}@keyframes cds--init-stroke{0%{stroke-dashoffset:276.4608}to{stroke-dashoffset:52.527552}}@keyframes cds--stroke-end{0%{stroke-dashoffset:52.527552}to{stroke-dashoffset:276.4608}}:host(cds-loading){display:block}:host(cds-loading[overlay]){animation:none}.cds--loading__background[hidden]{display:none}"]);
10
+ var loading_default = css([".cds--layer-one,:root{--cds-layer:var(--cds-layer-01, #f4f4f4);--cds-layer-active:var(--cds-layer-active-01, #c6c6c6);--cds-layer-background:var(--cds-layer-background-01, #fff);--cds-layer-hover:var(--cds-layer-hover-01, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01, #a8a8a8);--cds-field:var(--cds-field-01, #f4f4f4);--cds-field-hover:var(--cds-field-hover-01, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00, #e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01, #c6c6c6);--cds-border-strong:var(--cds-border-strong-01, #8d8d8d);--cds-border-tile:var(--cds-border-tile-01, #c6c6c6)}.cds--layer-two{--cds-layer:var(--cds-layer-02, #fff);--cds-layer-active:var(--cds-layer-active-02, #c6c6c6);--cds-layer-background:var(--cds-layer-background-02, #f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02, #a8a8a8);--cds-field:var(--cds-field-02, #fff);--cds-field-hover:var(--cds-field-hover-02, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01, #c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02, #c6c6c6);--cds-border-strong:var(--cds-border-strong-02, #8d8d8d);--cds-border-tile:var(--cds-border-tile-02, #a8a8a8)}.cds--layer-three{--cds-layer:var(--cds-layer-03, #f4f4f4);--cds-layer-active:var(--cds-layer-active-03, #c6c6c6);--cds-layer-background:var(--cds-layer-background-03, #fff);--cds-layer-hover:var(--cds-layer-hover-03, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03, #a8a8a8);--cds-field:var(--cds-field-03, #f4f4f4);--cds-field-hover:var(--cds-field-hover-03, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02, #e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03, #c6c6c6);--cds-border-strong:var(--cds-border-strong-03, #8d8d8d);--cds-border-tile:var(--cds-border-tile-03, #c6c6c6)}.cds--layer-one.cds--layer__with-background,.cds--layer-three.cds--layer__with-background,.cds--layer-two.cds--layer__with-background{background-color:var(--cds-layer-background)}.cds--loading,:host(cds-loading){box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--loading *,.cds--loading :after,.cds--loading :before,:host(cds-loading) *,:host(cds-loading) :after,:host(cds-loading) :before{box-sizing:inherit}.cds--loading,:host(cds-loading){animation-duration:.69s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:cds--rotate;animation-timing-function:linear}.cds--loading svg circle,:host(cds-loading) svg circle{animation-duration:10ms;animation-name:cds--init-stroke;animation-timing-function:cubic-bezier(.5,0,.1,1)}@media screen and (prefers-reduced-motion:reduce){.cds--loading svg circle,:host(cds-loading) svg circle{animation:none}}.cds--loading,:host(cds-loading){block-size:5.5rem;inline-size:5.5rem}.cds--loading__svg{fill:transparent}.cds--loading__svg circle{stroke-dasharray:276.4608 276.4608;stroke-linecap:butt;stroke-width:10}.cds--loading__stroke{stroke:var(--cds-interactive,#0f62fe);stroke-dashoffset:52.527552}.cds--loading--small .cds--loading__stroke,:host(cds-loading[small]) .cds--loading__stroke{stroke-dashoffset:143.759616}.cds--loading--stop,:host(cds-loading:not([active])){animation:cds--rotate-end-p1 .7s cubic-bezier(0,0,.25,1) forwards,cds--rotate-end-p2 .7s cubic-bezier(0,0,.25,1) .7s forwards}.cds--loading--stop svg circle,:host(cds-loading:not([active])) svg circle{animation-delay:.7s;animation-duration:.7s;animation-fill-mode:forwards;animation-name:cds--stroke-end;animation-timing-function:cubic-bezier(0,0,.25,1)}@media screen and (prefers-reduced-motion:reduce){.cds--loading--stop svg circle,:host(cds-loading:not([active])) svg circle{animation:none}}.cds--loading--small,:host(cds-loading[small]){block-size:1rem;inline-size:1rem;line-height:1rem}.cds--loading--small circle,:host(cds-loading[small]) circle{stroke-width:16}.cds--loading--small .cds--loading__svg,:host(cds-loading[small]) .cds--loading__svg{stroke:var(--cds-interactive,#0f62fe)}.cds--loading__background{stroke:var(--cds-layer-accent);stroke-dashoffset:-22}@supports (hanging-punctuation:first) and (font:-apple-system-body) and (-webkit-appearance:none){circle.cds--loading__background{stroke-dasharray:265;stroke-dashoffset:0}}.cds--loading-overlay,:host(cds-loading[overlay]){position:fixed;z-index:6000;display:flex;align-items:center;justify-content:center;background-color:var(--cds-overlay,rgba(0,0,0,.6));block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;transition:background-color .7s cubic-bezier(.4,.14,.3,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cds--loading-overlay--stop{display:none}@keyframes cds--rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes cds--rotate-end-p1{to{transform:rotate(1turn)}}@keyframes cds--rotate-end-p2{to{transform:rotate(-1turn)}}@keyframes cds--init-stroke{0%{stroke-dashoffset:276.4608}to{stroke-dashoffset:52.527552}}@keyframes cds--stroke-end{0%{stroke-dashoffset:52.527552}to{stroke-dashoffset:276.4608}}:host(cds-loading){display:block}:host(cds-loading[overlay]){animation:none}.cds--loading__background[hidden]{display:none}"]);
11
11
  //#endregion
12
12
  export { loading_default as default };
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../../src/components/menu/menu-item.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAYvC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AACrC,eAAO,MAAM,qBAAqB,gCAAsC,CAAC;;;;;;;;;;uBAL/B,CAAC;;;;;AAO3C;;;;GAIG;AACH,cACM,WAAY,SAAQ,gBAAgD;IAExE,OAAO,MAAC;IAER,QAAQ,CAAC,gBAAgB,OAAO;IAChC,kBAAkB,MAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,WAAW,CAAwB;IAE3C;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAC,CAAmB;IAE/C;;OAEG;IAEH,KAAK,MAAC;IACN;;OAEG;IAEH,QAAQ,MAAC;IACT;;OAEG;IAEH,QAAQ,MAAC;IAET;;OAEG;IAEH,iBAAiB,SAAM;IAEvB;;OAEG;IAEH,WAAW,UAAS;IAGpB,IAAI,iBAA0B;IAC9B;;OAEG;IAEH,UAAU,EAAE;QACV,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B,CAAoB;IAGrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAA4C;IAEtE;;OAEG;IAEH,YAAY,MAAC;IACb;;OAEG;IAEH,KAAK,UAAS;IACd;;OAEG;IAEH,UAAU,UAAS;IAEb,kBAAkB;IAaxB,OAAO,CAAC,iBAAiB;IAwBzB,YAAY;IA2BZ,oBAAoB;IAIpB,OAAO,IAAI,IAAI;IAWf,WAAW,CAAC,KAAK,EAAE,UAAU;IAK7B,eAAe,CAAC,KAAK,EAAE,UAAU;IAOjC,gBAAgB;IAOhB,gBAAgB;IAOhB,aAAa,CAAC,KAAK,EAAE,aAAa;IAIlC,MAAM;IAwDN,YAAY,GAAI,GAAG,UAAU,GAAG,aAAa,KAAG,IAAI,CAwBlD;IACF,iBAAiB,aAIf;IACF,iBAAiB,aAMf;IACF,YAAY,aAcV;IACF,qBAAqB,aAkCnB;IACF,aAAa,aASX;IACF,cAAc,GAAI,GAAG,aAAa,UAUhC;IAEF,MAAM,CAAC,MAAM,MAAU;CACxB;AACD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../../src/components/menu/menu-item.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAYvC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AACrC,eAAO,MAAM,qBAAqB,gCAAsC,CAAC;;;;;;;;;;uBAL/B,CAAC;;;;;AAO3C;;;;GAIG;AACH,cACM,WAAY,SAAQ,gBAAgD;IAExE,OAAO,MAAC;IAER,QAAQ,CAAC,gBAAgB,OAAO;IAChC,kBAAkB,MAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,WAAW,CAAwB;IAE3C;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAC,CAAmB;IAE/C;;OAEG;IAEH,KAAK,MAAC;IACN;;OAEG;IAEH,QAAQ,MAAC;IACT;;OAEG;IAEH,QAAQ,MAAC;IAET;;OAEG;IAEH,iBAAiB,SAAM;IAEvB;;OAEG;IAEH,WAAW,UAAS;IAGpB,IAAI,iBAA0B;IAC9B;;OAEG;IAEH,UAAU,EAAE;QACV,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B,CAAoB;IAGrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAA4C;IAEtE;;OAEG;IAEH,YAAY,MAAC;IACb;;OAEG;IAEH,KAAK,UAAS;IACd;;OAEG;IAEH,UAAU,UAAS;IAEb,kBAAkB;IAaxB,OAAO,CAAC,iBAAiB;IAwBzB,YAAY;IA2BZ,oBAAoB;IAIpB,OAAO,IAAI,IAAI;IAWf,WAAW,CAAC,KAAK,EAAE,UAAU;IAK7B,eAAe,CAAC,KAAK,EAAE,UAAU;IAOjC,gBAAgB;IAOhB,gBAAgB;IAOhB,aAAa,CAAC,KAAK,EAAE,aAAa;IAIlC,MAAM;IAwDN,YAAY,GAAI,GAAG,UAAU,GAAG,aAAa,KAAG,IAAI,CAwBlD;IACF,iBAAiB,aAIf;IACF,iBAAiB,aAMf;IACF,YAAY,aAOV;IACF,qBAAqB,aAkCnB;IACF,aAAa,aASX;IACF,cAAc,GAAI,GAAG,aAAa,UAUhC;IAEF,MAAM,CAAC,MAAM,MAAU;CACxB;AACD,eAAe,WAAW,CAAC"}
@@ -78,11 +78,7 @@ let CDSmenuItem = class CDSmenuItem extends HostListenerMixin(HostListenerMixin(
78
78
  };
79
79
  this._openSubmenu = () => {
80
80
  const { x, y, width, height } = this.getBoundingClientRect();
81
- if (this.isRtl) this.boundaries = {
82
- x: [-x, x - width],
83
- y: [y, y + height]
84
- };
85
- else this.boundaries = {
81
+ this.boundaries = {
86
82
  x: [x, x + width],
87
83
  y: [y, y + height]
88
84
  };
@@ -164,7 +160,7 @@ let CDSmenuItem = class CDSmenuItem extends HostListenerMixin(HostListenerMixin(
164
160
  firstUpdated() {
165
161
  this.hasSubmenu = !!this.querySelector("[slot=\"submenu\"]");
166
162
  this.dispatchIconDetect();
167
- this.isRtl = document.dir === "rtl";
163
+ this.isRtl = getComputedStyle(this).direction === "rtl";
168
164
  this._registerSubMenuItems();
169
165
  this._parentMenu = this.closest(`cds-menu`);
170
166
  this._updateAttributes();
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","names":["styles","customElement"],"sources":["../../../src/components/menu/menu-item.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport styles from './menu-item.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { consume } from '@lit/context';\nimport { MenuContext } from './menu-context';\nimport Checkmark16 from '@carbon/icons/es/checkmark/16.js';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { MENU_ITEM_KIND, MENU_SIZE } from './defs';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport CDSMenu from './menu';\n\nexport { MENU_ITEM_KIND, MENU_SIZE };\nexport const MENU_CLOSE_ROOT_EVENT = `${prefix}-menu-close-root-request`;\n\n/**\n * Menu Item.\n *\n * @element cds-menu-item\n */\n@customElement(`${prefix}-menu-item`)\nclass CDSmenuItem extends HostListenerMixin(HostListenerMixin(LitElement)) {\n @consume({ context: MenuContext })\n context;\n\n readonly hoverIntentDelay = 150; // in ms\n hoverIntentTimeout;\n\n /**\n * The parent cds-menu element\n */\n private _parentMenu: CDSMenu | null = null;\n\n /**\n * MutationObserver that observes the parent cds-menu element\n */\n private _parentMenuObserver?: MutationObserver;\n\n /**\n * Label for the menu item.\n */\n @property({ type: String })\n label;\n /**\n * Shortcut for the menu item.\n */\n @property({ type: String })\n shortcut;\n /**\n * Disabled property for the menu item.\n */\n @property({ type: Boolean })\n disabled;\n\n /**\n * Specify the message read by screen readers for the danger menu item variant\n */\n @property({ type: String, attribute: 'danger-description' })\n dangerDescription = '';\n\n /**\n * Whether the menu submen for an item is open or not.\n */\n @property({ type: Boolean })\n submenuOpen = false;\n\n @property()\n kind = MENU_ITEM_KIND.DEFAULT;\n /**\n * Menu boundaries.\n */\n @property()\n boundaries: {\n x: number | [number, number];\n y: number | [number, number];\n } = { x: -1, y: -1 };\n\n @property({ attribute: 'aria-checked' })\n ariaChecked: string | null = this.getAttribute('selected') ?? 'false';\n\n /**\n * Entrypoint.\n */\n @state()\n submenuEntry;\n /**\n * Checks if document direction is rtl.\n */\n @state()\n isRtl = false;\n /**\n * Checks if document direction is rtl.\n */\n @state()\n hasSubmenu = false;\n\n async dispatchIconDetect() {\n const hasRenderIcon = !!this.querySelector('[slot=\"render-icon\"]');\n if (hasRenderIcon) {\n await undefined; // this is used to replace setTimeout with 0 time out, which is much fater.\n this.dispatchEvent(\n new CustomEvent('icon-detect', {\n bubbles: true, // Allows event to bubble up the DOM\n composed: true, // Allows event to cross shadow DOM boundary\n })\n );\n }\n }\n\n private _updateAttributes() {\n if (this.disabled && !this.hasSubmenu) {\n this.setAttribute('aria-disabled', this.disabled);\n this.setAttribute('tabindex', '-1');\n } else if (this._parentMenu && !(this._parentMenu as CDSMenu).open) {\n this.removeAttribute('aria-disabled');\n this.setAttribute('tabindex', '-1');\n } else {\n this.removeAttribute('aria-disabled');\n this.setAttribute('tabindex', '0');\n }\n if (this.hasSubmenu) {\n this.setAttribute('aria-haspopup', this.hasSubmenu + '');\n } else {\n this.removeAttribute('aria-haspopup');\n }\n if (this.closest(`${prefix}-menu-item-radio-group`)) {\n this.setAttribute('role', 'menuitemradio');\n this.setAttribute('aria-checked', this.ariaChecked + '');\n } else if (!this.getAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n }\n\n firstUpdated() {\n this.hasSubmenu = !!this.querySelector('[slot=\"submenu\"]');\n\n this.dispatchIconDetect();\n this.isRtl = document.dir === 'rtl';\n this._registerSubMenuItems();\n this._parentMenu = this.closest(`${prefix}-menu`);\n\n this._updateAttributes();\n\n this.addEventListener(`${prefix}-menu-closed`, () => {\n this.focus();\n this._closeSubmenu();\n });\n\n if (this._parentMenu) {\n this._parentMenuObserver = new MutationObserver(() => {\n this._updateAttributes();\n });\n\n this._parentMenuObserver.observe(this._parentMenu, {\n attributes: true,\n attributeFilter: ['open'],\n });\n }\n }\n\n disconnectedCallback() {\n this._parentMenuObserver?.disconnect();\n }\n\n updated(): void {\n if (this.hasSubmenu) {\n this.setAttribute('aria-expanded', this.hasSubmenu + '');\n } else {\n this.removeAttribute('aria-expanded');\n }\n if (this.kind === MENU_ITEM_KIND.DANGER)\n this.classList.toggle(`${prefix}--menu-item--danger`);\n }\n\n @HostListener('click', { capture: true })\n handleClick(event: MouseEvent) {\n this._handleClick(event);\n }\n\n @HostListener('mousedown')\n handleMouseDown(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n }\n }\n\n @HostListener('mouseenter')\n handleMouseEnter() {\n if (this.hasSubmenu) {\n this._handleMouseEnter();\n }\n }\n\n @HostListener('mouseleave')\n handleMouseLeave() {\n if (this.hasSubmenu) {\n this._handleMouseLeave();\n }\n }\n\n @HostListener('keydown')\n handleKeyDown(event: KeyboardEvent) {\n this._handleKeyDown(event);\n }\n\n render() {\n const {\n label,\n shortcut,\n submenuOpen,\n boundaries,\n isRtl,\n kind,\n dangerDescription,\n } = this;\n\n const isDanger = kind === MENU_ITEM_KIND.DANGER && !this.hasSubmenu;\n const hasDangerDescription = isDanger && Boolean(dangerDescription);\n\n const menuClassName = this.context?.hasSelectableItems\n ? `${prefix}--menu--with-selectable-items`\n : '';\n\n return html`\n <div class=\"${prefix}--menu-item__selection-icon\">\n ${this.ariaChecked === 'true' ? iconLoader(Checkmark16) : undefined}\n </div>\n\n <div class=\"${prefix}--menu-item__icon\">\n <slot name=\"render-icon\"></slot>\n </div>\n <div class=\"${prefix}--menu-item__label\">${label}</div>\n ${hasDangerDescription\n ? html`<span id=\"danger-description\" class=\"${prefix}--visually-hidden\"\n >${dangerDescription}</span\n >`\n : html``}\n ${shortcut && !this.hasSubmenu\n ? html` <div class=\"${prefix}--menu-item__shortcut\">${shortcut}</div> `\n : html``}\n ${this.hasSubmenu\n ? html`\n <div class=\"${prefix}--menu-item__shortcut\">\n ${isRtl ? iconLoader(CaretLeft16) : iconLoader(CaretRight16)}\n </div>\n <cds-menu\n className=${menuClassName}\n size=${this.parentElement?.getAttribute('size') ??\n MENU_SIZE.LARGE}\n ?isChild=\"${this.hasSubmenu}\"\n label=\"${label}\"\n .open=\"${submenuOpen}\"\n .x=\"${boundaries.x}\"\n .y=\"${boundaries.y}\">\n <slot name=\"submenu\"></slot>\n </cds-menu>\n `\n : html``}\n `;\n }\n\n _handleClick = (e: MouseEvent | KeyboardEvent): void => {\n if (this.disabled) {\n return;\n }\n\n if (this.hasSubmenu) {\n this._openSubmenu();\n return;\n }\n\n if (e.type === 'keydown') {\n this.click();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent(MENU_CLOSE_ROOT_EVENT, {\n bubbles: true,\n composed: true,\n detail: {\n triggerEvent: e,\n },\n })\n );\n };\n _handleMouseEnter = () => {\n this.hoverIntentTimeout = setTimeout(() => {\n this._openSubmenu();\n }, this.hoverIntentDelay);\n };\n _handleMouseLeave = () => {\n if (this.hoverIntentTimeout) {\n clearTimeout(this.hoverIntentTimeout);\n this._closeSubmenu();\n this.focus();\n }\n };\n _openSubmenu = () => {\n const { x, y, width, height } = this.getBoundingClientRect();\n if (this.isRtl) {\n this.boundaries = {\n x: [-x, x - width],\n y: [y, y + height],\n };\n } else {\n this.boundaries = {\n x: [x, x + width],\n y: [y, y + height],\n };\n }\n this.submenuOpen = true;\n };\n _registerSubMenuItems = () => {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n const submenuSlot = this.shadowRoot?.querySelector(\n 'slot[name=\"submenu\"]'\n ) as HTMLSlotElement;\n\n const item = submenuSlot?.assignedElements?.()?.[0];\n if (item) {\n switch (item.tagName) {\n case 'CDS-MENU-ITEM-RADIO-GROUP':\n this.submenuEntry = item.querySelector(`${prefix}-menu-item`);\n break;\n case 'CDS-MENU-ITEM-GROUP': {\n const slotElements = item.shadowRoot\n ?.querySelector('slot')\n ?.assignedElements();\n const firstElement = slotElements?.length && slotElements[0];\n this.submenuEntry = firstElement;\n break;\n }\n case 'CDS-MENU-ITEM':\n this.submenuEntry = item;\n break;\n }\n }\n }\n }\n });\n observer.observe(this.shadowRoot as Node, {\n childList: true,\n subtree: true,\n });\n };\n _closeSubmenu = () => {\n this.boundaries = {\n x: -1,\n y: -1,\n };\n this.submenuOpen = false;\n (\n this.shadowRoot?.querySelector(`.${prefix}--menu-item`) as HTMLLIElement\n )?.focus();\n };\n _handleKeyDown = (e: KeyboardEvent) => {\n if (this.hasSubmenu && ['ArrowRight', 'Enter', ' '].includes(e.key)) {\n this._openSubmenu();\n setTimeout(() => {\n this.submenuEntry.focus();\n });\n e.stopPropagation();\n } else if (e.key === 'Enter' || e.key === ' ') {\n this._handleClick(e);\n }\n };\n\n static styles = styles;\n}\nexport default CDSmenuItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"menu-item.js","names":["styles","customElement"],"sources":["../../../src/components/menu/menu-item.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport styles from './menu-item.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { consume } from '@lit/context';\nimport { MenuContext } from './menu-context';\nimport Checkmark16 from '@carbon/icons/es/checkmark/16.js';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { MENU_ITEM_KIND, MENU_SIZE } from './defs';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport CDSMenu from './menu';\n\nexport { MENU_ITEM_KIND, MENU_SIZE };\nexport const MENU_CLOSE_ROOT_EVENT = `${prefix}-menu-close-root-request`;\n\n/**\n * Menu Item.\n *\n * @element cds-menu-item\n */\n@customElement(`${prefix}-menu-item`)\nclass CDSmenuItem extends HostListenerMixin(HostListenerMixin(LitElement)) {\n @consume({ context: MenuContext })\n context;\n\n readonly hoverIntentDelay = 150; // in ms\n hoverIntentTimeout;\n\n /**\n * The parent cds-menu element\n */\n private _parentMenu: CDSMenu | null = null;\n\n /**\n * MutationObserver that observes the parent cds-menu element\n */\n private _parentMenuObserver?: MutationObserver;\n\n /**\n * Label for the menu item.\n */\n @property({ type: String })\n label;\n /**\n * Shortcut for the menu item.\n */\n @property({ type: String })\n shortcut;\n /**\n * Disabled property for the menu item.\n */\n @property({ type: Boolean })\n disabled;\n\n /**\n * Specify the message read by screen readers for the danger menu item variant\n */\n @property({ type: String, attribute: 'danger-description' })\n dangerDescription = '';\n\n /**\n * Whether the menu submen for an item is open or not.\n */\n @property({ type: Boolean })\n submenuOpen = false;\n\n @property()\n kind = MENU_ITEM_KIND.DEFAULT;\n /**\n * Menu boundaries.\n */\n @property()\n boundaries: {\n x: number | [number, number];\n y: number | [number, number];\n } = { x: -1, y: -1 };\n\n @property({ attribute: 'aria-checked' })\n ariaChecked: string | null = this.getAttribute('selected') ?? 'false';\n\n /**\n * Entrypoint.\n */\n @state()\n submenuEntry;\n /**\n * Checks if document direction is rtl.\n */\n @state()\n isRtl = false;\n /**\n * Checks if document direction is rtl.\n */\n @state()\n hasSubmenu = false;\n\n async dispatchIconDetect() {\n const hasRenderIcon = !!this.querySelector('[slot=\"render-icon\"]');\n if (hasRenderIcon) {\n await undefined; // this is used to replace setTimeout with 0 time out, which is much fater.\n this.dispatchEvent(\n new CustomEvent('icon-detect', {\n bubbles: true, // Allows event to bubble up the DOM\n composed: true, // Allows event to cross shadow DOM boundary\n })\n );\n }\n }\n\n private _updateAttributes() {\n if (this.disabled && !this.hasSubmenu) {\n this.setAttribute('aria-disabled', this.disabled);\n this.setAttribute('tabindex', '-1');\n } else if (this._parentMenu && !(this._parentMenu as CDSMenu).open) {\n this.removeAttribute('aria-disabled');\n this.setAttribute('tabindex', '-1');\n } else {\n this.removeAttribute('aria-disabled');\n this.setAttribute('tabindex', '0');\n }\n if (this.hasSubmenu) {\n this.setAttribute('aria-haspopup', this.hasSubmenu + '');\n } else {\n this.removeAttribute('aria-haspopup');\n }\n if (this.closest(`${prefix}-menu-item-radio-group`)) {\n this.setAttribute('role', 'menuitemradio');\n this.setAttribute('aria-checked', this.ariaChecked + '');\n } else if (!this.getAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n }\n\n firstUpdated() {\n this.hasSubmenu = !!this.querySelector('[slot=\"submenu\"]');\n\n this.dispatchIconDetect();\n this.isRtl = getComputedStyle(this).direction === 'rtl';\n this._registerSubMenuItems();\n this._parentMenu = this.closest(`${prefix}-menu`);\n\n this._updateAttributes();\n\n this.addEventListener(`${prefix}-menu-closed`, () => {\n this.focus();\n this._closeSubmenu();\n });\n\n if (this._parentMenu) {\n this._parentMenuObserver = new MutationObserver(() => {\n this._updateAttributes();\n });\n\n this._parentMenuObserver.observe(this._parentMenu, {\n attributes: true,\n attributeFilter: ['open'],\n });\n }\n }\n\n disconnectedCallback() {\n this._parentMenuObserver?.disconnect();\n }\n\n updated(): void {\n if (this.hasSubmenu) {\n this.setAttribute('aria-expanded', this.hasSubmenu + '');\n } else {\n this.removeAttribute('aria-expanded');\n }\n if (this.kind === MENU_ITEM_KIND.DANGER)\n this.classList.toggle(`${prefix}--menu-item--danger`);\n }\n\n @HostListener('click', { capture: true })\n handleClick(event: MouseEvent) {\n this._handleClick(event);\n }\n\n @HostListener('mousedown')\n handleMouseDown(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n }\n }\n\n @HostListener('mouseenter')\n handleMouseEnter() {\n if (this.hasSubmenu) {\n this._handleMouseEnter();\n }\n }\n\n @HostListener('mouseleave')\n handleMouseLeave() {\n if (this.hasSubmenu) {\n this._handleMouseLeave();\n }\n }\n\n @HostListener('keydown')\n handleKeyDown(event: KeyboardEvent) {\n this._handleKeyDown(event);\n }\n\n render() {\n const {\n label,\n shortcut,\n submenuOpen,\n boundaries,\n isRtl,\n kind,\n dangerDescription,\n } = this;\n\n const isDanger = kind === MENU_ITEM_KIND.DANGER && !this.hasSubmenu;\n const hasDangerDescription = isDanger && Boolean(dangerDescription);\n\n const menuClassName = this.context?.hasSelectableItems\n ? `${prefix}--menu--with-selectable-items`\n : '';\n\n return html`\n <div class=\"${prefix}--menu-item__selection-icon\">\n ${this.ariaChecked === 'true' ? iconLoader(Checkmark16) : undefined}\n </div>\n\n <div class=\"${prefix}--menu-item__icon\">\n <slot name=\"render-icon\"></slot>\n </div>\n <div class=\"${prefix}--menu-item__label\">${label}</div>\n ${hasDangerDescription\n ? html`<span id=\"danger-description\" class=\"${prefix}--visually-hidden\"\n >${dangerDescription}</span\n >`\n : html``}\n ${shortcut && !this.hasSubmenu\n ? html` <div class=\"${prefix}--menu-item__shortcut\">${shortcut}</div> `\n : html``}\n ${this.hasSubmenu\n ? html`\n <div class=\"${prefix}--menu-item__shortcut\">\n ${isRtl ? iconLoader(CaretLeft16) : iconLoader(CaretRight16)}\n </div>\n <cds-menu\n className=${menuClassName}\n size=${this.parentElement?.getAttribute('size') ??\n MENU_SIZE.LARGE}\n ?isChild=\"${this.hasSubmenu}\"\n label=\"${label}\"\n .open=\"${submenuOpen}\"\n .x=\"${boundaries.x}\"\n .y=\"${boundaries.y}\">\n <slot name=\"submenu\"></slot>\n </cds-menu>\n `\n : html``}\n `;\n }\n\n _handleClick = (e: MouseEvent | KeyboardEvent): void => {\n if (this.disabled) {\n return;\n }\n\n if (this.hasSubmenu) {\n this._openSubmenu();\n return;\n }\n\n if (e.type === 'keydown') {\n this.click();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent(MENU_CLOSE_ROOT_EVENT, {\n bubbles: true,\n composed: true,\n detail: {\n triggerEvent: e,\n },\n })\n );\n };\n _handleMouseEnter = () => {\n this.hoverIntentTimeout = setTimeout(() => {\n this._openSubmenu();\n }, this.hoverIntentDelay);\n };\n _handleMouseLeave = () => {\n if (this.hoverIntentTimeout) {\n clearTimeout(this.hoverIntentTimeout);\n this._closeSubmenu();\n this.focus();\n }\n };\n _openSubmenu = () => {\n const { x, y, width, height } = this.getBoundingClientRect();\n this.boundaries = {\n x: [x, x + width],\n y: [y, y + height],\n };\n this.submenuOpen = true;\n };\n _registerSubMenuItems = () => {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n const submenuSlot = this.shadowRoot?.querySelector(\n 'slot[name=\"submenu\"]'\n ) as HTMLSlotElement;\n\n const item = submenuSlot?.assignedElements?.()?.[0];\n if (item) {\n switch (item.tagName) {\n case 'CDS-MENU-ITEM-RADIO-GROUP':\n this.submenuEntry = item.querySelector(`${prefix}-menu-item`);\n break;\n case 'CDS-MENU-ITEM-GROUP': {\n const slotElements = item.shadowRoot\n ?.querySelector('slot')\n ?.assignedElements();\n const firstElement = slotElements?.length && slotElements[0];\n this.submenuEntry = firstElement;\n break;\n }\n case 'CDS-MENU-ITEM':\n this.submenuEntry = item;\n break;\n }\n }\n }\n }\n });\n observer.observe(this.shadowRoot as Node, {\n childList: true,\n subtree: true,\n });\n };\n _closeSubmenu = () => {\n this.boundaries = {\n x: -1,\n y: -1,\n };\n this.submenuOpen = false;\n (\n this.shadowRoot?.querySelector(`.${prefix}--menu-item`) as HTMLLIElement\n )?.focus();\n };\n _handleKeyDown = (e: KeyboardEvent) => {\n if (this.hasSubmenu && ['ArrowRight', 'Enter', ' '].includes(e.key)) {\n this._openSubmenu();\n setTimeout(() => {\n this.submenuEntry.focus();\n });\n e.stopPropagation();\n } else if (e.key === 'Enter' || e.key === ' ') {\n this._handleClick(e);\n }\n };\n\n static styles = styles;\n}\nexport default CDSmenuItem;\n"],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
 
8
8
  import { css } from "lit";
9
9
  //#region src/components/menu/menu-item.scss?lit
10
- var menu_item_default = css(["@keyframes cds--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}.cds--assistive-text,.cds--visually-hidden{position:absolute;overflow:hidden;padding:0;border:0;margin:-1px;block-size:1px;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.cds--layer-one,:root{--cds-layer:var(--cds-layer-01,#f4f4f4);--cds-layer-active:var(--cds-layer-active-01,#c6c6c6);--cds-layer-background:var(--cds-layer-background-01,#fff);--cds-layer-hover:var(--cds-layer-hover-01,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01,#a8a8a8);--cds-field:var(--cds-field-01,#f4f4f4);--cds-field-hover:var(--cds-field-hover-01,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01,#c6c6c6);--cds-border-strong:var(--cds-border-strong-01,#8d8d8d);--cds-border-tile:var(--cds-border-tile-01,#c6c6c6)}.cds--layer-two{--cds-layer:var(--cds-layer-02,#fff);--cds-layer-active:var(--cds-layer-active-02,#c6c6c6);--cds-layer-background:var(--cds-layer-background-02,#f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02,#a8a8a8);--cds-field:var(--cds-field-02,#fff);--cds-field-hover:var(--cds-field-hover-02,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01,#c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02,#c6c6c6);--cds-border-strong:var(--cds-border-strong-02,#8d8d8d);--cds-border-tile:var(--cds-border-tile-02,#a8a8a8)}.cds--layer-three{--cds-layer:var(--cds-layer-03,#f4f4f4);--cds-layer-active:var(--cds-layer-active-03,#c6c6c6);--cds-layer-background:var(--cds-layer-background-03,#fff);--cds-layer-hover:var(--cds-layer-hover-03,#e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03,#e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03,#d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03,#e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03,#d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03,#a8a8a8);--cds-field:var(--cds-field-03,#f4f4f4);--cds-field-hover:var(--cds-field-hover-03,#e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02,#e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03,#c6c6c6);--cds-border-strong:var(--cds-border-strong-03,#8d8d8d);--cds-border-tile:var(--cds-border-tile-03,#c6c6c6)}.cds--layer-one.cds--layer__with-background,.cds--layer-three.cds--layer__with-background,.cds--layer-two.cds--layer__with-background{background-color:var(--cds-layer-background)}.cds--menu{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--menu *,.cds--menu :after,.cds--menu :before{box-sizing:inherit}.cds--menu{box-shadow:0 2px 6px var(--cds-shadow,rgba(0,0,0,.3));position:fixed;z-index:9000;padding:.25rem 0;background-color:var(--cds-layer);max-inline-size:18rem;min-inline-size:10rem;opacity:0;overflow-y:auto;visibility:hidden}.cds--menu--border{outline:1px solid var(--cds-border-subtle)}.cds--menu--background-token__background{background-color:var(--cds-background,#fff)}.cds--menu--with-icons{min-inline-size:12rem}.cds--menu--open{visibility:visible}.cds--menu--open:focus{outline:1px solid var(--cds-focus,#0f62fe)}@media screen and (prefers-contrast){.cds--menu--open:focus{outline-style:dotted}}.cds--menu:not(.cds--menu--open) .cds--menu--open{visibility:hidden}.cds--menu--shown{overflow:visible;opacity:1}.cds--menu-item{font-size:var(--cds-body-short-01-font-size,.875rem);font-weight:var(--cds-body-short-01-font-weight,400);line-height:var(--cds-body-short-01-line-height,1.28572);letter-spacing:var(--cds-body-short-01-letter-spacing,.16px);display:grid;align-items:center;block-size:2rem;color:var(--cds-text-secondary,#525252);-moz-column-gap:.5rem;column-gap:.5rem;cursor:pointer;grid-template-columns:1fr max-content;padding-inline:1rem;transition:background-color 70ms cubic-bezier(.2,0,.38,.9)}.cds--menu-item:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--menu-item:focus{outline-style:dotted}}.cds--menu-item:hover{background-color:var(--cds-layer-hover);color:var(--cds-text-primary,#161616)}.cds--menu--xs .cds--menu-item{block-size:1.5rem}.cds--menu--sm .cds--menu-item{block-size:2rem}.cds--menu--md .cds--menu-item{block-size:2.5rem}.cds--menu--lg .cds--menu-item{block-size:3rem}.cds--menu-item-group>ul,.cds--menu-item-radio-group>ul{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--menu-item-group>ul *,.cds--menu-item-group>ul :after,.cds--menu-item-group>ul :before,.cds--menu-item-radio-group>ul *,.cds--menu-item-radio-group>ul :after,.cds--menu-item-radio-group>ul :before{box-sizing:inherit}.cds--menu--with-icons>.cds--menu-item,.cds--menu--with-icons>.cds--menu-item-group>ul>.cds--menu-item,.cds--menu--with-icons>.cds--menu-item-radio-group>ul>.cds--menu-item,.cds--menu--with-selectable-items>.cds--menu-item,.cds--menu--with-selectable-items>.cds--menu-item-group>ul>.cds--menu-item,.cds--menu--with-selectable-items>.cds--menu-item-radio-group>ul>.cds--menu-item{grid-template-columns:1rem 1fr max-content}.cds--menu--with-icons>.cds--menu-item-group>ul>.cds--menu-item>.cds--menu-item__icon,.cds--menu--with-icons>.cds--menu-item-radio-group>ul>.cds--menu-item>.cds--menu-item__icon,.cds--menu--with-icons>.cds--menu-item>.cds--menu-item__icon,.cds--menu--with-selectable-items>.cds--menu-item-group>ul>.cds--menu-item>.cds--menu-item__selection-icon,.cds--menu--with-selectable-items>.cds--menu-item-radio-group>ul>.cds--menu-item>.cds--menu-item__selection-icon,.cds--menu--with-selectable-items>.cds--menu-item>.cds--menu-item__selection-icon{display:flex}.cds--menu--with-icons.cds--menu--with-selectable-items>.cds--menu-item,.cds--menu--with-icons.cds--menu--with-selectable-items>.cds--menu-item-group>ul>.cds--menu-item,.cds--menu--with-icons.cds--menu--with-selectable-items>.cds--menu-item-radio-group>ul>.cds--menu-item{grid-template-columns:1rem 1rem 1fr max-content}.cds--menu-item--disabled{color:var(--cds-text-disabled,rgba(22,22,22,.25));cursor:not-allowed}.cds--menu-item--disabled.cds--menu-item--danger:hover,.cds--menu-item--disabled:hover{background-color:var(--cds-layer);color:var(--cds-text-disabled,rgba(22,22,22,.25))}.cds--menu-item--danger:focus,.cds--menu-item--danger:hover{background-color:var(--cds-button-danger-primary,#da1e28);color:var(--cds-text-on-color,#fff)}.cds--menu-item--danger:focus{box-shadow:inset 0 0 0 .1875rem var(--cds-background,#fff)}.cds--menu-item-divider,:host(cds-menu-item-divider){display:block;background-color:var(--cds-border-subtle);block-size:.0625rem;inline-size:100%;margin-block:.25rem}:host(cds-menu-item){font-size:var(--cds-body-short-01-font-size,.875rem);font-weight:var(--cds-body-short-01-font-weight,400);line-height:var(--cds-body-short-01-line-height,1.28572);letter-spacing:var(--cds-body-short-01-letter-spacing,.16px);display:grid;align-items:center;block-size:2rem;color:var(--cds-text-secondary,#525252);-moz-column-gap:.5rem;column-gap:.5rem;cursor:pointer;grid-template-columns:1fr max-content;padding-inline:1rem;transition:background-color 70ms cubic-bezier(.2,0,.38,.9)}:host(cds-menu-item) svg{color:var(--cds-icon-secondary,#525252)}:host(cds-menu-item:focus){outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){:host(cds-menu-item:focus){outline-style:dotted}}:host(cds-menu-item:hover){background-color:var(--cds-layer-hover);color:var(--cds-text-primary,#161616)}:host(cds-menu-item:hover) svg{color:var(--cds-icon-primary,#161616)}:host(cds-menu-item-group)>ul,:host(cds-menu-item-radio-group)>ul{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}:host(cds-menu-item-group)>ul *,:host(cds-menu-item-group)>ul :after,:host(cds-menu-item-group)>ul :before,:host(cds-menu-item-radio-group)>ul *,:host(cds-menu-item-radio-group)>ul :after,:host(cds-menu-item-radio-group)>ul :before{box-sizing:inherit}.cds--menu-item__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cds--menu-item__shortcut{display:flex}.cds--menu-item__icon{display:var(--child-icon-property,none)}:host([aria-disabled=true]){color:var(--cds-text-disabled,rgba(22,22,22,.25));cursor:not-allowed}:host([aria-disabled=true]) :where(*){color:inherit}:host([aria-disabled=true].cds--menu-item--danger:hover),:host([aria-disabled=true]:hover){background-color:var(--cds-layer);color:var(--cds-text-disabled,rgba(22,22,22,.25))}:host(.cds--menu-item--danger:focus),:host(.cds--menu-item--danger:hover){background-color:var(--cds-button-danger-primary,#da1e28);color:var(--cds-text-on-color,#fff)}:host(.cds--menu-item--danger:focus){box-shadow:inset 0 0 0 .1875rem var(--cds-background,#fff)}.cds--menu-item__icon,.cds--menu-item__selection-icon{display:none}:host(cds-menu-item){block-size:var(--block-size-value);grid-template-columns:var(--grid-template)}:host(cds-menu-item) .cds--menu-item__icon{display:var(--display-icon-item)}.cds--menu-item__selection-icon{display:var(--display-selection-icon)}span[slot=render-icon]{display:flex}"]);
10
+ var menu_item_default = css(["@keyframes cds--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}.cds--assistive-text,.cds--visually-hidden{position:absolute;overflow:hidden;padding:0;border:0;margin:-1px;block-size:1px;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.cds--layer-one,:root{--cds-layer:var(--cds-layer-01, #f4f4f4);--cds-layer-active:var(--cds-layer-active-01, #c6c6c6);--cds-layer-background:var(--cds-layer-background-01, #fff);--cds-layer-hover:var(--cds-layer-hover-01, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-01, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-01, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-01, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-01, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-01, #a8a8a8);--cds-field:var(--cds-field-01, #f4f4f4);--cds-field-hover:var(--cds-field-hover-01, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-00, #e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-01, #c6c6c6);--cds-border-strong:var(--cds-border-strong-01, #8d8d8d);--cds-border-tile:var(--cds-border-tile-01, #c6c6c6)}.cds--layer-two{--cds-layer:var(--cds-layer-02, #fff);--cds-layer-active:var(--cds-layer-active-02, #c6c6c6);--cds-layer-background:var(--cds-layer-background-02, #f4f4f4);--cds-layer-hover:var(--cds-layer-hover-02, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-02, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-02, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-02, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-02, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-02, #a8a8a8);--cds-field:var(--cds-field-02, #fff);--cds-field-hover:var(--cds-field-hover-02, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-01, #c6c6c6);--cds-border-subtle-selected:var(--cds-border-subtle-selected-02, #c6c6c6);--cds-border-strong:var(--cds-border-strong-02, #8d8d8d);--cds-border-tile:var(--cds-border-tile-02, #a8a8a8)}.cds--layer-three{--cds-layer:var(--cds-layer-03, #f4f4f4);--cds-layer-active:var(--cds-layer-active-03, #c6c6c6);--cds-layer-background:var(--cds-layer-background-03, #fff);--cds-layer-hover:var(--cds-layer-hover-03, #e8e8e8);--cds-layer-selected:var(--cds-layer-selected-03, #e0e0e0);--cds-layer-selected-hover:var(--cds-layer-selected-hover-03, #d1d1d1);--cds-layer-accent:var(--cds-layer-accent-03, #e0e0e0);--cds-layer-accent-hover:var(--cds-layer-accent-hover-03, #d1d1d1);--cds-layer-accent-active:var(--cds-layer-accent-active-03, #a8a8a8);--cds-field:var(--cds-field-03, #f4f4f4);--cds-field-hover:var(--cds-field-hover-03, #e8e8e8);--cds-border-subtle:var(--cds-border-subtle-02, #e0e0e0);--cds-border-subtle-selected:var(--cds-border-subtle-selected-03, #c6c6c6);--cds-border-strong:var(--cds-border-strong-03, #8d8d8d);--cds-border-tile:var(--cds-border-tile-03, #c6c6c6)}.cds--layer-one.cds--layer__with-background,.cds--layer-three.cds--layer__with-background,.cds--layer-two.cds--layer__with-background{background-color:var(--cds-layer-background)}.cds--menu{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--menu *,.cds--menu :after,.cds--menu :before{box-sizing:inherit}.cds--menu{box-shadow:0 2px 6px var(--cds-shadow,rgba(0,0,0,.3));position:fixed;z-index:9000;padding:.25rem 0;background-color:var(--cds-layer);max-inline-size:18rem;min-inline-size:10rem;opacity:0;overflow-y:auto;visibility:hidden}.cds--menu--border{outline:1px solid var(--cds-border-subtle)}.cds--menu--background-token__background{background-color:var(--cds-background,#fff)}.cds--menu--with-icons{min-inline-size:12rem}.cds--menu--open{visibility:visible}.cds--menu--open:focus{outline:1px solid var(--cds-focus,#0f62fe)}@media screen and (prefers-contrast){.cds--menu--open:focus{outline-style:dotted}}.cds--menu:not(.cds--menu--open) .cds--menu--open{visibility:hidden}.cds--menu--shown{overflow:visible;opacity:1}.cds--menu-item{font-size:var(--cds-body-short-01-font-size,.875rem);font-weight:var(--cds-body-short-01-font-weight,400);line-height:var(--cds-body-short-01-line-height,1.28572);letter-spacing:var(--cds-body-short-01-letter-spacing,.16px);display:grid;align-items:center;block-size:2rem;color:var(--cds-text-secondary,#525252);-moz-column-gap:.5rem;column-gap:.5rem;cursor:pointer;grid-template-columns:1fr max-content;padding-inline:1rem;transition:background-color 70ms cubic-bezier(.2,0,.38,.9)}.cds--menu-item:focus{outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds--menu-item:focus{outline-style:dotted}}.cds--menu-item:hover{background-color:var(--cds-layer-hover);color:var(--cds-text-primary,#161616)}.cds--menu--xs .cds--menu-item{block-size:1.5rem}.cds--menu--sm .cds--menu-item{block-size:2rem}.cds--menu--md .cds--menu-item{block-size:2.5rem}.cds--menu--lg .cds--menu-item{block-size:3rem}.cds--menu-item-group>ul,.cds--menu-item-radio-group>ul{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}.cds--menu-item-group>ul *,.cds--menu-item-group>ul :after,.cds--menu-item-group>ul :before,.cds--menu-item-radio-group>ul *,.cds--menu-item-radio-group>ul :after,.cds--menu-item-radio-group>ul :before{box-sizing:inherit}.cds--menu--with-icons>.cds--menu-item,.cds--menu--with-icons>.cds--menu-item-group>ul>.cds--menu-item,.cds--menu--with-icons>.cds--menu-item-radio-group>ul>.cds--menu-item,.cds--menu--with-selectable-items>.cds--menu-item,.cds--menu--with-selectable-items>.cds--menu-item-group>ul>.cds--menu-item,.cds--menu--with-selectable-items>.cds--menu-item-radio-group>ul>.cds--menu-item{grid-template-columns:1rem 1fr max-content}.cds--menu--with-icons>.cds--menu-item-group>ul>.cds--menu-item>.cds--menu-item__icon,.cds--menu--with-icons>.cds--menu-item-radio-group>ul>.cds--menu-item>.cds--menu-item__icon,.cds--menu--with-icons>.cds--menu-item>.cds--menu-item__icon,.cds--menu--with-selectable-items>.cds--menu-item-group>ul>.cds--menu-item>.cds--menu-item__selection-icon,.cds--menu--with-selectable-items>.cds--menu-item-radio-group>ul>.cds--menu-item>.cds--menu-item__selection-icon,.cds--menu--with-selectable-items>.cds--menu-item>.cds--menu-item__selection-icon{display:flex}.cds--menu--with-icons.cds--menu--with-selectable-items>.cds--menu-item,.cds--menu--with-icons.cds--menu--with-selectable-items>.cds--menu-item-group>ul>.cds--menu-item,.cds--menu--with-icons.cds--menu--with-selectable-items>.cds--menu-item-radio-group>ul>.cds--menu-item{grid-template-columns:1rem 1rem 1fr max-content}.cds--menu-item--disabled{color:var(--cds-text-disabled,rgba(22,22,22,.25));cursor:not-allowed}.cds--menu-item--disabled.cds--menu-item--danger:hover,.cds--menu-item--disabled:hover{background-color:var(--cds-layer);color:var(--cds-text-disabled,rgba(22,22,22,.25))}.cds--menu-item--danger:focus,.cds--menu-item--danger:hover{background-color:var(--cds-button-danger-primary,#da1e28);color:var(--cds-text-on-color,#fff)}.cds--menu-item--danger:focus{box-shadow:inset 0 0 0 .1875rem var(--cds-background,#fff)}.cds--menu-item-divider,:host(cds-menu-item-divider){display:block;background-color:var(--cds-border-subtle);block-size:.0625rem;inline-size:100%;margin-block:.25rem}:host(cds-menu-item){font-size:var(--cds-body-short-01-font-size,.875rem);font-weight:var(--cds-body-short-01-font-weight,400);line-height:var(--cds-body-short-01-line-height,1.28572);letter-spacing:var(--cds-body-short-01-letter-spacing,.16px);display:grid;align-items:center;block-size:2rem;color:var(--cds-text-secondary,#525252);-moz-column-gap:.5rem;column-gap:.5rem;cursor:pointer;grid-template-columns:1fr max-content;padding-inline:1rem;transition:background-color 70ms cubic-bezier(.2,0,.38,.9)}:host(cds-menu-item) svg{color:var(--cds-icon-secondary,#525252)}:host(cds-menu-item:focus){outline:2px solid var(--cds-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){:host(cds-menu-item:focus){outline-style:dotted}}:host(cds-menu-item:hover){background-color:var(--cds-layer-hover);color:var(--cds-text-primary,#161616)}:host(cds-menu-item:hover) svg{color:var(--cds-icon-primary,#161616)}:host(cds-menu-item-group)>ul,:host(cds-menu-item-radio-group)>ul{box-sizing:border-box;padding:0;border:0;margin:0;font-family:inherit;font-size:100%;vertical-align:baseline}:host(cds-menu-item-group)>ul *,:host(cds-menu-item-group)>ul :after,:host(cds-menu-item-group)>ul :before,:host(cds-menu-item-radio-group)>ul *,:host(cds-menu-item-radio-group)>ul :after,:host(cds-menu-item-radio-group)>ul :before{box-sizing:inherit}.cds--menu-item__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cds--menu-item__shortcut{display:flex}.cds--menu-item__icon{display:var(--child-icon-property,none)}:host([aria-disabled=true]){color:var(--cds-text-disabled,rgba(22,22,22,.25));cursor:not-allowed}:host([aria-disabled=true]) :where(*){color:inherit}:host([aria-disabled=true].cds--menu-item--danger:hover),:host([aria-disabled=true]:hover){background-color:var(--cds-layer);color:var(--cds-text-disabled,rgba(22,22,22,.25))}:host(.cds--menu-item--danger:focus),:host(.cds--menu-item--danger:hover){background-color:var(--cds-button-danger-primary,#da1e28);color:var(--cds-text-on-color,#fff)}:host(.cds--menu-item--danger:focus){box-shadow:inset 0 0 0 .1875rem var(--cds-background,#fff)}.cds--menu-item__icon,.cds--menu-item__selection-icon{display:none}:host(cds-menu-item){block-size:var(--block-size-value);grid-template-columns:var(--grid-template)}:host(cds-menu-item) .cds--menu-item__icon{display:var(--display-icon-item)}.cds--menu-item__selection-icon{display:var(--display-selection-icon)}span[slot=render-icon]{display:flex}"]);
11
11
  //#endregion
12
12
  export { menu_item_default as default };
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.scss.js","names":[],"sources":["../../../src/components/menu/menu-item.scss?lit"],"sourcesContent":["//\n// Copyright IBM Corp. 2024\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n$css--plex: true !default;\n\n@use '@carbon/styles/scss/config' as *;\n@use '@carbon/styles/scss/type' as *;\n@use '@carbon/styles/scss/spacing' as *;\n@use '@carbon/styles/scss/theme' as *;\n@use '@carbon/styles/scss/motion' as *;\n@use '@carbon/styles/scss/utilities' as *;\n@use '@carbon/styles/scss/components/button/tokens' as button-tokens;\n@use '@carbon/styles/scss/utilities/convert' as *;\n@use '@carbon/styles/scss/components/menu' as *;\n@use '@carbon/styles/scss/utilities/component-reset';\n\n:host(#{$prefix}-menu-item) {\n @include type-style('body-short-01');\n\n display: grid;\n align-items: center;\n block-size: $spacing-07;\n color: $text-secondary;\n column-gap: $spacing-03;\n cursor: pointer;\n grid-template-columns: 1fr max-content;\n padding-inline: $spacing-05;\n transition: background-color $duration-fast-01 motion(standard, productive);\n\n svg {\n color: $icon-secondary;\n }\n}\n:host(#{$prefix}-menu-item:focus) {\n @include focus-outline('outline');\n}\n:host(#{$prefix}-menu-item-divider) {\n @extend .#{$prefix}--menu-item-divider;\n}\n\n:host(#{$prefix}-menu-item:hover) {\n background-color: $layer-hover;\n color: $text-primary;\n\n svg {\n color: $icon-primary;\n }\n}\n:host(#{$prefix}-menu-item-group),\n:host(#{$prefix}-menu-item-radio-group) {\n > ul {\n @include component-reset.reset;\n }\n}\n\n.#{$prefix}--menu-item__label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.#{$prefix}--menu-item__shortcut {\n display: flex;\n}\n\n.#{$prefix}--menu-item__icon {\n display: var(--child-icon-property, none);\n}\n\n:host([aria-disabled='true']) {\n color: $text-disabled;\n cursor: not-allowed;\n}\n\n:host([aria-disabled='true']) :where(*) {\n color: inherit;\n}\n\n:host([aria-disabled='true']:hover),\n:host([aria-disabled='true'].#{$prefix}--menu-item--danger:hover) {\n background-color: $layer;\n color: $text-disabled;\n}\n\n:host(.#{$prefix}--menu-item--danger:hover),\n:host(.#{$prefix}--menu-item--danger:focus) {\n background-color: button-tokens.$button-danger-primary;\n color: $text-on-color;\n}\n\n:host(.#{$prefix}--menu-item--danger:focus) {\n box-shadow: inset 0 0 0 to-rem(3px) $background;\n}\n\n.#{$prefix}--menu-item__icon,\n.#{$prefix}--menu-item__selection-icon {\n display: none;\n}\n\n:host(#{$prefix}-menu-item) {\n block-size: var(--block-size-value);\n grid-template-columns: var(--grid-template);\n .#{$prefix}--menu-item__icon {\n display: var(--display-icon-item);\n }\n}\n.#{$prefix}--menu-item__selection-icon {\n display: var(--display-selection-icon);\n}\n\nspan[slot='render-icon'] {\n display: flex;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"menu-item.scss.js","names":[],"sources":["../../../src/components/menu/menu-item.scss?lit"],"sourcesContent":["//\n// Copyright IBM Corp. 2024, 2026\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n$css--plex: true !default;\n\n@use '@carbon/styles/scss/config' as *;\n@use '@carbon/styles/scss/type' as *;\n@use '@carbon/styles/scss/spacing' as *;\n@use '@carbon/styles/scss/theme' as *;\n@use '@carbon/styles/scss/motion' as *;\n@use '@carbon/styles/scss/utilities' as *;\n@use '@carbon/styles/scss/components/button/tokens' as button-tokens;\n@use '@carbon/styles/scss/utilities/convert' as *;\n@use '@carbon/styles/scss/components/menu' as *;\n@use '@carbon/styles/scss/utilities/component-reset';\n@use '@carbon/styles/scss/border-radius' as *;\n@use '@carbon/styles/scss/feature-flags' as flags;\n\n:host(#{$prefix}-menu-item) {\n @include type-style('body-short-01');\n\n display: grid;\n align-items: center;\n block-size: $spacing-07;\n color: $text-secondary;\n column-gap: $spacing-03;\n cursor: pointer;\n grid-template-columns: 1fr max-content;\n padding-inline: $spacing-05;\n transition: background-color $duration-fast-01 motion(standard, productive);\n\n svg {\n color: $icon-secondary;\n }\n\n @if flags.enabled('enable-v12-release') {\n border-radius: $border-radius-04;\n padding-inline: $spacing-04;\n }\n}\n\n:host(#{$prefix}-menu-item:focus) {\n @include focus-outline('outline');\n}\n:host(#{$prefix}-menu-item-divider) {\n @extend .#{$prefix}--menu-item-divider;\n}\n\n:host(#{$prefix}-menu-item:hover) {\n background-color: $layer-hover;\n color: $text-primary;\n\n svg {\n color: $icon-primary;\n }\n}\n:host(#{$prefix}-menu-item-group),\n:host(#{$prefix}-menu-item-radio-group) {\n > ul {\n @include component-reset.reset;\n }\n}\n\n.#{$prefix}--menu-item__label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.#{$prefix}--menu-item__shortcut {\n display: flex;\n}\n\n.#{$prefix}--menu-item__icon {\n display: var(--child-icon-property, none);\n}\n\n:host([aria-disabled='true']) {\n color: $text-disabled;\n cursor: not-allowed;\n}\n\n:host([aria-disabled='true']) :where(*) {\n color: inherit;\n}\n\n:host([aria-disabled='true']:hover),\n:host([aria-disabled='true'].#{$prefix}--menu-item--danger:hover) {\n background-color: $layer;\n color: $text-disabled;\n}\n\n:host(.#{$prefix}--menu-item--danger:hover),\n:host(.#{$prefix}--menu-item--danger:focus) {\n background-color: button-tokens.$button-danger-primary;\n color: $text-on-color;\n}\n\n:host(.#{$prefix}--menu-item--danger:focus) {\n box-shadow: inset 0 0 0 to-rem(3px) $background;\n}\n\n.#{$prefix}--menu-item__icon,\n.#{$prefix}--menu-item__selection-icon {\n display: none;\n}\n\n:host(#{$prefix}-menu-item) {\n block-size: var(--block-size-value);\n grid-template-columns: var(--grid-template);\n .#{$prefix}--menu-item__icon {\n display: var(--display-icon-item);\n }\n}\n.#{$prefix}--menu-item__selection-icon {\n display: var(--display-selection-icon);\n}\n\nspan[slot='render-icon'] {\n display: flex;\n}\n"],"mappings":""}
@@ -143,6 +143,16 @@ declare class CDSMenu extends CDSMenu_base {
143
143
  _notEmpty: (value: number | null | undefined) => value is number;
144
144
  _fitValue: (range: number[], axis: "x" | "y") => number;
145
145
  _getPosition: (x: number | (number | null | undefined)[]) => number[] | undefined;
146
+ _isRtlDirection: () => boolean;
147
+ /**
148
+ * Converts a measured viewport range into distances from the viewport's
149
+ * inline start.
150
+ *
151
+ * Endpoints swap in rtl because mirroring reverses their order: a box's left
152
+ * edge is the nearer edge measured from the left, but the farther edge
153
+ * measured from the right.
154
+ */
155
+ _toInlineRange: (range: number[]) => number[];
146
156
  _calculatePosition: () => number[];
147
157
  _handleOpen: () => Promise<void>;
148
158
  dispatchCloseEvent: (e?: Event) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/components/menu/menu.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAQvC,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,WAAsC,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB;;;;;GAKG;AAEH,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B,CAAC;;;;;;;;;;uBAd4C,CAAC;;;;;AAgB/C,cACM,OAAQ,SAAQ,YAA6B;IAGjD,OAAO;uCAE0B,iBAAiB;;;;MAMhD;IAEF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAK;IAE7B;;OAEG;IAEH,OAAO,CAAC,YAAY,CAAC,CAAc;IAEnC;;OAEG;IAEH,OAAO,CAAC,YAAY,CAAC,CAAkB;IAEvC;;OAEG;IAEH,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,CAAM;IAElC;;OAEG;IAEH,WAAW,EAAE,cAAc,EAAE,CAAM;IAEnC;;OAEG;IAEH,KAAK,MAAC;IACN;;OAEG;IAEH,OAAO,UAAS;IAChB;;OAEG;IAEH,iBAAiB,MAAC;IAClB;;OAEG;IAEH,KAAK,UAAS;IACd;;OAEG;IAEH,MAAM,UAAQ;IAEd;;OAEG;IAEH,SAAS,SAAS;IAClB;;OAEG;IAEH,IAAI,UAAS;IACb;;OAEG;IAEH,WAAW,MAAC;IACZ;;OAEG;IAEH,QAAQ,WAAY;IACpB;;OAEG;IAEH,IAAI,YAAmB;IACvB;;;;OAIG;IAEH,IAAI,MAAC;IAEL;;OAEG;IAEH,eAAe,wBAA+B;IAE9C;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,aAAa,MAAC;IACd;;OAEG;IAEH,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAK;IACzB;;OAEG;IAEH,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAK;IAKzB,OAAO,CAAC,WAAW,CASjB;IAEF;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IACD;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IACD,OAAO,CAAC,iBAAiB,KAAA;IASzB,iBAAiB;IAWjB,oBAAoB;IAOd,YAAY;IAgBlB,MAAM;IAiCN,cAAc,GAAI,GAAG,aAAa,UAehC;IAEF,UAAU,GAAI,GAAG,aAAa,GAAG,SAAS,UAsCxC;IACF,8BAA8B,GAAI,eAAU,SAY1C;IAEF,SAAS,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,qBAE3C;IACF,SAAS,GAAI,OAAO,MAAM,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,YAkF3C;IACF,YAAY,GAAI,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,0BAYvD;IACF,kBAAkB,iBAahB;IACF,WAAW,sBA8BT;IACF,kBAAkB,GAAI,IAAI,KAAK,UAmB7B;IACF,OAAO,CAAC,YAAY,CAKlB;IACF,OAAO,CAAC,uBAAuB,CAQ7B;IACF,iBAAiB,aAMf;IACF,kBAAkB,aAgBhB;IACF,eAAe,aAqDb;IACF,MAAM,CAAC,MAAM,MAAU;CACxB;AACD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/components/menu/menu.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAQvC,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,WAAsC,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB;;;;;GAKG;AAEH,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B,CAAC;;;;;;;;;;uBAfoC,CAAC;;;;;AAiBvC,cACM,OAAQ,SAAQ,YAA6B;IAGjD,OAAO;uCAE0B,iBAAiB;;;;MAMhD;IAEF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAK;IAE7B;;OAEG;IAEH,OAAO,CAAC,YAAY,CAAC,CAAc;IAEnC;;OAEG;IAEH,OAAO,CAAC,YAAY,CAAC,CAAkB;IAEvC;;OAEG;IAEH,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,CAAM;IAElC;;OAEG;IAEH,WAAW,EAAE,cAAc,EAAE,CAAM;IAEnC;;OAEG;IAEH,KAAK,MAAC;IACN;;OAEG;IAEH,OAAO,UAAS;IAChB;;OAEG;IAEH,iBAAiB,MAAC;IAClB;;OAEG;IAEH,KAAK,UAAS;IACd;;OAEG;IAEH,MAAM,UAAQ;IAEd;;OAEG;IAEH,SAAS,SAAS;IAClB;;OAEG;IAEH,IAAI,UAAS;IACb;;OAEG;IAEH,WAAW,MAAC;IACZ;;OAEG;IAEH,QAAQ,WAAY;IACpB;;OAEG;IAEH,IAAI,YAAmB;IACvB;;;;OAIG;IAEH,IAAI,MAAC;IAEL;;OAEG;IAEH,eAAe,wBAA+B;IAE9C;;OAEG;IAEH,MAAM,UAAS;IAEf;;OAEG;IAEH,aAAa,MAAC;IACd;;OAEG;IAEH,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAK;IACzB;;OAEG;IAEH,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAK;IAKzB,OAAO,CAAC,WAAW,CASjB;IAEF;;OAEG;IACH,MAAM,KAAK,YAAY,WAEtB;IACD;;OAEG;IACH,MAAM,KAAK,WAAW,WAErB;IACD,OAAO,CAAC,iBAAiB,KAAA;IASzB,iBAAiB;IAWjB,oBAAoB;IAOd,YAAY;IAgBlB,MAAM;IAmCN,cAAc,GAAI,GAAG,aAAa,UAehC;IAEF,UAAU,GAAI,GAAG,aAAa,GAAG,SAAS,UAsCxC;IACF,8BAA8B,GAAI,eAAU,SAY1C;IAEF,SAAS,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,qBAE3C;IACF,SAAS,GAAI,OAAO,MAAM,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,YA4F3C;IACF,YAAY,GAAI,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,0BAYvD;IAEF,eAAe,gBAIb;IAEF;;;;;;;OAOG;IACH,cAAc,GAAI,OAAO,MAAM,EAAE,cAO/B;IAEF,kBAAkB,iBAkBhB;IACF,WAAW,sBAyBT;IACF,kBAAkB,GAAI,IAAI,KAAK,UAmB7B;IACF,OAAO,CAAC,YAAY,CAKlB;IACF,OAAO,CAAC,uBAAuB,CAQ7B;IACF,iBAAiB,aAMf;IACF,kBAAkB,aAgBhB;IACF,eAAe,aAqDb;IACF,MAAM,CAAC,MAAM,MAAU;CACxB;AACD,eAAe,OAAO,CAAC"}
@@ -14,6 +14,7 @@ import menu_default$1 from "./menu.scss.js";
14
14
  import { MenuContext, menuDefaultState } from "./menu-context.js";
15
15
  import { MENU_SIZE } from "./defs.js";
16
16
  import { MENU_CLOSE_ROOT_EVENT } from "./menu-item.js";
17
+ import { isFeatureFlagEnabled } from "../feature-flags/index.js";
17
18
  import { LitElement, html } from "lit";
18
19
  import { property, query, state } from "lit/decorators.js";
19
20
  import { classMap } from "lit/directives/class-map.js";
@@ -95,13 +96,14 @@ let CDSMenu = class CDSMenu extends HostListenerMixin(LitElement) {
95
96
  const { isRoot } = this.context;
96
97
  const { width, height } = (this._menuElement ?? this).getBoundingClientRect();
97
98
  const alignment = isRoot ? "vertical" : "horizontal";
99
+ const submenuOffset = isRoot ? 0 : isFeatureFlagEnabled("enable-v12-release", this) ? -6 : -2;
98
100
  const axes = {
99
101
  x: {
100
102
  max: window.innerWidth,
101
103
  size: width,
102
104
  anchor: alignment === "horizontal" ? range[1] : range[0],
103
105
  reversedAnchor: alignment === "horizontal" ? range[0] : range[1],
104
- offset: 0
106
+ offset: submenuOffset
105
107
  },
106
108
  y: {
107
109
  max: window.innerHeight,
@@ -135,23 +137,27 @@ let CDSMenu = class CDSMenu extends HostListenerMixin(LitElement) {
135
137
  else return;
136
138
  } else return [x, x];
137
139
  };
140
+ this._isRtlDirection = () => {
141
+ return this.direction === "rtl" || getComputedStyle(this).direction === "rtl";
142
+ };
143
+ this._toInlineRange = (range) => {
144
+ if (!this._isRtlDirection()) return range;
145
+ const max = window.innerWidth;
146
+ return [max - range[1], max - range[0]];
147
+ };
138
148
  this._calculatePosition = () => {
139
149
  const ranges = {
140
150
  x: this._getPosition(this.x),
141
151
  y: this._getPosition(this.y)
142
152
  };
143
153
  if (!ranges.x || !ranges.y) return [-1, -1];
144
- return [this._fitValue(ranges.x, "x") ?? -1, this._fitValue(ranges.y, "y") ?? -1];
154
+ const x = this.context.isRoot ? ranges.x : this._toInlineRange(ranges.x);
155
+ return [this._fitValue(x, "x") ?? -1, this._fitValue(ranges.y, "y") ?? -1];
145
156
  };
146
157
  this._handleOpen = async () => {
147
158
  const pos = this._calculatePosition();
148
- if (this.isRtl) {
149
- this.style.insetInlineStart = `initial`;
150
- this.style.insetInlineEnd = `${pos[0]}px`;
151
- } else {
152
- this.style.insetInlineStart = `${pos[0]}px`;
153
- this.style.insetInlineEnd = `initial`;
154
- }
159
+ this.style.insetInlineStart = `${pos[0]}px`;
160
+ this.style.insetInlineEnd = `initial`;
155
161
  this.style.insetBlockStart = `${pos[1]}px`;
156
162
  this.position = pos;
157
163
  await this.updateComplete;
@@ -273,7 +279,7 @@ let CDSMenu = class CDSMenu extends HostListenerMixin(LitElement) {
273
279
  super.disconnectedCallback();
274
280
  }
275
281
  async firstUpdated() {
276
- this.isRtl = this.direction === "rtl";
282
+ this.isRtl = this._isRtlDirection();
277
283
  this.isRoot = this.context.isRoot;
278
284
  if (this.isChild) this._newContextCreate();
279
285
  await this.updateComplete;
@@ -295,7 +301,7 @@ let CDSMenu = class CDSMenu extends HostListenerMixin(LitElement) {
295
301
  [`cds--menu--open`]: open,
296
302
  [`cds--menu--shown`]: position[0] >= 0 && position[1] >= 0,
297
303
  [`cds--menu--with-selectable-items`]: this.context.hasSelectableItems,
298
- [`cds--menu--border`]: this.border,
304
+ [`cds--menu--border`]: this.border || isFeatureFlagEnabled("enable-v12-release", this),
299
305
  [`cds--menu--background-token__background`]: this.backgroundToken === "background"
300
306
  })}"
301
307
  aria-label="${label}"
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","names":["styles","customElement"],"sources":["../../../src/components/menu/menu.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2024, 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 { prefix } from '../../globals/settings';\nimport { property, state, query } from 'lit/decorators.js';\nimport styles from './menu.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { classMap } from 'lit/directives/class-map.js';\nimport {\n MenuContext,\n menuDefaultState,\n type MenuContextUpdate,\n} from './menu-context';\nimport CDSmenuItem, { MENU_CLOSE_ROOT_EVENT } from './menu-item';\nimport { consume, provide } from '@lit/context';\nimport { MENU_BACKGROUND_TOKEN, MENU_SIZE } from './defs';\n\nexport { MENU_SIZE };\n\n/**\n * Menu.\n *\n * @element cds-menu\n * @deprecated Menus now always support both icons as well as selectable items and nesting.\n */\n\ntype activeItemType = {\n item: CDSmenuItem;\n parent: HTMLElement | null;\n};\n\n@customElement(`${prefix}-menu`)\nclass CDSMenu extends HostListenerMixin(LitElement) {\n @provide({ context: MenuContext })\n @consume({ context: MenuContext })\n context = {\n ...menuDefaultState,\n updateFromChild: (updatedItem: MenuContextUpdate) => {\n this.context = {\n ...this.context,\n ...updatedItem,\n };\n },\n };\n\n readonly spacing: number = 8; // distance to keep to window edges, in px\n\n /**\n * The menu element in the shadow DOM.\n */\n @query(`.${prefix}--menu`)\n private _menuElement?: HTMLElement;\n\n /**\n * The default slot element in the shadow DOM.\n */\n @query('slot')\n private _slotElement?: HTMLSlotElement;\n\n /**\n * Items.\n */\n @state()\n items: Element[] | undefined = [];\n\n /**\n * Active list Items.\n */\n @state()\n activeitems: activeItemType[] = [];\n\n /**\n * Label for the menu.\n */\n @property({ type: String })\n label;\n /**\n * Parent state.\n */\n @property({ type: Boolean })\n isChild = false;\n /**\n * Action button width.\n */\n @property()\n actionButtonWidth;\n /**\n * Checks if document direction is rtl.\n */\n @property({ type: Boolean })\n isRtl = false;\n /**\n * Checks if Menu is root menu or not.\n */\n @property({ type: Boolean })\n isRoot = true;\n\n /**\n * Document direction.\n */\n @property({ type: String })\n direction = 'ltr';\n /**\n * Open value for the menu.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n /**\n * Active element in the DOM.\n */\n @property({ type: HTMLElement })\n focusreturn;\n /**\n * Position of the Menu.\n */\n @property()\n position = [-1, -1];\n /**\n * Size attribute.\n */\n @property({ attribute: true })\n size = MENU_SIZE.SMALL;\n /**\n * Deprecated: Menus now always support both icons as well as selectable items and nesting. The mode of this menu. Defaults to full. full supports nesting and selectable menu items, but no icons. basic supports icons but no nesting or selectable menu items.\n\n This prop is not intended for use and will be set by the respective implementation (like useContextMenu, MenuButton, and ComboButton).\n */\n @property()\n mode;\n\n /**\n * Specify the background token to use. Default is 'layer'.\n */\n @property({ type: String, attribute: 'background-token' })\n backgroundToken = MENU_BACKGROUND_TOKEN.LAYER;\n\n /**\n * Specify whether a border should be rendered on the menu\n */\n @property({ type: Boolean })\n border = false;\n\n /**\n * Specify how the menu should align with the button element\n */\n @property({ type: String })\n menuAlignment;\n /**\n * Position of the Menu in X axis.\n */\n @property()\n x: number | number[] = 0;\n /**\n * Position of the Menu in Y axis.\n */\n @property()\n y: number | number[] = 0;\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur = (e: FocusEvent) => {\n const { isRoot } = this.context;\n // Close the menu if all of the following are met:\n // * The menu is open\n // * The focusout event is on the root menu\n // * Focus is moving outside the menu\n if (this.open && isRoot && !this.contains(e.relatedTarget as Node)) {\n this.dispatchCloseEvent(e);\n }\n };\n\n /**\n * The name of the custom event fired when the the Menu should be closed.\n */\n static get eventOnClose() {\n return `${prefix}-menu-closed`;\n }\n /**\n * The name of the custom event fired when the the Menu should be opened.\n */\n static get eventOnOpen() {\n return `${prefix}-menu-opened`;\n }\n updated(changedProperties) {\n if (changedProperties.has('open')) {\n if (this.open) {\n this._handleOpen();\n } else {\n this._handleClose();\n }\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('icon-detect', () => {\n this._menuElement?.classList.add(`${prefix}--menu--with-icons`);\n });\n this.addEventListener(\n MENU_CLOSE_ROOT_EVENT,\n this._handleRootCloseRequest as EventListener\n );\n }\n\n disconnectedCallback() {\n this.removeEventListener(\n MENU_CLOSE_ROOT_EVENT,\n this._handleRootCloseRequest as EventListener\n );\n super.disconnectedCallback();\n }\n async firstUpdated() {\n this.isRtl = this.direction === 'rtl';\n this.isRoot = this.context.isRoot;\n\n if (this.isChild) {\n this._newContextCreate();\n }\n await this.updateComplete;\n this._registerMenuItems();\n this._setActiveItems();\n\n this._slotElement?.addEventListener('slotchange', () => {\n this._registerMenuItems();\n this._setActiveItems();\n });\n }\n render() {\n const {\n open,\n menuAlignment,\n label,\n position,\n _handleKeyDown: handleKeyDown,\n } = this;\n const menuClasses = classMap({\n [`${prefix}--menu`]: true,\n [`${prefix}--menu--${this.size}`]: this.size,\n [`${prefix}--menu--box-shadow-top`]:\n menuAlignment && menuAlignment.slice(0, 3) === 'top',\n [`${prefix}--menu--open`]: open,\n [`${prefix}--menu--shown`]: position[0] >= 0 && position[1] >= 0,\n [`${prefix}--menu--with-selectable-items`]:\n this.context.hasSelectableItems,\n [`${prefix}--menu--border`]: this.border,\n [`${prefix}--menu--background-token__background`]:\n this.backgroundToken === MENU_BACKGROUND_TOKEN.BACKGROUND,\n });\n return html`\n <ul\n class=\"${menuClasses}\"\n aria-label=\"${label}\"\n tabindex=\"-1\"\n @keydown=\"${handleKeyDown}\"\n role=\"menu\">\n <slot></slot>\n </ul>\n `;\n }\n\n _handleKeyDown = (e: KeyboardEvent) => {\n const { isRoot } = this.context;\n e.stopPropagation();\n // if the user presses escape or this is a submenu\n // and the user presses ArrowLeft, close it\n\n if (e.key === 'Escape' || (!isRoot && e.key === 'ArrowLeft')) {\n this.dispatchCloseEvent(e);\n } else {\n // Prevent scrolling when navigating menu items\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n e.preventDefault();\n }\n this._focusItem(e);\n }\n };\n\n _focusItem = (e: KeyboardEvent | undefined) => {\n let currentItem: number;\n\n if (document.activeElement?.tagName !== 'CDS-MENU') {\n const shadowRootActiveEl = this._findActiveElementInShadowRoot(document);\n currentItem = this.activeitems.findIndex((activeItem) => {\n return (\n shadowRootActiveEl == activeItem.item ||\n activeItem.item.shadowRoot?.activeElement === shadowRootActiveEl\n );\n });\n } else {\n currentItem = 0;\n }\n\n let indexToFocus = currentItem;\n // if currentItem is -1, no menu item is focused yet.\n // in this case, the first item should receive focus.\n if (currentItem === -1) {\n indexToFocus = 0;\n } else if (e) {\n if (e.key === 'ArrowUp') {\n indexToFocus = indexToFocus - 1;\n }\n if (e.key === 'ArrowDown') {\n indexToFocus = indexToFocus + 1;\n }\n }\n if (indexToFocus < 0) {\n indexToFocus = this.activeitems.length - 1;\n }\n if (indexToFocus >= this.activeitems.length) {\n indexToFocus = 0;\n }\n\n if (indexToFocus !== currentItem) {\n this.activeitems[indexToFocus]?.item?.focus();\n }\n };\n _findActiveElementInShadowRoot = (shadowRoot) => {\n if (shadowRoot === null) return null;\n\n let activeElement = shadowRoot.activeElement;\n while (\n activeElement &&\n activeElement.shadowRoot &&\n activeElement.shadowRoot.activeElement\n ) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n };\n\n _notEmpty = (value: number | null | undefined) => {\n return value !== null && value !== undefined;\n };\n _fitValue = (range: number[], axis: 'x' | 'y') => {\n const { isRoot } = this.context;\n\n // const isRoot = false\n const { width, height } = (\n this._menuElement ?? this\n ).getBoundingClientRect();\n const alignment = isRoot ? 'vertical' : 'horizontal';\n const axes = {\n x: {\n max: window.innerWidth,\n size: width,\n anchor: alignment === 'horizontal' ? range[1] : range[0],\n reversedAnchor: alignment === 'horizontal' ? range[0] : range[1],\n offset: 0,\n },\n y: {\n max: window.innerHeight,\n size: height,\n anchor: alignment === 'horizontal' ? range[0] : range[1],\n reversedAnchor: alignment === 'horizontal' ? range[1] : range[0],\n offset: isRoot ? 0 : 4, // top padding in menu, used to align the menu items\n },\n };\n\n // Avoid that the Menu render incorrectly when the postion is set in the right side of the screen\n if (\n this.actionButtonWidth &&\n this.actionButtonWidth < axes.x.size &&\n (this.menuAlignment === 'bottom' || this.menuAlignment === 'top')\n ) {\n axes.x.size = this.actionButtonWidth;\n }\n\n // if 'axes.x.anchor' is lower than 87px dynamically switch render side\n if (\n this.actionButtonWidth &&\n (this.menuAlignment === 'bottom-end' ||\n this.menuAlignment === 'top-end') &&\n axes.x.anchor >= 87 &&\n this.actionButtonWidth < axes.x.size\n ) {\n const diff = axes.x.anchor + axes.x.reversedAnchor;\n axes.x.anchor = axes.x.anchor + diff;\n }\n\n const { max, size, anchor, reversedAnchor, offset } = axes[axis];\n\n // get values for different scenarios, set to false if they don't work\n const options = [\n // towards max (preferred)\n max - this.spacing - size - anchor >= 0 ? anchor - offset : false,\n\n // towards min / reversed (first fallback)\n reversedAnchor - size >= 0 ? reversedAnchor - size + offset : false,\n\n // align at max (second fallback)\n max - this.spacing - size,\n ];\n const topAlignment =\n this.menuAlignment === 'top' ||\n this.menuAlignment === 'top-end' ||\n this.menuAlignment === 'top-start';\n // If the tooltip is not visible in the top, switch to the bototm\n if (\n typeof options[0] === 'number' &&\n topAlignment &&\n options[0] >= 0 &&\n !options[1] &&\n axis === 'y'\n ) {\n this.style.transform = 'translate(0)';\n } else if (topAlignment && !options[0] && axis === 'y') {\n options[0] = anchor - offset;\n }\n\n // Previous array `options`, has at least one item that is a number (the last one - second fallback).\n // That guarantees that the return of `find()` will always be a number\n // and we can safely add the numeric casting `as number`.\n const bestOption = options.find((option) => option !== false) as number;\n\n return bestOption >= this.spacing ? bestOption : this.spacing;\n };\n _getPosition = (x: number | (number | null | undefined)[]) => {\n if (Array.isArray(x)) {\n // has to be of length 2\n const filtered = x.filter(this._notEmpty);\n if (filtered.length === 2) {\n return filtered;\n } else {\n return;\n }\n } else {\n return [x, x];\n }\n };\n _calculatePosition = () => {\n const ranges = {\n x: this._getPosition(this.x),\n y: this._getPosition(this.y),\n };\n\n if (!ranges.x || !ranges.y) {\n return [-1, -1];\n }\n return [\n this._fitValue(ranges.x as number[], 'x') ?? -1,\n this._fitValue(ranges.y as number[], 'y') ?? -1,\n ];\n };\n _handleOpen = async () => {\n const pos = this._calculatePosition();\n if (this.isRtl) {\n this.style.insetInlineStart = `initial`;\n this.style.insetInlineEnd = `${pos[0]}px`;\n } else {\n this.style.insetInlineStart = `${pos[0]}px`;\n this.style.insetInlineEnd = `initial`;\n }\n this.style.insetBlockStart = `${pos[1]}px`;\n this.position = pos;\n\n await this.updateComplete;\n this._registerMenuItems();\n this._setActiveItems();\n\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n };\n if (\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSMenu).eventOnOpen, init)\n )\n ) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSMenu).eventOnOpen, init)\n );\n }\n };\n dispatchCloseEvent = (e?: Event) => {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: e?.target,\n triggerEventType: e?.type,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSMenu).eventOnClose, init)\n )\n ) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSMenu).eventOnClose, init)\n );\n }\n };\n private _handleClose = () => {\n this.position = [-1, -1];\n this.style.removeProperty('inset-inline-start');\n this.style.removeProperty('inset-inline-end');\n this.style.removeProperty('inset-block-start');\n };\n private _handleRootCloseRequest = (\n event: CustomEvent<{ triggerEvent?: Event }>\n ) => {\n if (!this.context?.isRoot) {\n return;\n }\n\n this.dispatchCloseEvent(event.detail?.triggerEvent ?? event);\n };\n _newContextCreate = () => {\n this.context = {\n ...this.context,\n isRoot: false,\n size: this.size,\n };\n };\n _registerMenuItems = () => {\n let items;\n if (this.isChild) {\n const submenuSlot = this.querySelector(\n 'slot[name=\"submenu\"]'\n ) as HTMLSlotElement | null;\n items = submenuSlot?.assignedElements() ?? [];\n } else {\n items = this._slotElement?.assignedElements() ?? [];\n }\n this.items = items?.filter((item) => {\n if (item.tagName === 'CDS-MENU-ITEM') {\n return !(item as CDSmenuItem).disabled;\n }\n return item.tagName !== 'CDS-MENU-ITEM-DIVIDER';\n });\n };\n _setActiveItems = () => {\n this.activeitems = [];\n\n this.items?.map((item) => {\n let activeItem: activeItemType;\n switch (item.tagName) {\n case 'CDS-MENU-ITEM-RADIO-GROUP': {\n const slotElements = item.querySelectorAll(`${prefix}-menu-item`);\n if (slotElements?.length) {\n for (const entry of slotElements.entries()) {\n activeItem = {\n item: entry[1] as CDSmenuItem,\n parent: item as HTMLElement,\n };\n this.activeitems = [...this.activeitems, activeItem];\n }\n }\n break;\n }\n case 'CDS-MENU-ITEM-GROUP': {\n const slotElements = item.shadowRoot\n ?.querySelector('slot')\n ?.assignedElements();\n slotElements?.map((el) => {\n activeItem = {\n item: el as CDSmenuItem,\n parent: el as HTMLElement,\n };\n this.activeitems = [...this.activeitems, activeItem];\n });\n break;\n }\n case 'CDS-MENU-ITEM-SELECTABLE': {\n activeItem = {\n item: item.shadowRoot?.querySelector(\n `${prefix}-menu-item`\n ) as CDSmenuItem,\n parent: item as HTMLElement,\n };\n this.activeitems = [...this.activeitems, activeItem];\n break;\n }\n default: {\n activeItem = {\n item: item as CDSmenuItem,\n parent: null,\n };\n this.activeitems = [...this.activeitems, activeItem];\n }\n }\n });\n const activeEl = this.activeitems[0]?.item ?? document.activeElement;\n activeEl.focus();\n };\n static styles = styles;\n}\nexport default CDSMenu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"menu.js","names":["styles","customElement"],"sources":["../../../src/components/menu/menu.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2024, 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 { prefix } from '../../globals/settings';\nimport { property, state, query } from 'lit/decorators.js';\nimport styles from './menu.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { classMap } from 'lit/directives/class-map.js';\nimport {\n MenuContext,\n menuDefaultState,\n type MenuContextUpdate,\n} from './menu-context';\nimport CDSmenuItem, { MENU_CLOSE_ROOT_EVENT } from './menu-item';\nimport { isFeatureFlagEnabled } from '../feature-flags';\nimport { consume, provide } from '@lit/context';\nimport { MENU_BACKGROUND_TOKEN, MENU_SIZE } from './defs';\n\nexport { MENU_SIZE };\n\n/**\n * Menu.\n *\n * @element cds-menu\n * @deprecated Menus now always support both icons as well as selectable items and nesting.\n */\n\ntype activeItemType = {\n item: CDSmenuItem;\n parent: HTMLElement | null;\n};\n\n@customElement(`${prefix}-menu`)\nclass CDSMenu extends HostListenerMixin(LitElement) {\n @provide({ context: MenuContext })\n @consume({ context: MenuContext })\n context = {\n ...menuDefaultState,\n updateFromChild: (updatedItem: MenuContextUpdate) => {\n this.context = {\n ...this.context,\n ...updatedItem,\n };\n },\n };\n\n readonly spacing: number = 8; // distance to keep to window edges, in px\n\n /**\n * The menu element in the shadow DOM.\n */\n @query(`.${prefix}--menu`)\n private _menuElement?: HTMLElement;\n\n /**\n * The default slot element in the shadow DOM.\n */\n @query('slot')\n private _slotElement?: HTMLSlotElement;\n\n /**\n * Items.\n */\n @state()\n items: Element[] | undefined = [];\n\n /**\n * Active list Items.\n */\n @state()\n activeitems: activeItemType[] = [];\n\n /**\n * Label for the menu.\n */\n @property({ type: String })\n label;\n /**\n * Parent state.\n */\n @property({ type: Boolean })\n isChild = false;\n /**\n * Action button width.\n */\n @property()\n actionButtonWidth;\n /**\n * Checks if document direction is rtl.\n */\n @property({ type: Boolean })\n isRtl = false;\n /**\n * Checks if Menu is root menu or not.\n */\n @property({ type: Boolean })\n isRoot = true;\n\n /**\n * Document direction.\n */\n @property({ type: String })\n direction = 'ltr';\n /**\n * Open value for the menu.\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n /**\n * Active element in the DOM.\n */\n @property({ type: HTMLElement })\n focusreturn;\n /**\n * Position of the Menu.\n */\n @property()\n position = [-1, -1];\n /**\n * Size attribute.\n */\n @property({ attribute: true })\n size = MENU_SIZE.SMALL;\n /**\n * Deprecated: Menus now always support both icons as well as selectable items and nesting. The mode of this menu. Defaults to full. full supports nesting and selectable menu items, but no icons. basic supports icons but no nesting or selectable menu items.\n\n This prop is not intended for use and will be set by the respective implementation (like useContextMenu, MenuButton, and ComboButton).\n */\n @property()\n mode;\n\n /**\n * Specify the background token to use. Default is 'layer'.\n */\n @property({ type: String, attribute: 'background-token' })\n backgroundToken = MENU_BACKGROUND_TOKEN.LAYER;\n\n /**\n * Specify whether a border should be rendered on the menu\n */\n @property({ type: Boolean })\n border = false;\n\n /**\n * Specify how the menu should align with the button element\n */\n @property({ type: String })\n menuAlignment;\n /**\n * Position of the Menu in X axis.\n */\n @property()\n x: number | number[] = 0;\n /**\n * Position of the Menu in Y axis.\n */\n @property()\n y: number | number[] = 0;\n\n @HostListener('focusout')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleBlur = (e: FocusEvent) => {\n const { isRoot } = this.context;\n // Close the menu if all of the following are met:\n // * The menu is open\n // * The focusout event is on the root menu\n // * Focus is moving outside the menu\n if (this.open && isRoot && !this.contains(e.relatedTarget as Node)) {\n this.dispatchCloseEvent(e);\n }\n };\n\n /**\n * The name of the custom event fired when the the Menu should be closed.\n */\n static get eventOnClose() {\n return `${prefix}-menu-closed`;\n }\n /**\n * The name of the custom event fired when the the Menu should be opened.\n */\n static get eventOnOpen() {\n return `${prefix}-menu-opened`;\n }\n updated(changedProperties) {\n if (changedProperties.has('open')) {\n if (this.open) {\n this._handleOpen();\n } else {\n this._handleClose();\n }\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('icon-detect', () => {\n this._menuElement?.classList.add(`${prefix}--menu--with-icons`);\n });\n this.addEventListener(\n MENU_CLOSE_ROOT_EVENT,\n this._handleRootCloseRequest as EventListener\n );\n }\n\n disconnectedCallback() {\n this.removeEventListener(\n MENU_CLOSE_ROOT_EVENT,\n this._handleRootCloseRequest as EventListener\n );\n super.disconnectedCallback();\n }\n async firstUpdated() {\n this.isRtl = this._isRtlDirection();\n this.isRoot = this.context.isRoot;\n\n if (this.isChild) {\n this._newContextCreate();\n }\n await this.updateComplete;\n this._registerMenuItems();\n this._setActiveItems();\n\n this._slotElement?.addEventListener('slotchange', () => {\n this._registerMenuItems();\n this._setActiveItems();\n });\n }\n render() {\n const {\n open,\n menuAlignment,\n label,\n position,\n _handleKeyDown: handleKeyDown,\n } = this;\n const menuClasses = classMap({\n [`${prefix}--menu`]: true,\n [`${prefix}--menu--${this.size}`]: this.size,\n [`${prefix}--menu--box-shadow-top`]:\n menuAlignment && menuAlignment.slice(0, 3) === 'top',\n [`${prefix}--menu--open`]: open,\n [`${prefix}--menu--shown`]: position[0] >= 0 && position[1] >= 0,\n [`${prefix}--menu--with-selectable-items`]:\n this.context.hasSelectableItems,\n // In v12 the menu always renders a border\n [`${prefix}--menu--border`]:\n this.border || isFeatureFlagEnabled('enable-v12-release', this),\n [`${prefix}--menu--background-token__background`]:\n this.backgroundToken === MENU_BACKGROUND_TOKEN.BACKGROUND,\n });\n return html`\n <ul\n class=\"${menuClasses}\"\n aria-label=\"${label}\"\n tabindex=\"-1\"\n @keydown=\"${handleKeyDown}\"\n role=\"menu\">\n <slot></slot>\n </ul>\n `;\n }\n\n _handleKeyDown = (e: KeyboardEvent) => {\n const { isRoot } = this.context;\n e.stopPropagation();\n // if the user presses escape or this is a submenu\n // and the user presses ArrowLeft, close it\n\n if (e.key === 'Escape' || (!isRoot && e.key === 'ArrowLeft')) {\n this.dispatchCloseEvent(e);\n } else {\n // Prevent scrolling when navigating menu items\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n e.preventDefault();\n }\n this._focusItem(e);\n }\n };\n\n _focusItem = (e: KeyboardEvent | undefined) => {\n let currentItem: number;\n\n if (document.activeElement?.tagName !== 'CDS-MENU') {\n const shadowRootActiveEl = this._findActiveElementInShadowRoot(document);\n currentItem = this.activeitems.findIndex((activeItem) => {\n return (\n shadowRootActiveEl == activeItem.item ||\n activeItem.item.shadowRoot?.activeElement === shadowRootActiveEl\n );\n });\n } else {\n currentItem = 0;\n }\n\n let indexToFocus = currentItem;\n // if currentItem is -1, no menu item is focused yet.\n // in this case, the first item should receive focus.\n if (currentItem === -1) {\n indexToFocus = 0;\n } else if (e) {\n if (e.key === 'ArrowUp') {\n indexToFocus = indexToFocus - 1;\n }\n if (e.key === 'ArrowDown') {\n indexToFocus = indexToFocus + 1;\n }\n }\n if (indexToFocus < 0) {\n indexToFocus = this.activeitems.length - 1;\n }\n if (indexToFocus >= this.activeitems.length) {\n indexToFocus = 0;\n }\n\n if (indexToFocus !== currentItem) {\n this.activeitems[indexToFocus]?.item?.focus();\n }\n };\n _findActiveElementInShadowRoot = (shadowRoot) => {\n if (shadowRoot === null) return null;\n\n let activeElement = shadowRoot.activeElement;\n while (\n activeElement &&\n activeElement.shadowRoot &&\n activeElement.shadowRoot.activeElement\n ) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n };\n\n _notEmpty = (value: number | null | undefined) => {\n return value !== null && value !== undefined;\n };\n _fitValue = (range: number[], axis: 'x' | 'y') => {\n const { isRoot } = this.context;\n\n // const isRoot = false\n const { width, height } = (\n this._menuElement ?? this\n ).getBoundingClientRect();\n const alignment = isRoot ? 'vertical' : 'horizontal';\n\n // The submenu is positioned against the menu item, which in v12 is inset\n // from the menu's edge by the menu's inline padding ($spacing-02 = 4px).\n // Adjust the offset accordingly (by 4px).\n const submenuOffset = isRoot\n ? 0\n : isFeatureFlagEnabled('enable-v12-release', this)\n ? -6\n : -2;\n\n const axes = {\n x: {\n max: window.innerWidth,\n size: width,\n anchor: alignment === 'horizontal' ? range[1] : range[0],\n reversedAnchor: alignment === 'horizontal' ? range[0] : range[1],\n offset: submenuOffset,\n },\n y: {\n max: window.innerHeight,\n size: height,\n anchor: alignment === 'horizontal' ? range[0] : range[1],\n reversedAnchor: alignment === 'horizontal' ? range[1] : range[0],\n offset: isRoot ? 0 : 4, // top padding in menu, used to align the menu items\n },\n };\n\n // Avoid that the Menu render incorrectly when the postion is set in the right side of the screen\n if (\n this.actionButtonWidth &&\n this.actionButtonWidth < axes.x.size &&\n (this.menuAlignment === 'bottom' || this.menuAlignment === 'top')\n ) {\n axes.x.size = this.actionButtonWidth;\n }\n\n // if 'axes.x.anchor' is lower than 87px dynamically switch render side\n if (\n this.actionButtonWidth &&\n (this.menuAlignment === 'bottom-end' ||\n this.menuAlignment === 'top-end') &&\n axes.x.anchor >= 87 &&\n this.actionButtonWidth < axes.x.size\n ) {\n const diff = axes.x.anchor + axes.x.reversedAnchor;\n axes.x.anchor = axes.x.anchor + diff;\n }\n\n const { max, size, anchor, reversedAnchor, offset } = axes[axis];\n\n // get values for different scenarios, set to false if they don't work\n const options = [\n // towards max (preferred)\n max - this.spacing - size - anchor >= 0 ? anchor - offset : false,\n\n // towards min / reversed (first fallback)\n reversedAnchor - size >= 0 ? reversedAnchor - size + offset : false,\n\n // align at max (second fallback)\n max - this.spacing - size,\n ];\n const topAlignment =\n this.menuAlignment === 'top' ||\n this.menuAlignment === 'top-end' ||\n this.menuAlignment === 'top-start';\n // If the tooltip is not visible in the top, switch to the bototm\n if (\n typeof options[0] === 'number' &&\n topAlignment &&\n options[0] >= 0 &&\n !options[1] &&\n axis === 'y'\n ) {\n this.style.transform = 'translate(0)';\n } else if (topAlignment && !options[0] && axis === 'y') {\n options[0] = anchor - offset;\n }\n\n // Previous array `options`, has at least one item that is a number (the last one - second fallback).\n // That guarantees that the return of `find()` will always be a number\n // and we can safely add the numeric casting `as number`.\n const bestOption = options.find((option) => option !== false) as number;\n\n return bestOption >= this.spacing ? bestOption : this.spacing;\n };\n _getPosition = (x: number | (number | null | undefined)[]) => {\n if (Array.isArray(x)) {\n // has to be of length 2\n const filtered = x.filter(this._notEmpty);\n if (filtered.length === 2) {\n return filtered;\n } else {\n return;\n }\n } else {\n return [x, x];\n }\n };\n\n _isRtlDirection = () => {\n return (\n this.direction === 'rtl' || getComputedStyle(this).direction === 'rtl'\n );\n };\n\n /**\n * Converts a measured viewport range into distances from the viewport's\n * inline start.\n *\n * Endpoints swap in rtl because mirroring reverses their order: a box's left\n * edge is the nearer edge measured from the left, but the farther edge\n * measured from the right.\n */\n _toInlineRange = (range: number[]) => {\n if (!this._isRtlDirection()) {\n return range;\n }\n\n const max = window.innerWidth;\n return [max - range[1], max - range[0]];\n };\n\n _calculatePosition = () => {\n const ranges = {\n x: this._getPosition(this.x),\n y: this._getPosition(this.y),\n };\n\n if (!ranges.x || !ranges.y) {\n return [-1, -1];\n }\n\n const x = this.context.isRoot\n ? (ranges.x as number[])\n : this._toInlineRange(ranges.x as number[]);\n\n return [\n this._fitValue(x, 'x') ?? -1,\n this._fitValue(ranges.y as number[], 'y') ?? -1,\n ];\n };\n _handleOpen = async () => {\n const pos = this._calculatePosition();\n this.style.insetInlineStart = `${pos[0]}px`;\n this.style.insetInlineEnd = `initial`;\n this.style.insetBlockStart = `${pos[1]}px`;\n this.position = pos;\n\n await this.updateComplete;\n this._registerMenuItems();\n this._setActiveItems();\n\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n };\n if (\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSMenu).eventOnOpen, init)\n )\n ) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSMenu).eventOnOpen, init)\n );\n }\n };\n dispatchCloseEvent = (e?: Event) => {\n const init = {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: {\n triggeredBy: e?.target,\n triggerEventType: e?.type,\n },\n };\n if (\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSMenu).eventOnClose, init)\n )\n ) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSMenu).eventOnClose, init)\n );\n }\n };\n private _handleClose = () => {\n this.position = [-1, -1];\n this.style.removeProperty('inset-inline-start');\n this.style.removeProperty('inset-inline-end');\n this.style.removeProperty('inset-block-start');\n };\n private _handleRootCloseRequest = (\n event: CustomEvent<{ triggerEvent?: Event }>\n ) => {\n if (!this.context?.isRoot) {\n return;\n }\n\n this.dispatchCloseEvent(event.detail?.triggerEvent ?? event);\n };\n _newContextCreate = () => {\n this.context = {\n ...this.context,\n isRoot: false,\n size: this.size,\n };\n };\n _registerMenuItems = () => {\n let items;\n if (this.isChild) {\n const submenuSlot = this.querySelector(\n 'slot[name=\"submenu\"]'\n ) as HTMLSlotElement | null;\n items = submenuSlot?.assignedElements() ?? [];\n } else {\n items = this._slotElement?.assignedElements() ?? [];\n }\n this.items = items?.filter((item) => {\n if (item.tagName === 'CDS-MENU-ITEM') {\n return !(item as CDSmenuItem).disabled;\n }\n return item.tagName !== 'CDS-MENU-ITEM-DIVIDER';\n });\n };\n _setActiveItems = () => {\n this.activeitems = [];\n\n this.items?.map((item) => {\n let activeItem: activeItemType;\n switch (item.tagName) {\n case 'CDS-MENU-ITEM-RADIO-GROUP': {\n const slotElements = item.querySelectorAll(`${prefix}-menu-item`);\n if (slotElements?.length) {\n for (const entry of slotElements.entries()) {\n activeItem = {\n item: entry[1] as CDSmenuItem,\n parent: item as HTMLElement,\n };\n this.activeitems = [...this.activeitems, activeItem];\n }\n }\n break;\n }\n case 'CDS-MENU-ITEM-GROUP': {\n const slotElements = item.shadowRoot\n ?.querySelector('slot')\n ?.assignedElements();\n slotElements?.map((el) => {\n activeItem = {\n item: el as CDSmenuItem,\n parent: el as HTMLElement,\n };\n this.activeitems = [...this.activeitems, activeItem];\n });\n break;\n }\n case 'CDS-MENU-ITEM-SELECTABLE': {\n activeItem = {\n item: item.shadowRoot?.querySelector(\n `${prefix}-menu-item`\n ) as CDSmenuItem,\n parent: item as HTMLElement,\n };\n this.activeitems = [...this.activeitems, activeItem];\n break;\n }\n default: {\n activeItem = {\n item: item as CDSmenuItem,\n parent: null,\n };\n this.activeitems = [...this.activeitems, activeItem];\n }\n }\n });\n const activeEl = this.activeitems[0]?.item ?? document.activeElement;\n activeEl.focus();\n };\n static styles = styles;\n}\nexport default CDSMenu;\n"],"mappings":"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"}