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

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 (537) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/date-helpers-d7ee7b45.js.map +1 -1
  3. package/dist/cjs/{helpers-da852478.js → helpers-6f4b406b.js} +20 -20
  4. package/dist/cjs/helpers-6f4b406b.js.map +1 -0
  5. package/dist/cjs/ic-button_3.cjs.entry.js +5 -5
  6. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-calendar_2.cjs.entry.js +2354 -0
  8. package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -0
  9. package/dist/cjs/ic-card-horizontal.cjs.entry.js +6 -6
  10. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-checkbox_3.cjs.entry.js +48 -17
  14. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +4 -4
  20. package/dist/cjs/ic-data-table.cjs.entry.js +10 -8
  21. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-date-picker.cjs.entry.js +98 -854
  23. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-footer.cjs.entry.js +9 -5
  29. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-hero.cjs.entry.js +11 -6
  31. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  33. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +12 -12
  35. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-menu.cjs.entry.js +4 -4
  45. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  51. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  53. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-pagination_4.cjs.entry.js +18 -18
  55. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  57. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  59. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-radio-option.cjs.entry.js +9 -6
  61. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  63. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  67. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  69. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  75. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  81. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  83. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-table-of-contents.cjs.entry.js +4 -4
  87. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  88. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-time-input.cjs.entry.js +5 -5
  90. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  92. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-toast.cjs.entry.js +14 -6
  94. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  96. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  98. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
  100. package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
  101. package/dist/cjs/index-d337cd8a.js +4 -4
  102. package/dist/cjs/loader.cjs.js +1 -1
  103. package/dist/collection/collection-manifest.json +1 -0
  104. package/dist/collection/components/ic-calendar/ic-calendar.css +914 -0
  105. package/dist/collection/components/ic-calendar/ic-calendar.js +1542 -0
  106. package/dist/collection/components/ic-calendar/ic-calendar.js.map +1 -0
  107. package/dist/collection/components/ic-calendar/ic-calendar.stories.js +295 -0
  108. package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -0
  109. package/dist/collection/components/ic-calendar/ic-day-button.js.map +1 -0
  110. package/dist/collection/components/ic-calendar/ic-month-picker.js +35 -0
  111. package/dist/collection/components/ic-calendar/ic-month-picker.js.map +1 -0
  112. package/dist/collection/components/ic-calendar/ic-year-picker.js +57 -0
  113. package/dist/collection/components/ic-calendar/ic-year-picker.js.map +1 -0
  114. package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js +13 -0
  115. package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js.map +1 -0
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +6 -6
  117. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  118. package/dist/collection/components/ic-data-table/ic-data-table.js +10 -8
  119. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  120. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +3 -3
  121. package/dist/collection/components/ic-date-input/ic-date-input.js +8 -7
  122. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  123. package/dist/collection/components/ic-date-picker/ic-date-picker.css +7 -405
  124. package/dist/collection/components/ic-date-picker/ic-date-picker.js +145 -802
  125. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  126. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +110 -0
  127. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -1
  128. package/dist/collection/components/ic-date-picker/story-data.js +5 -1
  129. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  130. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +56 -8
  131. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  132. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +28 -0
  133. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -1
  134. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js +3 -3
  135. package/dist/collection/components/ic-time-input/ic-time-input.js +9 -8
  136. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  137. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  138. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  139. package/dist/collection/utils/date-helpers.js +3 -0
  140. package/dist/collection/utils/date-helpers.js.map +1 -1
  141. package/dist/collection/utils/types.js.map +1 -1
  142. package/dist/{esm/date-helpers-2b531c8c.js → components/date-helpers.js} +2 -2
  143. package/dist/components/date-helpers.js.map +1 -0
  144. package/dist/components/helpers2.js +20 -20
  145. package/dist/components/helpers2.js.map +1 -1
  146. package/dist/components/ic-calendar.d.ts +11 -0
  147. package/dist/components/ic-calendar.js +8 -0
  148. package/dist/components/ic-calendar.js.map +1 -0
  149. package/dist/components/ic-calendar2.js +1235 -0
  150. package/dist/components/ic-calendar2.js.map +1 -0
  151. package/dist/components/ic-card-horizontal.js +6 -6
  152. package/dist/components/ic-card-horizontal.js.map +1 -1
  153. package/dist/components/ic-checkbox-group.js +2 -2
  154. package/dist/components/ic-checkbox-group.js.map +1 -1
  155. package/dist/components/ic-checkbox2.js +31 -8
  156. package/dist/components/ic-checkbox2.js.map +1 -1
  157. package/dist/components/ic-data-list.js +2 -2
  158. package/dist/components/ic-data-list.js.map +1 -1
  159. package/dist/components/ic-data-row.js +2 -2
  160. package/dist/components/ic-data-row.js.map +1 -1
  161. package/dist/components/ic-data-table-title-bar.js +3 -3
  162. package/dist/components/ic-data-table.js +10 -8
  163. package/dist/components/ic-data-table.js.map +1 -1
  164. package/dist/components/ic-date-input2.js +6 -88
  165. package/dist/components/ic-date-input2.js.map +1 -1
  166. package/dist/components/ic-date-picker.js +113 -880
  167. package/dist/components/ic-date-picker.js.map +1 -1
  168. package/dist/components/ic-dialog.js +1 -1
  169. package/dist/components/ic-dialog.js.map +1 -1
  170. package/dist/components/ic-empty-state2.js +2 -2
  171. package/dist/components/ic-empty-state2.js.map +1 -1
  172. package/dist/components/ic-footer-link.js +2 -2
  173. package/dist/components/ic-footer-link.js.map +1 -1
  174. package/dist/components/ic-footer.js +10 -5
  175. package/dist/components/ic-footer.js.map +1 -1
  176. package/dist/components/ic-hero.js +12 -6
  177. package/dist/components/ic-hero.js.map +1 -1
  178. package/dist/components/ic-horizontal-scroll2.js +5 -5
  179. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  180. package/dist/components/ic-input-component-container2.js +4 -4
  181. package/dist/components/ic-input-component-container2.js.map +1 -1
  182. package/dist/components/ic-input-container2.js +2 -2
  183. package/dist/components/ic-input-container2.js.map +1 -1
  184. package/dist/components/ic-input-label2.js +2 -2
  185. package/dist/components/ic-input-label2.js.map +1 -1
  186. package/dist/components/ic-input-validation2.js +4 -4
  187. package/dist/components/ic-input-validation2.js.map +1 -1
  188. package/dist/components/ic-layout-grid-item.js +2 -2
  189. package/dist/components/ic-layout-grid-item.js.map +1 -1
  190. package/dist/components/ic-layout-grid.js +2 -2
  191. package/dist/components/ic-layout-grid.js.map +1 -1
  192. package/dist/components/ic-link2.js +1 -1
  193. package/dist/components/ic-link2.js.map +1 -1
  194. package/dist/components/ic-loading-indicator2.js +5 -5
  195. package/dist/components/ic-loading-indicator2.js.map +1 -1
  196. package/dist/components/ic-menu-group.js +1 -1
  197. package/dist/components/ic-menu-group.js.map +1 -1
  198. package/dist/components/ic-menu2.js +4 -4
  199. package/dist/components/ic-menu2.js.map +1 -1
  200. package/dist/components/ic-navigation-group.js +2 -2
  201. package/dist/components/ic-navigation-group.js.map +1 -1
  202. package/dist/components/ic-navigation-item.js +1 -1
  203. package/dist/components/ic-navigation-item.js.map +1 -1
  204. package/dist/components/ic-navigation-menu2.js +4 -4
  205. package/dist/components/ic-navigation-menu2.js.map +1 -1
  206. package/dist/components/ic-page-header.js +6 -6
  207. package/dist/components/ic-page-header.js.map +1 -1
  208. package/dist/components/ic-pagination-bar2.js +17 -7
  209. package/dist/components/ic-pagination-bar2.js.map +1 -1
  210. package/dist/components/ic-pagination-item2.js +1 -1
  211. package/dist/components/ic-pagination-item2.js.map +1 -1
  212. package/dist/components/ic-pagination2.js +4 -4
  213. package/dist/components/ic-pagination2.js.map +1 -1
  214. package/dist/components/ic-popover-menu.js +4 -4
  215. package/dist/components/ic-popover-menu.js.map +1 -1
  216. package/dist/components/ic-radio-group.js +5 -5
  217. package/dist/components/ic-radio-group.js.map +1 -1
  218. package/dist/components/ic-radio-option.js +10 -7
  219. package/dist/components/ic-radio-option.js.map +1 -1
  220. package/dist/components/ic-search-bar.js +10 -10
  221. package/dist/components/ic-search-bar.js.map +1 -1
  222. package/dist/components/ic-section-container2.js +2 -2
  223. package/dist/components/ic-section-container2.js.map +1 -1
  224. package/dist/components/ic-select2.js +7 -7
  225. package/dist/components/ic-select2.js.map +1 -1
  226. package/dist/components/ic-side-navigation.js +4 -4
  227. package/dist/components/ic-side-navigation.js.map +1 -1
  228. package/dist/components/ic-skeleton.js +2 -2
  229. package/dist/components/ic-skeleton.js.map +1 -1
  230. package/dist/components/ic-skip-link.js +2 -2
  231. package/dist/components/ic-skip-link.js.map +1 -1
  232. package/dist/components/ic-status-tag.js +2 -2
  233. package/dist/components/ic-status-tag.js.map +1 -1
  234. package/dist/components/ic-step.js +13 -13
  235. package/dist/components/ic-step.js.map +1 -1
  236. package/dist/components/ic-stepper.js +2 -2
  237. package/dist/components/ic-stepper.js.map +1 -1
  238. package/dist/components/ic-switch.js +4 -4
  239. package/dist/components/ic-switch.js.map +1 -1
  240. package/dist/components/ic-tab-context.js +1 -1
  241. package/dist/components/ic-tab-context.js.map +1 -1
  242. package/dist/components/ic-tab-group.js +2 -2
  243. package/dist/components/ic-tab-group.js.map +1 -1
  244. package/dist/components/ic-tab-panel.js +2 -2
  245. package/dist/components/ic-tab-panel.js.map +1 -1
  246. package/dist/components/ic-table-of-contents.js +3 -3
  247. package/dist/components/ic-text-field2.js +6 -6
  248. package/dist/components/ic-text-field2.js.map +1 -1
  249. package/dist/components/ic-theme.js +1 -1
  250. package/dist/components/ic-theme.js.map +1 -1
  251. package/dist/components/ic-time-input.js +5 -5
  252. package/dist/components/ic-time-input.js.map +1 -1
  253. package/dist/components/ic-toast-region.js +1 -1
  254. package/dist/components/ic-toast-region.js.map +1 -1
  255. package/dist/components/ic-toast.js +15 -6
  256. package/dist/components/ic-toast.js.map +1 -1
  257. package/dist/components/ic-toggle-button-group.js +2 -2
  258. package/dist/components/ic-toggle-button-group.js.map +1 -1
  259. package/dist/components/ic-toggle-button.js +2 -2
  260. package/dist/components/ic-toggle-button.js.map +1 -1
  261. package/dist/components/ic-tree-item.js +3 -3
  262. package/dist/components/ic-tree-view.js +4 -4
  263. package/dist/core/core.css +21 -9
  264. package/dist/core/core.esm.js +1 -1
  265. package/dist/core/core.esm.js.map +1 -1
  266. package/dist/core/{p-9fade6ad.entry.js → p-0043b019.entry.js} +2 -2
  267. package/dist/core/{p-9fade6ad.entry.js.map → p-0043b019.entry.js.map} +1 -1
  268. package/dist/core/{p-889bb8db.entry.js → p-04cb17d7.entry.js} +2 -2
  269. package/dist/core/{p-889bb8db.entry.js.map → p-04cb17d7.entry.js.map} +1 -1
  270. package/dist/core/{p-5ef453b6.entry.js → p-15c05eb8.entry.js} +2 -2
  271. package/dist/core/{p-5ef453b6.entry.js.map → p-15c05eb8.entry.js.map} +1 -1
  272. package/dist/core/{p-1be092cc.entry.js → p-2188b483.entry.js} +2 -2
  273. package/dist/core/{p-1be092cc.entry.js.map → p-2188b483.entry.js.map} +1 -1
  274. package/dist/core/{p-8c94541e.entry.js → p-24bac55f.entry.js} +2 -2
  275. package/dist/core/{p-8c94541e.entry.js.map → p-24bac55f.entry.js.map} +1 -1
  276. package/dist/core/p-25280383.entry.js +2 -0
  277. package/dist/core/p-25280383.entry.js.map +1 -0
  278. package/dist/core/{p-7f304d85.entry.js → p-2646a629.entry.js} +2 -2
  279. package/dist/core/{p-7f304d85.entry.js.map → p-2646a629.entry.js.map} +1 -1
  280. package/dist/core/p-285892ef.entry.js +2 -0
  281. package/dist/core/p-285892ef.entry.js.map +1 -0
  282. package/dist/core/p-2bd2f38b.entry.js +2 -0
  283. package/dist/core/p-2bd2f38b.entry.js.map +1 -0
  284. package/dist/core/p-2c86ce4b.entry.js +2 -0
  285. package/dist/core/p-2c86ce4b.entry.js.map +1 -0
  286. package/dist/core/{p-5cf704e3.entry.js → p-319e3d5b.entry.js} +2 -2
  287. package/dist/core/{p-5cf704e3.entry.js.map → p-319e3d5b.entry.js.map} +1 -1
  288. package/dist/core/{p-9e200827.entry.js → p-31f3fb15.entry.js} +2 -2
  289. package/dist/core/{p-9e200827.entry.js.map → p-31f3fb15.entry.js.map} +1 -1
  290. package/dist/core/{p-fd64c0e5.entry.js → p-3891ce53.entry.js} +2 -2
  291. package/dist/core/{p-fd64c0e5.entry.js.map → p-3891ce53.entry.js.map} +1 -1
  292. package/dist/core/{p-df220b91.entry.js → p-3ef2e98d.entry.js} +2 -2
  293. package/dist/core/p-4992e9ac.entry.js +2 -0
  294. package/dist/core/p-4992e9ac.entry.js.map +1 -0
  295. package/dist/core/{p-93e1ba0a.entry.js → p-5254a078.entry.js} +2 -2
  296. package/dist/core/{p-93e1ba0a.entry.js.map → p-5254a078.entry.js.map} +1 -1
  297. package/dist/core/{p-9c2e9189.entry.js → p-53740194.entry.js} +2 -2
  298. package/dist/core/{p-9c2e9189.entry.js.map → p-53740194.entry.js.map} +1 -1
  299. package/dist/core/{p-e380a54e.entry.js → p-5a4344cb.entry.js} +2 -2
  300. package/dist/core/{p-e380a54e.entry.js.map → p-5a4344cb.entry.js.map} +1 -1
  301. package/dist/core/p-5b32aaf3.entry.js +2 -0
  302. package/dist/core/p-5b32aaf3.entry.js.map +1 -0
  303. package/dist/core/{p-d8200098.entry.js → p-67c3985d.entry.js} +2 -2
  304. package/dist/core/{p-d8200098.entry.js.map → p-67c3985d.entry.js.map} +1 -1
  305. package/dist/core/p-6cfba272.entry.js +2 -0
  306. package/dist/core/p-6cfba272.entry.js.map +1 -0
  307. package/dist/core/{p-bc441e4c.js → p-75c3b882.js} +2 -2
  308. package/dist/core/{p-bc441e4c.js.map → p-75c3b882.js.map} +1 -1
  309. package/dist/core/p-775b8dba.entry.js +2 -0
  310. package/dist/core/p-775b8dba.entry.js.map +1 -0
  311. package/dist/core/{p-b88db5e3.entry.js → p-7a0f62c2.entry.js} +2 -2
  312. package/dist/core/{p-b88db5e3.entry.js.map → p-7a0f62c2.entry.js.map} +1 -1
  313. package/dist/core/p-80111272.entry.js +2 -0
  314. package/dist/core/p-80111272.entry.js.map +1 -0
  315. package/dist/core/p-81f12581.entry.js +2 -0
  316. package/dist/core/p-81f12581.entry.js.map +1 -0
  317. package/dist/core/{p-193afb53.entry.js → p-847cbb16.entry.js} +2 -2
  318. package/dist/core/{p-193afb53.entry.js.map → p-847cbb16.entry.js.map} +1 -1
  319. package/dist/core/{p-f3ccaa0b.entry.js → p-8e592393.entry.js} +2 -2
  320. package/dist/core/{p-f3ccaa0b.entry.js.map → p-8e592393.entry.js.map} +1 -1
  321. package/dist/core/p-9044539c.entry.js +2 -0
  322. package/dist/core/p-9044539c.entry.js.map +1 -0
  323. package/dist/core/{p-f4e7cae6.entry.js → p-90611726.entry.js} +2 -2
  324. package/dist/core/{p-f4e7cae6.entry.js.map → p-90611726.entry.js.map} +1 -1
  325. package/dist/core/p-96177a74.entry.js +2 -0
  326. package/dist/core/p-96177a74.entry.js.map +1 -0
  327. package/dist/core/{p-b00efb15.entry.js → p-9674b63f.entry.js} +2 -2
  328. package/dist/core/{p-b00efb15.entry.js.map → p-9674b63f.entry.js.map} +1 -1
  329. package/dist/core/{p-a27e1cee.entry.js → p-9a95f428.entry.js} +2 -2
  330. package/dist/core/p-9a95f428.entry.js.map +1 -0
  331. package/dist/core/{p-fb43abd6.entry.js → p-9ca147f3.entry.js} +2 -2
  332. package/dist/core/{p-fb43abd6.entry.js.map → p-9ca147f3.entry.js.map} +1 -1
  333. package/dist/core/{p-09c31ac6.entry.js → p-adde6c66.entry.js} +2 -2
  334. package/dist/core/{p-09c31ac6.entry.js.map → p-adde6c66.entry.js.map} +1 -1
  335. package/dist/core/{p-72b7051a.entry.js → p-af821831.entry.js} +2 -2
  336. package/dist/core/{p-72b7051a.entry.js.map → p-af821831.entry.js.map} +1 -1
  337. package/dist/core/{p-12e8dcdd.entry.js → p-afedcfdb.entry.js} +2 -2
  338. package/dist/core/{p-12e8dcdd.entry.js.map → p-afedcfdb.entry.js.map} +1 -1
  339. package/dist/core/{p-f098e531.entry.js → p-b4a2f6fa.entry.js} +2 -2
  340. package/dist/core/{p-f098e531.entry.js.map → p-b4a2f6fa.entry.js.map} +1 -1
  341. package/dist/core/p-b4bfaf8f.entry.js +2 -0
  342. package/dist/core/p-b4bfaf8f.entry.js.map +1 -0
  343. package/dist/core/{p-ea1de762.entry.js → p-b80b08ae.entry.js} +2 -2
  344. package/dist/core/p-b80b08ae.entry.js.map +1 -0
  345. package/dist/core/{p-63203e59.entry.js → p-ba75ed34.entry.js} +2 -2
  346. package/dist/core/{p-63203e59.entry.js.map → p-ba75ed34.entry.js.map} +1 -1
  347. package/dist/core/{p-15a81f32.entry.js → p-bd9a76d8.entry.js} +2 -2
  348. package/dist/core/{p-15a81f32.entry.js.map → p-bd9a76d8.entry.js.map} +1 -1
  349. package/dist/core/{p-10950727.entry.js → p-c3eddb99.entry.js} +2 -2
  350. package/dist/core/{p-10950727.entry.js.map → p-c3eddb99.entry.js.map} +1 -1
  351. package/dist/core/{p-eb958cc8.entry.js → p-c6c87e58.entry.js} +2 -2
  352. package/dist/core/{p-eb958cc8.entry.js.map → p-c6c87e58.entry.js.map} +1 -1
  353. package/dist/core/{p-c8ce7d60.entry.js → p-e00e67ff.entry.js} +2 -2
  354. package/dist/core/{p-c8ce7d60.entry.js.map → p-e00e67ff.entry.js.map} +1 -1
  355. package/dist/core/{p-069e758b.entry.js → p-e1920777.entry.js} +2 -2
  356. package/dist/core/p-e4551a38.entry.js +2 -0
  357. package/dist/core/p-e4551a38.entry.js.map +1 -0
  358. package/dist/core/{p-92936b49.entry.js → p-ef5b6622.entry.js} +2 -2
  359. package/dist/core/{p-0f22f41e.js → p-f48ce5f6.js} +2 -2
  360. package/dist/core/p-f48ce5f6.js.map +1 -0
  361. package/dist/core/{p-1ca62941.entry.js → p-f5cea10d.entry.js} +2 -2
  362. package/dist/core/{p-ffbf493f.entry.js → p-fd20470e.entry.js} +2 -2
  363. package/dist/core/p-fd20470e.entry.js.map +1 -0
  364. package/dist/core/p-fd7f3b58.entry.js +2 -0
  365. package/dist/core/p-fd7f3b58.entry.js.map +1 -0
  366. package/dist/esm/core.js +1 -1
  367. package/dist/esm/date-helpers-5723de08.js +86 -0
  368. package/dist/esm/{date-helpers-2b531c8c.js.map → date-helpers-5723de08.js.map} +1 -1
  369. package/dist/esm/{helpers-89cb996d.js → helpers-9f228880.js} +21 -21
  370. package/dist/esm/helpers-9f228880.js.map +1 -0
  371. package/dist/esm/ic-button_3.entry.js +5 -5
  372. package/dist/esm/ic-button_3.entry.js.map +1 -1
  373. package/dist/esm/ic-calendar_2.entry.js +2349 -0
  374. package/dist/esm/ic-calendar_2.entry.js.map +1 -0
  375. package/dist/esm/ic-card-horizontal.entry.js +6 -6
  376. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  377. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  378. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  379. package/dist/esm/ic-checkbox_3.entry.js +48 -17
  380. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  381. package/dist/esm/ic-data-list.entry.js +2 -2
  382. package/dist/esm/ic-data-list.entry.js.map +1 -1
  383. package/dist/esm/ic-data-row.entry.js +2 -2
  384. package/dist/esm/ic-data-row.entry.js.map +1 -1
  385. package/dist/esm/ic-data-table-title-bar.entry.js +4 -4
  386. package/dist/esm/ic-data-table.entry.js +10 -8
  387. package/dist/esm/ic-data-table.entry.js.map +1 -1
  388. package/dist/esm/ic-date-picker.entry.js +100 -856
  389. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  390. package/dist/esm/ic-dialog.entry.js +1 -1
  391. package/dist/esm/ic-dialog.entry.js.map +1 -1
  392. package/dist/esm/ic-footer-link.entry.js +2 -2
  393. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  394. package/dist/esm/ic-footer.entry.js +9 -5
  395. package/dist/esm/ic-footer.entry.js.map +1 -1
  396. package/dist/esm/ic-hero.entry.js +11 -6
  397. package/dist/esm/ic-hero.entry.js.map +1 -1
  398. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  399. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  400. package/dist/esm/ic-input-component-container_4.entry.js +12 -12
  401. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  402. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  403. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -1
  404. package/dist/esm/ic-layout-grid.entry.js +2 -2
  405. package/dist/esm/ic-layout-grid.entry.js.map +1 -1
  406. package/dist/esm/ic-link.entry.js +1 -1
  407. package/dist/esm/ic-link.entry.js.map +1 -1
  408. package/dist/esm/ic-menu-group.entry.js +1 -1
  409. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  410. package/dist/esm/ic-menu.entry.js +4 -4
  411. package/dist/esm/ic-menu.entry.js.map +1 -1
  412. package/dist/esm/ic-navigation-group.entry.js +2 -2
  413. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  414. package/dist/esm/ic-navigation-item.entry.js +1 -1
  415. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  416. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  417. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  418. package/dist/esm/ic-page-header.entry.js +6 -6
  419. package/dist/esm/ic-page-header.entry.js.map +1 -1
  420. package/dist/esm/ic-pagination_4.entry.js +18 -18
  421. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  422. package/dist/esm/ic-popover-menu.entry.js +4 -4
  423. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  424. package/dist/esm/ic-radio-group.entry.js +5 -5
  425. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  426. package/dist/esm/ic-radio-option.entry.js +9 -6
  427. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  428. package/dist/esm/ic-search-bar.entry.js +10 -10
  429. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  430. package/dist/esm/ic-section-container.entry.js +2 -2
  431. package/dist/esm/ic-section-container.entry.js.map +1 -1
  432. package/dist/esm/ic-side-navigation.entry.js +4 -4
  433. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  434. package/dist/esm/ic-skeleton.entry.js +2 -2
  435. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  436. package/dist/esm/ic-skip-link.entry.js +2 -2
  437. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  438. package/dist/esm/ic-status-tag.entry.js +2 -2
  439. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  440. package/dist/esm/ic-step.entry.js +13 -13
  441. package/dist/esm/ic-step.entry.js.map +1 -1
  442. package/dist/esm/ic-stepper.entry.js +2 -2
  443. package/dist/esm/ic-stepper.entry.js.map +1 -1
  444. package/dist/esm/ic-switch.entry.js +4 -4
  445. package/dist/esm/ic-switch.entry.js.map +1 -1
  446. package/dist/esm/ic-tab-context.entry.js +1 -1
  447. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  448. package/dist/esm/ic-tab-group.entry.js +2 -2
  449. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  450. package/dist/esm/ic-tab-panel.entry.js +2 -2
  451. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  452. package/dist/esm/ic-table-of-contents.entry.js +4 -4
  453. package/dist/esm/ic-theme.entry.js +1 -1
  454. package/dist/esm/ic-theme.entry.js.map +1 -1
  455. package/dist/esm/ic-time-input.entry.js +5 -5
  456. package/dist/esm/ic-time-input.entry.js.map +1 -1
  457. package/dist/esm/ic-toast-region.entry.js +1 -1
  458. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  459. package/dist/esm/ic-toast.entry.js +14 -6
  460. package/dist/esm/ic-toast.entry.js.map +1 -1
  461. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  462. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  463. package/dist/esm/ic-toggle-button.entry.js +2 -2
  464. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  465. package/dist/esm/ic-tree-item.entry.js +3 -3
  466. package/dist/esm/ic-tree-view.entry.js +4 -4
  467. package/dist/esm/index-a7a720e7.js +4 -4
  468. package/dist/esm/loader.js +1 -1
  469. package/dist/types/components/ic-calendar/ic-calendar.d.ts +216 -0
  470. package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +151 -0
  471. package/dist/types/components/ic-calendar/test/a11y/ic-calendar.test.a11y.d.ts +1 -0
  472. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +1 -2
  473. package/dist/types/components/ic-date-input/ic-date-input.d.ts +2 -2
  474. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +22 -105
  475. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +81 -0
  476. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +9 -1
  477. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +12 -0
  478. package/dist/types/components/ic-time-input/ic-time-input.d.ts +2 -2
  479. package/dist/types/components.d.ts +229 -14
  480. package/dist/types/utils/date-helpers.d.ts +1 -0
  481. package/dist/types/utils/types.d.ts +3 -0
  482. package/hydrate/index.js +6455 -5980
  483. package/hydrate/index.mjs +6455 -5980
  484. package/package.json +5 -5
  485. package/dist/cjs/helpers-da852478.js.map +0 -1
  486. package/dist/cjs/ic-date-input.cjs.entry.js +0 -1214
  487. package/dist/cjs/ic-date-input.cjs.entry.js.map +0 -1
  488. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +0 -1
  489. package/dist/collection/components/ic-date-picker/ic-month-picker.js +0 -29
  490. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +0 -1
  491. package/dist/collection/components/ic-date-picker/ic-year-picker.js +0 -39
  492. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +0 -1
  493. package/dist/core/p-035dbee0.entry.js +0 -2
  494. package/dist/core/p-035dbee0.entry.js.map +0 -1
  495. package/dist/core/p-03ae0bc3.entry.js +0 -2
  496. package/dist/core/p-03ae0bc3.entry.js.map +0 -1
  497. package/dist/core/p-0f22f41e.js.map +0 -1
  498. package/dist/core/p-13c8859b.entry.js +0 -2
  499. package/dist/core/p-13c8859b.entry.js.map +0 -1
  500. package/dist/core/p-2528ecec.entry.js +0 -2
  501. package/dist/core/p-2528ecec.entry.js.map +0 -1
  502. package/dist/core/p-402870f7.entry.js +0 -2
  503. package/dist/core/p-402870f7.entry.js.map +0 -1
  504. package/dist/core/p-7bf9bbde.entry.js +0 -2
  505. package/dist/core/p-7bf9bbde.entry.js.map +0 -1
  506. package/dist/core/p-982a173d.entry.js +0 -2
  507. package/dist/core/p-982a173d.entry.js.map +0 -1
  508. package/dist/core/p-9ce9d39a.entry.js +0 -2
  509. package/dist/core/p-9ce9d39a.entry.js.map +0 -1
  510. package/dist/core/p-a27e1cee.entry.js.map +0 -1
  511. package/dist/core/p-a8cc28a6.entry.js +0 -2
  512. package/dist/core/p-a8cc28a6.entry.js.map +0 -1
  513. package/dist/core/p-a99ad459.entry.js +0 -2
  514. package/dist/core/p-a99ad459.entry.js.map +0 -1
  515. package/dist/core/p-bd8c2e24.entry.js +0 -2
  516. package/dist/core/p-bd8c2e24.entry.js.map +0 -1
  517. package/dist/core/p-c0d4db72.entry.js +0 -2
  518. package/dist/core/p-c0d4db72.entry.js.map +0 -1
  519. package/dist/core/p-d144ca59.entry.js +0 -2
  520. package/dist/core/p-d144ca59.entry.js.map +0 -1
  521. package/dist/core/p-ea1de762.entry.js.map +0 -1
  522. package/dist/core/p-f16c4210.entry.js +0 -2
  523. package/dist/core/p-f16c4210.entry.js.map +0 -1
  524. package/dist/core/p-fad44bc8.entry.js +0 -2
  525. package/dist/core/p-fad44bc8.entry.js.map +0 -1
  526. package/dist/core/p-ffbf493f.entry.js.map +0 -1
  527. package/dist/esm/helpers-89cb996d.js.map +0 -1
  528. package/dist/esm/ic-date-input.entry.js +0 -1210
  529. package/dist/esm/ic-date-input.entry.js.map +0 -1
  530. /package/dist/collection/components/{ic-date-picker → ic-calendar}/ic-day-button.js +0 -0
  531. /package/dist/core/{p-df220b91.entry.js.map → p-3ef2e98d.entry.js.map} +0 -0
  532. /package/dist/core/{p-069e758b.entry.js.map → p-e1920777.entry.js.map} +0 -0
  533. /package/dist/core/{p-92936b49.entry.js.map → p-ef5b6622.entry.js.map} +0 -0
  534. /package/dist/core/{p-1ca62941.entry.js.map → p-f5cea10d.entry.js.map} +0 -0
  535. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-day-button.d.ts +0 -0
  536. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-month-picker.d.ts +0 -0
  537. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-year-picker.d.ts +0 -0
@@ -24,6 +24,14 @@ export class PaginationBar {
24
24
  * If `true`, the 'All' option will be hidden from the 'items per page' select input.
25
25
  */
26
26
  this.hideAllFromItemsPerPage = false;
27
+ /**
28
+ * If `true`, the current page of the simple pagination will not be displayed.
29
+ */
30
+ this.hideCurrentPage = false;
31
+ /**
32
+ * If `true`, the first and last page buttons will not be displayed.
33
+ */
34
+ this.hideFirstAndLastPageButton = false;
27
35
  /**
28
36
  * The text which will be used in place of 'Item' on the pagination bar.
29
37
  */
@@ -331,22 +339,22 @@ export class PaginationBar {
331
339
  this.changePage(page);
332
340
  }
333
341
  render() {
334
- const { alignment, displayedItemsPerPageOptions, PAGE_INPUT_FIELD_ID, type, rangeLabelType, hideRangeLabel, showItemsPerPageControl, showGoToPageControl, pageLabel, capitalizedPageLabel, lowerCasePageLabel, capitalizedItemLabel, lowerCaseItemLabel, totalPages, activePage, itemsPerPageString, theme, monochrome, selectItemsPerPageOnEnter, } = this;
335
- return (h(Host, { key: '1bdb283b4cee9f3b82bebdda9ee2a87a14f029f2', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '6e9f804d4cf83872dd4db5945544e87980bcfcd0', class: {
342
+ 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;
343
+ return (h(Host, { key: '9e58353122e7c4d900d8e05557b1ad455318193e', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '3b321296452318c0d4e6c6127de6c585d1685b79', class: {
336
344
  ["pagination-bar"]: true,
337
345
  [`pagination-bar-${alignment}`]: true,
338
- }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (h("div", { key: '55b793e9373472c650df949a6df6bd56a908c2d8', class: "item-controls" }, showItemsPerPageControl && (h("div", { key: 'e0dcc5cd7283b8efd7e336dc666d1a02f7521559', class: "items-per-page-holder" }, h("ic-typography", { key: 'fd22b1152361b3d34229f5216c46a26ccb7c83a1', class: {
346
+ }, 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: {
339
347
  ["items-per-page-control-label"]: true,
340
- }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), h("ic-select", { key: '9f9d68b2754533139e6296d4e82929a32f057a62', 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 &&
348
+ }, 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 &&
341
349
  (rangeLabelType === "data" ? (h("ic-typography", { class: {
342
350
  ["item-pagination-label"]: true,
343
351
  }, variant: "label", "aria-live": "polite" }, this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`, this.upperBound > 0 &&
344
352
  `${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${lowerCaseItemLabel}${this.totalItems > 1 ? "s" : ""}`)) : (h("ic-typography", { class: {
345
353
  ["page-pagination-label"]: true,
346
- }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", activePage, " of ", totalPages))))), h("div", { key: '672ad8420d478f014739114a908bb04925e6aeb9', class: {
354
+ }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", activePage, " of ", totalPages))))), h("div", { key: '9b488eaf711d15286be92a4b367d02f7e225a0c3', class: {
347
355
  ["pagination-controls"]: true,
348
356
  ["pagination-controls-wrap"]: this.paginationWrapped,
349
- } }, h("div", { key: 'cb935dfcb4c533fd6393ef3936d1c5e525c54a48', class: "pagination-holder" }, h("ic-pagination", { key: '13c998f882c64ceb7378d3946331e51615ac91bb', type: type, pages: totalPages, label: pageLabel, ref: (el) => (this.paginationEl = el), currentPage: activePage, theme: theme, monochrome: monochrome })), showGoToPageControl && (h("div", { key: '284fb3adcb71840ad3f5cd94e169c723e29e3c42', class: "go-to-page-holder" }, h("ic-typography", { key: '3573ec4a04fd9d4255cbdc9baa5af094d4fa4cf6', variant: "label", onClick: this.goToPageLabelClickHandler }, "Go to ", lowerCasePageLabel), h("ic-tooltip", { key: '6ec3806df8407e0a67cf88193b11bf91dae15d8f', label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, h("ic-text-field", { key: '2401a8ab487c1aea29e0faa17ad4b3aa04ee8d64', 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: 'ed1b6758582ba5ee2187048037989cf2e8441526', variant: "secondary", onClick: this.goToPage, size: "small", class: "go-to-page-button" }, "Go")))))));
357
+ } }, 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")))))));
350
358
  }
351
359
  static get is() { return "ic-pagination-bar"; }
352
360
  static get encapsulation() { return "shadow"; }
@@ -447,6 +455,46 @@ export class PaginationBar {
447
455
  "reflect": false,
448
456
  "defaultValue": "false"
449
457
  },
458
+ "hideCurrentPage": {
459
+ "type": "boolean",
460
+ "mutable": false,
461
+ "complexType": {
462
+ "original": "boolean",
463
+ "resolved": "boolean | undefined",
464
+ "references": {}
465
+ },
466
+ "required": false,
467
+ "optional": true,
468
+ "docs": {
469
+ "tags": [],
470
+ "text": "If `true`, the current page of the simple pagination will not be displayed."
471
+ },
472
+ "getter": false,
473
+ "setter": false,
474
+ "attribute": "hide-current-page",
475
+ "reflect": false,
476
+ "defaultValue": "false"
477
+ },
478
+ "hideFirstAndLastPageButton": {
479
+ "type": "boolean",
480
+ "mutable": false,
481
+ "complexType": {
482
+ "original": "boolean",
483
+ "resolved": "boolean | undefined",
484
+ "references": {}
485
+ },
486
+ "required": false,
487
+ "optional": true,
488
+ "docs": {
489
+ "tags": [],
490
+ "text": "If `true`, the first and last page buttons will not be displayed."
491
+ },
492
+ "getter": false,
493
+ "setter": false,
494
+ "attribute": "hide-first-and-last-page-button",
495
+ "reflect": false,
496
+ "defaultValue": "false"
497
+ },
450
498
  "itemLabel": {
451
499
  "type": "string",
452
500
  "mutable": false,
@@ -513,8 +561,8 @@ export class PaginationBar {
513
561
  "references": {
514
562
  "IcThemeMode": {
515
563
  "location": "import",
516
- "path": "@ukic/web-components",
517
- "id": "../web-components/dist/types/interface.d.ts::IcThemeMode"
564
+ "path": "../../utils/types",
565
+ "id": "src/utils/types.ts::IcThemeMode"
518
566
  }
519
567
  }
520
568
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ic-pagination-bar.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EACL,SAAS,EACT,IAAI,EACJ,OAAO,EACP,KAAK,EAEL,KAAK,EACL,MAAM,EACN,CAAC,EACD,KAAK,EACL,IAAI,GACL,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAgBtE,MAAM,OAAO,aAAa;IAL1B;QAMU,wBAAmB,GAAG,kBAAkB,CAAC;QAEzC,uBAAkB,GAAG,2BAA2B,CAAC;QAEjD,mBAAc,GAA0B,IAAI,CAAC;QAc5C,eAAU,GAAW,CAAC,CAAC;QAOvB,eAAU,GAAW,2BAA2B,CAAC;QAEjD,iBAAY,GAAW,EAAE,CAAC;QAE1B,uBAAkB,GAAW,IAAI,CAAC;QAElC,eAAU,GAAW,CAAC,CAAC;QAQvB,sBAAiB,GAAY,KAAK,CAAC;QAM5C;;WAEG;QACK,cAAS,GAAkC,OAAO,CAAC;QAE3D;;WAEG;QACK,gBAAW,GAAY,CAAC,CAAC;QAsCjC;;WAEG;QACK,4BAAuB,GAAa,KAAK,CAAC;QAElD;;WAEG;QACK,cAAS,GAAY,MAAM,CAAC;QA+BpC;;WAEG;QACK,eAAU,GAAa,KAAK,CAAC;QAErC;;WAEG;QACK,UAAK,GAAiB,SAAS,CAAC;QAExC;;WAEG;QACK,SAAI,GAAuB,QAAQ,CAAC;QAE5C;;WAEG;QACK,mBAAc,GAA4B,MAAM,CAAC;QAEzD;;WAEG;QACK,cAAS,GAAY,MAAM,CAAC;QAQpC;;WAEG;QACK,wBAAmB,GAAa,KAAK,CAAC;QAE9C;;WAEG;QACK,mBAAc,GAAa,KAAK,CAAC;QAEzC;;WAEG;QACK,8BAAyB,GAAY,IAAI,CAAC;QAElD;;WAEG;QACK,4BAAuB,GAAa,KAAK,CAAC;QAYlD;;WAEG;QACK,qCAAgC,GAAa,KAAK,CAAC;QAmDnD,4BAAuB,GAAG,CAChC,oBAA4B,EAC5B,+BAAmE,EAAE,EACrE,EAAE;YACF,MAAM,6BAA6B,GAAG,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,IAAI,CACtE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAC,OAAA,KAAK,MAAK,MAAA,IAAI,CAAC,oBAAoB,0CAAE,QAAQ,EAAE,CAAA,CAAA,EAAA,CAC/D,CAAC;YACF,IAAI,6BAA6B,EAAE,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,uCAAuC,IAAI,CAAC,oBAAoB,kBAAkB,CACnF,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC;QAEM,uBAAkB,GAAG,GAAG,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAExD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEM,eAAU,GAAG,CAAC,IAAY,EAAE,EAAE;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACzE,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,EAAiC,EAAE,EAAE;;YAC/D,MAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,aAAa,CAAC,EAAE,CAAC,0CAAE,QAAQ,EAAE,CAAC;QACtD,CAAC,CAAC;QAEM,aAAQ,GAAG,GAAG,EAAE;;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtB,MAAA,IAAI,CAAC,YAAY,0CAAE,cAAc,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACrD,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QAEM,8BAAyB,GAAG,GAAG,EAAE;YACvC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC,CAAC;QAEM,eAAU,GAAG,GAAG,EAAE;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU;gBACzC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9B,SAAS,CAAC,KAAK,KAAK,EAAE,EACtB,CAAC;gBACD,SAAS,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC;QAEM,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC;gBAClD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAEpD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC9D,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,EAAiB,EAAE,EAAE;YAC5C,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC;oBAClD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,EAAE,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,EAAiB,EAAE,EAAE;YAC1C,IACE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC9C,EAAE,CAAC,GAAG,KAAK,WAAW;gBACtB,EAAE,CAAC,GAAG,KAAK,OAAO;gBAClB,EAAE,CAAC,GAAG,KAAK,KAAK;gBAChB,EAAE,CAAC,GAAG,KAAK,OAAO,EAClB,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;gBACrE,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC;QAEM,kCAA6B,GAAG,GAAG,EAAE;YAC3C,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,CAAC;QAEM,yBAAoB,GAAG,GAAG,EAAE;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,EAAE,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;oBAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAgB,CAAC;oBAC9C,IACE,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE;wBACvC,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,EACxC,CAAC;wBACD,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;wBACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,CACtB,EAA0B,EAC1B,KAAa,EACb,KAAK,GAAG,IAAI,EACZ,EAAE;YACF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,EAAE,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAC9B,IAAI,KAAK;gBAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAG,EAAE;;YAC5B,MAAM,SAAS,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAA,IAAI,CAAC,YAAY,0CAAE,cAAc,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,QAAgB,EAAE,YAAY,GAAG,IAAI,EAAE,EAAE;;YAClE,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAC7B,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC9C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;oBAC7B,KAAK,EAAE,IAAI,CAAC,YAAY;oBACxB,YAAY;iBACb,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,gCAAgC,EAAE,CAAC;oBAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,UAAU;gBACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY;oBACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;oBAChD,CAAC,CAAC,CAAC,CAAC;YAER,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,MAAA,IAAI,CAAC,YAAY,0CAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAS,EAAE;YAC3C,MAAM,yBAAyB,GAGzB,IAAI,CAAC,mBAAmB;gBAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACtD,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,4BAA4B,GAChC,yBAAyB;gBACzB,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG;oBACrB,CAAC,CAAC;wBACE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;qBAC7B;oBACH,CAAC,CAAC;wBACE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC5B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;wBAC9B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;qBACjC,CAAC,CAAC;YAET,CAAC,IAAI,CAAC,uBAAuB;gBAC3B,4BAA4B,CAAC,IAAI,CAAC;oBAChC,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;iBAC/B,CAAC,CAAC;YAEL,IAAI,CAAC,4BAA4B,GAAG,4BAA4B,CAAC,MAAM,CACrE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,CAChD,CAAC;YAEF,IAAI,eAAe,GAAG,CAAC,CAAC;YAExB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;oBACnD,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChC,OAAO,IAAI,CAAC,mBAAmB,IAAI,eAAe,CAAC;gBACrD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,IACE,IAAI,CAAC,oBAAoB,KAAK,IAAI;oBAClC,IAAI,CAAC,oBAAoB,KAAK,SAAS,EACvC,CAAC;oBACD,IAAI,CAAC,uBAAuB,CAC1B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,4BAA4B,CAClC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;wBACnE,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;wBAChC,OAAO,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC;oBAC9C,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,eAAe,CAClB,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;wBAC1D,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,IAAI,CAAC,YAAY,EACrB,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,EACvC,IAAI,CAAC,UAAU,CAChB,CAAC;QACJ,CAAC,CAAC;KAiKH;IArlBC,sBAAsB;QACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7D,IACE,IAAI,CAAC,WAAW,GAAG,CAAC;gBACpB,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,EACvD,CAAC;gBACD,OAAO,CAAC,KAAK,CACX,qBAAqB,IAAI,CAAC,WAAW,6FAA6F,IAAI,CAAC,UAAU,GAAG,CACrJ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAQD,gCAAgC;QAC9B,IACE,IAAI,CAAC,oBAAoB,KAAK,IAAI;YAClC,IAAI,CAAC,oBAAoB,KAAK,SAAS,EACvC,CAAC;YACD,IAAI,CAAC,uBAAuB,CAC1B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,4BAA4B,CAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAaD,qBAAqB;QACnB,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;IAC1D,CAAC;IAWD,+BAA+B,CAC7B,MAGG,EACH,MAGG;QAEH,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO;QAC9D,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IA4BD,qBAAqB;QACnB,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;IAC1D,CAAC;IA4BD,sBAAsB;QACpB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAQD,qCAAqC;QACnC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAaD,oBAAoB;;QAClB,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,gBAAgB;;QACd,IAAI,CAAC,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,WAAW,KAAI,CAAC,CAAC;QAC9D,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CACjD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAC/B,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,0CAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5D,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;gBACjC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAGD,iBAAiB,CAAC,EAAe;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IA2PD,MAAM;QACJ,MAAM,EACJ,SAAS,EACT,4BAA4B,EAC5B,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,KAAK,EACL,UAAU,EACV,yBAAyB,GAC1B,GAAG,IAAI,CAAC;QAET,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,SAAS,EAAE;YACzD,4DACE,KAAK,EAAE;oBACL,CAAC,gBAAgB,CAAC,EAAE,IAAI;oBACxB,CAAC,kBAAkB,SAAS,EAAE,CAAC,EAAE,IAAI;iBACtC,EACD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAEvC,CAAC,CAAC,cAAc,IAAI,uBAAuB,CAAC,IAAI,CAC/C,4DAAK,KAAK,EAAC,eAAe;oBACvB,uBAAuB,IAAI,CAC1B,4DAAK,KAAK,EAAC,uBAAuB;wBAChC,sEACE,KAAK,EAAE;gCACL,CAAC,8BAA8B,CAAC,EAAE,IAAI;6BACvC,EACD,OAAO,EAAC,OAAO,EACf,OAAO,EAAE,IAAI,CAAC,6BAA6B;4BAE1C,oBAAoB;;4BAAQ,kBAAkB,CACjC;wBAChB,kEACE,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,sBAAsB,EAC5B,KAAK,EAAC,sBAAsB,EAC5B,SAAS,QACT,OAAO,EAAE,4BAA4B,EACrC,aAAa,EAAE,yBAAyB,EACxC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,IAAI,CAAC,kBAAkB,EACnC,GAAG,EAAE,CAAC,EAAuB,EAAE,EAAE,CAC/B,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,GAEjB,CACT,CACP;oBACA,CAAC,cAAc;wBACd,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,CAC3B,qBACE,KAAK,EAAE;gCACL,CAAC,uBAAuB,CAAC,EAAE,IAAI;6BAChC,EACD,OAAO,EAAC,OAAO,eACL,QAAQ;4BAEjB,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,kBAAkB,GAAG;4BACnD,IAAI,CAAC,UAAU,GAAG,CAAC;gCAClB,GAAG,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,UAAU,OACrC,IAAI,CAAC,UACP,IAAI,kBAAkB,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CACjB,CAAC,CAAC,CAAC,CACF,qBACE,KAAK,EAAE;gCACL,CAAC,uBAAuB,CAAC,EAAE,IAAI;6BAChC,EACD,OAAO,EAAC,OAAO,eACL,QAAQ;4BAEjB,oBAAoB;;4BAAG,UAAU;;4BAAM,UAAU,CACpC,CACjB,CAAC,CACA,CACP;gBACD,4DACE,KAAK,EAAE;wBACL,CAAC,qBAAqB,CAAC,EAAE,IAAI;wBAC7B,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,iBAAiB;qBACrD;oBAED,4DAAK,KAAK,EAAC,mBAAmB;wBAC5B,sEACE,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,CAAC,EAA2B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAC9D,WAAW,EAAE,UAAU,EACvB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,GACP,CACb;oBACL,mBAAmB,IAAI,CACtB,4DAAK,KAAK,EAAC,mBAAmB;wBAC5B,sEACE,OAAO,EAAC,OAAO,EACf,OAAO,EAAE,IAAI,CAAC,yBAAyB;;4BAEhC,kBAAkB,CACX;wBAChB,mEACE,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,MAAM,EAAE,IAAI,mBAAmB,EAAE,EACjC,YAAY,QACZ,YAAY,QACZ,GAAG,EAAE,CAAC,EAAwB,EAAE,EAAE,CAChC,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;4BAGhC,sEACE,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,mBAAmB,EAC1B,EAAE,EAAE,mBAAmB,EACvB,SAAS,QACT,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,GAAG,EAAE,UAAU,EACf,GAAG,EAAC,GAAG,EACP,wBAAwB,QACxB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,GAAG,EAAE,CAAC,EAA0B,EAAE,EAAE,CAClC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,GAEV,CACN;wBACb,kEACE,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,mBAAmB,SAGf,CACR,CACP,CACG,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/* 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 \"@ukic/web-components\";\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 * 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 } = 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 ></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"]}
1
+ {"version":3,"file":"ic-pagination-bar.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"names":[],"mappings":"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","sourcesContent":["/* 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"]}
@@ -237,4 +237,32 @@ export const SetCurrentPageToInvalidValue = {
237
237
  </div>`,
238
238
  name: "Set the current page to an invalid value",
239
239
  };
240
+ /**
241
+ * The buttons to go to the first and last pages can be hidden by setting the `hide-first-and-last-page-button` prop to `true`.
242
+ */
243
+ export const HideFirstAndLastPageButtons = {
244
+ render: () => html `<div style="height:150px">
245
+ <ic-pagination-bar
246
+ total-items="100"
247
+ show-items-per-page-control="true"
248
+ show-go-to-page-control="true"
249
+ hide-first-and-last-page-button="true"
250
+ ></ic-pagination-bar>
251
+ </div>`,
252
+ name: "Hide first and last page buttons",
253
+ };
254
+ /**
255
+ * When using the `simple` pagination type, the current page label can be hidden by setting the `hide-current-page` prop to `true`.
256
+ */
257
+ export const HideCurrentPage = {
258
+ render: () => html `<div style="height:150px">
259
+ <ic-pagination-bar
260
+ total-items="100"
261
+ show-items-per-page-control="true"
262
+ show-go-to-page-control="true"
263
+ hide-current-page="true"
264
+ ></ic-pagination-bar>
265
+ </div>`,
266
+ name: "Hide current page label",
267
+ };
240
268
  //# sourceMappingURL=ic-pagination-bar.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ic-pagination-bar.stories.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination-bar/ic-pagination-bar.stories.js"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { html } from \"lit-html\";\nimport readme from \"./readme.md\";\n\nexport default {\n title: \"Web Components/Pagination bar\",\n component: \"ic-pagination-bar\",\n parameters: {\n componentAPI: {\n data: readme,\n },\n },\n};\n\n/**\n * Use the pagination bar when large amounts of content are split across multiple pages and various pagination options are required.\n *\n * There is one required attribute for the pagination bar:\n * - total-items: `number`\n *\n * Click the 'Component API' tab to view all the available attributes, events and slots for pagination bar.\n *\n * To use the pagination bar component, import `@ukic/canary-web-components` into your application.\n */\nexport const Basic = {\n render: () => html`<ic-pagination-bar total-items=\"100\"></ic-pagination-bar>`,\n name: \"Basic\",\n};\n\n/**\n * Pagination bar will display the number of pages out of the total number of pages as well as the `simple` pagination type.\n *\n * By default, the items per page is set to 10. If the total items is greater than 100, the default items per page is set to 25.\n *\n * To display the items per page control, set the `show-items-per-page-control` attribute to `true`.\n *\n * The items per page control will display a dropdown with options to select the number of items to display per page. Customize the options by setting the `itemsPerPageOptions` property.\n * `itemsPerPageOptions` is an array of objects with `label` and `value` properties. If more than three options are provided, the dropdown will display the first three options and an 'All' option.\n */\nexport const ItemsPerPageControl = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n ></ic-pagination-bar>\n </div>\n <script>\n var paginationBar = document.querySelector(\"ic-pagination-bar\");\n paginationBar.itemsPerPageOptions = [\n { label: \"50\", value: \"50\" },\n { label: \"100\", value: \"100\" },\n { label: \"250\", value: \"250\" },\n ];\n </script>`,\n name: \"Items per page control\",\n};\n\n/**\n * To display the go to page control, set the `show-go-to-page-control` attribute to `true`. 'Go to page' allows the user to jump to a specific page. If the page number is invalid, the input will be styled in the `ic-status-error` colour with a tooltip detailing the error.\n */\nexport const GoToPageControl = {\n render: () => html`<div style=\"height: 120px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-go-to-page-control=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Go to page control\",\n};\n\n/**\n * The pagination range label type can be set to two types:\n * - `simple`: [default]: Display the total number of pages and the current page number.\n * - `data`: Displays the total number of items and the items range.\n *\n * The example below uses the `data` pagination range label type. The range is updated when the page is changed.\n */\nexport const PaginationRangeLabelType = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n range-label-type=\"data\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Pagination range label type\",\n};\n\n/**\n * 'Item' can be changed to a custom label by setting the `item-label` attribute. Any occurrences of 'Item' in the pagination bar will be replaced with the custom label.\n */\nexport const PaginationItemLabel = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n range-label-type=\"data\"\n item-label=\"Image\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Pagination item label\",\n};\n\n/**\n * The pagination type can be set to two types:\n * - `simple`: [default]: Display the current page as a label with back and next buttons.\n * - `complex`: Displays all the page numbers as buttons with back and next buttons.\n *\n * The `complex` pagination type is useful when there are many pages to navigate through.\n */\nexport const PaginationType = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n type=\"complex\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Pagination type\",\n};\n\n/**\n * The pagination elements can be aligned to the `right` (default), `left` or `space-between`. The default alignment is right.\n */\nexport const AlignmentLeft = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n alignment=\"left\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Alignment left\",\n};\n\nexport const AlignmentSpaceBetween = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n alignment=\"space-between\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Alignment space-between\",\n};\n\n/**\n * If the pagination bar becomes cluttered due to the number of pagination elements displayed, the range label can be hidden by setting the `hide-range-label` attribute to `true`.\n */\nexport const HideRangeLabel = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n hide-range-label=\"true\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Hide range label\",\n};\n\n/**\n * If you have a predefined list of items you want in the itemsPerPage select, the 'All' option can be hidden by setting `hide-all-from-items-per-page` to `true`.\n */\nexport const HideAllFromItemsPerPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n hide-all-from-items-per-page=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Hide 'All' from items per page\",\n};\n\n/**\n * When the 'items per page' value changes, setting `set-to-first-page-on-pagination-change` to `true` will set the pagination to the first page.\n */\nexport const SetToFirstPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n hide-all-from-items-per-page=\"true\"\n set-to-first-page-on-pagination-change=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set to first page when items per page changes\",\n};\n\n/**\n * The `selected-items-per-page` prop can be used to programmatically set the items per page dropdown option.\n */\nexport const SelectedItemsPerPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n selected-items-per-page=\"25\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set the selected items per page\",\n};\n\n/**\n * The `selected-items-per-page` prop can be used to programmatically set the items per page dropdown option. If provided, this prop must match one of the items per page dropdown options, otherwise an error appears on the console and the prop is ignored.\n */\nexport const SelectedItemsPerPageToInvalidValue = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n selected-items-per-page=\"25\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set the selected items per page to an invalid value\",\n};\n\n/**\n * The `current-page` prop can be used to programmatically set the current page.\n */\nexport const SetCurrentPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n current-page=\"3\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set the current page\",\n};\n\n/**\n * The `current-page` prop can be used to programmatically set the current page. If provided, this prop must be greater than 0 and less than or equal to the total number of pages, otherwise an error appears on the console and the prop is ignored.\n */\nexport const SetCurrentPageToInvalidValue = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n current-page=\"-1\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set the current page to an invalid value\",\n};\n"]}
1
+ {"version":3,"file":"ic-pagination-bar.stories.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination-bar/ic-pagination-bar.stories.js"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { html } from \"lit-html\";\nimport readme from \"./readme.md\";\n\nexport default {\n title: \"Web Components/Pagination bar\",\n component: \"ic-pagination-bar\",\n parameters: {\n componentAPI: {\n data: readme,\n },\n },\n};\n\n/**\n * Use the pagination bar when large amounts of content are split across multiple pages and various pagination options are required.\n *\n * There is one required attribute for the pagination bar:\n * - total-items: `number`\n *\n * Click the 'Component API' tab to view all the available attributes, events and slots for pagination bar.\n *\n * To use the pagination bar component, import `@ukic/canary-web-components` into your application.\n */\nexport const Basic = {\n render: () => html`<ic-pagination-bar total-items=\"100\"></ic-pagination-bar>`,\n name: \"Basic\",\n};\n\n/**\n * Pagination bar will display the number of pages out of the total number of pages as well as the `simple` pagination type.\n *\n * By default, the items per page is set to 10. If the total items is greater than 100, the default items per page is set to 25.\n *\n * To display the items per page control, set the `show-items-per-page-control` attribute to `true`.\n *\n * The items per page control will display a dropdown with options to select the number of items to display per page. Customize the options by setting the `itemsPerPageOptions` property.\n * `itemsPerPageOptions` is an array of objects with `label` and `value` properties. If more than three options are provided, the dropdown will display the first three options and an 'All' option.\n */\nexport const ItemsPerPageControl = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n ></ic-pagination-bar>\n </div>\n <script>\n var paginationBar = document.querySelector(\"ic-pagination-bar\");\n paginationBar.itemsPerPageOptions = [\n { label: \"50\", value: \"50\" },\n { label: \"100\", value: \"100\" },\n { label: \"250\", value: \"250\" },\n ];\n </script>`,\n name: \"Items per page control\",\n};\n\n/**\n * To display the go to page control, set the `show-go-to-page-control` attribute to `true`. 'Go to page' allows the user to jump to a specific page. If the page number is invalid, the input will be styled in the `ic-status-error` colour with a tooltip detailing the error.\n */\nexport const GoToPageControl = {\n render: () => html`<div style=\"height: 120px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-go-to-page-control=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Go to page control\",\n};\n\n/**\n * The pagination range label type can be set to two types:\n * - `simple`: [default]: Display the total number of pages and the current page number.\n * - `data`: Displays the total number of items and the items range.\n *\n * The example below uses the `data` pagination range label type. The range is updated when the page is changed.\n */\nexport const PaginationRangeLabelType = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n range-label-type=\"data\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Pagination range label type\",\n};\n\n/**\n * 'Item' can be changed to a custom label by setting the `item-label` attribute. Any occurrences of 'Item' in the pagination bar will be replaced with the custom label.\n */\nexport const PaginationItemLabel = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n range-label-type=\"data\"\n item-label=\"Image\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Pagination item label\",\n};\n\n/**\n * The pagination type can be set to two types:\n * - `simple`: [default]: Display the current page as a label with back and next buttons.\n * - `complex`: Displays all the page numbers as buttons with back and next buttons.\n *\n * The `complex` pagination type is useful when there are many pages to navigate through.\n */\nexport const PaginationType = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n type=\"complex\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Pagination type\",\n};\n\n/**\n * The pagination elements can be aligned to the `right` (default), `left` or `space-between`. The default alignment is right.\n */\nexport const AlignmentLeft = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n alignment=\"left\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Alignment left\",\n};\n\nexport const AlignmentSpaceBetween = {\n render: () => html`<div style=\"height: 150px;\">\n <ic-pagination-bar\n total-items=\"100\"\n alignment=\"space-between\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Alignment space-between\",\n};\n\n/**\n * If the pagination bar becomes cluttered due to the number of pagination elements displayed, the range label can be hidden by setting the `hide-range-label` attribute to `true`.\n */\nexport const HideRangeLabel = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n hide-range-label=\"true\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Hide range label\",\n};\n\n/**\n * If you have a predefined list of items you want in the itemsPerPage select, the 'All' option can be hidden by setting `hide-all-from-items-per-page` to `true`.\n */\nexport const HideAllFromItemsPerPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n hide-all-from-items-per-page=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Hide 'All' from items per page\",\n};\n\n/**\n * When the 'items per page' value changes, setting `set-to-first-page-on-pagination-change` to `true` will set the pagination to the first page.\n */\nexport const SetToFirstPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n hide-all-from-items-per-page=\"true\"\n set-to-first-page-on-pagination-change=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set to first page when items per page changes\",\n};\n\n/**\n * The `selected-items-per-page` prop can be used to programmatically set the items per page dropdown option.\n */\nexport const SelectedItemsPerPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n selected-items-per-page=\"25\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set the selected items per page\",\n};\n\n/**\n * The `selected-items-per-page` prop can be used to programmatically set the items per page dropdown option. If provided, this prop must match one of the items per page dropdown options, otherwise an error appears on the console and the prop is ignored.\n */\nexport const SelectedItemsPerPageToInvalidValue = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n selected-items-per-page=\"25\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set the selected items per page to an invalid value\",\n};\n\n/**\n * The `current-page` prop can be used to programmatically set the current page.\n */\nexport const SetCurrentPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n current-page=\"3\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set the current page\",\n};\n\n/**\n * The `current-page` prop can be used to programmatically set the current page. If provided, this prop must be greater than 0 and less than or equal to the total number of pages, otherwise an error appears on the console and the prop is ignored.\n */\nexport const SetCurrentPageToInvalidValue = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n current-page=\"-1\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Set the current page to an invalid value\",\n};\n\n/**\n * The buttons to go to the first and last pages can be hidden by setting the `hide-first-and-last-page-button` prop to `true`.\n */\nexport const HideFirstAndLastPageButtons = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n hide-first-and-last-page-button=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Hide first and last page buttons\",\n};\n\n/**\n * When using the `simple` pagination type, the current page label can be hidden by setting the `hide-current-page` prop to `true`.\n */\nexport const HideCurrentPage = {\n render: () => html`<div style=\"height:150px\">\n <ic-pagination-bar\n total-items=\"100\"\n show-items-per-page-control=\"true\"\n show-go-to-page-control=\"true\"\n hide-current-page=\"true\"\n ></ic-pagination-bar>\n </div>`,\n name: \"Hide current page label\",\n};\n"]}
@@ -310,10 +310,10 @@ export class TableOfContents {
310
310
  // Component is a wrapper for page contents, and will build list from heading items
311
311
  render() {
312
312
  const { heading, monochrome, position, size, theme } = this;
313
- return (h(Host, { key: 'c5c977f781772f014ec4b2df248fdc91c31f2087', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("ic-section-container", { key: 'aa5f4869224bcf56e4137b83e6143b7c93b8ccd3', class: TOC_CONTAINER_CLASS, aligned: "full-width" }, h("div", { key: '1f925229198cc923a0b02165b0000cf235435546', role: "navigation", class: `${TOC_CONTENT_CLASS} ${position === "top" && "table-of-contents-position-top"}
314
- ${position === "right" && "table-of-contents-position-side"}` }, h("ic-typography", { key: 'c7468f8c744f3838629f745d511049b01c97dc25', class: `table-of-contents-heading ${size}`, variant: "subtitle-large" }, heading), h("div", { key: 'c83b03e6eb43c042c6ca0d00e80be7666899a9d9', class: "table-of-contents-list" }, h("div", { key: '6febd41a740d97f38097f549606d05d726256dcc', class: `table-of-contents-sidebar ${monochrome && `table-of-contents-sidebar-monochrome`}
313
+ return (h(Host, { key: 'b92dba4d29b176dc877963ce0c3113568007847d', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("ic-section-container", { key: '86e9740eecc52ca907e39d7c3daf5ebc506b6c3b', class: TOC_CONTAINER_CLASS, aligned: "full-width" }, h("div", { key: '8a4cceab420909f0030c262839b4f6c2bbedf297', role: "navigation", class: `${TOC_CONTENT_CLASS} ${position === "top" && "table-of-contents-position-top"}
314
+ ${position === "right" && "table-of-contents-position-side"}` }, h("ic-typography", { key: 'd9dac6d2e62f2aadd177833418e85cb89ab2dade', class: `table-of-contents-heading ${size}`, variant: "subtitle-large" }, heading), h("div", { key: 'c88968311486981bde1093930757ea264d2bd919', class: "table-of-contents-list" }, h("div", { key: '0b8e21d4f1c8b8a4f4f4f91c8c3ae9ba859b9b5b', class: `table-of-contents-sidebar ${monochrome && `table-of-contents-sidebar-monochrome`}
315
315
  ${size}
316
- ` }), h("ol", { key: '6e2c7ac1c7e3509bb738d98e8770c38c290934dc', class: TOC_LIST_ITEMS_CLASS }, this.generateHeadingTree().map((item) => this.renderTocTree(item))))), h("slot", { key: '3c9722771d63819dc9039d872127e2a660bce17a' }))));
316
+ ` }), h("ol", { key: 'dc2216ce8e94c17ab0b2fe0b5644086eb90c4fd0', class: TOC_LIST_ITEMS_CLASS }, this.generateHeadingTree().map((item) => this.renderTocTree(item))))), h("slot", { key: 'e0a992d1de985fbe672aa7a33ed54efb5ec5de43' }))));
317
317
  }
318
318
  static get is() { return "ic-table-of-contents"; }
319
319
  static get encapsulation() { return "shadow"; }
@@ -907,23 +907,23 @@ export class TimeInput {
907
907
  !(isEmptyString(this.hour) &&
908
908
  isEmptyString(this.minute) &&
909
909
  isEmptyString(this.second)));
910
- return (h(Host, { key: '70275e6d87fd44a0c6b449e313803726e7fa337e', class: {
910
+ return (h(Host, { key: 'b4330a85fcd6bf99ace98ba735759e0e98ebea69', class: {
911
911
  [`ic-theme-${theme}`]: theme !== "inherit",
912
912
  [`ic-time-input-disabled`]: disabled,
913
913
  [`ic-time-input-${size}`]: true,
914
- }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: '6d3cf2806df41257f0f8dd3bd9bb91c1f5bdaf1f', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: '0761552c3fa5a94d72443ec5494ab186b3c3e353', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled }, h("slot", { key: 'e906eae8efa6fc82b6f64a45efdbdc0c23fdc502', name: "helper-text", slot: "helper-text" }))), h("span", { key: '9cb0f309a562f0bf233598f3504cb616e313f491', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: '4f6250ad410c17a07e1a89d4b83a71a041638f6c', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: 'eef1b223cbe4b5547f5574e156d65faef4d66d70', id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("ic-input-component-container", { key: 'aa93f30ce22009baafd38ee7fc850b33e050f214', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '1d51bd5db03ec6ddb6e8c38d74b4b7de10a38e69', class: "input-container" }, h("div", { key: 'd7886d7504735815d9ee330c7f694dfee26c41a4', class: "time-inputs" }, [
914
+ }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: 'e61ccf4dc81c26e14bf37e388aeb60fd25b4abd7', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: '7bda8a8034ae7b80594341f6924d561abcbbab90', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled }, h("slot", { key: 'da6a06701686398f4a44b71e76db5d02da897631', name: "helper-text", slot: "helper-text" }))), h("span", { key: '62e88d54d2f445778e96be67949b1a82fc272955', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: '0a80156ecc1ddf0dea39033cc78de875ab7fa532', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: '09d36876b7dc4d8050bcb0e7d39a0b008bab4a12', id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("ic-input-component-container", { key: '6bb2743ce8c211b4500d707bf0a2ce10245dc31c', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '02a184415c1f445340b3d4a3097b28a79cd258fe', class: "input-container" }, h("div", { key: 'a68248f5ad7a134ebe73456268b6f9cf07a35afa', class: "time-inputs" }, [
915
915
  this.getInputsInOrder()[0],
916
916
  ":",
917
917
  this.getInputsInOrder()[1],
918
918
  !this.isHHMMFormat()
919
919
  ? [":", this.getInputsInOrder()[2]]
920
920
  : null,
921
- ]), h("div", { key: '8d3519e278c0df75c4bbf89d3861748351e94918', class: "action-buttons" }, showClearButton && (h("ic-button", { key: '539e7c99fd6a3926f6e00ee0a1549ca5f5915f0e', id: "clear-button", "aria-label": "Clear input", class: {
921
+ ]), h("div", { key: '095391d922701f29a7debfd2482723fe05d1fdeb', class: "action-buttons" }, showClearButton && (h("ic-button", { key: '8690a529f57705b60ecbc3122925557803197ed8', id: "clear-button", "aria-label": "Clear input", class: {
922
922
  ["clear-button"]: true,
923
923
  ["hidden"]: isEmptyString(this.hour) &&
924
924
  isEmptyString(this.minute) &&
925
925
  isEmptyString(this.second),
926
- }, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showClockButton && (h("div", { key: '6fa17ab17ba75a71b83ee63b80e55ea73a973aec', class: "show-clock-button-wrapper" }, h("div", { key: '6077995f222607a590871cab77b8636f2d22057b', class: { divider: showDivider, [size]: true } }), h("ic-button", { key: '3d215eac6b36c366c3c6ec1768eff2488d33d9a3', id: "clock-button", "aria-label": "Display clock", "aria-haspopup": "dialog", class: "clock-button", disabled: this.disabled, innerHTML: Clock, variant: "icon-tertiary", size: size, onFocus: this.handleClockFocus, onBlur: this.handleClockBlur, theme: this.clockFocused ? "light" : "dark" })))))), h("span", { key: '257f1bdf46fff226a0f064503e7488f913be1038', id: this.selectedTimeInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: '30b0439bef6919bb91ad966905eb77a0100896b8', ref: (el) => (this.selectedTimeInfoEl = el), role: "status" })), h("ic-input-validation", { key: '6059c045ea76f0177a2834d7d06dbe3cc5cdcde3', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidTimeText, for: inputId, ariaLiveMode: validationAriaLive }))));
926
+ }, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showClockButton && (h("div", { key: '83fe94cb9dc7b16f70049b36644d62f714e03c6f', class: "show-clock-button-wrapper" }, h("div", { key: '34171a16f8058ad79af9ac3bfeb9c2aea06c0c91', class: { divider: showDivider, [size]: true } }), h("ic-button", { key: '3290691bc0e95d300e526052934efbc93e806e62', id: "clock-button", "aria-label": "Display clock", "aria-haspopup": "dialog", class: "clock-button", disabled: this.disabled, innerHTML: Clock, variant: "icon-tertiary", size: size, onFocus: this.handleClockFocus, onBlur: this.handleClockBlur, theme: this.clockFocused ? "light" : "dark" })))))), h("span", { key: 'b44af8625ff62cf77e8be3e88d62bcb411bd5dc0', id: this.selectedTimeInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: 'a68f8dac81536f4f14302d7be6151a20c7e92024', ref: (el) => (this.selectedTimeInfoEl = el), role: "status" })), h("ic-input-validation", { key: 'c152fd0a46420a430bb61f619dbbb395f1dd41cb', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidTimeText, for: inputId, ariaLiveMode: validationAriaLive }))));
927
927
  }
928
928
  static get is() { return "ic-time-input"; }
929
929
  static get encapsulation() { return "shadow"; }
@@ -1357,12 +1357,13 @@ export class TimeInput {
1357
1357
  "type": "string",
1358
1358
  "mutable": true,
1359
1359
  "complexType": {
1360
- "original": "string | Date | null | undefined",
1360
+ "original": "IcDateValueFormat",
1361
1361
  "resolved": "Date | null | string | undefined",
1362
1362
  "references": {
1363
- "Date": {
1364
- "location": "global",
1365
- "id": "global::Date"
1363
+ "IcDateValueFormat": {
1364
+ "location": "import",
1365
+ "path": "../../utils/types",
1366
+ "id": "src/utils/types.ts::IcDateValueFormat"
1366
1367
  }
1367
1368
  }
1368
1369
  },