@ukic/canary-web-components 3.0.0-canary.32 → 3.0.0-canary.34

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 (414) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-6f4b406b.js → helpers-f81fed28.js} +37 -1
  3. package/dist/cjs/helpers-f81fed28.js.map +1 -0
  4. package/dist/cjs/ic-alert.cjs.entry.js +6 -2
  5. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-button_3.cjs.entry.js +28 -16
  7. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-calendar_2.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-checkbox-group.cjs.entry.js +23 -2
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-checkbox_3.cjs.entry.js +11 -7
  14. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-data-table.cjs.entry.js +11 -8
  19. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +3 -4
  22. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-menu.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-pagination_4.cjs.entry.js +8 -4
  26. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-skeleton.cjs.entry.js +20 -5
  28. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-step.cjs.entry.js +16 -14
  30. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-stepper.cjs.entry.js +24 -4
  32. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  34. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-table-of-contents.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-time-input.cjs.entry.js +402 -100
  45. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-time-selector.cjs.entry.js +722 -0
  47. package/dist/cjs/ic-time-selector.cjs.entry.js.map +1 -0
  48. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  52. package/dist/cjs/{ic-toggle-button.cjs.entry.js → ic-toggle-button_2.cjs.entry.js} +276 -3
  53. package/dist/cjs/ic-toggle-button_2.cjs.entry.js.map +1 -0
  54. package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
  55. package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
  56. package/dist/cjs/index-d337cd8a.js +8 -8
  57. package/dist/cjs/loader.cjs.js +1 -1
  58. package/dist/collection/collection-manifest.json +1 -0
  59. package/dist/collection/components/ic-calendar/ic-calendar.css +8 -6
  60. package/dist/collection/components/ic-calendar/ic-calendar.stories.js +13 -0
  61. package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -1
  62. package/dist/collection/components/ic-data-table/ic-data-table.js +10 -7
  63. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  64. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +30 -6
  65. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  66. package/dist/collection/components/ic-time-input/ic-time-input.css +21 -3
  67. package/dist/collection/components/ic-time-input/ic-time-input.js +436 -108
  68. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  69. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +62 -13
  70. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
  71. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +2 -0
  72. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -1
  73. package/dist/collection/components/ic-time-selector/ic-time-selector.css +293 -0
  74. package/dist/collection/components/ic-time-selector/ic-time-selector.js +928 -0
  75. package/dist/collection/components/ic-time-selector/ic-time-selector.js.map +1 -0
  76. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js +192 -0
  77. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js.map +1 -0
  78. package/dist/collection/components/ic-time-selector/ic-time-selector.types.js +2 -0
  79. package/dist/collection/components/ic-time-selector/ic-time-selector.types.js.map +1 -0
  80. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  81. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  82. package/dist/collection/utils/helpers.js +35 -0
  83. package/dist/collection/utils/helpers.js.map +1 -1
  84. package/dist/collection/utils/types.js.map +1 -1
  85. package/dist/components/helpers2.js +36 -1
  86. package/dist/components/helpers2.js.map +1 -1
  87. package/dist/components/ic-alert.js +7 -2
  88. package/dist/components/ic-alert.js.map +1 -1
  89. package/dist/components/ic-button2.js +4 -4
  90. package/dist/components/ic-button2.js.map +1 -1
  91. package/dist/components/ic-calendar2.js +1 -1
  92. package/dist/components/ic-calendar2.js.map +1 -1
  93. package/dist/components/ic-checkbox-group.js +24 -2
  94. package/dist/components/ic-checkbox-group.js.map +1 -1
  95. package/dist/components/ic-data-row.js +1 -1
  96. package/dist/components/ic-data-row.js.map +1 -1
  97. package/dist/components/ic-data-table.js +10 -7
  98. package/dist/components/ic-data-table.js.map +1 -1
  99. package/dist/components/ic-input-validation2.js +4 -5
  100. package/dist/components/ic-input-validation2.js.map +1 -1
  101. package/dist/components/ic-loading-indicator2.js +27 -13
  102. package/dist/components/ic-loading-indicator2.js.map +1 -1
  103. package/dist/components/ic-menu2.js +1 -1
  104. package/dist/components/ic-menu2.js.map +1 -1
  105. package/dist/components/ic-pagination-bar2.js +11 -6
  106. package/dist/components/ic-pagination-bar2.js.map +1 -1
  107. package/dist/components/ic-pagination2.js +9 -4
  108. package/dist/components/ic-pagination2.js.map +1 -1
  109. package/dist/components/ic-skeleton.js +23 -6
  110. package/dist/components/ic-skeleton.js.map +1 -1
  111. package/dist/components/ic-step.js +17 -15
  112. package/dist/components/ic-step.js.map +1 -1
  113. package/dist/components/ic-stepper.js +24 -4
  114. package/dist/components/ic-stepper.js.map +1 -1
  115. package/dist/components/ic-switch.js +4 -4
  116. package/dist/components/ic-switch.js.map +1 -1
  117. package/dist/components/ic-tab-context.js +1 -1
  118. package/dist/components/ic-tab-context.js.map +1 -1
  119. package/dist/components/ic-tab-group.js +2 -2
  120. package/dist/components/ic-tab-group.js.map +1 -1
  121. package/dist/components/ic-tab-panel.js +2 -2
  122. package/dist/components/ic-tab-panel.js.map +1 -1
  123. package/dist/components/ic-theme.js +1 -1
  124. package/dist/components/ic-theme.js.map +1 -1
  125. package/dist/components/ic-time-input.js +432 -113
  126. package/dist/components/ic-time-input.js.map +1 -1
  127. package/dist/components/ic-time-selector.d.ts +11 -0
  128. package/dist/components/ic-time-selector.js +776 -0
  129. package/dist/components/ic-time-selector.js.map +1 -0
  130. package/dist/components/ic-toast-region.js +1 -1
  131. package/dist/components/ic-toast-region.js.map +1 -1
  132. package/dist/components/ic-toast.js +5 -5
  133. package/dist/components/ic-toast.js.map +1 -1
  134. package/dist/components/ic-toggle-button-group.js +1 -299
  135. package/dist/components/ic-toggle-button-group.js.map +1 -1
  136. package/dist/{esm/ic-toggle-button-group.entry.js → components/ic-toggle-button-group2.js} +70 -13
  137. package/dist/components/ic-toggle-button-group2.js.map +1 -0
  138. package/dist/components/ic-toggle-button.js +1 -228
  139. package/dist/components/ic-toggle-button.js.map +1 -1
  140. package/dist/{esm/ic-toggle-button.entry.js → components/ic-toggle-button2.js} +67 -12
  141. package/dist/components/ic-toggle-button2.js.map +1 -0
  142. package/dist/components/ic-tree-item.js +2 -2
  143. package/dist/components/ic-tree-view.js +4 -4
  144. package/dist/core/core.css +28 -6
  145. package/dist/core/core.esm.js +1 -1
  146. package/dist/core/core.esm.js.map +1 -1
  147. package/dist/core/{p-b80b08ae.entry.js → p-08f24329.entry.js} +2 -2
  148. package/dist/core/{p-96177a74.entry.js → p-0bca234b.entry.js} +2 -2
  149. package/dist/core/{p-96177a74.entry.js.map → p-0bca234b.entry.js.map} +1 -1
  150. package/dist/core/{p-615d474e.entry.js → p-14b8bf37.entry.js} +2 -2
  151. package/dist/core/{p-81f12581.entry.js → p-169ad948.entry.js} +2 -2
  152. package/dist/core/{p-5254a078.entry.js → p-1be17f22.entry.js} +2 -2
  153. package/dist/core/{p-5254a078.entry.js.map → p-1be17f22.entry.js.map} +1 -1
  154. package/dist/core/{p-847cbb16.entry.js → p-1d166343.entry.js} +2 -2
  155. package/dist/core/{p-15c05eb8.entry.js → p-1dbefb37.entry.js} +2 -2
  156. package/dist/core/p-1dbefb37.entry.js.map +1 -0
  157. package/dist/core/{p-b4bfaf8f.entry.js → p-201b41c7.entry.js} +2 -2
  158. package/dist/core/{p-24bac55f.entry.js → p-33509a89.entry.js} +2 -2
  159. package/dist/core/{p-e1920777.entry.js → p-3389625c.entry.js} +2 -2
  160. package/dist/core/{p-5a1cfb3c.entry.js → p-344752cb.entry.js} +2 -2
  161. package/dist/core/{p-6c238418.entry.js → p-348d7080.entry.js} +2 -2
  162. package/dist/core/{p-3ef2e98d.entry.js → p-39cdf5db.entry.js} +2 -2
  163. package/dist/core/{p-775b8dba.entry.js → p-409d03b2.entry.js} +2 -2
  164. package/dist/core/{p-775b8dba.entry.js.map → p-409d03b2.entry.js.map} +1 -1
  165. package/dist/core/p-492991ad.entry.js +2 -0
  166. package/dist/core/p-492991ad.entry.js.map +1 -0
  167. package/dist/core/{p-fd20470e.entry.js → p-496b314f.entry.js} +2 -2
  168. package/dist/core/{p-bd9a76d8.entry.js → p-508b6da3.entry.js} +2 -2
  169. package/dist/core/p-53dad961.entry.js +2 -0
  170. package/dist/core/p-53dad961.entry.js.map +1 -0
  171. package/dist/core/p-551a0fc1.entry.js +2 -0
  172. package/dist/core/p-551a0fc1.entry.js.map +1 -0
  173. package/dist/core/{p-f5cea10d.entry.js → p-5e6687a8.entry.js} +2 -2
  174. package/dist/core/{p-72171192.entry.js → p-60f4fe3a.entry.js} +2 -2
  175. package/dist/core/p-61c92598.entry.js +2 -0
  176. package/dist/core/p-61c92598.entry.js.map +1 -0
  177. package/dist/core/p-691dd972.entry.js +2 -0
  178. package/dist/core/p-691dd972.entry.js.map +1 -0
  179. package/dist/core/{p-c6c87e58.entry.js → p-6dfe0922.entry.js} +2 -2
  180. package/dist/core/{p-fd7f3b58.entry.js → p-770e92cd.entry.js} +2 -2
  181. package/dist/core/{p-7cf6b428.entry.js → p-79ead0e7.entry.js} +2 -2
  182. package/dist/core/{p-285892ef.entry.js → p-7b4b45cf.entry.js} +2 -2
  183. package/dist/core/p-7c4d6b13.entry.js +2 -0
  184. package/dist/core/p-7c4d6b13.entry.js.map +1 -0
  185. package/dist/core/{p-af821831.entry.js → p-7d878ad7.entry.js} +2 -2
  186. package/dist/core/p-7d878ad7.entry.js.map +1 -0
  187. package/dist/core/{p-afedcfdb.entry.js → p-7efdbab8.entry.js} +2 -2
  188. package/dist/core/p-829b34f9.js +2 -0
  189. package/dist/core/p-829b34f9.js.map +1 -0
  190. package/dist/core/{p-9a9605c3.entry.js → p-879c180d.entry.js} +2 -2
  191. package/dist/core/{p-444cd8d3.entry.js → p-8ab37b4d.entry.js} +2 -2
  192. package/dist/core/{p-31f3fb15.entry.js → p-8d42a6e5.entry.js} +2 -2
  193. package/dist/core/{p-31f3fb15.entry.js.map → p-8d42a6e5.entry.js.map} +1 -1
  194. package/dist/core/{p-c87cc0d1.entry.js → p-939025af.entry.js} +2 -2
  195. package/dist/core/{p-5a4344cb.entry.js → p-9dea5764.entry.js} +2 -2
  196. package/dist/core/{p-ffc1cea6.entry.js → p-a58cf6fd.entry.js} +2 -2
  197. package/dist/core/p-a58cf6fd.entry.js.map +1 -0
  198. package/dist/core/{p-53740194.entry.js → p-a8310dfd.entry.js} +2 -2
  199. package/dist/core/p-a8310dfd.entry.js.map +1 -0
  200. package/dist/core/{p-90611726.entry.js → p-a8a92e54.entry.js} +2 -2
  201. package/dist/core/{p-2646a629.entry.js → p-b76fdade.entry.js} +2 -2
  202. package/dist/core/{p-2646a629.entry.js.map → p-b76fdade.entry.js.map} +1 -1
  203. package/dist/core/{p-04cb17d7.entry.js → p-b9459ba2.entry.js} +2 -2
  204. package/dist/core/{p-04cb17d7.entry.js.map → p-b9459ba2.entry.js.map} +1 -1
  205. package/dist/core/p-bb3db366.entry.js +2 -0
  206. package/dist/core/p-bb3db366.entry.js.map +1 -0
  207. package/dist/core/p-bc6e5d64.entry.js +2 -0
  208. package/dist/core/p-bc6e5d64.entry.js.map +1 -0
  209. package/dist/core/{p-2188b483.entry.js → p-c0a7eed7.entry.js} +2 -2
  210. package/dist/core/{p-2bd2f38b.entry.js → p-c0b227d2.entry.js} +2 -2
  211. package/dist/core/{p-7a0f62c2.entry.js → p-c4b2774d.entry.js} +2 -2
  212. package/dist/core/{p-7026afad.entry.js → p-ca05573a.entry.js} +2 -2
  213. package/dist/core/{p-8c580d88.entry.js → p-d0607a70.entry.js} +2 -2
  214. package/dist/core/{p-adde6c66.entry.js → p-d376858f.entry.js} +2 -2
  215. package/dist/core/{p-adde6c66.entry.js.map → p-d376858f.entry.js.map} +1 -1
  216. package/dist/core/{p-e00e67ff.entry.js → p-dbd9a403.entry.js} +2 -2
  217. package/dist/core/{p-e00e67ff.entry.js.map → p-dbd9a403.entry.js.map} +1 -1
  218. package/dist/core/p-df064c8b.entry.js +2 -0
  219. package/dist/core/p-df064c8b.entry.js.map +1 -0
  220. package/dist/core/{p-e4ef4263.js → p-e519f607.js} +2 -2
  221. package/dist/core/{p-3f0bce15.entry.js → p-e5c6d01a.entry.js} +2 -2
  222. package/dist/core/{p-04a9f82f.entry.js → p-e8db8772.entry.js} +2 -2
  223. package/dist/core/{p-e4b82731.entry.js → p-ea04103e.entry.js} +2 -2
  224. package/dist/core/p-eac60693.entry.js +2 -0
  225. package/dist/core/p-eac60693.entry.js.map +1 -0
  226. package/dist/core/{p-8e592393.entry.js → p-ecc7fd71.entry.js} +2 -2
  227. package/dist/core/{p-6cfba272.entry.js → p-efe260f0.entry.js} +2 -2
  228. package/dist/core/{p-b6d6b26e.entry.js → p-f1b57f91.entry.js} +2 -2
  229. package/dist/core/{p-e4551a38.entry.js → p-f5dc04f7.entry.js} +2 -2
  230. package/dist/core/{p-25280383.entry.js → p-fb07921b.entry.js} +2 -2
  231. package/dist/core/p-fb07921b.entry.js.map +1 -0
  232. package/dist/core/{p-1900c7c7.entry.js → p-fd08156a.entry.js} +2 -2
  233. package/dist/core/{p-3594922d.entry.js → p-fe5b51bb.entry.js} +2 -2
  234. package/dist/core/{p-ef5b6622.entry.js → p-ff618439.entry.js} +2 -2
  235. package/dist/esm/core.js +1 -1
  236. package/dist/esm/{helpers-5419eb6c.js → helpers-063369f4.js} +2 -2
  237. package/dist/esm/{helpers-5419eb6c.js.map → helpers-063369f4.js.map} +1 -1
  238. package/dist/esm/{helpers-9f228880.js → helpers-a08b3f32.js} +37 -2
  239. package/dist/esm/helpers-a08b3f32.js.map +1 -0
  240. package/dist/esm/ic-accordion-group.entry.js +1 -1
  241. package/dist/esm/ic-accordion.entry.js +1 -1
  242. package/dist/esm/ic-action-chip.entry.js +1 -1
  243. package/dist/esm/ic-alert.entry.js +7 -3
  244. package/dist/esm/ic-alert.entry.js.map +1 -1
  245. package/dist/esm/ic-back-to-top.entry.js +1 -1
  246. package/dist/esm/ic-badge.entry.js +1 -1
  247. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  248. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  249. package/dist/esm/ic-button_3.entry.js +29 -17
  250. package/dist/esm/ic-button_3.entry.js.map +1 -1
  251. package/dist/esm/ic-calendar_2.entry.js +2 -2
  252. package/dist/esm/ic-calendar_2.entry.js.map +1 -1
  253. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  254. package/dist/esm/ic-card-vertical.entry.js +1 -1
  255. package/dist/esm/ic-checkbox-group.entry.js +24 -3
  256. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  257. package/dist/esm/ic-checkbox_3.entry.js +12 -8
  258. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  259. package/dist/esm/ic-chip.entry.js +1 -1
  260. package/dist/esm/ic-data-row.entry.js +2 -2
  261. package/dist/esm/ic-data-row.entry.js.map +1 -1
  262. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  263. package/dist/esm/ic-data-table.entry.js +11 -8
  264. package/dist/esm/ic-data-table.entry.js.map +1 -1
  265. package/dist/esm/ic-date-picker.entry.js +1 -1
  266. package/dist/esm/ic-dialog.entry.js +1 -1
  267. package/dist/esm/ic-divider.entry.js +1 -1
  268. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  269. package/dist/esm/ic-footer-link.entry.js +1 -1
  270. package/dist/esm/ic-footer.entry.js +1 -1
  271. package/dist/esm/ic-hero.entry.js +1 -1
  272. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  273. package/dist/esm/ic-input-component-container_4.entry.js +4 -5
  274. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  275. package/dist/esm/ic-link.entry.js +1 -1
  276. package/dist/esm/ic-menu-group.entry.js +1 -1
  277. package/dist/esm/ic-menu-item.entry.js +1 -1
  278. package/dist/esm/ic-menu.entry.js +2 -2
  279. package/dist/esm/ic-menu.entry.js.map +1 -1
  280. package/dist/esm/ic-navigation-button.entry.js +1 -1
  281. package/dist/esm/ic-navigation-group.entry.js +1 -1
  282. package/dist/esm/ic-navigation-item.entry.js +1 -1
  283. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  284. package/dist/esm/ic-page-header.entry.js +1 -1
  285. package/dist/esm/ic-pagination_4.entry.js +9 -5
  286. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  287. package/dist/esm/ic-popover-menu.entry.js +1 -1
  288. package/dist/esm/ic-radio-group.entry.js +1 -1
  289. package/dist/esm/ic-radio-option.entry.js +1 -1
  290. package/dist/esm/ic-search-bar.entry.js +1 -1
  291. package/dist/esm/ic-side-navigation.entry.js +1 -1
  292. package/dist/esm/ic-skeleton.entry.js +20 -5
  293. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  294. package/dist/esm/ic-status-tag.entry.js +1 -1
  295. package/dist/esm/ic-step.entry.js +17 -15
  296. package/dist/esm/ic-step.entry.js.map +1 -1
  297. package/dist/esm/ic-stepper.entry.js +25 -5
  298. package/dist/esm/ic-stepper.entry.js.map +1 -1
  299. package/dist/esm/ic-switch.entry.js +5 -5
  300. package/dist/esm/ic-switch.entry.js.map +1 -1
  301. package/dist/esm/ic-tab-context.entry.js +1 -1
  302. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  303. package/dist/esm/ic-tab-group.entry.js +3 -3
  304. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  305. package/dist/esm/ic-tab-panel.entry.js +2 -2
  306. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  307. package/dist/esm/ic-tab.entry.js +1 -1
  308. package/dist/esm/ic-table-of-contents.entry.js +1 -1
  309. package/dist/esm/ic-theme.entry.js +2 -2
  310. package/dist/esm/ic-theme.entry.js.map +1 -1
  311. package/dist/esm/ic-time-input.entry.js +402 -100
  312. package/dist/esm/ic-time-input.entry.js.map +1 -1
  313. package/dist/esm/ic-time-selector.entry.js +718 -0
  314. package/dist/esm/ic-time-selector.entry.js.map +1 -0
  315. package/dist/esm/ic-toast-region.entry.js +1 -1
  316. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  317. package/dist/esm/ic-toast.entry.js +6 -6
  318. package/dist/esm/ic-toast.entry.js.map +1 -1
  319. package/dist/esm/ic-toggle-button_2.entry.js +449 -0
  320. package/dist/esm/ic-toggle-button_2.entry.js.map +1 -0
  321. package/dist/esm/ic-top-navigation.entry.js +1 -1
  322. package/dist/esm/ic-tree-item.entry.js +3 -3
  323. package/dist/esm/ic-tree-view.entry.js +4 -4
  324. package/dist/esm/ic-typography.entry.js +1 -1
  325. package/dist/esm/index-a7a720e7.js +8 -8
  326. package/dist/esm/loader.js +1 -1
  327. package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +20 -14
  328. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +4 -0
  329. package/dist/types/components/ic-time-input/ic-time-input.d.ts +27 -7
  330. package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +31 -7
  331. package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +1 -0
  332. package/dist/types/components/ic-time-selector/ic-time-selector.d.ts +80 -0
  333. package/dist/types/components/ic-time-selector/ic-time-selector.stories.d.ts +134 -0
  334. package/dist/types/components/ic-time-selector/ic-time-selector.types.d.ts +1 -0
  335. package/dist/types/components.d.ts +137 -11
  336. package/dist/types/utils/helpers.d.ts +14 -0
  337. package/dist/types/utils/types.d.ts +2 -2
  338. package/hydrate/index.js +1384 -201
  339. package/hydrate/index.mjs +1384 -201
  340. package/package.json +30 -30
  341. package/dist/cjs/helpers-6f4b406b.js.map +0 -1
  342. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +0 -267
  343. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +0 -1
  344. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +0 -1
  345. package/dist/core/p-0043b019.entry.js +0 -2
  346. package/dist/core/p-0043b019.entry.js.map +0 -1
  347. package/dist/core/p-15c05eb8.entry.js.map +0 -1
  348. package/dist/core/p-25280383.entry.js.map +0 -1
  349. package/dist/core/p-2c86ce4b.entry.js +0 -2
  350. package/dist/core/p-2c86ce4b.entry.js.map +0 -1
  351. package/dist/core/p-3891ce53.entry.js +0 -2
  352. package/dist/core/p-3891ce53.entry.js.map +0 -1
  353. package/dist/core/p-4992e9ac.entry.js +0 -2
  354. package/dist/core/p-4992e9ac.entry.js.map +0 -1
  355. package/dist/core/p-53740194.entry.js.map +0 -1
  356. package/dist/core/p-5b32aaf3.entry.js +0 -2
  357. package/dist/core/p-5b32aaf3.entry.js.map +0 -1
  358. package/dist/core/p-80111272.entry.js +0 -2
  359. package/dist/core/p-80111272.entry.js.map +0 -1
  360. package/dist/core/p-9044539c.entry.js +0 -2
  361. package/dist/core/p-9044539c.entry.js.map +0 -1
  362. package/dist/core/p-9a95f428.entry.js +0 -2
  363. package/dist/core/p-9a95f428.entry.js.map +0 -1
  364. package/dist/core/p-af821831.entry.js.map +0 -1
  365. package/dist/core/p-ba75ed34.entry.js +0 -2
  366. package/dist/core/p-ba75ed34.entry.js.map +0 -1
  367. package/dist/core/p-c3eddb99.entry.js +0 -2
  368. package/dist/core/p-c3eddb99.entry.js.map +0 -1
  369. package/dist/core/p-f48ce5f6.js +0 -2
  370. package/dist/core/p-f48ce5f6.js.map +0 -1
  371. package/dist/core/p-ffc1cea6.entry.js.map +0 -1
  372. package/dist/esm/helpers-9f228880.js.map +0 -1
  373. package/dist/esm/ic-toggle-button-group.entry.js.map +0 -1
  374. package/dist/esm/ic-toggle-button.entry.js.map +0 -1
  375. /package/dist/core/{p-b80b08ae.entry.js.map → p-08f24329.entry.js.map} +0 -0
  376. /package/dist/core/{p-615d474e.entry.js.map → p-14b8bf37.entry.js.map} +0 -0
  377. /package/dist/core/{p-81f12581.entry.js.map → p-169ad948.entry.js.map} +0 -0
  378. /package/dist/core/{p-847cbb16.entry.js.map → p-1d166343.entry.js.map} +0 -0
  379. /package/dist/core/{p-b4bfaf8f.entry.js.map → p-201b41c7.entry.js.map} +0 -0
  380. /package/dist/core/{p-24bac55f.entry.js.map → p-33509a89.entry.js.map} +0 -0
  381. /package/dist/core/{p-e1920777.entry.js.map → p-3389625c.entry.js.map} +0 -0
  382. /package/dist/core/{p-5a1cfb3c.entry.js.map → p-344752cb.entry.js.map} +0 -0
  383. /package/dist/core/{p-6c238418.entry.js.map → p-348d7080.entry.js.map} +0 -0
  384. /package/dist/core/{p-3ef2e98d.entry.js.map → p-39cdf5db.entry.js.map} +0 -0
  385. /package/dist/core/{p-fd20470e.entry.js.map → p-496b314f.entry.js.map} +0 -0
  386. /package/dist/core/{p-bd9a76d8.entry.js.map → p-508b6da3.entry.js.map} +0 -0
  387. /package/dist/core/{p-f5cea10d.entry.js.map → p-5e6687a8.entry.js.map} +0 -0
  388. /package/dist/core/{p-72171192.entry.js.map → p-60f4fe3a.entry.js.map} +0 -0
  389. /package/dist/core/{p-c6c87e58.entry.js.map → p-6dfe0922.entry.js.map} +0 -0
  390. /package/dist/core/{p-fd7f3b58.entry.js.map → p-770e92cd.entry.js.map} +0 -0
  391. /package/dist/core/{p-7cf6b428.entry.js.map → p-79ead0e7.entry.js.map} +0 -0
  392. /package/dist/core/{p-285892ef.entry.js.map → p-7b4b45cf.entry.js.map} +0 -0
  393. /package/dist/core/{p-afedcfdb.entry.js.map → p-7efdbab8.entry.js.map} +0 -0
  394. /package/dist/core/{p-9a9605c3.entry.js.map → p-879c180d.entry.js.map} +0 -0
  395. /package/dist/core/{p-444cd8d3.entry.js.map → p-8ab37b4d.entry.js.map} +0 -0
  396. /package/dist/core/{p-c87cc0d1.entry.js.map → p-939025af.entry.js.map} +0 -0
  397. /package/dist/core/{p-5a4344cb.entry.js.map → p-9dea5764.entry.js.map} +0 -0
  398. /package/dist/core/{p-90611726.entry.js.map → p-a8a92e54.entry.js.map} +0 -0
  399. /package/dist/core/{p-2188b483.entry.js.map → p-c0a7eed7.entry.js.map} +0 -0
  400. /package/dist/core/{p-2bd2f38b.entry.js.map → p-c0b227d2.entry.js.map} +0 -0
  401. /package/dist/core/{p-7a0f62c2.entry.js.map → p-c4b2774d.entry.js.map} +0 -0
  402. /package/dist/core/{p-7026afad.entry.js.map → p-ca05573a.entry.js.map} +0 -0
  403. /package/dist/core/{p-8c580d88.entry.js.map → p-d0607a70.entry.js.map} +0 -0
  404. /package/dist/core/{p-e4ef4263.js.map → p-e519f607.js.map} +0 -0
  405. /package/dist/core/{p-3f0bce15.entry.js.map → p-e5c6d01a.entry.js.map} +0 -0
  406. /package/dist/core/{p-04a9f82f.entry.js.map → p-e8db8772.entry.js.map} +0 -0
  407. /package/dist/core/{p-e4b82731.entry.js.map → p-ea04103e.entry.js.map} +0 -0
  408. /package/dist/core/{p-8e592393.entry.js.map → p-ecc7fd71.entry.js.map} +0 -0
  409. /package/dist/core/{p-6cfba272.entry.js.map → p-efe260f0.entry.js.map} +0 -0
  410. /package/dist/core/{p-b6d6b26e.entry.js.map → p-f1b57f91.entry.js.map} +0 -0
  411. /package/dist/core/{p-e4551a38.entry.js.map → p-f5dc04f7.entry.js.map} +0 -0
  412. /package/dist/core/{p-1900c7c7.entry.js.map → p-fd08156a.entry.js.map} +0 -0
  413. /package/dist/core/{p-3594922d.entry.js.map → p-fe5b51bb.entry.js.map} +0 -0
  414. /package/dist/core/{p-ef5b6622.entry.js.map → p-ff618439.entry.js.map} +0 -0
@@ -33,6 +33,10 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
33
33
  this.itemsPerPageString = "10";
34
34
  this.lowerBound = 1;
35
35
  this.paginationWrapped = false;
36
+ /**
37
+ * The accessible label passed down to the pagination component to provide context for screen reader users.
38
+ */
39
+ this.accessibleLabel = "Pagination Navigation";
36
40
  /**
37
41
  * Sets the alignment of the items in the pagination bar.
38
42
  */
@@ -360,22 +364,22 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
360
364
  this.changePage(page);
361
365
  }
362
366
  render() {
363
- const { 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;
364
- return (h(Host, { key: '9e58353122e7c4d900d8e05557b1ad455318193e', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '3b321296452318c0d4e6c6127de6c585d1685b79', class: {
367
+ 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;
368
+ return (h(Host, { key: 'b4156a3e8ea25f4e3c63b6806a132998acc4d413', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: 'cdbb0088e57c64438cdf78d82a09f022321a6e79', class: {
365
369
  ["pagination-bar"]: true,
366
370
  [`pagination-bar-${alignment}`]: true,
367
- }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (h("div", { key: '9d848e5c743b0e175147b69ad6c347fe9501d949', class: "item-controls" }, showItemsPerPageControl && (h("div", { key: '52783c5fc011c45d55801d0b2154bc9a087a004b', class: "items-per-page-holder" }, h("ic-typography", { key: '6b819e980dad965c28db3d0aaa7b6a898d162d69', class: {
371
+ }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (h("div", { key: '2ca590958c60e8e01b77e8f8ed09e7fa8dd91557', class: "item-controls" }, showItemsPerPageControl && (h("div", { key: '4fc26efe806e4897e305842dcc47d81180364698', class: "items-per-page-holder" }, h("ic-typography", { key: 'eb35b4a2a49a249584532042647a02aaadd4c9b6', class: {
368
372
  ["items-per-page-control-label"]: true,
369
- }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), h("ic-select", { key: '971399bcdf27a530f80520819c271e9038066581', 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 &&
373
+ }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), h("ic-select", { key: 'f8541624bc0a7121cac0dce4e49392c6ad85e819', 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 &&
370
374
  (rangeLabelType === "data" ? (h("ic-typography", { class: {
371
375
  ["item-pagination-label"]: true,
372
376
  }, variant: "label", "aria-live": "polite" }, this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`, this.upperBound > 0 &&
373
377
  `${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${lowerCaseItemLabel}${this.totalItems > 1 ? "s" : ""}`)) : (h("ic-typography", { class: {
374
378
  ["page-pagination-label"]: true,
375
- }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", activePage, " of ", totalPages))))), h("div", { key: '9b488eaf711d15286be92a4b367d02f7e225a0c3', class: {
379
+ }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", activePage, " of ", totalPages))))), h("div", { key: 'a781f60abd8da11927f5e3686926113f638936ad', class: {
376
380
  ["pagination-controls"]: true,
377
381
  ["pagination-controls-wrap"]: this.paginationWrapped,
378
- } }, h("div", { key: '22cba9694627e35900b6847697360a5924ad0518', class: "pagination-holder" }, h("ic-pagination", { key: '1c397720f1637f856e9bed188ff53b07fff24bea', 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: '0fea3a086dbcbad5e01cf79808b678d2357c12bf', class: "go-to-page-holder" }, h("ic-typography", { key: 'e8f93eeb864821e80f735dcdbd56ec02cde8bbda', variant: "label", onClick: this.goToPageLabelClickHandler }, "Go to ", lowerCasePageLabel), h("ic-tooltip", { key: 'ca276acfeddd757806772b9ffa7207ba1208e08d', label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, h("ic-text-field", { key: 'f5b56075402822ebd8bad42bf21b2bbb2e6b2e12', 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: '021bb44718fb00a03bddb167ba4f878b06776973', variant: "secondary", onClick: this.goToPage, size: "small", class: "go-to-page-button" }, "Go")))))));
382
+ } }, h("div", { key: 'eb1dd49fe13eaa7358fadd76e7b7fe552f3e3fe1', class: "pagination-holder" }, h("ic-pagination", { key: '717308c1d004d129c56d2b37ecf6ea207bdd1bc5', 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: 'f13fda5cee5728bf3c35ba480a96437416a66721', class: "go-to-page-holder" }, h("ic-typography", { key: 'd33e0a8d6ccbde4f5b44d2cdac54eac4288cf2de', variant: "label", onClick: this.goToPageLabelClickHandler }, "Go to ", lowerCasePageLabel), h("ic-tooltip", { key: '6a6d2d300dbb3419313775fec483f5580bf45add', label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, h("ic-text-field", { key: '94b9d3cb57ca5141392827b81006267e44358473', 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: 'e6b3a97814c0af73c289f46b9c797efdfd3702e2', variant: "secondary", onClick: this.goToPage, size: "small", class: "go-to-page-button" }, "Go")))))));
379
383
  }
380
384
  get el() { return this; }
381
385
  static get watchers() { return {
@@ -389,6 +393,7 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
389
393
  }; }
390
394
  static get style() { return IcPaginationBarStyle0; }
391
395
  }, [1, "ic-pagination-bar", {
396
+ "accessibleLabel": [1, "accessible-label"],
392
397
  "alignment": [1],
393
398
  "currentPage": [2, "current-page"],
394
399
  "selectedItemsPerPage": [2, "selected-items-per-page"],
@@ -1 +1 @@
1
- {"file":"ic-pagination-bar2.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","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\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 \"@ukic/web-components/dist/types/components/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 * 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.error(\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 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) =>\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 type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\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) =>\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) =>\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
+ {"file":"ic-pagination-bar2.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","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\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 \"@ukic/web-components/dist/types/components/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.error(\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) =>\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) => (this.paginationEl = el)}\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) =>\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) =>\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}
@@ -29,6 +29,10 @@ const Pagination = /*@__PURE__*/ proxyCustomElement(class Pagination extends HTM
29
29
  this.midItems = [];
30
30
  this.startEllipsis = false;
31
31
  this.startItems = [];
32
+ /**
33
+ * The accessible label of the pagination component to provide context for screen reader users.
34
+ */
35
+ this.accessibleLabel = "Pagination Navigation";
32
36
  /**
33
37
  * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.
34
38
  */
@@ -259,14 +263,14 @@ const Pagination = /*@__PURE__*/ proxyCustomElement(class Pagination extends HTM
259
263
  }
260
264
  render() {
261
265
  const { type, currentPage, hideCurrentPage, disabled, hideFirstAndLastPageButton, label, theme, monochrome, } = this;
262
- return (h(Host, { key: '9f9c0ceb1629ebff96c677d7b4ad9995bbe480cd', class: {
266
+ return (h(Host, { key: '206014fa2aa2c61bb9535e4de4fa5bf756bd318c', class: {
263
267
  [`ic-theme-${theme}`]: theme !== "inherit",
264
268
  ["ic-pagination-monochrome"]: !!monochrome,
265
- } }, type === "simple" && (h("nav", { key: '4d24ed30438c6755a1717454ee83e2a1b58d93c5', class: {
269
+ } }, type === "simple" && (h("nav", { key: '8544b88d593c806867e0bd49cb0624a684dec271', class: {
266
270
  ["disabled"]: !!disabled,
267
- }, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h("ic-pagination-item", { key: '784f99d1fa32d4f48c6de793707825333e45651a', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("nav", { key: 'ce6061fcee8e202cb895e2919525b64c6a1c1114', class: {
271
+ }, role: "navigation", "aria-label": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h("ic-pagination-item", { key: '5331aca30709281171cf19f17c2f05a0d0cdf168', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("nav", { key: '6b7acef9da08b590b941a7ce142ce448dbf79ff2', class: {
268
272
  ["disabled"]: !!disabled,
269
- }, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("span", { key: '4980f1fd9ebd31a5b8835876479e12a8a0f5d54d', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
273
+ }, role: "navigation", "aria-label": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("span", { key: 'e60f3fb36b78e7970f14836295efbd3a1f481885', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
270
274
  }
271
275
  get el() { return this; }
272
276
  static get watchers() { return {
@@ -279,6 +283,7 @@ const Pagination = /*@__PURE__*/ proxyCustomElement(class Pagination extends HTM
279
283
  }; }
280
284
  static get style() { return IcPaginationStyle0; }
281
285
  }, [1, "ic-pagination", {
286
+ "accessibleLabel": [1, "accessible-label"],
282
287
  "adjacentPageCount": [1026, "adjacent-page-count"],
283
288
  "boundaryPageCount": [1026, "boundary-page-count"],
284
289
  "defaultPage": [2, "default-page"],
@@ -1 +1 @@
1
- {"file":"ic-pagination2.js","mappings":"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","names":[],"sources":["../web-components/dist/collection/components/ic-pagination/ic-pagination.css?tag=ic-pagination&encapsulation=shadow","../web-components/dist/collection/components/ic-pagination/ic-pagination.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\nnav {\n width: 100%;\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\nic-button {\n cursor: pointer;\n}\n\nic-button.next-previous {\n --icon-width: var(--ic-space-xs);\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n\n padding: 0 var(--ic-space-xxs) 0 var(--ic-space-xxxs);\n}\n\nic-button.first-last {\n --icon-width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n}\n\nic-button.first-last::part(button),\nic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron);\n}\n\n:host(.ic-pagination-monochrome) ic-button.first-last::part(button),\n:host(.ic-pagination-monochrome) ic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron-monochrome);\n}\n\nic-button.ic-button-disabled.first-last::part(button),\nic-button.ic-button-disabled.next-previous::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.first-last::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.next-previous::part(button) {\n color: var(--ic-pagination-chevron-disabled);\n}\n\n.disabled {\n color: var(--ic-color-text-disabled-mid);\n pointer-events: none;\n cursor: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.hide-current-page {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.sr-only:dir(rtl) {\n right: -9999px;\n}\n","import { Host, h, } from \"@stencil/core\";\nimport paginationNextPrevious from \"../../assets/pagination-next-previous.svg\";\nimport paginationFirstLast from \"../../assets/pagination-first-last.svg\";\nimport { onComponentRequiredPropUndefined, removeDisabledFalse, } from \"../../utils/helpers\";\nexport class Pagination {\n constructor() {\n this.endEllipsis = false;\n this.endItems = [];\n this.midItems = [];\n this.startEllipsis = false;\n this.startItems = [];\n /**\n * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n this.adjacentPageCount = 1;\n /**\n * The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n this.boundaryPageCount = 1;\n /**\n * The default page to display.\n */\n this.defaultPage = 1;\n /**\n * If `true`, the pagination will not allow interaction.\n */\n this.disabled = false;\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n this.hideCurrentPage = false;\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n this.hideFirstAndLastPageButton = false;\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n this.label = \"Page\";\n /**\n * If `true`, the pagination will display as black in the light theme, and white in dark theme.\n */\n this.monochrome = false;\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 this.theme = \"inherit\";\n /**\n * The type of pagination to be used.\n */\n this.type = \"simple\";\n /**\n * The current page displayed by the pagination.\n */\n this.currentPage = this.defaultPage;\n this.handleClickFirst = () => {\n this.currentPage = 1;\n this.icPageChange.emit({ value: this.currentPage });\n };\n this.handleClickPrevious = () => {\n this.currentPage--;\n this.icPageChange.emit({ value: this.currentPage });\n };\n this.handleClickNext = () => {\n this.currentPage++;\n this.icPageChange.emit({ value: this.currentPage });\n };\n this.handleClickLast = () => {\n this.currentPage = this.pages;\n this.icPageChange.emit({ value: this.currentPage });\n };\n // button rendering abstracted from component render methods for clarity\n this.firstButton = () => {\n return (h(\"ic-button\", { id: \"first-page-button\", \"aria-label\": \"Go to first page\", theme: this.theme, onClick: this.handleClickFirst, class: \"page-button first-last\", disabled: this.currentPage === 1 || this.disabled, variant: \"icon-tertiary\", monochrome: this.theme == \"light\" || this.theme == \"dark\", innerHTML: paginationFirstLast }));\n };\n this.previousButton = () => {\n return (h(\"ic-button\", { id: \"previous-page-button\", \"aria-label\": \"Go to previous page\", theme: this.theme, onClick: this.handleClickPrevious, class: \"page-button next-previous flip\", disabled: this.currentPage === 1 || this.disabled, variant: \"icon-tertiary\", monochrome: this.theme == \"light\" || this.theme == \"dark\", innerHTML: paginationNextPrevious }));\n };\n this.nextButton = () => {\n return (h(\"ic-button\", { id: \"next-page-button\", \"aria-label\": \"Go to next page\", theme: this.theme, onClick: this.handleClickNext, class: \"page-button next-previous\", disabled: this.currentPage === this.pages || this.disabled, variant: \"icon-tertiary\", monochrome: this.theme == \"light\" || this.theme == \"dark\", innerHTML: paginationNextPrevious }));\n };\n this.lastButton = () => {\n return (h(\"ic-button\", { id: \"last-page-button\", \"aria-label\": \"Go to last page\", theme: this.theme, onClick: this.handleClickLast, class: \"page-button first-last flip\", disabled: this.currentPage === this.pages || this.disabled, variant: \"icon-tertiary\", monochrome: this.theme == \"light\" || this.theme == \"dark\", innerHTML: paginationFirstLast }));\n };\n this.renderStartEllipsis = () => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, type: \"ellipsis\", id: \"start-ellipsis\", disabled: this.disabled }));\n };\n this.renderEndEllipsis = () => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, type: \"ellipsis\", id: \"end-ellipsis\", disabled: this.disabled }));\n };\n this.renderStartItems = () => {\n return this.startItems.map((page) => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, selected: page === this.currentPage, id: `pagination-item-${page}`, type: \"page\", page: page, disabled: this.disabled }));\n });\n };\n this.renderEndItems = () => {\n return this.endItems.map((page) => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, selected: page === this.currentPage, id: `pagination-item-${page}`, type: \"page\", page: page, disabled: this.disabled }));\n });\n };\n this.renderMiddleItems = () => {\n return this.midItems.map((page) => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, selected: page === this.currentPage, id: `pagination-item-${page}`, type: \"page\", page: page, disabled: this.disabled }));\n });\n };\n }\n watchAdjacentPageCountHandler() {\n if (this.adjacentPageCount > 2) {\n this.adjacentPageCount = 2;\n }\n }\n watchBoundaryPageCountHandler() {\n if (this.boundaryPageCount > 2) {\n this.boundaryPageCount = 2;\n }\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n watchNumberPagesHandler() {\n this.watchPageChangeHandler();\n }\n watchTypeHandler() {\n this.watchPageChangeHandler();\n }\n watchPageChangeHandler() {\n if (this.type === \"simple\") {\n return;\n }\n this.startEllipsis = false;\n this.endEllipsis = false;\n this.startItems = [];\n this.endItems = [];\n this.midItems = [];\n const startItems = [];\n let startItemCount = 0;\n const endItems = [];\n let endStart = this.pages;\n const midItems = [];\n let midStart;\n let midEnd;\n let startEllipsis = false;\n let endEllipsis = false;\n if (this.pages <=\n this.boundaryPageCount * 2 + this.adjacentPageCount * 2 + 3) {\n this.startEllipsis = false;\n this.endEllipsis = false;\n for (let i = 1; i <= this.pages; i++) {\n startItems.push(i);\n }\n this.startItems = startItems;\n return;\n }\n startItemCount = this.boundaryPageCount === 0 ? 1 : this.boundaryPageCount;\n endStart =\n this.boundaryPageCount === 0\n ? this.pages\n : this.pages - this.boundaryPageCount + 1;\n if (this.currentPage <=\n this.adjacentPageCount + this.boundaryPageCount + 2) {\n startEllipsis = false;\n endEllipsis = true;\n let numItems = 2 * this.adjacentPageCount + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midStart = startItemCount + 1;\n midEnd = midStart + numItems;\n }\n else {\n startEllipsis = true;\n if (this.currentPage >\n this.pages - (this.adjacentPageCount + this.boundaryPageCount + 2)) {\n let numItems = 2 * this.adjacentPageCount + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midEnd =\n this.boundaryPageCount === 0\n ? this.pages - 1\n : this.pages - this.boundaryPageCount;\n midStart = midEnd - numItems;\n }\n else {\n endEllipsis = true;\n midStart = this.currentPage - this.adjacentPageCount;\n midEnd = this.currentPage + this.adjacentPageCount;\n }\n }\n //create array of start items\n if (this.boundaryPageCount > 0 ||\n (this.boundaryPageCount === 0 && startEllipsis === false)) {\n for (let i = 1; i <= startItemCount; i++) {\n startItems.push(i);\n }\n }\n //create array of end items\n if (this.boundaryPageCount > 0 ||\n (this.boundaryPageCount === 0 && endEllipsis === false)) {\n for (let i = endStart; i <= this.pages; i++) {\n endItems.push(i);\n }\n }\n //create array of mid items\n for (let i = midStart; i <= midEnd; i++) {\n midItems.push(i);\n }\n this.startEllipsis = startEllipsis;\n this.endEllipsis = endEllipsis;\n this.startItems = startItems;\n this.endItems = endItems;\n this.midItems = midItems;\n }\n componentWillLoad() {\n this.watchPageChangeHandler();\n this.watchBoundaryPageCountHandler();\n this.watchAdjacentPageCountHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.pages, propName: \"pages\" }], \"Pagination\");\n }\n paginationItemClickHandler(ev) {\n const page = ev.detail.page;\n this.currentPage = page;\n this.icPageChange.emit({ value: this.currentPage });\n }\n /**\n * Sets the currently displayed page.\n * @param {number} page The page number to set as the current page\n */\n async setCurrentPage(page) {\n if (typeof page === \"number\" && page > 0 && page <= this.pages) {\n this.currentPage = page;\n }\n else {\n console.error(\"Current page must be a number greater than zero but less than or equal to the total number of pages\");\n }\n }\n render() {\n const { type, currentPage, hideCurrentPage, disabled, hideFirstAndLastPageButton, label, theme, monochrome, } = this;\n return (h(Host, { key: '9f9c0ceb1629ebff96c677d7b4ad9995bbe480cd', class: {\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-pagination-monochrome\"]: !!monochrome,\n } }, type === \"simple\" && (h(\"nav\", { key: '4d24ed30438c6755a1717454ee83e2a1b58d93c5', class: {\n [\"disabled\"]: !!disabled,\n }, role: \"navigation\", \"aria-label\": \"Pagination Navigation\" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h(\"ic-pagination-item\", { key: '784f99d1fa32d4f48c6de793707825333e45651a', theme: this.theme, monochrome: this.monochrome, type: \"simple-current\", page: currentPage, label: label, class: { [\"hide-current-page\"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === \"complex\" && (h(\"nav\", { key: 'ce6061fcee8e202cb895e2919525b64c6a1c1114', class: {\n [\"disabled\"]: !!disabled,\n }, role: \"navigation\", \"aria-label\": \"Pagination Navigation\" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === \"complex\" && (h(\"span\", { key: '4980f1fd9ebd31a5b8835876479e12a8a0f5d54d', class: \"sr-only\", \"aria-live\": \"polite\" }, \"Page \", this.currentPage))));\n }\n static get is() { return \"ic-pagination\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-pagination.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-pagination.css\"]\n };\n }\n static get properties() {\n return {\n \"adjacentPageCount\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"adjacent-page-count\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"boundaryPageCount\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"boundary-page-count\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"defaultPage\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The default page to display.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"default-page\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the pagination will not allow interaction.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hideCurrentPage\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the current page of the simple pagination will not be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-current-page\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hideFirstAndLastPageButton\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the first and last page buttons will not be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-first-and-last-page-button\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the pagination item (applicable when simple pagination is being used).\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Page\\\"\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the pagination will display as black in the light theme, and white in dark theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"pages\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The total number of pages.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"pages\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"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 \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcPaginationTypes\",\n \"resolved\": \"\\\"complex\\\" | \\\"simple\\\" | undefined\",\n \"references\": {\n \"IcPaginationTypes\": {\n \"location\": \"import\",\n \"path\": \"./ic-pagination.types\",\n \"id\": \"src/components/ic-pagination/ic-pagination.types.ts::IcPaginationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The type of pagination to be used.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"simple\\\"\"\n },\n \"currentPage\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The current page displayed by the pagination.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"current-page\",\n \"reflect\": false,\n \"defaultValue\": \"this.defaultPage\"\n }\n };\n }\n static get states() {\n return {\n \"endEllipsis\": {},\n \"endItems\": {},\n \"midItems\": {},\n \"startEllipsis\": {},\n \"startItems\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icPageChange\",\n \"name\": \"icPageChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a page is selected.\"\n },\n \"complexType\": {\n \"original\": \"IcChangeEventDetail\",\n \"resolved\": \"IcChangeEventDetail\",\n \"references\": {\n \"IcChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-pagination.types\",\n \"id\": \"src/components/ic-pagination/ic-pagination.types.ts::IcChangeEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"setCurrentPage\": {\n \"complexType\": {\n \"signature\": \"(page: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"page\",\n \"type\": \"number\",\n \"docs\": \"The page number to set as the current page\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets the currently displayed page.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"page The page number to set as the current page\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"adjacentPageCount\",\n \"methodName\": \"watchAdjacentPageCountHandler\"\n }, {\n \"propName\": \"boundaryPageCount\",\n \"methodName\": \"watchBoundaryPageCountHandler\"\n }, {\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"pages\",\n \"methodName\": \"watchNumberPagesHandler\"\n }, {\n \"propName\": \"type\",\n \"methodName\": \"watchTypeHandler\"\n }, {\n \"propName\": \"currentPage\",\n \"methodName\": \"watchPageChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"paginationItemClick\",\n \"method\": \"paginationItemClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-pagination.js.map\n"],"version":3}
1
+ {"file":"ic-pagination2.js","mappings":"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","names":[],"sources":["../web-components/dist/collection/components/ic-pagination/ic-pagination.css?tag=ic-pagination&encapsulation=shadow","../web-components/dist/collection/components/ic-pagination/ic-pagination.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\nnav {\n width: 100%;\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\nic-button {\n cursor: pointer;\n}\n\nic-button.next-previous {\n --icon-width: var(--ic-space-xs);\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n\n padding: 0 var(--ic-space-xxs) 0 var(--ic-space-xxxs);\n}\n\nic-button.first-last {\n --icon-width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n}\n\nic-button.first-last::part(button),\nic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron);\n}\n\n:host(.ic-pagination-monochrome) ic-button.first-last::part(button),\n:host(.ic-pagination-monochrome) ic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron-monochrome);\n}\n\nic-button.ic-button-disabled.first-last::part(button),\nic-button.ic-button-disabled.next-previous::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.first-last::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.next-previous::part(button) {\n color: var(--ic-pagination-chevron-disabled);\n}\n\n.disabled {\n color: var(--ic-color-text-disabled-mid);\n pointer-events: none;\n cursor: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.hide-current-page {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.sr-only:dir(rtl) {\n right: -9999px;\n}\n","import { Host, h, } from \"@stencil/core\";\nimport paginationNextPrevious from \"../../assets/pagination-next-previous.svg\";\nimport paginationFirstLast from \"../../assets/pagination-first-last.svg\";\nimport { onComponentRequiredPropUndefined, removeDisabledFalse, } from \"../../utils/helpers\";\nexport class Pagination {\n constructor() {\n this.endEllipsis = false;\n this.endItems = [];\n this.midItems = [];\n this.startEllipsis = false;\n this.startItems = [];\n /**\n * The accessible label of the pagination component to provide context for screen reader users.\n */\n this.accessibleLabel = \"Pagination Navigation\";\n /**\n * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n this.adjacentPageCount = 1;\n /**\n * The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n this.boundaryPageCount = 1;\n /**\n * The default page to display.\n */\n this.defaultPage = 1;\n /**\n * If `true`, the pagination will not allow interaction.\n */\n this.disabled = false;\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n this.hideCurrentPage = false;\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n this.hideFirstAndLastPageButton = false;\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n this.label = \"Page\";\n /**\n * If `true`, the pagination will display as black in the light theme, and white in dark theme.\n */\n this.monochrome = false;\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 this.theme = \"inherit\";\n /**\n * The type of pagination to be used.\n */\n this.type = \"simple\";\n /**\n * The current page displayed by the pagination.\n */\n this.currentPage = this.defaultPage;\n this.handleClickFirst = () => {\n this.currentPage = 1;\n this.icPageChange.emit({ value: this.currentPage });\n };\n this.handleClickPrevious = () => {\n this.currentPage--;\n this.icPageChange.emit({ value: this.currentPage });\n };\n this.handleClickNext = () => {\n this.currentPage++;\n this.icPageChange.emit({ value: this.currentPage });\n };\n this.handleClickLast = () => {\n this.currentPage = this.pages;\n this.icPageChange.emit({ value: this.currentPage });\n };\n // button rendering abstracted from component render methods for clarity\n this.firstButton = () => {\n return (h(\"ic-button\", { id: \"first-page-button\", \"aria-label\": \"Go to first page\", theme: this.theme, onClick: this.handleClickFirst, class: \"page-button first-last\", disabled: this.currentPage === 1 || this.disabled, variant: \"icon-tertiary\", monochrome: this.theme == \"light\" || this.theme == \"dark\", innerHTML: paginationFirstLast }));\n };\n this.previousButton = () => {\n return (h(\"ic-button\", { id: \"previous-page-button\", \"aria-label\": \"Go to previous page\", theme: this.theme, onClick: this.handleClickPrevious, class: \"page-button next-previous flip\", disabled: this.currentPage === 1 || this.disabled, variant: \"icon-tertiary\", monochrome: this.theme == \"light\" || this.theme == \"dark\", innerHTML: paginationNextPrevious }));\n };\n this.nextButton = () => {\n return (h(\"ic-button\", { id: \"next-page-button\", \"aria-label\": \"Go to next page\", theme: this.theme, onClick: this.handleClickNext, class: \"page-button next-previous\", disabled: this.currentPage === this.pages || this.disabled, variant: \"icon-tertiary\", monochrome: this.theme == \"light\" || this.theme == \"dark\", innerHTML: paginationNextPrevious }));\n };\n this.lastButton = () => {\n return (h(\"ic-button\", { id: \"last-page-button\", \"aria-label\": \"Go to last page\", theme: this.theme, onClick: this.handleClickLast, class: \"page-button first-last flip\", disabled: this.currentPage === this.pages || this.disabled, variant: \"icon-tertiary\", monochrome: this.theme == \"light\" || this.theme == \"dark\", innerHTML: paginationFirstLast }));\n };\n this.renderStartEllipsis = () => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, type: \"ellipsis\", id: \"start-ellipsis\", disabled: this.disabled }));\n };\n this.renderEndEllipsis = () => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, type: \"ellipsis\", id: \"end-ellipsis\", disabled: this.disabled }));\n };\n this.renderStartItems = () => {\n return this.startItems.map((page) => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, selected: page === this.currentPage, id: `pagination-item-${page}`, type: \"page\", page: page, disabled: this.disabled }));\n });\n };\n this.renderEndItems = () => {\n return this.endItems.map((page) => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, selected: page === this.currentPage, id: `pagination-item-${page}`, type: \"page\", page: page, disabled: this.disabled }));\n });\n };\n this.renderMiddleItems = () => {\n return this.midItems.map((page) => {\n return (h(\"ic-pagination-item\", { theme: this.theme, monochrome: this.monochrome, selected: page === this.currentPage, id: `pagination-item-${page}`, type: \"page\", page: page, disabled: this.disabled }));\n });\n };\n }\n watchAdjacentPageCountHandler() {\n if (this.adjacentPageCount > 2) {\n this.adjacentPageCount = 2;\n }\n }\n watchBoundaryPageCountHandler() {\n if (this.boundaryPageCount > 2) {\n this.boundaryPageCount = 2;\n }\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n watchNumberPagesHandler() {\n this.watchPageChangeHandler();\n }\n watchTypeHandler() {\n this.watchPageChangeHandler();\n }\n watchPageChangeHandler() {\n if (this.type === \"simple\") {\n return;\n }\n this.startEllipsis = false;\n this.endEllipsis = false;\n this.startItems = [];\n this.endItems = [];\n this.midItems = [];\n const startItems = [];\n let startItemCount = 0;\n const endItems = [];\n let endStart = this.pages;\n const midItems = [];\n let midStart;\n let midEnd;\n let startEllipsis = false;\n let endEllipsis = false;\n if (this.pages <=\n this.boundaryPageCount * 2 + this.adjacentPageCount * 2 + 3) {\n this.startEllipsis = false;\n this.endEllipsis = false;\n for (let i = 1; i <= this.pages; i++) {\n startItems.push(i);\n }\n this.startItems = startItems;\n return;\n }\n startItemCount = this.boundaryPageCount === 0 ? 1 : this.boundaryPageCount;\n endStart =\n this.boundaryPageCount === 0\n ? this.pages\n : this.pages - this.boundaryPageCount + 1;\n if (this.currentPage <=\n this.adjacentPageCount + this.boundaryPageCount + 2) {\n startEllipsis = false;\n endEllipsis = true;\n let numItems = 2 * this.adjacentPageCount + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midStart = startItemCount + 1;\n midEnd = midStart + numItems;\n }\n else {\n startEllipsis = true;\n if (this.currentPage >\n this.pages - (this.adjacentPageCount + this.boundaryPageCount + 2)) {\n let numItems = 2 * this.adjacentPageCount + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midEnd =\n this.boundaryPageCount === 0\n ? this.pages - 1\n : this.pages - this.boundaryPageCount;\n midStart = midEnd - numItems;\n }\n else {\n endEllipsis = true;\n midStart = this.currentPage - this.adjacentPageCount;\n midEnd = this.currentPage + this.adjacentPageCount;\n }\n }\n //create array of start items\n if (this.boundaryPageCount > 0 ||\n (this.boundaryPageCount === 0 && startEllipsis === false)) {\n for (let i = 1; i <= startItemCount; i++) {\n startItems.push(i);\n }\n }\n //create array of end items\n if (this.boundaryPageCount > 0 ||\n (this.boundaryPageCount === 0 && endEllipsis === false)) {\n for (let i = endStart; i <= this.pages; i++) {\n endItems.push(i);\n }\n }\n //create array of mid items\n for (let i = midStart; i <= midEnd; i++) {\n midItems.push(i);\n }\n this.startEllipsis = startEllipsis;\n this.endEllipsis = endEllipsis;\n this.startItems = startItems;\n this.endItems = endItems;\n this.midItems = midItems;\n }\n componentWillLoad() {\n this.watchPageChangeHandler();\n this.watchBoundaryPageCountHandler();\n this.watchAdjacentPageCountHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.pages, propName: \"pages\" }], \"Pagination\");\n }\n paginationItemClickHandler(ev) {\n const page = ev.detail.page;\n this.currentPage = page;\n this.icPageChange.emit({ value: this.currentPage });\n }\n /**\n * Sets the currently displayed page.\n * @param {number} page The page number to set as the current page\n */\n async setCurrentPage(page) {\n if (typeof page === \"number\" && page > 0 && page <= this.pages) {\n this.currentPage = page;\n }\n else {\n console.error(\"Current page must be a number greater than zero but less than or equal to the total number of pages\");\n }\n }\n render() {\n const { type, currentPage, hideCurrentPage, disabled, hideFirstAndLastPageButton, label, theme, monochrome, } = this;\n return (h(Host, { key: '206014fa2aa2c61bb9535e4de4fa5bf756bd318c', class: {\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-pagination-monochrome\"]: !!monochrome,\n } }, type === \"simple\" && (h(\"nav\", { key: '8544b88d593c806867e0bd49cb0624a684dec271', class: {\n [\"disabled\"]: !!disabled,\n }, role: \"navigation\", \"aria-label\": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h(\"ic-pagination-item\", { key: '5331aca30709281171cf19f17c2f05a0d0cdf168', theme: this.theme, monochrome: this.monochrome, type: \"simple-current\", page: currentPage, label: label, class: { [\"hide-current-page\"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === \"complex\" && (h(\"nav\", { key: '6b7acef9da08b590b941a7ce142ce448dbf79ff2', class: {\n [\"disabled\"]: !!disabled,\n }, role: \"navigation\", \"aria-label\": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === \"complex\" && (h(\"span\", { key: 'e60f3fb36b78e7970f14836295efbd3a1f481885', class: \"sr-only\", \"aria-live\": \"polite\" }, \"Page \", this.currentPage))));\n }\n static get is() { return \"ic-pagination\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-pagination.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-pagination.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label of the pagination component to provide context for screen reader users.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"accessible-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Pagination Navigation\\\"\"\n },\n \"adjacentPageCount\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"adjacent-page-count\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"boundaryPageCount\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"boundary-page-count\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"defaultPage\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The default page to display.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"default-page\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the pagination will not allow interaction.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hideCurrentPage\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the current page of the simple pagination will not be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-current-page\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hideFirstAndLastPageButton\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the first and last page buttons will not be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-first-and-last-page-button\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the pagination item (applicable when simple pagination is being used).\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Page\\\"\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the pagination will display as black in the light theme, and white in dark theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"pages\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The total number of pages.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"pages\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"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 \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcPaginationTypes\",\n \"resolved\": \"\\\"complex\\\" | \\\"simple\\\" | undefined\",\n \"references\": {\n \"IcPaginationTypes\": {\n \"location\": \"import\",\n \"path\": \"./ic-pagination.types\",\n \"id\": \"src/components/ic-pagination/ic-pagination.types.ts::IcPaginationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The type of pagination to be used.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"simple\\\"\"\n },\n \"currentPage\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The current page displayed by the pagination.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"current-page\",\n \"reflect\": false,\n \"defaultValue\": \"this.defaultPage\"\n }\n };\n }\n static get states() {\n return {\n \"endEllipsis\": {},\n \"endItems\": {},\n \"midItems\": {},\n \"startEllipsis\": {},\n \"startItems\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icPageChange\",\n \"name\": \"icPageChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a page is selected.\"\n },\n \"complexType\": {\n \"original\": \"IcChangeEventDetail\",\n \"resolved\": \"IcChangeEventDetail\",\n \"references\": {\n \"IcChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-pagination.types\",\n \"id\": \"src/components/ic-pagination/ic-pagination.types.ts::IcChangeEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"setCurrentPage\": {\n \"complexType\": {\n \"signature\": \"(page: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"page\",\n \"type\": \"number\",\n \"docs\": \"The page number to set as the current page\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets the currently displayed page.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"page The page number to set as the current page\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"adjacentPageCount\",\n \"methodName\": \"watchAdjacentPageCountHandler\"\n }, {\n \"propName\": \"boundaryPageCount\",\n \"methodName\": \"watchBoundaryPageCountHandler\"\n }, {\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"pages\",\n \"methodName\": \"watchNumberPagesHandler\"\n }, {\n \"propName\": \"type\",\n \"methodName\": \"watchTypeHandler\"\n }, {\n \"propName\": \"currentPage\",\n \"methodName\": \"watchPageChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"paginationItemClick\",\n \"method\": \"paginationItemClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-pagination.js.map\n"],"version":3}
@@ -8,6 +8,11 @@ const DEFAULT_HEIGHTS = {
8
8
  circle: "25px",
9
9
  rectangle: "93px",
10
10
  };
11
+ const DEFAULT_WIDTHS = {
12
+ text: "260px",
13
+ circle: "25px",
14
+ rectangle: "260px",
15
+ };
11
16
  const Skeleton = /*@__PURE__*/ proxyCustomElement(class Skeleton extends HTMLElement {
12
17
  constructor() {
13
18
  super();
@@ -23,24 +28,36 @@ const Skeleton = /*@__PURE__*/ proxyCustomElement(class Skeleton extends HTMLEle
23
28
  this.variant = "rectangle";
24
29
  }
25
30
  render() {
26
- const { variant, theme, el } = this;
31
+ const { variant = "rectangle", theme, el } = this;
32
+ let height = this.height;
33
+ let width = this.width;
34
+ if (variant === "circle") {
35
+ if (height && !width) {
36
+ width = height;
37
+ }
38
+ else if (width && !height) {
39
+ height = width;
40
+ }
41
+ }
27
42
  const style = !el.firstElementChild
28
43
  ? {
29
- height: el.style.height || DEFAULT_HEIGHTS[variant],
30
- width: el.style.width || (variant === "circle" ? "25px" : "260px"),
44
+ height: el.style.height || height || DEFAULT_HEIGHTS[variant],
45
+ width: el.style.width || width || DEFAULT_WIDTHS[variant],
31
46
  }
32
47
  : undefined;
33
- return (h(Host, { key: '2f2a4aaef02912dae3994346722c17a7bb7862c4', class: {
48
+ return (h(Host, { key: '3cb324b15256dfa0f641621061b5c9a0a102da61', class: {
34
49
  skeleton: true,
35
50
  "ic-skeleton-circle": variant === "circle",
36
51
  [`ic-theme-${theme}`]: theme !== "inherit",
37
- }, style: style, "aria-disabled": "true" }, h("slot", { key: 'f483005261989c75b36bd880d09f855aa4152ca3' })));
52
+ }, style: style, "aria-disabled": "true" }, h("slot", { key: '93a1efa371acaf2aaff6674198e4083a4cf21862' })));
38
53
  }
39
54
  get el() { return this; }
40
55
  static get style() { return IcSkeletonStyle0; }
41
56
  }, [1, "ic-skeleton", {
42
57
  "theme": [1],
43
- "variant": [1]
58
+ "variant": [1],
59
+ "height": [1],
60
+ "width": [1]
44
61
  }]);
45
62
  function defineCustomElement$1() {
46
63
  if (typeof customElements === "undefined") {