@ukic/canary-web-components 2.0.0-canary.13 → 2.0.0-canary.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-6acbb97e.js → helpers-191dca49.js} +56 -89
  3. package/dist/cjs/helpers-191dca49.js.map +1 -0
  4. package/dist/cjs/{helpers-f75cf7cf.js → helpers-765a5118.js} +30 -1
  5. package/dist/cjs/helpers-765a5118.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +3 -1
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +15 -9
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +55 -84
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +35 -86
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js +23 -16
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox.cjs.entry.js +32 -30
  23. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-chip.cjs.entry.js +34 -21
  25. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
  28. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
  29. package/dist/cjs/ic-data-table.cjs.entry.js +154 -31
  30. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-date-input.cjs.entry.js +6 -6
  32. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-empty-state_2.cjs.entry.js +322 -0
  37. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -0
  38. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-link.cjs.entry.js +34 -16
  45. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +176 -35
  50. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-menu.cjs.entry.js +3 -3
  52. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-navigation-button.cjs.entry.js +26 -5
  54. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-pagination_4.cjs.entry.js +58 -17
  60. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-popover-menu.cjs.entry.js +3 -2
  62. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-radio-group.cjs.entry.js +40 -26
  64. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-radio-option.cjs.entry.js +9 -4
  66. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-select-with-multi.cjs.entry.js +1 -1
  69. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-step.cjs.entry.js +5 -2
  72. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-stepper.cjs.entry.js +2 -1
  74. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  76. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  79. package/dist/cjs/ic-theme.cjs.entry.js +13 -22
  80. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  82. package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
  83. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  84. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  86. package/dist/cjs/index-4cf27b16.js +8 -8
  87. package/dist/cjs/loader.cjs.js +1 -1
  88. package/dist/collection/collection-manifest.json +1 -0
  89. package/dist/collection/components/ic-data-table/ic-data-table.css +76 -1
  90. package/dist/collection/components/ic-data-table/ic-data-table.js +368 -43
  91. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  92. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  93. package/dist/collection/components/ic-data-table/story-data.js +258 -0
  94. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  95. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +320 -1
  96. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  97. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +91 -0
  98. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
  99. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
  100. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js +11 -0
  101. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
  102. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
  103. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
  104. package/dist/collection/components/ic-date-input/ic-date-input.css +1 -1
  105. package/dist/collection/components/ic-date-input/ic-date-input.js +4 -4
  106. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  107. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +176 -35
  108. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  109. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +180 -3
  110. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -1
  111. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +145 -116
  112. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  113. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +47 -10
  114. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  115. package/dist/collection/utils/types.js.map +1 -1
  116. package/dist/components/helpers.js +55 -87
  117. package/dist/components/helpers.js.map +1 -1
  118. package/dist/components/helpers2.js +28 -1
  119. package/dist/components/helpers2.js.map +1 -1
  120. package/dist/components/ic-accordion-group.js +2 -1
  121. package/dist/components/ic-accordion-group.js.map +1 -1
  122. package/dist/components/ic-back-to-top.js +22 -9
  123. package/dist/components/ic-back-to-top.js.map +1 -1
  124. package/dist/components/ic-badge.js +59 -84
  125. package/dist/components/ic-badge.js.map +1 -1
  126. package/dist/components/ic-breadcrumb-group.js +2 -0
  127. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  128. package/dist/components/ic-button2.js +33 -84
  129. package/dist/components/ic-button2.js.map +1 -1
  130. package/dist/components/ic-card.js +1 -1
  131. package/dist/components/ic-checkbox-group.js +27 -17
  132. package/dist/components/ic-checkbox-group.js.map +1 -1
  133. package/dist/components/ic-checkbox.js +32 -30
  134. package/dist/components/ic-checkbox.js.map +1 -1
  135. package/dist/components/ic-chip.js +39 -23
  136. package/dist/components/ic-chip.js.map +1 -1
  137. package/dist/components/ic-data-table-title-bar.d.ts +11 -0
  138. package/dist/components/ic-data-table-title-bar.js +136 -0
  139. package/dist/components/ic-data-table-title-bar.js.map +1 -0
  140. package/dist/components/ic-data-table.js +179 -37
  141. package/dist/components/ic-data-table.js.map +1 -1
  142. package/dist/components/ic-date-input2.js +6 -6
  143. package/dist/components/ic-date-input2.js.map +1 -1
  144. package/dist/components/ic-date-picker.js +1 -1
  145. package/dist/components/ic-divider2.js +1 -1
  146. package/dist/components/ic-empty-state.js +1 -57
  147. package/dist/components/ic-empty-state.js.map +1 -1
  148. package/dist/{esm/ic-empty-state.entry.js → components/ic-empty-state2.js} +38 -11
  149. package/dist/components/ic-empty-state2.js.map +1 -0
  150. package/dist/components/ic-footer-link-group.js +1 -1
  151. package/dist/components/ic-footer-link.js +1 -1
  152. package/dist/components/ic-footer.js +1 -1
  153. package/dist/components/ic-hero.js +1 -1
  154. package/dist/components/ic-horizontal-scroll2.js +1 -1
  155. package/dist/components/ic-link2.js +35 -17
  156. package/dist/components/ic-link2.js.map +1 -1
  157. package/dist/components/ic-loading-indicator2.js +1 -1
  158. package/dist/components/ic-loading-indicator2.js.map +1 -1
  159. package/dist/components/ic-menu-item2.js +2 -2
  160. package/dist/components/ic-menu-item2.js.map +1 -1
  161. package/dist/components/ic-menu2.js +2 -2
  162. package/dist/components/ic-menu2.js.map +1 -1
  163. package/dist/components/ic-menu3.js +177 -36
  164. package/dist/components/ic-menu3.js.map +1 -1
  165. package/dist/components/ic-navigation-button.js +27 -6
  166. package/dist/components/ic-navigation-button.js.map +1 -1
  167. package/dist/components/ic-navigation-group.js +1 -1
  168. package/dist/components/ic-navigation-item.js +1 -1
  169. package/dist/components/ic-navigation-menu2.js +1 -1
  170. package/dist/components/ic-pagination-bar2.js +126 -99
  171. package/dist/components/ic-pagination-bar2.js.map +1 -1
  172. package/dist/components/ic-pagination-item2.js +2 -2
  173. package/dist/components/ic-pagination-item2.js.map +1 -1
  174. package/dist/components/ic-pagination2.js +1 -1
  175. package/dist/components/ic-popover-menu.js +3 -2
  176. package/dist/components/ic-popover-menu.js.map +1 -1
  177. package/dist/components/ic-radio-group.js +40 -26
  178. package/dist/components/ic-radio-group.js.map +1 -1
  179. package/dist/components/ic-radio-option.js +11 -5
  180. package/dist/components/ic-radio-option.js.map +1 -1
  181. package/dist/components/ic-search-bar.js +1 -1
  182. package/dist/components/ic-select-with-multi.js +1 -1
  183. package/dist/components/ic-select2.js +33 -11
  184. package/dist/components/ic-select2.js.map +1 -1
  185. package/dist/components/ic-side-navigation.js +1 -1
  186. package/dist/components/ic-step.js +4 -1
  187. package/dist/components/ic-step.js.map +1 -1
  188. package/dist/components/ic-stepper.js +3 -1
  189. package/dist/components/ic-stepper.js.map +1 -1
  190. package/dist/components/ic-switch.js +1 -1
  191. package/dist/components/ic-tab.js +1 -1
  192. package/dist/components/ic-text-field2.js +27 -8
  193. package/dist/components/ic-text-field2.js.map +1 -1
  194. package/dist/components/ic-theme.js +13 -22
  195. package/dist/components/ic-theme.js.map +1 -1
  196. package/dist/components/ic-toast.js +1 -1
  197. package/dist/components/ic-toggle-button.js +1 -1
  198. package/dist/components/ic-tooltip2.js +1 -1
  199. package/dist/components/ic-tooltip2.js.map +1 -1
  200. package/dist/components/ic-top-navigation.js +1 -1
  201. package/dist/components/ic-typography2.js +1 -1
  202. package/dist/components/ic-typography2.js.map +1 -1
  203. package/dist/core/core.css +2 -2
  204. package/dist/core/core.esm.js +1 -1
  205. package/dist/core/core.esm.js.map +1 -1
  206. package/dist/core/{p-b3d21d06.entry.js → p-005e83b0.entry.js} +2 -2
  207. package/dist/core/{p-b8a3b16d.entry.js → p-05df3901.entry.js} +2 -2
  208. package/dist/core/{p-3d0185a4.entry.js → p-0646ef0c.entry.js} +2 -2
  209. package/dist/core/p-0ec09955.entry.js +2 -0
  210. package/dist/core/p-0ec09955.entry.js.map +1 -0
  211. package/dist/core/p-114bea92.entry.js +2 -0
  212. package/dist/core/p-114bea92.entry.js.map +1 -0
  213. package/dist/core/p-11bbb09c.js +2 -0
  214. package/dist/core/p-11bbb09c.js.map +1 -0
  215. package/dist/core/p-11e736a3.entry.js +2 -0
  216. package/dist/core/p-11e736a3.entry.js.map +1 -0
  217. package/dist/core/{p-e0e26834.entry.js → p-16c82b13.entry.js} +2 -2
  218. package/dist/core/{p-094a0455.entry.js → p-1b35b6af.entry.js} +2 -2
  219. package/dist/core/p-1cf8a04e.entry.js +2 -0
  220. package/dist/core/p-1cf8a04e.entry.js.map +1 -0
  221. package/dist/core/{p-849f43c3.entry.js → p-2170f59e.entry.js} +2 -2
  222. package/dist/core/p-2e167ebb.entry.js +2 -0
  223. package/dist/core/p-2e167ebb.entry.js.map +1 -0
  224. package/dist/core/p-3f20608d.entry.js +2 -0
  225. package/dist/core/p-3f20608d.entry.js.map +1 -0
  226. package/dist/core/p-41606de1.entry.js +2 -0
  227. package/dist/core/p-41606de1.entry.js.map +1 -0
  228. package/dist/core/{p-8b1d128c.entry.js → p-4415c93f.entry.js} +2 -2
  229. package/dist/core/{p-6b68ee01.entry.js → p-457dd939.entry.js} +2 -2
  230. package/dist/core/p-457dd939.entry.js.map +1 -0
  231. package/dist/core/{p-04f46dac.entry.js → p-4737844f.entry.js} +2 -2
  232. package/dist/core/p-4737844f.entry.js.map +1 -0
  233. package/dist/core/{p-8ef85b15.entry.js → p-53374a27.entry.js} +2 -2
  234. package/dist/core/{p-7c8f85fd.entry.js → p-53e45d51.entry.js} +2 -2
  235. package/dist/core/{p-0707f2fc.entry.js → p-593f0318.entry.js} +2 -2
  236. package/dist/core/{p-aabab75f.entry.js → p-5d5979fa.entry.js} +2 -2
  237. package/dist/core/{p-c7b52046.entry.js → p-66af5958.entry.js} +2 -2
  238. package/dist/core/p-67b0faac.entry.js +2 -0
  239. package/dist/core/p-67b0faac.entry.js.map +1 -0
  240. package/dist/core/p-6b277e09.entry.js +2 -0
  241. package/dist/core/p-6b277e09.entry.js.map +1 -0
  242. package/dist/core/{p-2ec33c00.entry.js → p-72cea8fd.entry.js} +2 -2
  243. package/dist/core/p-73dad5cf.entry.js +2 -0
  244. package/dist/core/p-73dad5cf.entry.js.map +1 -0
  245. package/dist/core/{p-05d0ac42.entry.js → p-85e2a9af.entry.js} +2 -2
  246. package/dist/core/p-85e2a9af.entry.js.map +1 -0
  247. package/dist/core/{p-bbcd6d06.entry.js → p-872c3555.entry.js} +2 -2
  248. package/dist/core/{p-dae1779d.entry.js → p-87743c4a.entry.js} +2 -2
  249. package/dist/core/{p-55d819a6.entry.js → p-8cfc74da.entry.js} +2 -2
  250. package/dist/core/{p-bf316546.entry.js → p-9729086f.entry.js} +2 -2
  251. package/dist/core/{p-f4965c26.entry.js → p-9cc19e91.entry.js} +2 -2
  252. package/dist/core/{p-da578abf.entry.js → p-9de20265.entry.js} +2 -2
  253. package/dist/core/p-a088373e.entry.js +2 -0
  254. package/dist/core/p-a088373e.entry.js.map +1 -0
  255. package/dist/core/{p-169dcfdd.entry.js → p-a0e42564.entry.js} +2 -2
  256. package/dist/core/p-a8110c27.entry.js +2 -0
  257. package/dist/core/p-a8110c27.entry.js.map +1 -0
  258. package/dist/core/{p-f9fcdd21.entry.js → p-a9d07792.entry.js} +2 -2
  259. package/dist/core/p-a9d07792.entry.js.map +1 -0
  260. package/dist/core/{p-66b8f0a7.entry.js → p-b08f4371.entry.js} +2 -2
  261. package/dist/core/{p-a9ed6a71.entry.js → p-b79c0631.entry.js} +2 -2
  262. package/dist/core/p-b79c0631.entry.js.map +1 -0
  263. package/dist/core/p-b8247636.entry.js +2 -0
  264. package/dist/core/p-b8247636.entry.js.map +1 -0
  265. package/dist/core/{p-fdd8f3a5.entry.js → p-badfdf2a.entry.js} +2 -2
  266. package/dist/core/p-be56fa17.entry.js +2 -0
  267. package/dist/core/{p-31800427.entry.js.map → p-be56fa17.entry.js.map} +1 -1
  268. package/dist/core/{p-ed7379e3.entry.js → p-bebf535f.entry.js} +2 -2
  269. package/dist/core/p-c07cef0e.js +2 -0
  270. package/dist/core/p-c07cef0e.js.map +1 -0
  271. package/dist/core/p-c0d88af8.entry.js +2 -0
  272. package/dist/core/p-c0d88af8.entry.js.map +1 -0
  273. package/dist/core/p-c3af5dab.entry.js +2 -0
  274. package/dist/core/p-c3af5dab.entry.js.map +1 -0
  275. package/dist/core/{p-981b6f12.entry.js → p-c3dabce4.entry.js} +2 -2
  276. package/dist/core/{p-bcfbd465.entry.js → p-c7e932b5.entry.js} +2 -2
  277. package/dist/core/{p-1a4bce88.entry.js → p-d09aaa5b.entry.js} +2 -2
  278. package/dist/core/{p-3f4c408a.entry.js → p-d59a72a9.entry.js} +2 -2
  279. package/dist/core/p-d59a72a9.entry.js.map +1 -0
  280. package/dist/core/{p-1170c02d.entry.js → p-d71e9cb5.entry.js} +2 -2
  281. package/dist/core/{p-b612d68b.entry.js → p-ecd6d123.entry.js} +2 -2
  282. package/dist/core/p-ecd6d123.entry.js.map +1 -0
  283. package/dist/core/p-ee52a11a.entry.js +2 -0
  284. package/dist/core/p-ee52a11a.entry.js.map +1 -0
  285. package/dist/core/p-f11597df.entry.js +2 -0
  286. package/dist/core/p-f11597df.entry.js.map +1 -0
  287. package/dist/core/p-f1f3acd2.entry.js +2 -0
  288. package/dist/core/p-f1f3acd2.entry.js.map +1 -0
  289. package/dist/core/{p-e676069e.entry.js → p-f659e5eb.entry.js} +2 -2
  290. package/dist/core/{p-ffa94639.entry.js → p-fc2551c0.entry.js} +2 -2
  291. package/dist/esm/core.js +1 -1
  292. package/dist/esm/{helpers-f328a7b6.js → helpers-8df79303.js} +29 -2
  293. package/dist/esm/helpers-8df79303.js.map +1 -0
  294. package/dist/esm/{helpers-451953f9.js → helpers-da05c476.js} +56 -88
  295. package/dist/esm/helpers-da05c476.js.map +1 -0
  296. package/dist/esm/ic-accordion-group.entry.js +3 -1
  297. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  298. package/dist/esm/ic-accordion.entry.js +1 -1
  299. package/dist/esm/ic-alert.entry.js +1 -1
  300. package/dist/esm/ic-back-to-top.entry.js +15 -9
  301. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  302. package/dist/esm/ic-badge.entry.js +55 -84
  303. package/dist/esm/ic-badge.entry.js.map +1 -1
  304. package/dist/esm/ic-breadcrumb-group.entry.js +3 -1
  305. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  306. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  307. package/dist/esm/ic-button_3.entry.js +35 -86
  308. package/dist/esm/ic-button_3.entry.js.map +1 -1
  309. package/dist/esm/ic-card.entry.js +1 -1
  310. package/dist/esm/ic-checkbox-group.entry.js +23 -16
  311. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  312. package/dist/esm/ic-checkbox.entry.js +32 -30
  313. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  314. package/dist/esm/ic-chip.entry.js +34 -21
  315. package/dist/esm/ic-chip.entry.js.map +1 -1
  316. package/dist/esm/ic-data-row.entry.js +1 -1
  317. package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
  318. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
  319. package/dist/esm/ic-data-table.entry.js +155 -32
  320. package/dist/esm/ic-data-table.entry.js.map +1 -1
  321. package/dist/esm/ic-date-input.entry.js +6 -6
  322. package/dist/esm/ic-date-input.entry.js.map +1 -1
  323. package/dist/esm/ic-date-picker.entry.js +1 -1
  324. package/dist/esm/ic-dialog.entry.js +1 -1
  325. package/dist/esm/ic-divider.entry.js +1 -1
  326. package/dist/esm/ic-empty-state_2.entry.js +317 -0
  327. package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
  328. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  329. package/dist/esm/ic-footer-link.entry.js +1 -1
  330. package/dist/esm/ic-footer.entry.js +1 -1
  331. package/dist/esm/ic-hero.entry.js +1 -1
  332. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  333. package/dist/esm/ic-input-component-container_4.entry.js +1 -1
  334. package/dist/esm/ic-link.entry.js +35 -17
  335. package/dist/esm/ic-link.entry.js.map +1 -1
  336. package/dist/esm/ic-menu-group.entry.js +1 -1
  337. package/dist/esm/ic-menu-item.entry.js +2 -2
  338. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  339. package/dist/esm/ic-menu-with-multi.entry.js +176 -35
  340. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  341. package/dist/esm/ic-menu.entry.js +3 -3
  342. package/dist/esm/ic-menu.entry.js.map +1 -1
  343. package/dist/esm/ic-navigation-button.entry.js +27 -6
  344. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  345. package/dist/esm/ic-navigation-group.entry.js +1 -1
  346. package/dist/esm/ic-navigation-item.entry.js +1 -1
  347. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  348. package/dist/esm/ic-page-header.entry.js +1 -1
  349. package/dist/esm/ic-pagination_4.entry.js +59 -18
  350. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  351. package/dist/esm/ic-popover-menu.entry.js +3 -2
  352. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  353. package/dist/esm/ic-radio-group.entry.js +40 -26
  354. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  355. package/dist/esm/ic-radio-option.entry.js +9 -4
  356. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  357. package/dist/esm/ic-search-bar.entry.js +1 -1
  358. package/dist/esm/ic-select-with-multi.entry.js +1 -1
  359. package/dist/esm/ic-side-navigation.entry.js +1 -1
  360. package/dist/esm/ic-status-tag.entry.js +1 -1
  361. package/dist/esm/ic-step.entry.js +5 -2
  362. package/dist/esm/ic-step.entry.js.map +1 -1
  363. package/dist/esm/ic-stepper.entry.js +2 -1
  364. package/dist/esm/ic-stepper.entry.js.map +1 -1
  365. package/dist/esm/ic-switch.entry.js +1 -1
  366. package/dist/esm/ic-tab-group.entry.js +1 -1
  367. package/dist/esm/ic-tab-panel.entry.js +1 -1
  368. package/dist/esm/ic-tab.entry.js +1 -1
  369. package/dist/esm/ic-theme.entry.js +13 -22
  370. package/dist/esm/ic-theme.entry.js.map +1 -1
  371. package/dist/esm/ic-toast.entry.js +1 -1
  372. package/dist/esm/ic-toggle-button.entry.js +1 -1
  373. package/dist/esm/ic-top-navigation.entry.js +1 -1
  374. package/dist/esm/ic-typography.entry.js +2 -2
  375. package/dist/esm/ic-typography.entry.js.map +1 -1
  376. package/dist/esm/index-93509377.js +8 -8
  377. package/dist/esm/loader.js +1 -1
  378. package/dist/types/components/ic-data-table/ic-data-table.d.ts +79 -3
  379. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +9 -0
  380. package/dist/types/components/ic-data-table/story-data.d.ts +59 -0
  381. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
  382. package/dist/types/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts +1 -0
  383. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +10 -0
  384. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +24 -14
  385. package/dist/types/components.d.ts +207 -28
  386. package/dist/types/utils/types.d.ts +5 -5
  387. package/hydrate/index.js +1445 -1050
  388. package/package.json +3 -3
  389. package/dist/cjs/helpers-6acbb97e.js.map +0 -1
  390. package/dist/cjs/helpers-f75cf7cf.js.map +0 -1
  391. package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
  392. package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
  393. package/dist/cjs/ic-pagination-bar.cjs.entry.js +0 -269
  394. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
  395. package/dist/collection/components/ic-pagination/ic-pagination.types.js +0 -2
  396. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +0 -1
  397. package/dist/core/p-04f46dac.entry.js.map +0 -1
  398. package/dist/core/p-05d0ac42.entry.js.map +0 -1
  399. package/dist/core/p-1c3bd46d.entry.js +0 -2
  400. package/dist/core/p-1c3bd46d.entry.js.map +0 -1
  401. package/dist/core/p-28bddd8d.entry.js +0 -2
  402. package/dist/core/p-28bddd8d.entry.js.map +0 -1
  403. package/dist/core/p-31800427.entry.js +0 -2
  404. package/dist/core/p-3b0caac0.js +0 -2
  405. package/dist/core/p-3b0caac0.js.map +0 -1
  406. package/dist/core/p-3f4c408a.entry.js.map +0 -1
  407. package/dist/core/p-4020d7f7.entry.js +0 -2
  408. package/dist/core/p-4020d7f7.entry.js.map +0 -1
  409. package/dist/core/p-402fd288.entry.js +0 -2
  410. package/dist/core/p-402fd288.entry.js.map +0 -1
  411. package/dist/core/p-49449a2d.entry.js +0 -2
  412. package/dist/core/p-49449a2d.entry.js.map +0 -1
  413. package/dist/core/p-4a30b0fc.entry.js +0 -2
  414. package/dist/core/p-4a30b0fc.entry.js.map +0 -1
  415. package/dist/core/p-4b361789.entry.js +0 -2
  416. package/dist/core/p-4b361789.entry.js.map +0 -1
  417. package/dist/core/p-50cfc2bb.entry.js +0 -2
  418. package/dist/core/p-50cfc2bb.entry.js.map +0 -1
  419. package/dist/core/p-58c87b3d.entry.js +0 -2
  420. package/dist/core/p-58c87b3d.entry.js.map +0 -1
  421. package/dist/core/p-623f911f.entry.js +0 -2
  422. package/dist/core/p-623f911f.entry.js.map +0 -1
  423. package/dist/core/p-6b68ee01.entry.js.map +0 -1
  424. package/dist/core/p-7d1381ef.entry.js +0 -2
  425. package/dist/core/p-7d1381ef.entry.js.map +0 -1
  426. package/dist/core/p-925da2d2.entry.js +0 -2
  427. package/dist/core/p-925da2d2.entry.js.map +0 -1
  428. package/dist/core/p-9e3178e8.entry.js +0 -2
  429. package/dist/core/p-9e3178e8.entry.js.map +0 -1
  430. package/dist/core/p-a9ed6a71.entry.js.map +0 -1
  431. package/dist/core/p-b612d68b.entry.js.map +0 -1
  432. package/dist/core/p-c51496ee.entry.js +0 -2
  433. package/dist/core/p-c51496ee.entry.js.map +0 -1
  434. package/dist/core/p-c7590421.entry.js +0 -2
  435. package/dist/core/p-c7590421.entry.js.map +0 -1
  436. package/dist/core/p-cd799087.js +0 -2
  437. package/dist/core/p-cd799087.js.map +0 -1
  438. package/dist/core/p-e189f1d0.entry.js +0 -2
  439. package/dist/core/p-e189f1d0.entry.js.map +0 -1
  440. package/dist/core/p-e30f2623.entry.js +0 -2
  441. package/dist/core/p-e30f2623.entry.js.map +0 -1
  442. package/dist/core/p-f9ee48f7.entry.js +0 -2
  443. package/dist/core/p-f9ee48f7.entry.js.map +0 -1
  444. package/dist/core/p-f9fcdd21.entry.js.map +0 -1
  445. package/dist/esm/helpers-451953f9.js.map +0 -1
  446. package/dist/esm/helpers-f328a7b6.js.map +0 -1
  447. package/dist/esm/ic-empty-state.entry.js.map +0 -1
  448. package/dist/esm/ic-pagination-bar.entry.js +0 -265
  449. package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
  450. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +0 -6
  451. /package/dist/core/{p-b3d21d06.entry.js.map → p-005e83b0.entry.js.map} +0 -0
  452. /package/dist/core/{p-b8a3b16d.entry.js.map → p-05df3901.entry.js.map} +0 -0
  453. /package/dist/core/{p-3d0185a4.entry.js.map → p-0646ef0c.entry.js.map} +0 -0
  454. /package/dist/core/{p-e0e26834.entry.js.map → p-16c82b13.entry.js.map} +0 -0
  455. /package/dist/core/{p-094a0455.entry.js.map → p-1b35b6af.entry.js.map} +0 -0
  456. /package/dist/core/{p-849f43c3.entry.js.map → p-2170f59e.entry.js.map} +0 -0
  457. /package/dist/core/{p-8b1d128c.entry.js.map → p-4415c93f.entry.js.map} +0 -0
  458. /package/dist/core/{p-8ef85b15.entry.js.map → p-53374a27.entry.js.map} +0 -0
  459. /package/dist/core/{p-7c8f85fd.entry.js.map → p-53e45d51.entry.js.map} +0 -0
  460. /package/dist/core/{p-0707f2fc.entry.js.map → p-593f0318.entry.js.map} +0 -0
  461. /package/dist/core/{p-aabab75f.entry.js.map → p-5d5979fa.entry.js.map} +0 -0
  462. /package/dist/core/{p-c7b52046.entry.js.map → p-66af5958.entry.js.map} +0 -0
  463. /package/dist/core/{p-2ec33c00.entry.js.map → p-72cea8fd.entry.js.map} +0 -0
  464. /package/dist/core/{p-bbcd6d06.entry.js.map → p-872c3555.entry.js.map} +0 -0
  465. /package/dist/core/{p-dae1779d.entry.js.map → p-87743c4a.entry.js.map} +0 -0
  466. /package/dist/core/{p-55d819a6.entry.js.map → p-8cfc74da.entry.js.map} +0 -0
  467. /package/dist/core/{p-bf316546.entry.js.map → p-9729086f.entry.js.map} +0 -0
  468. /package/dist/core/{p-f4965c26.entry.js.map → p-9cc19e91.entry.js.map} +0 -0
  469. /package/dist/core/{p-da578abf.entry.js.map → p-9de20265.entry.js.map} +0 -0
  470. /package/dist/core/{p-169dcfdd.entry.js.map → p-a0e42564.entry.js.map} +0 -0
  471. /package/dist/core/{p-66b8f0a7.entry.js.map → p-b08f4371.entry.js.map} +0 -0
  472. /package/dist/core/{p-fdd8f3a5.entry.js.map → p-badfdf2a.entry.js.map} +0 -0
  473. /package/dist/core/{p-ed7379e3.entry.js.map → p-bebf535f.entry.js.map} +0 -0
  474. /package/dist/core/{p-981b6f12.entry.js.map → p-c3dabce4.entry.js.map} +0 -0
  475. /package/dist/core/{p-bcfbd465.entry.js.map → p-c7e932b5.entry.js.map} +0 -0
  476. /package/dist/core/{p-1a4bce88.entry.js.map → p-d09aaa5b.entry.js.map} +0 -0
  477. /package/dist/core/{p-1170c02d.entry.js.map → p-d71e9cb5.entry.js.map} +0 -0
  478. /package/dist/core/{p-e676069e.entry.js.map → p-f659e5eb.entry.js.map} +0 -0
  479. /package/dist/core/{p-ffa94639.entry.js.map → p-fc2551c0.entry.js.map} +0 -0
@@ -1,5 +1,5 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { H as getThemeForegroundColor, b as inheritAttributes, o as onComponentRequiredPropUndefined, i as isSlotUsed, I as IC_INHERITED_ARIA } from './helpers.js';
1
+ import { proxyCustomElement, HTMLElement, forceUpdate, h, Host } from '@stencil/core/internal/client';
2
+ import { l as getThemeForegroundColor, a as inheritAttributes, o as onComponentRequiredPropUndefined, i as isSlotUsed, I as IC_INHERITED_ARIA } from './helpers.js';
3
3
  import { I as IcThemeForegroundEnum } from './types.js';
4
4
  import { d as defineCustomElement$5 } from './ic-button2.js';
5
5
  import { d as defineCustomElement$4 } from './ic-loading-indicator2.js';
@@ -8,12 +8,28 @@ import { d as defineCustomElement$2 } from './ic-typography2.js';
8
8
 
9
9
  const icNavigationButtonCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;margin-right:var(--ic-space-xs);list-style:none}:host(.in-side-menu){margin-right:0}:host::part(button){height:100%;min-height:2.5rem}";
10
10
 
11
+ const MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, "title"];
11
12
  const NavigationButton = /*@__PURE__*/ proxyCustomElement(class NavigationButton extends HTMLElement {
12
13
  constructor() {
13
14
  super();
14
15
  this.__registerHost();
15
16
  this.__attachShadow();
16
17
  this.inheritedAttributes = {};
18
+ this.hostMutationObserver = null;
19
+ // triggered when attributes of host element change
20
+ this.hostMutationCallback = (mutationList) => {
21
+ let forceComponentUpdate = false;
22
+ mutationList.forEach(({ attributeName }) => {
23
+ if (MUTABLE_ATTRIBUTES.includes(attributeName)) {
24
+ this.inheritedAttributes[attributeName] =
25
+ this.el.getAttribute(attributeName);
26
+ forceComponentUpdate = true;
27
+ }
28
+ });
29
+ if (forceComponentUpdate) {
30
+ forceUpdate(this);
31
+ }
32
+ };
17
33
  this.initialAppearance = getThemeForegroundColor();
18
34
  this.mode = "navbar";
19
35
  this.download = false;
@@ -25,18 +41,23 @@ const NavigationButton = /*@__PURE__*/ proxyCustomElement(class NavigationButton
25
41
  this.target = undefined;
26
42
  }
27
43
  componentWillLoad() {
28
- this.inheritedAttributes = inheritAttributes(this.el, [
29
- ...IC_INHERITED_ARIA,
30
- "title",
31
- ]);
44
+ this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);
32
45
  }
33
46
  componentDidLoad() {
34
47
  onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Navigation Button");
48
+ this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
49
+ this.hostMutationObserver.observe(this.el, {
50
+ attributes: true,
51
+ });
35
52
  }
36
53
  componentWillRender() {
37
54
  const iconEl = this.el.querySelector(`[slot="icon"]`);
38
55
  iconEl !== null && iconEl.setAttribute("viewBox", "0 0 24 24");
39
56
  }
57
+ disconnectedCallback() {
58
+ var _a;
59
+ (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
60
+ }
40
61
  navBarMenuOpenHandler() {
41
62
  this.mode = "menu";
42
63
  }
@@ -1 +1 @@
1
- {"file":"ic-navigation-button.js","mappings":"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","names":[],"sources":["../web-components/dist/collection/components/ic-navigation-button/ic-navigation-button.css?tag=ic-navigation-button&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-button/ic-navigation-button.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n margin-right: var(--ic-space-xs);\n list-style: none;\n}\n\n:host(.in-side-menu) {\n margin-right: 0;\n}\n\n:host::part(button) {\n height: 100%;\n min-height: 2.5rem;\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { getThemeForegroundColor, inheritAttributes, onComponentRequiredPropUndefined, isSlotUsed, } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\n/**\n * @slot icon - Content will be placed to the left of the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n */\nexport class NavigationButton {\n constructor() {\n this.inheritedAttributes = {};\n this.initialAppearance = getThemeForegroundColor();\n this.mode = \"navbar\";\n this.download = false;\n this.href = undefined;\n this.hreflang = undefined;\n this.label = undefined;\n this.referrerpolicy = undefined;\n this.rel = undefined;\n this.target = undefined;\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n ]);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Navigation Button\");\n }\n componentWillRender() {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n iconEl !== null && iconEl.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n navBarMenuOpenHandler() {\n this.mode = \"menu\";\n }\n navBarMenuCloseHandler() {\n this.mode = \"navbar\";\n }\n themeChangeHandler(ev) {\n const theme = ev.detail;\n this.initialAppearance = theme.mode;\n }\n /**\n * Sets focus on the native `button`.\n */\n async setFocus() {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n let label = \"\";\n let className = \"\";\n let variant = \"icon\";\n let appearance = this.initialAppearance;\n let size = \"large\";\n let fullWidth = false;\n let disableTooltip = false;\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcThemeForegroundEnum.Default;\n size = \"default\";\n fullWidth = true;\n className = \"popout-menu-button\";\n disableTooltip = true;\n }\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n disableTooltip,\n };\n return (h(Host, { class: { [\"in-side-menu\"]: this.mode === \"menu\" } }, h(\"ic-button\", Object.assign({ class: className, \"aria-label\": variant == \"icon\" ? this.label : null, ref: (el) => (this.buttonEl = el) }, buttonProps, this.inheritedAttributes), label, h(\"slot\", { slot: \"left-icon\", name: \"icon\" }), isSlotUsed(this.el, \"badge\") && variant === \"icon\" && (h(\"slot\", { name: \"badge\" })))));\n }\n static get is() { return \"ic-navigation-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-button.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-button.css\"]\n };\n }\n static get properties() {\n return {\n \"download\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | boolean\",\n \"resolved\": \"boolean | string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user can save the linked URL instead of navigating to it.\"\n },\n \"attribute\": \"download\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the link points to. This will render the button as an \\\"a\\\" tag.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"attribute\": \"hreflang\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label info to display.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\"\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"initialAppearance\": {},\n \"mode\": {}\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the native `button`.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"icNavigationMenuOpened\",\n \"method\": \"navBarMenuOpenHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icNavigationMenuClosed\",\n \"method\": \"navBarMenuCloseHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-button.js.map\n"],"version":3}
1
+ {"file":"ic-navigation-button.js","mappings":"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","names":[],"sources":["../web-components/dist/collection/components/ic-navigation-button/ic-navigation-button.css?tag=ic-navigation-button&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-button/ic-navigation-button.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n margin-right: var(--ic-space-xs);\n list-style: none;\n}\n\n:host(.in-side-menu) {\n margin-right: 0;\n}\n\n:host::part(button) {\n height: 100%;\n min-height: 2.5rem;\n}\n","import { Host, h, forceUpdate, } from \"@stencil/core\";\nimport { getThemeForegroundColor, inheritAttributes, onComponentRequiredPropUndefined, isSlotUsed, } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n/**\n * @slot icon - Content will be placed to the left of the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n */\nexport class NavigationButton {\n constructor() {\n this.inheritedAttributes = {};\n this.hostMutationObserver = null;\n // triggered when attributes of host element change\n this.hostMutationCallback = (mutationList) => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] =\n this.el.getAttribute(attributeName);\n forceComponentUpdate = true;\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n this.initialAppearance = getThemeForegroundColor();\n this.mode = \"navbar\";\n this.download = false;\n this.href = undefined;\n this.hreflang = undefined;\n this.label = undefined;\n this.referrerpolicy = undefined;\n this.rel = undefined;\n this.target = undefined;\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Navigation Button\");\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n componentWillRender() {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n iconEl !== null && iconEl.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n disconnectedCallback() {\n var _a;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n navBarMenuOpenHandler() {\n this.mode = \"menu\";\n }\n navBarMenuCloseHandler() {\n this.mode = \"navbar\";\n }\n themeChangeHandler(ev) {\n const theme = ev.detail;\n this.initialAppearance = theme.mode;\n }\n /**\n * Sets focus on the native `button`.\n */\n async setFocus() {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n let label = \"\";\n let className = \"\";\n let variant = \"icon\";\n let appearance = this.initialAppearance;\n let size = \"large\";\n let fullWidth = false;\n let disableTooltip = false;\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcThemeForegroundEnum.Default;\n size = \"default\";\n fullWidth = true;\n className = \"popout-menu-button\";\n disableTooltip = true;\n }\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n disableTooltip,\n };\n return (h(Host, { class: { [\"in-side-menu\"]: this.mode === \"menu\" } }, h(\"ic-button\", Object.assign({ class: className, \"aria-label\": variant == \"icon\" ? this.label : null, ref: (el) => (this.buttonEl = el) }, buttonProps, this.inheritedAttributes), label, h(\"slot\", { slot: \"left-icon\", name: \"icon\" }), isSlotUsed(this.el, \"badge\") && variant === \"icon\" && (h(\"slot\", { name: \"badge\" })))));\n }\n static get is() { return \"ic-navigation-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-button.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-button.css\"]\n };\n }\n static get properties() {\n return {\n \"download\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | boolean\",\n \"resolved\": \"boolean | string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user can save the linked URL instead of navigating to it.\"\n },\n \"attribute\": \"download\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the link points to. This will render the button as an \\\"a\\\" tag.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"attribute\": \"hreflang\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label info to display.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\"\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"initialAppearance\": {},\n \"mode\": {}\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the native `button`.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"icNavigationMenuOpened\",\n \"method\": \"navBarMenuOpenHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icNavigationMenuClosed\",\n \"method\": \"navBarMenuCloseHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-button.js.map\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { D as DEVICE_SIZES, H as getThemeForegroundColor, m as getCurrentDeviceSize, N as getNavItemParentDetails } from './helpers.js';
2
+ import { D as DEVICE_SIZES, l as getThemeForegroundColor, m as getCurrentDeviceSize, M as getNavItemParentDetails } from './helpers.js';
3
3
  import { c as chevronIcon } from './chevron-icon.js';
4
4
  import { d as defineCustomElement$2 } from './ic-typography2.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { i as isSlotUsed, D as DEVICE_SIZES, H as getThemeForegroundColor, m as getCurrentDeviceSize, N as getNavItemParentDetails } from './helpers.js';
2
+ import { i as isSlotUsed, D as DEVICE_SIZES, l as getThemeForegroundColor, m as getCurrentDeviceSize, M as getNavItemParentDetails } from './helpers.js';
3
3
  import { c as chevronIcon } from './chevron-icon.js';
4
4
  import { O as OpenInNew } from './OpenInNew.js';
5
5
  import { d as defineCustomElement$3 } from './ic-tooltip2.js';
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { O as getSlotContent, P as getSlot, i as isSlotUsed } from './helpers.js';
2
+ import { N as getSlotContent, O as getSlot, i as isSlotUsed } from './helpers.js';
3
3
  import { d as defineCustomElement$4 } from './ic-button2.js';
4
4
  import { d as defineCustomElement$3 } from './ic-loading-indicator2.js';
5
5
  import { d as defineCustomElement$2 } from './ic-tooltip2.js';
@@ -23,86 +23,59 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
23
23
  this.__attachShadow();
24
24
  this.icPageChange = createEvent(this, "icPageChange", 7);
25
25
  this.icItemsPerPageChange = createEvent(this, "icItemsPerPageChange", 7);
26
- this.PAGINATION = "ic-pagination";
27
- this.TEXT_FIELD = "ic-text-field";
28
- this.TOOLTIP = "ic-tooltip";
29
26
  this.PAGE_INPUT_FIELD_ID = "go-to-page-input";
30
27
  this.INVALID_PAGE_ERROR = "Please enter a valid page";
31
28
  this.NAN_ERROR = "Please enter a number";
32
29
  this.resizeObserver = null;
33
30
  this.changeItemsPerPage = () => {
34
- const select = this.el.shadowRoot.querySelector("ic-select");
35
- const value = select.value;
36
- this.itemsPerPage = value;
37
- this.setNumberPages();
38
- this.setUpperBound();
39
- const pagination = this.el.shadowRoot.querySelector(this.PAGINATION);
40
- if (this.currentPage > this.totalPages) {
41
- pagination.setCurrentPage(this.totalPages);
42
- this.currentPage = this.totalPages;
43
- }
44
- this.icItemsPerPageChange.emit({ value: Number(this.itemsPerPage) });
45
- this.icPageChange.emit({ value: this.currentPage });
31
+ this.setItemsPerPage(Number(this.pageDropdownEl.value));
46
32
  };
47
33
  this.changePage = (page) => {
48
34
  this.currentPage = page;
49
- this.lowerBound =
50
- page !== 1 ? (page - 1) * Number(this.itemsPerPage) + 1 : page;
35
+ this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;
51
36
  this.setUpperBound();
52
37
  };
53
38
  this.goToPage = () => {
54
- const input = this.el.shadowRoot.querySelector(this.TEXT_FIELD);
39
+ const input = this.pageInputEl;
55
40
  const page = Number(input.value);
56
- const tooltip = this.el.shadowRoot.querySelector("ic-tooltip");
57
41
  if (page <= this.totalPages && page > 0) {
58
42
  this.changePage(page);
59
- const pagination = this.el.shadowRoot.querySelector(this.PAGINATION);
60
- pagination.setCurrentPage(page);
43
+ this.paginationEl.setCurrentPage(page);
61
44
  this.currentPage = page;
62
45
  input.value = "";
63
46
  this.icPageChange.emit({ value: page });
64
- tooltip.displayTooltip(false, false);
47
+ this.pageInputTooltipEl.displayTooltip(false, false);
65
48
  input.validationStatus = "";
66
49
  }
67
50
  else {
68
- this.inputError = this.INVALID_PAGE_ERROR;
69
- input.validationStatus = "error";
70
- input.setFocus();
51
+ this.setInputError(input, this.INVALID_PAGE_ERROR);
71
52
  }
72
53
  };
73
54
  this.handleBlur = () => {
74
- var _a, _b;
75
- const textField = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(this.TEXT_FIELD);
76
- const tooltip = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(this.TOOLTIP);
55
+ const textField = this.pageInputEl;
77
56
  if ((Number(textField.value) <= this.totalPages &&
78
57
  Number(textField.value) > 0) ||
79
58
  textField.value === "") {
80
59
  textField.validationStatus = "";
81
60
  }
82
- tooltip.displayTooltip(false, false);
61
+ this.pageInputTooltipEl.displayTooltip(false, false);
83
62
  };
84
63
  this.handleFocus = () => {
85
- var _a, _b;
86
- const textField = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(this.TEXT_FIELD);
87
- const tooltip = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(this.TOOLTIP);
88
- if (textField.validationStatus === "error") {
89
- tooltip.displayTooltip(true, true);
64
+ if (this.pageInputEl.validationStatus === "error") {
65
+ this.pageInputTooltipEl.displayTooltip(true, true);
90
66
  }
91
67
  };
92
68
  this.handleInputChange = () => {
93
- const tooltip = this.el.shadowRoot.querySelector(this.TOOLTIP);
94
- const textField = this.el.shadowRoot.querySelector(this.TEXT_FIELD);
69
+ const textField = this.pageInputEl;
95
70
  const inputValue = parseInt(textField.value);
96
71
  if (inputValue > this.totalPages || inputValue <= 0) {
97
- this.inputError = this.INVALID_PAGE_ERROR;
98
- tooltip.displayTooltip(true, true);
99
- textField.validationStatus = "error";
100
- textField.focus();
72
+ this.setInputError(textField, this.INVALID_PAGE_ERROR);
73
+ this.pageInputTooltipEl.displayTooltip(true, true);
101
74
  }
102
75
  };
103
76
  this.handleKeydown = (ev) => {
104
- const tooltip = this.el.shadowRoot.querySelector(this.TOOLTIP);
105
- const textField = this.el.shadowRoot.querySelector(this.TEXT_FIELD);
77
+ const tooltip = this.pageInputTooltipEl;
78
+ const textField = this.pageInputEl;
106
79
  if (ev.key === "Enter") {
107
80
  if (textField.validationStatus === "error") {
108
81
  tooltip.displayTooltip(true, true);
@@ -117,23 +90,20 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
117
90
  }
118
91
  };
119
92
  this.handleKeyUp = (ev) => {
120
- const tooltip = this.el.shadowRoot.querySelector(this.TOOLTIP);
121
- const textField = this.el.shadowRoot.querySelector(this.TEXT_FIELD);
93
+ const textField = this.pageInputEl;
122
94
  const inputValue = parseInt(textField.value);
123
95
  if (Number.isNaN(inputValue) &&
124
96
  ev.key !== "Backspace" &&
125
97
  ev.key !== "Enter" &&
126
98
  ev.key !== "Tab" &&
127
99
  ev.key !== "Shift") {
128
- this.inputError = this.NAN_ERROR;
129
- tooltip.displayTooltip(true, false);
130
- textField.validationStatus = "error";
100
+ this.setInputError(textField, this.NAN_ERROR, false);
101
+ this.pageInputTooltipEl.displayTooltip(true, false);
131
102
  }
132
103
  };
133
104
  this.paginationShouldWrap = () => {
134
- const pagination = this.el.shadowRoot.querySelector(this.PAGINATION);
135
- if (this.paginationControl === "simple") {
136
- if (pagination.clientHeight > 63) {
105
+ if (this.type === "simple") {
106
+ if (this.paginationEl.clientHeight > 63) {
137
107
  this.paginationWrapped = true;
138
108
  }
139
109
  else {
@@ -155,24 +125,25 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
155
125
  });
156
126
  this.resizeObserver.observe(this.paginationBarEl);
157
127
  };
158
- this.setDefaultItemsPerPage = () => {
159
- this.itemsPerPage = this.itemsPerPageOptions[0].value;
160
- };
161
- this.setDefaultItemsPerPageOptions = () => {
162
- this.itemsPerPageOptions =
163
- this.totalItems <= 100
164
- ? [
165
- { label: "10", value: "10" },
166
- { label: "25", value: "25" },
167
- { label: "50", value: "50" },
168
- { label: "All", value: String(this.totalItems) },
169
- ]
170
- : [
171
- { label: "25", value: "25" },
172
- { label: "100", value: "100" },
173
- { label: "1000", value: "1000" },
174
- { label: "All", value: String(this.totalItems) },
175
- ];
128
+ this.setDisplayedItemsPerPageOptions = () => {
129
+ if (this.itemsPerPageOptions === undefined ||
130
+ this.itemsPerPageOptions === null) {
131
+ this.displayedItemsPerPageOptions =
132
+ this.totalItems <= 100
133
+ ? [
134
+ { label: "10", value: "10" },
135
+ { label: "25", value: "25" },
136
+ { label: "50", value: "50" },
137
+ ]
138
+ : [
139
+ { label: "25", value: "25" },
140
+ { label: "100", value: "100" },
141
+ { label: "1000", value: "1000" },
142
+ ];
143
+ }
144
+ else {
145
+ this.displayedItemsPerPageOptions = this.itemsPerPageOptions.slice(0, 3);
146
+ }
176
147
  };
177
148
  this.setGoToPageInputStyles = () => {
178
149
  var _a, _b;
@@ -185,27 +156,74 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
185
156
  }
186
157
  }
187
158
  };
159
+ this.setInputError = (el, error, focus = true) => {
160
+ this.inputError = error;
161
+ el.validationStatus = "error";
162
+ if (focus)
163
+ el.setFocus();
164
+ };
165
+ this.setItemsPerPage = (newValue) => {
166
+ if (this.itemsPerPage !== newValue) {
167
+ this.itemsPerPage = newValue;
168
+ this.icItemsPerPageChange.emit({ value: this.itemsPerPage });
169
+ }
170
+ this.setNumberPages();
171
+ this.setUpperBound();
172
+ if (this.currentPage > this.totalPages) {
173
+ this.paginationEl.setCurrentPage(this.totalPages);
174
+ this.currentPage = this.totalPages;
175
+ }
176
+ this.icPageChange.emit({ value: this.currentPage });
177
+ };
188
178
  this.setNumberPages = () => {
189
- this.totalPages = Math.ceil(this.totalItems / Number(this.itemsPerPage));
179
+ const numItemsPerPage = this.itemsPerPage;
180
+ if (this.totalItems <= numItemsPerPage) {
181
+ this.totalPages = 1;
182
+ }
183
+ else {
184
+ this.totalPages = Math.ceil(this.totalItems / numItemsPerPage);
185
+ }
186
+ };
187
+ this.setPaginationBarContent = () => {
188
+ this.setDisplayedItemsPerPageOptions();
189
+ this.trimItemsPerPageOptions();
190
+ this.updateItemsPerPage();
190
191
  };
191
192
  this.setUpperBound = () => {
192
- this.upperBound = Math.min(this.lowerBound + Number(this.itemsPerPage) - 1, this.totalItems);
193
+ this.upperBound = Math.min(this.lowerBound + this.itemsPerPage - 1, this.totalItems);
193
194
  };
194
195
  this.trimItemsPerPageOptions = () => {
195
- this.itemsPerPageOptions = this.itemsPerPageOptions.slice(0, 3);
196
- this.itemsPerPageOptions.push({
196
+ this.displayedItemsPerPageOptions.push({
197
197
  label: "All",
198
198
  value: String(this.totalItems),
199
199
  });
200
- for (let i = 0; i < this.itemsPerPageOptions.length - 1; i++) {
201
- if (this.totalItems <= Number(this.itemsPerPageOptions[i].value)) {
202
- this.itemsPerPageOptions.splice(i, this.itemsPerPageOptions.length - (i + 1));
200
+ for (let i = 0; i < this.displayedItemsPerPageOptions.length - 1; i++) {
201
+ if (this.totalItems <= Number(this.displayedItemsPerPageOptions[i].value)) {
202
+ this.displayedItemsPerPageOptions.splice(i, this.displayedItemsPerPageOptions.length - (i + 1));
203
+ }
204
+ }
205
+ };
206
+ this.updateItemsPerPage = () => {
207
+ let newItemsPerPage = this.itemsPerPage;
208
+ let updated = false;
209
+ let lastOptionValue = 0;
210
+ for (let i = 0; i < this.displayedItemsPerPageOptions.length; i++) {
211
+ lastOptionValue = Number(this.displayedItemsPerPageOptions[i].value);
212
+ if (this.itemsPerPage <= lastOptionValue) {
213
+ newItemsPerPage = lastOptionValue;
214
+ updated = true;
215
+ i = this.displayedItemsPerPageOptions.length;
203
216
  }
204
217
  }
218
+ if (!updated && this.itemsPerPage > lastOptionValue) {
219
+ newItemsPerPage = lastOptionValue;
220
+ }
221
+ this.setItemsPerPage(newItemsPerPage);
205
222
  };
206
223
  this.currentPage = 1;
224
+ this.displayedItemsPerPageOptions = undefined;
207
225
  this.inputError = "Please enter a valid page";
208
- this.itemsPerPage = undefined;
226
+ this.itemsPerPage = 0;
209
227
  this.lowerBound = 1;
210
228
  this.paginationWidth = undefined;
211
229
  this.paginationWrapped = false;
@@ -213,30 +231,29 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
213
231
  this.upperBound = undefined;
214
232
  this.alignment = "right";
215
233
  this.appearance = "default";
216
- this.itemLabel = "Item";
234
+ this.rangeItemLabel = "Item";
217
235
  this.itemsPerPageOptions = undefined;
218
- this.paginationControl = "simple";
219
- this.paginationType = "page";
236
+ this.type = "simple";
237
+ this.rangeLabelType = "page";
220
238
  this.pageLabel = "Page";
221
239
  this.showGoToPageControl = false;
222
- this.showItemsPerPage = true;
240
+ this.hideRangeLabel = false;
223
241
  this.showItemsPerPageControl = false;
224
242
  this.totalItems = undefined;
225
243
  }
244
+ watchItemsPerPageOptionsHandler() {
245
+ this.setPaginationBarContent();
246
+ }
247
+ watchTotalItemsHandler() {
248
+ this.setPaginationBarContent();
249
+ }
226
250
  disconnectedCallback() {
227
251
  if (this.resizeObserver !== null) {
228
252
  this.resizeObserver.disconnect();
229
253
  }
230
254
  }
231
255
  componentWillLoad() {
232
- if (this.itemsPerPageOptions === undefined ||
233
- this.itemsPerPageOptions === null) {
234
- this.setDefaultItemsPerPageOptions();
235
- }
236
- this.trimItemsPerPageOptions();
237
- this.setDefaultItemsPerPage();
238
- this.setNumberPages();
239
- this.setUpperBound();
256
+ this.setPaginationBarContent();
240
257
  }
241
258
  componentDidLoad() {
242
259
  this.paginationWidth = this.paginationBarEl.clientWidth;
@@ -249,7 +266,7 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
249
266
  this.changePage(page);
250
267
  }
251
268
  render() {
252
- const { appearance, alignment, itemsPerPageOptions, PAGE_INPUT_FIELD_ID, paginationControl, paginationType, showItemsPerPage, showItemsPerPageControl, showGoToPageControl, } = this;
269
+ const { appearance, alignment, displayedItemsPerPageOptions, PAGE_INPUT_FIELD_ID, type, rangeLabelType, hideRangeLabel, showItemsPerPageControl, showGoToPageControl, } = this;
253
270
  const focusElFromLabel = (el) => {
254
271
  var _a;
255
272
  (_a = this.paginationBarEl.querySelector(el)) === null || _a === void 0 ? void 0 : _a.setFocus();
@@ -257,35 +274,42 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
257
274
  return (h("div", { class: {
258
275
  ["pagination-bar"]: true,
259
276
  [`pagination-bar-${alignment}`]: true,
260
- }, ref: (el) => (this.paginationBarEl = el) }, (showItemsPerPage || showItemsPerPageControl) && (h("div", { class: "item-controls" }, showItemsPerPageControl && (h("div", { class: "items-per-page-holder" }, h("ic-typography", { class: {
277
+ }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (h("div", { class: "item-controls" }, showItemsPerPageControl && (h("div", { class: "items-per-page-holder" }, h("ic-typography", { class: {
261
278
  [`pagination-text-${appearance}`]: true,
262
279
  ["items-per-page-control-label"]: true,
263
- }, variant: "label", onClick: () => focusElFromLabel("ic-select") }, this.itemLabel, "s per ", this.pageLabel.toLowerCase()), h("ic-select", { small: true, label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: itemsPerPageOptions, value: this.itemsPerPage, onIcChange: () => this.changeItemsPerPage() }))), showItemsPerPage && paginationType === "data" ? (h("ic-typography", { class: {
280
+ }, variant: "label", onClick: () => focusElFromLabel("ic-select") }, this.rangeItemLabel, "s per ", this.pageLabel.toLowerCase()), h("ic-select", { small: true, label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, value: this.itemsPerPage.toString(), onIcChange: () => this.changeItemsPerPage(), ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel && rangeLabelType === "data" ? (h("ic-typography", { class: {
264
281
  [`pagination-text-${appearance}`]: true,
265
282
  ["item-pagination-label"]: true,
266
- }, variant: "label", "aria-live": "polite" }, this.lowerBound, " - ", this.upperBound, " of ", this.totalItems, " ", this.itemLabel.toLowerCase(), this.totalItems > 1 ? "s" : "")) : (showItemsPerPage && (h("ic-typography", { class: {
283
+ }, variant: "label", "aria-live": "polite" }, this.upperBound === 0 &&
284
+ `0 ${this.rangeItemLabel.toLowerCase()}s`, this.upperBound > 0 &&
285
+ `${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${this.rangeItemLabel.toLowerCase()}${this.totalItems > 1 ? "s" : ""}`)) : (!hideRangeLabel && (h("ic-typography", { class: {
267
286
  [`pagination-text-${appearance}`]: true,
268
287
  ["page-pagination-label"]: true,
269
288
  }, variant: "label", "aria-live": "polite" }, this.pageLabel, " ", this.currentPage, " of ", this.totalPages))))), h("div", { class: {
270
289
  ["pagination-controls"]: true,
271
290
  ["pagination-controls-wrap"]: this.paginationWrapped,
272
- } }, h("div", { class: "pagination-holder" }, h("ic-pagination", { appearance: appearance, type: paginationControl, pages: this.totalPages })), showGoToPageControl && (h("div", { class: "go-to-page-holder" }, h("ic-typography", { class: { [`pagination-text-${appearance}`]: true }, variant: "label", onClick: () => focusElFromLabel("ic-text-field") }, "Go to ", this.pageLabel.toLowerCase()), h("ic-tooltip", { label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true }, 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: (ev) => this.handleKeydown(ev), onKeyUp: (ev) => this.handleKeyUp(ev), onInput: () => this.handleInputChange(), max: this.totalPages, min: "1", validationInlineInternal: true, onBlur: () => this.handleBlur(), onFocus: () => this.handleFocus() })), h("ic-button", { appearance: appearance, variant: "secondary", onClick: () => this.goToPage(), size: "small", class: "go-to-page-button" }, "Go"))))));
291
+ } }, h("div", { class: "pagination-holder" }, h("ic-pagination", { appearance: appearance, type: type, pages: this.totalPages, ref: (el) => (this.paginationEl = el) })), showGoToPageControl && (h("div", { class: "go-to-page-holder" }, h("ic-typography", { class: { [`pagination-text-${appearance}`]: true }, variant: "label", onClick: () => focusElFromLabel("ic-text-field") }, "Go to ", this.pageLabel.toLowerCase()), 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: (ev) => this.handleKeydown(ev), onKeyUp: (ev) => this.handleKeyUp(ev), onInput: () => this.handleInputChange(), max: this.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"))))));
273
292
  }
274
293
  get el() { return this; }
294
+ static get watchers() { return {
295
+ "itemsPerPageOptions": ["watchItemsPerPageOptionsHandler"],
296
+ "totalItems": ["watchTotalItemsHandler"]
297
+ }; }
275
298
  static get style() { return icPaginationBarCss; }
276
299
  }, [1, "ic-pagination-bar", {
277
300
  "alignment": [1],
278
301
  "appearance": [1],
279
- "itemLabel": [1, "item-label"],
280
- "itemsPerPageOptions": [1040],
281
- "paginationControl": [1, "pagination-control"],
282
- "paginationType": [1, "pagination-type"],
302
+ "rangeItemLabel": [1, "range-item-label"],
303
+ "itemsPerPageOptions": [16],
304
+ "type": [1],
305
+ "rangeLabelType": [1, "range-label-type"],
283
306
  "pageLabel": [1, "page-label"],
284
307
  "showGoToPageControl": [4, "show-go-to-page-control"],
285
- "showItemsPerPage": [4, "show-items-per-page"],
308
+ "hideRangeLabel": [4, "hide-range-label"],
286
309
  "showItemsPerPageControl": [4, "show-items-per-page-control"],
287
310
  "totalItems": [2, "total-items"],
288
311
  "currentPage": [32],
312
+ "displayedItemsPerPageOptions": [32],
289
313
  "inputError": [32],
290
314
  "itemsPerPage": [32],
291
315
  "lowerBound": [32],
@@ -293,7 +317,10 @@ const PaginationBar = /*@__PURE__*/ proxyCustomElement(class PaginationBar exten
293
317
  "paginationWrapped": [32],
294
318
  "totalPages": [32],
295
319
  "upperBound": [32]
296
- }, [[0, "icPageChange", "pageChangeHandler"]]]);
320
+ }, [[0, "icPageChange", "pageChangeHandler"]], {
321
+ "itemsPerPageOptions": ["watchItemsPerPageOptionsHandler"],
322
+ "totalItems": ["watchTotalItemsHandler"]
323
+ }]);
297
324
  function defineCustomElement() {
298
325
  if (typeof customElements === "undefined") {
299
326
  return;