@carbon/web-components 2.40.1 → 2.41.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 (390) hide show
  1. package/custom-elements.json +130 -0
  2. package/dist/ai-label.min.js +8 -8
  3. package/dist/breadcrumb.min.js +4 -4
  4. package/dist/button-CmUJmoio.js +93 -0
  5. package/dist/{button-skeleton-DKiPqzwa.js → button-skeleton-Ba4xDn6y.js} +1 -1
  6. package/dist/button.min.js +1 -1
  7. package/dist/chat-button.min.js +3 -3
  8. package/dist/code-snippet.min.js +29 -29
  9. package/dist/combo-button.min.js +7 -7
  10. package/dist/content-switcher-item-Cz7OvIj8.js +54 -0
  11. package/dist/content-switcher.min.js +1 -1
  12. package/dist/copy-button.min.js +8 -8
  13. package/dist/data-table.min.js +41 -41
  14. package/dist/feature-flags.min.js +1 -1
  15. package/dist/file-uploader.min.js +29 -29
  16. package/dist/floating-controller-CxZPAslz.js +28 -0
  17. package/dist/icon-button.min.js +7 -7
  18. package/dist/icon-indicator.min.js +1 -1
  19. package/dist/menu-button.min.js +5 -5
  20. package/dist/modal.min.js +6 -6
  21. package/dist/notification.min.js +36 -38
  22. package/dist/overflow-menu.min.js +6 -6
  23. package/dist/pagination.min.js +25 -25
  24. package/dist/password-input.min.js +7 -7
  25. package/dist/popover.min.js +9 -9
  26. package/dist/progress-indicator.min.js +12 -12
  27. package/dist/radio-button.min.js +3 -3
  28. package/dist/side-panel.min.js +6 -6
  29. package/dist/skip-to-content.min.js +4 -4
  30. package/dist/slug.min.js +8 -8
  31. package/dist/tabs.min.js +24 -24
  32. package/dist/tag.min.js +49 -49
  33. package/dist/tearsheet.min.js +1 -1
  34. package/dist/tile.min.js +1 -1
  35. package/dist/toggle-tip.min.js +14 -14
  36. package/dist/tooltip-content-Tyg0Hg0i.js +30 -0
  37. package/dist/tooltip.min.js +1 -1
  38. package/dist/tree-view.min.js +5 -2
  39. package/dist/ui-shell.min.js +53 -53
  40. package/es/components/accordion/accordion-item.d.ts +27 -11
  41. package/es/components/ai-label/ai-label.scss.js +1 -1
  42. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  43. package/es/components/button/button.d.ts +56 -22
  44. package/es/components/button/button.scss.js +1 -1
  45. package/es/components/chat-button/chat-button.scss.js +1 -1
  46. package/es/components/checkbox/checkbox-group.d.ts +2 -0
  47. package/es/components/checkbox/checkbox.d.ts +56 -22
  48. package/es/components/code-snippet/code-snippet.d.ts +29 -11
  49. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  50. package/es/components/combo-button/combo-button.d.ts +27 -11
  51. package/es/components/combo-button/combo-button.scss.js +1 -1
  52. package/es/components/content-switcher/content-switcher-item.d.ts +29 -11
  53. package/es/components/content-switcher/content-switcher.scss.js +1 -1
  54. package/es/components/copy-button/copy-button.d.ts +27 -11
  55. package/es/components/copy-button/copy-button.scss.js +1 -1
  56. package/es/components/data-table/data-table.scss.js +1 -1
  57. package/es/components/data-table/table-expanded-row.d.ts +27 -11
  58. package/es/components/data-table/table-header-cell.d.ts +29 -11
  59. package/es/components/data-table/table-row.d.ts +54 -22
  60. package/es/components/data-table/table-toolbar-search.d.ts +29 -11
  61. package/es/components/data-table/table.d.ts +27 -11
  62. package/es/components/data-table/table.js +12 -4
  63. package/es/components/data-table/table.js.map +1 -1
  64. package/es/components/date-picker/date-picker-input.d.ts +29 -11
  65. package/es/components/date-picker/date-picker.d.ts +54 -22
  66. package/es/components/dropdown/dropdown.d.ts +110 -44
  67. package/es/components/feature-flags/index.js +1 -0
  68. package/es/components/feature-flags/index.js.map +1 -1
  69. package/es/components/file-uploader/file-uploader-button.d.ts +27 -11
  70. package/es/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  71. package/es/components/file-uploader/file-uploader.scss.js +1 -1
  72. package/es/components/floating-menu/floating-menu.d.ts +56 -22
  73. package/es/components/icon-button/icon-button.scss.js +1 -1
  74. package/es/components/link/link.d.ts +29 -11
  75. package/es/components/menu/menu-item-selectable.d.ts +2 -0
  76. package/es/components/menu/menu-item.d.ts +54 -22
  77. package/es/components/menu/menu.d.ts +27 -11
  78. package/es/components/menu-button/menu-button.d.ts +27 -11
  79. package/es/components/menu-button/menu-button.scss.js +1 -1
  80. package/es/components/modal/modal-close-button.d.ts +29 -11
  81. package/es/components/modal/modal.d.ts +27 -11
  82. package/es/components/modal/modal.scss.js +1 -1
  83. package/es/components/notification/actionable-notification.d.ts +27 -11
  84. package/es/components/notification/actionable-notification.scss.js +1 -1
  85. package/es/components/notification/inline-notification.d.ts +27 -11
  86. package/es/components/notification/inline-notification.scss.js +1 -1
  87. package/es/components/notification/toast-notification.d.ts +1 -1
  88. package/es/components/notification/toast-notification.js +13 -15
  89. package/es/components/notification/toast-notification.js.map +1 -1
  90. package/es/components/notification/toast-notification.scss.js +1 -1
  91. package/es/components/number-input/number-input.d.ts +2 -0
  92. package/es/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  93. package/es/components/overflow-menu/overflow-menu.d.ts +54 -22
  94. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  95. package/es/components/pagination/pagination.d.ts +56 -22
  96. package/es/components/pagination/pagination.js +12 -7
  97. package/es/components/pagination/pagination.js.map +1 -1
  98. package/es/components/pagination/pagination.scss.js +1 -1
  99. package/es/components/password-input/password-input.d.ts +2 -0
  100. package/es/components/popover/defs.d.ts +13 -0
  101. package/es/components/popover/defs.js +15 -1
  102. package/es/components/popover/defs.js.map +1 -1
  103. package/es/components/popover/popover-content.d.ts +13 -0
  104. package/es/components/popover/popover-content.js +22 -0
  105. package/es/components/popover/popover-content.js.map +1 -1
  106. package/es/components/popover/popover.d.ts +37 -12
  107. package/es/components/popover/popover.js +31 -3
  108. package/es/components/popover/popover.js.map +1 -1
  109. package/es/components/popover/popover.scss.js +1 -1
  110. package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
  111. package/es/components/progress-indicator/progress-step.d.ts +29 -11
  112. package/es/components/radio-button/radio-button-group.d.ts +54 -22
  113. package/es/components/radio-button/radio-button.d.ts +56 -22
  114. package/es/components/search/search.d.ts +83 -33
  115. package/es/components/select/select.d.ts +29 -11
  116. package/es/components/side-panel/side-panel.d.ts +27 -11
  117. package/es/components/skip-to-content/skip-to-content.d.ts +29 -11
  118. package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
  119. package/es/components/slider/slider-input.d.ts +29 -11
  120. package/es/components/slider/slider.d.ts +83 -33
  121. package/es/components/slug/slug.scss.js +1 -1
  122. package/es/components/structured-list/structured-list-row.d.ts +27 -11
  123. package/es/components/structured-list/structured-list.d.ts +29 -11
  124. package/es/components/tabs/tabs.d.ts +27 -11
  125. package/es/components/tabs/tabs.scss.js +1 -1
  126. package/es/components/tag/dismissible-tag.d.ts +54 -22
  127. package/es/components/tag/operational-tag.d.ts +54 -22
  128. package/es/components/tag/selectable-tag.d.ts +54 -22
  129. package/es/components/tag/tag.d.ts +54 -22
  130. package/es/components/tag/tag.scss.js +1 -1
  131. package/es/components/tearsheet/tearsheet.d.ts +27 -11
  132. package/es/components/text-input/text-input.d.ts +56 -22
  133. package/es/components/textarea/textarea.d.ts +2 -0
  134. package/es/components/tile/expandable-tile.d.ts +54 -22
  135. package/es/components/tile/selectable-tile.d.ts +56 -22
  136. package/es/components/tile/tile-group.d.ts +27 -11
  137. package/es/components/tile/tile.scss.js +1 -1
  138. package/es/components/time-picker/time-picker-select.d.ts +29 -11
  139. package/es/components/time-picker/time-picker.d.ts +56 -22
  140. package/es/components/toggle/toggle.d.ts +27 -11
  141. package/es/components/toggle-tip/toggletip.d.ts +56 -22
  142. package/es/components/toggle-tip/toggletip.scss.js +1 -1
  143. package/es/components/tooltip/tooltip.d.ts +27 -11
  144. package/es/components/tooltip/tooltip.js +3 -0
  145. package/es/components/tooltip/tooltip.js.map +1 -1
  146. package/es/components/tooltip/tooltip.scss.js +1 -1
  147. package/es/components/tree-view/tree-node.js +4 -4
  148. package/es/components/tree-view/tree-node.js.map +1 -1
  149. package/es/components/tree-view/tree-view.d.ts +27 -11
  150. package/es/components/ui-shell/header-global-action.d.ts +2 -0
  151. package/es/components/ui-shell/header-menu-button.d.ts +29 -11
  152. package/es/components/ui-shell/header-menu.d.ts +56 -22
  153. package/es/components/ui-shell/header-name.d.ts +29 -11
  154. package/es/components/ui-shell/header-nav-item.d.ts +29 -11
  155. package/es/components/ui-shell/header-panel.d.ts +2 -0
  156. package/es/components/ui-shell/header.scss.js +1 -1
  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/feature-flags/es/index.js +30 -2
  164. package/es/feature-flags/es/index.js.map +1 -1
  165. package/es/globals/mixins/focus.d.ts +27 -11
  166. package/es/globals/mixins/form.d.ts +27 -11
  167. package/es/globals/mixins/host-listener.d.ts +27 -11
  168. package/es/globals/mixins/validity.d.ts +27 -11
  169. package/es-custom/components/accordion/accordion-item.d.ts +27 -11
  170. package/es-custom/components/ai-label/ai-label.scss.js +1 -1
  171. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  172. package/es-custom/components/button/button.d.ts +56 -22
  173. package/es-custom/components/button/button.scss.js +1 -1
  174. package/es-custom/components/chat-button/chat-button.scss.js +1 -1
  175. package/es-custom/components/checkbox/checkbox-group.d.ts +2 -0
  176. package/es-custom/components/checkbox/checkbox.d.ts +56 -22
  177. package/es-custom/components/code-snippet/code-snippet.d.ts +29 -11
  178. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  179. package/es-custom/components/combo-button/combo-button.d.ts +27 -11
  180. package/es-custom/components/combo-button/combo-button.scss.js +1 -1
  181. package/es-custom/components/content-switcher/content-switcher-item.d.ts +29 -11
  182. package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
  183. package/es-custom/components/copy-button/copy-button.d.ts +27 -11
  184. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  185. package/es-custom/components/data-table/data-table.scss.js +1 -1
  186. package/es-custom/components/data-table/table-expanded-row.d.ts +27 -11
  187. package/es-custom/components/data-table/table-header-cell.d.ts +29 -11
  188. package/es-custom/components/data-table/table-row.d.ts +54 -22
  189. package/es-custom/components/data-table/table-toolbar-search.d.ts +29 -11
  190. package/es-custom/components/data-table/table.d.ts +27 -11
  191. package/es-custom/components/data-table/table.js +12 -4
  192. package/es-custom/components/data-table/table.js.map +1 -1
  193. package/es-custom/components/date-picker/date-picker-input.d.ts +29 -11
  194. package/es-custom/components/date-picker/date-picker.d.ts +54 -22
  195. package/es-custom/components/dropdown/dropdown.d.ts +110 -44
  196. package/es-custom/components/feature-flags/index.js +1 -0
  197. package/es-custom/components/feature-flags/index.js.map +1 -1
  198. package/es-custom/components/file-uploader/file-uploader-button.d.ts +27 -11
  199. package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  200. package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
  201. package/es-custom/components/floating-menu/floating-menu.d.ts +56 -22
  202. package/es-custom/components/icon-button/icon-button.scss.js +1 -1
  203. package/es-custom/components/link/link.d.ts +29 -11
  204. package/es-custom/components/menu/menu-item-selectable.d.ts +2 -0
  205. package/es-custom/components/menu/menu-item.d.ts +54 -22
  206. package/es-custom/components/menu/menu.d.ts +27 -11
  207. package/es-custom/components/menu-button/menu-button.d.ts +27 -11
  208. package/es-custom/components/menu-button/menu-button.scss.js +1 -1
  209. package/es-custom/components/modal/modal-close-button.d.ts +29 -11
  210. package/es-custom/components/modal/modal.d.ts +27 -11
  211. package/es-custom/components/modal/modal.scss.js +1 -1
  212. package/es-custom/components/notification/actionable-notification.d.ts +27 -11
  213. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  214. package/es-custom/components/notification/inline-notification.d.ts +27 -11
  215. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  216. package/es-custom/components/notification/toast-notification.d.ts +1 -1
  217. package/es-custom/components/notification/toast-notification.js +13 -15
  218. package/es-custom/components/notification/toast-notification.js.map +1 -1
  219. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  220. package/es-custom/components/number-input/number-input.d.ts +2 -0
  221. package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  222. package/es-custom/components/overflow-menu/overflow-menu.d.ts +54 -22
  223. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  224. package/es-custom/components/pagination/pagination.d.ts +56 -22
  225. package/es-custom/components/pagination/pagination.js +12 -7
  226. package/es-custom/components/pagination/pagination.js.map +1 -1
  227. package/es-custom/components/pagination/pagination.scss.js +1 -1
  228. package/es-custom/components/password-input/password-input.d.ts +2 -0
  229. package/es-custom/components/popover/defs.d.ts +13 -0
  230. package/es-custom/components/popover/defs.js +15 -1
  231. package/es-custom/components/popover/defs.js.map +1 -1
  232. package/es-custom/components/popover/popover-content.d.ts +13 -0
  233. package/es-custom/components/popover/popover-content.js +22 -0
  234. package/es-custom/components/popover/popover-content.js.map +1 -1
  235. package/es-custom/components/popover/popover.d.ts +37 -12
  236. package/es-custom/components/popover/popover.js +31 -3
  237. package/es-custom/components/popover/popover.js.map +1 -1
  238. package/es-custom/components/popover/popover.scss.js +1 -1
  239. package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
  240. package/es-custom/components/progress-indicator/progress-step.d.ts +29 -11
  241. package/es-custom/components/radio-button/radio-button-group.d.ts +54 -22
  242. package/es-custom/components/radio-button/radio-button.d.ts +56 -22
  243. package/es-custom/components/search/search.d.ts +83 -33
  244. package/es-custom/components/select/select.d.ts +29 -11
  245. package/es-custom/components/side-panel/side-panel.d.ts +27 -11
  246. package/es-custom/components/skip-to-content/skip-to-content.d.ts +29 -11
  247. package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
  248. package/es-custom/components/slider/slider-input.d.ts +29 -11
  249. package/es-custom/components/slider/slider.d.ts +83 -33
  250. package/es-custom/components/slug/slug.scss.js +1 -1
  251. package/es-custom/components/structured-list/structured-list-row.d.ts +27 -11
  252. package/es-custom/components/structured-list/structured-list.d.ts +29 -11
  253. package/es-custom/components/tabs/tabs.d.ts +27 -11
  254. package/es-custom/components/tabs/tabs.scss.js +1 -1
  255. package/es-custom/components/tag/dismissible-tag.d.ts +54 -22
  256. package/es-custom/components/tag/operational-tag.d.ts +54 -22
  257. package/es-custom/components/tag/selectable-tag.d.ts +54 -22
  258. package/es-custom/components/tag/tag.d.ts +54 -22
  259. package/es-custom/components/tag/tag.scss.js +1 -1
  260. package/es-custom/components/tearsheet/tearsheet.d.ts +27 -11
  261. package/es-custom/components/text-input/text-input.d.ts +56 -22
  262. package/es-custom/components/textarea/textarea.d.ts +2 -0
  263. package/es-custom/components/tile/expandable-tile.d.ts +54 -22
  264. package/es-custom/components/tile/selectable-tile.d.ts +56 -22
  265. package/es-custom/components/tile/tile-group.d.ts +27 -11
  266. package/es-custom/components/tile/tile.scss.js +1 -1
  267. package/es-custom/components/time-picker/time-picker-select.d.ts +29 -11
  268. package/es-custom/components/time-picker/time-picker.d.ts +56 -22
  269. package/es-custom/components/toggle/toggle.d.ts +27 -11
  270. package/es-custom/components/toggle-tip/toggletip.d.ts +56 -22
  271. package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
  272. package/es-custom/components/tooltip/tooltip.d.ts +27 -11
  273. package/es-custom/components/tooltip/tooltip.js +3 -0
  274. package/es-custom/components/tooltip/tooltip.js.map +1 -1
  275. package/es-custom/components/tooltip/tooltip.scss.js +1 -1
  276. package/es-custom/components/tree-view/tree-node.js +4 -4
  277. package/es-custom/components/tree-view/tree-node.js.map +1 -1
  278. package/es-custom/components/tree-view/tree-view.d.ts +27 -11
  279. package/es-custom/components/ui-shell/header-global-action.d.ts +2 -0
  280. package/es-custom/components/ui-shell/header-menu-button.d.ts +29 -11
  281. package/es-custom/components/ui-shell/header-menu.d.ts +56 -22
  282. package/es-custom/components/ui-shell/header-name.d.ts +29 -11
  283. package/es-custom/components/ui-shell/header-nav-item.d.ts +29 -11
  284. package/es-custom/components/ui-shell/header-panel.d.ts +2 -0
  285. package/es-custom/components/ui-shell/header.scss.js +1 -1
  286. package/es-custom/components/ui-shell/side-nav-link.d.ts +29 -11
  287. package/es-custom/components/ui-shell/side-nav-menu-item.d.ts +29 -11
  288. package/es-custom/components/ui-shell/side-nav-menu.d.ts +29 -11
  289. package/es-custom/components/ui-shell/side-nav.d.ts +27 -11
  290. package/es-custom/components/ui-shell/switcher-item.d.ts +29 -11
  291. package/es-custom/components/ui-shell/switcher.d.ts +2 -0
  292. package/es-custom/feature-flags/es/index.js +30 -2
  293. package/es-custom/feature-flags/es/index.js.map +1 -1
  294. package/es-custom/globals/mixins/focus.d.ts +27 -11
  295. package/es-custom/globals/mixins/form.d.ts +27 -11
  296. package/es-custom/globals/mixins/host-listener.d.ts +27 -11
  297. package/es-custom/globals/mixins/validity.d.ts +27 -11
  298. package/lib/components/accordion/accordion-item.d.ts +27 -11
  299. package/lib/components/button/button.d.ts +56 -22
  300. package/lib/components/checkbox/checkbox-group.d.ts +2 -0
  301. package/lib/components/checkbox/checkbox.d.ts +56 -22
  302. package/lib/components/code-snippet/code-snippet.d.ts +29 -11
  303. package/lib/components/combo-button/combo-button.d.ts +27 -11
  304. package/lib/components/content-switcher/content-switcher-item.d.ts +29 -11
  305. package/lib/components/copy-button/copy-button.d.ts +27 -11
  306. package/lib/components/data-table/table-expanded-row.d.ts +27 -11
  307. package/lib/components/data-table/table-header-cell.d.ts +29 -11
  308. package/lib/components/data-table/table-row.d.ts +54 -22
  309. package/lib/components/data-table/table-toolbar-search.d.ts +29 -11
  310. package/lib/components/data-table/table.d.ts +27 -11
  311. package/lib/components/date-picker/date-picker-input.d.ts +29 -11
  312. package/lib/components/date-picker/date-picker.d.ts +54 -22
  313. package/lib/components/dropdown/dropdown.d.ts +110 -44
  314. package/lib/components/file-uploader/file-uploader-button.d.ts +27 -11
  315. package/lib/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
  316. package/lib/components/floating-menu/floating-menu.d.ts +56 -22
  317. package/lib/components/link/link.d.ts +29 -11
  318. package/lib/components/menu/menu-item-selectable.d.ts +2 -0
  319. package/lib/components/menu/menu-item.d.ts +54 -22
  320. package/lib/components/menu/menu.d.ts +27 -11
  321. package/lib/components/menu-button/menu-button.d.ts +27 -11
  322. package/lib/components/modal/modal-close-button.d.ts +29 -11
  323. package/lib/components/modal/modal.d.ts +27 -11
  324. package/lib/components/notification/actionable-notification.d.ts +27 -11
  325. package/lib/components/notification/inline-notification.d.ts +27 -11
  326. package/lib/components/notification/toast-notification.d.ts +1 -1
  327. package/lib/components/number-input/number-input.d.ts +2 -0
  328. package/lib/components/overflow-menu/overflow-menu-item.d.ts +29 -11
  329. package/lib/components/overflow-menu/overflow-menu.d.ts +54 -22
  330. package/lib/components/pagination/pagination.d.ts +56 -22
  331. package/lib/components/password-input/password-input.d.ts +2 -0
  332. package/lib/components/popover/defs.d.ts +13 -0
  333. package/lib/components/popover/defs.js +14 -0
  334. package/lib/components/popover/defs.js.map +1 -1
  335. package/lib/components/popover/popover-content.d.ts +13 -0
  336. package/lib/components/popover/popover.d.ts +37 -12
  337. package/lib/components/progress-indicator/progress-step.d.ts +29 -11
  338. package/lib/components/radio-button/radio-button-group.d.ts +54 -22
  339. package/lib/components/radio-button/radio-button.d.ts +56 -22
  340. package/lib/components/search/search.d.ts +83 -33
  341. package/lib/components/select/select.d.ts +29 -11
  342. package/lib/components/side-panel/side-panel.d.ts +27 -11
  343. package/lib/components/skip-to-content/skip-to-content.d.ts +29 -11
  344. package/lib/components/slider/slider-input.d.ts +29 -11
  345. package/lib/components/slider/slider.d.ts +83 -33
  346. package/lib/components/structured-list/structured-list-row.d.ts +27 -11
  347. package/lib/components/structured-list/structured-list.d.ts +29 -11
  348. package/lib/components/tabs/tabs.d.ts +27 -11
  349. package/lib/components/tag/dismissible-tag.d.ts +54 -22
  350. package/lib/components/tag/operational-tag.d.ts +54 -22
  351. package/lib/components/tag/selectable-tag.d.ts +54 -22
  352. package/lib/components/tag/tag.d.ts +54 -22
  353. package/lib/components/tearsheet/tearsheet.d.ts +27 -11
  354. package/lib/components/text-input/text-input.d.ts +56 -22
  355. package/lib/components/textarea/textarea.d.ts +2 -0
  356. package/lib/components/tile/expandable-tile.d.ts +54 -22
  357. package/lib/components/tile/selectable-tile.d.ts +56 -22
  358. package/lib/components/tile/tile-group.d.ts +27 -11
  359. package/lib/components/time-picker/time-picker-select.d.ts +29 -11
  360. package/lib/components/time-picker/time-picker.d.ts +56 -22
  361. package/lib/components/toggle/toggle.d.ts +27 -11
  362. package/lib/components/toggle-tip/toggletip.d.ts +56 -22
  363. package/lib/components/tooltip/tooltip.d.ts +27 -11
  364. package/lib/components/tree-view/tree-view.d.ts +27 -11
  365. package/lib/components/ui-shell/header-global-action.d.ts +2 -0
  366. package/lib/components/ui-shell/header-menu-button.d.ts +29 -11
  367. package/lib/components/ui-shell/header-menu.d.ts +56 -22
  368. package/lib/components/ui-shell/header-name.d.ts +29 -11
  369. package/lib/components/ui-shell/header-nav-item.d.ts +29 -11
  370. package/lib/components/ui-shell/header-panel.d.ts +2 -0
  371. package/lib/components/ui-shell/side-nav-link.d.ts +29 -11
  372. package/lib/components/ui-shell/side-nav-menu-item.d.ts +29 -11
  373. package/lib/components/ui-shell/side-nav-menu.d.ts +29 -11
  374. package/lib/components/ui-shell/side-nav.d.ts +27 -11
  375. package/lib/components/ui-shell/switcher-item.d.ts +29 -11
  376. package/lib/components/ui-shell/switcher.d.ts +2 -0
  377. package/lib/globals/mixins/focus.d.ts +27 -11
  378. package/lib/globals/mixins/form.d.ts +27 -11
  379. package/lib/globals/mixins/host-listener.d.ts +27 -11
  380. package/lib/globals/mixins/validity.d.ts +27 -11
  381. package/package.json +5 -5
  382. package/scss/components/modal/modal.scss +6 -0
  383. package/scss/components/popover/popover.scss +210 -9
  384. package/scss/components/tile/tile.scss +7 -7
  385. package/telemetry.yml +5 -1
  386. package/dist/button-Co3aPX0Y.js +0 -93
  387. package/dist/content-switcher-item-BDJMJLCb.js +0 -54
  388. package/dist/defs-CBJRLDfw.js +0 -28
  389. package/dist/floating-controller-CnuSelc_.js +0 -28
  390. package/dist/tooltip-content-BZBP-szv.js +0 -30
@@ -13,6 +13,7 @@ declare const CDSPagination_base: {
13
13
  accessKey: string;
14
14
  readonly accessKeyLabel: string;
15
15
  autocapitalize: string;
16
+ autocorrect: boolean;
16
17
  dir: string;
17
18
  draggable: boolean;
18
19
  hidden: boolean;
@@ -34,13 +35,14 @@ declare const CDSPagination_base: {
34
35
  click(): void;
35
36
  hidePopover(): void;
36
37
  showPopover(): void;
37
- togglePopover(force?: boolean): boolean;
38
+ togglePopover(options?: boolean): boolean;
38
39
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
39
40
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
40
41
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
41
42
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
42
43
  readonly attributes: NamedNodeMap;
43
- readonly classList: DOMTokenList;
44
+ get classList(): DOMTokenList;
45
+ set classList(value: string);
44
46
  className: string;
45
47
  readonly clientHeight: number;
46
48
  readonly clientLeft: number;
@@ -55,7 +57,8 @@ declare const CDSPagination_base: {
55
57
  onfullscreenerror: ((this: Element, ev: Event) => any) | null;
56
58
  outerHTML: string;
57
59
  readonly ownerDocument: Document;
58
- readonly part: DOMTokenList;
60
+ get part(): DOMTokenList;
61
+ set part(value: string);
59
62
  readonly prefix: string | null;
60
63
  readonly scrollHeight: number;
61
64
  scrollLeft: number;
@@ -118,6 +121,8 @@ declare const CDSPagination_base: {
118
121
  setPointerCapture(pointerId: number): void;
119
122
  toggleAttribute(qualifiedName: string, force?: boolean): boolean;
120
123
  webkitMatchesSelector(selectors: string): boolean;
124
+ get textContent(): string;
125
+ set textContent(value: string | null);
121
126
  readonly baseURI: string;
122
127
  readonly childNodes: NodeListOf<ChildNode>;
123
128
  readonly firstChild: ChildNode | null;
@@ -130,9 +135,8 @@ declare const CDSPagination_base: {
130
135
  readonly parentElement: HTMLElement | null;
131
136
  readonly parentNode: ParentNode | null;
132
137
  readonly previousSibling: ChildNode | null;
133
- textContent: string | null;
134
138
  appendChild<T extends Node>(node: T): T;
135
- cloneNode(deep?: boolean): Node;
139
+ cloneNode(subtree?: boolean): Node;
136
140
  compareDocumentPosition(other: Node): number;
137
141
  contains(other: Node | null): boolean;
138
142
  getRootNode(options?: GetRootNodeOptions): Node;
@@ -165,6 +169,7 @@ declare const CDSPagination_base: {
165
169
  readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
166
170
  readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
167
171
  dispatchEvent(event: Event): boolean;
172
+ ariaActiveDescendantElement: Element | null;
168
173
  ariaAtomic: string | null;
169
174
  ariaAutoComplete: string | null;
170
175
  ariaBrailleLabel: string | null;
@@ -175,25 +180,33 @@ declare const CDSPagination_base: {
175
180
  ariaColIndex: string | null;
176
181
  ariaColIndexText: string | null;
177
182
  ariaColSpan: string | null;
183
+ ariaControlsElements: ReadonlyArray<Element> | null;
178
184
  ariaCurrent: string | null;
185
+ ariaDescribedByElements: ReadonlyArray<Element> | null;
179
186
  ariaDescription: string | null;
187
+ ariaDetailsElements: ReadonlyArray<Element> | null;
180
188
  ariaDisabled: string | null;
189
+ ariaErrorMessageElements: ReadonlyArray<Element> | null;
181
190
  ariaExpanded: string | null;
191
+ ariaFlowToElements: ReadonlyArray<Element> | null;
182
192
  ariaHasPopup: string | null;
183
193
  ariaHidden: string | null;
184
194
  ariaInvalid: string | null;
185
195
  ariaKeyShortcuts: string | null;
186
196
  ariaLabel: string | null;
197
+ ariaLabelledByElements: ReadonlyArray<Element> | null;
187
198
  ariaLevel: string | null;
188
199
  ariaLive: string | null;
189
200
  ariaModal: string | null;
190
201
  ariaMultiLine: string | null;
191
202
  ariaMultiSelectable: string | null;
192
203
  ariaOrientation: string | null;
204
+ ariaOwnsElements: ReadonlyArray<Element> | null;
193
205
  ariaPlaceholder: string | null;
194
206
  ariaPosInSet: string | null;
195
207
  ariaPressed: string | null;
196
208
  ariaReadOnly: string | null;
209
+ ariaRelevant: string | null;
197
210
  ariaRequired: string | null;
198
211
  ariaRoleDescription: string | null;
199
212
  ariaRowCount: string | null;
@@ -235,7 +248,8 @@ declare const CDSPagination_base: {
235
248
  replaceChildren(...nodes: (Node | string)[]): void;
236
249
  readonly assignedSlot: HTMLSlotElement | null;
237
250
  readonly attributeStyleMap: StylePropertyMap;
238
- readonly style: CSSStyleDeclaration;
251
+ get style(): CSSStyleDeclaration;
252
+ set style(cssText: string);
239
253
  contentEditable: string;
240
254
  enterKeyHint: string;
241
255
  inputMode: string;
@@ -245,18 +259,19 @@ declare const CDSPagination_base: {
245
259
  onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
246
260
  onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
247
261
  onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
248
- onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
262
+ onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
249
263
  onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
250
- onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
264
+ onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;
265
+ onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
251
266
  onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
252
267
  oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
253
268
  oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
254
269
  oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
255
270
  onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
256
- onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
271
+ onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
257
272
  onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
258
273
  oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
259
- oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
274
+ oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
260
275
  oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
261
276
  oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
262
277
  oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -304,6 +319,7 @@ declare const CDSPagination_base: {
304
319
  onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
305
320
  onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
306
321
  onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
322
+ onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
307
323
  onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
308
324
  onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
309
325
  onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -322,7 +338,7 @@ declare const CDSPagination_base: {
322
338
  onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
323
339
  onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
324
340
  ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
325
- ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
341
+ ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
326
342
  ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
327
343
  ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
328
344
  ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
@@ -352,6 +368,7 @@ declare const CDSPagination_base: {
352
368
  accessKey: string;
353
369
  readonly accessKeyLabel: string;
354
370
  autocapitalize: string;
371
+ autocorrect: boolean;
355
372
  dir: string;
356
373
  draggable: boolean;
357
374
  hidden: boolean;
@@ -373,13 +390,14 @@ declare const CDSPagination_base: {
373
390
  click(): void;
374
391
  hidePopover(): void;
375
392
  showPopover(): void;
376
- togglePopover(force?: boolean): boolean;
393
+ togglePopover(options?: boolean): boolean;
377
394
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
378
395
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
379
396
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
380
397
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
381
398
  readonly attributes: NamedNodeMap;
382
- readonly classList: DOMTokenList;
399
+ get classList(): DOMTokenList;
400
+ set classList(value: string);
383
401
  className: string;
384
402
  readonly clientHeight: number;
385
403
  readonly clientLeft: number;
@@ -394,7 +412,8 @@ declare const CDSPagination_base: {
394
412
  onfullscreenerror: ((this: Element, ev: Event) => any) | null;
395
413
  outerHTML: string;
396
414
  readonly ownerDocument: Document;
397
- readonly part: DOMTokenList;
415
+ get part(): DOMTokenList;
416
+ set part(value: string);
398
417
  readonly prefix: string | null;
399
418
  readonly scrollHeight: number;
400
419
  scrollLeft: number;
@@ -457,6 +476,8 @@ declare const CDSPagination_base: {
457
476
  setPointerCapture(pointerId: number): void;
458
477
  toggleAttribute(qualifiedName: string, force?: boolean): boolean;
459
478
  webkitMatchesSelector(selectors: string): boolean;
479
+ get textContent(): string;
480
+ set textContent(value: string | null);
460
481
  readonly baseURI: string;
461
482
  readonly childNodes: NodeListOf<ChildNode>;
462
483
  readonly firstChild: ChildNode | null;
@@ -469,9 +490,8 @@ declare const CDSPagination_base: {
469
490
  readonly parentElement: HTMLElement | null;
470
491
  readonly parentNode: ParentNode | null;
471
492
  readonly previousSibling: ChildNode | null;
472
- textContent: string | null;
473
493
  appendChild<T extends Node>(node: T): T;
474
- cloneNode(deep?: boolean): Node;
494
+ cloneNode(subtree?: boolean): Node;
475
495
  compareDocumentPosition(other: Node): number;
476
496
  contains(other: Node | null): boolean;
477
497
  getRootNode(options?: GetRootNodeOptions): Node;
@@ -504,6 +524,7 @@ declare const CDSPagination_base: {
504
524
  readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
505
525
  readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
506
526
  dispatchEvent(event: Event): boolean;
527
+ ariaActiveDescendantElement: Element | null;
507
528
  ariaAtomic: string | null;
508
529
  ariaAutoComplete: string | null;
509
530
  ariaBrailleLabel: string | null;
@@ -514,25 +535,33 @@ declare const CDSPagination_base: {
514
535
  ariaColIndex: string | null;
515
536
  ariaColIndexText: string | null;
516
537
  ariaColSpan: string | null;
538
+ ariaControlsElements: ReadonlyArray<Element> | null;
517
539
  ariaCurrent: string | null;
540
+ ariaDescribedByElements: ReadonlyArray<Element> | null;
518
541
  ariaDescription: string | null;
542
+ ariaDetailsElements: ReadonlyArray<Element> | null;
519
543
  ariaDisabled: string | null;
544
+ ariaErrorMessageElements: ReadonlyArray<Element> | null;
520
545
  ariaExpanded: string | null;
546
+ ariaFlowToElements: ReadonlyArray<Element> | null;
521
547
  ariaHasPopup: string | null;
522
548
  ariaHidden: string | null;
523
549
  ariaInvalid: string | null;
524
550
  ariaKeyShortcuts: string | null;
525
551
  ariaLabel: string | null;
552
+ ariaLabelledByElements: ReadonlyArray<Element> | null;
526
553
  ariaLevel: string | null;
527
554
  ariaLive: string | null;
528
555
  ariaModal: string | null;
529
556
  ariaMultiLine: string | null;
530
557
  ariaMultiSelectable: string | null;
531
558
  ariaOrientation: string | null;
559
+ ariaOwnsElements: ReadonlyArray<Element> | null;
532
560
  ariaPlaceholder: string | null;
533
561
  ariaPosInSet: string | null;
534
562
  ariaPressed: string | null;
535
563
  ariaReadOnly: string | null;
564
+ ariaRelevant: string | null;
536
565
  ariaRequired: string | null;
537
566
  ariaRoleDescription: string | null;
538
567
  ariaRowCount: string | null;
@@ -574,7 +603,8 @@ declare const CDSPagination_base: {
574
603
  replaceChildren(...nodes: (Node | string)[]): void;
575
604
  readonly assignedSlot: HTMLSlotElement | null;
576
605
  readonly attributeStyleMap: StylePropertyMap;
577
- readonly style: CSSStyleDeclaration;
606
+ get style(): CSSStyleDeclaration;
607
+ set style(cssText: string);
578
608
  contentEditable: string;
579
609
  enterKeyHint: string;
580
610
  inputMode: string;
@@ -584,18 +614,19 @@ declare const CDSPagination_base: {
584
614
  onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
585
615
  onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
586
616
  onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
587
- onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
617
+ onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
588
618
  onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
589
- onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
619
+ onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;
620
+ onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
590
621
  onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
591
622
  oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
592
623
  oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
593
624
  oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
594
625
  onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
595
- onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
626
+ onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
596
627
  onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
597
628
  oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
598
- oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
629
+ oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
599
630
  oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
600
631
  oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
601
632
  oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -643,6 +674,7 @@ declare const CDSPagination_base: {
643
674
  onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
644
675
  onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
645
676
  onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
677
+ onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
646
678
  onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
647
679
  onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
648
680
  onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -661,7 +693,7 @@ declare const CDSPagination_base: {
661
693
  onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
662
694
  onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
663
695
  ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
664
- ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null;
696
+ ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
665
697
  ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
666
698
  ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
667
699
  ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
@@ -852,6 +884,8 @@ declare class CDSPagination extends CDSPagination_base {
852
884
  static get eventPageSizeChanged(): string;
853
885
  static shadowRootOptions: {
854
886
  delegatesFocus: boolean;
887
+ clonable?: boolean;
888
+ customElementRegistry?: CustomElementRegistry;
855
889
  mode: ShadowRootMode;
856
890
  serializable?: boolean;
857
891
  slotAssignment?: SlotAssignmentMode;
@@ -249,13 +249,15 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
249
249
  }
250
250
  }
251
251
  updated(changedProperties) {
252
+ var _a, _b;
252
253
  const { page, pageSize, totalItems, pagesUnknown } = this;
253
254
  const { selectorPageSizesSelect, selectorPagesSelect } = this
254
255
  .constructor;
255
256
  if (changedProperties.has('pageSize')) {
256
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion , @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452
257
- this.shadowRoot.querySelector(selectorPageSizesSelect).value =
258
- pageSize;
257
+ const pageSizeSelect = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(selectorPageSizesSelect);
258
+ if (pageSizeSelect) {
259
+ pageSizeSelect.value = String(pageSize !== null && pageSize !== void 0 ? pageSize : '');
260
+ }
259
261
  }
260
262
  // Recompute total pages and clamp the visible page whenever any relevant input changes
261
263
  if (changedProperties.has('pageSize') ||
@@ -267,14 +269,17 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
267
269
  : (totalItems !== null && totalItems !== void 0 ? totalItems : 0);
268
270
  // Only assign if it actually changed to avoid unnecessary updates
269
271
  if (this.totalPages !== computedTotalPages) {
270
- this.totalPages = computedTotalPages;
272
+ this.updateComplete.then(() => {
273
+ this.totalPages = computedTotalPages;
274
+ });
271
275
  }
272
276
  const totalPagesSafe = Math.max(1, computedTotalPages || 1);
273
277
  const requestedPage = Math.max(1, Math.floor(this.page || 1));
274
278
  const displayPage = Math.min(requestedPage, totalPagesSafe);
275
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452
276
- this.shadowRoot.querySelector(selectorPagesSelect).value =
277
- displayPage.toString();
279
+ const pagesSelect = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(selectorPagesSelect);
280
+ if (pagesSelect) {
281
+ pagesSelect.value = displayPage.toString();
282
+ }
278
283
  }
279
284
  if (changedProperties.has('page')) {
280
285
  const newStart = this._calculateStart(page, pageSize, totalItems, pagesUnknown);
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sources":["../../../src/components/pagination/pagination.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, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport styles from './pagination.scss?lit';\nimport { PAGINATION_SIZE } from './defs';\nimport CDSSelect from '../select/select';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport '../button/index';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Pagination UI.\n *\n * @element cds-pagination\n * @slot page-sizes-select - Where to put in the `<page-sizes-select>`.\n * @fires cds-pagination-changed-current - The custom event fired after the current page is changed from `<cds-pages-select>`.\n * @fires cds-page-sizes-select-changed - The custom event fired after the number of rows per page is changed from `<cds-page-sizes-select>`.\n */\n@customElement(`${prefix}-pagination`)\nclass CDSPagination extends FocusMixin(HostListenerMixin(LitElement)) {\n @query(`${prefix}-select`)\n private _pageSizeSelect!: HTMLElement;\n\n private _handleSlotChange({ target }: Event) {\n const content = (target as HTMLSlotElement).assignedNodes().filter(\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\n content.forEach((item) => {\n this._pageSizeSelect.appendChild(item);\n });\n }\n\n /**\n * @returns Page status text.\n */\n private _renderStatusText() {\n const {\n start,\n pageSize,\n totalItems,\n pagesUnknown,\n formatStatusWithDeterminateTotal,\n formatStatusWithIndeterminateTotal,\n } = this;\n\n const min = totalItems === 0 ? 0 : start + 1;\n\n if (pagesUnknown || totalItems == null) {\n // * Indeterminate total:\n // - totalItems === 0 → \"0–0 of 0 items\"\n // - else → closed range \"1–10 items\", \"11–20 items\", etc.\n if (totalItems === 0) {\n return formatStatusWithDeterminateTotal({ start: 0, end: 0, count: 0 });\n }\n const end = start + pageSize;\n return formatStatusWithIndeterminateTotal({\n start: min,\n end,\n // Use visible range for pluralization, so we get \"items\" not \"item\"\n count: Math.max(0, end - start),\n });\n }\n\n // * Determinate total:\n // - Regular: \"1–10 of 100 items\"\n // - When totalItems === 0 → \"0–0 of 0 item\"\n return formatStatusWithDeterminateTotal({\n start: min,\n end: Math.min(start + pageSize, totalItems),\n count: totalItems,\n });\n }\n\n /**\n * Calculates the start value based on `page`, `pageSize`, and `totalItems`\n */\n private _calculateStart(\n page: number,\n pageSize: number,\n totalItems: number | undefined,\n pagesUnknown: boolean\n ): number {\n if (!pagesUnknown && totalItems === 0) return 0;\n const safePageSize = pageSize > 0 ? pageSize : 1;\n const calculatedStart = (Math.max(1, page) - 1) * safePageSize;\n\n // Only clamp to the last page when the total is determinate\n if (!pagesUnknown && Number.isFinite(totalItems)) {\n const maxStart =\n (Math.ceil((totalItems as number) / safePageSize) - 1) * safePageSize;\n return Math.max(0, Math.min(calculatedStart, maxStart));\n }\n\n return Math.max(0, calculatedStart);\n }\n\n /**\n * Handles user-initiated change in the row number the current page starts with.\n *\n * @param start The new current row number, index that starts with zero.\n */\n private _handleUserInitiatedChangeStart(start: number) {\n this.start = start;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPagination).eventChangeCurrent,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n pageSize: this.pageSize,\n },\n }\n )\n );\n }\n\n /**\n * Handles user-initiated change in the size of the page.\n */\n private _handleUserInitiatedPageSizeChange() {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPagination).eventPageSizeChanged,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n pageSize: this.pageSize,\n },\n }\n )\n );\n }\n\n /**\n * Handles `click` event on the previous button.\n */\n private _handleClickPrevButton() {\n const { start: oldStart, pageSize } = this;\n this.page--;\n const newStart = Math.max(oldStart - pageSize, 0);\n if (newStart !== oldStart) {\n this._handleUserInitiatedChangeStart(newStart);\n }\n // reset focus to forward button if it reaches the beginning\n if (this.page === 1) {\n const { selectorForwardButton } = this\n .constructor as typeof CDSPagination;\n (\n this.shadowRoot?.querySelector(\n `[button-class-name*=${selectorForwardButton}]`\n ) as HTMLElement\n ).focus();\n }\n }\n\n /**\n * Handles `click` event on the next button.\n */\n private _handleClickNextButton() {\n const { start: oldStart, pageSize, totalItems, pagesUnknown } = this;\n this.page++;\n const newStart = oldStart + pageSize;\n\n if (\n newStart < (totalItems == null ? Infinity : totalItems) ||\n pagesUnknown\n ) {\n this._handleUserInitiatedChangeStart(newStart);\n }\n // reset focus to previous button if it reaches the end and `pagesUnknown` is not true\n if (!pagesUnknown && this.page === this.totalPages) {\n const { selectorPreviousButton } = this\n .constructor as typeof CDSPagination;\n (\n this.shadowRoot?.querySelector(\n `[button-class-name*=${selectorPreviousButton}]`\n ) as HTMLElement\n ).focus();\n }\n }\n\n /**\n * Handles user-initiated change in number of rows per page.\n *\n * @param event The event.\n */\n @HostListener(`${prefix}-select-selected`)\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 _handleChangeSelector(event) {\n const { value } = event.detail;\n const { totalItems, pageSize, pagesUnknown } = this;\n\n if (event.composedPath()[0] === this._pageSizeSelect) {\n this.pageSize = parseInt(value);\n // Default pageSize to effectively be 1 when we have a value of 0 to avoid\n // division by 0.\n this.totalPages =\n pageSize > 0 ? Math.ceil(totalItems / pageSize) : totalItems;\n this.page = 1;\n this.start = 0;\n this._handleUserInitiatedPageSizeChange();\n } else {\n this.page = value;\n const newStart = this._calculateStart(\n value,\n pageSize,\n totalItems,\n pagesUnknown\n );\n this._handleUserInitiatedChangeStart(newStart);\n }\n }\n\n /**\n * The assistive text for the button to go to previous page.\n */\n @property({ attribute: 'backward-text' })\n backwardText = 'Previous page';\n\n /**\n * The current page\n */\n @property({ type: Number, reflect: true })\n page = 1;\n\n /**\n * The formatter for the assistive text for screen readers to announce.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatLabelText = ({ count }) =>\n `Page of ${count} page${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter, used with determinate the total pages. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatStatusWithDeterminateTotal = ({ start, end, count }) =>\n `${start}–${end} of ${count} item${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter, used with indeterminate the total pages. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatStatusWithIndeterminateTotal = ({ start, end, count }) =>\n end == null\n ? `Item ${start}–`\n : `${start}–${end} item${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter for the text next to the select box. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatSupplementalText = ({ count }) =>\n this.pagesUnknown || !this.totalItems\n ? `page`\n : `of ${count} page${count <= 1 ? '' : 's'}`;\n /**\n * `true` to explicitly state that user is at the last page.\n */\n @property({ type: Boolean, attribute: 'is-last-page' })\n isLastPage!: boolean;\n\n /**\n * The translatable text indicating the number of items per page.\n */\n @property({ attribute: 'items-per-page-text' })\n itemsPerPageText = 'Items per page:';\n\n /**\n * `true` if the pagination UI should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The assistive text for the button to go to next page.\n */\n @property({ attribute: 'forward-text' })\n forwardText = 'Next page';\n\n /**\n * true if the select box to change the page should be disabled.\n */\n @property({ type: Boolean, attribute: 'page-input-disabled' })\n pageInputDisabled = false;\n\n /**\n * Number of items per page.\n */\n @property({ type: Number, attribute: 'page-size', reflect: true })\n pageSize = 10;\n\n /**\n * true if the select box to change the items per page should be disabled.\n */\n @property({ type: Boolean, attribute: 'page-size-input-disabled' })\n pageSizeInputDisabled;\n\n /**\n * The label text for the UI to select page size.\n */\n @property({ attribute: 'page-size-label-text' })\n pageSizeLabelText!: string;\n\n /**\n * true if the total number of items is unknown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'pages-unknown' })\n pagesUnknown = false;\n\n /**\n * Specify the size of the Pagination.\n */\n @property({ reflect: true })\n size = PAGINATION_SIZE.MEDIUM;\n\n /**\n * The row number where current page start with, index that starts with zero.\n */\n @property({ type: Number })\n start = 0;\n\n /**\n * The number of total items.\n */\n @property({\n type: Number,\n attribute: 'total-items',\n converter: {\n fromAttribute: (value) =>\n value === null || value === '' ? undefined : Number(value),\n },\n })\n totalItems!: number;\n\n /**\n * The number of total pages.\n */\n @property({ type: Number })\n totalPages = 1;\n\n updated(changedProperties) {\n const { page, pageSize, totalItems, pagesUnknown } = this;\n const { selectorPageSizesSelect, selectorPagesSelect } = this\n .constructor as typeof CDSPagination;\n\n if (changedProperties.has('pageSize')) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion , @typescript-eslint/no-explicit-any -- https://github.com/carbon-design-system/carbon/issues/20452\n (this.shadowRoot!.querySelector(selectorPageSizesSelect) as any).value =\n pageSize;\n }\n\n // Recompute total pages and clamp the visible page whenever any relevant input changes\n if (\n changedProperties.has('pageSize') ||\n changedProperties.has('start') ||\n changedProperties.has('totalItems') ||\n changedProperties.has('page')\n ) {\n const computedTotalPages =\n pageSize > 0\n ? Math.ceil((totalItems ?? 0) / pageSize)\n : (totalItems ?? 0);\n\n // Only assign if it actually changed to avoid unnecessary updates\n if (this.totalPages !== computedTotalPages) {\n this.totalPages = computedTotalPages;\n }\n\n const totalPagesSafe = Math.max(1, computedTotalPages || 1);\n const requestedPage = Math.max(1, Math.floor(this.page || 1));\n const displayPage = Math.min(requestedPage, totalPagesSafe);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n (this.shadowRoot!.querySelector(selectorPagesSelect) as CDSSelect).value =\n displayPage.toString();\n }\n\n if (changedProperties.has('page')) {\n const newStart = this._calculateStart(\n page,\n pageSize,\n totalItems,\n pagesUnknown\n );\n this._handleUserInitiatedChangeStart(newStart);\n }\n }\n\n render() {\n const {\n page,\n disabled,\n forwardText,\n backwardText,\n itemsPerPageText,\n pageInputDisabled,\n pageSize,\n pageSizeInputDisabled,\n pagesUnknown,\n size,\n start,\n totalItems,\n totalPages,\n _handleClickPrevButton: handleClickPrevButton,\n _handleClickNextButton: handleClickNextButton,\n _handleSlotChange: handleSlotChange,\n formatLabelText,\n formatSupplementalText,\n } = this;\n\n const { isLastPage = start + pageSize >= totalItems } = this;\n const prevButtonDisabled = disabled || start === 0;\n const nextButtonDisabled = disabled || (!pagesUnknown && isLastPage);\n\n const prevButtonClassMap = {\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--pagination__button`]: true,\n [`${prefix}--pagination__button--backward`]: true,\n [`${prefix}--pagination__button--no-index`]: prevButtonDisabled,\n [`${prefix}--btn--${size}`]: true,\n [`${prefix}--btn--ghost`]: true,\n };\n const nextButtonClassMap = {\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--pagination__button`]: true,\n [`${prefix}--pagination__button--forward`]: true,\n [`${prefix}--pagination__button--no-index`]: nextButtonDisabled,\n [`${prefix}--btn--${size}`]: true,\n [`${prefix}--btn--ghost`]: true,\n };\n\n const prevButtonClasses = Object.entries(prevButtonClassMap)\n .filter(([, value]) => value === true)\n .map(([key]) => key)\n .join(' ');\n const nextButtonClasses = Object.entries(nextButtonClassMap)\n .filter(([, value]) => value === true)\n .map(([key]) => key)\n .join(' ');\n\n const totalPagesSafe =\n Number.isFinite(totalPages) && totalPages > 0\n ? totalPages\n : Math.max(1, page || 1);\n\n return html`\n <div class=\"${prefix}--pagination__left\">\n <label for=\"select\" class=\"${prefix}--pagination__text\"\n ><slot name=\"label-text\">${itemsPerPageText}</slot></label\n >\n <cds-select\n ?disabled=${disabled || pageSizeInputDisabled}\n id=\"page-size-select\"\n left-select\n pagination\n size=\"${size}\"\n inline\n value=\"${pageSize}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </cds-select>\n <span\n class=\"${prefix}--pagination__text ${prefix}--pagination__items-count\"\n >${this._renderStatusText()}</span\n >\n </div>\n <div class=\"${prefix}--pagination__right\">\n ${!pagesUnknown || totalItems\n ? html`\n <label\n for=\"select\"\n class=\"${prefix}--label ${prefix}--visually-hidden\">\n ${formatLabelText({ count: totalPages })}\n </label>\n `\n : null}\n ${pagesUnknown || !totalItems\n ? html`\n <span\n class=\"${prefix}--pagination__text ${prefix}--pagination__page-text ${prefix}--pagination__unknown-pages-text\"\n >${formatSupplementalText({ count: totalPages })} ${page}</span\n >\n `\n : html`\n <cds-select\n ?disabled=${disabled || pageInputDisabled}\n id=\"pages-select\"\n pagination\n size=\"${size}\"\n inline\n value=\"${page}\">\n ${Array.from(new Array(totalPagesSafe)).map(\n (_item, index) => html`\n <cds-select-item\n value=\"${index + 1}\"\n ?selected=${page === index + 1}>\n ${index + 1}\n </cds-select-item>\n `\n )}\n </cds-select>\n <span class=\"${prefix}--pagination__text\"\n >${formatSupplementalText({ count: totalPages })}</span\n >\n `}\n\n <div class=\"${prefix}--pagination__control-buttons\">\n <cds-button\n pagination\n size=\"${size}\"\n ?disabled=\"${prevButtonDisabled}\"\n button-class-name=\"${prevButtonClasses}\"\n tooltip-text=\"${backwardText}\"\n @click=\"${handleClickPrevButton}\">\n ${iconLoader(CaretLeft16, { slot: 'icon' })}\n </cds-button>\n <cds-button\n tooltip-position=\"top-right\"\n pagination\n size=\"${size}\"\n ?disabled=\"${nextButtonDisabled}\"\n button-class-name=\"${nextButtonClasses}\"\n tooltip-text=\"${forwardText}\"\n @click=\"${handleClickNextButton}\">\n ${iconLoader(CaretRight16, { slot: 'icon' })}\n </cds-button>\n </div>\n </div>\n `;\n }\n\n /**\n * A selector that will return the select box for the current page.\n */\n static get selectorPagesSelect() {\n return `${prefix}-select#pages-select`;\n }\n\n /**\n * A selector that will return the select box for page sizes.\n */\n static get selectorPageSizesSelect() {\n return `${prefix}-select`;\n }\n\n /**\n * A selector that will return the previous button.\n */\n static get selectorPreviousButton() {\n return `${prefix}--pagination__button--backward`;\n }\n\n /**\n * A selector that will return the forward button.\n */\n static get selectorForwardButton() {\n return `${prefix}--pagination__button--forward`;\n }\n\n /**\n * The name of the custom event fired after the current row number is changed.\n */\n static get eventChangeCurrent() {\n return `${prefix}-pagination-changed-current`;\n }\n\n /**\n * The name of the custom event fired after the number of rows per page is changed from `<cds-page-sizes-select>`.\n */\n static get eventPageSizeChanged() {\n return `${prefix}-page-sizes-select-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSPagination;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sources":["../../../src/components/pagination/pagination.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, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport styles from './pagination.scss?lit';\nimport { PAGINATION_SIZE } from './defs';\nimport CDSSelect from '../select/select';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport '../button/index';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * Pagination UI.\n *\n * @element cds-pagination\n * @slot page-sizes-select - Where to put in the `<page-sizes-select>`.\n * @fires cds-pagination-changed-current - The custom event fired after the current page is changed from `<cds-pages-select>`.\n * @fires cds-page-sizes-select-changed - The custom event fired after the number of rows per page is changed from `<cds-page-sizes-select>`.\n */\n@customElement(`${prefix}-pagination`)\nclass CDSPagination extends FocusMixin(HostListenerMixin(LitElement)) {\n @query(`${prefix}-select`)\n private _pageSizeSelect!: HTMLElement;\n\n private _handleSlotChange({ target }: Event) {\n const content = (target as HTMLSlotElement).assignedNodes().filter(\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\n content.forEach((item) => {\n this._pageSizeSelect.appendChild(item);\n });\n }\n\n /**\n * @returns Page status text.\n */\n private _renderStatusText() {\n const {\n start,\n pageSize,\n totalItems,\n pagesUnknown,\n formatStatusWithDeterminateTotal,\n formatStatusWithIndeterminateTotal,\n } = this;\n\n const min = totalItems === 0 ? 0 : start + 1;\n\n if (pagesUnknown || totalItems == null) {\n // * Indeterminate total:\n // - totalItems === 0 → \"0–0 of 0 items\"\n // - else → closed range \"1–10 items\", \"11–20 items\", etc.\n if (totalItems === 0) {\n return formatStatusWithDeterminateTotal({ start: 0, end: 0, count: 0 });\n }\n const end = start + pageSize;\n return formatStatusWithIndeterminateTotal({\n start: min,\n end,\n // Use visible range for pluralization, so we get \"items\" not \"item\"\n count: Math.max(0, end - start),\n });\n }\n\n // * Determinate total:\n // - Regular: \"1–10 of 100 items\"\n // - When totalItems === 0 → \"0–0 of 0 item\"\n return formatStatusWithDeterminateTotal({\n start: min,\n end: Math.min(start + pageSize, totalItems),\n count: totalItems,\n });\n }\n\n /**\n * Calculates the start value based on `page`, `pageSize`, and `totalItems`\n */\n private _calculateStart(\n page: number,\n pageSize: number,\n totalItems: number | undefined,\n pagesUnknown: boolean\n ): number {\n if (!pagesUnknown && totalItems === 0) return 0;\n const safePageSize = pageSize > 0 ? pageSize : 1;\n const calculatedStart = (Math.max(1, page) - 1) * safePageSize;\n\n // Only clamp to the last page when the total is determinate\n if (!pagesUnknown && Number.isFinite(totalItems)) {\n const maxStart =\n (Math.ceil((totalItems as number) / safePageSize) - 1) * safePageSize;\n return Math.max(0, Math.min(calculatedStart, maxStart));\n }\n\n return Math.max(0, calculatedStart);\n }\n\n /**\n * Handles user-initiated change in the row number the current page starts with.\n *\n * @param start The new current row number, index that starts with zero.\n */\n private _handleUserInitiatedChangeStart(start: number) {\n this.start = start;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPagination).eventChangeCurrent,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n pageSize: this.pageSize,\n },\n }\n )\n );\n }\n\n /**\n * Handles user-initiated change in the size of the page.\n */\n private _handleUserInitiatedPageSizeChange() {\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPagination).eventPageSizeChanged,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n pageSize: this.pageSize,\n },\n }\n )\n );\n }\n\n /**\n * Handles `click` event on the previous button.\n */\n private _handleClickPrevButton() {\n const { start: oldStart, pageSize } = this;\n this.page--;\n const newStart = Math.max(oldStart - pageSize, 0);\n if (newStart !== oldStart) {\n this._handleUserInitiatedChangeStart(newStart);\n }\n // reset focus to forward button if it reaches the beginning\n if (this.page === 1) {\n const { selectorForwardButton } = this\n .constructor as typeof CDSPagination;\n (\n this.shadowRoot?.querySelector(\n `[button-class-name*=${selectorForwardButton}]`\n ) as HTMLElement\n ).focus();\n }\n }\n\n /**\n * Handles `click` event on the next button.\n */\n private _handleClickNextButton() {\n const { start: oldStart, pageSize, totalItems, pagesUnknown } = this;\n this.page++;\n const newStart = oldStart + pageSize;\n\n if (\n newStart < (totalItems == null ? Infinity : totalItems) ||\n pagesUnknown\n ) {\n this._handleUserInitiatedChangeStart(newStart);\n }\n // reset focus to previous button if it reaches the end and `pagesUnknown` is not true\n if (!pagesUnknown && this.page === this.totalPages) {\n const { selectorPreviousButton } = this\n .constructor as typeof CDSPagination;\n (\n this.shadowRoot?.querySelector(\n `[button-class-name*=${selectorPreviousButton}]`\n ) as HTMLElement\n ).focus();\n }\n }\n\n /**\n * Handles user-initiated change in number of rows per page.\n *\n * @param event The event.\n */\n @HostListener(`${prefix}-select-selected`)\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 _handleChangeSelector(event) {\n const { value } = event.detail;\n const { totalItems, pageSize, pagesUnknown } = this;\n\n if (event.composedPath()[0] === this._pageSizeSelect) {\n this.pageSize = parseInt(value);\n // Default pageSize to effectively be 1 when we have a value of 0 to avoid\n // division by 0.\n this.totalPages =\n pageSize > 0 ? Math.ceil(totalItems / pageSize) : totalItems;\n this.page = 1;\n this.start = 0;\n this._handleUserInitiatedPageSizeChange();\n } else {\n this.page = value;\n const newStart = this._calculateStart(\n value,\n pageSize,\n totalItems,\n pagesUnknown\n );\n this._handleUserInitiatedChangeStart(newStart);\n }\n }\n\n /**\n * The assistive text for the button to go to previous page.\n */\n @property({ attribute: 'backward-text' })\n backwardText = 'Previous page';\n\n /**\n * The current page\n */\n @property({ type: Number, reflect: true })\n page = 1;\n\n /**\n * The formatter for the assistive text for screen readers to announce.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatLabelText = ({ count }) =>\n `Page of ${count} page${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter, used with determinate the total pages. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatStatusWithDeterminateTotal = ({ start, end, count }) =>\n `${start}–${end} of ${count} item${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter, used with indeterminate the total pages. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatStatusWithIndeterminateTotal = ({ start, end, count }) =>\n end == null\n ? `Item ${start}–`\n : `${start}–${end} item${count <= 1 ? '' : 's'}`;\n\n /**\n * The formatter for the text next to the select box. Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatSupplementalText = ({ count }) =>\n this.pagesUnknown || !this.totalItems\n ? `page`\n : `of ${count} page${count <= 1 ? '' : 's'}`;\n /**\n * `true` to explicitly state that user is at the last page.\n */\n @property({ type: Boolean, attribute: 'is-last-page' })\n isLastPage!: boolean;\n\n /**\n * The translatable text indicating the number of items per page.\n */\n @property({ attribute: 'items-per-page-text' })\n itemsPerPageText = 'Items per page:';\n\n /**\n * `true` if the pagination UI should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The assistive text for the button to go to next page.\n */\n @property({ attribute: 'forward-text' })\n forwardText = 'Next page';\n\n /**\n * true if the select box to change the page should be disabled.\n */\n @property({ type: Boolean, attribute: 'page-input-disabled' })\n pageInputDisabled = false;\n\n /**\n * Number of items per page.\n */\n @property({ type: Number, attribute: 'page-size', reflect: true })\n pageSize = 10;\n\n /**\n * true if the select box to change the items per page should be disabled.\n */\n @property({ type: Boolean, attribute: 'page-size-input-disabled' })\n pageSizeInputDisabled;\n\n /**\n * The label text for the UI to select page size.\n */\n @property({ attribute: 'page-size-label-text' })\n pageSizeLabelText!: string;\n\n /**\n * true if the total number of items is unknown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'pages-unknown' })\n pagesUnknown = false;\n\n /**\n * Specify the size of the Pagination.\n */\n @property({ reflect: true })\n size = PAGINATION_SIZE.MEDIUM;\n\n /**\n * The row number where current page start with, index that starts with zero.\n */\n @property({ type: Number })\n start = 0;\n\n /**\n * The number of total items.\n */\n @property({\n type: Number,\n attribute: 'total-items',\n converter: {\n fromAttribute: (value) =>\n value === null || value === '' ? undefined : Number(value),\n },\n })\n totalItems!: number;\n\n /**\n * The number of total pages.\n */\n @property({ type: Number })\n totalPages = 1;\n\n updated(changedProperties) {\n const { page, pageSize, totalItems, pagesUnknown } = this;\n const { selectorPageSizesSelect, selectorPagesSelect } = this\n .constructor as typeof CDSPagination;\n\n if (changedProperties.has('pageSize')) {\n const pageSizeSelect = this.shadowRoot?.querySelector(\n selectorPageSizesSelect\n ) as CDSSelect | null;\n\n if (pageSizeSelect) {\n pageSizeSelect.value = String(pageSize ?? '');\n }\n }\n\n // Recompute total pages and clamp the visible page whenever any relevant input changes\n if (\n changedProperties.has('pageSize') ||\n changedProperties.has('start') ||\n changedProperties.has('totalItems') ||\n changedProperties.has('page')\n ) {\n const computedTotalPages =\n pageSize > 0\n ? Math.ceil((totalItems ?? 0) / pageSize)\n : (totalItems ?? 0);\n\n // Only assign if it actually changed to avoid unnecessary updates\n if (this.totalPages !== computedTotalPages) {\n this.updateComplete.then(() => {\n this.totalPages = computedTotalPages;\n });\n }\n\n const totalPagesSafe = Math.max(1, computedTotalPages || 1);\n const requestedPage = Math.max(1, Math.floor(this.page || 1));\n const displayPage = Math.min(requestedPage, totalPagesSafe);\n\n const pagesSelect = this.shadowRoot?.querySelector(\n selectorPagesSelect\n ) as CDSSelect | null;\n\n if (pagesSelect) {\n pagesSelect.value = displayPage.toString();\n }\n }\n\n if (changedProperties.has('page')) {\n const newStart = this._calculateStart(\n page,\n pageSize,\n totalItems,\n pagesUnknown\n );\n this._handleUserInitiatedChangeStart(newStart);\n }\n }\n\n render() {\n const {\n page,\n disabled,\n forwardText,\n backwardText,\n itemsPerPageText,\n pageInputDisabled,\n pageSize,\n pageSizeInputDisabled,\n pagesUnknown,\n size,\n start,\n totalItems,\n totalPages,\n _handleClickPrevButton: handleClickPrevButton,\n _handleClickNextButton: handleClickNextButton,\n _handleSlotChange: handleSlotChange,\n formatLabelText,\n formatSupplementalText,\n } = this;\n\n const { isLastPage = start + pageSize >= totalItems } = this;\n const prevButtonDisabled = disabled || start === 0;\n const nextButtonDisabled = disabled || (!pagesUnknown && isLastPage);\n\n const prevButtonClassMap = {\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--pagination__button`]: true,\n [`${prefix}--pagination__button--backward`]: true,\n [`${prefix}--pagination__button--no-index`]: prevButtonDisabled,\n [`${prefix}--btn--${size}`]: true,\n [`${prefix}--btn--ghost`]: true,\n };\n const nextButtonClassMap = {\n [`${prefix}--btn`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--pagination__button`]: true,\n [`${prefix}--pagination__button--forward`]: true,\n [`${prefix}--pagination__button--no-index`]: nextButtonDisabled,\n [`${prefix}--btn--${size}`]: true,\n [`${prefix}--btn--ghost`]: true,\n };\n\n const prevButtonClasses = Object.entries(prevButtonClassMap)\n .filter(([, value]) => value === true)\n .map(([key]) => key)\n .join(' ');\n const nextButtonClasses = Object.entries(nextButtonClassMap)\n .filter(([, value]) => value === true)\n .map(([key]) => key)\n .join(' ');\n\n const totalPagesSafe =\n Number.isFinite(totalPages) && totalPages > 0\n ? totalPages\n : Math.max(1, page || 1);\n\n return html`\n <div class=\"${prefix}--pagination__left\">\n <label for=\"select\" class=\"${prefix}--pagination__text\"\n ><slot name=\"label-text\">${itemsPerPageText}</slot></label\n >\n <cds-select\n ?disabled=${disabled || pageSizeInputDisabled}\n id=\"page-size-select\"\n left-select\n pagination\n size=\"${size}\"\n inline\n value=\"${pageSize}\">\n <slot @slotchange=${handleSlotChange}></slot>\n </cds-select>\n <span\n class=\"${prefix}--pagination__text ${prefix}--pagination__items-count\"\n >${this._renderStatusText()}</span\n >\n </div>\n <div class=\"${prefix}--pagination__right\">\n ${!pagesUnknown || totalItems\n ? html`\n <label\n for=\"select\"\n class=\"${prefix}--label ${prefix}--visually-hidden\">\n ${formatLabelText({ count: totalPages })}\n </label>\n `\n : null}\n ${pagesUnknown || !totalItems\n ? html`\n <span\n class=\"${prefix}--pagination__text ${prefix}--pagination__page-text ${prefix}--pagination__unknown-pages-text\"\n >${formatSupplementalText({ count: totalPages })} ${page}</span\n >\n `\n : html`\n <cds-select\n ?disabled=${disabled || pageInputDisabled}\n id=\"pages-select\"\n pagination\n size=\"${size}\"\n inline\n value=\"${page}\">\n ${Array.from(new Array(totalPagesSafe)).map(\n (_item, index) => html`\n <cds-select-item\n value=\"${index + 1}\"\n ?selected=${page === index + 1}>\n ${index + 1}\n </cds-select-item>\n `\n )}\n </cds-select>\n <span class=\"${prefix}--pagination__text\"\n >${formatSupplementalText({ count: totalPages })}</span\n >\n `}\n\n <div class=\"${prefix}--pagination__control-buttons\">\n <cds-button\n pagination\n size=\"${size}\"\n ?disabled=\"${prevButtonDisabled}\"\n button-class-name=\"${prevButtonClasses}\"\n tooltip-text=\"${backwardText}\"\n @click=\"${handleClickPrevButton}\">\n ${iconLoader(CaretLeft16, { slot: 'icon' })}\n </cds-button>\n <cds-button\n tooltip-position=\"top-right\"\n pagination\n size=\"${size}\"\n ?disabled=\"${nextButtonDisabled}\"\n button-class-name=\"${nextButtonClasses}\"\n tooltip-text=\"${forwardText}\"\n @click=\"${handleClickNextButton}\">\n ${iconLoader(CaretRight16, { slot: 'icon' })}\n </cds-button>\n </div>\n </div>\n `;\n }\n\n /**\n * A selector that will return the select box for the current page.\n */\n static get selectorPagesSelect() {\n return `${prefix}-select#pages-select`;\n }\n\n /**\n * A selector that will return the select box for page sizes.\n */\n static get selectorPageSizesSelect() {\n return `${prefix}-select`;\n }\n\n /**\n * A selector that will return the previous button.\n */\n static get selectorPreviousButton() {\n return `${prefix}--pagination__button--backward`;\n }\n\n /**\n * A selector that will return the forward button.\n */\n static get selectorForwardButton() {\n return `${prefix}--pagination__button--forward`;\n }\n\n /**\n * The name of the custom event fired after the current row number is changed.\n */\n static get eventChangeCurrent() {\n return `${prefix}-pagination-changed-current`;\n }\n\n /**\n * The name of the custom event fired after the number of rows per page is changed from `<cds-page-sizes-select>`.\n */\n static get eventPageSizeChanged() {\n return `${prefix}-page-sizes-select-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSPagination;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAiBH;;;;;;;AAOG;AAEH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAA;AAArE,IAAA,WAAA,GAAA;;AAyME;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAG,eAAe;AAE9B;;AAEG;QAEH,IAAI,CAAA,IAAA,GAAG,CAAC;AAER;;;AAGG;QAEH,IAAe,CAAA,eAAA,GAAG,CAAC,EAAE,KAAK,EAAE,KAC1B,CAAA,QAAA,EAAW,KAAK,CAAA,KAAA,EAAQ,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAA,CAAE;AAEjD;;AAEG;AAEH,QAAA,IAAA,CAAA,gCAAgC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KACvD,GAAG,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,IAAA,EAAO,KAAK,CAAA,KAAA,EAAQ,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;AAE5D;;AAEG;AAEH,QAAA,IAAA,CAAA,kCAAkC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KACzD,GAAG,IAAI;cACH,CAAQ,KAAA,EAAA,KAAK,CAAG,CAAA;AAClB,cAAE,CAAG,EAAA,KAAK,IAAI,GAAG,CAAA,KAAA,EAAQ,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;AAEpD;;AAEG;AAEH,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,EAAE,KAAK,EAAE,KACjC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC;AACzB,cAAE,CAAM,IAAA;AACR,cAAE,CAAM,GAAA,EAAA,KAAK,CAAQ,KAAA,EAAA,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;AAOhD;;AAEG;QAEH,IAAgB,CAAA,gBAAA,GAAG,iBAAiB;AAEpC;;AAEG;QAEH,IAAQ,CAAA,QAAA,GAAG,KAAK;AAEhB;;AAEG;QAEH,IAAW,CAAA,WAAA,GAAG,WAAW;AAEzB;;AAEG;QAEH,IAAiB,CAAA,iBAAA,GAAG,KAAK;AAEzB;;AAEG;QAEH,IAAQ,CAAA,QAAA,GAAG,EAAE;AAcb;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAG,KAAK;AAEpB;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,eAAe,CAAC,MAAM;AAE7B;;AAEG;QAEH,IAAK,CAAA,KAAA,GAAG,CAAC;AAeT;;AAEG;QAEH,IAAU,CAAA,UAAA,GAAG,CAAC;;IApUN,iBAAiB,CAAC,EAAE,MAAM,EAAS,EAAA;AACzC,QAAA,MAAM,OAAO,GAAI,MAA0B,CAAC,aAAa,EAAE,CAAC,MAAM;;AAEhE,QAAA,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAK,CAAC,WAAY,CAAC,IAAI,EAAE,CACxE;AAED,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACvB,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC;AACxC,SAAC,CAAC;;AAGJ;;AAEG;IACK,iBAAiB,GAAA;AACvB,QAAA,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,gCAAgC,EAChC,kCAAkC,GACnC,GAAG,IAAI;AAER,QAAA,MAAM,GAAG,GAAG,UAAU,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC;AAE5C,QAAA,IAAI,YAAY,IAAI,UAAU,IAAI,IAAI,EAAE;;;;AAItC,YAAA,IAAI,UAAU,KAAK,CAAC,EAAE;AACpB,gBAAA,OAAO,gCAAgC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;;AAEzE,YAAA,MAAM,GAAG,GAAG,KAAK,GAAG,QAAQ;AAC5B,YAAA,OAAO,kCAAkC,CAAC;AACxC,gBAAA,KAAK,EAAE,GAAG;gBACV,GAAG;;gBAEH,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC;AAChC,aAAA,CAAC;;;;;AAMJ,QAAA,OAAO,gCAAgC,CAAC;AACtC,YAAA,KAAK,EAAE,GAAG;YACV,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,UAAU,CAAC;AAC3C,YAAA,KAAK,EAAE,UAAU;AAClB,SAAA,CAAC;;AAGJ;;AAEG;AACK,IAAA,eAAe,CACrB,IAAY,EACZ,QAAgB,EAChB,UAA8B,EAC9B,YAAqB,EAAA;AAErB,QAAA,IAAI,CAAC,YAAY,IAAI,UAAU,KAAK,CAAC;AAAE,YAAA,OAAO,CAAC;AAC/C,QAAA,MAAM,YAAY,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC;AAChD,QAAA,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY;;QAG9D,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AAChD,YAAA,MAAM,QAAQ,GACZ,CAAC,IAAI,CAAC,IAAI,CAAE,UAAqB,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY;AACvE,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;;QAGzD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC;;AAGrC;;;;AAIG;AACK,IAAA,+BAA+B,CAAC,KAAa,EAAA;AACnD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QAClB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACZ,IAAI,CAAC,WAAoC,CAAC,kBAAkB,EAC7D;AACE,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,aAAA;AACF,SAAA,CACF,CACF;;AAGH;;AAEG;IACK,kCAAkC,GAAA;QACxC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACZ,IAAI,CAAC,WAAoC,CAAC,oBAAoB,EAC/D;AACE,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,aAAA;AACF,SAAA,CACF,CACF;;AAGH;;AAEG;IACK,sBAAsB,GAAA;;QAC5B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI;QAC1C,IAAI,CAAC,IAAI,EAAE;AACX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;AACjD,QAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;AACzB,YAAA,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC;;;AAGhD,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;AACnB,YAAA,MAAM,EAAE,qBAAqB,EAAE,GAAG;AAC/B,iBAAA,WAAmC;AACtC,YAAA,CACE,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAC5B,CAAuB,oBAAA,EAAA,qBAAqB,GAAG,CAElD,EAAC,KAAK,EAAE;;;AAIb;;AAEG;IACK,sBAAsB,GAAA;;AAC5B,QAAA,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI;QACpE,IAAI,CAAC,IAAI,EAAE;AACX,QAAA,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ;AAEpC,QAAA,IACE,QAAQ,IAAI,UAAU,IAAI,IAAI,GAAG,QAAQ,GAAG,UAAU,CAAC;AACvD,YAAA,YAAY,EACZ;AACA,YAAA,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC;;;QAGhD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE;AAClD,YAAA,MAAM,EAAE,sBAAsB,EAAE,GAAG;AAChC,iBAAA,WAAmC;AACtC,YAAA,CACE,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAC5B,CAAuB,oBAAA,EAAA,sBAAsB,GAAG,CAEnD,EAAC,KAAK,EAAE;;;AAIb;;;;AAIG;AAIK,IAAA,qBAAqB,CAAC,KAAK,EAAA;AACjC,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM;QAC9B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;AAEnD,QAAA,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE;AACpD,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;;;AAG/B,YAAA,IAAI,CAAC,UAAU;AACb,gBAAA,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,UAAU;AAC9D,YAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC;YACd,IAAI,CAAC,kCAAkC,EAAE;;aACpC;AACL,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CACnC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,YAAY,CACb;AACD,YAAA,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC;;;AAqIlD,IAAA,OAAO,CAAC,iBAAiB,EAAA;;QACvB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI;AACzD,QAAA,MAAM,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,GAAG;AACtD,aAAA,WAAmC;AAEtC,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACrC,MAAM,cAAc,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CACnD,uBAAuB,CACJ;YAErB,IAAI,cAAc,EAAE;AAClB,gBAAA,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,MAAA,GAAA,QAAQ,GAAI,EAAE,CAAC;;;;AAKjD,QAAA,IACE,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC;AACjC,YAAA,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;AAC9B,YAAA,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC;AACnC,YAAA,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAC7B;AACA,YAAA,MAAM,kBAAkB,GACtB,QAAQ,GAAG;AACT,kBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,MAAA,GAAV,UAAU,GAAI,CAAC,IAAI,QAAQ;mBACrC,UAAU,KAAV,IAAA,IAAA,UAAU,cAAV,UAAU,GAAI,CAAC,CAAC;;AAGvB,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,kBAAkB,EAAE;AAC1C,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAK;AAC5B,oBAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB;AACtC,iBAAC,CAAC;;AAGJ,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,IAAI,CAAC,CAAC;AAC3D,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC;YAE3D,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAChD,mBAAmB,CACA;YAErB,IAAI,WAAW,EAAE;AACf,gBAAA,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE;;;AAI9C,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACjC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CACnC,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,YAAY,CACb;AACD,YAAA,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC;;;IAIlD,MAAM,GAAA;QACJ,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,EACrB,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,sBAAsB,EAAE,qBAAqB,EAC7C,sBAAsB,EAAE,qBAAqB,EAC7C,iBAAiB,EAAE,gBAAgB,EACnC,eAAe,EACf,sBAAsB,GACvB,GAAG,IAAI;QAER,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,IAAI,UAAU,EAAE,GAAG,IAAI;AAC5D,QAAA,MAAM,kBAAkB,GAAG,QAAQ,IAAI,KAAK,KAAK,CAAC;QAClD,MAAM,kBAAkB,GAAG,QAAQ,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC;AAEpE,QAAA,MAAM,kBAAkB,GAAG;AACzB,YAAA,CAAC,CAAG,EAAA,MAAM,CAAO,KAAA,CAAA,GAAG,IAAI;AACxB,YAAA,CAAC,CAAG,EAAA,MAAM,CAAkB,gBAAA,CAAA,GAAG,IAAI;AACnC,YAAA,CAAC,CAAG,EAAA,MAAM,CAAsB,oBAAA,CAAA,GAAG,IAAI;AACvC,YAAA,CAAC,CAAG,EAAA,MAAM,CAAgC,8BAAA,CAAA,GAAG,IAAI;AACjD,YAAA,CAAC,CAAG,EAAA,MAAM,CAAgC,8BAAA,CAAA,GAAG,kBAAkB;AAC/D,YAAA,CAAC,GAAG,MAAM,CAAA,OAAA,EAAU,IAAI,CAAE,CAAA,GAAG,IAAI;AACjC,YAAA,CAAC,CAAG,EAAA,MAAM,CAAc,YAAA,CAAA,GAAG,IAAI;SAChC;AACD,QAAA,MAAM,kBAAkB,GAAG;AACzB,YAAA,CAAC,CAAG,EAAA,MAAM,CAAO,KAAA,CAAA,GAAG,IAAI;AACxB,YAAA,CAAC,CAAG,EAAA,MAAM,CAAkB,gBAAA,CAAA,GAAG,IAAI;AACnC,YAAA,CAAC,CAAG,EAAA,MAAM,CAAsB,oBAAA,CAAA,GAAG,IAAI;AACvC,YAAA,CAAC,CAAG,EAAA,MAAM,CAA+B,6BAAA,CAAA,GAAG,IAAI;AAChD,YAAA,CAAC,CAAG,EAAA,MAAM,CAAgC,8BAAA,CAAA,GAAG,kBAAkB;AAC/D,YAAA,CAAC,GAAG,MAAM,CAAA,OAAA,EAAU,IAAI,CAAE,CAAA,GAAG,IAAI;AACjC,YAAA,CAAC,CAAG,EAAA,MAAM,CAAc,YAAA,CAAA,GAAG,IAAI;SAChC;AAED,QAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB;AACxD,aAAA,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI;aACpC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG;aAClB,IAAI,CAAC,GAAG,CAAC;AACZ,QAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB;AACxD,aAAA,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI;aACpC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG;aAClB,IAAI,CAAC,GAAG,CAAC;QAEZ,MAAM,cAAc,GAClB,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG;AAC1C,cAAE;cACA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;AAE5B,QAAA,OAAO,IAAI,CAAA;oBACK,MAAM,CAAA;qCACW,MAAM,CAAA;qCACN,gBAAgB,CAAA;;;AAG/B,oBAAA,EAAA,QAAQ,IAAI,qBAAqB;;;;kBAIrC,IAAI,CAAA;;mBAEH,QAAQ,CAAA;8BACG,gBAAgB,CAAA;;;AAG3B,iBAAA,EAAA,MAAM,sBAAsB,MAAM,CAAA;aACxC,IAAI,CAAC,iBAAiB,EAAE,CAAA;;;oBAGjB,MAAM,CAAA;UAChB,CAAC,YAAY,IAAI;cACf,IAAI,CAAA;;;AAGS,uBAAA,EAAA,MAAM,WAAW,MAAM,CAAA;AAC9B,gBAAA,EAAA,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;;AAE3C,YAAA;AACH,cAAE,IAAI;UACN,YAAY,IAAI,CAAC;cACf,IAAI,CAAA;;yBAES,MAAM,CAAA,mBAAA,EAAsB,MAAM,CAAA,wBAAA,EAA2B,MAAM,CAAA;mBACzE,sBAAsB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,IAAI,IAAI,CAAA;;AAE3D,YAAA;cACD,IAAI,CAAA;;AAEY,0BAAA,EAAA,QAAQ,IAAI,iBAAiB;;;wBAGjC,IAAI,CAAA;;yBAEH,IAAI,CAAA;kBACX,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;;AAET,6BAAA,EAAA,KAAK,GAAG,CAAC,CAAA;kCACN,IAAI,KAAK,KAAK,GAAG,CAAC,CAAA;AAC5B,sBAAA,EAAA,KAAK,GAAG,CAAC;;mBAEd,CACF;;6BAEY,MAAM,CAAA;AAChB,iBAAA,EAAA,sBAAsB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;;AAEnD,YAAA,CAAA;;sBAES,MAAM,CAAA;;;oBAGR,IAAI,CAAA;yBACC,kBAAkB,CAAA;iCACV,iBAAiB,CAAA;4BACtB,YAAY,CAAA;sBAClB,qBAAqB,CAAA;cAC7B,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;;;;oBAKnC,IAAI,CAAA;yBACC,kBAAkB,CAAA;iCACV,iBAAiB,CAAA;4BACtB,WAAW,CAAA;sBACjB,qBAAqB,CAAA;cAC7B,UAAU,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;;;KAInD;;AAGH;;AAEG;AACH,IAAA,WAAW,mBAAmB,GAAA;QAC5B,OAAO,CAAA,EAAG,MAAM,CAAA,oBAAA,CAAsB;;AAGxC;;AAEG;AACH,IAAA,WAAW,uBAAuB,GAAA;QAChC,OAAO,CAAA,EAAG,MAAM,CAAA,OAAA,CAAS;;AAG3B;;AAEG;AACH,IAAA,WAAW,sBAAsB,GAAA;QAC/B,OAAO,CAAA,EAAG,MAAM,CAAA,8BAAA,CAAgC;;AAGlD;;AAEG;AACH,IAAA,WAAW,qBAAqB,GAAA;QAC9B,OAAO,CAAA,EAAG,MAAM,CAAA,6BAAA,CAA+B;;AAGjD;;AAEG;AACH,IAAA,WAAW,kBAAkB,GAAA;QAC3B,OAAO,CAAA,EAAG,MAAM,CAAA,2BAAA,CAA6B;;AAG/C;;AAEG;AACH,IAAA,WAAW,oBAAoB,GAAA;QAC7B,OAAO,CAAA,EAAG,MAAM,CAAA,0BAAA,CAA4B;;;AAGvC,aAAiB,CAAA,iBAAA,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,UAAU,CAAC,iBAAiB,KAC/B,cAAc,EAAE,IAAI,EAAA,CAFE;AAIjB,aAAM,CAAA,MAAA,GAAG,MAAH;AAhkBL,UAAA,CAAA;AADP,IAAA,KAAK,CAAC,CAAA,EAAG,MAAM,CAAA,OAAA,CAAS;AACa,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AA8K9B,UAAA,CAAA;AAHP,IAAA,YAAY,CAAC,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB;;;AA0BxC,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,IAAA,CAAA;AAMD,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE;AACT,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAM/B,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAChC,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAOT,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;AAEoB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AAMlD,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;AAE+B,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,kCAAA,EAAA,MAAA,CAAA;AAM7D,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;AAIuB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,oCAAA,EAAA,MAAA,CAAA;AAMrD,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;AAImB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,MAAA,CAAA;AAKjD,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE;AACjC,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAMrB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE;AACT,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,MAAA,CAAA;AAMrC,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACzB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMjB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE;AACb,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAM1B,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE;AACnC,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,MAAA,CAAA;AAM1B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;AACnD,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMd,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE;AAC5C,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,MAAA,CAAA;AAMtB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE;AACpB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,MAAA,CAAA;AAM3B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE;AACjD,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAMrB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACG,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAM9B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAChB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAaV,UAAA,CAAA;AARC,IAAA,QAAQ,CAAC;AACR,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,SAAS,EAAE;YACT,aAAa,EAAE,CAAC,KAAK,KACnB,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;AAC7D,SAAA;KACF;AACmB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAMpB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACX,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAxUX,aAAa,GAAA,UAAA,CAAA;AADlB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,WAAA,CAAa;AAC/B,CAAA,EAAA,aAAa,CAmkBlB;AAED,sBAAe,aAAa;;;;"}