@carbon/web-components 2.47.0 → 2.48.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 (431) hide show
  1. package/custom-elements.json +963 -145
  2. package/es/components/accordion/accordion-item.d.ts +28 -12
  3. package/es/components/accordion/accordion-item.js +7 -5
  4. package/es/components/accordion/accordion-item.js.map +1 -1
  5. package/es/components/accordion/accordion-skeleton.d.ts +1 -1
  6. package/es/components/accordion/accordion-skeleton.js +7 -5
  7. package/es/components/accordion/accordion-skeleton.js.map +1 -1
  8. package/es/components/accordion/accordion.d.ts +1 -1
  9. package/es/components/accordion/accordion.js +7 -5
  10. package/es/components/accordion/accordion.js.map +1 -1
  11. package/es/components/ai-label/ai-label.d.ts +1 -1
  12. package/es/components/ai-label/ai-label.js +6 -5
  13. package/es/components/ai-label/ai-label.js.map +1 -1
  14. package/es/components/button/button.d.ts +56 -22
  15. package/es/components/checkbox/checkbox-group.d.ts +2 -0
  16. package/es/components/checkbox/checkbox.d.ts +57 -23
  17. package/es/components/checkbox/checkbox.js +7 -5
  18. package/es/components/checkbox/checkbox.js.map +1 -1
  19. package/es/components/code-snippet/code-snippet.d.ts +29 -11
  20. package/es/components/code-snippet/code-snippet.js +15 -14
  21. package/es/components/code-snippet/code-snippet.js.map +1 -1
  22. package/es/components/combo-box/combo-box.scss.js +1 -1
  23. package/es/components/combo-button/combo-button.d.ts +27 -11
  24. package/es/components/content-switcher/content-switcher-item.d.ts +29 -11
  25. package/es/components/copy-button/copy-button.d.ts +27 -11
  26. package/es/components/data-table/table-expanded-row.d.ts +28 -12
  27. package/es/components/data-table/table-expanded-row.js +7 -5
  28. package/es/components/data-table/table-expanded-row.js.map +1 -1
  29. package/es/components/data-table/table-header-cell.d.ts +29 -11
  30. package/es/components/data-table/table-row.d.ts +54 -22
  31. package/es/components/data-table/table-toolbar-search.d.ts +29 -11
  32. package/es/components/data-table/table.d.ts +28 -12
  33. package/es/components/data-table/table.js +9 -8
  34. package/es/components/data-table/table.js.map +1 -1
  35. package/es/components/date-picker/date-picker-input.d.ts +29 -11
  36. package/es/components/date-picker/date-picker.d.ts +54 -22
  37. package/es/components/dropdown/dropdown.d.ts +110 -44
  38. package/es/components/dropdown/dropdown.js +8 -6
  39. package/es/components/dropdown/dropdown.js.map +1 -1
  40. package/es/components/file-uploader/file-uploader-button.d.ts +27 -11
  41. package/es/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  42. package/es/components/floating-menu/floating-menu.d.ts +56 -22
  43. package/es/components/fluid-select/fluid-select.d.ts +5 -0
  44. package/es/components/fluid-select/fluid-select.js +50 -1
  45. package/es/components/fluid-select/fluid-select.js.map +1 -1
  46. package/es/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
  47. package/es/components/fluid-textarea/fluid-textarea-skeleton.js +3 -3
  48. package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
  49. package/es/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
  50. package/es/components/fluid-time-picker/fluid-time-picker-select.js +53 -0
  51. package/es/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -0
  52. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
  53. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js +63 -0
  54. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -0
  55. package/es/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
  56. package/es/components/fluid-time-picker/fluid-time-picker.js +239 -0
  57. package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -0
  58. package/es/components/fluid-time-picker/fluid-time-picker.scss.js +13 -0
  59. package/es/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -0
  60. package/es/components/fluid-time-picker/index.d.ts +9 -0
  61. package/es/components/fluid-time-picker/index.js +11 -0
  62. package/es/components/fluid-time-picker/index.js.map +1 -0
  63. package/es/components/grid/column.d.ts +3 -1
  64. package/es/components/grid/column.js +6 -0
  65. package/es/components/grid/column.js.map +1 -1
  66. package/es/components/icon-button/icon-button.d.ts +1 -1
  67. package/es/components/icon-button/icon-button.js +6 -5
  68. package/es/components/icon-button/icon-button.js.map +1 -1
  69. package/es/components/link/link.d.ts +29 -11
  70. package/es/components/menu/menu-item-selectable.d.ts +5 -3
  71. package/es/components/menu/menu-item-selectable.js +3 -3
  72. package/es/components/menu/menu-item-selectable.js.map +1 -1
  73. package/es/components/menu/menu-item.d.ts +68 -23
  74. package/es/components/menu/menu-item.js +37 -2
  75. package/es/components/menu/menu-item.js.map +1 -1
  76. package/es/components/menu/menu.d.ts +27 -11
  77. package/es/components/menu-button/menu-button.d.ts +27 -11
  78. package/es/components/modal/modal-close-button.d.ts +29 -11
  79. package/es/components/modal/modal.d.ts +27 -11
  80. package/es/components/modal/modal.js +6 -4
  81. package/es/components/modal/modal.js.map +1 -1
  82. package/es/components/multi-select/multi-select.js +12 -8
  83. package/es/components/multi-select/multi-select.js.map +1 -1
  84. package/es/components/notification/actionable-notification.d.ts +27 -11
  85. package/es/components/notification/actionable-notification.scss.js +1 -1
  86. package/es/components/notification/inline-notification.d.ts +27 -11
  87. package/es/components/notification/inline-notification.scss.js +1 -1
  88. package/es/components/notification/toast-notification.scss.js +1 -1
  89. package/es/components/number-input/number-input.d.ts +2 -0
  90. package/es/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  91. package/es/components/overflow-menu/overflow-menu.d.ts +54 -22
  92. package/es/components/pagination/pagination.d.ts +56 -22
  93. package/es/components/pagination-nav/defs.d.ts +61 -0
  94. package/es/components/pagination-nav/defs.js +74 -0
  95. package/es/components/pagination-nav/defs.js.map +1 -0
  96. package/es/components/pagination-nav/index.d.ts +7 -0
  97. package/es/components/pagination-nav/index.js +9 -0
  98. package/es/components/pagination-nav/index.js.map +1 -0
  99. package/es/components/pagination-nav/pagination-nav.d.ts +109 -0
  100. package/es/components/pagination-nav/pagination-nav.js +427 -0
  101. package/es/components/pagination-nav/pagination-nav.js.map +1 -0
  102. package/es/components/pagination-nav/pagination-nav.scss.js +13 -0
  103. package/es/components/pagination-nav/pagination-nav.scss.js.map +1 -0
  104. package/es/components/password-input/password-input.d.ts +2 -0
  105. package/es/components/popover/popover.d.ts +27 -11
  106. package/es/components/popover/popover.js +1 -1
  107. package/es/components/popover/popover.js.map +1 -1
  108. package/es/components/progress-indicator/progress-step.d.ts +29 -11
  109. package/es/components/radio-button/radio-button-group.d.ts +54 -22
  110. package/es/components/radio-button/radio-button.d.ts +57 -23
  111. package/es/components/radio-button/radio-button.js +7 -5
  112. package/es/components/radio-button/radio-button.js.map +1 -1
  113. package/es/components/search/search.d.ts +83 -33
  114. package/es/components/select/select.d.ts +29 -11
  115. package/es/components/side-panel/side-panel.d.ts +27 -11
  116. package/es/components/skip-to-content/skip-to-content.d.ts +29 -11
  117. package/es/components/slider/slider-input.d.ts +29 -11
  118. package/es/components/slider/slider.d.ts +84 -34
  119. package/es/components/slider/slider.js +9 -7
  120. package/es/components/slider/slider.js.map +1 -1
  121. package/es/components/slug/slug.d.ts +1 -1
  122. package/es/components/slug/slug.js +6 -4
  123. package/es/components/slug/slug.js.map +1 -1
  124. package/es/components/structured-list/structured-list-row.d.ts +27 -11
  125. package/es/components/structured-list/structured-list.d.ts +30 -12
  126. package/es/components/structured-list/structured-list.js +7 -5
  127. package/es/components/structured-list/structured-list.js.map +1 -1
  128. package/es/components/tabs/tabs.d.ts +27 -11
  129. package/es/components/tag/dismissible-tag.d.ts +54 -22
  130. package/es/components/tag/operational-tag.d.ts +54 -22
  131. package/es/components/tag/selectable-tag.d.ts +54 -22
  132. package/es/components/tag/tag.d.ts +54 -22
  133. package/es/components/tearsheet/tearsheet.d.ts +27 -11
  134. package/es/components/text-input/text-input.d.ts +56 -22
  135. package/es/components/textarea/textarea.d.ts +2 -0
  136. package/es/components/tile/expandable-tile.d.ts +54 -22
  137. package/es/components/tile/selectable-tile.d.ts +56 -22
  138. package/es/components/tile/tile-group.d.ts +27 -11
  139. package/es/components/time-picker/time-picker-select.d.ts +29 -11
  140. package/es/components/time-picker/time-picker.d.ts +56 -22
  141. package/es/components/toggle/toggle.d.ts +27 -11
  142. package/es/components/toggle-tip/toggletip.d.ts +57 -23
  143. package/es/components/toggle-tip/toggletip.js +7 -5
  144. package/es/components/toggle-tip/toggletip.js.map +1 -1
  145. package/es/components/tooltip/tooltip.d.ts +28 -12
  146. package/es/components/tooltip/tooltip.js +7 -5
  147. package/es/components/tooltip/tooltip.js.map +1 -1
  148. package/es/components/tree-view/tree-view.d.ts +28 -12
  149. package/es/components/tree-view/tree-view.js +7 -5
  150. package/es/components/tree-view/tree-view.js.map +1 -1
  151. package/es/components/ui-shell/header-global-action.d.ts +2 -0
  152. package/es/components/ui-shell/header-menu-button.d.ts +29 -11
  153. package/es/components/ui-shell/header-menu.d.ts +56 -22
  154. package/es/components/ui-shell/header-name.d.ts +29 -11
  155. package/es/components/ui-shell/header-nav-item.d.ts +29 -11
  156. package/es/components/ui-shell/header-panel.d.ts +2 -0
  157. package/es/components/ui-shell/side-nav-link.d.ts +29 -11
  158. package/es/components/ui-shell/side-nav-menu-item.d.ts +29 -11
  159. package/es/components/ui-shell/side-nav-menu.d.ts +29 -11
  160. package/es/components/ui-shell/side-nav.d.ts +27 -11
  161. package/es/components/ui-shell/switcher-item.d.ts +29 -11
  162. package/es/components/ui-shell/switcher.d.ts +2 -0
  163. package/es/globals/mixins/focus.d.ts +27 -11
  164. package/es/globals/mixins/form.d.ts +27 -11
  165. package/es/globals/mixins/host-listener.d.ts +27 -11
  166. package/es/globals/mixins/validity.d.ts +27 -11
  167. package/es-custom/components/accordion/accordion-item.d.ts +28 -12
  168. package/es-custom/components/accordion/accordion-item.js +7 -5
  169. package/es-custom/components/accordion/accordion-item.js.map +1 -1
  170. package/es-custom/components/accordion/accordion-skeleton.d.ts +1 -1
  171. package/es-custom/components/accordion/accordion-skeleton.js +7 -5
  172. package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
  173. package/es-custom/components/accordion/accordion.d.ts +1 -1
  174. package/es-custom/components/accordion/accordion.js +7 -5
  175. package/es-custom/components/accordion/accordion.js.map +1 -1
  176. package/es-custom/components/ai-label/ai-label.d.ts +1 -1
  177. package/es-custom/components/ai-label/ai-label.js +6 -5
  178. package/es-custom/components/ai-label/ai-label.js.map +1 -1
  179. package/es-custom/components/button/button.d.ts +56 -22
  180. package/es-custom/components/checkbox/checkbox-group.d.ts +2 -0
  181. package/es-custom/components/checkbox/checkbox.d.ts +57 -23
  182. package/es-custom/components/checkbox/checkbox.js +7 -5
  183. package/es-custom/components/checkbox/checkbox.js.map +1 -1
  184. package/es-custom/components/code-snippet/code-snippet.d.ts +29 -11
  185. package/es-custom/components/code-snippet/code-snippet.js +15 -14
  186. package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
  187. package/es-custom/components/combo-box/combo-box.scss.js +1 -1
  188. package/es-custom/components/combo-button/combo-button.d.ts +27 -11
  189. package/es-custom/components/content-switcher/content-switcher-item.d.ts +29 -11
  190. package/es-custom/components/copy-button/copy-button.d.ts +27 -11
  191. package/es-custom/components/data-table/table-expanded-row.d.ts +28 -12
  192. package/es-custom/components/data-table/table-expanded-row.js +7 -5
  193. package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
  194. package/es-custom/components/data-table/table-header-cell.d.ts +29 -11
  195. package/es-custom/components/data-table/table-row.d.ts +54 -22
  196. package/es-custom/components/data-table/table-toolbar-search.d.ts +29 -11
  197. package/es-custom/components/data-table/table.d.ts +28 -12
  198. package/es-custom/components/data-table/table.js +9 -8
  199. package/es-custom/components/data-table/table.js.map +1 -1
  200. package/es-custom/components/date-picker/date-picker-input.d.ts +29 -11
  201. package/es-custom/components/date-picker/date-picker.d.ts +54 -22
  202. package/es-custom/components/dropdown/dropdown.d.ts +110 -44
  203. package/es-custom/components/dropdown/dropdown.js +8 -6
  204. package/es-custom/components/dropdown/dropdown.js.map +1 -1
  205. package/es-custom/components/file-uploader/file-uploader-button.d.ts +27 -11
  206. package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  207. package/es-custom/components/floating-menu/floating-menu.d.ts +56 -22
  208. package/es-custom/components/fluid-select/fluid-select.d.ts +5 -0
  209. package/es-custom/components/fluid-select/fluid-select.js +50 -1
  210. package/es-custom/components/fluid-select/fluid-select.js.map +1 -1
  211. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
  212. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +3 -3
  213. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
  214. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
  215. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +53 -0
  216. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -0
  217. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
  218. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js +63 -0
  219. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -0
  220. package/es-custom/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
  221. package/es-custom/components/fluid-time-picker/fluid-time-picker.js +239 -0
  222. package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -0
  223. package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +13 -0
  224. package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -0
  225. package/es-custom/components/fluid-time-picker/index.d.ts +9 -0
  226. package/es-custom/components/fluid-time-picker/index.js +11 -0
  227. package/es-custom/components/fluid-time-picker/index.js.map +1 -0
  228. package/es-custom/components/grid/column.d.ts +3 -1
  229. package/es-custom/components/grid/column.js +6 -0
  230. package/es-custom/components/grid/column.js.map +1 -1
  231. package/es-custom/components/icon-button/icon-button.d.ts +1 -1
  232. package/es-custom/components/icon-button/icon-button.js +6 -5
  233. package/es-custom/components/icon-button/icon-button.js.map +1 -1
  234. package/es-custom/components/link/link.d.ts +29 -11
  235. package/es-custom/components/menu/menu-item-selectable.d.ts +5 -3
  236. package/es-custom/components/menu/menu-item-selectable.js +3 -3
  237. package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
  238. package/es-custom/components/menu/menu-item.d.ts +68 -23
  239. package/es-custom/components/menu/menu-item.js +37 -2
  240. package/es-custom/components/menu/menu-item.js.map +1 -1
  241. package/es-custom/components/menu/menu.d.ts +27 -11
  242. package/es-custom/components/menu-button/menu-button.d.ts +27 -11
  243. package/es-custom/components/modal/modal-close-button.d.ts +29 -11
  244. package/es-custom/components/modal/modal.d.ts +27 -11
  245. package/es-custom/components/modal/modal.js +6 -4
  246. package/es-custom/components/modal/modal.js.map +1 -1
  247. package/es-custom/components/multi-select/multi-select.js +12 -8
  248. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  249. package/es-custom/components/notification/actionable-notification.d.ts +27 -11
  250. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  251. package/es-custom/components/notification/inline-notification.d.ts +27 -11
  252. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  253. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  254. package/es-custom/components/number-input/number-input.d.ts +2 -0
  255. package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  256. package/es-custom/components/overflow-menu/overflow-menu.d.ts +54 -22
  257. package/es-custom/components/pagination/pagination.d.ts +56 -22
  258. package/es-custom/components/pagination-nav/defs.d.ts +61 -0
  259. package/es-custom/components/pagination-nav/defs.js +74 -0
  260. package/es-custom/components/pagination-nav/defs.js.map +1 -0
  261. package/es-custom/components/pagination-nav/index.d.ts +7 -0
  262. package/es-custom/components/pagination-nav/index.js +9 -0
  263. package/es-custom/components/pagination-nav/index.js.map +1 -0
  264. package/es-custom/components/pagination-nav/pagination-nav.d.ts +109 -0
  265. package/es-custom/components/pagination-nav/pagination-nav.js +427 -0
  266. package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -0
  267. package/es-custom/components/pagination-nav/pagination-nav.scss.js +13 -0
  268. package/es-custom/components/pagination-nav/pagination-nav.scss.js.map +1 -0
  269. package/es-custom/components/password-input/password-input.d.ts +2 -0
  270. package/es-custom/components/popover/popover.d.ts +27 -11
  271. package/es-custom/components/popover/popover.js +1 -1
  272. package/es-custom/components/popover/popover.js.map +1 -1
  273. package/es-custom/components/progress-indicator/progress-step.d.ts +29 -11
  274. package/es-custom/components/radio-button/radio-button-group.d.ts +54 -22
  275. package/es-custom/components/radio-button/radio-button.d.ts +57 -23
  276. package/es-custom/components/radio-button/radio-button.js +7 -5
  277. package/es-custom/components/radio-button/radio-button.js.map +1 -1
  278. package/es-custom/components/search/search.d.ts +83 -33
  279. package/es-custom/components/select/select.d.ts +29 -11
  280. package/es-custom/components/side-panel/side-panel.d.ts +27 -11
  281. package/es-custom/components/skip-to-content/skip-to-content.d.ts +29 -11
  282. package/es-custom/components/slider/slider-input.d.ts +29 -11
  283. package/es-custom/components/slider/slider.d.ts +84 -34
  284. package/es-custom/components/slider/slider.js +9 -7
  285. package/es-custom/components/slider/slider.js.map +1 -1
  286. package/es-custom/components/slug/slug.d.ts +1 -1
  287. package/es-custom/components/slug/slug.js +6 -4
  288. package/es-custom/components/slug/slug.js.map +1 -1
  289. package/es-custom/components/structured-list/structured-list-row.d.ts +27 -11
  290. package/es-custom/components/structured-list/structured-list.d.ts +30 -12
  291. package/es-custom/components/structured-list/structured-list.js +7 -5
  292. package/es-custom/components/structured-list/structured-list.js.map +1 -1
  293. package/es-custom/components/tabs/tabs.d.ts +27 -11
  294. package/es-custom/components/tag/dismissible-tag.d.ts +54 -22
  295. package/es-custom/components/tag/operational-tag.d.ts +54 -22
  296. package/es-custom/components/tag/selectable-tag.d.ts +54 -22
  297. package/es-custom/components/tag/tag.d.ts +54 -22
  298. package/es-custom/components/tearsheet/tearsheet.d.ts +27 -11
  299. package/es-custom/components/text-input/text-input.d.ts +56 -22
  300. package/es-custom/components/textarea/textarea.d.ts +2 -0
  301. package/es-custom/components/tile/expandable-tile.d.ts +54 -22
  302. package/es-custom/components/tile/selectable-tile.d.ts +56 -22
  303. package/es-custom/components/tile/tile-group.d.ts +27 -11
  304. package/es-custom/components/time-picker/time-picker-select.d.ts +29 -11
  305. package/es-custom/components/time-picker/time-picker.d.ts +56 -22
  306. package/es-custom/components/toggle/toggle.d.ts +27 -11
  307. package/es-custom/components/toggle-tip/toggletip.d.ts +57 -23
  308. package/es-custom/components/toggle-tip/toggletip.js +7 -5
  309. package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
  310. package/es-custom/components/tooltip/tooltip.d.ts +28 -12
  311. package/es-custom/components/tooltip/tooltip.js +7 -5
  312. package/es-custom/components/tooltip/tooltip.js.map +1 -1
  313. package/es-custom/components/tree-view/tree-view.d.ts +28 -12
  314. package/es-custom/components/tree-view/tree-view.js +7 -5
  315. package/es-custom/components/tree-view/tree-view.js.map +1 -1
  316. package/es-custom/components/ui-shell/header-global-action.d.ts +2 -0
  317. package/es-custom/components/ui-shell/header-menu-button.d.ts +29 -11
  318. package/es-custom/components/ui-shell/header-menu.d.ts +56 -22
  319. package/es-custom/components/ui-shell/header-name.d.ts +29 -11
  320. package/es-custom/components/ui-shell/header-nav-item.d.ts +29 -11
  321. package/es-custom/components/ui-shell/header-panel.d.ts +2 -0
  322. package/es-custom/components/ui-shell/side-nav-link.d.ts +29 -11
  323. package/es-custom/components/ui-shell/side-nav-menu-item.d.ts +29 -11
  324. package/es-custom/components/ui-shell/side-nav-menu.d.ts +29 -11
  325. package/es-custom/components/ui-shell/side-nav.d.ts +27 -11
  326. package/es-custom/components/ui-shell/switcher-item.d.ts +29 -11
  327. package/es-custom/components/ui-shell/switcher.d.ts +2 -0
  328. package/es-custom/globals/mixins/focus.d.ts +27 -11
  329. package/es-custom/globals/mixins/form.d.ts +27 -11
  330. package/es-custom/globals/mixins/host-listener.d.ts +27 -11
  331. package/es-custom/globals/mixins/validity.d.ts +27 -11
  332. package/lib/components/accordion/accordion-item.d.ts +28 -12
  333. package/lib/components/accordion/accordion-skeleton.d.ts +1 -1
  334. package/lib/components/accordion/accordion.d.ts +1 -1
  335. package/lib/components/ai-label/ai-label.d.ts +1 -1
  336. package/lib/components/button/button.d.ts +56 -22
  337. package/lib/components/checkbox/checkbox-group.d.ts +2 -0
  338. package/lib/components/checkbox/checkbox.d.ts +57 -23
  339. package/lib/components/code-snippet/code-snippet.d.ts +29 -11
  340. package/lib/components/combo-button/combo-button.d.ts +27 -11
  341. package/lib/components/content-switcher/content-switcher-item.d.ts +29 -11
  342. package/lib/components/copy-button/copy-button.d.ts +27 -11
  343. package/lib/components/data-table/table-expanded-row.d.ts +28 -12
  344. package/lib/components/data-table/table-header-cell.d.ts +29 -11
  345. package/lib/components/data-table/table-row.d.ts +54 -22
  346. package/lib/components/data-table/table-toolbar-search.d.ts +29 -11
  347. package/lib/components/data-table/table.d.ts +28 -12
  348. package/lib/components/date-picker/date-picker-input.d.ts +29 -11
  349. package/lib/components/date-picker/date-picker.d.ts +54 -22
  350. package/lib/components/dropdown/dropdown.d.ts +110 -44
  351. package/lib/components/file-uploader/file-uploader-button.d.ts +27 -11
  352. package/lib/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  353. package/lib/components/floating-menu/floating-menu.d.ts +56 -22
  354. package/lib/components/fluid-select/fluid-select.d.ts +5 -0
  355. package/lib/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
  356. package/lib/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
  357. package/lib/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
  358. package/lib/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
  359. package/lib/components/fluid-time-picker/index.d.ts +9 -0
  360. package/lib/components/grid/column.d.ts +3 -1
  361. package/lib/components/icon-button/icon-button.d.ts +1 -1
  362. package/lib/components/link/link.d.ts +29 -11
  363. package/lib/components/menu/menu-item-selectable.d.ts +5 -3
  364. package/lib/components/menu/menu-item.d.ts +68 -23
  365. package/lib/components/menu/menu.d.ts +27 -11
  366. package/lib/components/menu-button/menu-button.d.ts +27 -11
  367. package/lib/components/modal/modal-close-button.d.ts +29 -11
  368. package/lib/components/modal/modal.d.ts +27 -11
  369. package/lib/components/notification/actionable-notification.d.ts +27 -11
  370. package/lib/components/notification/inline-notification.d.ts +27 -11
  371. package/lib/components/number-input/number-input.d.ts +2 -0
  372. package/lib/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  373. package/lib/components/overflow-menu/overflow-menu.d.ts +54 -22
  374. package/lib/components/pagination/pagination.d.ts +56 -22
  375. package/lib/components/pagination-nav/defs.d.ts +61 -0
  376. package/lib/components/pagination-nav/defs.js +74 -0
  377. package/lib/components/pagination-nav/defs.js.map +1 -0
  378. package/lib/components/pagination-nav/index.d.ts +7 -0
  379. package/lib/components/pagination-nav/pagination-nav.d.ts +109 -0
  380. package/lib/components/password-input/password-input.d.ts +2 -0
  381. package/lib/components/popover/popover.d.ts +27 -11
  382. package/lib/components/progress-indicator/progress-step.d.ts +29 -11
  383. package/lib/components/radio-button/radio-button-group.d.ts +54 -22
  384. package/lib/components/radio-button/radio-button.d.ts +57 -23
  385. package/lib/components/search/search.d.ts +83 -33
  386. package/lib/components/select/select.d.ts +29 -11
  387. package/lib/components/side-panel/side-panel.d.ts +27 -11
  388. package/lib/components/skip-to-content/skip-to-content.d.ts +29 -11
  389. package/lib/components/slider/slider-input.d.ts +29 -11
  390. package/lib/components/slider/slider.d.ts +84 -34
  391. package/lib/components/slug/slug.d.ts +1 -1
  392. package/lib/components/structured-list/structured-list-row.d.ts +27 -11
  393. package/lib/components/structured-list/structured-list.d.ts +30 -12
  394. package/lib/components/tabs/tabs.d.ts +27 -11
  395. package/lib/components/tag/dismissible-tag.d.ts +54 -22
  396. package/lib/components/tag/operational-tag.d.ts +54 -22
  397. package/lib/components/tag/selectable-tag.d.ts +54 -22
  398. package/lib/components/tag/tag.d.ts +54 -22
  399. package/lib/components/tearsheet/tearsheet.d.ts +27 -11
  400. package/lib/components/text-input/text-input.d.ts +56 -22
  401. package/lib/components/textarea/textarea.d.ts +2 -0
  402. package/lib/components/tile/expandable-tile.d.ts +54 -22
  403. package/lib/components/tile/selectable-tile.d.ts +56 -22
  404. package/lib/components/tile/tile-group.d.ts +27 -11
  405. package/lib/components/time-picker/time-picker-select.d.ts +29 -11
  406. package/lib/components/time-picker/time-picker.d.ts +56 -22
  407. package/lib/components/toggle/toggle.d.ts +27 -11
  408. package/lib/components/toggle-tip/toggletip.d.ts +57 -23
  409. package/lib/components/tooltip/tooltip.d.ts +28 -12
  410. package/lib/components/tree-view/tree-view.d.ts +28 -12
  411. package/lib/components/ui-shell/header-global-action.d.ts +2 -0
  412. package/lib/components/ui-shell/header-menu-button.d.ts +29 -11
  413. package/lib/components/ui-shell/header-menu.d.ts +56 -22
  414. package/lib/components/ui-shell/header-name.d.ts +29 -11
  415. package/lib/components/ui-shell/header-nav-item.d.ts +29 -11
  416. package/lib/components/ui-shell/header-panel.d.ts +2 -0
  417. package/lib/components/ui-shell/side-nav-link.d.ts +29 -11
  418. package/lib/components/ui-shell/side-nav-menu-item.d.ts +29 -11
  419. package/lib/components/ui-shell/side-nav-menu.d.ts +29 -11
  420. package/lib/components/ui-shell/side-nav.d.ts +27 -11
  421. package/lib/components/ui-shell/switcher-item.d.ts +29 -11
  422. package/lib/components/ui-shell/switcher.d.ts +2 -0
  423. package/lib/globals/mixins/focus.d.ts +27 -11
  424. package/lib/globals/mixins/form.d.ts +27 -11
  425. package/lib/globals/mixins/host-listener.d.ts +27 -11
  426. package/lib/globals/mixins/validity.d.ts +27 -11
  427. package/package.json +7 -7
  428. package/scss/components/combo-box/combo-box.scss +1 -1
  429. package/scss/components/fluid-time-picker/fluid-time-picker.scss +198 -0
  430. package/scss/components/pagination-nav/pagination-nav.scss +29 -0
  431. package/telemetry.yml +16 -8
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright IBM Corp. 2019, 2025
2
+ * Copyright IBM Corp. 2019, 2026
3
3
  *
4
4
  * This source code is licensed under the Apache-2.0 license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -16,6 +16,7 @@ declare const CDSmenuItem_base: {
16
16
  accessKey: string;
17
17
  readonly accessKeyLabel: string;
18
18
  autocapitalize: string;
19
+ autocorrect: boolean;
19
20
  dir: string;
20
21
  draggable: boolean;
21
22
  hidden: boolean;
@@ -37,13 +38,14 @@ declare const CDSmenuItem_base: {
37
38
  click(): void;
38
39
  hidePopover(): void;
39
40
  showPopover(): void;
40
- togglePopover(force?: boolean): boolean;
41
+ togglePopover(options?: boolean): boolean;
41
42
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
42
43
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
43
44
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
44
45
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
45
46
  readonly attributes: NamedNodeMap;
46
- readonly classList: DOMTokenList;
47
+ get classList(): DOMTokenList;
48
+ set classList(value: string);
47
49
  className: string;
48
50
  readonly clientHeight: number;
49
51
  readonly clientLeft: number;
@@ -58,7 +60,8 @@ declare const CDSmenuItem_base: {
58
60
  onfullscreenerror: ((this: Element, ev: Event) => any) | null;
59
61
  outerHTML: string;
60
62
  readonly ownerDocument: Document;
61
- readonly part: DOMTokenList;
63
+ get part(): DOMTokenList;
64
+ set part(value: string);
62
65
  readonly prefix: string | null;
63
66
  readonly scrollHeight: number;
64
67
  scrollLeft: number;
@@ -121,6 +124,8 @@ declare const CDSmenuItem_base: {
121
124
  setPointerCapture(pointerId: number): void;
122
125
  toggleAttribute(qualifiedName: string, force?: boolean): boolean;
123
126
  webkitMatchesSelector(selectors: string): boolean;
127
+ get textContent(): string;
128
+ set textContent(value: string | null);
124
129
  readonly baseURI: string;
125
130
  readonly childNodes: NodeListOf<ChildNode>;
126
131
  readonly firstChild: ChildNode | null;
@@ -133,9 +138,8 @@ declare const CDSmenuItem_base: {
133
138
  readonly parentElement: HTMLElement | null;
134
139
  readonly parentNode: ParentNode | null;
135
140
  readonly previousSibling: ChildNode | null;
136
- textContent: string | null;
137
141
  appendChild<T extends Node>(node: T): T;
138
- cloneNode(deep?: boolean): Node;
142
+ cloneNode(subtree?: boolean): Node;
139
143
  compareDocumentPosition(other: Node): number;
140
144
  contains(other: Node | null): boolean;
141
145
  getRootNode(options?: GetRootNodeOptions): Node;
@@ -168,6 +172,7 @@ declare const CDSmenuItem_base: {
168
172
  readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
169
173
  readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
170
174
  dispatchEvent(event: Event): boolean;
175
+ ariaActiveDescendantElement: Element | null;
171
176
  ariaAtomic: string | null;
172
177
  ariaAutoComplete: string | null;
173
178
  ariaBrailleLabel: string | null;
@@ -178,25 +183,33 @@ declare const CDSmenuItem_base: {
178
183
  ariaColIndex: string | null;
179
184
  ariaColIndexText: string | null;
180
185
  ariaColSpan: string | null;
186
+ ariaControlsElements: ReadonlyArray<Element> | null;
181
187
  ariaCurrent: string | null;
188
+ ariaDescribedByElements: ReadonlyArray<Element> | null;
182
189
  ariaDescription: string | null;
190
+ ariaDetailsElements: ReadonlyArray<Element> | null;
183
191
  ariaDisabled: string | null;
192
+ ariaErrorMessageElements: ReadonlyArray<Element> | null;
184
193
  ariaExpanded: string | null;
194
+ ariaFlowToElements: ReadonlyArray<Element> | null;
185
195
  ariaHasPopup: string | null;
186
196
  ariaHidden: string | null;
187
197
  ariaInvalid: string | null;
188
198
  ariaKeyShortcuts: string | null;
189
199
  ariaLabel: string | null;
200
+ ariaLabelledByElements: ReadonlyArray<Element> | null;
190
201
  ariaLevel: string | null;
191
202
  ariaLive: string | null;
192
203
  ariaModal: string | null;
193
204
  ariaMultiLine: string | null;
194
205
  ariaMultiSelectable: string | null;
195
206
  ariaOrientation: string | null;
207
+ ariaOwnsElements: ReadonlyArray<Element> | null;
196
208
  ariaPlaceholder: string | null;
197
209
  ariaPosInSet: string | null;
198
210
  ariaPressed: string | null;
199
211
  ariaReadOnly: string | null;
212
+ ariaRelevant: string | null;
200
213
  ariaRequired: string | null;
201
214
  ariaRoleDescription: string | null;
202
215
  ariaRowCount: string | null;
@@ -238,7 +251,8 @@ declare const CDSmenuItem_base: {
238
251
  replaceChildren(...nodes: (Node | string)[]): void;
239
252
  readonly assignedSlot: HTMLSlotElement | null;
240
253
  readonly attributeStyleMap: StylePropertyMap;
241
- readonly style: CSSStyleDeclaration;
254
+ get style(): CSSStyleDeclaration;
255
+ set style(cssText: string);
242
256
  contentEditable: string;
243
257
  enterKeyHint: string;
244
258
  inputMode: string;
@@ -248,18 +262,19 @@ declare const CDSmenuItem_base: {
248
262
  onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
249
263
  onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
250
264
  onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
251
- onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
265
+ onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
252
266
  onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
253
- onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
267
+ onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;
268
+ onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
254
269
  onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
255
270
  oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
256
271
  oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
257
272
  oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
258
273
  onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
259
- onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
274
+ onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
260
275
  onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
261
276
  oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
262
- oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
277
+ oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
263
278
  oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
264
279
  oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
265
280
  oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -307,6 +322,7 @@ declare const CDSmenuItem_base: {
307
322
  onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
308
323
  onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
309
324
  onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
325
+ onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
310
326
  onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
311
327
  onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
312
328
  onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -325,7 +341,7 @@ declare const CDSmenuItem_base: {
325
341
  onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
326
342
  onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
327
343
  ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
328
- ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
344
+ ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
329
345
  ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
330
346
  ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
331
347
  ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
@@ -363,6 +379,7 @@ declare const CDSmenuItem_base: {
363
379
  accessKey: string;
364
380
  readonly accessKeyLabel: string;
365
381
  autocapitalize: string;
382
+ autocorrect: boolean;
366
383
  dir: string;
367
384
  draggable: boolean;
368
385
  hidden: boolean;
@@ -384,13 +401,14 @@ declare const CDSmenuItem_base: {
384
401
  click(): void;
385
402
  hidePopover(): void;
386
403
  showPopover(): void;
387
- togglePopover(force?: boolean): boolean;
404
+ togglePopover(options?: boolean): boolean;
388
405
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
389
406
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
390
407
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
391
408
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
392
409
  readonly attributes: NamedNodeMap;
393
- readonly classList: DOMTokenList;
410
+ get classList(): DOMTokenList;
411
+ set classList(value: string);
394
412
  className: string;
395
413
  readonly clientHeight: number;
396
414
  readonly clientLeft: number;
@@ -405,7 +423,8 @@ declare const CDSmenuItem_base: {
405
423
  onfullscreenerror: ((this: Element, ev: Event) => any) | null;
406
424
  outerHTML: string;
407
425
  readonly ownerDocument: Document;
408
- readonly part: DOMTokenList;
426
+ get part(): DOMTokenList;
427
+ set part(value: string);
409
428
  readonly prefix: string | null;
410
429
  readonly scrollHeight: number;
411
430
  scrollLeft: number;
@@ -468,6 +487,8 @@ declare const CDSmenuItem_base: {
468
487
  setPointerCapture(pointerId: number): void;
469
488
  toggleAttribute(qualifiedName: string, force?: boolean): boolean;
470
489
  webkitMatchesSelector(selectors: string): boolean;
490
+ get textContent(): string;
491
+ set textContent(value: string | null);
471
492
  readonly baseURI: string;
472
493
  readonly childNodes: NodeListOf<ChildNode>;
473
494
  readonly firstChild: ChildNode | null;
@@ -480,9 +501,8 @@ declare const CDSmenuItem_base: {
480
501
  readonly parentElement: HTMLElement | null;
481
502
  readonly parentNode: ParentNode | null;
482
503
  readonly previousSibling: ChildNode | null;
483
- textContent: string | null;
484
504
  appendChild<T extends Node>(node: T): T;
485
- cloneNode(deep?: boolean): Node;
505
+ cloneNode(subtree?: boolean): Node;
486
506
  compareDocumentPosition(other: Node): number;
487
507
  contains(other: Node | null): boolean;
488
508
  getRootNode(options?: GetRootNodeOptions): Node;
@@ -515,6 +535,7 @@ declare const CDSmenuItem_base: {
515
535
  readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
516
536
  readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
517
537
  dispatchEvent(event: Event): boolean;
538
+ ariaActiveDescendantElement: Element | null;
518
539
  ariaAtomic: string | null;
519
540
  ariaAutoComplete: string | null;
520
541
  ariaBrailleLabel: string | null;
@@ -525,25 +546,33 @@ declare const CDSmenuItem_base: {
525
546
  ariaColIndex: string | null;
526
547
  ariaColIndexText: string | null;
527
548
  ariaColSpan: string | null;
549
+ ariaControlsElements: ReadonlyArray<Element> | null;
528
550
  ariaCurrent: string | null;
551
+ ariaDescribedByElements: ReadonlyArray<Element> | null;
529
552
  ariaDescription: string | null;
553
+ ariaDetailsElements: ReadonlyArray<Element> | null;
530
554
  ariaDisabled: string | null;
555
+ ariaErrorMessageElements: ReadonlyArray<Element> | null;
531
556
  ariaExpanded: string | null;
557
+ ariaFlowToElements: ReadonlyArray<Element> | null;
532
558
  ariaHasPopup: string | null;
533
559
  ariaHidden: string | null;
534
560
  ariaInvalid: string | null;
535
561
  ariaKeyShortcuts: string | null;
536
562
  ariaLabel: string | null;
563
+ ariaLabelledByElements: ReadonlyArray<Element> | null;
537
564
  ariaLevel: string | null;
538
565
  ariaLive: string | null;
539
566
  ariaModal: string | null;
540
567
  ariaMultiLine: string | null;
541
568
  ariaMultiSelectable: string | null;
542
569
  ariaOrientation: string | null;
570
+ ariaOwnsElements: ReadonlyArray<Element> | null;
543
571
  ariaPlaceholder: string | null;
544
572
  ariaPosInSet: string | null;
545
573
  ariaPressed: string | null;
546
574
  ariaReadOnly: string | null;
575
+ ariaRelevant: string | null;
547
576
  ariaRequired: string | null;
548
577
  ariaRoleDescription: string | null;
549
578
  ariaRowCount: string | null;
@@ -585,7 +614,8 @@ declare const CDSmenuItem_base: {
585
614
  replaceChildren(...nodes: (Node | string)[]): void;
586
615
  readonly assignedSlot: HTMLSlotElement | null;
587
616
  readonly attributeStyleMap: StylePropertyMap;
588
- readonly style: CSSStyleDeclaration;
617
+ get style(): CSSStyleDeclaration;
618
+ set style(cssText: string);
589
619
  contentEditable: string;
590
620
  enterKeyHint: string;
591
621
  inputMode: string;
@@ -595,18 +625,19 @@ declare const CDSmenuItem_base: {
595
625
  onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
596
626
  onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
597
627
  onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
598
- onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
628
+ onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
599
629
  onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
600
- onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
630
+ onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;
631
+ onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
601
632
  onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
602
633
  oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
603
634
  oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
604
635
  oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
605
636
  onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
606
- onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
637
+ onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
607
638
  onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
608
639
  oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
609
- oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
640
+ oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
610
641
  oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
611
642
  oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
612
643
  oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -654,6 +685,7 @@ declare const CDSmenuItem_base: {
654
685
  onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
655
686
  onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
656
687
  onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
688
+ onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
657
689
  onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
658
690
  onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
659
691
  onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -672,7 +704,7 @@ declare const CDSmenuItem_base: {
672
704
  onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
673
705
  onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
674
706
  ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
675
- ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
707
+ ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
676
708
  ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
677
709
  ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
678
710
  ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
@@ -712,6 +744,14 @@ declare class CDSmenuItem extends CDSmenuItem_base {
712
744
  context: any;
713
745
  readonly hoverIntentDelay = 150;
714
746
  hoverIntentTimeout: any;
747
+ /**
748
+ * The parent cds-custom-menu element
749
+ */
750
+ private _parentMenu;
751
+ /**
752
+ * MutationObserver that observes the parent cds-custom-menu element
753
+ */
754
+ private _parentMenuObserver?;
715
755
  /**
716
756
  * Label for the menu item.
717
757
  */
@@ -724,6 +764,10 @@ declare class CDSmenuItem extends CDSmenuItem_base {
724
764
  * Disabled property for the menu item.
725
765
  */
726
766
  disabled: any;
767
+ /**
768
+ * Specify the message read by screen readers for the danger menu item variant
769
+ */
770
+ dangerDescription: string;
727
771
  /**
728
772
  * Whether the menu submen for an item is open or not.
729
773
  */
@@ -752,6 +796,7 @@ declare class CDSmenuItem extends CDSmenuItem_base {
752
796
  dispatchIconDetect(): Promise<void>;
753
797
  private _updateAttributes;
754
798
  firstUpdated(): void;
799
+ disconnectedCallback(): void;
755
800
  updated(_changedProperties: PropertyValues): void;
756
801
  handleClick(event: MouseEvent): void;
757
802
  handleMouseEnter(): void;
@@ -22,7 +22,7 @@ import { MENU_ITEM_KIND, MENU_SIZE } from './defs.js';
22
22
  import { iconLoader } from '../../globals/internal/icon-loader.js';
23
23
 
24
24
  /**
25
- * Copyright IBM Corp. 2019, 2025
25
+ * Copyright IBM Corp. 2019, 2026
26
26
  *
27
27
  * This source code is licensed under the Apache-2.0 license found in the
28
28
  * LICENSE file in the root directory of this source tree.
@@ -38,6 +38,14 @@ let CDSmenuItem = class CDSmenuItem extends HostListenerMixin(HostListenerMixin(
38
38
  var _a;
39
39
  super(...arguments);
40
40
  this.hoverIntentDelay = 150; // in ms
41
+ /**
42
+ * The parent cds-custom-menu element
43
+ */
44
+ this._parentMenu = null;
45
+ /**
46
+ * Specify the message read by screen readers for the danger menu item variant
47
+ */
48
+ this.dangerDescription = 'danger';
41
49
  /**
42
50
  * Whether the menu submen for an item is open or not.
43
51
  */
@@ -169,6 +177,10 @@ let CDSmenuItem = class CDSmenuItem extends HostListenerMixin(HostListenerMixin(
169
177
  this.setAttribute('aria-disabled', this.disabled);
170
178
  this.setAttribute('tabindex', '-1');
171
179
  }
180
+ else if (this._parentMenu && !this._parentMenu.open) {
181
+ this.removeAttribute('aria-disabled');
182
+ this.setAttribute('tabindex', '-1');
183
+ }
172
184
  else {
173
185
  this.removeAttribute('aria-disabled');
174
186
  this.setAttribute('tabindex', '0');
@@ -192,11 +204,25 @@ let CDSmenuItem = class CDSmenuItem extends HostListenerMixin(HostListenerMixin(
192
204
  this.dispatchIconDetect();
193
205
  this.isRtl = document.dir === 'rtl';
194
206
  this._registerSubMenuItems();
207
+ this._parentMenu = this.closest(`${prefix}-menu`);
195
208
  this._updateAttributes();
196
209
  this.addEventListener(`${prefix}-menu-closed`, () => {
197
210
  this.focus();
198
211
  this._closeSubmenu();
199
212
  });
213
+ if (this._parentMenu) {
214
+ this._parentMenuObserver = new MutationObserver(() => {
215
+ this._updateAttributes();
216
+ });
217
+ this._parentMenuObserver.observe(this._parentMenu, {
218
+ attributes: true,
219
+ attributeFilter: ['open'],
220
+ });
221
+ }
222
+ }
223
+ disconnectedCallback() {
224
+ var _a;
225
+ (_a = this._parentMenuObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
200
226
  }
201
227
  // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452
202
228
  updated(_changedProperties) {
@@ -227,7 +253,8 @@ let CDSmenuItem = class CDSmenuItem extends HostListenerMixin(HostListenerMixin(
227
253
  }
228
254
  render() {
229
255
  var _a, _b, _c;
230
- const { label, shortcut, submenuOpen, boundaries, isRtl } = this;
256
+ const { label, shortcut, submenuOpen, boundaries, isRtl, kind, dangerDescription, } = this;
257
+ const isDanger = kind === MENU_ITEM_KIND.DANGER && !this.hasSubmenu;
231
258
  const menuClassName = ((_a = this.context) === null || _a === void 0 ? void 0 : _a.hasSelectableItems)
232
259
  ? `${prefix}--menu--with-selectable-items`
233
260
  : '';
@@ -240,6 +267,11 @@ let CDSmenuItem = class CDSmenuItem extends HostListenerMixin(HostListenerMixin(
240
267
  <slot name="render-icon"></slot>
241
268
  </div>
242
269
  <div class="${prefix}--menu-item__label">${label}</div>
270
+ ${isDanger
271
+ ? html `<span id="danger-description" class="${prefix}--visually-hidden"
272
+ >${dangerDescription}</span
273
+ >`
274
+ : html ``}
243
275
  ${shortcut && !this.hasSubmenu
244
276
  ? html ` <div class="${prefix}--menu-item__shortcut">${shortcut}</div> `
245
277
  : html ``}
@@ -276,6 +308,9 @@ __decorate([
276
308
  __decorate([
277
309
  property({ type: Boolean })
278
310
  ], CDSmenuItem.prototype, "disabled", void 0);
311
+ __decorate([
312
+ property({ type: String, attribute: 'danger-description' })
313
+ ], CDSmenuItem.prototype, "dangerDescription", void 0);
279
314
  __decorate([
280
315
  property({ type: Boolean })
281
316
  ], CDSmenuItem.prototype, "submenuOpen", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sources":["../../../src/components/menu/menu-item.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, PropertyValues, 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';\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-custom-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 * 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 * 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 {\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\n this._updateAttributes();\n\n this.addEventListener(`${prefix}-menu-closed`, () => {\n this.focus();\n this._closeSubmenu();\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452\n updated(_changedProperties: PropertyValues): 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('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 { label, shortcut, submenuOpen, boundaries, isRtl } = this;\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 ${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-custom-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-custom-menu>\n `\n : html``}\n `;\n }\n\n _handleClick = (e: MouseEvent | KeyboardEvent): void => {\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"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"menu-item.js","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, PropertyValues, 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-custom-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-custom-menu element\n */\n private _parentMenu: CDSMenu | null = null;\n\n /**\n * MutationObserver that observes the parent cds-custom-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 = 'danger';\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 // eslint-disable-next-line @typescript-eslint/no-unused-vars -- https://github.com/carbon-design-system/carbon/issues/20452\n updated(_changedProperties: PropertyValues): 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('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\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 ${isDanger\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-custom-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-custom-menu>\n `\n : html``}\n `;\n }\n\n _handleClick = (e: MouseEvent | KeyboardEvent): void => {\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"],"names":["customElement"],"mappings":"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"}