@carbon/web-components 2.49.0 → 2.50.0-rc.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 (826) hide show
  1. package/custom-elements.json +278 -228
  2. package/es/components/accordion/accordion-item-skeleton.js +3 -3
  3. package/es/components/accordion/accordion-item-skeleton.js.map +1 -1
  4. package/es/components/accordion/accordion-item.js +3 -3
  5. package/es/components/accordion/accordion-item.js.map +1 -1
  6. package/es/components/accordion/accordion-skeleton.js +3 -3
  7. package/es/components/accordion/accordion-skeleton.js.map +1 -1
  8. package/es/components/accordion/accordion.js +2 -2
  9. package/es/components/accordion/accordion.js.map +1 -1
  10. package/es/components/ai-label/ai-label-action-button.js +2 -2
  11. package/es/components/ai-label/ai-label-action-button.js.map +1 -1
  12. package/es/components/ai-label/ai-label.js +3 -3
  13. package/es/components/ai-label/ai-label.js.map +1 -1
  14. package/es/components/ai-skeleton/ai-skeleton-icon.js +2 -2
  15. package/es/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
  16. package/es/components/ai-skeleton/ai-skeleton-placeholder.js +2 -2
  17. package/es/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
  18. package/es/components/ai-skeleton/ai-skeleton-text.js +2 -2
  19. package/es/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
  20. package/es/components/badge-indicator/badge-indicator.js +2 -2
  21. package/es/components/badge-indicator/badge-indicator.js.map +1 -1
  22. package/es/components/breadcrumb/breadcrumb-item.d.ts +1 -1
  23. package/es/components/breadcrumb/breadcrumb-item.js +15 -12
  24. package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
  25. package/es/components/breadcrumb/breadcrumb-link.js +2 -2
  26. package/es/components/breadcrumb/breadcrumb-link.js.map +1 -1
  27. package/es/components/breadcrumb/breadcrumb-overflow-menu.js +3 -3
  28. package/es/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  29. package/es/components/breadcrumb/breadcrumb-skeleton.js +2 -2
  30. package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
  31. package/es/components/breadcrumb/breadcrumb.js +2 -2
  32. package/es/components/breadcrumb/breadcrumb.js.map +1 -1
  33. package/es/components/button/button-set.js +2 -2
  34. package/es/components/button/button-set.js.map +1 -1
  35. package/es/components/button/button-skeleton.js +3 -2
  36. package/es/components/button/button-skeleton.js.map +1 -1
  37. package/es/components/button/button.d.ts +14 -16
  38. package/es/components/button/button.js +27 -24
  39. package/es/components/button/button.js.map +1 -1
  40. package/es/components/button/button.scss.js +1 -1
  41. package/es/components/chat-button/chat-button-skeleton.js +2 -2
  42. package/es/components/chat-button/chat-button-skeleton.js.map +1 -1
  43. package/es/components/chat-button/chat-button.js +2 -2
  44. package/es/components/chat-button/chat-button.js.map +1 -1
  45. package/es/components/checkbox/checkbox-group.js +3 -3
  46. package/es/components/checkbox/checkbox-group.js.map +1 -1
  47. package/es/components/checkbox/checkbox-skeleton.js +2 -2
  48. package/es/components/checkbox/checkbox-skeleton.js.map +1 -1
  49. package/es/components/checkbox/checkbox.js +1 -1
  50. package/es/components/code-snippet/code-snippet-skeleton.js +2 -2
  51. package/es/components/code-snippet/code-snippet-skeleton.js.map +1 -1
  52. package/es/components/code-snippet/code-snippet.js +3 -3
  53. package/es/components/code-snippet/code-snippet.js.map +1 -1
  54. package/es/components/combo-box/combo-box-item.js +2 -2
  55. package/es/components/combo-box/combo-box-item.js.map +1 -1
  56. package/es/components/combo-box/combo-box.js +16 -8
  57. package/es/components/combo-box/combo-box.js.map +1 -1
  58. package/es/components/combo-button/combo-button.js +3 -3
  59. package/es/components/combo-button/combo-button.js.map +1 -1
  60. package/es/components/contained-list/contained-list-description.js +2 -2
  61. package/es/components/contained-list/contained-list-description.js.map +1 -1
  62. package/es/components/contained-list/contained-list-item.js +2 -2
  63. package/es/components/contained-list/contained-list-item.js.map +1 -1
  64. package/es/components/contained-list/contained-list.js +2 -2
  65. package/es/components/contained-list/contained-list.js.map +1 -1
  66. package/es/components/copy/copy.js +2 -2
  67. package/es/components/copy/copy.js.map +1 -1
  68. package/es/components/copy-button/copy-button.js +3 -3
  69. package/es/components/copy-button/copy-button.js.map +1 -1
  70. package/es/components/data-table/table-batch-actions.js +2 -2
  71. package/es/components/data-table/table-batch-actions.js.map +1 -1
  72. package/es/components/data-table/table-body.js +2 -2
  73. package/es/components/data-table/table-body.js.map +1 -1
  74. package/es/components/data-table/table-cell-content.js +2 -2
  75. package/es/components/data-table/table-cell-content.js.map +1 -1
  76. package/es/components/data-table/table-cell.js +2 -2
  77. package/es/components/data-table/table-cell.js.map +1 -1
  78. package/es/components/data-table/table-expanded-row.js +2 -2
  79. package/es/components/data-table/table-expanded-row.js.map +1 -1
  80. package/es/components/data-table/table-head.js +2 -2
  81. package/es/components/data-table/table-head.js.map +1 -1
  82. package/es/components/data-table/table-header-cell.js +3 -3
  83. package/es/components/data-table/table-header-cell.js.map +1 -1
  84. package/es/components/data-table/table-header-description.js +2 -2
  85. package/es/components/data-table/table-header-description.js.map +1 -1
  86. package/es/components/data-table/table-header-row.js +2 -2
  87. package/es/components/data-table/table-header-row.js.map +1 -1
  88. package/es/components/data-table/table-header-title.js +2 -2
  89. package/es/components/data-table/table-header-title.js.map +1 -1
  90. package/es/components/data-table/table-row.js +1 -1
  91. package/es/components/data-table/table-skeleton.js +2 -2
  92. package/es/components/data-table/table-skeleton.js.map +1 -1
  93. package/es/components/data-table/table-toolbar-content.js +2 -2
  94. package/es/components/data-table/table-toolbar-content.js.map +1 -1
  95. package/es/components/data-table/table-toolbar-search.js +2 -2
  96. package/es/components/data-table/table-toolbar-search.js.map +1 -1
  97. package/es/components/data-table/table-toolbar.js +2 -2
  98. package/es/components/data-table/table-toolbar.js.map +1 -1
  99. package/es/components/data-table/table.js +2 -2
  100. package/es/components/data-table/table.js.map +1 -1
  101. package/es/components/date-picker/date-picker-input-skeleton.js +2 -2
  102. package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
  103. package/es/components/date-picker/date-picker-input.js +1 -1
  104. package/es/components/date-picker/date-picker.js +2 -2
  105. package/es/components/date-picker/date-picker.js.map +1 -1
  106. package/es/components/date-picker/icon-plugin.js +1 -1
  107. package/es/components/dropdown/dropdown-item.js +1 -1
  108. package/es/components/dropdown/dropdown-skeleton.js +2 -2
  109. package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
  110. package/es/components/dropdown/dropdown.js +1 -1
  111. package/es/components/feature-flags/index.d.ts +1 -1
  112. package/es/components/feature-flags/index.js +7 -4
  113. package/es/components/feature-flags/index.js.map +1 -1
  114. package/es/components/file-uploader/demo-file-uploader.js +2 -2
  115. package/es/components/file-uploader/demo-file-uploader.js.map +1 -1
  116. package/es/components/file-uploader/file-uploader-button.js +2 -2
  117. package/es/components/file-uploader/file-uploader-button.js.map +1 -1
  118. package/es/components/file-uploader/file-uploader-drop-container.js +2 -2
  119. package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
  120. package/es/components/file-uploader/file-uploader-item.js +3 -3
  121. package/es/components/file-uploader/file-uploader-item.js.map +1 -1
  122. package/es/components/file-uploader/file-uploader-skeleton.js +2 -2
  123. package/es/components/file-uploader/file-uploader-skeleton.js.map +1 -1
  124. package/es/components/file-uploader/file-uploader.js +2 -2
  125. package/es/components/file-uploader/file-uploader.js.map +1 -1
  126. package/es/components/floating-menu/defs.d.ts +10 -2
  127. package/es/components/floating-menu/defs.js +9 -1
  128. package/es/components/floating-menu/defs.js.map +1 -1
  129. package/es/components/floating-menu/floating-menu.d.ts +31 -1
  130. package/es/components/floating-menu/floating-menu.js +110 -43
  131. package/es/components/floating-menu/floating-menu.js.map +1 -1
  132. package/es/components/fluid-number-input/fluid-number-input-skeleton.js +2 -2
  133. package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
  134. package/es/components/fluid-number-input/fluid-number-input.js +2 -2
  135. package/es/components/fluid-number-input/fluid-number-input.js.map +1 -1
  136. package/es/components/fluid-search/fluid-search-skeleton.js +2 -2
  137. package/es/components/fluid-search/fluid-search-skeleton.js.map +1 -1
  138. package/es/components/fluid-search/fluid-search.js +2 -2
  139. package/es/components/fluid-search/fluid-search.js.map +1 -1
  140. package/es/components/fluid-select/fluid-select-skeleton.js +2 -2
  141. package/es/components/fluid-select/fluid-select-skeleton.js.map +1 -1
  142. package/es/components/fluid-text-input/fluid-text-input-skeleton.js +2 -2
  143. package/es/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
  144. package/es/components/fluid-text-input/fluid-text-input.js +2 -2
  145. package/es/components/fluid-text-input/fluid-text-input.js.map +1 -1
  146. package/es/components/fluid-textarea/fluid-textarea-skeleton.js +2 -2
  147. package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
  148. package/es/components/fluid-textarea/fluid-textarea.js +2 -2
  149. package/es/components/fluid-textarea/fluid-textarea.js.map +1 -1
  150. package/es/components/fluid-time-picker/fluid-time-picker-select.js +2 -2
  151. package/es/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -1
  152. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js +2 -2
  153. package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
  154. package/es/components/fluid-time-picker/fluid-time-picker.js +3 -3
  155. package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
  156. package/es/components/form/form-item.js +2 -2
  157. package/es/components/form/form-item.js.map +1 -1
  158. package/es/components/form/form.js +2 -2
  159. package/es/components/form/form.js.map +1 -1
  160. package/es/components/form-group/form-group.js +2 -2
  161. package/es/components/form-group/form-group.js.map +1 -1
  162. package/es/components/grid/column-hang.js +2 -2
  163. package/es/components/grid/column-hang.js.map +1 -1
  164. package/es/components/grid/column.js +2 -2
  165. package/es/components/grid/column.js.map +1 -1
  166. package/es/components/grid/grid.js +2 -2
  167. package/es/components/grid/grid.js.map +1 -1
  168. package/es/components/heading/heading.js +2 -2
  169. package/es/components/heading/heading.js.map +1 -1
  170. package/es/components/icon/icon.js +2 -2
  171. package/es/components/icon/icon.js.map +1 -1
  172. package/es/components/icon-indicator/icon-indicator.js +3 -3
  173. package/es/components/icon-indicator/icon-indicator.js.map +1 -1
  174. package/es/components/inline-loading/inline-loading.js +3 -3
  175. package/es/components/inline-loading/inline-loading.js.map +1 -1
  176. package/es/components/layer/layer.js +2 -2
  177. package/es/components/layer/layer.js.map +1 -1
  178. package/es/components/list/list-item.js +2 -2
  179. package/es/components/list/list-item.js.map +1 -1
  180. package/es/components/list/ordered-list.js +2 -2
  181. package/es/components/list/ordered-list.js.map +1 -1
  182. package/es/components/loading/loading.js +2 -2
  183. package/es/components/loading/loading.js.map +1 -1
  184. package/es/components/menu/menu-item-divider.js +2 -2
  185. package/es/components/menu/menu-item-divider.js.map +1 -1
  186. package/es/components/menu/menu-item-group.js +2 -2
  187. package/es/components/menu/menu-item-group.js.map +1 -1
  188. package/es/components/menu/menu-item-radio-group.js +2 -2
  189. package/es/components/menu/menu-item-radio-group.js.map +1 -1
  190. package/es/components/menu/menu-item-selectable.js +2 -2
  191. package/es/components/menu/menu-item-selectable.js.map +1 -1
  192. package/es/components/menu/menu-item.js +3 -3
  193. package/es/components/menu/menu-item.js.map +1 -1
  194. package/es/components/menu/menu.js +2 -2
  195. package/es/components/menu/menu.js.map +1 -1
  196. package/es/components/menu-button/menu-button.js +3 -3
  197. package/es/components/menu-button/menu-button.js.map +1 -1
  198. package/es/components/modal/modal-body-content.js +2 -2
  199. package/es/components/modal/modal-body-content.js.map +1 -1
  200. package/es/components/modal/modal-body.js +2 -2
  201. package/es/components/modal/modal-body.js.map +1 -1
  202. package/es/components/modal/modal-close-button.js +3 -3
  203. package/es/components/modal/modal-close-button.js.map +1 -1
  204. package/es/components/modal/modal-footer-button.js +2 -2
  205. package/es/components/modal/modal-footer-button.js.map +1 -1
  206. package/es/components/modal/modal-footer.js +2 -2
  207. package/es/components/modal/modal-footer.js.map +1 -1
  208. package/es/components/modal/modal-header.js +2 -2
  209. package/es/components/modal/modal-header.js.map +1 -1
  210. package/es/components/modal/modal-heading.js +2 -2
  211. package/es/components/modal/modal-heading.js.map +1 -1
  212. package/es/components/modal/modal-label.js +2 -2
  213. package/es/components/modal/modal-label.js.map +1 -1
  214. package/es/components/modal/modal.js +2 -2
  215. package/es/components/modal/modal.js.map +1 -1
  216. package/es/components/multi-select/multi-select-item.js +2 -2
  217. package/es/components/multi-select/multi-select-item.js.map +1 -1
  218. package/es/components/multi-select/multi-select.d.ts +9 -0
  219. package/es/components/multi-select/multi-select.js +58 -11
  220. package/es/components/multi-select/multi-select.js.map +1 -1
  221. package/es/components/notification/actionable-notification-button.js +2 -2
  222. package/es/components/notification/actionable-notification-button.js.map +1 -1
  223. package/es/components/notification/actionable-notification.js +1 -1
  224. package/es/components/notification/callout-notification.js +3 -3
  225. package/es/components/notification/callout-notification.js.map +1 -1
  226. package/es/components/notification/inline-notification.js +1 -1
  227. package/es/components/notification/toast-notification.js +2 -2
  228. package/es/components/notification/toast-notification.js.map +1 -1
  229. package/es/components/number-input/number-input.js +1 -1
  230. package/es/components/overflow-menu/overflow-menu-body.d.ts +18 -2
  231. package/es/components/overflow-menu/overflow-menu-body.js +25 -4
  232. package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
  233. package/es/components/overflow-menu/overflow-menu-item.js +2 -2
  234. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  235. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  236. package/es/components/page-header/page-header-breadcrumb.js +2 -2
  237. package/es/components/page-header/page-header-breadcrumb.js.map +1 -1
  238. package/es/components/page-header/page-header-content-text.js +2 -2
  239. package/es/components/page-header/page-header-content-text.js.map +1 -1
  240. package/es/components/page-header/page-header-content.js +2 -2
  241. package/es/components/page-header/page-header-content.js.map +1 -1
  242. package/es/components/page-header/page-header-hero-image.js +2 -2
  243. package/es/components/page-header/page-header-hero-image.js.map +1 -1
  244. package/es/components/page-header/page-header-tabs.js +2 -2
  245. package/es/components/page-header/page-header-tabs.js.map +1 -1
  246. package/es/components/page-header/page-header.js +2 -2
  247. package/es/components/page-header/page-header.js.map +1 -1
  248. package/es/components/pagination/pagination.js +4 -4
  249. package/es/components/pagination/pagination.js.map +1 -1
  250. package/es/components/pagination-nav/pagination-nav.js +3 -3
  251. package/es/components/pagination-nav/pagination-nav.js.map +1 -1
  252. package/es/components/password-input/password-input-skeleton.js +2 -2
  253. package/es/components/password-input/password-input-skeleton.js.map +1 -1
  254. package/es/components/password-input/password-input.js +3 -3
  255. package/es/components/password-input/password-input.js.map +1 -1
  256. package/es/components/progress-bar/progress-bar.js +3 -3
  257. package/es/components/progress-bar/progress-bar.js.map +1 -1
  258. package/es/components/progress-indicator/progress-indicator-skeleton.js +2 -2
  259. package/es/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
  260. package/es/components/progress-indicator/progress-indicator.js +2 -2
  261. package/es/components/progress-indicator/progress-indicator.js.map +1 -1
  262. package/es/components/progress-indicator/progress-step-skeleton.js +3 -3
  263. package/es/components/progress-indicator/progress-step-skeleton.js.map +1 -1
  264. package/es/components/progress-indicator/progress-step.js +3 -3
  265. package/es/components/progress-indicator/progress-step.js.map +1 -1
  266. package/es/components/radio-button/radio-button-group.js +3 -3
  267. package/es/components/radio-button/radio-button-group.js.map +1 -1
  268. package/es/components/radio-button/radio-button-skeleton.js +2 -2
  269. package/es/components/radio-button/radio-button-skeleton.js.map +1 -1
  270. package/es/components/radio-button/radio-button.js +2 -2
  271. package/es/components/radio-button/radio-button.js.map +1 -1
  272. package/es/components/search/search.js +1 -1
  273. package/es/components/select/select-item-group.js +2 -2
  274. package/es/components/select/select-item-group.js.map +1 -1
  275. package/es/components/select/select-item.js +2 -2
  276. package/es/components/select/select-item.js.map +1 -1
  277. package/es/components/select/select.js +1 -1
  278. package/es/components/shape-indicator/shape-indicator.js +3 -3
  279. package/es/components/shape-indicator/shape-indicator.js.map +1 -1
  280. package/es/components/side-panel/side-panel.js +3 -3
  281. package/es/components/side-panel/side-panel.js.map +1 -1
  282. package/es/components/skeleton-icon/skeleton-icon.js +2 -2
  283. package/es/components/skeleton-icon/skeleton-icon.js.map +1 -1
  284. package/es/components/skeleton-placeholder/skeleton-placeholder.js +2 -2
  285. package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
  286. package/es/components/skeleton-text/skeleton-text.js +2 -2
  287. package/es/components/skeleton-text/skeleton-text.js.map +1 -1
  288. package/es/components/skip-to-content/skip-to-content.js +2 -2
  289. package/es/components/skip-to-content/skip-to-content.js.map +1 -1
  290. package/es/components/slider/slider-input.js +3 -3
  291. package/es/components/slider/slider-input.js.map +1 -1
  292. package/es/components/slider/slider-skeleton.js +2 -2
  293. package/es/components/slider/slider-skeleton.js.map +1 -1
  294. package/es/components/slider/slider.js +2 -2
  295. package/es/components/slider/slider.js.map +1 -1
  296. package/es/components/slug/slug-action-button.js +2 -2
  297. package/es/components/slug/slug-action-button.js.map +1 -1
  298. package/es/components/slug/slug.js +3 -3
  299. package/es/components/slug/slug.js.map +1 -1
  300. package/es/components/stack/stack.js +2 -2
  301. package/es/components/stack/stack.js.map +1 -1
  302. package/es/components/structured-list/structured-list-body.js +2 -2
  303. package/es/components/structured-list/structured-list-body.js.map +1 -1
  304. package/es/components/structured-list/structured-list-cell.js +2 -2
  305. package/es/components/structured-list/structured-list-cell.js.map +1 -1
  306. package/es/components/structured-list/structured-list-head.js +2 -2
  307. package/es/components/structured-list/structured-list-head.js.map +1 -1
  308. package/es/components/structured-list/structured-list-header-cell-skeleton.js +2 -2
  309. package/es/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
  310. package/es/components/structured-list/structured-list-header-cell.js +2 -2
  311. package/es/components/structured-list/structured-list-header-cell.js.map +1 -1
  312. package/es/components/structured-list/structured-list-header-row.js +2 -2
  313. package/es/components/structured-list/structured-list-header-row.js.map +1 -1
  314. package/es/components/structured-list/structured-list-row.js +3 -3
  315. package/es/components/structured-list/structured-list-row.js.map +1 -1
  316. package/es/components/structured-list/structured-list.js +2 -2
  317. package/es/components/structured-list/structured-list.js.map +1 -1
  318. package/es/components/tabs/tab-skeleton.js +2 -2
  319. package/es/components/tabs/tab-skeleton.js.map +1 -1
  320. package/es/components/tabs/tab.js +2 -2
  321. package/es/components/tabs/tab.js.map +1 -1
  322. package/es/components/tabs/tabs-skeleton.js +2 -2
  323. package/es/components/tabs/tabs-skeleton.js.map +1 -1
  324. package/es/components/tabs/tabs.js +3 -3
  325. package/es/components/tabs/tabs.js.map +1 -1
  326. package/es/components/tabs/tabs.scss.js +1 -1
  327. package/es/components/tag/dismissible-tag.js +3 -3
  328. package/es/components/tag/dismissible-tag.js.map +1 -1
  329. package/es/components/tag/operational-tag.js +2 -2
  330. package/es/components/tag/operational-tag.js.map +1 -1
  331. package/es/components/tag/selectable-tag.js +2 -2
  332. package/es/components/tag/selectable-tag.js.map +1 -1
  333. package/es/components/tag/tag-skeleton.js +2 -2
  334. package/es/components/tag/tag-skeleton.js.map +1 -1
  335. package/es/components/tag/tag.js +1 -1
  336. package/es/components/tearsheet/tearsheet.js +2 -2
  337. package/es/components/tearsheet/tearsheet.js.map +1 -1
  338. package/es/components/text-input/text-input.js +1 -1
  339. package/es/components/textarea/textarea.js +1 -1
  340. package/es/components/tile/clickable-tile.js +3 -3
  341. package/es/components/tile/clickable-tile.js.map +1 -1
  342. package/es/components/tile/expandable-tile.js +3 -3
  343. package/es/components/tile/expandable-tile.js.map +1 -1
  344. package/es/components/tile/radio-tile.js +3 -3
  345. package/es/components/tile/radio-tile.js.map +1 -1
  346. package/es/components/tile/selectable-tile.js +1 -1
  347. package/es/components/tile/tile-group.js +2 -2
  348. package/es/components/tile/tile-group.js.map +1 -1
  349. package/es/components/tile/tile.js +2 -2
  350. package/es/components/tile/tile.js.map +1 -1
  351. package/es/components/time-picker/time-picker-select.js +3 -3
  352. package/es/components/time-picker/time-picker-select.js.map +1 -1
  353. package/es/components/time-picker/time-picker.js +1 -1
  354. package/es/components/toggle/toggle-skeleton.js +2 -2
  355. package/es/components/toggle/toggle-skeleton.js.map +1 -1
  356. package/es/components/toggle/toggle.js +2 -2
  357. package/es/components/toggle/toggle.js.map +1 -1
  358. package/es/components/toggle-tip/toggletip.js +1 -1
  359. package/es/components/tooltip/definition-tooltip.js +2 -2
  360. package/es/components/tooltip/definition-tooltip.js.map +1 -1
  361. package/es/components/tooltip/tooltip-content.js +2 -2
  362. package/es/components/tooltip/tooltip-content.js.map +1 -1
  363. package/es/components/tooltip/tooltip.js +2 -2
  364. package/es/components/tooltip/tooltip.js.map +1 -1
  365. package/es/components/tree-view/tree-node.js +3 -3
  366. package/es/components/tree-view/tree-node.js.map +1 -1
  367. package/es/components/tree-view/tree-view.js +2 -2
  368. package/es/components/tree-view/tree-view.js.map +1 -1
  369. package/es/components/ui-shell/header-global-action.js +2 -2
  370. package/es/components/ui-shell/header-global-action.js.map +1 -1
  371. package/es/components/ui-shell/header-menu-button.js +3 -3
  372. package/es/components/ui-shell/header-menu-button.js.map +1 -1
  373. package/es/components/ui-shell/header-menu-item.js +2 -2
  374. package/es/components/ui-shell/header-menu-item.js.map +1 -1
  375. package/es/components/ui-shell/header-menu.js +3 -3
  376. package/es/components/ui-shell/header-menu.js.map +1 -1
  377. package/es/components/ui-shell/header-name.js +2 -2
  378. package/es/components/ui-shell/header-name.js.map +1 -1
  379. package/es/components/ui-shell/header-nav.js +2 -2
  380. package/es/components/ui-shell/header-nav.js.map +1 -1
  381. package/es/components/ui-shell/header-panel.js +2 -2
  382. package/es/components/ui-shell/header-panel.js.map +1 -1
  383. package/es/components/ui-shell/header-side-nav-items.js +2 -2
  384. package/es/components/ui-shell/header-side-nav-items.js.map +1 -1
  385. package/es/components/ui-shell/header.js +2 -2
  386. package/es/components/ui-shell/header.js.map +1 -1
  387. package/es/components/ui-shell/side-nav-divider.js +2 -2
  388. package/es/components/ui-shell/side-nav-divider.js.map +1 -1
  389. package/es/components/ui-shell/side-nav-items.js +2 -2
  390. package/es/components/ui-shell/side-nav-items.js.map +1 -1
  391. package/es/components/ui-shell/side-nav-link.js +2 -2
  392. package/es/components/ui-shell/side-nav-link.js.map +1 -1
  393. package/es/components/ui-shell/side-nav-menu-item.js +2 -2
  394. package/es/components/ui-shell/side-nav-menu-item.js.map +1 -1
  395. package/es/components/ui-shell/side-nav-menu.js +3 -3
  396. package/es/components/ui-shell/side-nav-menu.js.map +1 -1
  397. package/es/components/ui-shell/side-nav.js +2 -2
  398. package/es/components/ui-shell/side-nav.js.map +1 -1
  399. package/es/components/ui-shell/switcher-divider.js +2 -2
  400. package/es/components/ui-shell/switcher-divider.js.map +1 -1
  401. package/es/components/ui-shell/switcher-item.js +2 -2
  402. package/es/components/ui-shell/switcher-item.js.map +1 -1
  403. package/es/components/ui-shell/switcher.js +2 -2
  404. package/es/components/ui-shell/switcher.js.map +1 -1
  405. package/es/feature-flags/es/index.js +153 -144
  406. package/es/feature-flags/es/index.js.map +1 -1
  407. package/es-custom/components/accordion/accordion-item-skeleton.js +3 -3
  408. package/es-custom/components/accordion/accordion-item-skeleton.js.map +1 -1
  409. package/es-custom/components/accordion/accordion-item.js +3 -3
  410. package/es-custom/components/accordion/accordion-item.js.map +1 -1
  411. package/es-custom/components/accordion/accordion-skeleton.js +3 -3
  412. package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
  413. package/es-custom/components/accordion/accordion.js +2 -2
  414. package/es-custom/components/accordion/accordion.js.map +1 -1
  415. package/es-custom/components/ai-label/ai-label-action-button.js +2 -2
  416. package/es-custom/components/ai-label/ai-label-action-button.js.map +1 -1
  417. package/es-custom/components/ai-label/ai-label.js +3 -3
  418. package/es-custom/components/ai-label/ai-label.js.map +1 -1
  419. package/es-custom/components/ai-skeleton/ai-skeleton-icon.js +2 -2
  420. package/es-custom/components/ai-skeleton/ai-skeleton-icon.js.map +1 -1
  421. package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js +2 -2
  422. package/es-custom/components/ai-skeleton/ai-skeleton-placeholder.js.map +1 -1
  423. package/es-custom/components/ai-skeleton/ai-skeleton-text.js +2 -2
  424. package/es-custom/components/ai-skeleton/ai-skeleton-text.js.map +1 -1
  425. package/es-custom/components/badge-indicator/badge-indicator.js +2 -2
  426. package/es-custom/components/badge-indicator/badge-indicator.js.map +1 -1
  427. package/es-custom/components/breadcrumb/breadcrumb-item.d.ts +1 -1
  428. package/es-custom/components/breadcrumb/breadcrumb-item.js +15 -12
  429. package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
  430. package/es-custom/components/breadcrumb/breadcrumb-link.js +2 -2
  431. package/es-custom/components/breadcrumb/breadcrumb-link.js.map +1 -1
  432. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js +3 -3
  433. package/es-custom/components/breadcrumb/breadcrumb-overflow-menu.js.map +1 -1
  434. package/es-custom/components/breadcrumb/breadcrumb-skeleton.js +2 -2
  435. package/es-custom/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
  436. package/es-custom/components/breadcrumb/breadcrumb.js +2 -2
  437. package/es-custom/components/breadcrumb/breadcrumb.js.map +1 -1
  438. package/es-custom/components/button/button-set.js +2 -2
  439. package/es-custom/components/button/button-set.js.map +1 -1
  440. package/es-custom/components/button/button-skeleton.js +3 -2
  441. package/es-custom/components/button/button-skeleton.js.map +1 -1
  442. package/es-custom/components/button/button.d.ts +14 -16
  443. package/es-custom/components/button/button.js +27 -24
  444. package/es-custom/components/button/button.js.map +1 -1
  445. package/es-custom/components/button/button.scss.js +1 -1
  446. package/es-custom/components/chat-button/chat-button-skeleton.js +2 -2
  447. package/es-custom/components/chat-button/chat-button-skeleton.js.map +1 -1
  448. package/es-custom/components/chat-button/chat-button.js +2 -2
  449. package/es-custom/components/chat-button/chat-button.js.map +1 -1
  450. package/es-custom/components/checkbox/checkbox-group.js +3 -3
  451. package/es-custom/components/checkbox/checkbox-group.js.map +1 -1
  452. package/es-custom/components/checkbox/checkbox-skeleton.js +2 -2
  453. package/es-custom/components/checkbox/checkbox-skeleton.js.map +1 -1
  454. package/es-custom/components/checkbox/checkbox.js +1 -1
  455. package/es-custom/components/code-snippet/code-snippet-skeleton.js +2 -2
  456. package/es-custom/components/code-snippet/code-snippet-skeleton.js.map +1 -1
  457. package/es-custom/components/code-snippet/code-snippet.js +3 -3
  458. package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
  459. package/es-custom/components/combo-box/combo-box-item.js +2 -2
  460. package/es-custom/components/combo-box/combo-box-item.js.map +1 -1
  461. package/es-custom/components/combo-box/combo-box.js +16 -8
  462. package/es-custom/components/combo-box/combo-box.js.map +1 -1
  463. package/es-custom/components/combo-button/combo-button.js +3 -3
  464. package/es-custom/components/combo-button/combo-button.js.map +1 -1
  465. package/es-custom/components/contained-list/contained-list-description.js +2 -2
  466. package/es-custom/components/contained-list/contained-list-description.js.map +1 -1
  467. package/es-custom/components/contained-list/contained-list-item.js +2 -2
  468. package/es-custom/components/contained-list/contained-list-item.js.map +1 -1
  469. package/es-custom/components/contained-list/contained-list.js +2 -2
  470. package/es-custom/components/contained-list/contained-list.js.map +1 -1
  471. package/es-custom/components/copy/copy.js +2 -2
  472. package/es-custom/components/copy/copy.js.map +1 -1
  473. package/es-custom/components/copy-button/copy-button.js +3 -3
  474. package/es-custom/components/copy-button/copy-button.js.map +1 -1
  475. package/es-custom/components/data-table/table-batch-actions.js +2 -2
  476. package/es-custom/components/data-table/table-batch-actions.js.map +1 -1
  477. package/es-custom/components/data-table/table-body.js +2 -2
  478. package/es-custom/components/data-table/table-body.js.map +1 -1
  479. package/es-custom/components/data-table/table-cell-content.js +2 -2
  480. package/es-custom/components/data-table/table-cell-content.js.map +1 -1
  481. package/es-custom/components/data-table/table-cell.js +2 -2
  482. package/es-custom/components/data-table/table-cell.js.map +1 -1
  483. package/es-custom/components/data-table/table-expanded-row.js +2 -2
  484. package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
  485. package/es-custom/components/data-table/table-head.js +2 -2
  486. package/es-custom/components/data-table/table-head.js.map +1 -1
  487. package/es-custom/components/data-table/table-header-cell.js +3 -3
  488. package/es-custom/components/data-table/table-header-cell.js.map +1 -1
  489. package/es-custom/components/data-table/table-header-description.js +2 -2
  490. package/es-custom/components/data-table/table-header-description.js.map +1 -1
  491. package/es-custom/components/data-table/table-header-row.js +2 -2
  492. package/es-custom/components/data-table/table-header-row.js.map +1 -1
  493. package/es-custom/components/data-table/table-header-title.js +2 -2
  494. package/es-custom/components/data-table/table-header-title.js.map +1 -1
  495. package/es-custom/components/data-table/table-row.js +1 -1
  496. package/es-custom/components/data-table/table-skeleton.js +2 -2
  497. package/es-custom/components/data-table/table-skeleton.js.map +1 -1
  498. package/es-custom/components/data-table/table-toolbar-content.js +2 -2
  499. package/es-custom/components/data-table/table-toolbar-content.js.map +1 -1
  500. package/es-custom/components/data-table/table-toolbar-search.js +2 -2
  501. package/es-custom/components/data-table/table-toolbar-search.js.map +1 -1
  502. package/es-custom/components/data-table/table-toolbar.js +2 -2
  503. package/es-custom/components/data-table/table-toolbar.js.map +1 -1
  504. package/es-custom/components/data-table/table.js +2 -2
  505. package/es-custom/components/data-table/table.js.map +1 -1
  506. package/es-custom/components/date-picker/date-picker-input-skeleton.js +2 -2
  507. package/es-custom/components/date-picker/date-picker-input-skeleton.js.map +1 -1
  508. package/es-custom/components/date-picker/date-picker-input.js +1 -1
  509. package/es-custom/components/date-picker/date-picker.js +2 -2
  510. package/es-custom/components/date-picker/date-picker.js.map +1 -1
  511. package/es-custom/components/date-picker/icon-plugin.js +1 -1
  512. package/es-custom/components/dropdown/dropdown-item.js +1 -1
  513. package/es-custom/components/dropdown/dropdown-skeleton.js +2 -2
  514. package/es-custom/components/dropdown/dropdown-skeleton.js.map +1 -1
  515. package/es-custom/components/dropdown/dropdown.js +1 -1
  516. package/es-custom/components/feature-flags/index.d.ts +1 -1
  517. package/es-custom/components/feature-flags/index.js +7 -4
  518. package/es-custom/components/feature-flags/index.js.map +1 -1
  519. package/es-custom/components/file-uploader/demo-file-uploader.js +2 -2
  520. package/es-custom/components/file-uploader/demo-file-uploader.js.map +1 -1
  521. package/es-custom/components/file-uploader/file-uploader-button.js +2 -2
  522. package/es-custom/components/file-uploader/file-uploader-button.js.map +1 -1
  523. package/es-custom/components/file-uploader/file-uploader-drop-container.js +2 -2
  524. package/es-custom/components/file-uploader/file-uploader-drop-container.js.map +1 -1
  525. package/es-custom/components/file-uploader/file-uploader-item.js +3 -3
  526. package/es-custom/components/file-uploader/file-uploader-item.js.map +1 -1
  527. package/es-custom/components/file-uploader/file-uploader-skeleton.js +2 -2
  528. package/es-custom/components/file-uploader/file-uploader-skeleton.js.map +1 -1
  529. package/es-custom/components/file-uploader/file-uploader.js +2 -2
  530. package/es-custom/components/file-uploader/file-uploader.js.map +1 -1
  531. package/es-custom/components/floating-menu/defs.d.ts +10 -2
  532. package/es-custom/components/floating-menu/defs.js +9 -1
  533. package/es-custom/components/floating-menu/defs.js.map +1 -1
  534. package/es-custom/components/floating-menu/floating-menu.d.ts +31 -1
  535. package/es-custom/components/floating-menu/floating-menu.js +110 -43
  536. package/es-custom/components/floating-menu/floating-menu.js.map +1 -1
  537. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +2 -2
  538. package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -1
  539. package/es-custom/components/fluid-number-input/fluid-number-input.js +2 -2
  540. package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -1
  541. package/es-custom/components/fluid-search/fluid-search-skeleton.js +2 -2
  542. package/es-custom/components/fluid-search/fluid-search-skeleton.js.map +1 -1
  543. package/es-custom/components/fluid-search/fluid-search.js +2 -2
  544. package/es-custom/components/fluid-search/fluid-search.js.map +1 -1
  545. package/es-custom/components/fluid-select/fluid-select-skeleton.js +2 -2
  546. package/es-custom/components/fluid-select/fluid-select-skeleton.js.map +1 -1
  547. package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js +2 -2
  548. package/es-custom/components/fluid-text-input/fluid-text-input-skeleton.js.map +1 -1
  549. package/es-custom/components/fluid-text-input/fluid-text-input.js +2 -2
  550. package/es-custom/components/fluid-text-input/fluid-text-input.js.map +1 -1
  551. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +2 -2
  552. package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
  553. package/es-custom/components/fluid-textarea/fluid-textarea.js +2 -2
  554. package/es-custom/components/fluid-textarea/fluid-textarea.js.map +1 -1
  555. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +2 -2
  556. package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -1
  557. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js +2 -2
  558. package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -1
  559. package/es-custom/components/fluid-time-picker/fluid-time-picker.js +3 -3
  560. package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -1
  561. package/es-custom/components/form/form-item.js +2 -2
  562. package/es-custom/components/form/form-item.js.map +1 -1
  563. package/es-custom/components/form/form.js +2 -2
  564. package/es-custom/components/form/form.js.map +1 -1
  565. package/es-custom/components/form-group/form-group.js +2 -2
  566. package/es-custom/components/form-group/form-group.js.map +1 -1
  567. package/es-custom/components/grid/column-hang.js +2 -2
  568. package/es-custom/components/grid/column-hang.js.map +1 -1
  569. package/es-custom/components/grid/column.js +2 -2
  570. package/es-custom/components/grid/column.js.map +1 -1
  571. package/es-custom/components/grid/grid.js +2 -2
  572. package/es-custom/components/grid/grid.js.map +1 -1
  573. package/es-custom/components/heading/heading.js +2 -2
  574. package/es-custom/components/heading/heading.js.map +1 -1
  575. package/es-custom/components/icon/icon.js +2 -2
  576. package/es-custom/components/icon/icon.js.map +1 -1
  577. package/es-custom/components/icon-indicator/icon-indicator.js +3 -3
  578. package/es-custom/components/icon-indicator/icon-indicator.js.map +1 -1
  579. package/es-custom/components/inline-loading/inline-loading.js +3 -3
  580. package/es-custom/components/inline-loading/inline-loading.js.map +1 -1
  581. package/es-custom/components/layer/layer.js +2 -2
  582. package/es-custom/components/layer/layer.js.map +1 -1
  583. package/es-custom/components/list/list-item.js +2 -2
  584. package/es-custom/components/list/list-item.js.map +1 -1
  585. package/es-custom/components/list/ordered-list.js +2 -2
  586. package/es-custom/components/list/ordered-list.js.map +1 -1
  587. package/es-custom/components/loading/loading.js +2 -2
  588. package/es-custom/components/loading/loading.js.map +1 -1
  589. package/es-custom/components/menu/menu-item-divider.js +2 -2
  590. package/es-custom/components/menu/menu-item-divider.js.map +1 -1
  591. package/es-custom/components/menu/menu-item-group.js +2 -2
  592. package/es-custom/components/menu/menu-item-group.js.map +1 -1
  593. package/es-custom/components/menu/menu-item-radio-group.js +2 -2
  594. package/es-custom/components/menu/menu-item-radio-group.js.map +1 -1
  595. package/es-custom/components/menu/menu-item-selectable.js +2 -2
  596. package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
  597. package/es-custom/components/menu/menu-item.js +3 -3
  598. package/es-custom/components/menu/menu-item.js.map +1 -1
  599. package/es-custom/components/menu/menu.js +2 -2
  600. package/es-custom/components/menu/menu.js.map +1 -1
  601. package/es-custom/components/menu-button/menu-button.js +3 -3
  602. package/es-custom/components/menu-button/menu-button.js.map +1 -1
  603. package/es-custom/components/modal/modal-body-content.js +2 -2
  604. package/es-custom/components/modal/modal-body-content.js.map +1 -1
  605. package/es-custom/components/modal/modal-body.js +2 -2
  606. package/es-custom/components/modal/modal-body.js.map +1 -1
  607. package/es-custom/components/modal/modal-close-button.js +3 -3
  608. package/es-custom/components/modal/modal-close-button.js.map +1 -1
  609. package/es-custom/components/modal/modal-footer-button.js +2 -2
  610. package/es-custom/components/modal/modal-footer-button.js.map +1 -1
  611. package/es-custom/components/modal/modal-footer.js +2 -2
  612. package/es-custom/components/modal/modal-footer.js.map +1 -1
  613. package/es-custom/components/modal/modal-header.js +2 -2
  614. package/es-custom/components/modal/modal-header.js.map +1 -1
  615. package/es-custom/components/modal/modal-heading.js +2 -2
  616. package/es-custom/components/modal/modal-heading.js.map +1 -1
  617. package/es-custom/components/modal/modal-label.js +2 -2
  618. package/es-custom/components/modal/modal-label.js.map +1 -1
  619. package/es-custom/components/modal/modal.js +2 -2
  620. package/es-custom/components/modal/modal.js.map +1 -1
  621. package/es-custom/components/multi-select/multi-select-item.js +2 -2
  622. package/es-custom/components/multi-select/multi-select-item.js.map +1 -1
  623. package/es-custom/components/multi-select/multi-select.d.ts +9 -0
  624. package/es-custom/components/multi-select/multi-select.js +58 -11
  625. package/es-custom/components/multi-select/multi-select.js.map +1 -1
  626. package/es-custom/components/notification/actionable-notification-button.js +2 -2
  627. package/es-custom/components/notification/actionable-notification-button.js.map +1 -1
  628. package/es-custom/components/notification/actionable-notification.js +1 -1
  629. package/es-custom/components/notification/callout-notification.js +3 -3
  630. package/es-custom/components/notification/callout-notification.js.map +1 -1
  631. package/es-custom/components/notification/inline-notification.js +1 -1
  632. package/es-custom/components/notification/toast-notification.js +2 -2
  633. package/es-custom/components/notification/toast-notification.js.map +1 -1
  634. package/es-custom/components/number-input/number-input.js +1 -1
  635. package/es-custom/components/overflow-menu/overflow-menu-body.d.ts +18 -2
  636. package/es-custom/components/overflow-menu/overflow-menu-body.js +25 -4
  637. package/es-custom/components/overflow-menu/overflow-menu-body.js.map +1 -1
  638. package/es-custom/components/overflow-menu/overflow-menu-item.js +2 -2
  639. package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
  640. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  641. package/es-custom/components/page-header/page-header-breadcrumb.js +2 -2
  642. package/es-custom/components/page-header/page-header-breadcrumb.js.map +1 -1
  643. package/es-custom/components/page-header/page-header-content-text.js +2 -2
  644. package/es-custom/components/page-header/page-header-content-text.js.map +1 -1
  645. package/es-custom/components/page-header/page-header-content.js +2 -2
  646. package/es-custom/components/page-header/page-header-content.js.map +1 -1
  647. package/es-custom/components/page-header/page-header-hero-image.js +2 -2
  648. package/es-custom/components/page-header/page-header-hero-image.js.map +1 -1
  649. package/es-custom/components/page-header/page-header-tabs.js +2 -2
  650. package/es-custom/components/page-header/page-header-tabs.js.map +1 -1
  651. package/es-custom/components/page-header/page-header.js +2 -2
  652. package/es-custom/components/page-header/page-header.js.map +1 -1
  653. package/es-custom/components/pagination/pagination.js +4 -4
  654. package/es-custom/components/pagination/pagination.js.map +1 -1
  655. package/es-custom/components/pagination-nav/pagination-nav.js +3 -3
  656. package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -1
  657. package/es-custom/components/password-input/password-input-skeleton.js +2 -2
  658. package/es-custom/components/password-input/password-input-skeleton.js.map +1 -1
  659. package/es-custom/components/password-input/password-input.js +3 -3
  660. package/es-custom/components/password-input/password-input.js.map +1 -1
  661. package/es-custom/components/progress-bar/progress-bar.js +3 -3
  662. package/es-custom/components/progress-bar/progress-bar.js.map +1 -1
  663. package/es-custom/components/progress-indicator/progress-indicator-skeleton.js +2 -2
  664. package/es-custom/components/progress-indicator/progress-indicator-skeleton.js.map +1 -1
  665. package/es-custom/components/progress-indicator/progress-indicator.js +2 -2
  666. package/es-custom/components/progress-indicator/progress-indicator.js.map +1 -1
  667. package/es-custom/components/progress-indicator/progress-step-skeleton.js +3 -3
  668. package/es-custom/components/progress-indicator/progress-step-skeleton.js.map +1 -1
  669. package/es-custom/components/progress-indicator/progress-step.js +3 -3
  670. package/es-custom/components/progress-indicator/progress-step.js.map +1 -1
  671. package/es-custom/components/radio-button/radio-button-group.js +3 -3
  672. package/es-custom/components/radio-button/radio-button-group.js.map +1 -1
  673. package/es-custom/components/radio-button/radio-button-skeleton.js +2 -2
  674. package/es-custom/components/radio-button/radio-button-skeleton.js.map +1 -1
  675. package/es-custom/components/radio-button/radio-button.js +2 -2
  676. package/es-custom/components/radio-button/radio-button.js.map +1 -1
  677. package/es-custom/components/search/search.js +1 -1
  678. package/es-custom/components/select/select-item-group.js +2 -2
  679. package/es-custom/components/select/select-item-group.js.map +1 -1
  680. package/es-custom/components/select/select-item.js +2 -2
  681. package/es-custom/components/select/select-item.js.map +1 -1
  682. package/es-custom/components/select/select.js +1 -1
  683. package/es-custom/components/shape-indicator/shape-indicator.js +3 -3
  684. package/es-custom/components/shape-indicator/shape-indicator.js.map +1 -1
  685. package/es-custom/components/side-panel/side-panel.js +3 -3
  686. package/es-custom/components/side-panel/side-panel.js.map +1 -1
  687. package/es-custom/components/skeleton-icon/skeleton-icon.js +2 -2
  688. package/es-custom/components/skeleton-icon/skeleton-icon.js.map +1 -1
  689. package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js +2 -2
  690. package/es-custom/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
  691. package/es-custom/components/skeleton-text/skeleton-text.js +2 -2
  692. package/es-custom/components/skeleton-text/skeleton-text.js.map +1 -1
  693. package/es-custom/components/skip-to-content/skip-to-content.js +2 -2
  694. package/es-custom/components/skip-to-content/skip-to-content.js.map +1 -1
  695. package/es-custom/components/slider/slider-input.js +3 -3
  696. package/es-custom/components/slider/slider-input.js.map +1 -1
  697. package/es-custom/components/slider/slider-skeleton.js +2 -2
  698. package/es-custom/components/slider/slider-skeleton.js.map +1 -1
  699. package/es-custom/components/slider/slider.js +2 -2
  700. package/es-custom/components/slider/slider.js.map +1 -1
  701. package/es-custom/components/slug/slug-action-button.js +2 -2
  702. package/es-custom/components/slug/slug-action-button.js.map +1 -1
  703. package/es-custom/components/slug/slug.js +3 -3
  704. package/es-custom/components/slug/slug.js.map +1 -1
  705. package/es-custom/components/stack/stack.js +2 -2
  706. package/es-custom/components/stack/stack.js.map +1 -1
  707. package/es-custom/components/structured-list/structured-list-body.js +2 -2
  708. package/es-custom/components/structured-list/structured-list-body.js.map +1 -1
  709. package/es-custom/components/structured-list/structured-list-cell.js +2 -2
  710. package/es-custom/components/structured-list/structured-list-cell.js.map +1 -1
  711. package/es-custom/components/structured-list/structured-list-head.js +2 -2
  712. package/es-custom/components/structured-list/structured-list-head.js.map +1 -1
  713. package/es-custom/components/structured-list/structured-list-header-cell-skeleton.js +2 -2
  714. package/es-custom/components/structured-list/structured-list-header-cell-skeleton.js.map +1 -1
  715. package/es-custom/components/structured-list/structured-list-header-cell.js +2 -2
  716. package/es-custom/components/structured-list/structured-list-header-cell.js.map +1 -1
  717. package/es-custom/components/structured-list/structured-list-header-row.js +2 -2
  718. package/es-custom/components/structured-list/structured-list-header-row.js.map +1 -1
  719. package/es-custom/components/structured-list/structured-list-row.js +3 -3
  720. package/es-custom/components/structured-list/structured-list-row.js.map +1 -1
  721. package/es-custom/components/structured-list/structured-list.js +2 -2
  722. package/es-custom/components/structured-list/structured-list.js.map +1 -1
  723. package/es-custom/components/tabs/tab-skeleton.js +2 -2
  724. package/es-custom/components/tabs/tab-skeleton.js.map +1 -1
  725. package/es-custom/components/tabs/tab.js +2 -2
  726. package/es-custom/components/tabs/tab.js.map +1 -1
  727. package/es-custom/components/tabs/tabs-skeleton.js +2 -2
  728. package/es-custom/components/tabs/tabs-skeleton.js.map +1 -1
  729. package/es-custom/components/tabs/tabs.js +3 -3
  730. package/es-custom/components/tabs/tabs.js.map +1 -1
  731. package/es-custom/components/tabs/tabs.scss.js +1 -1
  732. package/es-custom/components/tag/dismissible-tag.js +3 -3
  733. package/es-custom/components/tag/dismissible-tag.js.map +1 -1
  734. package/es-custom/components/tag/operational-tag.js +2 -2
  735. package/es-custom/components/tag/operational-tag.js.map +1 -1
  736. package/es-custom/components/tag/selectable-tag.js +2 -2
  737. package/es-custom/components/tag/selectable-tag.js.map +1 -1
  738. package/es-custom/components/tag/tag-skeleton.js +2 -2
  739. package/es-custom/components/tag/tag-skeleton.js.map +1 -1
  740. package/es-custom/components/tag/tag.js +1 -1
  741. package/es-custom/components/tearsheet/tearsheet.js +2 -2
  742. package/es-custom/components/tearsheet/tearsheet.js.map +1 -1
  743. package/es-custom/components/text-input/text-input.js +1 -1
  744. package/es-custom/components/textarea/textarea.js +1 -1
  745. package/es-custom/components/tile/clickable-tile.js +3 -3
  746. package/es-custom/components/tile/clickable-tile.js.map +1 -1
  747. package/es-custom/components/tile/expandable-tile.js +3 -3
  748. package/es-custom/components/tile/expandable-tile.js.map +1 -1
  749. package/es-custom/components/tile/radio-tile.js +3 -3
  750. package/es-custom/components/tile/radio-tile.js.map +1 -1
  751. package/es-custom/components/tile/selectable-tile.js +1 -1
  752. package/es-custom/components/tile/tile-group.js +2 -2
  753. package/es-custom/components/tile/tile-group.js.map +1 -1
  754. package/es-custom/components/tile/tile.js +2 -2
  755. package/es-custom/components/tile/tile.js.map +1 -1
  756. package/es-custom/components/time-picker/time-picker-select.js +3 -3
  757. package/es-custom/components/time-picker/time-picker-select.js.map +1 -1
  758. package/es-custom/components/time-picker/time-picker.js +1 -1
  759. package/es-custom/components/toggle/toggle-skeleton.js +2 -2
  760. package/es-custom/components/toggle/toggle-skeleton.js.map +1 -1
  761. package/es-custom/components/toggle/toggle.js +2 -2
  762. package/es-custom/components/toggle/toggle.js.map +1 -1
  763. package/es-custom/components/toggle-tip/toggletip.js +1 -1
  764. package/es-custom/components/tooltip/definition-tooltip.js +2 -2
  765. package/es-custom/components/tooltip/definition-tooltip.js.map +1 -1
  766. package/es-custom/components/tooltip/tooltip-content.js +2 -2
  767. package/es-custom/components/tooltip/tooltip-content.js.map +1 -1
  768. package/es-custom/components/tooltip/tooltip.js +2 -2
  769. package/es-custom/components/tooltip/tooltip.js.map +1 -1
  770. package/es-custom/components/tree-view/tree-node.js +3 -3
  771. package/es-custom/components/tree-view/tree-node.js.map +1 -1
  772. package/es-custom/components/tree-view/tree-view.js +2 -2
  773. package/es-custom/components/tree-view/tree-view.js.map +1 -1
  774. package/es-custom/components/ui-shell/header-global-action.js +2 -2
  775. package/es-custom/components/ui-shell/header-global-action.js.map +1 -1
  776. package/es-custom/components/ui-shell/header-menu-button.js +3 -3
  777. package/es-custom/components/ui-shell/header-menu-button.js.map +1 -1
  778. package/es-custom/components/ui-shell/header-menu-item.js +2 -2
  779. package/es-custom/components/ui-shell/header-menu-item.js.map +1 -1
  780. package/es-custom/components/ui-shell/header-menu.js +3 -3
  781. package/es-custom/components/ui-shell/header-menu.js.map +1 -1
  782. package/es-custom/components/ui-shell/header-name.js +2 -2
  783. package/es-custom/components/ui-shell/header-name.js.map +1 -1
  784. package/es-custom/components/ui-shell/header-nav.js +2 -2
  785. package/es-custom/components/ui-shell/header-nav.js.map +1 -1
  786. package/es-custom/components/ui-shell/header-panel.js +2 -2
  787. package/es-custom/components/ui-shell/header-panel.js.map +1 -1
  788. package/es-custom/components/ui-shell/header-side-nav-items.js +2 -2
  789. package/es-custom/components/ui-shell/header-side-nav-items.js.map +1 -1
  790. package/es-custom/components/ui-shell/header.js +2 -2
  791. package/es-custom/components/ui-shell/header.js.map +1 -1
  792. package/es-custom/components/ui-shell/side-nav-divider.js +2 -2
  793. package/es-custom/components/ui-shell/side-nav-divider.js.map +1 -1
  794. package/es-custom/components/ui-shell/side-nav-items.js +2 -2
  795. package/es-custom/components/ui-shell/side-nav-items.js.map +1 -1
  796. package/es-custom/components/ui-shell/side-nav-link.js +2 -2
  797. package/es-custom/components/ui-shell/side-nav-link.js.map +1 -1
  798. package/es-custom/components/ui-shell/side-nav-menu-item.js +2 -2
  799. package/es-custom/components/ui-shell/side-nav-menu-item.js.map +1 -1
  800. package/es-custom/components/ui-shell/side-nav-menu.js +3 -3
  801. package/es-custom/components/ui-shell/side-nav-menu.js.map +1 -1
  802. package/es-custom/components/ui-shell/side-nav.js +2 -2
  803. package/es-custom/components/ui-shell/side-nav.js.map +1 -1
  804. package/es-custom/components/ui-shell/switcher-divider.js +2 -2
  805. package/es-custom/components/ui-shell/switcher-divider.js.map +1 -1
  806. package/es-custom/components/ui-shell/switcher-item.js +2 -2
  807. package/es-custom/components/ui-shell/switcher-item.js.map +1 -1
  808. package/es-custom/components/ui-shell/switcher.js +2 -2
  809. package/es-custom/components/ui-shell/switcher.js.map +1 -1
  810. package/es-custom/feature-flags/es/index.js +153 -144
  811. package/es-custom/feature-flags/es/index.js.map +1 -1
  812. package/lib/components/breadcrumb/breadcrumb-item.d.ts +1 -1
  813. package/lib/components/button/button.d.ts +14 -16
  814. package/lib/components/feature-flags/index.d.ts +1 -1
  815. package/lib/components/floating-menu/defs.d.ts +10 -2
  816. package/lib/components/floating-menu/defs.js +9 -1
  817. package/lib/components/floating-menu/defs.js.map +1 -1
  818. package/lib/components/floating-menu/floating-menu.d.ts +31 -1
  819. package/lib/components/multi-select/multi-select.d.ts +9 -0
  820. package/lib/components/overflow-menu/overflow-menu-body.d.ts +18 -2
  821. package/package.json +3 -3
  822. package/scss/components/button/button.scss +2 -0
  823. package/scss/components/overflow-menu/overflow-menu.scss +7 -1
  824. package/scss/components/tabs/tabs-story.scss +15 -1
  825. package/scss/components/tabs/tabs.scss +16 -3
  826. package/telemetry.yml +2 -0
@@ -18,7 +18,7 @@ import HostListener from '../../globals/decorators/host-listener.js';
18
18
  import HostListenerMixin from '../../globals/mixins/host-listener.js';
19
19
  import { PAGINATION_SIZE } from './defs.js';
20
20
  import { carbonElement } from '../../globals/decorators/carbon-element.js';
21
- import { iconLoader } from '../../globals/internal/icon-loader.js';
21
+ import iconLoader from '../../globals/internal/icon-loader.js';
22
22
  import { prefix } from '../../globals/settings.js';
23
23
  import styles from './pagination.scss.js';
24
24
 
@@ -243,7 +243,7 @@ let CDSPagination = class CDSPagination extends FocusMixin(HostListenerMixin(Lit
243
243
  this._handleUserInitiatedPageSizeChange();
244
244
  }
245
245
  else {
246
- this.page = value;
246
+ this.page = Number(value);
247
247
  const newStart = this._calculateStart(value, pageSize, totalItems, pagesUnknown);
248
248
  this._handleUserInitiatedChangeStart(newStart);
249
249
  }
@@ -518,7 +518,7 @@ __decorate([
518
518
  CDSPagination = __decorate([
519
519
  carbonElement(`${prefix}-pagination`)
520
520
  ], CDSPagination);
521
- var CDSPagination$1 = CDSPagination;
521
+ var CDSPagination_default = CDSPagination;
522
522
 
523
- export { CDSPagination$1 as default };
523
+ export { CDSPagination_default as default };
524
524
  //# sourceMappingURL=pagination.js.map
@@ -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 '../button/index';\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport CDSSelect from '../select/select';\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 HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { PAGINATION_SIZE } from './defs';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { prefix } from '../../globals/settings';\nimport styles from './pagination.scss?lit';\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 { pageSize, totalItems } = 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 this.start = this._calculateStart(\n this.page,\n this.pageSize,\n this.totalItems,\n this.pagesUnknown\n );\n const pagesSelect = this.shadowRoot?.querySelector(\n (this.constructor as typeof CDSPagination).selectorPagesSelect\n ) as CDSSelect | null;\n if (pagesSelect) {\n pagesSelect.value = String(this.page);\n }\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\"\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 '../button/index';\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\n\nimport CDSSelect from '../select/select';\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 HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport { PAGINATION_SIZE } from './defs';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport { prefix } from '../../globals/settings';\nimport styles from './pagination.scss?lit';\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 = Number(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 { pageSize, totalItems } = 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 this.start = this._calculateStart(\n this.page,\n this.pageSize,\n this.totalItems,\n this.pagesUnknown\n );\n const pagesSelect = this.shadowRoot?.querySelector(\n (this.constructor as typeof CDSPagination).selectorPagesSelect\n ) as CDSSelect | null;\n if (pagesSelect) {\n pagesSelect.value = String(this.page);\n }\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\"\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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"}
@@ -15,7 +15,7 @@ import { classMap } from 'lit/directives/class-map.js';
15
15
  import CaretLeft16 from '@carbon/icons/es/caret--left/16.js';
16
16
  import CaretRight16 from '@carbon/icons/es/caret--right/16.js';
17
17
  import OverflowMenuHorizontal16 from '@carbon/icons/es/overflow-menu--horizontal/16.js';
18
- import { iconLoader } from '../../globals/internal/icon-loader.js';
18
+ import iconLoader from '../../globals/internal/icon-loader.js';
19
19
  import '../icon-button/icon-button.js';
20
20
  import { PAGINATION_NAV_SIZE, PAGINATION_TOOLTIP_ALIGNMENT, PAGINATION_TOOLTIP_POSITION } from './defs.js';
21
21
  import { ifDefined } from 'lit/directives/if-defined.js';
@@ -421,7 +421,7 @@ __decorate([
421
421
  CDSPaginationNav = __decorate([
422
422
  carbonElement(`${prefix}-pagination-nav`)
423
423
  ], CDSPaginationNav);
424
- var CDSPaginationNav$1 = CDSPaginationNav;
424
+ var CDSPaginationNav_default = CDSPaginationNav;
425
425
 
426
- export { CDSPaginationNav$1 as default };
426
+ export { CDSPaginationNav_default as default };
427
427
  //# sourceMappingURL=pagination-nav.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-nav.js","sources":["../../../src/components/pagination-nav/pagination-nav.ts"],"sourcesContent":["/**\n *\n * Copyright IBM Corp. 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './pagination-nav.scss?lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport OverflowMenu from '@carbon/icons/es/overflow-menu--horizontal/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport '../icon-button';\nimport {\n PAGINATION_NAV_SIZE,\n PAGINATION_TOOLTIP_ALIGNMENT,\n PAGINATION_TOOLTIP_POSITION,\n} from './defs';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\n/**\n * Translation IDs and default translations\n */\nconst translationIds = {\n 'carbon.pagination-nav.next': 'carbon.pagination-nav.next',\n 'carbon.pagination-nav.previous': 'carbon.pagination-nav.previous',\n 'carbon.pagination-nav.item': 'carbon.pagination-nav.item',\n 'carbon.pagination-nav.active': 'carbon.pagination-nav.active',\n 'carbon.pagination-nav.of': 'carbon.pagination-nav.of',\n} as const;\n\ntype TranslationKey = keyof typeof translationIds;\n\nconst defaultTranslations: Record<TranslationKey, string> = {\n [translationIds['carbon.pagination-nav.next']]: 'Next',\n [translationIds['carbon.pagination-nav.previous']]: 'Previous',\n [translationIds['carbon.pagination-nav.item']]: 'Page',\n [translationIds['carbon.pagination-nav.active']]: 'Active',\n [translationIds['carbon.pagination-nav.of']]: 'of',\n};\n\n/**\n * Default translation function\n */\nconst defaultTranslateWithId = (messageId: TranslationKey): string => {\n return defaultTranslations[messageId];\n};\n\n/**\n * Pagination Navigation.\n *\n * @element cds-pagination-nav\n * @fires cds-page-changed - The custom event fired when the the page has been changed.\n */\n@customElement(`${prefix}-pagination-nav`)\nclass CDSPaginationNav extends LitElement {\n /**\n * Internal state for items displayed on page\n */\n @state()\n private itemsDisplayedOnPage!: number;\n\n /**\n * Internal state for cuts\n */\n @state()\n private cuts = { front: 0, back: 0 };\n\n /**\n * Internal state for previous page\n */\n @state()\n private prevPage: number | null = null;\n\n /**\n * The number of items to be shown (minimum of 4 unless props.items < 4).\n */\n @property({ attribute: 'items-shown', reflect: true, type: Number })\n itemsShown = 10;\n\n /**\n * Whether user should be able to loop through the items when reaching first / last.\n */\n @property({ attribute: 'loop', type: Boolean })\n loop = false;\n\n /**\n * The index of current page.\n */\n @property({ attribute: 'page', reflect: true, type: Number })\n page = 0;\n\n /**\n * The total number of items.\n */\n @property({ attribute: 'total-items', reflect: true, type: Number })\n totalItems = 1;\n\n /**\n * Specify the size of the PaginationNav.\n */\n @property({ reflect: true })\n size = PAGINATION_NAV_SIZE.LARGE;\n\n /**\n * Specify the alignment of the tooltip for the icon-only next/prev buttons.\n * Can be one of: start, center, or end.\n */\n @property({ attribute: 'tooltip-alignment', reflect: true })\n tooltipAlignment = PAGINATION_TOOLTIP_ALIGNMENT.CENTER;\n\n /**\n * Specify the position of the tooltip for the icon-only next/prev buttons.\n * Can be one of: top, right, bottom, or left.\n */\n @property({ attribute: 'tooltip-position', reflect: true })\n tooltipPosition = PAGINATION_TOOLTIP_POSITION.BOTTOM;\n\n /**\n * If true, the '...' pagination overflow will not render page links between the first and last rendered buttons.\n * Set this to true if you are having performance problems with large data sets.\n */\n @property({ attribute: 'disable-overflow', reflect: true, type: Boolean })\n disableOverflow?: boolean;\n\n /**\n * Translates component strings using your i18n tool.\n */\n @property({ attribute: false })\n translateWithId: (messageId: TranslationKey) => string =\n defaultTranslateWithId;\n\n private _calculateCuts(\n page: number,\n totalItems: number,\n itemsDisplayedOnPage: number,\n splitPoint: number | null = null\n ) {\n if (itemsDisplayedOnPage >= totalItems) {\n return { front: 0, back: 0 };\n }\n\n const split = splitPoint || Math.ceil(itemsDisplayedOnPage / 2) - 1;\n\n let frontHidden = page + 1 - split;\n let backHidden = totalItems - page - (itemsDisplayedOnPage - split) + 1;\n\n if (frontHidden <= 1) {\n backHidden -= frontHidden <= 0 ? Math.abs(frontHidden) + 1 : 0;\n frontHidden = 0;\n }\n\n if (backHidden <= 1) {\n frontHidden -= backHidden <= 0 ? Math.abs(backHidden) + 1 : 0;\n backHidden = 0;\n }\n\n return { front: frontHidden, back: backHidden };\n }\n\n private _pageWouldBeHidden(page: number) {\n const startOffset = this.itemsDisplayedOnPage <= 4 && this.page > 1 ? 0 : 1;\n\n const wouldBeHiddenInFront =\n (page >= startOffset && page <= this.cuts.front) || page === 0;\n const wouldBeHiddenInBack =\n page >= this.totalItems - this.cuts.back - 1 &&\n page <= this.totalItems - 2;\n\n return wouldBeHiddenInFront || wouldBeHiddenInBack;\n }\n\n /**\n * Sets the current page to a specified index.\n */\n private _setIndex(index: number) {\n if (index >= 0 && index < this.totalItems) {\n this.page = index;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: index,\n },\n }\n )\n );\n }\n }\n\n /**\n * Reduce current page by one, but no lower than 0.\n */\n private _decrementIndex() {\n const { loop, page, totalItems } = this;\n const wouldLoop = page - 1 < 0;\n\n if (loop) {\n this.page = wouldLoop ? totalItems - 1 : page - 1;\n } else {\n this.page = Math.max(this.page - 1, 0);\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n },\n }\n )\n );\n }\n\n /**\n * Increase current page by one, but no higher than (this.totalItems - 1).\n */\n private _incrementIndex() {\n const { loop, page, totalItems } = this;\n const wouldLoop = page + 1 >= totalItems;\n\n if (loop) {\n this.page = wouldLoop ? 0 : page + 1;\n } else {\n this.page = Math.min(this.page + 1, this.totalItems - 1);\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n },\n }\n )\n );\n }\n\n /**\n * Renders a single pagination item & button.\n */\n private _renderPaginationItem(itemPage: number, isActive = false) {\n const { translateWithId: t } = this;\n const itemLabel = t('carbon.pagination-nav.item');\n const classes = {\n [`${prefix}--pagination-nav__page`]: true,\n [`${prefix}--pagination-nav__page--active`]: isActive,\n };\n\n return html`\n <li class=\"${prefix}--pagination-nav__list-item\">\n <button\n class=${classMap(classes)}\n type=\"button\"\n @click=${() => this._setIndex(itemPage)}\n data-page=\"${itemPage + 1}\"\n aria-current=${ifDefined(isActive ? 'page' : undefined)}>\n <span class=\"${prefix}--pagination-nav__accessibility-label\">\n ${isActive\n ? `${t('carbon.pagination-nav.active')}, ${itemLabel}`\n : itemLabel}\n </span>\n ${itemPage + 1}\n </button>\n </li>\n `;\n }\n\n /**\n * Renders overflow items in a select list.\n *\n */\n private _renderPaginationOverflow(fromIndex: number, count: number) {\n const { translateWithId: t } = this;\n\n if (count > 1) {\n return html`\n <li class=\"${prefix}--pagination-nav__list-item\">\n <div class=\"${prefix}--pagination-nav__select\">\n <select\n class=\"${prefix}--pagination-nav__page ${prefix}--pagination-nav__page--select\"\n aria-label=\"Select ${t('carbon.pagination-nav.item')} number\"\n ?disabled=\"${this.disableOverflow}\"\n @change=${(e: Event) => {\n const target = e.target as HTMLSelectElement;\n const index = Number(target.value);\n this._setIndex(index);\n (e.target as HTMLSelectElement).value = '';\n }}>\n <option value=\"\" hidden></option>\n ${Array.from({ length: count }).map(\n (_, i) => html`\n <option\n value=\"${fromIndex + i}\"\n data-page=\"${fromIndex + i + 1}\"\n key=\"overflow-${fromIndex + i}\">\n ${fromIndex + i + 1}\n </option>\n `\n )}\n </select>\n <div class=\"${prefix}--pagination-nav__select-icon-wrapper\">\n ${iconLoader(OverflowMenu, {\n class: `${prefix}--pagination-nav__select-icon`,\n })}\n </div>\n </div>\n </li>\n `;\n } else if (count === 1) {\n return this._renderPaginationItem(fromIndex);\n } else {\n return html``;\n }\n }\n\n render() {\n const {\n loop,\n page,\n totalItems,\n _incrementIndex: incrementIndex,\n _decrementIndex: decrementIndex,\n translateWithId: t,\n size,\n tooltipAlignment,\n tooltipPosition,\n } = this;\n const backwardButtonDisabled = !loop && page <= 0;\n const forwardButtonDisabled = !loop && page >= totalItems - 1;\n\n const startOffset = this.itemsDisplayedOnPage <= 4 && this.page > 1 ? 0 : 1;\n\n const align =\n tooltipAlignment === 'center'\n ? tooltipPosition\n : `${tooltipPosition}-${tooltipAlignment}`;\n\n const navClasses = classMap({\n [`${prefix}--pagination-nav`]: true,\n [`${prefix}--layout--size-${size}`]: size,\n });\n\n return html`\n <nav class=\"${navClasses}\" aria-label=\"pagination\">\n <ul class=\"${prefix}--pagination-nav__list\">\n <li class=\"${prefix}--pagination-nav__list-item\">\n <cds-icon-button\n kind=\"ghost\"\n align=\"${align}\"\n size=\"${size}\"\n ?disabled=${backwardButtonDisabled}\n @click=${decrementIndex}>\n <span slot=\"tooltip-content\"\n >${this.translateWithId('carbon.pagination-nav.previous')}</span\n >\n ${iconLoader(CaretLeft16, { slot: 'icon' })}\n </cds-icon-button>\n </li>\n\n ${\n // render first item if at least 5 items can be displayed or\n // 4 items can be displayed and the current page is either 0 or 1\n this.itemsDisplayedOnPage >= 5 ||\n (this.itemsDisplayedOnPage <= 4 && this.page <= 1)\n ? this._renderPaginationItem(0, this.page === 0)\n : ''\n }\n ${\n /* render first overflow */\n this._renderPaginationOverflow(startOffset, this.cuts.front)\n }\n ${\n // render items between overflows\n Array.from({ length: this.totalItems })\n .map((_, i) => i)\n .slice(startOffset + this.cuts.front, (1 + this.cuts.back) * -1)\n .map((item) =>\n this._renderPaginationItem(item, this.page === item)\n )\n }\n ${\n /* render second overflow */\n this._renderPaginationOverflow(\n this.totalItems - this.cuts.back - 1,\n this.cuts.back\n )\n }\n ${\n // render last item unless there is only one in total\n this.totalItems > 1\n ? this._renderPaginationItem(\n this.totalItems - 1,\n this.page === this.totalItems - 1\n )\n : ''\n }\n <li class=\"${prefix}--pagination-nav__list-item\">\n <cds-icon-button\n kind=\"ghost\"\n align=\"${align}\"\n size=\"${size}\"\n ?disabled=${forwardButtonDisabled}\n @click=${incrementIndex}>\n <span slot=\"tooltip-content\"\n >${this.translateWithId('carbon.pagination-nav.next')}</span\n >\n ${iconLoader(CaretRight16, { slot: 'icon' })}\n </cds-icon-button>\n </li>\n </ul>\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n class=\"${prefix}--pagination-nav__accessibility-label\">\n ${`${t('carbon.pagination-nav.item')} ${\n this.page + 1\n } ${t('carbon.pagination-nav.of')} ${this.totalItems}`}\n </div>\n </nav>\n `;\n }\n\n shouldUpdate(changedProperties) {\n // Prevent setting \"page\" outside bounds of available pages.\n if (changedProperties.has('totalItems') || changedProperties.has('page')) {\n if (this.page > this.totalItems) {\n this.page = this.totalItems - 1;\n }\n if (this.page < 0) {\n this.page = 0;\n }\n }\n\n return true;\n }\n\n updated(changedProperties) {\n if (changedProperties.has('page')) {\n this.prevPage = changedProperties.get('page');\n }\n\n if (\n changedProperties.has('totalItems') ||\n changedProperties.has('itemsShown') ||\n changedProperties.has('size')\n ) {\n let numberOfPages: number;\n\n switch (this.size) {\n case PAGINATION_NAV_SIZE.MEDIUM:\n numberOfPages = this.itemsShown === 4 ? this.itemsShown : 5;\n break;\n\n case PAGINATION_NAV_SIZE.SMALL:\n numberOfPages = Math.min(Math.max(4, this.itemsShown), 7);\n break;\n\n default:\n numberOfPages = 4;\n break;\n }\n\n this.itemsDisplayedOnPage = Math.max(\n this.itemsShown >= 4 ? this.itemsShown : numberOfPages,\n 4\n );\n\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage\n );\n }\n\n if (changedProperties.has('page') && this._pageWouldBeHidden(this.page)) {\n const delta = this.page - (this.prevPage || 0);\n\n if (delta > 0) {\n const splitPoint = this.itemsDisplayedOnPage - 3;\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage,\n splitPoint\n );\n } else {\n const splitPoint = this.itemsDisplayedOnPage > 4 ? 2 : 1;\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage,\n splitPoint\n );\n }\n }\n }\n\n static get eventChange() {\n return `${prefix}-page-changed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSPaginationNav;\n"],"names":["OverflowMenu","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAMG;AAoBH;;AAEG;AACH,MAAM,cAAc,GAAG;AACrB,IAAA,4BAA4B,EAAE,4BAA4B;AAC1D,IAAA,gCAAgC,EAAE,gCAAgC;AAClE,IAAA,4BAA4B,EAAE,4BAA4B;AAC1D,IAAA,8BAA8B,EAAE,8BAA8B;AAC9D,IAAA,0BAA0B,EAAE,0BAA0B;CAC9C;AAIV,MAAM,mBAAmB,GAAmC;AAC1D,IAAA,CAAC,cAAc,CAAC,4BAA4B,CAAC,GAAG,MAAM;AACtD,IAAA,CAAC,cAAc,CAAC,gCAAgC,CAAC,GAAG,UAAU;AAC9D,IAAA,CAAC,cAAc,CAAC,4BAA4B,CAAC,GAAG,MAAM;AACtD,IAAA,CAAC,cAAc,CAAC,8BAA8B,CAAC,GAAG,QAAQ;AAC1D,IAAA,CAAC,cAAc,CAAC,0BAA0B,CAAC,GAAG,IAAI;CACnD;AAED;;AAEG;AACH,MAAM,sBAAsB,GAAG,CAAC,SAAyB,KAAY;AACnE,IAAA,OAAO,mBAAmB,CAAC,SAAS,CAAC;AACvC,CAAC;AAED;;;;;AAKG;AAEH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU,CAAA;AAAzC,IAAA,WAAA,GAAA;;AAOE;;AAEG;QAEK,IAAA,CAAA,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;AAEpC;;AAEG;QAEK,IAAA,CAAA,QAAQ,GAAkB,IAAI;AAEtC;;AAEG;QAEH,IAAA,CAAA,UAAU,GAAG,EAAE;AAEf;;AAEG;QAEH,IAAA,CAAA,IAAI,GAAG,KAAK;AAEZ;;AAEG;QAEH,IAAA,CAAA,IAAI,GAAG,CAAC;AAER;;AAEG;QAEH,IAAA,CAAA,UAAU,GAAG,CAAC;AAEd;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,mBAAmB,CAAC,KAAK;AAEhC;;;AAGG;AAEH,QAAA,IAAA,CAAA,gBAAgB,GAAG,4BAA4B,CAAC,MAAM;AAEtD;;;AAGG;AAEH,QAAA,IAAA,CAAA,eAAe,GAAG,2BAA2B,CAAC,MAAM;AASpD;;AAEG;QAEH,IAAA,CAAA,eAAe,GACb,sBAAsB;IA4X1B;IA1XU,cAAc,CACpB,IAAY,EACZ,UAAkB,EAClB,oBAA4B,EAC5B,aAA4B,IAAI,EAAA;AAEhC,QAAA,IAAI,oBAAoB,IAAI,UAAU,EAAE;YACtC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QAC9B;AAEA,QAAA,MAAM,KAAK,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC;AAEnE,QAAA,IAAI,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK;AAClC,QAAA,IAAI,UAAU,GAAG,UAAU,GAAG,IAAI,IAAI,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC;AAEvE,QAAA,IAAI,WAAW,IAAI,CAAC,EAAE;AACpB,YAAA,UAAU,IAAI,WAAW,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC9D,WAAW,GAAG,CAAC;QACjB;AAEA,QAAA,IAAI,UAAU,IAAI,CAAC,EAAE;AACnB,YAAA,WAAW,IAAI,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAC7D,UAAU,GAAG,CAAC;QAChB;QAEA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;IACjD;AAEQ,IAAA,kBAAkB,CAAC,IAAY,EAAA;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAE3E,QAAA,MAAM,oBAAoB,GACxB,CAAC,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC;AAChE,QAAA,MAAM,mBAAmB,GACvB,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AAC5C,YAAA,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;QAE7B,OAAO,oBAAoB,IAAI,mBAAmB;IACpD;AAEA;;AAEG;AACK,IAAA,SAAS,CAAC,KAAa,EAAA;QAC7B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;AACzC,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;YACjB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACZ,IAAI,CAAC,WAAuC,CAAC,WAAW,EACzD;AACE,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,MAAM,EAAE;AACN,oBAAA,IAAI,EAAE,KAAK;AACZ,iBAAA;AACF,aAAA,CACF,CACF;QACH;IACF;AAEA;;AAEG;IACK,eAAe,GAAA;QACrB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI;AACvC,QAAA,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;QAE9B,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QACnD;aAAO;AACL,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC;QACA,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACZ,IAAI,CAAC,WAAuC,CAAC,WAAW,EACzD;AACE,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,aAAA;AACF,SAAA,CACF,CACF;IACH;AAEA;;AAEG;IACK,eAAe,GAAA;QACrB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI;AACvC,QAAA,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,UAAU;QAExC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QACtC;aAAO;AACL,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAC1D;QACA,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACZ,IAAI,CAAC,WAAuC,CAAC,WAAW,EACzD;AACE,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,aAAA;AACF,SAAA,CACF,CACF;IACH;AAEA;;AAEG;AACK,IAAA,qBAAqB,CAAC,QAAgB,EAAE,QAAQ,GAAG,KAAK,EAAA;AAC9D,QAAA,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,IAAI;AACnC,QAAA,MAAM,SAAS,GAAG,CAAC,CAAC,4BAA4B,CAAC;AACjD,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,sBAAA,CAAwB,GAAG,IAAI;AACzC,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,8BAAA,CAAgC,GAAG,QAAQ;SACtD;AAED,QAAA,OAAO,IAAI,CAAA;mBACI,MAAM,CAAA;;kBAEP,QAAQ,CAAC,OAAO,CAAC;;AAEhB,iBAAA,EAAA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC1B,qBAAA,EAAA,QAAQ,GAAG,CAAC,CAAA;yBACV,SAAS,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,CAAA;yBACxC,MAAM,CAAA;cACjB;cACE,GAAG,CAAC,CAAC,8BAA8B,CAAC,CAAA,EAAA,EAAK,SAAS,CAAA;AACpD,cAAE,SAAS;;AAEb,UAAA,EAAA,QAAQ,GAAG,CAAC;;;KAGnB;IACH;AAEA;;;AAGG;IACK,yBAAyB,CAAC,SAAiB,EAAE,KAAa,EAAA;AAChE,QAAA,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,IAAI;AAEnC,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,YAAA,OAAO,IAAI,CAAA;qBACI,MAAM,CAAA;wBACH,MAAM,CAAA;;AAEP,qBAAA,EAAA,MAAM,0BAA0B,MAAM,CAAA;mCAC1B,CAAC,CAAC,4BAA4B,CAAC,CAAA;AACvC,yBAAA,EAAA,IAAI,CAAC,eAAe,CAAA;wBACvB,CAAC,CAAQ,KAAI;AACrB,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAA2B;gBAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAClC,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACpB,gBAAA,CAAC,CAAC,MAA4B,CAAC,KAAK,GAAG,EAAE;YAC5C,CAAC,CAAA;;gBAEC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CACjC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;;AAED,2BAAA,EAAA,SAAS,GAAG,CAAC,CAAA;iCACT,SAAS,GAAG,CAAC,GAAG,CAAC,CAAA;AACd,kCAAA,EAAA,SAAS,GAAG,CAAC,CAAA;sBAC3B,SAAS,GAAG,CAAC,GAAG,CAAC;;iBAEtB,CACF;;0BAEW,MAAM,CAAA;gBAChB,UAAU,CAACA,wBAAY,EAAE;gBACzB,KAAK,EAAE,CAAA,EAAG,MAAM,CAAA,6BAAA,CAA+B;aAChD,CAAC;;;;OAIT;QACH;AAAO,aAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACtB,YAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;QAC9C;aAAO;YACL,OAAO,IAAI,CAAA,CAAA,CAAE;QACf;IACF;IAEA,MAAM,GAAA;QACJ,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,eAAe,EAAE,cAAc,EAC/B,eAAe,EAAE,cAAc,EAC/B,eAAe,EAAE,CAAC,EAClB,IAAI,EACJ,gBAAgB,EAChB,eAAe,GAChB,GAAG,IAAI;QACR,MAAM,sBAAsB,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC;QACjD,MAAM,qBAAqB,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,UAAU,GAAG,CAAC;QAE7D,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAE3E,QAAA,MAAM,KAAK,GACT,gBAAgB,KAAK;AACnB,cAAE;AACF,cAAE,CAAA,EAAG,eAAe,CAAA,CAAA,EAAI,gBAAgB,EAAE;QAE9C,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC1B,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB,GAAG,IAAI;AACnC,YAAA,CAAC,GAAG,MAAM,CAAA,eAAA,EAAkB,IAAI,CAAA,CAAE,GAAG,IAAI;AAC1C,SAAA,CAAC;AAEF,QAAA,OAAO,IAAI,CAAA;oBACK,UAAU,CAAA;qBACT,MAAM,CAAA;uBACJ,MAAM,CAAA;;;uBAGN,KAAK,CAAA;sBACN,IAAI,CAAA;0BACA,sBAAsB;uBACzB,cAAc,CAAA;;AAElB,iBAAA,EAAA,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAA;;gBAEzD,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;;;AAI7C,UAAA;;;QAGA,IAAI,CAAC,oBAAoB,IAAI,CAAC;aAC7B,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;AAC/C,cAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC;AAC/C,cAAE,EACN;AACE,UAAA;;QAEA,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAC7D;AACE,UAAA;;QAEA,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;aACf,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;AAC9D,aAAA,GAAG,CAAC,CAAC,IAAI,KACR,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAE1D;AACE,UAAA;;QAEA,IAAI,CAAC,yBAAyB,CAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAElB;AACE,UAAA;;QAEA,IAAI,CAAC,UAAU,GAAG;cACd,IAAI,CAAC,qBAAqB,CACxB,IAAI,CAAC,UAAU,GAAG,CAAC,EACnB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC;AAErC,cAAE,EACN;uBACa,MAAM,CAAA;;;uBAGN,KAAK,CAAA;sBACN,IAAI,CAAA;0BACA,qBAAqB;uBACxB,cAAc,CAAA;;AAElB,iBAAA,EAAA,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAA;;gBAErD,UAAU,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;;;;;;mBAOvC,MAAM,CAAA;AACb,UAAA,EAAA,CAAA,EAAG,CAAC,CAAC,4BAA4B,CAAC,CAAA,CAAA,EAClC,IAAI,CAAC,IAAI,GAAG,CACd,CAAA,CAAA,EAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,UAAU,CAAA,CAAE;;;KAG3D;IACH;AAEA,IAAA,YAAY,CAAC,iBAAiB,EAAA;;AAE5B,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACxE,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;gBAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC;YACjC;AACA,YAAA,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;AACjB,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC;YACf;QACF;AAEA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,OAAO,CAAC,iBAAiB,EAAA;AACvB,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;QAC/C;AAEA,QAAA,IACE,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC;AACnC,YAAA,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC;AACnC,YAAA,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAC7B;AACA,YAAA,IAAI,aAAqB;AAEzB,YAAA,QAAQ,IAAI,CAAC,IAAI;gBACf,KAAK,mBAAmB,CAAC,MAAM;AAC7B,oBAAA,aAAa,GAAG,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC;oBAC3D;gBAEF,KAAK,mBAAmB,CAAC,KAAK;AAC5B,oBAAA,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACzD;AAEF,gBAAA;oBACE,aAAa,GAAG,CAAC;oBACjB;;YAGJ,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAClC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,aAAa,EACtD,CAAC,CACF;AAED,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAC7B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,oBAAoB,CAC1B;QACH;AAEA,QAAA,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACvE,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;AAE9C,YAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC;gBAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAC7B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,oBAAoB,EACzB,UAAU,CACX;YACH;iBAAO;AACL,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAC7B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,oBAAoB,EACzB,UAAU,CACX;YACH;QACF;IACF;AAEA,IAAA,WAAW,WAAW,GAAA;QACpB,OAAO,CAAA,EAAG,MAAM,CAAA,aAAA,CAAe;IACjC;;AAEO,gBAAA,CAAA,MAAM,GAAG,MAAH;AAjcL,UAAA,CAAA;AADP,IAAA,KAAK;AACgC,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,MAAA,CAAA;AAM9B,UAAA,CAAA;AADP,IAAA,KAAK;AAC+B,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAM7B,UAAA,CAAA;AADP,IAAA,KAAK;AACiC,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAMvC,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;AACnD,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAMhB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;AACjC,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;AACnD,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMT,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;AACpD,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAMf,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACM,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAOjC,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE;AACJ,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,MAAA,CAAA;AAOvD,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE;AACL,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AAOrD,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;AAC/C,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AAM1B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;AAEL,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AA3ErB,gBAAgB,GAAA,UAAA,CAAA;AADrB,IAAAC,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,eAAA,CAAiB;AACnC,CAAA,EAAA,gBAAgB,CAucrB;AAED,yBAAe,gBAAgB;;;;"}
1
+ {"version":3,"file":"pagination-nav.js","sources":["../../../src/components/pagination-nav/pagination-nav.ts"],"sourcesContent":["/**\n *\n * Copyright IBM Corp. 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './pagination-nav.scss?lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport CaretLeft16 from '@carbon/icons/es/caret--left/16.js';\nimport CaretRight16 from '@carbon/icons/es/caret--right/16.js';\nimport OverflowMenu from '@carbon/icons/es/overflow-menu--horizontal/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport '../icon-button';\nimport {\n PAGINATION_NAV_SIZE,\n PAGINATION_TOOLTIP_ALIGNMENT,\n PAGINATION_TOOLTIP_POSITION,\n} from './defs';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\n/**\n * Translation IDs and default translations\n */\nconst translationIds = {\n 'carbon.pagination-nav.next': 'carbon.pagination-nav.next',\n 'carbon.pagination-nav.previous': 'carbon.pagination-nav.previous',\n 'carbon.pagination-nav.item': 'carbon.pagination-nav.item',\n 'carbon.pagination-nav.active': 'carbon.pagination-nav.active',\n 'carbon.pagination-nav.of': 'carbon.pagination-nav.of',\n} as const;\n\ntype TranslationKey = keyof typeof translationIds;\n\nconst defaultTranslations: Record<TranslationKey, string> = {\n [translationIds['carbon.pagination-nav.next']]: 'Next',\n [translationIds['carbon.pagination-nav.previous']]: 'Previous',\n [translationIds['carbon.pagination-nav.item']]: 'Page',\n [translationIds['carbon.pagination-nav.active']]: 'Active',\n [translationIds['carbon.pagination-nav.of']]: 'of',\n};\n\n/**\n * Default translation function\n */\nconst defaultTranslateWithId = (messageId: TranslationKey): string => {\n return defaultTranslations[messageId];\n};\n\n/**\n * Pagination Navigation.\n *\n * @element cds-pagination-nav\n * @fires cds-page-changed - The custom event fired when the the page has been changed.\n */\n@customElement(`${prefix}-pagination-nav`)\nclass CDSPaginationNav extends LitElement {\n /**\n * Internal state for items displayed on page\n */\n @state()\n private itemsDisplayedOnPage!: number;\n\n /**\n * Internal state for cuts\n */\n @state()\n private cuts = { front: 0, back: 0 };\n\n /**\n * Internal state for previous page\n */\n @state()\n private prevPage: number | null = null;\n\n /**\n * The number of items to be shown (minimum of 4 unless props.items < 4).\n */\n @property({ attribute: 'items-shown', reflect: true, type: Number })\n itemsShown = 10;\n\n /**\n * Whether user should be able to loop through the items when reaching first / last.\n */\n @property({ attribute: 'loop', type: Boolean })\n loop = false;\n\n /**\n * The index of current page.\n */\n @property({ attribute: 'page', reflect: true, type: Number })\n page = 0;\n\n /**\n * The total number of items.\n */\n @property({ attribute: 'total-items', reflect: true, type: Number })\n totalItems = 1;\n\n /**\n * Specify the size of the PaginationNav.\n */\n @property({ reflect: true })\n size = PAGINATION_NAV_SIZE.LARGE;\n\n /**\n * Specify the alignment of the tooltip for the icon-only next/prev buttons.\n * Can be one of: start, center, or end.\n */\n @property({ attribute: 'tooltip-alignment', reflect: true })\n tooltipAlignment = PAGINATION_TOOLTIP_ALIGNMENT.CENTER;\n\n /**\n * Specify the position of the tooltip for the icon-only next/prev buttons.\n * Can be one of: top, right, bottom, or left.\n */\n @property({ attribute: 'tooltip-position', reflect: true })\n tooltipPosition = PAGINATION_TOOLTIP_POSITION.BOTTOM;\n\n /**\n * If true, the '...' pagination overflow will not render page links between the first and last rendered buttons.\n * Set this to true if you are having performance problems with large data sets.\n */\n @property({ attribute: 'disable-overflow', reflect: true, type: Boolean })\n disableOverflow?: boolean;\n\n /**\n * Translates component strings using your i18n tool.\n */\n @property({ attribute: false })\n translateWithId: (messageId: TranslationKey) => string =\n defaultTranslateWithId;\n\n private _calculateCuts(\n page: number,\n totalItems: number,\n itemsDisplayedOnPage: number,\n splitPoint: number | null = null\n ) {\n if (itemsDisplayedOnPage >= totalItems) {\n return { front: 0, back: 0 };\n }\n\n const split = splitPoint || Math.ceil(itemsDisplayedOnPage / 2) - 1;\n\n let frontHidden = page + 1 - split;\n let backHidden = totalItems - page - (itemsDisplayedOnPage - split) + 1;\n\n if (frontHidden <= 1) {\n backHidden -= frontHidden <= 0 ? Math.abs(frontHidden) + 1 : 0;\n frontHidden = 0;\n }\n\n if (backHidden <= 1) {\n frontHidden -= backHidden <= 0 ? Math.abs(backHidden) + 1 : 0;\n backHidden = 0;\n }\n\n return { front: frontHidden, back: backHidden };\n }\n\n private _pageWouldBeHidden(page: number) {\n const startOffset = this.itemsDisplayedOnPage <= 4 && this.page > 1 ? 0 : 1;\n\n const wouldBeHiddenInFront =\n (page >= startOffset && page <= this.cuts.front) || page === 0;\n const wouldBeHiddenInBack =\n page >= this.totalItems - this.cuts.back - 1 &&\n page <= this.totalItems - 2;\n\n return wouldBeHiddenInFront || wouldBeHiddenInBack;\n }\n\n /**\n * Sets the current page to a specified index.\n */\n private _setIndex(index: number) {\n if (index >= 0 && index < this.totalItems) {\n this.page = index;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: index,\n },\n }\n )\n );\n }\n }\n\n /**\n * Reduce current page by one, but no lower than 0.\n */\n private _decrementIndex() {\n const { loop, page, totalItems } = this;\n const wouldLoop = page - 1 < 0;\n\n if (loop) {\n this.page = wouldLoop ? totalItems - 1 : page - 1;\n } else {\n this.page = Math.max(this.page - 1, 0);\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n },\n }\n )\n );\n }\n\n /**\n * Increase current page by one, but no higher than (this.totalItems - 1).\n */\n private _incrementIndex() {\n const { loop, page, totalItems } = this;\n const wouldLoop = page + 1 >= totalItems;\n\n if (loop) {\n this.page = wouldLoop ? 0 : page + 1;\n } else {\n this.page = Math.min(this.page + 1, this.totalItems - 1);\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSPaginationNav).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n page: this.page,\n },\n }\n )\n );\n }\n\n /**\n * Renders a single pagination item & button.\n */\n private _renderPaginationItem(itemPage: number, isActive = false) {\n const { translateWithId: t } = this;\n const itemLabel = t('carbon.pagination-nav.item');\n const classes = {\n [`${prefix}--pagination-nav__page`]: true,\n [`${prefix}--pagination-nav__page--active`]: isActive,\n };\n\n return html`\n <li class=\"${prefix}--pagination-nav__list-item\">\n <button\n class=${classMap(classes)}\n type=\"button\"\n @click=${() => this._setIndex(itemPage)}\n data-page=\"${itemPage + 1}\"\n aria-current=${ifDefined(isActive ? 'page' : undefined)}>\n <span class=\"${prefix}--pagination-nav__accessibility-label\">\n ${isActive\n ? `${t('carbon.pagination-nav.active')}, ${itemLabel}`\n : itemLabel}\n </span>\n ${itemPage + 1}\n </button>\n </li>\n `;\n }\n\n /**\n * Renders overflow items in a select list.\n *\n */\n private _renderPaginationOverflow(fromIndex: number, count: number) {\n const { translateWithId: t } = this;\n\n if (count > 1) {\n return html`\n <li class=\"${prefix}--pagination-nav__list-item\">\n <div class=\"${prefix}--pagination-nav__select\">\n <select\n class=\"${prefix}--pagination-nav__page ${prefix}--pagination-nav__page--select\"\n aria-label=\"Select ${t('carbon.pagination-nav.item')} number\"\n ?disabled=\"${this.disableOverflow}\"\n @change=${(e: Event) => {\n const target = e.target as HTMLSelectElement;\n const index = Number(target.value);\n this._setIndex(index);\n (e.target as HTMLSelectElement).value = '';\n }}>\n <option value=\"\" hidden></option>\n ${Array.from({ length: count }).map(\n (_, i) => html`\n <option\n value=\"${fromIndex + i}\"\n data-page=\"${fromIndex + i + 1}\"\n key=\"overflow-${fromIndex + i}\">\n ${fromIndex + i + 1}\n </option>\n `\n )}\n </select>\n <div class=\"${prefix}--pagination-nav__select-icon-wrapper\">\n ${iconLoader(OverflowMenu, {\n class: `${prefix}--pagination-nav__select-icon`,\n })}\n </div>\n </div>\n </li>\n `;\n } else if (count === 1) {\n return this._renderPaginationItem(fromIndex);\n } else {\n return html``;\n }\n }\n\n render() {\n const {\n loop,\n page,\n totalItems,\n _incrementIndex: incrementIndex,\n _decrementIndex: decrementIndex,\n translateWithId: t,\n size,\n tooltipAlignment,\n tooltipPosition,\n } = this;\n const backwardButtonDisabled = !loop && page <= 0;\n const forwardButtonDisabled = !loop && page >= totalItems - 1;\n\n const startOffset = this.itemsDisplayedOnPage <= 4 && this.page > 1 ? 0 : 1;\n\n const align =\n tooltipAlignment === 'center'\n ? tooltipPosition\n : `${tooltipPosition}-${tooltipAlignment}`;\n\n const navClasses = classMap({\n [`${prefix}--pagination-nav`]: true,\n [`${prefix}--layout--size-${size}`]: size,\n });\n\n return html`\n <nav class=\"${navClasses}\" aria-label=\"pagination\">\n <ul class=\"${prefix}--pagination-nav__list\">\n <li class=\"${prefix}--pagination-nav__list-item\">\n <cds-icon-button\n kind=\"ghost\"\n align=\"${align}\"\n size=\"${size}\"\n ?disabled=${backwardButtonDisabled}\n @click=${decrementIndex}>\n <span slot=\"tooltip-content\"\n >${this.translateWithId('carbon.pagination-nav.previous')}</span\n >\n ${iconLoader(CaretLeft16, { slot: 'icon' })}\n </cds-icon-button>\n </li>\n\n ${\n // render first item if at least 5 items can be displayed or\n // 4 items can be displayed and the current page is either 0 or 1\n this.itemsDisplayedOnPage >= 5 ||\n (this.itemsDisplayedOnPage <= 4 && this.page <= 1)\n ? this._renderPaginationItem(0, this.page === 0)\n : ''\n }\n ${\n /* render first overflow */\n this._renderPaginationOverflow(startOffset, this.cuts.front)\n }\n ${\n // render items between overflows\n Array.from({ length: this.totalItems })\n .map((_, i) => i)\n .slice(startOffset + this.cuts.front, (1 + this.cuts.back) * -1)\n .map((item) =>\n this._renderPaginationItem(item, this.page === item)\n )\n }\n ${\n /* render second overflow */\n this._renderPaginationOverflow(\n this.totalItems - this.cuts.back - 1,\n this.cuts.back\n )\n }\n ${\n // render last item unless there is only one in total\n this.totalItems > 1\n ? this._renderPaginationItem(\n this.totalItems - 1,\n this.page === this.totalItems - 1\n )\n : ''\n }\n <li class=\"${prefix}--pagination-nav__list-item\">\n <cds-icon-button\n kind=\"ghost\"\n align=\"${align}\"\n size=\"${size}\"\n ?disabled=${forwardButtonDisabled}\n @click=${incrementIndex}>\n <span slot=\"tooltip-content\"\n >${this.translateWithId('carbon.pagination-nav.next')}</span\n >\n ${iconLoader(CaretRight16, { slot: 'icon' })}\n </cds-icon-button>\n </li>\n </ul>\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n class=\"${prefix}--pagination-nav__accessibility-label\">\n ${`${t('carbon.pagination-nav.item')} ${\n this.page + 1\n } ${t('carbon.pagination-nav.of')} ${this.totalItems}`}\n </div>\n </nav>\n `;\n }\n\n shouldUpdate(changedProperties) {\n // Prevent setting \"page\" outside bounds of available pages.\n if (changedProperties.has('totalItems') || changedProperties.has('page')) {\n if (this.page > this.totalItems) {\n this.page = this.totalItems - 1;\n }\n if (this.page < 0) {\n this.page = 0;\n }\n }\n\n return true;\n }\n\n updated(changedProperties) {\n if (changedProperties.has('page')) {\n this.prevPage = changedProperties.get('page');\n }\n\n if (\n changedProperties.has('totalItems') ||\n changedProperties.has('itemsShown') ||\n changedProperties.has('size')\n ) {\n let numberOfPages: number;\n\n switch (this.size) {\n case PAGINATION_NAV_SIZE.MEDIUM:\n numberOfPages = this.itemsShown === 4 ? this.itemsShown : 5;\n break;\n\n case PAGINATION_NAV_SIZE.SMALL:\n numberOfPages = Math.min(Math.max(4, this.itemsShown), 7);\n break;\n\n default:\n numberOfPages = 4;\n break;\n }\n\n this.itemsDisplayedOnPage = Math.max(\n this.itemsShown >= 4 ? this.itemsShown : numberOfPages,\n 4\n );\n\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage\n );\n }\n\n if (changedProperties.has('page') && this._pageWouldBeHidden(this.page)) {\n const delta = this.page - (this.prevPage || 0);\n\n if (delta > 0) {\n const splitPoint = this.itemsDisplayedOnPage - 3;\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage,\n splitPoint\n );\n } else {\n const splitPoint = this.itemsDisplayedOnPage > 4 ? 2 : 1;\n this.cuts = this._calculateCuts(\n this.page,\n this.totalItems,\n this.itemsDisplayedOnPage,\n splitPoint\n );\n }\n }\n }\n\n static get eventChange() {\n return `${prefix}-page-changed`;\n }\n\n static styles = styles;\n}\n\nexport default CDSPaginationNav;\n"],"names":["OverflowMenu","customElement"],"mappings":"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"}
@@ -47,7 +47,7 @@ __decorate([
47
47
  CDSPasswordInputSkeleton = __decorate([
48
48
  carbonElement(`${prefix}-password-input-skeleton`)
49
49
  ], CDSPasswordInputSkeleton);
50
- var CDSPasswordInputSkeleton$1 = CDSPasswordInputSkeleton;
50
+ var CDSPasswordInputSkeleton_default = CDSPasswordInputSkeleton;
51
51
 
52
- export { CDSPasswordInputSkeleton$1 as default };
52
+ export { CDSPasswordInputSkeleton_default as default };
53
53
  //# sourceMappingURL=password-input-skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"password-input-skeleton.js","sources":["../../../src/components/password-input/password-input-skeleton.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 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 } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './password-input.scss?lit';\n\n/**\n * @element cds-password-input-skeleton\n *\n * Skeleton of password input.\n */\n@customElement(`${prefix}-password-input-skeleton`)\nclass CDSPasswordInputSkeleton extends LitElement {\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n render() {\n const { hideLabel } = this;\n return html`\n ${!hideLabel &&\n html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div class=\"${prefix}--text-input ${prefix}--skeleton\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSPasswordInputSkeleton;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;AAKG;AAQH;;;;AAIG;AAEH,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,UAAU,CAAA;AAAjD,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAA,CAAA,SAAS,GAAG,KAAK;IAYnB;IAVE,MAAM,GAAA;AACJ,QAAA,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;AAC1B,QAAA,OAAO,IAAI,CAAA;AACP,MAAA,EAAA,CAAC,SAAS;AACZ,YAAA,IAAI,CAAA,CAAA,cAAA,EAAiB,MAAM,CAAA,QAAA,EAAW,MAAM,CAAA,oBAAA,CAAsB;AACpD,kBAAA,EAAA,MAAM,gBAAgB,MAAM,CAAA;KAC3C;IACH;;AAEO,wBAAA,CAAA,MAAM,GAAG,MAAH;AAXb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE;AACjD,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AALd,wBAAwB,GAAA,UAAA,CAAA;AAD7B,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,wBAAA,CAA0B;AAC5C,CAAA,EAAA,wBAAwB,CAiB7B;AAED,iCAAe,wBAAwB;;;;"}
1
+ {"version":3,"file":"password-input-skeleton.js","sources":["../../../src/components/password-input/password-input-skeleton.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 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 } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './password-input.scss?lit';\n\n/**\n * @element cds-password-input-skeleton\n *\n * Skeleton of password input.\n */\n@customElement(`${prefix}-password-input-skeleton`)\nclass CDSPasswordInputSkeleton extends LitElement {\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n render() {\n const { hideLabel } = this;\n return html`\n ${!hideLabel &&\n html` <span class=\"${prefix}--label ${prefix}--skeleton\"></span> `}\n <div class=\"${prefix}--text-input ${prefix}--skeleton\"></div>\n `;\n }\n\n static styles = styles;\n}\n\nexport default CDSPasswordInputSkeleton;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;AAKG;AAQH;;;;AAIG;AAEH,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,UAAU,CAAA;AAAjD,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAA,CAAA,SAAS,GAAG,KAAK;IAYnB;IAVE,MAAM,GAAA;AACJ,QAAA,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI;AAC1B,QAAA,OAAO,IAAI,CAAA;AACP,MAAA,EAAA,CAAC,SAAS;AACZ,YAAA,IAAI,CAAA,CAAA,cAAA,EAAiB,MAAM,CAAA,QAAA,EAAW,MAAM,CAAA,oBAAA,CAAsB;AACpD,kBAAA,EAAA,MAAM,gBAAgB,MAAM,CAAA;KAC3C;IACH;;AAEO,wBAAA,CAAA,MAAM,GAAG,MAAH;AAXb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE;AACjD,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AALd,wBAAwB,GAAA,UAAA,CAAA;AAD7B,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,wBAAA,CAA0B;AAC5C,CAAA,EAAA,wBAAwB,CAiB7B;AAED,uCAAe,wBAAwB;;;;"}
@@ -15,7 +15,7 @@ import View16 from '@carbon/icons/es/view/16.js';
15
15
  import ViewOff16 from '@carbon/icons/es/view--off/16.js';
16
16
  import WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';
17
17
  import WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';
18
- import { iconLoader } from '../../globals/internal/icon-loader.js';
18
+ import iconLoader from '../../globals/internal/icon-loader.js';
19
19
  import ifNonEmpty from '../../globals/directives/if-non-empty.js';
20
20
  import '../tooltip/tooltip.js';
21
21
  import '../tooltip/tooltip-content.js';
@@ -306,7 +306,7 @@ __decorate([
306
306
  CDSPasswordInput = __decorate([
307
307
  carbonElement(`${prefix}-password-input`)
308
308
  ], CDSPasswordInput);
309
- var CDSPasswordInput$1 = CDSPasswordInput;
309
+ var CDSPasswordInput_default = CDSPasswordInput;
310
310
 
311
- export { INPUT_TOOLTIP_ALIGNMENT, INPUT_TOOLTIP_DIRECTION, INPUT_TYPE, CDSPasswordInput$1 as default };
311
+ export { INPUT_TOOLTIP_ALIGNMENT, INPUT_TOOLTIP_DIRECTION, INPUT_TYPE, CDSPasswordInput_default as default };
312
312
  //# sourceMappingURL=password-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"password-input.js","sources":["../../../src/components/password-input/password-input.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 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 { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport View16 from '@carbon/icons/es/view/16.js';\nimport ViewOff16 from '@carbon/icons/es/view--off/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport '../tooltip';\nimport '../tooltip/tooltip-content';\nimport styles from './password-input.scss?lit';\nimport CDSTextInput from '../text-input/text-input';\nimport CDSTooltip from '../tooltip/tooltip';\n\nimport {\n INPUT_COLOR_SCHEME,\n INPUT_SIZE,\n INPUT_TOOLTIP_ALIGNMENT,\n INPUT_TOOLTIP_DIRECTION,\n INPUT_TYPE,\n} from './defs';\n\nexport {\n INPUT_COLOR_SCHEME,\n INPUT_SIZE,\n INPUT_TOOLTIP_ALIGNMENT,\n INPUT_TOOLTIP_DIRECTION,\n INPUT_TYPE,\n};\n/**\n * Password Input element. Supports all the usual attributes for textual input types\n *\n * @element cds-password-input\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-password-input`)\nclass CDSPasswordInput extends CDSTextInput {\n /**\n * The Show/Hide Password tooltip\n */\n @query(`${prefix}-tooltip`)\n private _passwordTooltip?: HTMLElement;\n\n /**\n * Handles `oninput` event on the `input`.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n protected _handleInput({ target }: Event) {\n this.value = (target as HTMLInputElement).value;\n }\n\n /**\n * \"Hide password\" tooltip text on password visibility toggle\n */\n @property({\n type: String,\n attribute: 'hide-password-label',\n reflect: true,\n })\n hidePasswordLabel = 'Hide password';\n\n /**\n * \"Show password\" tooltip text on password visibility toggle\n */\n @property({\n type: String,\n attribute: 'show-password-label',\n reflect: true,\n })\n showPasswordLabel = 'Show password';\n\n /**\n * The native `<input>` type. Defaults to “password”.\n */\n @property({ reflect: true })\n type: INPUT_TYPE = INPUT_TYPE.PASSWORD;\n\n /**\n * Specify the alignment of the tooltip to the icon-only button.\n * Can be one of: start, center, or end.\n */\n @property({\n type: String,\n attribute: 'tooltip-alignment',\n reflect: true,\n })\n tooltipAlignment = INPUT_TOOLTIP_ALIGNMENT.CENTER;\n\n /**\n * Specify the direction of the tooltip for icon-only buttons.\n * Can be either top, right, bottom, or left.\n */\n @property({\n type: String,\n attribute: 'tooltip-position',\n reflect: true,\n })\n tooltipDirection = INPUT_TOOLTIP_DIRECTION.BOTTOM;\n\n /**\n * Handles password visibility toggle button click\n */\n private handleTogglePasswordVisibility() {\n if (this.disabled) return;\n this.type =\n this.type === INPUT_TYPE.PASSWORD ? INPUT_TYPE.TEXT : INPUT_TYPE.PASSWORD;\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n inline,\n invalid,\n invalidText,\n label,\n readonly,\n required,\n size,\n type,\n warn,\n warnText,\n _handleInput: handleInput,\n _handleSlotChange: handleSlotChange,\n } = this;\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--text-input__invalid-icon`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--text-input__invalid-icon ${prefix}--text-input__invalid-icon--warning`,\n });\n\n const normalizedProps: {\n disabled: boolean;\n invalid: boolean;\n warn: boolean;\n 'slot-name': string;\n 'slot-text': string;\n icon: ReturnType<typeof iconLoader>;\n } = {\n disabled: !readonly && disabled,\n invalid: !readonly && invalid,\n warn: !readonly && !invalid && warn,\n 'slot-name': '',\n 'slot-text': '',\n icon: null,\n };\n\n if (normalizedProps.invalid) {\n normalizedProps.icon = invalidIcon;\n normalizedProps['slot-name'] = 'invalid-text';\n normalizedProps['slot-text'] = invalidText;\n } else if (normalizedProps.warn) {\n normalizedProps.icon = warnIcon;\n normalizedProps['slot-name'] = 'warn-text';\n normalizedProps['slot-text'] = warnText;\n }\n\n const inputWrapperClasses = classMap({\n [`${prefix}--form-item`]: true,\n [`${prefix}--text-input-wrapper`]: true,\n [`${prefix}--password-input-wrapper`]: true,\n [`${prefix}--text-input-wrapper--inline`]: inline,\n [`${prefix}--text-input-wrapper--readonly`]: readonly,\n [`${prefix}--text-input-wrapper--inline--invalid`]:\n inline && normalizedProps.invalid,\n });\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--invalid`]: normalizedProps.invalid,\n [`${prefix}--text-input--warning`]: normalizedProps.warn,\n [`${prefix}--text-input--${size}`]: size,\n [`${prefix}--layout--size-${size}`]: size,\n [`${prefix}--password-input`]: true,\n });\n\n const fieldOuterWrapperClasses = classMap({\n [`${prefix}--text-input__field-outer-wrapper`]: true,\n [`${prefix}--text-input__field-outer-wrapper--inline`]: inline,\n });\n\n const fieldWrapperClasses = classMap({\n [`${prefix}--text-input__field-wrapper`]: true,\n [`${prefix}--text-input__field-wrapper--warning`]: normalizedProps.warn,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: normalizedProps.disabled,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled,\n });\n\n const passwordIsVisible = type !== INPUT_TYPE.PASSWORD;\n const passwordVisibilityIcon = passwordIsVisible\n ? iconLoader(ViewOff16, { class: `${prefix}--icon-visibility-off` })\n : iconLoader(View16, { class: `${prefix}--icon-visibility-on` });\n\n const passwordVisibilityTooltipClasses = classMap({\n [`${prefix}--text-input--password__visibility__toggle`]: true,\n [`${prefix}--btn`]: true,\n [`${prefix}--tooltip__trigger`]: true,\n [`${prefix}--tooltip--a11y`]: true,\n [`${prefix}--toggle-password-tooltip`]: true,\n [`${prefix}--btn--disabled`]: normalizedProps.disabled || readonly,\n [`${prefix}--tooltip--${this.tooltipDirection}`]: this.tooltipDirection,\n [`${prefix}--tooltip--align-${this.tooltipAlignment}`]:\n this.tooltipAlignment,\n });\n\n const passwordVisibilityButtonClasses = classMap({\n [`${prefix}--text-input--password__visibility__toggle`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--tooltip__trigger`]: true,\n [`${prefix}--tooltip--a11y`]: true,\n [`${prefix}--toggle-password-tooltip`]: true,\n [`${prefix}--btn--disabled`]: normalizedProps.disabled || readonly,\n });\n\n const labelWrapper = html`<div class=\"${prefix}--text-input__label-wrapper\">\n <label class=\"${labelClasses}\"> ${label} </label>\n </div>`;\n\n const helper = helperText\n ? html`<div\n class=\"${helperTextClasses}\"\n id=\"helper-text\"\n ?hidden=\"${normalizedProps.invalid || normalizedProps.warn}\">\n <slot name=\"helper-text\"> ${helperText} </slot>\n </div>`\n : null;\n\n let align = '';\n\n if (\n this.tooltipDirection === INPUT_TOOLTIP_DIRECTION.TOP ||\n this.tooltipDirection === INPUT_TOOLTIP_DIRECTION.BOTTOM\n ) {\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.CENTER) {\n align = this.tooltipDirection;\n }\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.END) {\n align = `${this.tooltipDirection}-right`;\n }\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.START) {\n align = `${this.tooltipDirection}-left`;\n }\n }\n\n if (this.tooltipDirection === 'right' || this.tooltipDirection === 'left') {\n align = this.tooltipDirection;\n }\n\n return html`\n <div class=\"${inputWrapperClasses}\">\n ${!inline\n ? labelWrapper\n : html`<div class=\"${prefix}--text-input__label-helper-wrapper\">\n ${labelWrapper} ${helper}\n </div>`}\n <div class=\"${fieldOuterWrapperClasses}\">\n <div class=\"${fieldWrapperClasses}\" ?data-invalid=\"${invalid}\">\n ${normalizedProps.icon}\n <input\n ?autofocus=\"${this.autofocus}\"\n class=\"${inputClasses}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n aria-describedby=\"helper-text\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${readonly}\"\n ?required=\"${required}\"\n type=\"${ifNonEmpty(type)}\"\n .value=\"${this._value}\"\n @input=\"${handleInput}\" />\n <slot name=\"slug\" @slotchange=\"${handleSlotChange}\"></slot>\n <cds-tooltip\n align=\"${align}\"\n class=\"${passwordVisibilityTooltipClasses}\"\n .dropShadow=\"${false}\"\n ?disabled=\"${normalizedProps.disabled}\">\n <button\n ?disabled=\"${normalizedProps.disabled}\"\n type=\"button\"\n role=\"button\"\n class=\"${passwordVisibilityButtonClasses}\"\n aria-labelledby=\"content\"\n @click=\"${this.handleTogglePasswordVisibility}\">\n ${passwordVisibilityIcon}\n </button>\n <cds-tooltip-content\n id=\"content\"\n ?hidden=\"${normalizedProps.disabled}\">\n ${passwordIsVisible\n ? this.hidePasswordLabel\n : this.showPasswordLabel}\n </cds-tooltip-content>\n </cds-tooltip>\n </div>\n ${!inline ? helper : null}\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!normalizedProps.invalid && !normalizedProps.warn}\">\n <slot name=\"${normalizedProps['slot-name']}\">\n ${normalizedProps['slot-text']}\n </slot>\n </div>\n </div>\n </div>\n `;\n }\n\n async firstUpdated() {\n await (this._passwordTooltip as CDSTooltip)?.updateComplete;\n this._passwordTooltip?.shadowRoot\n ?.querySelector(`.${prefix}--tooltip`)\n ?.classList.add(`${prefix}--icon-tooltip`);\n }\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSPasswordInput;\n"],"names":["customElement"],"mappings":"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"}
1
+ {"version":3,"file":"password-input.js","sources":["../../../src/components/password-input/password-input.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 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 { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { prefix } from '../../globals/settings';\nimport View16 from '@carbon/icons/es/view/16.js';\nimport ViewOff16 from '@carbon/icons/es/view--off/16.js';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport '../tooltip';\nimport '../tooltip/tooltip-content';\nimport styles from './password-input.scss?lit';\nimport CDSTextInput from '../text-input/text-input';\nimport CDSTooltip from '../tooltip/tooltip';\n\nimport {\n INPUT_COLOR_SCHEME,\n INPUT_SIZE,\n INPUT_TOOLTIP_ALIGNMENT,\n INPUT_TOOLTIP_DIRECTION,\n INPUT_TYPE,\n} from './defs';\n\nexport {\n INPUT_COLOR_SCHEME,\n INPUT_SIZE,\n INPUT_TOOLTIP_ALIGNMENT,\n INPUT_TOOLTIP_DIRECTION,\n INPUT_TYPE,\n};\n/**\n * Password Input element. Supports all the usual attributes for textual input types\n *\n * @element cds-password-input\n * @slot helper-text - The helper text.\n * @slot label-text - The label text.\n * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.\n */\n@customElement(`${prefix}-password-input`)\nclass CDSPasswordInput extends CDSTextInput {\n /**\n * The Show/Hide Password tooltip\n */\n @query(`${prefix}-tooltip`)\n private _passwordTooltip?: HTMLElement;\n\n /**\n * Handles `oninput` event on the `input`.\n *\n * @param event The event.\n * @param event.target The event target.\n */\n protected _handleInput({ target }: Event) {\n this.value = (target as HTMLInputElement).value;\n }\n\n /**\n * \"Hide password\" tooltip text on password visibility toggle\n */\n @property({\n type: String,\n attribute: 'hide-password-label',\n reflect: true,\n })\n hidePasswordLabel = 'Hide password';\n\n /**\n * \"Show password\" tooltip text on password visibility toggle\n */\n @property({\n type: String,\n attribute: 'show-password-label',\n reflect: true,\n })\n showPasswordLabel = 'Show password';\n\n /**\n * The native `<input>` type. Defaults to “password”.\n */\n @property({ reflect: true })\n type: INPUT_TYPE = INPUT_TYPE.PASSWORD;\n\n /**\n * Specify the alignment of the tooltip to the icon-only button.\n * Can be one of: start, center, or end.\n */\n @property({\n type: String,\n attribute: 'tooltip-alignment',\n reflect: true,\n })\n tooltipAlignment = INPUT_TOOLTIP_ALIGNMENT.CENTER;\n\n /**\n * Specify the direction of the tooltip for icon-only buttons.\n * Can be either top, right, bottom, or left.\n */\n @property({\n type: String,\n attribute: 'tooltip-position',\n reflect: true,\n })\n tooltipDirection = INPUT_TOOLTIP_DIRECTION.BOTTOM;\n\n /**\n * Handles password visibility toggle button click\n */\n private handleTogglePasswordVisibility() {\n if (this.disabled) return;\n this.type =\n this.type === INPUT_TYPE.PASSWORD ? INPUT_TYPE.TEXT : INPUT_TYPE.PASSWORD;\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n inline,\n invalid,\n invalidText,\n label,\n readonly,\n required,\n size,\n type,\n warn,\n warnText,\n _handleInput: handleInput,\n _handleSlotChange: handleSlotChange,\n } = this;\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--text-input__invalid-icon`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--text-input__invalid-icon ${prefix}--text-input__invalid-icon--warning`,\n });\n\n const normalizedProps: {\n disabled: boolean;\n invalid: boolean;\n warn: boolean;\n 'slot-name': string;\n 'slot-text': string;\n icon: ReturnType<typeof iconLoader>;\n } = {\n disabled: !readonly && disabled,\n invalid: !readonly && invalid,\n warn: !readonly && !invalid && warn,\n 'slot-name': '',\n 'slot-text': '',\n icon: null,\n };\n\n if (normalizedProps.invalid) {\n normalizedProps.icon = invalidIcon;\n normalizedProps['slot-name'] = 'invalid-text';\n normalizedProps['slot-text'] = invalidText;\n } else if (normalizedProps.warn) {\n normalizedProps.icon = warnIcon;\n normalizedProps['slot-name'] = 'warn-text';\n normalizedProps['slot-text'] = warnText;\n }\n\n const inputWrapperClasses = classMap({\n [`${prefix}--form-item`]: true,\n [`${prefix}--text-input-wrapper`]: true,\n [`${prefix}--password-input-wrapper`]: true,\n [`${prefix}--text-input-wrapper--inline`]: inline,\n [`${prefix}--text-input-wrapper--readonly`]: readonly,\n [`${prefix}--text-input-wrapper--inline--invalid`]:\n inline && normalizedProps.invalid,\n });\n\n const inputClasses = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--text-input--invalid`]: normalizedProps.invalid,\n [`${prefix}--text-input--warning`]: normalizedProps.warn,\n [`${prefix}--text-input--${size}`]: size,\n [`${prefix}--layout--size-${size}`]: size,\n [`${prefix}--password-input`]: true,\n });\n\n const fieldOuterWrapperClasses = classMap({\n [`${prefix}--text-input__field-outer-wrapper`]: true,\n [`${prefix}--text-input__field-outer-wrapper--inline`]: inline,\n });\n\n const fieldWrapperClasses = classMap({\n [`${prefix}--text-input__field-wrapper`]: true,\n [`${prefix}--text-input__field-wrapper--warning`]: normalizedProps.warn,\n });\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n [`${prefix}--label--disabled`]: normalizedProps.disabled,\n });\n\n const helperTextClasses = classMap({\n [`${prefix}--form__helper-text`]: true,\n [`${prefix}--form__helper-text--disabled`]: normalizedProps.disabled,\n });\n\n const passwordIsVisible = type !== INPUT_TYPE.PASSWORD;\n const passwordVisibilityIcon = passwordIsVisible\n ? iconLoader(ViewOff16, { class: `${prefix}--icon-visibility-off` })\n : iconLoader(View16, { class: `${prefix}--icon-visibility-on` });\n\n const passwordVisibilityTooltipClasses = classMap({\n [`${prefix}--text-input--password__visibility__toggle`]: true,\n [`${prefix}--btn`]: true,\n [`${prefix}--tooltip__trigger`]: true,\n [`${prefix}--tooltip--a11y`]: true,\n [`${prefix}--toggle-password-tooltip`]: true,\n [`${prefix}--btn--disabled`]: normalizedProps.disabled || readonly,\n [`${prefix}--tooltip--${this.tooltipDirection}`]: this.tooltipDirection,\n [`${prefix}--tooltip--align-${this.tooltipAlignment}`]:\n this.tooltipAlignment,\n });\n\n const passwordVisibilityButtonClasses = classMap({\n [`${prefix}--text-input--password__visibility__toggle`]: true,\n [`${prefix}--btn--icon-only`]: true,\n [`${prefix}--tooltip__trigger`]: true,\n [`${prefix}--tooltip--a11y`]: true,\n [`${prefix}--toggle-password-tooltip`]: true,\n [`${prefix}--btn--disabled`]: normalizedProps.disabled || readonly,\n });\n\n const labelWrapper = html`<div class=\"${prefix}--text-input__label-wrapper\">\n <label class=\"${labelClasses}\"> ${label} </label>\n </div>`;\n\n const helper = helperText\n ? html`<div\n class=\"${helperTextClasses}\"\n id=\"helper-text\"\n ?hidden=\"${normalizedProps.invalid || normalizedProps.warn}\">\n <slot name=\"helper-text\"> ${helperText} </slot>\n </div>`\n : null;\n\n let align = '';\n\n if (\n this.tooltipDirection === INPUT_TOOLTIP_DIRECTION.TOP ||\n this.tooltipDirection === INPUT_TOOLTIP_DIRECTION.BOTTOM\n ) {\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.CENTER) {\n align = this.tooltipDirection;\n }\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.END) {\n align = `${this.tooltipDirection}-right`;\n }\n if (this.tooltipAlignment === INPUT_TOOLTIP_ALIGNMENT.START) {\n align = `${this.tooltipDirection}-left`;\n }\n }\n\n if (this.tooltipDirection === 'right' || this.tooltipDirection === 'left') {\n align = this.tooltipDirection;\n }\n\n return html`\n <div class=\"${inputWrapperClasses}\">\n ${!inline\n ? labelWrapper\n : html`<div class=\"${prefix}--text-input__label-helper-wrapper\">\n ${labelWrapper} ${helper}\n </div>`}\n <div class=\"${fieldOuterWrapperClasses}\">\n <div class=\"${fieldWrapperClasses}\" ?data-invalid=\"${invalid}\">\n ${normalizedProps.icon}\n <input\n ?autofocus=\"${this.autofocus}\"\n class=\"${inputClasses}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n aria-describedby=\"helper-text\"\n id=\"input\"\n name=\"${ifNonEmpty(this.name)}\"\n pattern=\"${ifNonEmpty(this.pattern)}\"\n placeholder=\"${ifNonEmpty(this.placeholder)}\"\n ?readonly=\"${readonly}\"\n ?required=\"${required}\"\n type=\"${ifNonEmpty(type)}\"\n .value=\"${this._value}\"\n @input=\"${handleInput}\" />\n <slot name=\"slug\" @slotchange=\"${handleSlotChange}\"></slot>\n <cds-tooltip\n align=\"${align}\"\n class=\"${passwordVisibilityTooltipClasses}\"\n .dropShadow=\"${false}\"\n ?disabled=\"${normalizedProps.disabled}\">\n <button\n ?disabled=\"${normalizedProps.disabled}\"\n type=\"button\"\n role=\"button\"\n class=\"${passwordVisibilityButtonClasses}\"\n aria-labelledby=\"content\"\n @click=\"${this.handleTogglePasswordVisibility}\">\n ${passwordVisibilityIcon}\n </button>\n <cds-tooltip-content\n id=\"content\"\n ?hidden=\"${normalizedProps.disabled}\">\n ${passwordIsVisible\n ? this.hidePasswordLabel\n : this.showPasswordLabel}\n </cds-tooltip-content>\n </cds-tooltip>\n </div>\n ${!inline ? helper : null}\n <div\n class=\"${prefix}--form-requirement\"\n ?hidden=\"${!normalizedProps.invalid && !normalizedProps.warn}\">\n <slot name=\"${normalizedProps['slot-name']}\">\n ${normalizedProps['slot-text']}\n </slot>\n </div>\n </div>\n </div>\n `;\n }\n\n async firstUpdated() {\n await (this._passwordTooltip as CDSTooltip)?.updateComplete;\n this._passwordTooltip?.shadowRoot\n ?.querySelector(`.${prefix}--tooltip`)\n ?.classList.add(`${prefix}--icon-tooltip`);\n }\n /**\n * A selector that will return the slug item.\n *\n * remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSPasswordInput;\n"],"names":["customElement"],"mappings":"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"}
@@ -14,7 +14,7 @@ import { PROGRESS_BAR_SIZE, PROGRESS_BAR_STATUS, PROGRESS_BAR_TYPE } from './def
14
14
  import { prefix } from '../../globals/settings.js';
15
15
  import ErrorFilled16 from '@carbon/icons/es/error--filled/16.js';
16
16
  import CheckmarkFilled16 from '@carbon/icons/es/checkmark--filled/16.js';
17
- import { iconLoader } from '../../globals/internal/icon-loader.js';
17
+ import iconLoader from '../../globals/internal/icon-loader.js';
18
18
  import styles from './progress-bar.scss.js';
19
19
 
20
20
  /**
@@ -164,7 +164,7 @@ __decorate([
164
164
  CDSProgressBar = __decorate([
165
165
  carbonElement(`${prefix}-progress-bar`)
166
166
  ], CDSProgressBar);
167
- var CDSProgressBar$1 = CDSProgressBar;
167
+ var CDSProgressBar_default = CDSProgressBar;
168
168
 
169
- export { PROGRESS_BAR_SIZE, PROGRESS_BAR_STATUS, PROGRESS_BAR_TYPE, CDSProgressBar$1 as default };
169
+ export { PROGRESS_BAR_SIZE, PROGRESS_BAR_STATUS, PROGRESS_BAR_TYPE, CDSProgressBar_default as default };
170
170
  //# sourceMappingURL=progress-bar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar.js","sources":["../../../src/components/progress-bar/progress-bar.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport {\n PROGRESS_BAR_SIZE,\n PROGRESS_BAR_STATUS,\n PROGRESS_BAR_TYPE,\n} from './defs';\nimport { prefix } from '../../globals/settings';\nimport ErrorFilled16 from '@carbon/icons/es/error--filled/16.js';\nimport CheckmarkFilled16 from '@carbon/icons/es/checkmark--filled/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './progress-bar.scss?lit';\n\nexport { PROGRESS_BAR_SIZE, PROGRESS_BAR_STATUS, PROGRESS_BAR_TYPE };\n\n/**\n * Progress bar.\n *\n * @element cds-progress-bar\n */\n@customElement(`${prefix}-progress-bar`)\nclass CDSProgressBar extends LitElement {\n /**\n * The current progress as a textual representation.\n */\n @property({ type: String, attribute: 'helper-text', reflect: true })\n helperText;\n\n /**\n * Whether the label should be visually hidden.\n */\n @property({ type: Boolean, attribute: 'hide-label', reflect: true })\n hideLabel;\n\n /**\n * A label describing the progress bar.\n */\n @property({ type: String })\n label;\n\n /**\n * The maximum value.\n */\n @property({ type: Number, reflect: true })\n max = 100;\n\n /**\n * Specify the size of the ProgressBar.\n */\n @property({ type: String, reflect: true })\n size = PROGRESS_BAR_SIZE.BIG;\n\n /**\n * Specify the status.\n */\n @property({ type: String, reflect: true })\n status = PROGRESS_BAR_STATUS.ACTIVE;\n\n /**\n * Defines the alignment variant of the progress bar.\n */\n @property({ type: String, reflect: true })\n type = PROGRESS_BAR_TYPE.DEFAULT;\n\n /**\n * The current value.\n */\n @property({ type: Number, reflect: true })\n value;\n\n protected get _cappedValue() {\n const { value, max, status } = this;\n\n let cappedValue = value;\n if (cappedValue > max) {\n cappedValue = max;\n }\n if (cappedValue < 0) {\n cappedValue = 0;\n }\n if (status === PROGRESS_BAR_STATUS.ERROR) {\n cappedValue = 0;\n } else if (status === PROGRESS_BAR_STATUS.FINISHED) {\n cappedValue = max;\n }\n\n return cappedValue;\n }\n\n updated(changedProperties) {\n if (\n changedProperties.has('value') ||\n changedProperties.has('max') ||\n changedProperties.has('status')\n ) {\n const { _cappedValue: cappedValue, max, status } = this;\n\n const percentage: number = cappedValue / max;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const bar = this.shadowRoot!.querySelector(\n `.${prefix}--progress-bar__bar`\n ) as HTMLElement;\n\n if (\n status != PROGRESS_BAR_STATUS.ERROR &&\n status != PROGRESS_BAR_STATUS.FINISHED\n ) {\n bar.style.transform = `scaleX(${percentage})`;\n } else {\n bar.style.transform = 'none';\n }\n }\n }\n\n render() {\n const {\n _cappedValue: cappedValue,\n helperText,\n hideLabel,\n label,\n max,\n size,\n status,\n type,\n value,\n } = this;\n\n const isFinished = status === PROGRESS_BAR_STATUS.FINISHED;\n const isError = status === PROGRESS_BAR_STATUS.ERROR;\n\n const indeterminate =\n !isFinished && !isError && (value === null || value === undefined);\n\n let statusIcon: ReturnType<typeof iconLoader> | null = null;\n\n if (isError) {\n statusIcon = iconLoader(ErrorFilled16, {\n class: `${prefix}--progress-bar__status-icon`,\n });\n } else if (isFinished) {\n statusIcon = iconLoader(CheckmarkFilled16, {\n class: `${prefix}--progress-bar__status-icon`,\n });\n }\n\n const wrapperClasses = classMap({\n [`${prefix}--progress-bar`]: true,\n [`${prefix}--progress-bar--${size}`]: true,\n [`${prefix}--progress-bar--${type}`]: true,\n [`${prefix}--progress-bar--indeterminate`]: indeterminate,\n [`${prefix}--progress-bar--finished`]: isFinished,\n [`${prefix}--progress-bar--error`]: isError,\n });\n\n const labelClasses = classMap({\n [`${prefix}--progress-bar__label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n return html` <div class=\"${wrapperClasses}\">\n <div class=\"${labelClasses}\">\n <span class=\"${prefix}--progress-bar__label-text\">${label}</span>\n ${statusIcon}\n </div>\n <div\n class=\"${prefix}--progress-bar__track\"\n role=\"progressbar\"\n aria-busy=\"${!isFinished}\"\n aria-invalid=\"${isError}\"\n aria-valuemin=\"${!indeterminate ? 0 : null}\"\n aria-valuemax=\"${!indeterminate ? max : null}\"\n aria-valuenow=\"${!indeterminate ? cappedValue : null}\">\n <div class=\"${prefix}--progress-bar__bar\"></div>\n </div>\n ${helperText\n ? html`<div class=\"${prefix}--progress-bar__helper-text\">\n ${helperText}\n <div class=\"${prefix}--visually-hidden\" aria-live=\"polite\">\n ${isFinished ? 'Done' : 'Loading'}\n </div>\n </div>`\n : null}\n </div>`;\n }\n\n static styles = styles;\n}\n\nexport default CDSProgressBar;\n"],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAmBH;;;;AAIG;AAEH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU,CAAA;AAAvC,IAAA,WAAA,GAAA;;AAmBE;;AAEG;QAEH,IAAA,CAAA,GAAG,GAAG,GAAG;AAET;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,GAAG;AAE5B;;AAEG;AAEH,QAAA,IAAA,CAAA,MAAM,GAAG,mBAAmB,CAAC,MAAM;AAEnC;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,iBAAiB,CAAC,OAAO;IA6HlC;AArHE,IAAA,IAAc,YAAY,GAAA;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;QAEnC,IAAI,WAAW,GAAG,KAAK;AACvB,QAAA,IAAI,WAAW,GAAG,GAAG,EAAE;YACrB,WAAW,GAAG,GAAG;QACnB;AACA,QAAA,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,WAAW,GAAG,CAAC;QACjB;AACA,QAAA,IAAI,MAAM,KAAK,mBAAmB,CAAC,KAAK,EAAE;YACxC,WAAW,GAAG,CAAC;QACjB;AAAO,aAAA,IAAI,MAAM,KAAK,mBAAmB,CAAC,QAAQ,EAAE;YAClD,WAAW,GAAG,GAAG;QACnB;AAEA,QAAA,OAAO,WAAW;IACpB;AAEA,IAAA,OAAO,CAAC,iBAAiB,EAAA;AACvB,QAAA,IACE,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;AAC9B,YAAA,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;AAC5B,YAAA,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAC/B;YACA,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;AAEvD,YAAA,MAAM,UAAU,GAAW,WAAW,GAAG,GAAG;;AAG5C,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CACxC,CAAA,CAAA,EAAI,MAAM,CAAA,mBAAA,CAAqB,CACjB;AAEhB,YAAA,IACE,MAAM,IAAI,mBAAmB,CAAC,KAAK;AACnC,gBAAA,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EACtC;gBACA,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,OAAA,EAAU,UAAU,GAAG;YAC/C;iBAAO;AACL,gBAAA,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM;YAC9B;QACF;IACF;IAEA,MAAM,GAAA;QACJ,MAAM,EACJ,YAAY,EAAE,WAAW,EACzB,UAAU,EACV,SAAS,EACT,KAAK,EACL,GAAG,EACH,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,GACN,GAAG,IAAI;AAER,QAAA,MAAM,UAAU,GAAG,MAAM,KAAK,mBAAmB,CAAC,QAAQ;AAC1D,QAAA,MAAM,OAAO,GAAG,MAAM,KAAK,mBAAmB,CAAC,KAAK;AAEpD,QAAA,MAAM,aAAa,GACjB,CAAC,UAAU,IAAI,CAAC,OAAO,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;QAEpE,IAAI,UAAU,GAAyC,IAAI;QAE3D,IAAI,OAAO,EAAE;AACX,YAAA,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE;gBACrC,KAAK,EAAE,CAAA,EAAG,MAAM,CAAA,2BAAA,CAA6B;AAC9C,aAAA,CAAC;QACJ;aAAO,IAAI,UAAU,EAAE;AACrB,YAAA,UAAU,GAAG,UAAU,CAAC,iBAAiB,EAAE;gBACzC,KAAK,EAAE,CAAA,EAAG,MAAM,CAAA,2BAAA,CAA6B;AAC9C,aAAA,CAAC;QACJ;QAEA,MAAM,cAAc,GAAG,QAAQ,CAAC;AAC9B,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,cAAA,CAAgB,GAAG,IAAI;AACjC,YAAA,CAAC,GAAG,MAAM,CAAA,gBAAA,EAAmB,IAAI,CAAA,CAAE,GAAG,IAAI;AAC1C,YAAA,CAAC,GAAG,MAAM,CAAA,gBAAA,EAAmB,IAAI,CAAA,CAAE,GAAG,IAAI;AAC1C,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,6BAAA,CAA+B,GAAG,aAAa;AACzD,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,wBAAA,CAA0B,GAAG,UAAU;AACjD,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,qBAAA,CAAuB,GAAG,OAAO;AAC5C,SAAA,CAAC;QAEF,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC5B,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,qBAAA,CAAuB,GAAG,IAAI;AACxC,YAAA,CAAC,CAAA,EAAG,MAAM,CAAA,iBAAA,CAAmB,GAAG,SAAS;AAC1C,SAAA,CAAC;QAEF,OAAO,IAAI,CAAA,CAAA,aAAA,EAAgB,cAAc,CAAA;oBACzB,YAAY,CAAA;AACT,qBAAA,EAAA,MAAM,+BAA+B,KAAK,CAAA;UACvD,UAAU;;;iBAGH,MAAM,CAAA;;AAEF,mBAAA,EAAA,CAAC,UAAU,CAAA;wBACR,OAAO,CAAA;yBACN,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAA;yBACzB,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAA;yBAC3B,CAAC,aAAa,GAAG,WAAW,GAAG,IAAI,CAAA;sBACtC,MAAM,CAAA;;QAEpB;AACA,cAAE,IAAI,CAAA,CAAA,YAAA,EAAe,MAAM,CAAA;cACrB,UAAU;0BACE,MAAM,CAAA;AAChB,cAAA,EAAA,UAAU,GAAG,MAAM,GAAG,SAAS;;AAE9B,gBAAA;AACT,cAAE,IAAI;WACH;IACT;;AAEO,cAAA,CAAA,MAAM,GAAG,MAAH;AAhKb,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE;AACxD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAMX,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE;AACzD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMV,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AACpB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAMN,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAC/B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,KAAA,EAAA,MAAA,CAAA;AAMV,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACZ,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAM7B,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACL,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AAMpC,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACR,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMjC,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACnC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AA/CF,cAAc,GAAA,UAAA,CAAA;AADnB,IAAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,aAAA,CAAe;AACjC,CAAA,EAAA,cAAc,CAsKnB;AAED,uBAAe,cAAc;;;;"}
1
+ {"version":3,"file":"progress-bar.js","sources":["../../../src/components/progress-bar/progress-bar.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { classMap } from 'lit/directives/class-map.js';\nimport {\n PROGRESS_BAR_SIZE,\n PROGRESS_BAR_STATUS,\n PROGRESS_BAR_TYPE,\n} from './defs';\nimport { prefix } from '../../globals/settings';\nimport ErrorFilled16 from '@carbon/icons/es/error--filled/16.js';\nimport CheckmarkFilled16 from '@carbon/icons/es/checkmark--filled/16.js';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport styles from './progress-bar.scss?lit';\n\nexport { PROGRESS_BAR_SIZE, PROGRESS_BAR_STATUS, PROGRESS_BAR_TYPE };\n\n/**\n * Progress bar.\n *\n * @element cds-progress-bar\n */\n@customElement(`${prefix}-progress-bar`)\nclass CDSProgressBar extends LitElement {\n /**\n * The current progress as a textual representation.\n */\n @property({ type: String, attribute: 'helper-text', reflect: true })\n helperText;\n\n /**\n * Whether the label should be visually hidden.\n */\n @property({ type: Boolean, attribute: 'hide-label', reflect: true })\n hideLabel;\n\n /**\n * A label describing the progress bar.\n */\n @property({ type: String })\n label;\n\n /**\n * The maximum value.\n */\n @property({ type: Number, reflect: true })\n max = 100;\n\n /**\n * Specify the size of the ProgressBar.\n */\n @property({ type: String, reflect: true })\n size = PROGRESS_BAR_SIZE.BIG;\n\n /**\n * Specify the status.\n */\n @property({ type: String, reflect: true })\n status = PROGRESS_BAR_STATUS.ACTIVE;\n\n /**\n * Defines the alignment variant of the progress bar.\n */\n @property({ type: String, reflect: true })\n type = PROGRESS_BAR_TYPE.DEFAULT;\n\n /**\n * The current value.\n */\n @property({ type: Number, reflect: true })\n value;\n\n protected get _cappedValue() {\n const { value, max, status } = this;\n\n let cappedValue = value;\n if (cappedValue > max) {\n cappedValue = max;\n }\n if (cappedValue < 0) {\n cappedValue = 0;\n }\n if (status === PROGRESS_BAR_STATUS.ERROR) {\n cappedValue = 0;\n } else if (status === PROGRESS_BAR_STATUS.FINISHED) {\n cappedValue = max;\n }\n\n return cappedValue;\n }\n\n updated(changedProperties) {\n if (\n changedProperties.has('value') ||\n changedProperties.has('max') ||\n changedProperties.has('status')\n ) {\n const { _cappedValue: cappedValue, max, status } = this;\n\n const percentage: number = cappedValue / max;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const bar = this.shadowRoot!.querySelector(\n `.${prefix}--progress-bar__bar`\n ) as HTMLElement;\n\n if (\n status != PROGRESS_BAR_STATUS.ERROR &&\n status != PROGRESS_BAR_STATUS.FINISHED\n ) {\n bar.style.transform = `scaleX(${percentage})`;\n } else {\n bar.style.transform = 'none';\n }\n }\n }\n\n render() {\n const {\n _cappedValue: cappedValue,\n helperText,\n hideLabel,\n label,\n max,\n size,\n status,\n type,\n value,\n } = this;\n\n const isFinished = status === PROGRESS_BAR_STATUS.FINISHED;\n const isError = status === PROGRESS_BAR_STATUS.ERROR;\n\n const indeterminate =\n !isFinished && !isError && (value === null || value === undefined);\n\n let statusIcon: ReturnType<typeof iconLoader> | null = null;\n\n if (isError) {\n statusIcon = iconLoader(ErrorFilled16, {\n class: `${prefix}--progress-bar__status-icon`,\n });\n } else if (isFinished) {\n statusIcon = iconLoader(CheckmarkFilled16, {\n class: `${prefix}--progress-bar__status-icon`,\n });\n }\n\n const wrapperClasses = classMap({\n [`${prefix}--progress-bar`]: true,\n [`${prefix}--progress-bar--${size}`]: true,\n [`${prefix}--progress-bar--${type}`]: true,\n [`${prefix}--progress-bar--indeterminate`]: indeterminate,\n [`${prefix}--progress-bar--finished`]: isFinished,\n [`${prefix}--progress-bar--error`]: isError,\n });\n\n const labelClasses = classMap({\n [`${prefix}--progress-bar__label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n\n return html` <div class=\"${wrapperClasses}\">\n <div class=\"${labelClasses}\">\n <span class=\"${prefix}--progress-bar__label-text\">${label}</span>\n ${statusIcon}\n </div>\n <div\n class=\"${prefix}--progress-bar__track\"\n role=\"progressbar\"\n aria-busy=\"${!isFinished}\"\n aria-invalid=\"${isError}\"\n aria-valuemin=\"${!indeterminate ? 0 : null}\"\n aria-valuemax=\"${!indeterminate ? max : null}\"\n aria-valuenow=\"${!indeterminate ? cappedValue : null}\">\n <div class=\"${prefix}--progress-bar__bar\"></div>\n </div>\n ${helperText\n ? html`<div class=\"${prefix}--progress-bar__helper-text\">\n ${helperText}\n <div class=\"${prefix}--visually-hidden\" aria-live=\"polite\">\n ${isFinished ? 'Done' : 'Loading'}\n </div>\n </div>`\n : null}\n </div>`;\n }\n\n static styles = styles;\n}\n\nexport default CDSProgressBar;\n"],"names":["customElement"],"mappings":"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"}
@@ -55,7 +55,7 @@ __decorate([
55
55
  CDSProgressIndicatorSkeleton = __decorate([
56
56
  carbonElement(`${prefix}-progress-indicator-skeleton`)
57
57
  ], CDSProgressIndicatorSkeleton);
58
- var CDSProgressIndicatorSkeleton$1 = CDSProgressIndicatorSkeleton;
58
+ var CDSProgressIndicatorSkeleton_default = CDSProgressIndicatorSkeleton;
59
59
 
60
- export { CDSProgressIndicatorSkeleton$1 as default };
60
+ export { CDSProgressIndicatorSkeleton_default as default };
61
61
  //# sourceMappingURL=progress-indicator-skeleton.js.map