@ukic/web-components 3.21.0 → 3.23.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 (447) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-3a796e7a.js → helpers-81cd6930.js} +3 -16
  3. package/dist/cjs/helpers-81cd6930.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-action-chip.cjs.entry.js +7 -3
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-button_3.cjs.entry.js +5 -3
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -5
  19. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-chip.cjs.entry.js +7 -3
  21. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-classification-banner.cjs.entry.js +13 -5
  23. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +212 -80
  35. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-pagination-bar.cjs.entry.js +389 -0
  47. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +1 -0
  48. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-pagination_3.cjs.entry.js +1412 -0
  50. package/dist/cjs/ic-pagination_3.cjs.entry.js.map +1 -0
  51. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  52. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-search-bar.cjs.entry.js +11 -11
  55. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-side-navigation.cjs.entry.js +18 -9
  58. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  60. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  61. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  62. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  63. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  64. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  66. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -2
  67. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  69. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-toast.cjs.entry.js +8 -7
  74. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  76. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  79. package/dist/cjs/index-d337cd8a.js +12 -16
  80. package/dist/cjs/loader.cjs.js +1 -1
  81. package/dist/collection/collection-manifest.json +2 -1
  82. package/dist/collection/components/ic-action-chip/ic-action-chip.css +15 -2
  83. package/dist/collection/components/ic-action-chip/ic-action-chip.js +5 -1
  84. package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -1
  85. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -5
  86. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  87. package/dist/collection/components/ic-chip/ic-chip.css +15 -3
  88. package/dist/collection/components/ic-chip/ic-chip.js +5 -1
  89. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  90. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -5
  91. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  92. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +32 -0
  93. package/dist/collection/components/ic-menu/ic-menu.css +6 -1
  94. package/dist/collection/components/ic-menu/ic-menu.js +184 -53
  95. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  96. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +104 -0
  97. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +895 -0
  98. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -0
  99. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +215 -0
  100. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  101. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  102. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  103. package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -11
  104. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  105. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  106. package/dist/collection/components/ic-select/ic-select.css +1 -2
  107. package/dist/collection/components/ic-select/ic-select.js +414 -589
  108. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  109. package/dist/collection/components/ic-select/ic-select.types.js +2 -0
  110. package/dist/collection/components/ic-select/ic-select.types.js.map +1 -0
  111. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +26 -21
  112. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +18 -9
  113. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  114. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  115. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  116. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  117. package/dist/collection/components/ic-step/ic-step.js +13 -13
  118. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  119. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  120. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  121. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -2
  122. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  123. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  124. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  125. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  126. package/dist/collection/components/ic-toast/ic-toast.js +7 -6
  127. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  128. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  129. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  130. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  131. package/dist/collection/components/ic-tooltip/ic-tooltip.js +21 -2
  132. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  133. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +32 -0
  134. package/dist/collection/utils/helpers.js +2 -15
  135. package/dist/collection/utils/helpers.js.map +1 -1
  136. package/dist/components/helpers.js +3 -16
  137. package/dist/components/helpers.js.map +1 -1
  138. package/dist/components/ic-action-chip.js +6 -2
  139. package/dist/components/ic-action-chip.js.map +1 -1
  140. package/dist/components/ic-card-vertical.js.map +1 -1
  141. package/dist/components/ic-checkbox.js +4 -4
  142. package/dist/components/ic-checkbox.js.map +1 -1
  143. package/dist/components/ic-chip.js +6 -2
  144. package/dist/components/ic-chip.js.map +1 -1
  145. package/dist/components/ic-classification-banner.js +14 -5
  146. package/dist/components/ic-classification-banner.js.map +1 -1
  147. package/dist/components/ic-menu2.js +213 -79
  148. package/dist/components/ic-menu2.js.map +1 -1
  149. package/dist/components/ic-page-header.js.map +1 -1
  150. package/dist/components/ic-pagination-bar.d.ts +11 -0
  151. package/dist/components/ic-pagination-bar.js +523 -0
  152. package/dist/components/ic-pagination-bar.js.map +1 -0
  153. package/dist/components/ic-pagination.js +1 -375
  154. package/dist/components/ic-pagination.js.map +1 -1
  155. package/dist/{esm/ic-pagination.entry.js → components/ic-pagination2.js} +82 -11
  156. package/dist/components/ic-pagination2.js.map +1 -0
  157. package/dist/components/ic-popover-menu.js +4 -4
  158. package/dist/components/ic-popover-menu.js.map +1 -1
  159. package/dist/components/ic-radio-group.js.map +1 -1
  160. package/dist/components/ic-radio-option.js.map +1 -1
  161. package/dist/components/ic-search-bar.js +11 -11
  162. package/dist/components/ic-search-bar.js.map +1 -1
  163. package/dist/components/ic-section-container2.js +2 -2
  164. package/dist/components/ic-select.js +1 -994
  165. package/dist/components/ic-select.js.map +1 -1
  166. package/dist/components/ic-select2.js +804 -0
  167. package/dist/components/ic-select2.js.map +1 -0
  168. package/dist/components/ic-side-navigation.js +18 -9
  169. package/dist/components/ic-side-navigation.js.map +1 -1
  170. package/dist/components/ic-skeleton.js +2 -2
  171. package/dist/components/ic-skip-link.js +2 -2
  172. package/dist/components/ic-status-tag.js +2 -2
  173. package/dist/components/ic-step.js +13 -13
  174. package/dist/components/ic-stepper.js +2 -2
  175. package/dist/components/ic-stepper.js.map +1 -1
  176. package/dist/components/ic-switch.js +4 -4
  177. package/dist/components/ic-switch.js.map +1 -1
  178. package/dist/components/ic-tab-context.js +1 -2
  179. package/dist/components/ic-tab-context.js.map +1 -1
  180. package/dist/components/ic-tab-group.js +2 -2
  181. package/dist/components/ic-tab-panel.js +2 -2
  182. package/dist/components/ic-text-field.js +1 -528
  183. package/dist/components/ic-text-field.js.map +1 -1
  184. package/dist/{esm/ic-text-field.entry.js → components/ic-text-field2.js} +114 -11
  185. package/dist/components/ic-text-field2.js.map +1 -0
  186. package/dist/components/ic-theme.js +1 -1
  187. package/dist/components/ic-toast-region.js +1 -1
  188. package/dist/components/ic-toast.js +7 -6
  189. package/dist/components/ic-toast.js.map +1 -1
  190. package/dist/components/ic-toggle-button-group.js +2 -2
  191. package/dist/components/ic-toggle-button.js +2 -2
  192. package/dist/components/ic-tooltip2.js +5 -3
  193. package/dist/components/ic-tooltip2.js.map +1 -1
  194. package/dist/core/core.esm.js +1 -1
  195. package/dist/core/core.esm.js.map +1 -1
  196. package/dist/core/{p-0a24c536.entry.js → p-05fd2707.entry.js} +2 -2
  197. package/dist/core/{p-85e15d01.entry.js → p-09505807.entry.js} +2 -2
  198. package/dist/core/{p-96bc7d24.entry.js → p-09caf7ed.entry.js} +2 -2
  199. package/dist/core/p-09caf7ed.entry.js.map +1 -0
  200. package/dist/core/p-0fb7f915.entry.js +2 -0
  201. package/dist/core/p-0fb7f915.entry.js.map +1 -0
  202. package/dist/core/{p-41a5da12.entry.js → p-1b81ec88.entry.js} +2 -2
  203. package/dist/core/p-1b81ec88.entry.js.map +1 -0
  204. package/dist/core/{p-99951365.entry.js → p-2691cc80.entry.js} +2 -2
  205. package/dist/core/{p-94916588.entry.js → p-2a124daf.entry.js} +2 -2
  206. package/dist/core/{p-04c77b2d.entry.js → p-2b87c592.entry.js} +2 -2
  207. package/dist/core/{p-4aa56990.entry.js → p-2bd80913.entry.js} +2 -2
  208. package/dist/core/{p-aed1c7e7.entry.js → p-347cc084.entry.js} +2 -2
  209. package/dist/core/p-393af2bc.entry.js +2 -0
  210. package/dist/core/p-393af2bc.entry.js.map +1 -0
  211. package/dist/core/{p-a3dea729.entry.js → p-3aed13ba.entry.js} +2 -2
  212. package/dist/core/{p-8da90b72.entry.js → p-46fd555f.entry.js} +2 -2
  213. package/dist/core/{p-43cc0f1d.entry.js → p-48a628f0.entry.js} +2 -2
  214. package/dist/core/{p-9a4e067f.entry.js → p-4f56acff.entry.js} +2 -2
  215. package/dist/core/{p-3021290f.entry.js → p-506d428a.entry.js} +2 -2
  216. package/dist/core/{p-a1b2f483.entry.js → p-50dca790.entry.js} +2 -2
  217. package/dist/core/p-53ab3c0f.entry.js +2 -0
  218. package/dist/core/p-53ab3c0f.entry.js.map +1 -0
  219. package/dist/core/{p-feef7c2c.entry.js → p-56de4f4b.entry.js} +2 -2
  220. package/dist/core/{p-b4e322fe.entry.js → p-5900cb65.entry.js} +2 -2
  221. package/dist/core/{p-78a54069.entry.js → p-5976de6e.entry.js} +2 -2
  222. package/dist/core/{p-2af89564.entry.js → p-61d79fc6.entry.js} +2 -2
  223. package/dist/core/{p-2af89564.entry.js.map → p-61d79fc6.entry.js.map} +1 -1
  224. package/dist/core/p-659d048d.entry.js +2 -0
  225. package/dist/core/{p-1edf2689.entry.js → p-67de1290.entry.js} +2 -2
  226. package/dist/core/p-6b4ec95f.entry.js +3 -0
  227. package/dist/core/p-6b4ec95f.entry.js.map +1 -0
  228. package/dist/core/{p-f700b759.entry.js → p-73043f57.entry.js} +2 -2
  229. package/dist/core/{p-7b8e5926.entry.js → p-735d3096.entry.js} +2 -2
  230. package/dist/core/{p-07075461.entry.js → p-7b538fd1.entry.js} +2 -2
  231. package/dist/core/{p-cfd43558.entry.js → p-80d85403.entry.js} +2 -2
  232. package/dist/core/{p-7f279c8a.entry.js → p-83578f1d.entry.js} +2 -2
  233. package/dist/core/{p-7f279c8a.entry.js.map → p-83578f1d.entry.js.map} +1 -1
  234. package/dist/core/{p-b8c0c142.entry.js → p-880f7548.entry.js} +2 -2
  235. package/dist/core/p-880f7548.entry.js.map +1 -0
  236. package/dist/core/{p-79949920.entry.js → p-8a833e82.entry.js} +2 -2
  237. package/dist/core/{p-0aba9e31.entry.js → p-90678e67.entry.js} +2 -2
  238. package/dist/core/{p-a851eb65.entry.js → p-9502fb86.entry.js} +2 -2
  239. package/dist/core/{p-2ca7f050.entry.js → p-99433296.entry.js} +2 -2
  240. package/dist/core/p-99433296.entry.js.map +1 -0
  241. package/dist/core/{p-f6de08fb.entry.js → p-9c2b2cb9.entry.js} +2 -2
  242. package/dist/core/{p-949d08d3.entry.js → p-9cb83a2e.entry.js} +2 -2
  243. package/dist/core/{p-f0ecb80b.entry.js → p-a08d6b46.entry.js} +2 -2
  244. package/dist/core/{p-9057a186.entry.js → p-a2953aad.entry.js} +2 -2
  245. package/dist/core/p-a2953aad.entry.js.map +1 -0
  246. package/dist/core/p-a321feee.entry.js +2 -0
  247. package/dist/core/p-a321feee.entry.js.map +1 -0
  248. package/dist/core/{p-208f470f.entry.js → p-a780a34b.entry.js} +2 -2
  249. package/dist/core/{p-387b7bca.entry.js → p-aad03a3c.entry.js} +2 -2
  250. package/dist/core/{p-ec14c783.entry.js → p-aaf4e367.entry.js} +2 -2
  251. package/dist/core/{p-707ae6e9.entry.js → p-b52c44eb.entry.js} +2 -2
  252. package/dist/core/{p-716e7eaf.entry.js → p-b777f0a1.entry.js} +2 -2
  253. package/dist/core/p-b777f0a1.entry.js.map +1 -0
  254. package/dist/core/p-b77b1e1f.js +2 -0
  255. package/dist/core/p-b77b1e1f.js.map +1 -0
  256. package/dist/core/{p-780babc0.entry.js → p-b997ad5e.entry.js} +2 -2
  257. package/dist/core/{p-a0af1b0a.entry.js → p-bb7652cd.entry.js} +2 -2
  258. package/dist/core/{p-ded4cd76.entry.js → p-cbca04bb.entry.js} +2 -2
  259. package/dist/core/{p-99687bce.entry.js → p-cc64e5ef.entry.js} +2 -2
  260. package/dist/core/{p-812c5e61.entry.js → p-cfbacca1.entry.js} +2 -2
  261. package/dist/core/{p-0da2caa2.entry.js → p-daec7e69.entry.js} +2 -2
  262. package/dist/core/{p-1590fd69.entry.js → p-e7767c0d.entry.js} +2 -2
  263. package/dist/core/p-e938eb31.entry.js +2 -0
  264. package/dist/core/p-e938eb31.entry.js.map +1 -0
  265. package/dist/core/{p-dce11b9d.entry.js → p-ea7a3d30.entry.js} +2 -2
  266. package/dist/core/{p-880afd4b.entry.js → p-ebd688b9.entry.js} +2 -2
  267. package/dist/core/p-ebd688b9.entry.js.map +1 -0
  268. package/dist/core/{p-a674b13b.entry.js → p-ef70ea50.entry.js} +2 -2
  269. package/dist/core/{p-d25d0aad.entry.js → p-f64996f1.entry.js} +2 -2
  270. package/dist/core/{p-db17a793.entry.js → p-f661ba76.entry.js} +2 -2
  271. package/dist/core/{p-a03bb31c.entry.js → p-f84ac9c6.entry.js} +2 -2
  272. package/dist/core/{p-f3406b42.entry.js → p-fb9376f0.entry.js} +2 -2
  273. package/dist/esm/core.js +1 -1
  274. package/dist/esm/{helpers-0f85537f.js → helpers-66681c73.js} +4 -17
  275. package/dist/esm/helpers-66681c73.js.map +1 -0
  276. package/dist/esm/ic-accordion-group.entry.js +1 -1
  277. package/dist/esm/ic-accordion.entry.js +1 -1
  278. package/dist/esm/ic-action-chip.entry.js +7 -3
  279. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  280. package/dist/esm/ic-alert.entry.js +1 -1
  281. package/dist/esm/ic-back-to-top.entry.js +1 -1
  282. package/dist/esm/ic-badge.entry.js +1 -1
  283. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  284. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  285. package/dist/esm/ic-button_3.entry.js +5 -3
  286. package/dist/esm/ic-button_3.entry.js.map +1 -1
  287. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  288. package/dist/esm/ic-card-vertical.entry.js +1 -1
  289. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  290. package/dist/esm/ic-checkbox.entry.js +5 -5
  291. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  292. package/dist/esm/ic-chip.entry.js +7 -3
  293. package/dist/esm/ic-chip.entry.js.map +1 -1
  294. package/dist/esm/ic-classification-banner.entry.js +13 -5
  295. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  296. package/dist/esm/ic-data-row.entry.js +1 -1
  297. package/dist/esm/ic-dialog.entry.js +1 -1
  298. package/dist/esm/ic-divider.entry.js +1 -1
  299. package/dist/esm/ic-empty-state.entry.js +1 -1
  300. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  301. package/dist/esm/ic-footer-link.entry.js +1 -1
  302. package/dist/esm/ic-footer.entry.js +1 -1
  303. package/dist/esm/ic-hero.entry.js +1 -1
  304. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  305. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  306. package/dist/esm/ic-input-component-container_3.entry.js +212 -80
  307. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  308. package/dist/esm/ic-input-label_2.entry.js +1 -1
  309. package/dist/esm/ic-link.entry.js +1 -1
  310. package/dist/esm/ic-menu-group.entry.js +1 -1
  311. package/dist/esm/ic-menu-item.entry.js +1 -1
  312. package/dist/esm/ic-navigation-button.entry.js +1 -1
  313. package/dist/esm/ic-navigation-group.entry.js +1 -1
  314. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  315. package/dist/esm/ic-navigation-item.entry.js +1 -1
  316. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  317. package/dist/esm/ic-page-header.entry.js +1 -1
  318. package/dist/esm/ic-pagination-bar.entry.js +385 -0
  319. package/dist/esm/ic-pagination-bar.entry.js.map +1 -0
  320. package/dist/esm/ic-pagination-item.entry.js +1 -1
  321. package/dist/esm/ic-pagination_3.entry.js +1406 -0
  322. package/dist/esm/ic-pagination_3.entry.js.map +1 -0
  323. package/dist/esm/ic-popover-menu.entry.js +5 -5
  324. package/dist/esm/ic-radio-group.entry.js +1 -1
  325. package/dist/esm/ic-radio-option.entry.js +1 -1
  326. package/dist/esm/ic-search-bar.entry.js +11 -11
  327. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  328. package/dist/esm/ic-section-container.entry.js +2 -2
  329. package/dist/esm/ic-side-navigation.entry.js +18 -9
  330. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  331. package/dist/esm/ic-skeleton.entry.js +2 -2
  332. package/dist/esm/ic-skip-link.entry.js +2 -2
  333. package/dist/esm/ic-status-tag.entry.js +3 -3
  334. package/dist/esm/ic-step.entry.js +14 -14
  335. package/dist/esm/ic-stepper.entry.js +3 -3
  336. package/dist/esm/ic-stepper.entry.js.map +1 -1
  337. package/dist/esm/ic-switch.entry.js +5 -5
  338. package/dist/esm/ic-tab-context.entry.js +1 -2
  339. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  340. package/dist/esm/ic-tab-group.entry.js +3 -3
  341. package/dist/esm/ic-tab-panel.entry.js +2 -2
  342. package/dist/esm/ic-tab.entry.js +1 -1
  343. package/dist/esm/ic-theme.entry.js +2 -2
  344. package/dist/esm/ic-toast-region.entry.js +1 -1
  345. package/dist/esm/ic-toast.entry.js +8 -7
  346. package/dist/esm/ic-toast.entry.js.map +1 -1
  347. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  348. package/dist/esm/ic-toggle-button.entry.js +3 -3
  349. package/dist/esm/ic-top-navigation.entry.js +1 -1
  350. package/dist/esm/ic-typography.entry.js +1 -1
  351. package/dist/esm/index-a7a720e7.js +12 -16
  352. package/dist/esm/loader.js +1 -1
  353. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +4 -0
  354. package/dist/types/components/ic-menu/ic-menu.d.ts +11 -1
  355. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +162 -0
  356. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +8 -0
  357. package/dist/types/components/ic-select/ic-select.d.ts +53 -80
  358. package/dist/types/components/ic-select/ic-select.types.d.ts +43 -0
  359. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -2
  360. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -0
  361. package/dist/types/components.d.ts +253 -5
  362. package/dist/types/utils/helpers.d.ts +2 -4
  363. package/hydrate/index.js +1145 -773
  364. package/hydrate/index.mjs +1145 -773
  365. package/package.json +2 -2
  366. package/vscode-data.json +131 -0
  367. package/dist/cjs/helpers-3a796e7a.js.map +0 -1
  368. package/dist/cjs/ic-pagination.cjs.entry.js +0 -312
  369. package/dist/cjs/ic-pagination.cjs.entry.js.map +0 -1
  370. package/dist/cjs/ic-select.cjs.entry.js +0 -879
  371. package/dist/cjs/ic-select.cjs.entry.js.map +0 -1
  372. package/dist/cjs/ic-text-field.cjs.entry.js +0 -433
  373. package/dist/cjs/ic-text-field.cjs.entry.js.map +0 -1
  374. package/dist/core/p-0d7fd892.entry.js +0 -2
  375. package/dist/core/p-29b61bb5.entry.js +0 -3
  376. package/dist/core/p-29b61bb5.entry.js.map +0 -1
  377. package/dist/core/p-2ca7f050.entry.js.map +0 -1
  378. package/dist/core/p-41a5da12.entry.js.map +0 -1
  379. package/dist/core/p-4aadabc8.entry.js +0 -2
  380. package/dist/core/p-4aadabc8.entry.js.map +0 -1
  381. package/dist/core/p-716e7eaf.entry.js.map +0 -1
  382. package/dist/core/p-808e1ef5.entry.js +0 -2
  383. package/dist/core/p-808e1ef5.entry.js.map +0 -1
  384. package/dist/core/p-880afd4b.entry.js.map +0 -1
  385. package/dist/core/p-8fe4e0ad.entry.js +0 -2
  386. package/dist/core/p-8fe4e0ad.entry.js.map +0 -1
  387. package/dist/core/p-9057a186.entry.js.map +0 -1
  388. package/dist/core/p-96bc7d24.entry.js.map +0 -1
  389. package/dist/core/p-b8c0c142.entry.js.map +0 -1
  390. package/dist/core/p-c5b9519d.entry.js +0 -2
  391. package/dist/core/p-c5b9519d.entry.js.map +0 -1
  392. package/dist/core/p-d1730d4d.entry.js +0 -2
  393. package/dist/core/p-d1730d4d.entry.js.map +0 -1
  394. package/dist/core/p-dbc8bf0c.js +0 -2
  395. package/dist/core/p-dbc8bf0c.js.map +0 -1
  396. package/dist/core/p-fdb587ab.entry.js +0 -2
  397. package/dist/core/p-fdb587ab.entry.js.map +0 -1
  398. package/dist/esm/helpers-0f85537f.js.map +0 -1
  399. package/dist/esm/ic-pagination.entry.js.map +0 -1
  400. package/dist/esm/ic-select.entry.js +0 -875
  401. package/dist/esm/ic-select.entry.js.map +0 -1
  402. package/dist/esm/ic-text-field.entry.js.map +0 -1
  403. /package/dist/core/{p-0a24c536.entry.js.map → p-05fd2707.entry.js.map} +0 -0
  404. /package/dist/core/{p-85e15d01.entry.js.map → p-09505807.entry.js.map} +0 -0
  405. /package/dist/core/{p-99951365.entry.js.map → p-2691cc80.entry.js.map} +0 -0
  406. /package/dist/core/{p-94916588.entry.js.map → p-2a124daf.entry.js.map} +0 -0
  407. /package/dist/core/{p-04c77b2d.entry.js.map → p-2b87c592.entry.js.map} +0 -0
  408. /package/dist/core/{p-4aa56990.entry.js.map → p-2bd80913.entry.js.map} +0 -0
  409. /package/dist/core/{p-aed1c7e7.entry.js.map → p-347cc084.entry.js.map} +0 -0
  410. /package/dist/core/{p-a3dea729.entry.js.map → p-3aed13ba.entry.js.map} +0 -0
  411. /package/dist/core/{p-8da90b72.entry.js.map → p-46fd555f.entry.js.map} +0 -0
  412. /package/dist/core/{p-43cc0f1d.entry.js.map → p-48a628f0.entry.js.map} +0 -0
  413. /package/dist/core/{p-9a4e067f.entry.js.map → p-4f56acff.entry.js.map} +0 -0
  414. /package/dist/core/{p-3021290f.entry.js.map → p-506d428a.entry.js.map} +0 -0
  415. /package/dist/core/{p-a1b2f483.entry.js.map → p-50dca790.entry.js.map} +0 -0
  416. /package/dist/core/{p-feef7c2c.entry.js.map → p-56de4f4b.entry.js.map} +0 -0
  417. /package/dist/core/{p-b4e322fe.entry.js.map → p-5900cb65.entry.js.map} +0 -0
  418. /package/dist/core/{p-78a54069.entry.js.map → p-5976de6e.entry.js.map} +0 -0
  419. /package/dist/core/{p-0d7fd892.entry.js.map → p-659d048d.entry.js.map} +0 -0
  420. /package/dist/core/{p-1edf2689.entry.js.map → p-67de1290.entry.js.map} +0 -0
  421. /package/dist/core/{p-f700b759.entry.js.map → p-73043f57.entry.js.map} +0 -0
  422. /package/dist/core/{p-7b8e5926.entry.js.map → p-735d3096.entry.js.map} +0 -0
  423. /package/dist/core/{p-07075461.entry.js.map → p-7b538fd1.entry.js.map} +0 -0
  424. /package/dist/core/{p-cfd43558.entry.js.map → p-80d85403.entry.js.map} +0 -0
  425. /package/dist/core/{p-79949920.entry.js.map → p-8a833e82.entry.js.map} +0 -0
  426. /package/dist/core/{p-0aba9e31.entry.js.map → p-90678e67.entry.js.map} +0 -0
  427. /package/dist/core/{p-a851eb65.entry.js.map → p-9502fb86.entry.js.map} +0 -0
  428. /package/dist/core/{p-f6de08fb.entry.js.map → p-9c2b2cb9.entry.js.map} +0 -0
  429. /package/dist/core/{p-949d08d3.entry.js.map → p-9cb83a2e.entry.js.map} +0 -0
  430. /package/dist/core/{p-f0ecb80b.entry.js.map → p-a08d6b46.entry.js.map} +0 -0
  431. /package/dist/core/{p-208f470f.entry.js.map → p-a780a34b.entry.js.map} +0 -0
  432. /package/dist/core/{p-387b7bca.entry.js.map → p-aad03a3c.entry.js.map} +0 -0
  433. /package/dist/core/{p-ec14c783.entry.js.map → p-aaf4e367.entry.js.map} +0 -0
  434. /package/dist/core/{p-707ae6e9.entry.js.map → p-b52c44eb.entry.js.map} +0 -0
  435. /package/dist/core/{p-780babc0.entry.js.map → p-b997ad5e.entry.js.map} +0 -0
  436. /package/dist/core/{p-a0af1b0a.entry.js.map → p-bb7652cd.entry.js.map} +0 -0
  437. /package/dist/core/{p-ded4cd76.entry.js.map → p-cbca04bb.entry.js.map} +0 -0
  438. /package/dist/core/{p-99687bce.entry.js.map → p-cc64e5ef.entry.js.map} +0 -0
  439. /package/dist/core/{p-812c5e61.entry.js.map → p-cfbacca1.entry.js.map} +0 -0
  440. /package/dist/core/{p-0da2caa2.entry.js.map → p-daec7e69.entry.js.map} +0 -0
  441. /package/dist/core/{p-1590fd69.entry.js.map → p-e7767c0d.entry.js.map} +0 -0
  442. /package/dist/core/{p-dce11b9d.entry.js.map → p-ea7a3d30.entry.js.map} +0 -0
  443. /package/dist/core/{p-a674b13b.entry.js.map → p-ef70ea50.entry.js.map} +0 -0
  444. /package/dist/core/{p-d25d0aad.entry.js.map → p-f64996f1.entry.js.map} +0 -0
  445. /package/dist/core/{p-db17a793.entry.js.map → p-f661ba76.entry.js.map} +0 -0
  446. /package/dist/core/{p-a03bb31c.entry.js.map → p-f84ac9c6.entry.js.map} +0 -0
  447. /package/dist/core/{p-f3406b42.entry.js.map → p-fb9376f0.entry.js.map} +0 -0
@@ -0,0 +1,385 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7a720e7.js';
2
+ import { E as capitalize, h as checkResizeObserver } from './helpers-66681c73.js';
3
+ import './constants-ab12fdcf.js';
4
+
5
+ const icPaginationBarCss = ":host(){display:block}.pagination-bar{height:3.5rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--ic-space-xl);padding:var(--ic-space-xs) var(--ic-space-md);box-sizing:border-box;--ic-typography-color:var(--ic-pagination-text)}.pagination-bar-left{justify-content:flex-start}.item-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-bar-space-between .item-controls{margin-right:auto}.items-per-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.items-per-page-input{--input-width:5rem;--ic-typography-color:var(--ic-pagination-select-content)}.pagination-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-controls-wrap{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-space-between .pagination-controls{margin-left:auto}.go-to-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.go-to-page-input{--input-width:var(--ic-space-xl)}.go-to-page-button{--min-width:var(--ic-space-xl)}.items-per-page-control-label{white-space:nowrap}@media screen and (max-width: 768px){.pagination-bar{flex-direction:column;align-items:flex-end;height:-moz-fit-content;height:fit-content;gap:var(--ic-space-xs)}.pagination-bar-left{align-items:flex-start}}@media screen and (max-width: 320px){.item-controls,.pagination-controls{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-left .item-controls,.pagination-bar-left .pagination-controls,.pagination-bar-space-between .item-controls,.pagination-bar-space-between .pagination-controls{align-items:flex-start}}";
6
+ const IcPaginationBarStyle0 = icPaginationBarCss;
7
+
8
+ const PaginationBar = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.icPageChange = createEvent(this, "icPageChange", 7);
12
+ this.icItemsPerPageChange = createEvent(this, "icItemsPerPageChange", 7);
13
+ this.PAGE_INPUT_FIELD_ID = "go-to-page-input";
14
+ this.INVALID_PAGE_ERROR = "Please enter a valid page";
15
+ this.resizeObserver = null;
16
+ this.activePage = 1;
17
+ this.inputError = "Please enter a valid page";
18
+ this.itemsPerPage = 10;
19
+ this.itemsPerPageString = "10";
20
+ this.lowerBound = 1;
21
+ this.paginationWrapped = false;
22
+ /**
23
+ * The accessible label passed down to the pagination component to provide context for screen reader users.
24
+ */
25
+ this.accessibleLabel = "Pagination Navigation";
26
+ /**
27
+ * Sets the alignment of the items in the pagination bar.
28
+ */
29
+ this.alignment = "right";
30
+ /**
31
+ * The current page number to be displayed on the pagination bar.
32
+ */
33
+ this.currentPage = 1;
34
+ /**
35
+ * If `true`, the 'All' option will be hidden from the 'items per page' select input.
36
+ */
37
+ this.hideAllFromItemsPerPage = false;
38
+ /**
39
+ * If `true`, the current page of the simple pagination will not be displayed.
40
+ */
41
+ this.hideCurrentPage = false;
42
+ /**
43
+ * If `true`, the first and last page buttons will not be displayed.
44
+ */
45
+ this.hideFirstAndLastPageButton = false;
46
+ /**
47
+ * The text which will be used in place of 'Item' on the pagination bar.
48
+ */
49
+ this.itemLabel = "Item";
50
+ /**
51
+ * If `true`, the pagination bar will display as black in the light theme, and white in dark theme.
52
+ */
53
+ this.monochrome = false;
54
+ /**
55
+ * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
56
+ */
57
+ this.theme = "inherit";
58
+ /**
59
+ * Whether the displayed pagination is simple or complex.
60
+ */
61
+ this.type = "simple";
62
+ /**
63
+ * Whether total number of items and current item range or total number of pages and current page is displayed.
64
+ */
65
+ this.rangeLabelType = "page";
66
+ /**
67
+ * The text which will be used in place of 'Page' on the pagination bar.
68
+ */
69
+ this.pageLabel = "Page";
70
+ /**
71
+ * If `true`, the 'go to page' control should be displayed.
72
+ */
73
+ this.showGoToPageControl = false;
74
+ /**
75
+ * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.
76
+ */
77
+ this.hideRangeLabel = false;
78
+ /**
79
+ * If `false`, the value in the items per page control will be set immediately on ArrowUp and ArrowDown instead of when Enter is pressed.
80
+ */
81
+ this.selectItemsPerPageOnEnter = true;
82
+ /**
83
+ * If `true`, the select input to control 'items per page' should be displayed.
84
+ */
85
+ this.showItemsPerPageControl = false;
86
+ /**
87
+ If `true`, the pagination bar is set to the first page when the 'items per page' changes
88
+ */
89
+ this.setToFirstPageOnPaginationChange = false;
90
+ this.setSelectedItemsPerPage = (selectedItemsPerPage, displayedItemsPerPageOptions = []) => {
91
+ const isSelectedItemsPerPagePresent = displayedItemsPerPageOptions === null || displayedItemsPerPageOptions === void 0 ? void 0 : displayedItemsPerPageOptions.some(({ value }) => { var _a; return value === ((_a = this.selectedItemsPerPage) === null || _a === void 0 ? void 0 : _a.toString()); });
92
+ if (isSelectedItemsPerPagePresent) {
93
+ this.setItemsPerPage(selectedItemsPerPage, false);
94
+ }
95
+ else {
96
+ console.error(`The selected items per page option "${this.selectedItemsPerPage}" does not exist`);
97
+ this.setItemsPerPage(+this.totalItems, false);
98
+ }
99
+ };
100
+ this.changeItemsPerPage = () => {
101
+ this.setItemsPerPage(Number(this.pageDropdownEl.value));
102
+ this.userSetItemsPerPage = Number(this.pageDropdownEl.value);
103
+ };
104
+ this.changePage = (page) => {
105
+ this.activePage = page;
106
+ this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;
107
+ this.setUpperBound();
108
+ };
109
+ this.focusElFromLabel = (el) => {
110
+ var _a, _b;
111
+ (_b = (_a = this.paginationBarEl) === null || _a === void 0 ? void 0 : _a.querySelector(el)) === null || _b === void 0 ? void 0 : _b.setFocus();
112
+ };
113
+ this.goToPage = () => {
114
+ var _a;
115
+ const input = this.pageInputEl;
116
+ const page = Number(input.value);
117
+ if (page <= this.totalPages && page > 0) {
118
+ this.changePage(page);
119
+ (_a = this.paginationEl) === null || _a === void 0 ? void 0 : _a.setCurrentPage(page);
120
+ this.activePage = page;
121
+ input.value = "";
122
+ this.icPageChange.emit({ value: page });
123
+ this.pageInputTooltipEl.displayTooltip(false, false);
124
+ input.validationStatus = "";
125
+ }
126
+ else {
127
+ this.setInputError(input, this.INVALID_PAGE_ERROR);
128
+ }
129
+ };
130
+ this.goToPageLabelClickHandler = () => {
131
+ this.focusElFromLabel("ic-text-field");
132
+ };
133
+ this.handleBlur = () => {
134
+ const textField = this.pageInputEl;
135
+ if ((Number(textField.value) <= this.totalPages &&
136
+ Number(textField.value) > 0) ||
137
+ textField.value === "") {
138
+ textField.validationStatus = "";
139
+ }
140
+ this.pageInputTooltipEl.displayTooltip(false, false);
141
+ };
142
+ this.handleFocus = () => {
143
+ if (this.pageInputEl.validationStatus === "error") {
144
+ this.pageInputTooltipEl.displayTooltip(true, true);
145
+ }
146
+ };
147
+ this.handleInputChange = () => {
148
+ const inputValue = parseInt(this.pageInputEl.value);
149
+ if (inputValue > this.totalPages || inputValue <= 0) {
150
+ this.setInputError(this.pageInputEl, this.INVALID_PAGE_ERROR);
151
+ this.pageInputTooltipEl.displayTooltip(true, true);
152
+ }
153
+ };
154
+ this.handleKeydown = (ev) => {
155
+ if (ev.key === "Enter") {
156
+ if (this.pageInputEl.validationStatus === "error") {
157
+ this.pageInputTooltipEl.displayTooltip(true, true);
158
+ }
159
+ else {
160
+ this.goToPage();
161
+ }
162
+ }
163
+ else {
164
+ this.pageInputTooltipEl.displayTooltip(false, false);
165
+ this.pageInputEl.validationStatus = "";
166
+ }
167
+ };
168
+ this.handleKeyUp = (ev) => {
169
+ if (Number.isNaN(parseInt(this.pageInputEl.value)) &&
170
+ ev.key !== "Backspace" &&
171
+ ev.key !== "Enter" &&
172
+ ev.key !== "Tab" &&
173
+ ev.key !== "Shift") {
174
+ this.setInputError(this.pageInputEl, "Please enter a number", false);
175
+ this.pageInputTooltipEl.displayTooltip(true, false);
176
+ }
177
+ };
178
+ this.itemsPerPageLabelClickHandler = () => {
179
+ this.focusElFromLabel("ic-select");
180
+ };
181
+ this.paginationShouldWrap = () => {
182
+ if (this.type === "simple") {
183
+ this.paginationWrapped = this.paginationEl.clientHeight > 63;
184
+ }
185
+ };
186
+ this.runResizeObserver = () => {
187
+ if (this.paginationBarEl) {
188
+ this.resizeObserver = new ResizeObserver(() => {
189
+ const { clientWidth } = this.paginationBarEl;
190
+ if (clientWidth - this.paginationWidth > 50 ||
191
+ clientWidth - this.paginationWidth < -50) {
192
+ this.paginationWidth = clientWidth;
193
+ this.paginationShouldWrap();
194
+ }
195
+ });
196
+ this.resizeObserver.observe(this.paginationBarEl);
197
+ }
198
+ };
199
+ this.setInputError = (el, error, focus = true) => {
200
+ this.inputError = error;
201
+ el.validationStatus = "error";
202
+ if (focus)
203
+ el.setFocus();
204
+ };
205
+ this.setToFirstPage = () => {
206
+ var _a;
207
+ const firstPage = 1;
208
+ this.changePage(firstPage);
209
+ (_a = this.paginationEl) === null || _a === void 0 ? void 0 : _a.setCurrentPage(firstPage);
210
+ this.activePage = firstPage;
211
+ this.icPageChange.emit({ value: firstPage });
212
+ };
213
+ this.setItemsPerPage = (newValue, isUserAction = true) => {
214
+ var _a;
215
+ if (this.itemsPerPage !== newValue) {
216
+ this.itemsPerPage = newValue;
217
+ this.itemsPerPageString = newValue.toString();
218
+ this.icItemsPerPageChange.emit({
219
+ value: this.itemsPerPage,
220
+ isUserAction,
221
+ });
222
+ if (this.setToFirstPageOnPaginationChange) {
223
+ this.setToFirstPage();
224
+ }
225
+ }
226
+ this.totalPages =
227
+ this.totalItems > this.itemsPerPage
228
+ ? Math.ceil(this.totalItems / this.itemsPerPage)
229
+ : 1;
230
+ this.setUpperBound();
231
+ if (this.activePage > this.totalPages) {
232
+ (_a = this.paginationEl) === null || _a === void 0 ? void 0 : _a.setCurrentPage(this.totalPages);
233
+ this.activePage = this.totalPages;
234
+ }
235
+ this.icPageChange.emit({ value: this.activePage, fromItemsPerPage: true });
236
+ };
237
+ this.setPaginationBarContent = () => {
238
+ const clonedItemsPerPageOptions = this.itemsPerPageOptions
239
+ ? JSON.parse(JSON.stringify(this.itemsPerPageOptions))
240
+ : null;
241
+ const displayedItemsPerPageOptions = clonedItemsPerPageOptions ||
242
+ (this.totalItems <= 100
243
+ ? [
244
+ { label: "10", value: "10" },
245
+ { label: "25", value: "25" },
246
+ { label: "50", value: "50" },
247
+ ]
248
+ : [
249
+ { label: "25", value: "25" },
250
+ { label: "100", value: "100" },
251
+ { label: "1000", value: "1000" },
252
+ ]);
253
+ !this.hideAllFromItemsPerPage &&
254
+ displayedItemsPerPageOptions.push({
255
+ label: "All",
256
+ value: String(this.totalItems),
257
+ });
258
+ this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(({ value }) => this.totalItems >= Number(value));
259
+ let lastOptionValue = 0;
260
+ if (this.userSetItemsPerPage) {
261
+ this.displayedItemsPerPageOptions.some(({ value }) => {
262
+ lastOptionValue = Number(value);
263
+ return this.userSetItemsPerPage <= lastOptionValue;
264
+ });
265
+ this.setItemsPerPage(lastOptionValue);
266
+ }
267
+ else {
268
+ if (this.selectedItemsPerPage !== null &&
269
+ this.selectedItemsPerPage !== undefined) {
270
+ this.setSelectedItemsPerPage(this.selectedItemsPerPage, this.displayedItemsPerPageOptions);
271
+ }
272
+ else {
273
+ const updated = this.displayedItemsPerPageOptions.some(({ value }) => {
274
+ lastOptionValue = Number(value);
275
+ return this.itemsPerPage <= lastOptionValue;
276
+ });
277
+ this.setItemsPerPage(updated || (!updated && this.itemsPerPage > lastOptionValue)
278
+ ? lastOptionValue
279
+ : this.itemsPerPage, false);
280
+ }
281
+ }
282
+ };
283
+ this.setUpperBound = () => {
284
+ this.upperBound = Math.min(this.lowerBound + this.itemsPerPage - 1, this.totalItems);
285
+ };
286
+ }
287
+ watchPageNumberHandler() {
288
+ this.setPaginationBarContent();
289
+ if (typeof this.currentPage === "number" && this.currentPage) {
290
+ if (this.currentPage < 1 ||
291
+ (this.totalPages && this.currentPage > this.totalPages)) {
292
+ console.warn(`The current page (${this.currentPage}) must be a number greater than zero but less than or equal to the total number of pages (${this.totalPages})`);
293
+ }
294
+ else {
295
+ this.activePage = this.currentPage;
296
+ }
297
+ }
298
+ }
299
+ watchSelectedItemsPerPageHandler() {
300
+ if (this.selectedItemsPerPage !== null &&
301
+ this.selectedItemsPerPage !== undefined) {
302
+ this.setSelectedItemsPerPage(this.selectedItemsPerPage, this.displayedItemsPerPageOptions);
303
+ }
304
+ }
305
+ watchItemLabelHandler() {
306
+ this.capitalizedItemLabel = capitalize(this.itemLabel);
307
+ this.lowerCaseItemLabel = this.itemLabel.toLowerCase();
308
+ }
309
+ watchItemsPerPageOptionsHandler(newVal, oldVal) {
310
+ if (JSON.stringify(newVal) === JSON.stringify(oldVal))
311
+ return;
312
+ this.setPaginationBarContent();
313
+ }
314
+ watchPageLabelHandler() {
315
+ this.capitalizedPageLabel = capitalize(this.pageLabel);
316
+ this.lowerCasePageLabel = this.pageLabel.toLowerCase();
317
+ }
318
+ watchTotalItemsHandler() {
319
+ this.setPaginationBarContent();
320
+ }
321
+ watchSetToFirstPageOnPaginationChange() {
322
+ this.setPaginationBarContent();
323
+ }
324
+ disconnectedCallback() {
325
+ var _a;
326
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
327
+ }
328
+ componentWillLoad() {
329
+ this.watchPageNumberHandler();
330
+ this.watchPageLabelHandler();
331
+ this.watchItemLabelHandler();
332
+ this.setPaginationBarContent();
333
+ }
334
+ componentDidLoad() {
335
+ var _a, _b, _c;
336
+ this.paginationWidth = ((_a = this.paginationBarEl) === null || _a === void 0 ? void 0 : _a.clientWidth) || 0;
337
+ checkResizeObserver(this.runResizeObserver);
338
+ const textField = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(`.${this.PAGE_INPUT_FIELD_ID}`);
339
+ if (textField) {
340
+ const input = (_c = textField === null || textField === void 0 ? void 0 : textField.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector("input");
341
+ if (input) {
342
+ input.style.textAlign = "center";
343
+ input.style.padding = "0";
344
+ }
345
+ }
346
+ this.paginationShouldWrap();
347
+ }
348
+ pageChangeHandler(ev) {
349
+ const page = ev.detail.value;
350
+ this.changePage(page);
351
+ }
352
+ render() {
353
+ const { accessibleLabel, alignment, displayedItemsPerPageOptions, PAGE_INPUT_FIELD_ID, type, rangeLabelType, hideRangeLabel, showItemsPerPageControl, showGoToPageControl, pageLabel, capitalizedPageLabel, lowerCasePageLabel, capitalizedItemLabel, lowerCaseItemLabel, totalPages, activePage, itemsPerPageString, theme, monochrome, selectItemsPerPageOnEnter, hideCurrentPage, hideFirstAndLastPageButton, } = this;
354
+ return (h(Host, { key: 'c11938d14250e5435166136014565a78c8fbe1b0', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '14cef9faa92a11d48b0f569524f69a75924fcea5', class: {
355
+ ["pagination-bar"]: true,
356
+ [`pagination-bar-${alignment}`]: true,
357
+ }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (h("div", { key: 'ce45782788e8a0fa10c1c4be4c88dd66238abc0d', class: "item-controls" }, showItemsPerPageControl && (h("div", { key: '988fd5587d581f707c859b116c0523a09b1fc629', class: "items-per-page-holder" }, h("ic-typography", { key: '78062c53ca82dcc53fa6de6da987284760a75411', class: {
358
+ ["items-per-page-control-label"]: true,
359
+ }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), h("ic-select", { key: '5f661cc9f2aa0f691d2e099d34531651acfd4623', theme: theme, size: "small", label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, selectOnEnter: selectItemsPerPageOnEnter, value: itemsPerPageString, onIcChange: this.changeItemsPerPage, ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel &&
360
+ (rangeLabelType === "data" ? (h("ic-typography", { class: {
361
+ ["item-pagination-label"]: true,
362
+ }, variant: "label", "aria-live": "polite" }, this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`, this.upperBound > 0 &&
363
+ `${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${lowerCaseItemLabel}${this.totalItems > 1 ? "s" : ""}`)) : (h("ic-typography", { class: {
364
+ ["page-pagination-label"]: true,
365
+ }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", activePage, " of ", totalPages))))), h("div", { key: '2fe098d17de85749fb85b9da97e821c1102e30d5', class: {
366
+ ["pagination-controls"]: true,
367
+ ["pagination-controls-wrap"]: this.paginationWrapped,
368
+ } }, h("div", { key: '2df84c3e3e46f8915c3cc223343af2d628025f9f', class: "pagination-holder" }, h("ic-pagination", { key: 'ad3217739a5828cbd6e438692ca5a987eab25d51', accessibleLabel: accessibleLabel, type: type, pages: totalPages, label: pageLabel, ref: (el) => (this.paginationEl = el), currentPage: activePage, theme: theme, monochrome: monochrome, hideCurrentPage: hideCurrentPage, hideFirstAndLastPageButton: hideFirstAndLastPageButton })), showGoToPageControl && (h("div", { key: '107a7b12ce7d9dd3f3ea2b62bd43c5556dfc2145', class: "go-to-page-holder" }, h("ic-typography", { key: '6042313933f74fa385a6cd5244eb32f650b3efe6', variant: "label", onClick: this.goToPageLabelClickHandler }, "Go to ", lowerCasePageLabel), h("ic-tooltip", { key: '2667de79e971e45b48b17f6479f17c34b94b9630', label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, h("ic-text-field", { key: 'd0039eb822e6bc06d9e9c35c24c962017fffc818', theme: theme, type: "number", size: "small", label: PAGE_INPUT_FIELD_ID, class: PAGE_INPUT_FIELD_ID, id: PAGE_INPUT_FIELD_ID, hideLabel: true, onKeyDown: this.handleKeydown, onKeyUp: this.handleKeyUp, onInput: this.handleInputChange, max: totalPages, min: "1", validationInlineInternal: true, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: (el) => (this.pageInputEl = el) })), h("ic-button", { key: 'a5159ea7b8994d71d04a13e4e7dd2f778b9e6e63', variant: "secondary", onClick: this.goToPage, size: "small", class: "go-to-page-button" }, "Go")))))));
369
+ }
370
+ get el() { return getElement(this); }
371
+ static get watchers() { return {
372
+ "currentPage": ["watchPageNumberHandler"],
373
+ "selectedItemsPerPage": ["watchSelectedItemsPerPageHandler"],
374
+ "itemLabel": ["watchItemLabelHandler"],
375
+ "itemsPerPageOptions": ["watchItemsPerPageOptionsHandler"],
376
+ "pageLabel": ["watchPageLabelHandler"],
377
+ "totalItems": ["watchTotalItemsHandler"],
378
+ "setToFirstPageOnPaginationChange": ["watchSetToFirstPageOnPaginationChange"]
379
+ }; }
380
+ };
381
+ PaginationBar.style = IcPaginationBarStyle0;
382
+
383
+ export { PaginationBar as ic_pagination_bar };
384
+
385
+ //# sourceMappingURL=ic-pagination-bar.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ic-pagination-bar.entry.js","mappings":"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","names":[],"sources":["src/components/ic-pagination-bar/ic-pagination-bar.css?tag=ic-pagination-bar&encapsulation=shadow","src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"sourcesContent":[":host() {\n display: block;\n}\n\n.pagination-bar {\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--ic-space-xl);\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-sizing: border-box;\n\n --ic-typography-color: var(--ic-pagination-text);\n}\n\n.pagination-bar-left {\n justify-content: flex-start;\n}\n\n.item-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-bar-space-between .item-controls {\n margin-right: auto;\n}\n\n.items-per-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.items-per-page-input {\n --input-width: 5rem;\n --ic-typography-color: var(--ic-pagination-select-content);\n}\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-controls-wrap {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n}\n\n.pagination-bar-space-between .pagination-controls {\n margin-left: auto;\n}\n\n.go-to-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.go-to-page-input {\n --input-width: var(--ic-space-xl);\n}\n\n.go-to-page-button {\n --min-width: var(--ic-space-xl);\n}\n\n.items-per-page-control-label {\n white-space: nowrap;\n}\n\n@media screen and (max-width: 768px) {\n .pagination-bar {\n flex-direction: column;\n align-items: flex-end;\n height: fit-content;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left {\n align-items: flex-start;\n }\n}\n\n@media screen and (max-width: 320px) {\n .item-controls,\n .pagination-controls {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left .item-controls,\n .pagination-bar-left .pagination-controls,\n .pagination-bar-space-between .item-controls,\n .pagination-bar-space-between .pagination-controls {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { capitalize, checkResizeObserver } from \"../../utils/helpers\";\nimport {\n IcItemsPerPageChangeEventDetail,\n IcPageChangeEventDetail,\n} from \"./ic-pagination-bar.types\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationLabelTypes,\n IcPaginationTypes,\n} from \"../ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n\n private resizeObserver: ResizeObserver | null = null;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl?: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n private userSetItemsPerPage: number;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() capitalizedItemLabel: string;\n\n @State() capitalizedPageLabel: string;\n\n @State() activePage: number = 1;\n\n @State() displayedItemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: number = 10;\n\n @State() itemsPerPageString: string = \"10\";\n\n @State() lowerBound: number = 1;\n\n @State() lowerCaseItemLabel: string;\n\n @State() lowerCasePageLabel: string;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * The accessible label passed down to the pagination component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string = \"Pagination Navigation\";\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * The current page number to be displayed on the pagination bar.\n */\n @Prop() currentPage?: number = 1;\n\n @Watch(\"currentPage\")\n watchPageNumberHandler(): void {\n this.setPaginationBarContent();\n\n if (typeof this.currentPage === \"number\" && this.currentPage) {\n if (\n this.currentPage < 1 ||\n (this.totalPages && this.currentPage > this.totalPages)\n ) {\n console.warn(\n `The current page (${this.currentPage}) must be a number greater than zero but less than or equal to the total number of pages (${this.totalPages})`\n );\n } else {\n this.activePage = this.currentPage;\n }\n }\n }\n\n /**\n * The items per page option to be selected.\n */\n @Prop() selectedItemsPerPage?: number;\n\n @Watch(\"selectedItemsPerPage\")\n watchSelectedItemsPerPageHandler(): void {\n if (\n this.selectedItemsPerPage !== null &&\n this.selectedItemsPerPage !== undefined\n ) {\n this.setSelectedItemsPerPage(\n this.selectedItemsPerPage,\n this.displayedItemsPerPageOptions\n );\n }\n }\n\n /**\n * If `true`, the 'All' option will be hidden from the 'items per page' select input.\n */\n @Prop() hideAllFromItemsPerPage?: boolean = false;\n\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n @Prop() hideCurrentPage?: boolean = false;\n\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n @Prop() hideFirstAndLastPageButton?: boolean = false;\n\n /**\n * The text which will be used in place of 'Item' on the pagination bar.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n @Watch(\"itemLabel\")\n watchItemLabelHandler(): void {\n this.capitalizedItemLabel = capitalize(this.itemLabel!);\n this.lowerCaseItemLabel = this.itemLabel!.toLowerCase();\n }\n\n /**\n * The options which will be displayed for 'items per page' select input.\n */\n @Prop() itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @Watch(\"itemsPerPageOptions\")\n watchItemsPerPageOptionsHandler(\n newVal: {\n label: string;\n value: string;\n }[],\n oldVal: {\n label: string;\n value: string;\n }[]\n ): void {\n if (JSON.stringify(newVal) === JSON.stringify(oldVal)) return;\n this.setPaginationBarContent();\n }\n\n /**\n * If `true`, the pagination bar will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() rangeLabelType?: IcPaginationLabelTypes = \"page\";\n\n /**\n * The text which will be used in place of 'Page' on the pagination bar.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n @Watch(\"pageLabel\")\n watchPageLabelHandler(): void {\n this.capitalizedPageLabel = capitalize(this.pageLabel!);\n this.lowerCasePageLabel = this.pageLabel!.toLowerCase();\n }\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.\n */\n @Prop() hideRangeLabel?: boolean = false;\n\n /**\n * If `false`, the value in the items per page control will be set immediately on ArrowUp and ArrowDown instead of when Enter is pressed.\n */\n @Prop() selectItemsPerPageOnEnter: boolean = true;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n @Watch(\"totalItems\")\n watchTotalItemsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n If `true`, the pagination bar is set to the first page when the 'items per page' changes\n */\n @Prop() setToFirstPageOnPaginationChange?: boolean = false;\n\n @Watch(\"setToFirstPageOnPaginationChange\")\n watchSetToFirstPageOnPaginationChange(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n * The `detail` property contains `value` (i.e. the page number) and a `fromItemsPerPage` flag to indicate if the event was triggered by the `icItemsPerPageChange` event also occurring.\n */\n @Event() icPageChange: EventEmitter<IcPageChangeEventDetail>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<IcItemsPerPageChangeEventDetail>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.watchPageNumberHandler();\n this.watchPageLabelHandler();\n this.watchItemLabelHandler();\n this.setPaginationBarContent();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl?.clientWidth || 0;\n checkResizeObserver(this.runResizeObserver);\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private setSelectedItemsPerPage = (\n selectedItemsPerPage: number,\n displayedItemsPerPageOptions: { label: string; value: string }[] = []\n ) => {\n const isSelectedItemsPerPagePresent = displayedItemsPerPageOptions?.some(\n ({ value }) => value === this.selectedItemsPerPage?.toString()\n );\n if (isSelectedItemsPerPagePresent) {\n this.setItemsPerPage(selectedItemsPerPage, false);\n } else {\n console.error(\n `The selected items per page option \"${this.selectedItemsPerPage}\" does not exist`\n );\n this.setItemsPerPage(+this.totalItems, false);\n }\n };\n\n private changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n\n this.userSetItemsPerPage = Number(this.pageDropdownEl.value);\n };\n\n private changePage = (page: number) => {\n this.activePage = page;\n this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;\n this.setUpperBound();\n };\n\n private focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl?.querySelector(el)?.setFocus();\n };\n\n private goToPage = () => {\n const input = this.pageInputEl;\n const page = Number(input.value);\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n this.paginationEl?.setCurrentPage(page);\n this.activePage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n this.pageInputTooltipEl.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.setInputError(input, this.INVALID_PAGE_ERROR);\n }\n };\n\n private goToPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-text-field\");\n };\n\n private handleBlur = () => {\n const textField = this.pageInputEl;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n this.pageInputTooltipEl.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const inputValue = parseInt(this.pageInputEl.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.setInputError(this.pageInputEl, this.INVALID_PAGE_ERROR);\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\") {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n this.pageInputTooltipEl.displayTooltip(false, false);\n this.pageInputEl.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n if (\n Number.isNaN(parseInt(this.pageInputEl.value)) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.setInputError(this.pageInputEl, \"Please enter a number\", false);\n this.pageInputTooltipEl.displayTooltip(true, false);\n }\n };\n\n private itemsPerPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-select\");\n };\n\n private paginationShouldWrap = () => {\n if (this.type === \"simple\") {\n this.paginationWrapped = this.paginationEl.clientHeight > 63;\n }\n };\n\n private runResizeObserver = () => {\n if (this.paginationBarEl) {\n this.resizeObserver = new ResizeObserver(() => {\n const { clientWidth } = this.paginationBarEl!;\n if (\n clientWidth - this.paginationWidth > 50 ||\n clientWidth - this.paginationWidth < -50\n ) {\n this.paginationWidth = clientWidth;\n this.paginationShouldWrap();\n }\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n }\n };\n\n private setInputError = (\n el: HTMLIcTextFieldElement,\n error: string,\n focus = true\n ) => {\n this.inputError = error;\n el.validationStatus = \"error\";\n if (focus) el.setFocus();\n };\n\n private setToFirstPage = () => {\n const firstPage = 1;\n this.changePage(firstPage);\n this.paginationEl?.setCurrentPage(firstPage);\n this.activePage = firstPage;\n this.icPageChange.emit({ value: firstPage });\n };\n\n private setItemsPerPage = (newValue: number, isUserAction = true) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({\n value: this.itemsPerPage,\n isUserAction,\n });\n\n if (this.setToFirstPageOnPaginationChange) {\n this.setToFirstPage();\n }\n }\n\n this.totalPages =\n this.totalItems > this.itemsPerPage\n ? Math.ceil(this.totalItems / this.itemsPerPage)\n : 1;\n\n this.setUpperBound();\n if (this.activePage > this.totalPages) {\n this.paginationEl?.setCurrentPage(this.totalPages);\n this.activePage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.activePage, fromItemsPerPage: true });\n };\n\n private setPaginationBarContent = (): void => {\n const clonedItemsPerPageOptions: {\n label: string;\n value: string;\n }[] = this.itemsPerPageOptions\n ? JSON.parse(JSON.stringify(this.itemsPerPageOptions))\n : null;\n\n const displayedItemsPerPageOptions =\n clonedItemsPerPageOptions ||\n (this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n ]);\n\n !this.hideAllFromItemsPerPage &&\n displayedItemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(\n ({ value }) => this.totalItems >= Number(value)\n );\n\n let lastOptionValue = 0;\n\n if (this.userSetItemsPerPage) {\n this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.userSetItemsPerPage <= lastOptionValue;\n });\n this.setItemsPerPage(lastOptionValue);\n } else {\n if (\n this.selectedItemsPerPage !== null &&\n this.selectedItemsPerPage !== undefined\n ) {\n this.setSelectedItemsPerPage(\n this.selectedItemsPerPage,\n this.displayedItemsPerPageOptions\n );\n } else {\n const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage,\n false\n );\n }\n }\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n render() {\n const {\n accessibleLabel,\n alignment,\n displayedItemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n type,\n rangeLabelType,\n hideRangeLabel,\n showItemsPerPageControl,\n showGoToPageControl,\n pageLabel,\n capitalizedPageLabel,\n lowerCasePageLabel,\n capitalizedItemLabel,\n lowerCaseItemLabel,\n totalPages,\n activePage,\n itemsPerPageString,\n theme,\n monochrome,\n selectItemsPerPageOnEnter,\n hideCurrentPage,\n hideFirstAndLastPageButton,\n } = this;\n\n return (\n <Host class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}>\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(!hideRangeLabel || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={this.itemsPerPageLabelClickHandler}\n >\n {capitalizedItemLabel}s per {lowerCasePageLabel}\n </ic-typography>\n <ic-select\n theme={theme}\n size=\"small\"\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n selectOnEnter={selectItemsPerPageOnEnter}\n value={itemsPerPageString}\n onIcChange={this.changeItemsPerPage}\n ref={(el: HTMLIcSelectElement | undefined) =>\n (this.pageDropdownEl = el!)\n }\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel &&\n (rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`}\n {this.upperBound > 0 &&\n `${this.lowerBound} - ${this.upperBound} of ${\n this.totalItems\n } ${lowerCaseItemLabel}${this.totalItems > 1 ? \"s\" : \"\"}`}\n </ic-typography>\n ) : (\n <ic-typography\n class={{\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {capitalizedPageLabel} {activePage} of {totalPages}\n </ic-typography>\n ))}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n accessibleLabel={accessibleLabel}\n type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement | undefined) =>\n (this.paginationEl = el!)\n }\n currentPage={activePage}\n theme={theme}\n monochrome={monochrome}\n hideCurrentPage={hideCurrentPage}\n hideFirstAndLastPageButton={hideFirstAndLastPageButton}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n variant=\"label\"\n onClick={this.goToPageLabelClickHandler}\n >\n Go to {lowerCasePageLabel}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n ref={(el: HTMLIcTooltipElement | undefined) =>\n (this.pageInputTooltipEl = el!)\n }\n >\n <ic-text-field\n theme={theme}\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={this.handleKeydown}\n onKeyUp={this.handleKeyUp}\n onInput={this.handleInputChange}\n max={totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n ref={(el: HTMLIcTextFieldElement | undefined) =>\n (this.pageInputEl = el!)\n }\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n variant=\"secondary\"\n onClick={this.goToPage}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a7a720e7.js';
2
- import { r as removeDisabledFalse, U as capitalize } from './helpers-0f85537f.js';
2
+ import { r as removeDisabledFalse, E as capitalize } from './helpers-66681c73.js';
3
3
  import './constants-ab12fdcf.js';
4
4
 
5
5
  const icPaginationItemCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}a{text-align:center}.item-container{display:flex;justify-content:center;align-items:center;width:calc(var(--ic-space-xl) + var(--ic-space-sm));height:var(--ic-space-xl);margin:var(--ic-space-xxs) var(--ic-space-xxxs);cursor:pointer;text-decoration:none}button{background:none;border:none;outline:inherit;position:relative}.ellipsis{pointer-events:none;--ic-typography-color:var(--ic-pagination-ellipsis)}.monochrome .ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-monochrome)}.item-container:focus{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.page{--ic-typography-color:var(--ic-pagination-page-number)}.monochrome .page{--ic-typography-color:var(--ic-pagination-page-number-monochrome)}.simple-current{min-width:calc(var(--ic-space-xxl) + var(--ic-space-md));height:var(--ic-space-lg);cursor:default}.item-container.page:hover:not(.selected):not(:focus){border-radius:var(--ic-border-radius);background-color:var(--ic-pagination-hover)}.item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-pagination-pressed)}.monochrome .item-container.page:hover:not(.selected):not(:focus){background-color:var(--ic-pagination-hover-monochrome)}.monochrome .item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-pagination-pressed-monochrome)}.selected{pointer-events:none;outline:none}.selected::after{content:\"\";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-pagination-selected-banner)}.monochrome .selected::after{background-color:var(--ic-pagination-selected-banner-monochrome)}.page-selected{--ic-typography-color:var(--ic-pagination-text)}.item-container.page.light:hover:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-hover)}.item-container.page.light:active:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-pressed)}ic-typography.light,ic-typography.page-selected.light{--ic-typography-color:var(--ic-architectural-white)}.selected.light::after{content:\"\";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-monochrome)}.item-container.page.dark:hover:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-hover)}.item-container.page.dark:active:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-pressed)}ic-typography.dark{--ic-typography-color:var(--ic-color-text-primary)}.selected.dark::after{content:\"\";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-monochrome-dark)}.disabled{--ic-typography-color:var(--ic-pagination-text-disabled);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.disabled.page ic-typography{--ic-typography-color:var(--ic-pagination-page-number-disabled)}.disabled.ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-disabled)}.monochrome .disabled.page{--ic-typography-color:var(--ic-pagination-page-number-monochrome-disabled)}.monochrome .disabled.ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-monochrome-disabled)}@media (forced-colors: active){.selected::after{background-color:Highlight}.selected.light::after{background-color:Highlight}.selected.dark::after{background-color:Highlight}.disabled{--ic-typography-color:GrayText}}@media (prefers-reduced-motion: reduce){.item-container:focus{transition:none}}";