@ukic/canary-web-components 3.0.0-canary.1 → 3.0.0-canary.10

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 (736) hide show
  1. package/README.md +3 -2
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-6817cfbb.js → helpers-02b23286.js} +65 -155
  4. package/dist/cjs/helpers-02b23286.js.map +1 -0
  5. package/dist/cjs/{helpers-33b42cd6.js → helpers-ce248d54.js} +80 -29
  6. package/dist/cjs/helpers-ce248d54.js.map +1 -0
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js +10 -10
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js +12 -5
  10. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-alert.cjs.entry.js +9 -14
  12. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js +8 -5
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-badge.cjs.entry.js +26 -3
  16. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +43 -20
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js +47 -3
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-button_3.cjs.entry.js +28 -26
  22. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-card-horizontal.cjs.entry.js +33 -35
  24. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js +48 -47
  26. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js +21 -6
  28. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-checkbox.cjs.entry.js +10 -4
  30. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-chip.cjs.entry.js +27 -15
  32. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +7 -7
  37. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-data-table.cjs.entry.js +378 -108
  39. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-date-input.cjs.entry.js +23 -18
  41. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-date-picker.cjs.entry.js +16 -5
  43. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-dialog.cjs.entry.js +13 -5
  45. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-divider.cjs.entry.js +73 -9
  47. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-empty-state_2.cjs.entry.js +101 -43
  49. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-footer-link-group.cjs.entry.js +6 -7
  51. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-footer-link.cjs.entry.js +7 -6
  53. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-footer.cjs.entry.js +24 -14
  55. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-hero.cjs.entry.js +7 -15
  57. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +17 -9
  59. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1016 -0
  61. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -0
  62. package/dist/cjs/ic-input-label_2.cjs.entry.js +82 -0
  63. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -0
  64. package/dist/cjs/ic-link.cjs.entry.js +10 -12
  65. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-menu-group.cjs.entry.js +3 -3
  67. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-menu-item.cjs.entry.js +25 -18
  69. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-navigation-button.cjs.entry.js +11 -8
  71. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-navigation-group.cjs.entry.js +10 -8
  73. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-navigation-item.cjs.entry.js +60 -8
  75. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -4
  77. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-page-header.cjs.entry.js +8 -6
  79. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-pagination_4.cjs.entry.js +267 -112
  81. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-popover-menu.cjs.entry.js +47 -25
  83. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-radio-group.cjs.entry.js +58 -28
  85. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-radio-option.cjs.entry.js +42 -22
  87. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-search-bar.cjs.entry.js +54 -56
  89. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js +16 -11
  91. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  93. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -4
  95. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-step.cjs.entry.js +4 -5
  97. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-stepper.cjs.entry.js +12 -2
  99. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-switch.cjs.entry.js +21 -16
  101. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-tab-context.cjs.entry.js +60 -123
  103. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -19
  105. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  107. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tab.cjs.entry.js +10 -8
  109. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-theme.cjs.entry.js +20 -20
  111. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  113. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +62 -12
  115. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toggle-button.cjs.entry.js +64 -9
  117. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-top-navigation.cjs.entry.js +13 -7
  119. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-tree-item.cjs.entry.js +22 -16
  121. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-tree-view.cjs.entry.js +45 -23
  123. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-typography.cjs.entry.js +5 -3
  125. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  126. package/dist/cjs/index-4cf27b16.js +4 -12
  127. package/dist/cjs/loader.cjs.js +1 -1
  128. package/dist/collection/collection-manifest.json +0 -2
  129. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +26 -26
  130. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +63 -38
  131. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  132. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +10 -0
  133. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -1
  134. package/dist/collection/components/ic-data-table/ic-data-table.css +177 -23
  135. package/dist/collection/components/ic-data-table/ic-data-table.js +480 -127
  136. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  137. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  138. package/dist/collection/components/ic-data-table/story-data.js +425 -7
  139. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  140. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +123 -2
  141. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  142. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +9 -4
  143. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +5 -5
  144. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
  145. package/dist/collection/components/ic-date-input/ic-date-input.css +74 -9
  146. package/dist/collection/components/ic-date-input/ic-date-input.js +67 -18
  147. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  148. package/dist/collection/components/ic-date-picker/ic-date-picker.css +18 -16
  149. package/dist/collection/components/ic-date-picker/ic-date-picker.js +59 -4
  150. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  151. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +4 -7
  152. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +213 -46
  153. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  154. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  155. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  156. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +20 -2
  157. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  158. package/dist/collection/components/ic-tree-item/ic-tree-item.css +51 -26
  159. package/dist/collection/components/ic-tree-item/ic-tree-item.js +84 -44
  160. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  161. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +3 -0
  162. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -1
  163. package/dist/collection/components/ic-tree-view/ic-tree-view.css +31 -8
  164. package/dist/collection/components/ic-tree-view/ic-tree-view.js +117 -37
  165. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  166. package/dist/collection/utils/helpers.js +53 -34
  167. package/dist/collection/utils/helpers.js.map +1 -1
  168. package/dist/collection/utils/types.js +6 -6
  169. package/dist/collection/utils/types.js.map +1 -1
  170. package/dist/components/helpers.js +73 -26
  171. package/dist/components/helpers.js.map +1 -1
  172. package/dist/components/helpers2.js +60 -145
  173. package/dist/components/helpers2.js.map +1 -1
  174. package/dist/components/ic-accordion-group.js +11 -11
  175. package/dist/components/ic-accordion-group.js.map +1 -1
  176. package/dist/components/ic-accordion.js +14 -6
  177. package/dist/components/ic-accordion.js.map +1 -1
  178. package/dist/components/ic-alert.js +12 -16
  179. package/dist/components/ic-alert.js.map +1 -1
  180. package/dist/components/ic-back-to-top.js +9 -5
  181. package/dist/components/ic-back-to-top.js.map +1 -1
  182. package/dist/components/ic-badge.js +28 -5
  183. package/dist/components/ic-badge.js.map +1 -1
  184. package/dist/components/ic-breadcrumb-group.js +44 -20
  185. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  186. package/dist/components/ic-breadcrumb2.js +49 -3
  187. package/dist/components/ic-breadcrumb2.js.map +1 -1
  188. package/dist/components/ic-button2.js +21 -20
  189. package/dist/components/ic-button2.js.map +1 -1
  190. package/dist/components/ic-card-horizontal.js +38 -37
  191. package/dist/components/ic-card-horizontal.js.map +1 -1
  192. package/dist/components/ic-card-vertical.js +54 -50
  193. package/dist/components/ic-card-vertical.js.map +1 -1
  194. package/dist/components/ic-checkbox-group.js +25 -7
  195. package/dist/components/ic-checkbox-group.js.map +1 -1
  196. package/dist/components/ic-checkbox.js +12 -4
  197. package/dist/components/ic-checkbox.js.map +1 -1
  198. package/dist/components/ic-chip.js +32 -16
  199. package/dist/components/ic-chip.js.map +1 -1
  200. package/dist/components/ic-classification-banner.js +1 -1
  201. package/dist/components/ic-classification-banner.js.map +1 -1
  202. package/dist/components/ic-data-row.js +1 -1
  203. package/dist/components/ic-data-table-title-bar.js +6 -6
  204. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  205. package/dist/components/ic-data-table.js +383 -108
  206. package/dist/components/ic-data-table.js.map +1 -1
  207. package/dist/components/ic-date-input2.js +26 -18
  208. package/dist/components/ic-date-input2.js.map +1 -1
  209. package/dist/components/ic-date-picker.js +19 -5
  210. package/dist/components/ic-date-picker.js.map +1 -1
  211. package/dist/components/ic-dialog.js +13 -4
  212. package/dist/components/ic-dialog.js.map +1 -1
  213. package/dist/components/ic-divider2.js +89 -12
  214. package/dist/components/ic-divider2.js.map +1 -1
  215. package/dist/components/ic-empty-state2.js +10 -17
  216. package/dist/components/ic-empty-state2.js.map +1 -1
  217. package/dist/components/ic-footer-link-group.js +7 -8
  218. package/dist/components/ic-footer-link-group.js.map +1 -1
  219. package/dist/components/ic-footer-link.js +8 -7
  220. package/dist/components/ic-footer-link.js.map +1 -1
  221. package/dist/components/ic-footer.js +25 -15
  222. package/dist/components/ic-footer.js.map +1 -1
  223. package/dist/components/ic-hero.js +9 -17
  224. package/dist/components/ic-hero.js.map +1 -1
  225. package/dist/components/ic-horizontal-scroll2.js +19 -9
  226. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  227. package/dist/components/ic-input-component-container2.js +23 -32
  228. package/dist/components/ic-input-component-container2.js.map +1 -1
  229. package/dist/components/ic-input-label2.js +19 -20
  230. package/dist/components/ic-input-label2.js.map +1 -1
  231. package/dist/components/ic-input-validation2.js +9 -9
  232. package/dist/components/ic-input-validation2.js.map +1 -1
  233. package/dist/components/ic-link2.js +13 -15
  234. package/dist/components/ic-link2.js.map +1 -1
  235. package/dist/components/ic-loading-indicator2.js +11 -9
  236. package/dist/components/ic-loading-indicator2.js.map +1 -1
  237. package/dist/components/ic-menu-group.js +2 -2
  238. package/dist/components/ic-menu-group.js.map +1 -1
  239. package/dist/components/ic-menu-item2.js +30 -21
  240. package/dist/components/ic-menu-item2.js.map +1 -1
  241. package/dist/components/ic-menu2.js +472 -175
  242. package/dist/components/ic-menu2.js.map +1 -1
  243. package/dist/components/ic-navigation-button.js +13 -9
  244. package/dist/components/ic-navigation-button.js.map +1 -1
  245. package/dist/components/ic-navigation-group.js +12 -9
  246. package/dist/components/ic-navigation-group.js.map +1 -1
  247. package/dist/components/ic-navigation-item.js +64 -10
  248. package/dist/components/ic-navigation-item.js.map +1 -1
  249. package/dist/components/ic-navigation-menu2.js +6 -4
  250. package/dist/components/ic-navigation-menu2.js.map +1 -1
  251. package/dist/components/ic-page-header.js +9 -6
  252. package/dist/components/ic-page-header.js.map +1 -1
  253. package/dist/components/ic-pagination-bar2.js +106 -32
  254. package/dist/components/ic-pagination-bar2.js.map +1 -1
  255. package/dist/components/ic-pagination-item2.js +15 -12
  256. package/dist/components/ic-pagination-item2.js.map +1 -1
  257. package/dist/components/ic-pagination2.js +25 -15
  258. package/dist/components/ic-pagination2.js.map +1 -1
  259. package/dist/components/ic-popover-menu.js +50 -26
  260. package/dist/components/ic-popover-menu.js.map +1 -1
  261. package/dist/components/ic-radio-group.js +61 -29
  262. package/dist/components/ic-radio-group.js.map +1 -1
  263. package/dist/components/ic-radio-option.js +45 -23
  264. package/dist/components/ic-radio-option.js.map +1 -1
  265. package/dist/components/ic-search-bar.js +70 -81
  266. package/dist/components/ic-search-bar.js.map +1 -1
  267. package/dist/components/ic-select2.js +196 -67
  268. package/dist/components/ic-select2.js.map +1 -1
  269. package/dist/components/ic-side-navigation.js +17 -12
  270. package/dist/components/ic-side-navigation.js.map +1 -1
  271. package/dist/components/ic-skeleton.js +5 -5
  272. package/dist/components/ic-skeleton.js.map +1 -1
  273. package/dist/components/ic-status-tag.js +5 -3
  274. package/dist/components/ic-status-tag.js.map +1 -1
  275. package/dist/components/ic-step.js +4 -4
  276. package/dist/components/ic-step.js.map +1 -1
  277. package/dist/components/ic-stepper.js +14 -3
  278. package/dist/components/ic-stepper.js.map +1 -1
  279. package/dist/components/ic-switch.js +24 -18
  280. package/dist/components/ic-switch.js.map +1 -1
  281. package/dist/components/ic-tab-context.js +60 -123
  282. package/dist/components/ic-tab-context.js.map +1 -1
  283. package/dist/components/ic-tab-group.js +2 -18
  284. package/dist/components/ic-tab-group.js.map +1 -1
  285. package/dist/components/ic-tab-panel.js +1 -1
  286. package/dist/components/ic-tab-panel.js.map +1 -1
  287. package/dist/components/ic-tab.js +10 -8
  288. package/dist/components/ic-tab.js.map +1 -1
  289. package/dist/components/ic-text-field2.js +46 -24
  290. package/dist/components/ic-text-field2.js.map +1 -1
  291. package/dist/components/ic-theme.js +22 -22
  292. package/dist/components/ic-theme.js.map +1 -1
  293. package/dist/components/ic-toast.js +4 -4
  294. package/dist/components/ic-toast.js.map +1 -1
  295. package/dist/components/ic-toggle-button-group.js +75 -14
  296. package/dist/components/ic-toggle-button-group.js.map +1 -1
  297. package/dist/components/ic-toggle-button.js +76 -17
  298. package/dist/components/ic-toggle-button.js.map +1 -1
  299. package/dist/components/ic-tooltip2.js +1 -1
  300. package/dist/components/ic-tooltip2.js.map +1 -1
  301. package/dist/components/ic-top-navigation.js +15 -8
  302. package/dist/components/ic-top-navigation.js.map +1 -1
  303. package/dist/components/ic-tree-item.js +27 -18
  304. package/dist/components/ic-tree-item.js.map +1 -1
  305. package/dist/components/ic-tree-view.js +54 -27
  306. package/dist/components/ic-tree-view.js.map +1 -1
  307. package/dist/components/ic-typography2.js +4 -2
  308. package/dist/components/ic-typography2.js.map +1 -1
  309. package/dist/core/core.css +1601 -77
  310. package/dist/core/core.esm.js +1 -1
  311. package/dist/core/core.esm.js.map +1 -1
  312. package/dist/core/p-0054bdc2.entry.js +2 -0
  313. package/dist/core/p-0054bdc2.entry.js.map +1 -0
  314. package/dist/core/p-01a23e24.entry.js +2 -0
  315. package/dist/core/p-01a23e24.entry.js.map +1 -0
  316. package/dist/core/{p-5f5403e2.entry.js → p-01ab3a15.entry.js} +2 -2
  317. package/dist/core/{p-5f5403e2.entry.js.map → p-01ab3a15.entry.js.map} +1 -1
  318. package/dist/core/p-063911a8.entry.js +2 -0
  319. package/dist/core/p-063911a8.entry.js.map +1 -0
  320. package/dist/core/{p-bf670360.entry.js → p-0c5d45e1.entry.js} +2 -2
  321. package/dist/core/p-0c5d45e1.entry.js.map +1 -0
  322. package/dist/core/p-0c9155f4.entry.js +2 -0
  323. package/dist/core/p-0c9155f4.entry.js.map +1 -0
  324. package/dist/core/p-14098257.entry.js +2 -0
  325. package/dist/core/p-14098257.entry.js.map +1 -0
  326. package/dist/core/p-157b47bc.entry.js +2 -0
  327. package/dist/core/p-157b47bc.entry.js.map +1 -0
  328. package/dist/core/{p-266341f5.entry.js → p-15a5cce5.entry.js} +2 -2
  329. package/dist/core/{p-266341f5.entry.js.map → p-15a5cce5.entry.js.map} +1 -1
  330. package/dist/core/{p-306def43.entry.js → p-1658e577.entry.js} +2 -2
  331. package/dist/core/p-1658e577.entry.js.map +1 -0
  332. package/dist/core/p-2169e75b.entry.js +2 -0
  333. package/dist/core/p-2169e75b.entry.js.map +1 -0
  334. package/dist/core/p-26aff39e.entry.js +2 -0
  335. package/dist/core/p-26aff39e.entry.js.map +1 -0
  336. package/dist/core/p-27b1223d.entry.js +2 -0
  337. package/dist/core/p-27b1223d.entry.js.map +1 -0
  338. package/dist/core/p-32726b89.entry.js +2 -0
  339. package/dist/core/p-32726b89.entry.js.map +1 -0
  340. package/dist/core/p-33110185.entry.js +2 -0
  341. package/dist/core/p-33110185.entry.js.map +1 -0
  342. package/dist/core/p-3963201d.entry.js +2 -0
  343. package/dist/core/p-3963201d.entry.js.map +1 -0
  344. package/dist/core/p-41bfa3e5.entry.js +2 -0
  345. package/dist/core/p-41bfa3e5.entry.js.map +1 -0
  346. package/dist/core/p-4347f05c.entry.js +2 -0
  347. package/dist/core/p-4347f05c.entry.js.map +1 -0
  348. package/dist/core/{p-d8563643.entry.js → p-45177148.entry.js} +2 -2
  349. package/dist/core/p-45177148.entry.js.map +1 -0
  350. package/dist/core/p-47a1ce8d.entry.js +2 -0
  351. package/dist/core/p-47a1ce8d.entry.js.map +1 -0
  352. package/dist/core/p-4f96bec1.entry.js +2 -0
  353. package/dist/core/p-4f96bec1.entry.js.map +1 -0
  354. package/dist/core/p-51058719.entry.js +2 -0
  355. package/dist/core/p-51058719.entry.js.map +1 -0
  356. package/dist/core/p-5193184c.entry.js +2 -0
  357. package/dist/core/p-5193184c.entry.js.map +1 -0
  358. package/dist/core/p-51faa4ba.entry.js +2 -0
  359. package/dist/core/p-51faa4ba.entry.js.map +1 -0
  360. package/dist/core/p-54dc696e.entry.js +2 -0
  361. package/dist/core/p-54dc696e.entry.js.map +1 -0
  362. package/dist/core/p-6188f029.entry.js +2 -0
  363. package/dist/core/p-6188f029.entry.js.map +1 -0
  364. package/dist/core/p-6ac8e09b.entry.js +2 -0
  365. package/dist/core/p-6ac8e09b.entry.js.map +1 -0
  366. package/dist/core/p-71496305.entry.js +2 -0
  367. package/dist/core/p-71496305.entry.js.map +1 -0
  368. package/dist/core/p-77157922.entry.js +2 -0
  369. package/dist/core/p-77157922.entry.js.map +1 -0
  370. package/dist/core/p-78ed3070.entry.js +2 -0
  371. package/dist/core/p-78ed3070.entry.js.map +1 -0
  372. package/dist/core/p-794ff553.entry.js +2 -0
  373. package/dist/core/p-794ff553.entry.js.map +1 -0
  374. package/dist/core/p-82b408ad.entry.js +2 -0
  375. package/dist/core/p-82b408ad.entry.js.map +1 -0
  376. package/dist/core/p-88913402.entry.js +2 -0
  377. package/dist/core/p-88913402.entry.js.map +1 -0
  378. package/dist/core/p-897fac99.js +2 -0
  379. package/dist/core/p-897fac99.js.map +1 -0
  380. package/dist/core/p-8e56516a.entry.js +2 -0
  381. package/dist/core/p-8e56516a.entry.js.map +1 -0
  382. package/dist/core/p-8ebd64ae.entry.js +2 -0
  383. package/dist/core/p-8ebd64ae.entry.js.map +1 -0
  384. package/dist/core/{p-c21d0db8.entry.js → p-9462f294.entry.js} +2 -2
  385. package/dist/core/p-9462f294.entry.js.map +1 -0
  386. package/dist/core/p-94efa0d2.entry.js +2 -0
  387. package/dist/core/p-94efa0d2.entry.js.map +1 -0
  388. package/dist/core/p-9a392c41.entry.js +2 -0
  389. package/dist/core/p-9a392c41.entry.js.map +1 -0
  390. package/dist/core/p-a04712b9.js +2 -0
  391. package/dist/core/p-a04712b9.js.map +1 -0
  392. package/dist/core/p-a1cf5884.entry.js +2 -0
  393. package/dist/core/p-a1cf5884.entry.js.map +1 -0
  394. package/dist/core/{p-73b40c79.entry.js → p-a1d5fff2.entry.js} +2 -2
  395. package/dist/core/p-a1d5fff2.entry.js.map +1 -0
  396. package/dist/core/p-a69ef3eb.entry.js +2 -0
  397. package/dist/core/p-a69ef3eb.entry.js.map +1 -0
  398. package/dist/core/p-abda7e21.entry.js +2 -0
  399. package/dist/core/p-abda7e21.entry.js.map +1 -0
  400. package/dist/core/p-abdd8560.entry.js +2 -0
  401. package/dist/core/p-abdd8560.entry.js.map +1 -0
  402. package/dist/core/p-ace8126b.entry.js +2 -0
  403. package/dist/core/p-ace8126b.entry.js.map +1 -0
  404. package/dist/core/p-b2a6f0dd.entry.js +2 -0
  405. package/dist/core/p-b2a6f0dd.entry.js.map +1 -0
  406. package/dist/core/p-b5a5fe39.entry.js +2 -0
  407. package/dist/core/p-b5a5fe39.entry.js.map +1 -0
  408. package/dist/core/{p-d03374fc.entry.js → p-b717ae40.entry.js} +2 -2
  409. package/dist/core/p-b85466a7.entry.js +2 -0
  410. package/dist/core/p-b85466a7.entry.js.map +1 -0
  411. package/dist/core/p-bd4401d5.entry.js +2 -0
  412. package/dist/core/p-bd4401d5.entry.js.map +1 -0
  413. package/dist/core/p-bd87bf33.entry.js +2 -0
  414. package/dist/core/p-bd87bf33.entry.js.map +1 -0
  415. package/dist/core/{p-5f313e1a.entry.js → p-be1ec9aa.entry.js} +2 -2
  416. package/dist/core/p-be1ec9aa.entry.js.map +1 -0
  417. package/dist/core/p-c035d7b9.entry.js +2 -0
  418. package/dist/core/p-c035d7b9.entry.js.map +1 -0
  419. package/dist/core/p-ce923b92.entry.js +2 -0
  420. package/dist/core/p-ce923b92.entry.js.map +1 -0
  421. package/dist/core/p-d2b2b7df.entry.js +2 -0
  422. package/dist/core/p-d2b2b7df.entry.js.map +1 -0
  423. package/dist/core/p-e1df1b9a.entry.js +2 -0
  424. package/dist/core/p-e1df1b9a.entry.js.map +1 -0
  425. package/dist/core/p-e3e0cf46.entry.js +2 -0
  426. package/dist/core/p-e3e0cf46.entry.js.map +1 -0
  427. package/dist/core/p-f3d2af04.entry.js +2 -0
  428. package/dist/core/p-f3d2af04.entry.js.map +1 -0
  429. package/dist/core/{p-f1072c28.entry.js → p-f64abdff.entry.js} +2 -2
  430. package/dist/core/p-f64abdff.entry.js.map +1 -0
  431. package/dist/core/p-fc155ae2.entry.js +2 -0
  432. package/dist/core/p-fc155ae2.entry.js.map +1 -0
  433. package/dist/core/p-ffb11ad1.entry.js +2 -0
  434. package/dist/core/p-ffb11ad1.entry.js.map +1 -0
  435. package/dist/esm/core.js +1 -1
  436. package/dist/esm/{helpers-5bd2012a.js → helpers-0f42cb46.js} +61 -146
  437. package/dist/esm/helpers-0f42cb46.js.map +1 -0
  438. package/dist/esm/{helpers-dab8ddfe.js → helpers-56c75bf4.js} +74 -27
  439. package/dist/esm/helpers-56c75bf4.js.map +1 -0
  440. package/dist/esm/ic-accordion-group.entry.js +10 -10
  441. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  442. package/dist/esm/ic-accordion.entry.js +12 -5
  443. package/dist/esm/ic-accordion.entry.js.map +1 -1
  444. package/dist/esm/ic-alert.entry.js +10 -15
  445. package/dist/esm/ic-alert.entry.js.map +1 -1
  446. package/dist/esm/ic-back-to-top.entry.js +9 -6
  447. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  448. package/dist/esm/ic-badge.entry.js +26 -3
  449. package/dist/esm/ic-badge.entry.js.map +1 -1
  450. package/dist/esm/ic-breadcrumb-group.entry.js +43 -20
  451. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  452. package/dist/esm/ic-breadcrumb.entry.js +47 -3
  453. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  454. package/dist/esm/ic-button_3.entry.js +28 -26
  455. package/dist/esm/ic-button_3.entry.js.map +1 -1
  456. package/dist/esm/ic-card-horizontal.entry.js +34 -36
  457. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  458. package/dist/esm/ic-card-vertical.entry.js +49 -48
  459. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  460. package/dist/esm/ic-checkbox-group.entry.js +21 -6
  461. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  462. package/dist/esm/ic-checkbox.entry.js +10 -4
  463. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  464. package/dist/esm/ic-chip.entry.js +28 -16
  465. package/dist/esm/ic-chip.entry.js.map +1 -1
  466. package/dist/esm/ic-classification-banner.entry.js +1 -1
  467. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  468. package/dist/esm/ic-data-row.entry.js +1 -1
  469. package/dist/esm/ic-data-table-title-bar.entry.js +7 -7
  470. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  471. package/dist/esm/ic-data-table.entry.js +378 -108
  472. package/dist/esm/ic-data-table.entry.js.map +1 -1
  473. package/dist/esm/ic-date-input.entry.js +23 -18
  474. package/dist/esm/ic-date-input.entry.js.map +1 -1
  475. package/dist/esm/ic-date-picker.entry.js +16 -5
  476. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  477. package/dist/esm/ic-dialog.entry.js +13 -5
  478. package/dist/esm/ic-dialog.entry.js.map +1 -1
  479. package/dist/esm/ic-divider.entry.js +74 -10
  480. package/dist/esm/ic-divider.entry.js.map +1 -1
  481. package/dist/esm/ic-empty-state_2.entry.js +102 -44
  482. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  483. package/dist/esm/ic-footer-link-group.entry.js +6 -7
  484. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  485. package/dist/esm/ic-footer-link.entry.js +7 -6
  486. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  487. package/dist/esm/ic-footer.entry.js +24 -14
  488. package/dist/esm/ic-footer.entry.js.map +1 -1
  489. package/dist/esm/ic-hero.entry.js +8 -16
  490. package/dist/esm/ic-hero.entry.js.map +1 -1
  491. package/dist/esm/ic-horizontal-scroll.entry.js +17 -9
  492. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  493. package/dist/{collection/components/ic-menu-with-multi/ic-menu.js → esm/ic-input-component-container_3.entry.js} +173 -739
  494. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -0
  495. package/dist/esm/ic-input-label_2.entry.js +77 -0
  496. package/dist/esm/ic-input-label_2.entry.js.map +1 -0
  497. package/dist/esm/ic-link.entry.js +10 -12
  498. package/dist/esm/ic-link.entry.js.map +1 -1
  499. package/dist/esm/ic-menu-group.entry.js +3 -3
  500. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  501. package/dist/esm/ic-menu-item.entry.js +25 -18
  502. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  503. package/dist/esm/ic-navigation-button.entry.js +11 -8
  504. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  505. package/dist/esm/ic-navigation-group.entry.js +10 -8
  506. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  507. package/dist/esm/ic-navigation-item.entry.js +61 -9
  508. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  509. package/dist/esm/ic-navigation-menu.entry.js +5 -4
  510. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  511. package/dist/esm/ic-page-header.entry.js +8 -6
  512. package/dist/esm/ic-page-header.entry.js.map +1 -1
  513. package/dist/esm/ic-pagination_4.entry.js +267 -112
  514. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  515. package/dist/esm/ic-popover-menu.entry.js +47 -25
  516. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  517. package/dist/esm/ic-radio-group.entry.js +58 -28
  518. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  519. package/dist/esm/ic-radio-option.entry.js +42 -22
  520. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  521. package/dist/esm/ic-search-bar.entry.js +54 -56
  522. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  523. package/dist/esm/ic-side-navigation.entry.js +16 -11
  524. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  525. package/dist/esm/ic-skeleton.entry.js +4 -4
  526. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  527. package/dist/esm/ic-status-tag.entry.js +5 -4
  528. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  529. package/dist/esm/ic-step.entry.js +4 -5
  530. package/dist/esm/ic-step.entry.js.map +1 -1
  531. package/dist/esm/ic-stepper.entry.js +12 -2
  532. package/dist/esm/ic-stepper.entry.js.map +1 -1
  533. package/dist/esm/ic-switch.entry.js +21 -16
  534. package/dist/esm/ic-switch.entry.js.map +1 -1
  535. package/dist/esm/ic-tab-context.entry.js +60 -123
  536. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  537. package/dist/esm/ic-tab-group.entry.js +3 -19
  538. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  539. package/dist/esm/ic-tab-panel.entry.js +2 -2
  540. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  541. package/dist/esm/ic-tab.entry.js +10 -8
  542. package/dist/esm/ic-tab.entry.js.map +1 -1
  543. package/dist/esm/ic-theme.entry.js +20 -20
  544. package/dist/esm/ic-theme.entry.js.map +1 -1
  545. package/dist/esm/ic-toast.entry.js +4 -4
  546. package/dist/esm/ic-toast.entry.js.map +1 -1
  547. package/dist/esm/ic-toggle-button-group.entry.js +62 -12
  548. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  549. package/dist/esm/ic-toggle-button.entry.js +64 -9
  550. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  551. package/dist/esm/ic-top-navigation.entry.js +13 -7
  552. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  553. package/dist/esm/ic-tree-item.entry.js +23 -17
  554. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  555. package/dist/esm/ic-tree-view.entry.js +46 -24
  556. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  557. package/dist/esm/ic-typography.entry.js +5 -3
  558. package/dist/esm/ic-typography.entry.js.map +1 -1
  559. package/dist/esm/index-93509377.js +4 -12
  560. package/dist/esm/loader.js +1 -1
  561. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +8 -4
  562. package/dist/types/components/ic-data-table/ic-data-table.d.ts +50 -5
  563. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +11 -0
  564. package/dist/types/components/ic-data-table/story-data.d.ts +223 -0
  565. package/dist/types/components/ic-date-input/ic-date-input.d.ts +10 -1
  566. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +10 -1
  567. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +33 -8
  568. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +4 -0
  569. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +16 -7
  570. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +19 -5
  571. package/dist/types/components.d.ts +189 -488
  572. package/dist/types/utils/helpers.d.ts +14 -11
  573. package/dist/types/utils/types.d.ts +17 -12
  574. package/hydrate/index.js +5118 -7475
  575. package/package.json +12 -10
  576. package/dist/cjs/helpers-33b42cd6.js.map +0 -1
  577. package/dist/cjs/helpers-6817cfbb.js.map +0 -1
  578. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +0 -156
  579. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +0 -1
  580. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +0 -2738
  581. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +0 -1
  582. package/dist/cjs/ic-menu.cjs.entry.js +0 -658
  583. package/dist/cjs/ic-menu.cjs.entry.js.map +0 -1
  584. package/dist/cjs/ic-select-with-multi.cjs.entry.js +0 -788
  585. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +0 -1
  586. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +0 -712
  587. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +0 -1
  588. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +0 -1057
  589. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +0 -1
  590. package/dist/collection/components/ic-select-with-multi/assets/Check.svg +0 -3
  591. package/dist/collection/components/ic-select-with-multi/assets/Clear.svg +0 -3
  592. package/dist/collection/components/ic-select-with-multi/assets/Expand.svg +0 -3
  593. package/dist/collection/components/ic-select-with-multi/ic-select.css +0 -695
  594. package/dist/collection/components/ic-select-with-multi/ic-select.js +0 -1520
  595. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +0 -1
  596. package/dist/collection/components/ic-select-with-multi/story-data.js +0 -216
  597. package/dist/collection/components/ic-select-with-multi/story-data.js.map +0 -1
  598. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +0 -1518
  599. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +0 -1
  600. package/dist/components/ic-menu-with-multi.d.ts +0 -11
  601. package/dist/components/ic-menu-with-multi.js +0 -8
  602. package/dist/components/ic-menu-with-multi.js.map +0 -1
  603. package/dist/components/ic-menu3.js +0 -2803
  604. package/dist/components/ic-menu3.js.map +0 -1
  605. package/dist/components/ic-select-with-multi.d.ts +0 -11
  606. package/dist/components/ic-select-with-multi.js +0 -906
  607. package/dist/components/ic-select-with-multi.js.map +0 -1
  608. package/dist/core/p-06eeb7f2.entry.js +0 -2
  609. package/dist/core/p-06eeb7f2.entry.js.map +0 -1
  610. package/dist/core/p-0922c552.entry.js +0 -2
  611. package/dist/core/p-0922c552.entry.js.map +0 -1
  612. package/dist/core/p-0bc0e852.entry.js +0 -2
  613. package/dist/core/p-0bc0e852.entry.js.map +0 -1
  614. package/dist/core/p-108a9029.entry.js +0 -2
  615. package/dist/core/p-108a9029.entry.js.map +0 -1
  616. package/dist/core/p-13100d3c.entry.js +0 -2
  617. package/dist/core/p-13100d3c.entry.js.map +0 -1
  618. package/dist/core/p-1769df1d.entry.js +0 -2
  619. package/dist/core/p-1769df1d.entry.js.map +0 -1
  620. package/dist/core/p-202bc922.entry.js +0 -2
  621. package/dist/core/p-202bc922.entry.js.map +0 -1
  622. package/dist/core/p-297e99cf.js +0 -2
  623. package/dist/core/p-297e99cf.js.map +0 -1
  624. package/dist/core/p-306def43.entry.js.map +0 -1
  625. package/dist/core/p-30b046b2.entry.js +0 -2
  626. package/dist/core/p-30b046b2.entry.js.map +0 -1
  627. package/dist/core/p-3778cc5e.entry.js +0 -2
  628. package/dist/core/p-3778cc5e.entry.js.map +0 -1
  629. package/dist/core/p-383a5a76.entry.js +0 -2
  630. package/dist/core/p-383a5a76.entry.js.map +0 -1
  631. package/dist/core/p-3a0510e2.entry.js +0 -2
  632. package/dist/core/p-3a0510e2.entry.js.map +0 -1
  633. package/dist/core/p-3ace51f5.entry.js +0 -2
  634. package/dist/core/p-3ace51f5.entry.js.map +0 -1
  635. package/dist/core/p-3f0391c1.entry.js +0 -2
  636. package/dist/core/p-3f0391c1.entry.js.map +0 -1
  637. package/dist/core/p-41fecc61.entry.js +0 -2
  638. package/dist/core/p-41fecc61.entry.js.map +0 -1
  639. package/dist/core/p-46cb94a2.entry.js +0 -2
  640. package/dist/core/p-46cb94a2.entry.js.map +0 -1
  641. package/dist/core/p-4e67f127.entry.js +0 -2
  642. package/dist/core/p-4e67f127.entry.js.map +0 -1
  643. package/dist/core/p-505250cf.entry.js +0 -2
  644. package/dist/core/p-505250cf.entry.js.map +0 -1
  645. package/dist/core/p-50e48f4d.entry.js +0 -2
  646. package/dist/core/p-50e48f4d.entry.js.map +0 -1
  647. package/dist/core/p-56e7459a.entry.js +0 -2
  648. package/dist/core/p-56e7459a.entry.js.map +0 -1
  649. package/dist/core/p-59028160.entry.js +0 -2
  650. package/dist/core/p-59028160.entry.js.map +0 -1
  651. package/dist/core/p-5cfb5821.entry.js +0 -2
  652. package/dist/core/p-5cfb5821.entry.js.map +0 -1
  653. package/dist/core/p-5e6fd734.entry.js +0 -2
  654. package/dist/core/p-5e6fd734.entry.js.map +0 -1
  655. package/dist/core/p-5f313e1a.entry.js.map +0 -1
  656. package/dist/core/p-710c6a42.entry.js +0 -2
  657. package/dist/core/p-710c6a42.entry.js.map +0 -1
  658. package/dist/core/p-73b40c79.entry.js.map +0 -1
  659. package/dist/core/p-77a32de5.entry.js +0 -2
  660. package/dist/core/p-77a32de5.entry.js.map +0 -1
  661. package/dist/core/p-7a9de008.entry.js +0 -2
  662. package/dist/core/p-7a9de008.entry.js.map +0 -1
  663. package/dist/core/p-801414e2.entry.js +0 -2
  664. package/dist/core/p-801414e2.entry.js.map +0 -1
  665. package/dist/core/p-82ba744d.entry.js +0 -2
  666. package/dist/core/p-82ba744d.entry.js.map +0 -1
  667. package/dist/core/p-897b8d16.entry.js +0 -2
  668. package/dist/core/p-897b8d16.entry.js.map +0 -1
  669. package/dist/core/p-9397b15b.js +0 -2
  670. package/dist/core/p-9397b15b.js.map +0 -1
  671. package/dist/core/p-9af6adb1.entry.js +0 -2
  672. package/dist/core/p-9af6adb1.entry.js.map +0 -1
  673. package/dist/core/p-9b54feca.entry.js +0 -2
  674. package/dist/core/p-9b54feca.entry.js.map +0 -1
  675. package/dist/core/p-a57cd616.entry.js +0 -2
  676. package/dist/core/p-a57cd616.entry.js.map +0 -1
  677. package/dist/core/p-a5eaed1a.entry.js +0 -2
  678. package/dist/core/p-a5eaed1a.entry.js.map +0 -1
  679. package/dist/core/p-a78cf2cb.entry.js +0 -2
  680. package/dist/core/p-a78cf2cb.entry.js.map +0 -1
  681. package/dist/core/p-a91340b4.entry.js +0 -2
  682. package/dist/core/p-a91340b4.entry.js.map +0 -1
  683. package/dist/core/p-aee8d45b.entry.js +0 -2
  684. package/dist/core/p-aee8d45b.entry.js.map +0 -1
  685. package/dist/core/p-badd4c8d.entry.js +0 -2
  686. package/dist/core/p-badd4c8d.entry.js.map +0 -1
  687. package/dist/core/p-bf670360.entry.js.map +0 -1
  688. package/dist/core/p-c033e7d6.entry.js +0 -2
  689. package/dist/core/p-c033e7d6.entry.js.map +0 -1
  690. package/dist/core/p-c07af2d8.entry.js +0 -2
  691. package/dist/core/p-c07af2d8.entry.js.map +0 -1
  692. package/dist/core/p-c21d0db8.entry.js.map +0 -1
  693. package/dist/core/p-c678f73d.entry.js +0 -2
  694. package/dist/core/p-c678f73d.entry.js.map +0 -1
  695. package/dist/core/p-c6ae9bad.entry.js +0 -2
  696. package/dist/core/p-c6ae9bad.entry.js.map +0 -1
  697. package/dist/core/p-c6c1e08e.entry.js +0 -2
  698. package/dist/core/p-c6c1e08e.entry.js.map +0 -1
  699. package/dist/core/p-cb6cebdd.entry.js +0 -2
  700. package/dist/core/p-cb6cebdd.entry.js.map +0 -1
  701. package/dist/core/p-d16f364a.entry.js +0 -2
  702. package/dist/core/p-d16f364a.entry.js.map +0 -1
  703. package/dist/core/p-d239c33b.entry.js +0 -2
  704. package/dist/core/p-d239c33b.entry.js.map +0 -1
  705. package/dist/core/p-d8563643.entry.js.map +0 -1
  706. package/dist/core/p-da40757f.entry.js +0 -2
  707. package/dist/core/p-da40757f.entry.js.map +0 -1
  708. package/dist/core/p-de052137.entry.js +0 -2
  709. package/dist/core/p-de052137.entry.js.map +0 -1
  710. package/dist/core/p-e5d99316.entry.js +0 -2
  711. package/dist/core/p-e5d99316.entry.js.map +0 -1
  712. package/dist/core/p-e89bb650.entry.js +0 -2
  713. package/dist/core/p-e89bb650.entry.js.map +0 -1
  714. package/dist/core/p-f1072c28.entry.js.map +0 -1
  715. package/dist/core/p-f37df214.entry.js +0 -2
  716. package/dist/core/p-f37df214.entry.js.map +0 -1
  717. package/dist/core/p-f743b0eb.entry.js +0 -2
  718. package/dist/core/p-f743b0eb.entry.js.map +0 -1
  719. package/dist/core/p-f98b1afc.entry.js +0 -2
  720. package/dist/core/p-f98b1afc.entry.js.map +0 -1
  721. package/dist/core/p-fe13f1ba.entry.js +0 -2
  722. package/dist/core/p-fe13f1ba.entry.js.map +0 -1
  723. package/dist/esm/helpers-5bd2012a.js.map +0 -1
  724. package/dist/esm/helpers-dab8ddfe.js.map +0 -1
  725. package/dist/esm/ic-input-component-container_4.entry.js +0 -149
  726. package/dist/esm/ic-input-component-container_4.entry.js.map +0 -1
  727. package/dist/esm/ic-menu-with-multi.entry.js +0 -2734
  728. package/dist/esm/ic-menu-with-multi.entry.js.map +0 -1
  729. package/dist/esm/ic-menu.entry.js +0 -654
  730. package/dist/esm/ic-menu.entry.js.map +0 -1
  731. package/dist/esm/ic-select-with-multi.entry.js +0 -784
  732. package/dist/esm/ic-select-with-multi.entry.js.map +0 -1
  733. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +0 -214
  734. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +0 -259
  735. package/dist/types/components/ic-select-with-multi/story-data.d.ts +0 -32
  736. /package/dist/core/{p-d03374fc.entry.js.map → p-b717ae40.entry.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { h, } from "@stencil/core";
1
+ import { h, Host, } from "@stencil/core";
2
2
  import { checkResizeObserver, capitalize } from "../../utils/helpers";
3
3
  export class PaginationBar {
4
4
  constructor() {
@@ -9,7 +9,7 @@ export class PaginationBar {
9
9
  this.setItemsPerPage(Number(this.pageDropdownEl.value));
10
10
  };
11
11
  this.changePage = (page) => {
12
- this.currentPage = page;
12
+ this.activePage = page;
13
13
  this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;
14
14
  this.setUpperBound();
15
15
  };
@@ -18,12 +18,13 @@ export class PaginationBar {
18
18
  (_a = this.paginationBarEl.querySelector(el)) === null || _a === void 0 ? void 0 : _a.setFocus();
19
19
  };
20
20
  this.goToPage = () => {
21
+ var _a;
21
22
  const input = this.pageInputEl;
22
23
  const page = Number(input.value);
23
24
  if (page <= this.totalPages && page > 0) {
24
25
  this.changePage(page);
25
- this.paginationEl.setCurrentPage(page);
26
- this.currentPage = page;
26
+ (_a = this.paginationEl) === null || _a === void 0 ? void 0 : _a.setCurrentPage(page);
27
+ this.activePage = page;
27
28
  input.value = "";
28
29
  this.icPageChange.emit({ value: page });
29
30
  this.pageInputTooltipEl.displayTooltip(false, false);
@@ -106,26 +107,40 @@ export class PaginationBar {
106
107
  if (focus)
107
108
  el.setFocus();
108
109
  };
110
+ this.setToFirstPage = () => {
111
+ var _a;
112
+ const firstPage = 1;
113
+ this.changePage(firstPage);
114
+ (_a = this.paginationEl) === null || _a === void 0 ? void 0 : _a.setCurrentPage(firstPage);
115
+ this.activePage = firstPage;
116
+ this.icPageChange.emit({ value: firstPage });
117
+ };
109
118
  this.setItemsPerPage = (newValue) => {
119
+ var _a;
110
120
  if (this.itemsPerPage !== newValue) {
111
121
  this.itemsPerPage = newValue;
112
122
  this.itemsPerPageString = newValue.toString();
113
123
  this.icItemsPerPageChange.emit({ value: this.itemsPerPage });
124
+ if (this.setToFirstPageOnPaginationChange) {
125
+ this.setToFirstPage();
126
+ }
114
127
  }
115
128
  this.totalPages =
116
129
  this.totalItems > this.itemsPerPage
117
130
  ? Math.ceil(this.totalItems / this.itemsPerPage)
118
131
  : 1;
119
132
  this.setUpperBound();
120
- if (this.currentPage > this.totalPages) {
121
- this.paginationEl.setCurrentPage(this.totalPages);
122
- this.currentPage = this.totalPages;
133
+ if (this.activePage > this.totalPages) {
134
+ (_a = this.paginationEl) === null || _a === void 0 ? void 0 : _a.setCurrentPage(this.totalPages);
135
+ this.activePage = this.totalPages;
123
136
  }
124
- this.icPageChange.emit({ value: this.currentPage });
137
+ this.icPageChange.emit({ value: this.activePage, fromItemsPerPage: true });
125
138
  };
126
139
  this.setPaginationBarContent = () => {
127
- var _a;
128
- const displayedItemsPerPageOptions = ((_a = this.itemsPerPageOptions) === null || _a === void 0 ? void 0 : _a.slice(0, 3)) ||
140
+ const clonedItemsPerPageOptions = this.itemsPerPageOptions
141
+ ? JSON.parse(JSON.stringify(this.itemsPerPageOptions))
142
+ : null;
143
+ const displayedItemsPerPageOptions = clonedItemsPerPageOptions ||
129
144
  (this.totalItems <= 100
130
145
  ? [
131
146
  { label: "10", value: "10" },
@@ -137,10 +152,11 @@ export class PaginationBar {
137
152
  { label: "100", value: "100" },
138
153
  { label: "1000", value: "1000" },
139
154
  ]);
140
- displayedItemsPerPageOptions.push({
141
- label: "All",
142
- value: String(this.totalItems),
143
- });
155
+ !this.hideAllFromItemsPerPage &&
156
+ displayedItemsPerPageOptions.push({
157
+ label: "All",
158
+ value: String(this.totalItems),
159
+ });
144
160
  this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(({ value }) => this.totalItems >= Number(value));
145
161
  let lastOptionValue = 0;
146
162
  const updated = this.displayedItemsPerPageOptions.some(({ value }) => {
@@ -154,13 +170,29 @@ export class PaginationBar {
154
170
  this.setUpperBound = () => {
155
171
  this.upperBound = Math.min(this.lowerBound + this.itemsPerPage - 1, this.totalItems);
156
172
  };
173
+ this.handleButtonAppearance = () => {
174
+ if (this.monochrome) {
175
+ if (this.theme === "dark" ||
176
+ (this.theme === "inherit" &&
177
+ window.matchMedia &&
178
+ window.matchMedia("(prefers-color-scheme: dark)").matches)) {
179
+ return "light";
180
+ }
181
+ else {
182
+ return "dark";
183
+ }
184
+ }
185
+ else {
186
+ return "default";
187
+ }
188
+ };
157
189
  this.capitalizedItemLabel = undefined;
158
190
  this.capitalizedPageLabel = undefined;
159
- this.currentPage = 1;
191
+ this.activePage = 1;
160
192
  this.displayedItemsPerPageOptions = undefined;
161
193
  this.inputError = "Please enter a valid page";
162
- this.itemsPerPage = 0;
163
- this.itemsPerPageString = "0";
194
+ this.itemsPerPage = 10;
195
+ this.itemsPerPageString = "10";
164
196
  this.lowerBound = 1;
165
197
  this.lowerCaseItemLabel = undefined;
166
198
  this.lowerCasePageLabel = undefined;
@@ -169,9 +201,13 @@ export class PaginationBar {
169
201
  this.totalPages = undefined;
170
202
  this.upperBound = undefined;
171
203
  this.alignment = "right";
172
- this.appearance = "default";
204
+ this.currentPage = 1;
205
+ this.selectedItemsPerPage = undefined;
206
+ this.hideAllFromItemsPerPage = false;
173
207
  this.itemLabel = "Item";
174
208
  this.itemsPerPageOptions = undefined;
209
+ this.monochrome = false;
210
+ this.theme = "inherit";
175
211
  this.type = "simple";
176
212
  this.rangeLabelType = "page";
177
213
  this.pageLabel = "Page";
@@ -179,6 +215,31 @@ export class PaginationBar {
179
215
  this.hideRangeLabel = false;
180
216
  this.showItemsPerPageControl = false;
181
217
  this.totalItems = undefined;
218
+ this.setToFirstPageOnPaginationChange = false;
219
+ }
220
+ watchPageNumberHandler() {
221
+ this.setPaginationBarContent();
222
+ if (typeof this.currentPage === "number" && this.currentPage) {
223
+ if (this.currentPage < 1 ||
224
+ (this.totalPages && this.currentPage > this.totalPages)) {
225
+ console.error(`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})`);
226
+ }
227
+ else {
228
+ this.activePage = this.currentPage;
229
+ }
230
+ }
231
+ }
232
+ watchSelectedItemsPerPageHandler() {
233
+ var _a;
234
+ if (this.selectedItemsPerPage !== null &&
235
+ this.selectedItemsPerPage !== undefined) {
236
+ if ((_a = this.displayedItemsPerPageOptions) === null || _a === void 0 ? void 0 : _a.filter((option) => option.value === `${this.selectedItemsPerPage}`).length) {
237
+ this.setItemsPerPage(this.selectedItemsPerPage);
238
+ }
239
+ else {
240
+ console.error(`The selected items per page option "${this.selectedItemsPerPage}" does not exist`);
241
+ }
242
+ }
182
243
  }
183
244
  watchItemLabelHandler() {
184
245
  this.capitalizedItemLabel = capitalize(this.itemLabel);
@@ -196,14 +257,19 @@ export class PaginationBar {
196
257
  watchTotalItemsHandler() {
197
258
  this.setPaginationBarContent();
198
259
  }
260
+ watchSetToFirstPageOnPaginationChange() {
261
+ this.setPaginationBarContent();
262
+ }
199
263
  disconnectedCallback() {
200
264
  var _a;
201
265
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
202
266
  }
203
267
  componentWillLoad() {
268
+ this.watchPageNumberHandler();
204
269
  this.watchPageLabelHandler();
205
270
  this.watchItemLabelHandler();
206
271
  this.setPaginationBarContent();
272
+ this.watchSelectedItemsPerPageHandler();
207
273
  }
208
274
  componentDidLoad() {
209
275
  var _a, _b;
@@ -224,25 +290,22 @@ export class PaginationBar {
224
290
  this.changePage(page);
225
291
  }
226
292
  render() {
227
- const { appearance, alignment, displayedItemsPerPageOptions, PAGE_INPUT_FIELD_ID, type, rangeLabelType, hideRangeLabel, showItemsPerPageControl, showGoToPageControl, pageLabel, capitalizedPageLabel, lowerCasePageLabel, capitalizedItemLabel, lowerCaseItemLabel, totalPages, currentPage, itemsPerPageString, } = this;
228
- return (h("div", { class: {
293
+ const { alignment, displayedItemsPerPageOptions, PAGE_INPUT_FIELD_ID, type, rangeLabelType, hideRangeLabel, showItemsPerPageControl, showGoToPageControl, pageLabel, capitalizedPageLabel, lowerCasePageLabel, capitalizedItemLabel, lowerCaseItemLabel, totalPages, activePage, itemsPerPageString, theme, monochrome, } = this;
294
+ return (h(Host, { class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { class: {
229
295
  ["pagination-bar"]: true,
230
296
  [`pagination-bar-${alignment}`]: true,
231
297
  }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (h("div", { class: "item-controls" }, showItemsPerPageControl && (h("div", { class: "items-per-page-holder" }, h("ic-typography", { class: {
232
- [`pagination-text-${appearance}`]: true,
233
298
  ["items-per-page-control-label"]: true,
234
- }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), h("ic-select", { size: "small", label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, value: itemsPerPageString, onIcChange: this.changeItemsPerPage, ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel &&
299
+ }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), h("ic-select", { theme: theme, size: "small", label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, value: itemsPerPageString, onIcChange: this.changeItemsPerPage, ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel &&
235
300
  (rangeLabelType === "data" ? (h("ic-typography", { class: {
236
- [`pagination-text-${appearance}`]: true,
237
301
  ["item-pagination-label"]: true,
238
302
  }, variant: "label", "aria-live": "polite" }, this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`, this.upperBound > 0 &&
239
303
  `${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${lowerCaseItemLabel}${this.totalItems > 1 ? "s" : ""}`)) : (h("ic-typography", { class: {
240
- [`pagination-text-${appearance}`]: true,
241
304
  ["page-pagination-label"]: true,
242
- }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", currentPage, " of ", totalPages))))), h("div", { class: {
305
+ }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", activePage, " of ", totalPages))))), h("div", { class: {
243
306
  ["pagination-controls"]: true,
244
307
  ["pagination-controls-wrap"]: this.paginationWrapped,
245
- } }, h("div", { class: "pagination-holder" }, h("ic-pagination", { appearance: appearance, type: type, pages: totalPages, label: pageLabel, ref: (el) => (this.paginationEl = el) })), showGoToPageControl && (h("div", { class: "go-to-page-holder" }, h("ic-typography", { class: { [`pagination-text-${appearance}`]: true }, variant: "label", onClick: this.goToPageLabelClickHandler }, "Go to ", lowerCasePageLabel), h("ic-tooltip", { label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, h("ic-text-field", { 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", { appearance: appearance, variant: "secondary", onClick: this.goToPage, size: "small", class: "go-to-page-button" }, "Go"))))));
308
+ } }, h("div", { class: "pagination-holder" }, h("ic-pagination", { type: type, pages: totalPages, label: pageLabel, ref: (el) => (this.paginationEl = el), currentPage: activePage, theme: theme, monochrome: monochrome })), showGoToPageControl && (h("div", { class: "go-to-page-holder" }, h("ic-typography", { variant: "label", onClick: this.goToPageLabelClickHandler }, "Go to ", lowerCasePageLabel), h("ic-tooltip", { label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, h("ic-text-field", { 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", { appearance: this.handleButtonAppearance(), variant: "secondary", onClick: this.goToPage, size: "small", class: "go-to-page-button" }, "Go")))))));
246
309
  }
247
310
  static get is() { return "ic-pagination-bar"; }
248
311
  static get encapsulation() { return "shadow"; }
@@ -282,29 +345,58 @@ export class PaginationBar {
282
345
  "reflect": false,
283
346
  "defaultValue": "\"right\""
284
347
  },
285
- "appearance": {
286
- "type": "string",
348
+ "currentPage": {
349
+ "type": "number",
287
350
  "mutable": false,
288
351
  "complexType": {
289
- "original": "IcThemeForeground",
290
- "resolved": "\"dark\" | \"default\" | \"light\"",
291
- "references": {
292
- "IcThemeForeground": {
293
- "location": "import",
294
- "path": "@ukic/web-components/dist/types/interface",
295
- "id": "../web-components/dist/types/interface.d.ts::IcThemeForeground"
296
- }
297
- }
352
+ "original": "number",
353
+ "resolved": "number",
354
+ "references": {}
298
355
  },
299
356
  "required": false,
300
357
  "optional": true,
301
358
  "docs": {
302
359
  "tags": [],
303
- "text": "Sets the styling for the items in the pagination bar."
360
+ "text": "The current page number to be displayed on the pagination bar."
304
361
  },
305
- "attribute": "appearance",
362
+ "attribute": "current-page",
306
363
  "reflect": false,
307
- "defaultValue": "\"default\""
364
+ "defaultValue": "1"
365
+ },
366
+ "selectedItemsPerPage": {
367
+ "type": "number",
368
+ "mutable": false,
369
+ "complexType": {
370
+ "original": "number",
371
+ "resolved": "number",
372
+ "references": {}
373
+ },
374
+ "required": false,
375
+ "optional": true,
376
+ "docs": {
377
+ "tags": [],
378
+ "text": "The items per page option to be selected."
379
+ },
380
+ "attribute": "selected-items-per-page",
381
+ "reflect": false
382
+ },
383
+ "hideAllFromItemsPerPage": {
384
+ "type": "boolean",
385
+ "mutable": false,
386
+ "complexType": {
387
+ "original": "boolean",
388
+ "resolved": "boolean",
389
+ "references": {}
390
+ },
391
+ "required": false,
392
+ "optional": true,
393
+ "docs": {
394
+ "tags": [],
395
+ "text": "If `true`, the 'All' option will be hidden from the 'items per page' select input."
396
+ },
397
+ "attribute": "hide-all-from-items-per-page",
398
+ "reflect": false,
399
+ "defaultValue": "false"
308
400
  },
309
401
  "itemLabel": {
310
402
  "type": "string",
@@ -336,9 +428,51 @@ export class PaginationBar {
336
428
  "optional": true,
337
429
  "docs": {
338
430
  "tags": [],
339
- "text": "The options which will be displayed for 'items per page' select input. Set a maximum of 4 options including a required 'All' option with value equal to total number of items."
431
+ "text": "The options which will be displayed for 'items per page' select input."
340
432
  }
341
433
  },
434
+ "monochrome": {
435
+ "type": "boolean",
436
+ "mutable": false,
437
+ "complexType": {
438
+ "original": "boolean",
439
+ "resolved": "boolean",
440
+ "references": {}
441
+ },
442
+ "required": false,
443
+ "optional": true,
444
+ "docs": {
445
+ "tags": [],
446
+ "text": "If `true`, the pagination bar will display as black in the light theme, and white in dark theme."
447
+ },
448
+ "attribute": "monochrome",
449
+ "reflect": false,
450
+ "defaultValue": "false"
451
+ },
452
+ "theme": {
453
+ "type": "string",
454
+ "mutable": false,
455
+ "complexType": {
456
+ "original": "IcThemeMode",
457
+ "resolved": "\"dark\" | \"inherit\" | \"light\"",
458
+ "references": {
459
+ "IcThemeMode": {
460
+ "location": "import",
461
+ "path": "../../utils/types",
462
+ "id": "src/utils/types.ts::IcThemeMode"
463
+ }
464
+ }
465
+ },
466
+ "required": false,
467
+ "optional": true,
468
+ "docs": {
469
+ "tags": [],
470
+ "text": "Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component."
471
+ },
472
+ "attribute": "theme",
473
+ "reflect": false,
474
+ "defaultValue": "\"inherit\""
475
+ },
342
476
  "type": {
343
477
  "type": "string",
344
478
  "mutable": false,
@@ -475,6 +609,24 @@ export class PaginationBar {
475
609
  },
476
610
  "attribute": "total-items",
477
611
  "reflect": false
612
+ },
613
+ "setToFirstPageOnPaginationChange": {
614
+ "type": "boolean",
615
+ "mutable": false,
616
+ "complexType": {
617
+ "original": "boolean",
618
+ "resolved": "boolean",
619
+ "references": {}
620
+ },
621
+ "required": false,
622
+ "optional": true,
623
+ "docs": {
624
+ "tags": [],
625
+ "text": "If `true`, the pagination bar is set to the first page when the 'items per page' changes"
626
+ },
627
+ "attribute": "set-to-first-page-on-pagination-change",
628
+ "reflect": false,
629
+ "defaultValue": "false"
478
630
  }
479
631
  };
480
632
  }
@@ -482,7 +634,7 @@ export class PaginationBar {
482
634
  return {
483
635
  "capitalizedItemLabel": {},
484
636
  "capitalizedPageLabel": {},
485
- "currentPage": {},
637
+ "activePage": {},
486
638
  "displayedItemsPerPageOptions": {},
487
639
  "inputError": {},
488
640
  "itemsPerPage": {},
@@ -505,12 +657,18 @@ export class PaginationBar {
505
657
  "composed": true,
506
658
  "docs": {
507
659
  "tags": [],
508
- "text": "Emitted when a page is navigated to via the 'go to' input."
660
+ "text": "Emitted when a page is navigated to via the 'go to' input.\nThe `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."
509
661
  },
510
662
  "complexType": {
511
- "original": "{ value: number }",
512
- "resolved": "{ value: number; }",
513
- "references": {}
663
+ "original": "IcPageChangeEventDetail",
664
+ "resolved": "IcPageChangeEventDetail",
665
+ "references": {
666
+ "IcPageChangeEventDetail": {
667
+ "location": "import",
668
+ "path": "./ic-pagination-bar.types",
669
+ "id": "src/components/ic-pagination-bar/ic-pagination-bar.types.ts::IcPageChangeEventDetail"
670
+ }
671
+ }
514
672
  }
515
673
  }, {
516
674
  "method": "icItemsPerPageChange",
@@ -532,6 +690,12 @@ export class PaginationBar {
532
690
  static get elementRef() { return "el"; }
533
691
  static get watchers() {
534
692
  return [{
693
+ "propName": "currentPage",
694
+ "methodName": "watchPageNumberHandler"
695
+ }, {
696
+ "propName": "selectedItemsPerPage",
697
+ "methodName": "watchSelectedItemsPerPageHandler"
698
+ }, {
535
699
  "propName": "itemLabel",
536
700
  "methodName": "watchItemLabelHandler"
537
701
  }, {
@@ -543,6 +707,9 @@ export class PaginationBar {
543
707
  }, {
544
708
  "propName": "totalItems",
545
709
  "methodName": "watchTotalItemsHandler"
710
+ }, {
711
+ "propName": "setToFirstPageOnPaginationChange",
712
+ "methodName": "watchSetToFirstPageOnPaginationChange"
546
713
  }];
547
714
  }
548
715
  static get listeners() {
@@ -1 +1 @@
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":["import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport { IcThemeForeground } from \"@ukic/web-components/dist/types/interface\";\nimport { checkResizeObserver, capitalize } from \"../../utils/helpers\";\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;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() capitalizedItemLabel: string;\n\n @State() capitalizedPageLabel: string;\n\n @State() currentPage: 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 = 0;\n\n @State() itemsPerPageString: string = \"0\";\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 * Sets the styling for the items in the pagination bar.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\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. Set a maximum of 4 options including a required 'All' option with value equal to total number of items.\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 * 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 `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 * Emitted when a page is navigated to via the 'go to' input.\n */\n @Event() icPageChange: EventEmitter<{ value: number }>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.watchPageLabelHandler();\n this.watchItemLabelHandler();\n this.setPaginationBarContent();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\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 changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n };\n\n private changePage = (page: number) => {\n this.currentPage = 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.currentPage = 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 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 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 setItemsPerPage = (newValue: number) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({ value: this.itemsPerPage });\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.currentPage > this.totalPages) {\n this.paginationEl.setCurrentPage(this.totalPages);\n this.currentPage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private setPaginationBarContent = (): void => {\n const displayedItemsPerPageOptions =\n this.itemsPerPageOptions?.slice(0, 3) ||\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 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 const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage\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 appearance,\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 currentPage,\n itemsPerPageString,\n } = this;\n\n return (\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 [`pagination-text-${appearance}`]: true,\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 size=\"small\"\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n value={itemsPerPageString}\n onIcChange={this.changeItemsPerPage}\n ref={(el: HTMLIcSelectElement) => (this.pageDropdownEl = el)}\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel &&\n (rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\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 [`pagination-text-${appearance}`]: true,\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {capitalizedPageLabel} {currentPage} 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 appearance={appearance}\n type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n class={{ [`pagination-text-${appearance}`]: true }}\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 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) => (this.pageInputEl = el)}\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={appearance}\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 );\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":["import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { checkResizeObserver, capitalize } from \"../../utils/helpers\";\nimport { IcPageChangeEventDetail } 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;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\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 if (\n this.displayedItemsPerPageOptions?.filter(\n (option) => option.value === `${this.selectedItemsPerPage}`\n ).length\n ) {\n this.setItemsPerPage(this.selectedItemsPerPage);\n } else {\n console.error(\n `The selected items per page option \"${this.selectedItemsPerPage}\" does not exist`\n );\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 `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<{ value: number }>;\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 this.watchSelectedItemsPerPageHandler();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\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 changeItemsPerPage = () => {\n this.setItemsPerPage(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 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 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) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({ value: this.itemsPerPage });\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 !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 const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage\n );\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n private handleButtonAppearance = () => {\n if (this.monochrome) {\n if (\n this.theme === \"dark\" ||\n (this.theme === \"inherit\" &&\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches)\n ) {\n return \"light\";\n } else {\n return \"dark\";\n }\n } else {\n return \"default\";\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 } = 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 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 appearance={this.handleButtonAppearance()}\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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ic-pagination-bar.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-pagination-bar.types.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-bar/ic-pagination-bar.types.ts"],"names":[],"mappings":"","sourcesContent":["export interface IcPageChangeEventDetail {\n value: number;\n fromItemsPerPage?: boolean;\n}\n"]}
@@ -135,7 +135,6 @@ describe("ic-pagination-bar", () => {
135
135
  { label: "100", value: "100" },
136
136
  { label: "All", value: "150" },
137
137
  ];
138
- page.rootInstance.trimItemsPerPageOptions();
139
138
  await page.waitForChanges();
140
139
  expect(page.rootInstance.displayedItemsPerPageOptions).toEqual([
141
140
  { label: "25", value: "25" },
@@ -164,6 +163,16 @@ describe("ic-pagination-bar", () => {
164
163
  { label: "All", value: "100" },
165
164
  ]);
166
165
  });
166
+ it("should update page details when currentPage prop is changed", async () => {
167
+ const page = await newSpecPage({
168
+ components: [PaginationBar, IcPagination],
169
+ html: `<ic-pagination-bar total-items="100"></ic-pagination-bar>`,
170
+ });
171
+ expect(page.root).toMatchSnapshot();
172
+ page.root.currentPage = 4;
173
+ await page.waitForChanges();
174
+ expect(page.root).toMatchSnapshot();
175
+ });
167
176
  it("should wrap pagination when the device size is small", async () => {
168
177
  const page = await newSpecPage({
169
178
  components: [PaginationBar, IcPagination],
@@ -187,12 +196,21 @@ describe("ic-pagination-bar", () => {
187
196
  const select = paginationBar.shadowRoot.querySelector("ic-select");
188
197
  const text = paginationBar.shadowRoot.querySelector(".page-pagination-label");
189
198
  expect(text.textContent).toEqual("Page 1 of 10");
199
+ const eventSpy = jest.fn();
200
+ paginationBar.addEventListener("icPageChange", eventSpy);
190
201
  select.value = "25";
202
+ expect(eventSpy).toHaveBeenCalledTimes(0);
191
203
  page.rootInstance.changeItemsPerPage();
192
- page.rootInstance.setNumberPages();
193
204
  await page.waitForChanges();
194
205
  expect(select.value).toEqual("25");
195
206
  expect(text.textContent).toEqual("Page 1 of 4");
207
+ expect(eventSpy).toHaveBeenCalledTimes(1);
208
+ expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
209
+ detail: expect.objectContaining({
210
+ value: 1,
211
+ fromItemsPerPage: true,
212
+ }),
213
+ }));
196
214
  });
197
215
  it("should change page when the pagination controls are clicked", async () => {
198
216
  const page = await newSpecPage({