@ukic/web-components 2.32.0 → 2.33.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (424) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-94b33ab0.js → helpers-df61b63f.js} +5 -1
  3. package/dist/cjs/helpers-df61b63f.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +8 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-card.cjs.entry.js +7 -1
  14. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -1
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -1
  18. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-chip.cjs.entry.js +9 -4
  20. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +11 -2
  31. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-menu-item.cjs.entry.js +7 -1
  36. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-pagination-item.cjs.entry.js +5 -1
  43. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-pagination.cjs.entry.js +5 -1
  45. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-radio-group.cjs.entry.js +2 -1
  48. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -1
  50. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-search-bar.cjs.entry.js +5 -1
  52. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-select.cjs.entry.js +5 -1
  54. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-side-navigation.cjs.entry.js +13 -9
  56. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-switch.cjs.entry.js +6 -2
  61. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-tab.cjs.entry.js +5 -2
  64. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-text-field.cjs.entry.js +18 -10
  66. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  69. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +9 -0
  70. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-toggle-button.cjs.entry.js +7 -1
  72. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  75. package/dist/cjs/loader.cjs.js +1 -1
  76. package/dist/collection/components/ic-accordion/ic-accordion.js +10 -1
  77. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  78. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +3 -0
  79. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  80. package/dist/collection/components/ic-card/ic-card.js +9 -0
  81. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  82. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js +10 -0
  83. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -1
  84. package/dist/collection/components/ic-checkbox/ic-checkbox.js +6 -0
  85. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  86. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -0
  87. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  88. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +3 -0
  89. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  90. package/dist/collection/components/ic-chip/ic-chip.js +27 -2
  91. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  92. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +3 -0
  93. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  94. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +15 -3
  95. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  96. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +9 -0
  97. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  98. package/dist/collection/components/ic-menu-item/ic-menu-item.js +9 -0
  99. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  100. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +13 -0
  101. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  102. package/dist/collection/components/ic-pagination/ic-pagination.js +6 -0
  103. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  104. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +10 -0
  105. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  106. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +6 -0
  107. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  108. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +3 -0
  109. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +1 -1
  110. package/dist/collection/components/ic-radio-group/ic-radio-group.js +1 -0
  111. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  112. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +6 -0
  113. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  114. package/dist/collection/components/ic-radio-option/ic-radio-option.js +6 -0
  115. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  116. package/dist/collection/components/ic-search-bar/ic-search-bar.js +6 -0
  117. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  118. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +3 -0
  119. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  120. package/dist/collection/components/ic-select/ic-select.js +6 -0
  121. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  122. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +10 -0
  123. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  124. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +12 -8
  125. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  126. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +107 -0
  127. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  128. package/dist/collection/components/ic-switch/ic-switch.js +6 -0
  129. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  130. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +3 -0
  131. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  132. package/dist/collection/components/ic-tab/ic-tab.js +6 -0
  133. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  134. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +16 -0
  135. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  136. package/dist/collection/components/ic-text-field/ic-text-field.js +19 -9
  137. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  138. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +3 -0
  139. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  140. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +9 -0
  141. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  142. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +10 -0
  143. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  144. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +11 -0
  145. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  146. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +104 -0
  147. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  148. package/dist/collection/utils/helpers.js +4 -0
  149. package/dist/collection/utils/helpers.js.map +1 -1
  150. package/dist/components/helpers.js +5 -1
  151. package/dist/components/helpers.js.map +1 -1
  152. package/dist/components/ic-accordion.js +9 -1
  153. package/dist/components/ic-accordion.js.map +1 -1
  154. package/dist/components/ic-card.js +9 -1
  155. package/dist/components/ic-card.js.map +1 -1
  156. package/dist/components/ic-checkbox-group.js +5 -0
  157. package/dist/components/ic-checkbox-group.js.map +1 -1
  158. package/dist/components/ic-checkbox.js +5 -0
  159. package/dist/components/ic-checkbox.js.map +1 -1
  160. package/dist/components/ic-chip.js +11 -4
  161. package/dist/components/ic-chip.js.map +1 -1
  162. package/dist/components/ic-input-component-container2.js +13 -2
  163. package/dist/components/ic-input-component-container2.js.map +1 -1
  164. package/dist/components/ic-menu-item2.js +9 -1
  165. package/dist/components/ic-menu-item2.js.map +1 -1
  166. package/dist/components/ic-pagination-item2.js +6 -1
  167. package/dist/components/ic-pagination-item2.js.map +1 -1
  168. package/dist/components/ic-pagination.js +5 -0
  169. package/dist/components/ic-pagination.js.map +1 -1
  170. package/dist/components/ic-radio-group.js +1 -0
  171. package/dist/components/ic-radio-group.js.map +1 -1
  172. package/dist/components/ic-radio-option.js +6 -1
  173. package/dist/components/ic-radio-option.js.map +1 -1
  174. package/dist/components/ic-search-bar.js +6 -1
  175. package/dist/components/ic-search-bar.js.map +1 -1
  176. package/dist/components/ic-select.js +6 -1
  177. package/dist/components/ic-select.js.map +1 -1
  178. package/dist/components/ic-side-navigation.js +13 -9
  179. package/dist/components/ic-side-navigation.js.map +1 -1
  180. package/dist/components/ic-switch.js +8 -3
  181. package/dist/components/ic-switch.js.map +1 -1
  182. package/dist/components/ic-tab.js +5 -2
  183. package/dist/components/ic-tab.js.map +1 -1
  184. package/dist/components/ic-text-field2.js +19 -10
  185. package/dist/components/ic-text-field2.js.map +1 -1
  186. package/dist/components/ic-toggle-button-group.js +11 -1
  187. package/dist/components/ic-toggle-button-group.js.map +1 -1
  188. package/dist/components/ic-toggle-button.js +9 -1
  189. package/dist/components/ic-toggle-button.js.map +1 -1
  190. package/dist/components/ic-top-navigation.js +1 -1
  191. package/dist/core/core.esm.js +1 -1
  192. package/dist/core/core.esm.js.map +1 -1
  193. package/dist/core/{p-22ef3303.entry.js → p-04876964.entry.js} +2 -2
  194. package/dist/core/p-04876964.entry.js.map +1 -0
  195. package/dist/core/p-050dc124.entry.js +2 -0
  196. package/dist/core/p-050dc124.entry.js.map +1 -0
  197. package/dist/core/{p-230187a8.entry.js → p-0bd82370.entry.js} +2 -2
  198. package/dist/core/{p-1d6e6ebe.entry.js → p-145a4619.entry.js} +2 -2
  199. package/dist/core/{p-96505636.entry.js → p-1ee0b4eb.entry.js} +2 -2
  200. package/dist/core/p-1ee0b4eb.entry.js.map +1 -0
  201. package/dist/core/{p-3b4c9571.entry.js → p-20203682.entry.js} +2 -2
  202. package/dist/core/p-20203682.entry.js.map +1 -0
  203. package/dist/core/{p-2d930c9c.entry.js → p-2c93290d.entry.js} +2 -2
  204. package/dist/core/p-2c93290d.entry.js.map +1 -0
  205. package/dist/core/{p-7591805d.entry.js → p-350d89d0.entry.js} +2 -2
  206. package/dist/core/p-45b9b893.entry.js +2 -0
  207. package/dist/core/p-45b9b893.entry.js.map +1 -0
  208. package/dist/core/{p-74a7b421.entry.js → p-48922e0a.entry.js} +2 -2
  209. package/dist/core/p-48922e0a.entry.js.map +1 -0
  210. package/dist/core/{p-570f1930.entry.js → p-4bb9c52f.entry.js} +2 -2
  211. package/dist/core/{p-223889da.entry.js → p-5739e0a9.entry.js} +2 -2
  212. package/dist/core/{p-d638d75d.entry.js → p-5a7fd661.entry.js} +2 -2
  213. package/dist/core/p-5a7fd661.entry.js.map +1 -0
  214. package/dist/core/{p-60f7f555.entry.js → p-5ec8938f.entry.js} +2 -2
  215. package/dist/core/{p-02262e76.entry.js → p-614cb828.entry.js} +2 -2
  216. package/dist/core/p-614cb828.entry.js.map +1 -0
  217. package/dist/core/{p-be5d5f93.entry.js → p-618a0098.entry.js} +2 -2
  218. package/dist/core/{p-ea58ae1d.entry.js → p-63b88ad2.entry.js} +2 -2
  219. package/dist/core/{p-03f23a55.entry.js → p-649bd0e1.entry.js} +2 -2
  220. package/dist/core/{p-843ed766.entry.js → p-6c31fd9f.entry.js} +2 -2
  221. package/dist/core/{p-fef9e8c9.js → p-6d23ec8e.js} +2 -2
  222. package/dist/core/{p-fef9e8c9.js.map → p-6d23ec8e.js.map} +1 -1
  223. package/dist/core/{p-c1d5e7f2.entry.js → p-72a854dd.entry.js} +2 -2
  224. package/dist/core/{p-78605899.entry.js → p-742189ad.entry.js} +2 -2
  225. package/dist/core/{p-dd9d8e68.entry.js → p-7e6fa0ea.entry.js} +2 -2
  226. package/dist/core/{p-e1def80b.entry.js → p-7ef7adc4.entry.js} +2 -2
  227. package/dist/core/p-8920ebe6.entry.js +2 -0
  228. package/dist/core/p-8920ebe6.entry.js.map +1 -0
  229. package/dist/core/{p-85f30b1c.entry.js → p-90e4679d.entry.js} +2 -2
  230. package/dist/core/{p-def5ba6b.entry.js → p-9ab3b47e.entry.js} +2 -2
  231. package/dist/core/{p-5fad22f1.entry.js → p-a15dfa51.entry.js} +2 -2
  232. package/dist/core/{p-69576aa0.entry.js → p-a4f42217.entry.js} +2 -2
  233. package/dist/core/p-ac39415d.entry.js +2 -0
  234. package/dist/core/p-ac39415d.entry.js.map +1 -0
  235. package/dist/core/{p-77d49138.entry.js → p-ad2a8eab.entry.js} +2 -2
  236. package/dist/core/{p-5ccd3703.entry.js → p-ae89e61c.entry.js} +2 -2
  237. package/dist/core/{p-55b11f6f.entry.js → p-b8de998d.entry.js} +2 -2
  238. package/dist/core/{p-13a6e7ea.entry.js → p-bb21769c.entry.js} +2 -2
  239. package/dist/core/p-bdb77a91.entry.js +2 -0
  240. package/dist/core/p-bdb77a91.entry.js.map +1 -0
  241. package/dist/core/{p-0a20131b.entry.js → p-c02f2a47.entry.js} +2 -2
  242. package/dist/core/p-c02f2a47.entry.js.map +1 -0
  243. package/dist/core/{p-dd4ef67f.entry.js → p-c0885ea6.entry.js} +2 -2
  244. package/dist/core/{p-8c325d9b.entry.js → p-c8b56283.entry.js} +2 -2
  245. package/dist/core/{p-2c587c73.entry.js → p-cb344d95.entry.js} +2 -2
  246. package/dist/core/{p-c1a74ee4.entry.js → p-cb5f7b90.entry.js} +2 -2
  247. package/dist/core/p-cc6a677b.entry.js +2 -0
  248. package/dist/core/p-cc6a677b.entry.js.map +1 -0
  249. package/dist/core/{p-0aed0cee.entry.js → p-d4d4b392.entry.js} +2 -2
  250. package/dist/core/{p-9c9ba3cd.entry.js → p-d9e36712.entry.js} +2 -2
  251. package/dist/core/p-de3d293b.entry.js +2 -0
  252. package/dist/core/p-de3d293b.entry.js.map +1 -0
  253. package/dist/core/{p-13ec2a00.entry.js → p-e218165c.entry.js} +2 -2
  254. package/dist/core/{p-ee1c9f20.entry.js → p-ec15bf1b.entry.js} +2 -2
  255. package/dist/core/{p-9feec47e.entry.js → p-ef4acad9.entry.js} +2 -2
  256. package/dist/core/p-f1583332.entry.js +2 -0
  257. package/dist/core/p-f1583332.entry.js.map +1 -0
  258. package/dist/core/{p-0677ee1e.entry.js → p-f1bf36e4.entry.js} +2 -2
  259. package/dist/core/p-f1bf36e4.entry.js.map +1 -0
  260. package/dist/core/{p-604e72ac.entry.js → p-f53503ca.entry.js} +2 -2
  261. package/dist/core/{p-457a4c63.entry.js → p-f61a4e8d.entry.js} +2 -2
  262. package/dist/core/p-f61a4e8d.entry.js.map +1 -0
  263. package/dist/core/{p-3af60dee.entry.js → p-f73cb96b.entry.js} +2 -2
  264. package/dist/core/{p-de0afa78.entry.js → p-fa83d7c2.entry.js} +2 -2
  265. package/dist/core/p-fa83d7c2.entry.js.map +1 -0
  266. package/dist/esm/core.js +1 -1
  267. package/dist/esm/{helpers-3905ccc4.js → helpers-b0150c61.js} +6 -2
  268. package/dist/esm/helpers-b0150c61.js.map +1 -0
  269. package/dist/esm/ic-accordion-group.entry.js +1 -1
  270. package/dist/esm/ic-accordion.entry.js +8 -1
  271. package/dist/esm/ic-accordion.entry.js.map +1 -1
  272. package/dist/esm/ic-alert.entry.js +1 -1
  273. package/dist/esm/ic-back-to-top.entry.js +1 -1
  274. package/dist/esm/ic-badge.entry.js +1 -1
  275. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  276. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  277. package/dist/esm/ic-button_3.entry.js +1 -1
  278. package/dist/esm/ic-card.entry.js +7 -1
  279. package/dist/esm/ic-card.entry.js.map +1 -1
  280. package/dist/esm/ic-checkbox-group.entry.js +5 -1
  281. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  282. package/dist/esm/ic-checkbox.entry.js +5 -1
  283. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  284. package/dist/esm/ic-chip.entry.js +9 -4
  285. package/dist/esm/ic-chip.entry.js.map +1 -1
  286. package/dist/esm/ic-data-row.entry.js +1 -1
  287. package/dist/esm/ic-dialog.entry.js +1 -1
  288. package/dist/esm/ic-divider.entry.js +1 -1
  289. package/dist/esm/ic-empty-state.entry.js +1 -1
  290. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  291. package/dist/esm/ic-footer-link.entry.js +1 -1
  292. package/dist/esm/ic-footer.entry.js +1 -1
  293. package/dist/esm/ic-hero.entry.js +1 -1
  294. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  295. package/dist/esm/ic-input-component-container_3.entry.js +11 -2
  296. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  297. package/dist/esm/ic-input-label_2.entry.js +1 -1
  298. package/dist/esm/ic-link.entry.js +1 -1
  299. package/dist/esm/ic-menu-group.entry.js +1 -1
  300. package/dist/esm/ic-menu-item.entry.js +7 -1
  301. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  302. package/dist/esm/ic-navigation-button.entry.js +1 -1
  303. package/dist/esm/ic-navigation-group.entry.js +1 -1
  304. package/dist/esm/ic-navigation-item.entry.js +1 -1
  305. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  306. package/dist/esm/ic-page-header.entry.js +1 -1
  307. package/dist/esm/ic-pagination-item.entry.js +5 -1
  308. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  309. package/dist/esm/ic-pagination.entry.js +5 -1
  310. package/dist/esm/ic-pagination.entry.js.map +1 -1
  311. package/dist/esm/ic-popover-menu.entry.js +1 -1
  312. package/dist/esm/ic-radio-group.entry.js +2 -1
  313. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  314. package/dist/esm/ic-radio-option.entry.js +5 -1
  315. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  316. package/dist/esm/ic-search-bar.entry.js +5 -1
  317. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  318. package/dist/esm/ic-select.entry.js +5 -1
  319. package/dist/esm/ic-select.entry.js.map +1 -1
  320. package/dist/esm/ic-side-navigation.entry.js +13 -9
  321. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  322. package/dist/esm/ic-status-tag.entry.js +1 -1
  323. package/dist/esm/ic-step.entry.js +1 -1
  324. package/dist/esm/ic-stepper.entry.js +1 -1
  325. package/dist/esm/ic-switch.entry.js +6 -2
  326. package/dist/esm/ic-switch.entry.js.map +1 -1
  327. package/dist/esm/ic-tab-group.entry.js +1 -1
  328. package/dist/esm/ic-tab.entry.js +5 -2
  329. package/dist/esm/ic-tab.entry.js.map +1 -1
  330. package/dist/esm/ic-text-field.entry.js +18 -10
  331. package/dist/esm/ic-text-field.entry.js.map +1 -1
  332. package/dist/esm/ic-theme.entry.js +1 -1
  333. package/dist/esm/ic-toast.entry.js +1 -1
  334. package/dist/esm/ic-toggle-button-group.entry.js +9 -0
  335. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  336. package/dist/esm/ic-toggle-button.entry.js +7 -1
  337. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  338. package/dist/esm/ic-top-navigation.entry.js +1 -1
  339. package/dist/esm/ic-typography.entry.js +1 -1
  340. package/dist/esm/loader.js +1 -1
  341. package/dist/types/components/ic-accordion/ic-accordion.d.ts +2 -0
  342. package/dist/types/components/ic-card/ic-card.d.ts +1 -0
  343. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +1 -0
  344. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  345. package/dist/types/components/ic-chip/ic-chip.d.ts +5 -0
  346. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -0
  347. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +1 -0
  348. package/dist/types/components/ic-pagination/ic-pagination.d.ts +1 -0
  349. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +1 -0
  350. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +1 -0
  351. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +1 -0
  352. package/dist/types/components/ic-select/ic-select.d.ts +1 -0
  353. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  354. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -0
  355. package/dist/types/components/ic-text-field/ic-text-field.d.ts +2 -0
  356. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +1 -0
  357. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +1 -0
  358. package/dist/types/components.d.ts +8 -0
  359. package/dist/types/utils/helpers.d.ts +4 -0
  360. package/hydrate/index.js +122 -23
  361. package/package.json +4 -9
  362. package/vscode-data.json +4 -0
  363. package/dist/cjs/helpers-94b33ab0.js.map +0 -1
  364. package/dist/core/p-02262e76.entry.js.map +0 -1
  365. package/dist/core/p-0677ee1e.entry.js.map +0 -1
  366. package/dist/core/p-07514ea0.entry.js +0 -2
  367. package/dist/core/p-07514ea0.entry.js.map +0 -1
  368. package/dist/core/p-0a20131b.entry.js.map +0 -1
  369. package/dist/core/p-22ef3303.entry.js.map +0 -1
  370. package/dist/core/p-2889cc17.entry.js +0 -2
  371. package/dist/core/p-2889cc17.entry.js.map +0 -1
  372. package/dist/core/p-2d930c9c.entry.js.map +0 -1
  373. package/dist/core/p-3b4c9571.entry.js.map +0 -1
  374. package/dist/core/p-457a4c63.entry.js.map +0 -1
  375. package/dist/core/p-74a7b421.entry.js.map +0 -1
  376. package/dist/core/p-81deed36.entry.js +0 -2
  377. package/dist/core/p-81deed36.entry.js.map +0 -1
  378. package/dist/core/p-94d5aa77.entry.js +0 -2
  379. package/dist/core/p-94d5aa77.entry.js.map +0 -1
  380. package/dist/core/p-96505636.entry.js.map +0 -1
  381. package/dist/core/p-b1879a44.entry.js +0 -2
  382. package/dist/core/p-b1879a44.entry.js.map +0 -1
  383. package/dist/core/p-cdf6e902.entry.js +0 -2
  384. package/dist/core/p-cdf6e902.entry.js.map +0 -1
  385. package/dist/core/p-d638d75d.entry.js.map +0 -1
  386. package/dist/core/p-da5098db.entry.js +0 -2
  387. package/dist/core/p-da5098db.entry.js.map +0 -1
  388. package/dist/core/p-dbc0f5da.entry.js +0 -2
  389. package/dist/core/p-dbc0f5da.entry.js.map +0 -1
  390. package/dist/core/p-de0afa78.entry.js.map +0 -1
  391. package/dist/esm/helpers-3905ccc4.js.map +0 -1
  392. /package/dist/core/{p-230187a8.entry.js.map → p-0bd82370.entry.js.map} +0 -0
  393. /package/dist/core/{p-1d6e6ebe.entry.js.map → p-145a4619.entry.js.map} +0 -0
  394. /package/dist/core/{p-7591805d.entry.js.map → p-350d89d0.entry.js.map} +0 -0
  395. /package/dist/core/{p-570f1930.entry.js.map → p-4bb9c52f.entry.js.map} +0 -0
  396. /package/dist/core/{p-223889da.entry.js.map → p-5739e0a9.entry.js.map} +0 -0
  397. /package/dist/core/{p-60f7f555.entry.js.map → p-5ec8938f.entry.js.map} +0 -0
  398. /package/dist/core/{p-be5d5f93.entry.js.map → p-618a0098.entry.js.map} +0 -0
  399. /package/dist/core/{p-ea58ae1d.entry.js.map → p-63b88ad2.entry.js.map} +0 -0
  400. /package/dist/core/{p-03f23a55.entry.js.map → p-649bd0e1.entry.js.map} +0 -0
  401. /package/dist/core/{p-843ed766.entry.js.map → p-6c31fd9f.entry.js.map} +0 -0
  402. /package/dist/core/{p-c1d5e7f2.entry.js.map → p-72a854dd.entry.js.map} +0 -0
  403. /package/dist/core/{p-78605899.entry.js.map → p-742189ad.entry.js.map} +0 -0
  404. /package/dist/core/{p-dd9d8e68.entry.js.map → p-7e6fa0ea.entry.js.map} +0 -0
  405. /package/dist/core/{p-e1def80b.entry.js.map → p-7ef7adc4.entry.js.map} +0 -0
  406. /package/dist/core/{p-85f30b1c.entry.js.map → p-90e4679d.entry.js.map} +0 -0
  407. /package/dist/core/{p-def5ba6b.entry.js.map → p-9ab3b47e.entry.js.map} +0 -0
  408. /package/dist/core/{p-5fad22f1.entry.js.map → p-a15dfa51.entry.js.map} +0 -0
  409. /package/dist/core/{p-69576aa0.entry.js.map → p-a4f42217.entry.js.map} +0 -0
  410. /package/dist/core/{p-77d49138.entry.js.map → p-ad2a8eab.entry.js.map} +0 -0
  411. /package/dist/core/{p-5ccd3703.entry.js.map → p-ae89e61c.entry.js.map} +0 -0
  412. /package/dist/core/{p-55b11f6f.entry.js.map → p-b8de998d.entry.js.map} +0 -0
  413. /package/dist/core/{p-13a6e7ea.entry.js.map → p-bb21769c.entry.js.map} +0 -0
  414. /package/dist/core/{p-dd4ef67f.entry.js.map → p-c0885ea6.entry.js.map} +0 -0
  415. /package/dist/core/{p-8c325d9b.entry.js.map → p-c8b56283.entry.js.map} +0 -0
  416. /package/dist/core/{p-2c587c73.entry.js.map → p-cb344d95.entry.js.map} +0 -0
  417. /package/dist/core/{p-c1a74ee4.entry.js.map → p-cb5f7b90.entry.js.map} +0 -0
  418. /package/dist/core/{p-0aed0cee.entry.js.map → p-d4d4b392.entry.js.map} +0 -0
  419. /package/dist/core/{p-9c9ba3cd.entry.js.map → p-d9e36712.entry.js.map} +0 -0
  420. /package/dist/core/{p-13ec2a00.entry.js.map → p-e218165c.entry.js.map} +0 -0
  421. /package/dist/core/{p-ee1c9f20.entry.js.map → p-ec15bf1b.entry.js.map} +0 -0
  422. /package/dist/core/{p-9feec47e.entry.js.map → p-ef4acad9.entry.js.map} +0 -0
  423. /package/dist/core/{p-604e72ac.entry.js.map → p-f53503ca.entry.js.map} +0 -0
  424. /package/dist/core/{p-3af60dee.entry.js.map → p-f73cb96b.entry.js.map} +0 -0
package/hydrate/index.js CHANGED
@@ -8052,6 +8052,10 @@ const removeFormResetListener = (el, callbackFn) => {
8052
8052
  (_a = el.closest("FORM")) === null || _a === void 0 ? void 0 : _a.removeEventListener("reset", callbackFn);
8053
8053
  };
8054
8054
  const pxToRem = (px, base = 16) => `${(1 / base) * parseInt(px)}rem`;
8055
+ /**
8056
+ * Removes the disabled attribute from the provided element when its value is set to false.
8057
+ * This effectively makes it null, to not confuse screen readers that cannot interpret the false value
8058
+ */
8055
8059
  const removeDisabledFalse = (disabled, element) => {
8056
8060
  if (!disabled) {
8057
8061
  element.removeAttribute("disabled");
@@ -8142,6 +8146,9 @@ class Accordion {
8142
8146
  this.message = "";
8143
8147
  this.size = "default";
8144
8148
  }
8149
+ watchDisabledHandler() {
8150
+ removeDisabledFalse(this.disabled, this.el);
8151
+ }
8145
8152
  // Every time expanded is set via toggleExpanded or accordionGroup, animate to open or close
8146
8153
  handleExpandedWatch() {
8147
8154
  this.animateExpandedContent();
@@ -8154,6 +8161,9 @@ class Accordion {
8154
8161
  this.accordionBtnHeading.focus();
8155
8162
  }
8156
8163
  }
8164
+ componentWillLoad() {
8165
+ removeDisabledFalse(this.disabled, this.el);
8166
+ }
8157
8167
  disconnectedCallback() {
8158
8168
  if (this.expandedContentEl) {
8159
8169
  this.expandedContentEl.removeEventListener("transitionend", (e) => this.setExpandedContentStyle(e, this.expandedContentEl), true);
@@ -8185,6 +8195,7 @@ class Accordion {
8185
8195
  }
8186
8196
  get el() { return getElement(this); }
8187
8197
  static get watchers() { return {
8198
+ "disabled": ["watchDisabledHandler"],
8188
8199
  "expanded": ["handleExpandedWatch"]
8189
8200
  }; }
8190
8201
  static get style() { return icAccordionCss; }
@@ -9496,6 +9507,9 @@ class Card {
9496
9507
  this.subheading = undefined;
9497
9508
  this.target = undefined;
9498
9509
  }
9510
+ watchDisabledHandler() {
9511
+ removeDisabledFalse(this.disabled, this.el);
9512
+ }
9499
9513
  disconnectedCallback() {
9500
9514
  var _a;
9501
9515
  if (this.parentIsAnchorTag) {
@@ -9581,6 +9595,9 @@ class Card {
9581
9595
  }, "aria-label": "Toggle expandable area", "aria-expanded": `${this.areaExpanded}`, "aria-controls": this.areaExpanded ? "expanded-content-area" : null, onClick: this.toggleExpanded, innerHTML: chevronIcon }))))), isSlotUsed(this.el, "expanded-content") && this.areaExpanded && (hAsync("div", { class: "expanded-content", id: "expanded-content-area" }, hAsync("slot", { name: "expanded-content" }))), isSlotUsed(this.el, "badge") && hAsync("slot", { name: "badge" })));
9582
9596
  }
9583
9597
  get el() { return getElement(this); }
9598
+ static get watchers() { return {
9599
+ "disabled": ["watchDisabledHandler"]
9600
+ }; }
9584
9601
  static get style() { return icCardCss; }
9585
9602
  static get cmpMeta() { return {
9586
9603
  "$flags$": 9,
@@ -9655,6 +9672,9 @@ class Checkbox {
9655
9672
  this.value = undefined;
9656
9673
  this.hideLabel = false;
9657
9674
  }
9675
+ watchDisabledHandler() {
9676
+ removeDisabledFalse(this.disabled, this.el);
9677
+ }
9658
9678
  watchIndeterminateHandler() {
9659
9679
  this.displayIndeterminate = this.nativeIndeterminateBehaviour
9660
9680
  ? this.indeterminate
@@ -9725,6 +9745,7 @@ class Checkbox {
9725
9745
  static get delegatesFocus() { return true; }
9726
9746
  get el() { return getElement(this); }
9727
9747
  static get watchers() { return {
9748
+ "disabled": ["watchDisabledHandler"],
9728
9749
  "indeterminate": ["watchIndeterminateHandler"]
9729
9750
  }; }
9730
9751
  static get style() { return icCheckboxCss; }
@@ -9779,6 +9800,9 @@ class CheckboxGroup {
9779
9800
  this.validationStatus = "";
9780
9801
  this.validationText = "";
9781
9802
  }
9803
+ watchDisabledHandler() {
9804
+ removeDisabledFalse(this.disabled, this.el);
9805
+ }
9782
9806
  labelNameHandler(newValue, oldValue, propName) {
9783
9807
  Array.from(this.el.querySelectorAll("ic-checkbox")).forEach((checkbox) => {
9784
9808
  if (propName === "label")
@@ -9828,6 +9852,7 @@ class CheckboxGroup {
9828
9852
  }
9829
9853
  get el() { return getElement(this); }
9830
9854
  static get watchers() { return {
9855
+ "disabled": ["watchDisabledHandler"],
9831
9856
  "label": ["labelNameHandler"],
9832
9857
  "name": ["labelNameHandler"]
9833
9858
  }; }
@@ -9898,12 +9923,16 @@ class Chip {
9898
9923
  this.size = "default";
9899
9924
  this.transparentBackground = true;
9900
9925
  this.variant = "filled";
9926
+ this.dismissLabel = "Dismiss";
9901
9927
  }
9902
9928
  customColorHandler() {
9903
9929
  if (!this.dismissible) {
9904
9930
  this.setChipColour();
9905
9931
  }
9906
9932
  }
9933
+ watchDisabledHandler() {
9934
+ removeDisabledFalse(this.disabled, this.el);
9935
+ }
9907
9936
  componentWillLoad() {
9908
9937
  removeDisabledFalse(this.disabled, this.el);
9909
9938
  if (!this.dismissible) {
@@ -9932,7 +9961,7 @@ class Chip {
9932
9961
  (_a = this.el.shadowRoot.querySelector("button")) === null || _a === void 0 ? void 0 : _a.focus();
9933
9962
  }
9934
9963
  render() {
9935
- const { label, appearance, variant, size, dismissible, visible, disabled, hovered, } = this;
9964
+ const { label, appearance, variant, size, dismissible, visible, disabled, hovered, dismissLabel, } = this;
9936
9965
  return (visible && (hAsync("div", { class: {
9937
9966
  chip: true,
9938
9967
  [`${appearance}`]: appearance !== undefined,
@@ -9942,12 +9971,13 @@ class Chip {
9942
9971
  dismissible,
9943
9972
  hovered,
9944
9973
  "white-background": this.variant === "outlined" && !this.transparentBackground,
9945
- } }, isSlotUsed(this.el, "icon") && (hAsync("div", { class: "icon" }, hAsync("slot", { name: "icon" }))), hAsync("ic-typography", { variant: "label", "apply-vertical-margins": false, class: { label: true, "in-ag-grid": this.inAGGrid } }, hAsync("span", null, label)), dismissible && (hAsync("ic-tooltip", { label: "Dismiss", target: "dismiss-icon", class: { "tooltip-disabled": disabled } }, hAsync("button", { id: "dismiss-icon", class: "dismiss-icon", "aria-label": `Dismiss ${label} chip`, disabled: disabled, tabindex: disabled ? -1 : 0, onClick: this.dismissAction, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, innerHTML: dismissIcon }))), isSlotUsed(this.el, "badge") && hAsync("slot", { name: "badge" }))));
9974
+ } }, isSlotUsed(this.el, "icon") && (hAsync("div", { class: "icon" }, hAsync("slot", { name: "icon" }))), hAsync("ic-typography", { variant: "label", "apply-vertical-margins": false, class: { label: true, "in-ag-grid": this.inAGGrid } }, hAsync("span", null, label)), dismissible && (hAsync("ic-tooltip", { label: dismissLabel, target: "dismiss-icon", class: { "tooltip-disabled": disabled } }, hAsync("button", { id: "dismiss-icon", class: "dismiss-icon", "aria-label": `${dismissLabel} ${label} chip`, disabled: disabled, tabindex: disabled ? -1 : 0, onClick: this.dismissAction, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, innerHTML: dismissIcon }))), isSlotUsed(this.el, "badge") && hAsync("slot", { name: "badge" }))));
9946
9975
  }
9947
9976
  static get delegatesFocus() { return true; }
9948
9977
  get el() { return getElement(this); }
9949
9978
  static get watchers() { return {
9950
- "customColor": ["customColorHandler"]
9979
+ "customColor": ["customColorHandler"],
9980
+ "disabled": ["watchDisabledHandler"]
9951
9981
  }; }
9952
9982
  static get style() { return icChipCss; }
9953
9983
  static get cmpMeta() { return {
@@ -9962,6 +9992,7 @@ class Chip {
9962
9992
  "size": [1],
9963
9993
  "transparentBackground": [4, "transparent-background"],
9964
9994
  "variant": [1],
9995
+ "dismissLabel": [1, "dismiss-label"],
9965
9996
  "hovered": [32],
9966
9997
  "visible": [32],
9967
9998
  "setFocus": [64]
@@ -11229,6 +11260,12 @@ class InputComponentContainer {
11229
11260
  this.validationInline = false;
11230
11261
  this.validationStatus = "";
11231
11262
  }
11263
+ watchDisabledHandler() {
11264
+ removeDisabledFalse(this.disabled, this.el);
11265
+ }
11266
+ componentWillLoad() {
11267
+ removeDisabledFalse(this.disabled, this.el);
11268
+ }
11232
11269
  componentDidLoad() {
11233
11270
  this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
11234
11271
  this.hostMutationObserver.observe(this.el, { childList: true });
@@ -11247,7 +11284,7 @@ class InputComponentContainer {
11247
11284
  ["multiline"]: multiLine,
11248
11285
  ["fullwidth"]: fullWidth,
11249
11286
  ["dark"]: dark || appearance === "dark",
11250
- }, "aria-disabled": disabled && `${disabled}` }, hAsync("div", { class: {
11287
+ }, "aria-disabled": disabled ? "true" : null }, hAsync("div", { class: {
11251
11288
  "focus-indicator": true,
11252
11289
  dark: dark || appearance === "dark",
11253
11290
  } }, slotHasContent(this.el, "left-icon") && (hAsync("div", { class: {
@@ -11258,6 +11295,9 @@ class InputComponentContainer {
11258
11295
  }, innerHTML: successIcon })))));
11259
11296
  }
11260
11297
  get el() { return getElement(this); }
11298
+ static get watchers() { return {
11299
+ "disabled": ["watchDisabledHandler"]
11300
+ }; }
11261
11301
  static get style() { return icInputComponentContainerCss; }
11262
11302
  static get cmpMeta() { return {
11263
11303
  "$flags$": 4,
@@ -14293,6 +14333,9 @@ class MenuItem {
14293
14333
  this.toggleChecked = false;
14294
14334
  this.variant = "default";
14295
14335
  }
14336
+ watchDisabledHandler() {
14337
+ removeDisabledFalse(this.disabled, this.el);
14338
+ }
14296
14339
  componentWillLoad() {
14297
14340
  // This ensures that trigger menu items are always set to the default variant
14298
14341
  if (isPropDefined(this.submenuTriggerFor) && this.variant !== "default") {
@@ -14329,6 +14372,9 @@ class MenuItem {
14329
14372
  }
14330
14373
  static get delegatesFocus() { return true; }
14331
14374
  get el() { return getElement(this); }
14375
+ static get watchers() { return {
14376
+ "disabled": ["watchDisabledHandler"]
14377
+ }; }
14332
14378
  static get style() { return icMenuItemCss; }
14333
14379
  static get cmpMeta() { return {
14334
14380
  "$flags$": 25,
@@ -15390,6 +15436,9 @@ class Pagination {
15390
15436
  this.boundaryCount = 2;
15391
15437
  }
15392
15438
  }
15439
+ watchDisabledHandler() {
15440
+ removeDisabledFalse(this.disabled, this.el);
15441
+ }
15393
15442
  watchNumberPagesHandler() {
15394
15443
  this.watchPageChangeHandler();
15395
15444
  }
@@ -15520,6 +15569,7 @@ class Pagination {
15520
15569
  static get watchers() { return {
15521
15570
  "adjacentCount": ["watchAdjacentCountHandler"],
15522
15571
  "boundaryCount": ["watchBoundaryCountHandler"],
15572
+ "disabled": ["watchDisabledHandler"],
15523
15573
  "pages": ["watchNumberPagesHandler"],
15524
15574
  "type": ["watchTypeHandler"],
15525
15575
  "currentPage": ["watchPageChangeHandler"]
@@ -15570,6 +15620,9 @@ class PaginationItem {
15570
15620
  this.selected = false;
15571
15621
  this.type = undefined;
15572
15622
  }
15623
+ watchDisabledHandler() {
15624
+ removeDisabledFalse(this.disabled, this.el);
15625
+ }
15573
15626
  watchLabelHandler() {
15574
15627
  this.capitalizedLabel = capitalize(this.label);
15575
15628
  }
@@ -15602,6 +15655,7 @@ class PaginationItem {
15602
15655
  }
15603
15656
  get el() { return getElement(this); }
15604
15657
  static get watchers() { return {
15658
+ "disabled": ["watchDisabledHandler"],
15605
15659
  "label": ["watchLabelHandler"]
15606
15660
  }; }
15607
15661
  static get style() { return icPaginationItemCss; }
@@ -15996,6 +16050,7 @@ class RadioGroup {
15996
16050
  }
15997
16051
  watchDisabledHandler(newValue) {
15998
16052
  this.radioOptions.forEach((radioOption) => (radioOption.disabled = newValue));
16053
+ removeDisabledFalse(this.disabled, this.el);
15999
16054
  }
16000
16055
  orientationChangeHandler() {
16001
16056
  this.initialOrientation = this.orientation;
@@ -16178,6 +16233,9 @@ class RadioOption {
16178
16233
  this.selected = false;
16179
16234
  this.initiallySelected = this.selected;
16180
16235
  }
16236
+ watchDisabledHandler() {
16237
+ removeDisabledFalse(this.disabled, this.el);
16238
+ }
16181
16239
  watchSelectedHandler() {
16182
16240
  this.icSelectedChange.emit();
16183
16241
  }
@@ -16259,6 +16317,7 @@ class RadioOption {
16259
16317
  static get delegatesFocus() { return true; }
16260
16318
  get el() { return getElement(this); }
16261
16319
  static get watchers() { return {
16320
+ "disabled": ["watchDisabledHandler"],
16262
16321
  "selected": ["watchSelectedHandler"]
16263
16322
  }; }
16264
16323
  static get style() { return icRadioOptionCss; }
@@ -16608,6 +16667,9 @@ class SearchBar {
16608
16667
  this.options = [];
16609
16668
  this.value = "";
16610
16669
  }
16670
+ watchDisabledHandler() {
16671
+ removeDisabledFalse(this.disabled, this.el);
16672
+ }
16611
16673
  loadingHandler(newValue) {
16612
16674
  if (newValue && !this.hasTimedOut) {
16613
16675
  this.preLoad = false;
@@ -16773,6 +16835,7 @@ class SearchBar {
16773
16835
  static get delegatesFocus() { return true; }
16774
16836
  get el() { return getElement(this); }
16775
16837
  static get watchers() { return {
16838
+ "disabled": ["watchDisabledHandler"],
16776
16839
  "loading": ["loadingHandler"],
16777
16840
  "filteredOptions": ["filteredOptionsHandler"],
16778
16841
  "options": ["watchOptionsHandler"],
@@ -17384,6 +17447,9 @@ class Select {
17384
17447
  this.inputValueToFilter = this.value;
17385
17448
  this.currValue = this.value;
17386
17449
  }
17450
+ watchDisabledHandler() {
17451
+ removeDisabledFalse(this.disabled, this.el);
17452
+ }
17387
17453
  loadingHandler(newValue) {
17388
17454
  newValue && this.triggerLoading();
17389
17455
  }
@@ -17565,6 +17631,7 @@ class Select {
17565
17631
  static get delegatesFocus() { return true; }
17566
17632
  get el() { return getElement(this); }
17567
17633
  static get watchers() { return {
17634
+ "disabled": ["watchDisabledHandler"],
17568
17635
  "loading": ["loadingHandler"],
17569
17636
  "options": ["watchOptionsHandler"],
17570
17637
  "debounce": ["debounceChangedHandler"],
@@ -17840,9 +17907,11 @@ class SideNavigation {
17840
17907
  navItems[0].querySelector("div");
17841
17908
  const navItemSVG = navItems[0].querySelector("svg");
17842
17909
  const navStyles = {
17843
- gap: window.getComputedStyle(navItemLink).gap,
17844
- iconWidth: window.getComputedStyle(navItemSVG).width,
17845
- paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,
17910
+ gap: navItemLink ? window.getComputedStyle(navItemLink).gap : "0",
17911
+ iconWidth: navItemSVG ? window.getComputedStyle(navItemSVG).width : "0",
17912
+ paddingLeft: navItemLink
17913
+ ? window.getComputedStyle(navItemLink).paddingLeft
17914
+ : "0",
17846
17915
  };
17847
17916
  return Object.values(navStyles).reduce((prev, curr) => {
17848
17917
  return (prev += parseInt(curr));
@@ -17885,10 +17954,12 @@ class SideNavigation {
17885
17954
  * @param value - padding-top css value
17886
17955
  */
17887
17956
  this.setParentPaddingTop = (value) => {
17888
- this.el.parentElement.style.setProperty("padding-top", value);
17957
+ var _a;
17958
+ (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.style.setProperty("padding-top", value);
17889
17959
  };
17890
17960
  this.setParentPaddingLeft = (value) => {
17891
- this.el.parentElement.style.setProperty("padding-left", value);
17961
+ var _a;
17962
+ (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.style.setProperty("padding-left", value);
17892
17963
  };
17893
17964
  this.renderAppTitle = (isAppNameSubtitleVariant) => {
17894
17965
  const displayShortAppTitle = this.deviceSize <= DEVICE_SIZES.S && !isEmptyString(this.shortAppTitle);
@@ -17899,7 +17970,7 @@ class SideNavigation {
17899
17970
  : undefined }, hAsync("h1", null, displayShortAppTitle ? this.shortAppTitle : this.appTitle)));
17900
17971
  };
17901
17972
  this.resizeObserverCallback = (currSize) => {
17902
- var _a;
17973
+ var _a, _b, _c;
17903
17974
  this.deviceSize = currSize;
17904
17975
  const isSmallAndDisableTopBar = currSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour;
17905
17976
  if (!this.disableAutoParentStyling) {
@@ -17908,10 +17979,10 @@ class SideNavigation {
17908
17979
  if (isSmallAndDisableTopBar)
17909
17980
  this.setParentPaddingLeft("0");
17910
17981
  if (isSmallAndDisableTopBar && this.inline) {
17911
- this.el.parentElement.style.setProperty("height", `calc(100% - ${topBarHeight}px)`);
17982
+ (_b = this.el.parentElement) === null || _b === void 0 ? void 0 : _b.style.setProperty("height", `calc(100% - ${topBarHeight}px)`);
17912
17983
  }
17913
17984
  else if (!isSmallAndDisableTopBar) {
17914
- this.el.parentElement.style.setProperty("height", "100%");
17985
+ (_c = this.el.parentElement) === null || _c === void 0 ? void 0 : _c.style.setProperty("height", "100%");
17915
17986
  }
17916
17987
  }
17917
17988
  if (!this.disableAutoParentStyling) {
@@ -18635,6 +18706,9 @@ class Switch {
18635
18706
  checkedChangeHandler() {
18636
18707
  this.checkedState = this.checked;
18637
18708
  }
18709
+ watchDisabledHandler() {
18710
+ removeDisabledFalse(this.disabled, this.el);
18711
+ }
18638
18712
  disconnectedCallback() {
18639
18713
  removeFormResetListener(this.el, this.handleFormReset);
18640
18714
  }
@@ -18670,7 +18744,8 @@ class Switch {
18670
18744
  static get delegatesFocus() { return true; }
18671
18745
  get el() { return getElement(this); }
18672
18746
  static get watchers() { return {
18673
- "checked": ["checkedChangeHandler"]
18747
+ "checked": ["checkedChangeHandler"],
18748
+ "disabled": ["watchDisabledHandler"]
18674
18749
  }; }
18675
18750
  static get style() { return icSwitchCss; }
18676
18751
  static get cmpMeta() { return {
@@ -18751,6 +18826,9 @@ class Tab {
18751
18826
  this.tabId = undefined;
18752
18827
  this.tabPosition = undefined;
18753
18828
  }
18829
+ watchDisabledHandler() {
18830
+ removeDisabledFalse(this.disabled, this.el);
18831
+ }
18754
18832
  disabledWatchHandler() {
18755
18833
  this.tabEnabled.emit();
18756
18834
  }
@@ -18787,7 +18865,7 @@ class Tab {
18787
18865
  }
18788
18866
  get el() { return getElement(this); }
18789
18867
  static get watchers() { return {
18790
- "disabled": ["disabledWatchHandler"]
18868
+ "disabled": ["watchDisabledHandler", "disabledWatchHandler"]
18791
18869
  }; }
18792
18870
  static get style() { return icTabCss; }
18793
18871
  static get cmpMeta() { return {
@@ -19173,6 +19251,17 @@ class TextField {
19173
19251
  }
19174
19252
  });
19175
19253
  };
19254
+ this.showValidation = () => {
19255
+ const maxNumChars = this.readonly ? 0 : this.maxLength;
19256
+ const emptyString = isEmptyString(this.validationStatus) ||
19257
+ isEmptyString(this.validationText);
19258
+ const valueOutsideRange = this.minValueUnattained || this.maxValueExceeded;
19259
+ const charOutsideRange = maxNumChars > 0 ||
19260
+ this.maxCharactersError ||
19261
+ this.minCharactersUnattained;
19262
+ return ((!emptyString || valueOutsideRange || charOutsideRange) &&
19263
+ !this.validationInlineInternal);
19264
+ };
19176
19265
  this.numChars = 0;
19177
19266
  this.maxCharactersReached = false;
19178
19267
  this.maxCharactersError = false;
@@ -19222,6 +19311,9 @@ class TextField {
19222
19311
  this.value = "";
19223
19312
  this.initialValue = this.value;
19224
19313
  }
19314
+ watchDisabledHandler() {
19315
+ removeDisabledFalse(this.disabled, this.el);
19316
+ }
19225
19317
  debounceChanged() {
19226
19318
  this.icChange = debounceEvent(this.icChange, this.debounce);
19227
19319
  }
@@ -19279,7 +19371,7 @@ class TextField {
19279
19371
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
19280
19372
  }
19281
19373
  render() {
19282
- const { inputId, name, label, required, size, small, placeholder, helperText, rows, resize, disabled, value, min, max, maxLength, numChars, readonly, maxLengthExceeded, maxCharacters, maxCharactersError, maxCharactersReached, minCharacters, minCharactersUnattained, minValueUnattained, maxValueExceeded, validationStatus, validationText, validationInline, validationInlineInternal, spellcheck, inputmode, fullWidth, truncateValue, hiddenInput, } = this;
19374
+ const { inputId, name, label, required, size, small, placeholder, helperText, rows, resize, disabled, value, min, max, maxLength, numChars, readonly, maxLengthExceeded, maxCharacters, maxCharactersError, maxCharactersReached, minCharacters, minCharactersUnattained, minValueUnattained, maxValueExceeded, validationStatus, validationText, validationInline, validationInlineInternal, spellcheck, inputmode, fullWidth, truncateValue, hiddenInput, showValidation, } = this;
19283
19375
  const disabledMode = readonly || disabled;
19284
19376
  const currentStatus = maxLengthExceeded ||
19285
19377
  maxValueExceeded ||
@@ -19332,14 +19424,7 @@ class TextField {
19332
19424
  ["no-resize"]: resize === false || readonly,
19333
19425
  ["no-left-pad"]: !showLeftIcon && readonly,
19334
19426
  ["readonly"]: readonly,
19335
- }, name: name, ref: (el) => (this.inputEl = el), value: value, rows: rows, required: required, disabled: disabledMode, placeholder: placeholder ? placeholder : "", readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, autocapitalize: this.autocapitalize, autoFocus: this.autoFocus, spellcheck: spellcheck, inputmode: inputmode, maxlength: maxCharactersReached ? maxCharacters : null, minlength: minCharactersUnattained ? minCharacters : null }, this.inheritedAttributes))), isSlotUsed(this.el, "clear-button") && (hAsync("slot", { name: "clear-button" })), isSlotUsed(this.el, "search-submit-button") && (hAsync("slot", { name: "search-submit-button" }))), isSlotUsed(this.el, "menu") && hAsync("slot", { name: "menu" }), (!isEmptyString(validationStatus) ||
19336
- !isEmptyString(validationText) ||
19337
- maxNumChars > 0 ||
19338
- maxValueExceeded ||
19339
- maxCharactersError ||
19340
- minCharactersUnattained ||
19341
- minValueUnattained) &&
19342
- !validationInlineInternal && (hAsync("ic-input-validation", { status: this.hasStatus(currentStatus) === false ||
19427
+ }, name: name, ref: (el) => (this.inputEl = el), value: value, rows: rows, required: required, disabled: disabledMode, placeholder: placeholder ? placeholder : "", readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, autocapitalize: this.autocapitalize, autoFocus: this.autoFocus, spellcheck: spellcheck, inputmode: inputmode, maxlength: maxCharactersReached ? maxCharacters : null, minlength: minCharactersUnattained ? minCharacters : null }, this.inheritedAttributes))), isSlotUsed(this.el, "clear-button") && (hAsync("slot", { name: "clear-button" })), isSlotUsed(this.el, "search-submit-button") && (hAsync("slot", { name: "search-submit-button" }))), isSlotUsed(this.el, "menu") && hAsync("slot", { name: "menu" }), showValidation() && (hAsync("ic-input-validation", { status: this.hasStatus(currentStatus) === false ||
19343
19428
  (currentStatus === IcInformationStatus.Success &&
19344
19429
  validationInline) ||
19345
19430
  validationInlineInternal
@@ -19352,6 +19437,7 @@ class TextField {
19352
19437
  }
19353
19438
  get el() { return getElement(this); }
19354
19439
  static get watchers() { return {
19440
+ "disabled": ["watchDisabledHandler"],
19355
19441
  "debounce": ["debounceChanged"],
19356
19442
  "value": ["watchValueHandler"]
19357
19443
  }; }
@@ -19755,6 +19841,9 @@ class ToggleButton {
19755
19841
  this.toggleChecked = false;
19756
19842
  this.variant = "default";
19757
19843
  }
19844
+ watchDisabledHandler() {
19845
+ removeDisabledFalse(this.disabled, this.el);
19846
+ }
19758
19847
  componentWillLoad() {
19759
19848
  removeDisabledFalse(this.disabled, this.el);
19760
19849
  const parentIconPlacement = this.el.parentElement.iconPlacement;
@@ -19800,6 +19889,9 @@ class ToggleButton {
19800
19889
  }
19801
19890
  static get delegatesFocus() { return true; }
19802
19891
  get el() { return getElement(this); }
19892
+ static get watchers() { return {
19893
+ "disabled": ["watchDisabledHandler"]
19894
+ }; }
19803
19895
  static get style() { return icToggleButtonCss; }
19804
19896
  static get cmpMeta() { return {
19805
19897
  "$flags$": 25,
@@ -19917,6 +20009,9 @@ class ToggleButtonGroup {
19917
20009
  this.size = "default";
19918
20010
  this.variant = "default";
19919
20011
  }
20012
+ watchDisabledHandler() {
20013
+ removeDisabledFalse(this.disabled, this.el);
20014
+ }
19920
20015
  selectHandler(ev, tabTarget) {
19921
20016
  const allToggles = this.getAllToggleButtons();
19922
20017
  let clickedToggle = ev.target;
@@ -19950,6 +20045,7 @@ class ToggleButtonGroup {
19950
20045
  componentWillLoad() {
19951
20046
  this.selectType === "multi" && (this.selectMethod = "manual");
19952
20047
  document.addEventListener("keydown", this.keyListener);
20048
+ removeDisabledFalse(this.disabled, this.el);
19953
20049
  }
19954
20050
  componentDidLoad() {
19955
20051
  this.getAllToggleButtons().forEach((el, i) => {
@@ -19994,6 +20090,9 @@ class ToggleButtonGroup {
19994
20090
  }, onFocus: this.handleHostFocus }, hAsync("slot", null)));
19995
20091
  }
19996
20092
  get el() { return getElement(this); }
20093
+ static get watchers() { return {
20094
+ "disabled": ["watchDisabledHandler"]
20095
+ }; }
19997
20096
  static get style() { return icToggleButtonGroupCss; }
19998
20097
  static get cmpMeta() { return {
19999
20098
  "$flags$": 9,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukic/web-components",
3
- "version": "2.32.0",
3
+ "version": "2.33.0",
4
4
  "description": "A web component UI library compiled with StencilJS",
5
5
  "author": "mi6",
6
6
  "bugs": {
@@ -45,12 +45,6 @@
45
45
  "lint:fix": "echo '*** Linting CSS ***' && stylelint --config ../../.stylelintrc.json src/**/*.css --fix && echo '*** Linting standard files ***' && eslint --config ../../.eslintrc.js src --fix",
46
46
  "start": "npx http-server storybook-static -s",
47
47
  "kill": "kill-port 8080 --graceful",
48
- "loki-tests": "loki --requireReference --port 8080 --chromeTolerance=1 --chromeRetries=1 --chromeConcurrency=1 && npm run kill",
49
- "loki-tests:ci": "loki --requireReference --port 8080 --chromeFlags=\"--no-sandbox --headless --hide-scrollbars --disable-gpu\" --chromeTolerance=1 --chromeRetries=1 --chromeConcurrency=1 && npm run kill",
50
- "loki-tests:update": "loki update --port 8080 --chromeTolerance=1 --chromeRetries=1 --chromeConcurrency=1 && npm run kill",
51
- "test-visual": "npm-run-all --parallel start loki-tests",
52
- "test-visual:ci": "npm-run-all --parallel start loki-tests:ci",
53
- "test-visual:update": "npm run build-storybook && npm-run-all --parallel start loki-tests:update",
54
48
  "audit": "echo 'Audit for: @ukic/web-components' & audit-ci -m --config ../../audit-ci.json"
55
49
  },
56
50
  "dependencies": {
@@ -78,6 +72,8 @@
78
72
  "@types/autoprefixer": "^10.2.0",
79
73
  "@types/jest": "^26.0.24",
80
74
  "@types/jest-axe": "^3.5.3",
75
+ "@types/react": "^17.0.37",
76
+ "@types/react-dom": "^17.0.11",
81
77
  "autoprefixer": "^10.4.2",
82
78
  "babel-loader": "^8.2.3",
83
79
  "jest": "^26.6.3",
@@ -85,7 +81,6 @@
85
81
  "jest-cli": "^26.6.3",
86
82
  "kill-port-process": "^3.2.1",
87
83
  "lit": "^2.0.2",
88
- "loki": "^0.34.0",
89
84
  "npm-run-all": "^4.1.5",
90
85
  "puppeteer": "^13.1.3",
91
86
  "react": "^17.0.0",
@@ -96,5 +91,5 @@
96
91
  "webpack": "^5.76.0"
97
92
  },
98
93
  "license": "MIT",
99
- "gitHead": "aff793113e94a59e56cc50e22325beb68593192a"
94
+ "gitHead": "601e99c0c72212bc0e7f74e378188f05d9ffb3bb"
100
95
  }
package/vscode-data.json CHANGED
@@ -837,6 +837,10 @@
837
837
  "name": "disabled",
838
838
  "description": "If `true`, the chip will appear disabled."
839
839
  },
840
+ {
841
+ "name": "dismiss-label",
842
+ "description": "The text in the dismiss button tooltip and aria label."
843
+ },
840
844
  {
841
845
  "name": "dismissible",
842
846
  "description": "If `true`, the chip will have a close button at the end to dismiss it."
@@ -1 +0,0 @@
1
- {"file":"helpers-94b33ab0.js","mappings":"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","names":["IcThemeForegroundEnum"],"sources":["src/utils/constants.ts","src/utils/helpers.ts"],"sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n","import { EventEmitter } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n IcDeviceSizes,\n IcColor,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\nconst icInput = \"ic-input\";\nconst linkIcInput = \"input.ic-input\";\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: string } => {\n const attributeObject: { [key: string]: string } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = value;\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | Date | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(linkIcInput);\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : null;\n } else {\n input.value = value || \"\";\n }\n }\n};\n\n/**\n * This method is used to add a hidden file input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param event: The event that is emitted once a file is selected.\n * @param container The element where the input will be added\n * @param multiple If true, multiple files can be selected\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n * @param accept A string of the accepted files\n */\nexport const renderFileHiddenInput = (\n event: EventEmitter,\n container: HTMLElement,\n multiple: boolean,\n name: string,\n value: FileList | undefined | null,\n disabled: boolean,\n accept: string\n): void => {\n if (name !== undefined && hasShadowDom(container)) {\n const inputs = container.querySelectorAll(linkIcInput);\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.type = \"file\";\n input.hidden = true;\n input.multiple = multiple;\n input.name = name;\n input.files = value;\n input.disabled = disabled;\n input.accept = accept;\n input.onchange = () => {\n event.emit(input.files);\n };\n input.click();\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean =>\n !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\n/**\n * Checks if the current device is a mobile or tablet device.\n * @returns {boolean} Returns true if the device is a mobile or tablet device, otherwise returns false.\n */\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator && \"userAgent\" in navigator\n ? navigator.maxTouchPoints > 0 &&\n /iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n )\n : false;\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean =>\n value ? value.trim().length === 0 : true;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop: string): string | null =>\n prop !== undefined ? prop : null;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[],\n valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions,\n labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === \"anywhere\"\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = (): number => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n return (\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n * @param brightness - Optional custom brightness value. Defaults to `getThemeColorBrightness`\n */\nexport const getThemeForegroundColor = (\n brightness = getThemeColorBrightness()\n): IcThemeForeground =>\n brightness > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : slot.tagName ? [slot] : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = ({\n parentElement,\n}: HTMLElement): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (parentElement.tagName) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: parentElement };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: parentElement };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(\n getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 0\n S: Number(\n getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 576\n M: Number(\n getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 768\n L: Number(\n getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 992\n XL: Number(\n getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => !!status && !disabled;\n\nexport const isSlotUsed = (\n { children }: HTMLElement,\n slotName: string\n): boolean =>\n Array.from(children).some((child) => child.getAttribute(\"slot\") === slotName);\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n props.forEach(({ prop, propName }) => {\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n });\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string =>\n kebabCase\n .toLowerCase()\n .split(\"-\")\n .map((word, index) =>\n index === 0\n ? word\n : `${word.substring(0, 1).toUpperCase()}${word.substring(1)}`\n )\n .join(\"\");\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = (v: string) => parseInt(v, 16);\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n const hexChars = hex\n .replace(\"#\", \"\")\n .split(\"\")\n .map((char) => char.repeat(2));\n return {\n r: hex2dec(hex.length === 4 ? hexChars[0] : hex.slice(1, 3)),\n g: hex2dec(hex.length === 4 ? hexChars[1] : hex.slice(3, 5)),\n b: hex2dec(hex.length === 4 ? hexChars[2] : hex.slice(5)),\n a: 1,\n };\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const isRGBA = rgbaStr.slice(3, 4).toLowerCase() === \"a\";\n const rgbValues = rgbaStr\n .substring(isRGBA ? 5 : 4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\")\n .map(Number);\n return {\n r: rgbValues[0],\n g: rgbValues[1],\n b: rgbValues[2],\n a: isRGBA ? rgbValues[3] : 1,\n };\n};\n\nexport const elementOverflowsX = ({\n scrollWidth,\n clientWidth,\n}: HTMLElement): boolean => scrollWidth > clientWidth;\n\nexport const hasClassificationBanner = (): boolean =>\n !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.addEventListener(\"reset\", callbackFn);\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.removeEventListener(\"reset\", callbackFn);\n};\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean =>\n window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n\nexport const isNumeric = (value: string): boolean => /^-?\\d+$/.test(value);\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nexport const convertToRGBA = (color: IcColor): IcColorRGBA | null => {\n const firstChar = color?.slice(0, 1).toLowerCase();\n return firstChar === \"#\"\n ? hexToRgba(color)\n : firstChar === \"r\"\n ? rgbaStrToObj(color)\n : null;\n};\n\nexport const capitalize = (text: string): string =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\nexport const checkSlotInChildMutations = (\n addedNodes: NodeList,\n removedNodes: NodeList,\n slotName: string | string[]\n): boolean => {\n const hasSlot = (nodeList: NodeList) =>\n Array.from(nodeList).some((node) =>\n Array.isArray(slotName)\n ? slotName.some((name) => (node as Element).slot === name)\n : (node as Element).slot === slotName\n );\n return hasSlot(addedNodes) || hasSlot(removedNodes);\n};\n\nexport const isElInAGGrid = (el: HTMLElement): boolean =>\n !!el.closest(\".ag-cell\") && !!el.closest(\".ag-root\");\n"],"version":3}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icPaginationItemCss","PaginationItem","this","handleClick","paginationItemClick","emit","page","watchLabelHandler","capitalizedLabel","capitalize","label","componentWillLoad","removeDisabledFalse","disabled","el","render","selected","type","appearance","h","class","variant","onClick","tabindex","role"],"sources":["src/components/ic-pagination-item/ic-pagination-item.css?tag=ic-pagination-item&encapsulation=shadow","src/components/ic-pagination-item/ic-pagination-item.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\na {\n text-align: center;\n}\n\n.item-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: calc(var(--ic-space-xl) + var(--ic-space-sm));\n height: var(--ic-space-xl);\n margin: var(--ic-space-xxs) var(--ic-space-xxxs);\n cursor: pointer;\n text-decoration: none;\n}\n\nbutton {\n background: none;\n border: none;\n outline: inherit;\n position: relative;\n}\n\n.ellipsis {\n pointer-events: none;\n color: var(--ic-color-secondary-text);\n}\n\n.item-container:focus {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n}\n\n.page {\n color: var(--ic-action-default);\n}\n\n.simple-current {\n min-width: calc(var(--ic-space-xxl) + var(--ic-space-md));\n height: var(--ic-space-lg);\n cursor: default;\n}\n\n/** DEFAULT STATES **/\n.item-container.page:hover:not(.selected):not(:focus) {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-action-default-bg-hover);\n}\n\n.item-container.page:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-default-bg-active);\n}\n\n.selected {\n pointer-events: none;\n outline: none;\n}\n\n.selected::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-default);\n}\n\n.page-selected {\n color: var(--ic-color-primary-text);\n}\n\n/** LIGHT STATES **/\n.item-container.page.light:hover:not(.selected):not(:focus) {\n background-color: var(--ic-action-light-bg-hover);\n}\n\n.item-container.page.light:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-light-bg-active);\n}\n\nic-typography.light {\n color: var(--ic-color-white-text);\n}\n\n.selected.light::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-light);\n}\n\n/** DARK STATES **/\n.item-container.page.dark:hover:not(.selected):not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.item-container.page.dark:active:not(.selected):not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\nic-typography.dark {\n color: var(--ic-color-primary-text);\n}\n\n.selected.dark::after {\n content: \"\";\n height: var(--ic-space-xxs);\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-action-dark);\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n@media (forced-colors: active) {\n .selected::after {\n background-color: Highlight;\n }\n\n .selected.light::after {\n background-color: Highlight;\n }\n\n .selected.dark::after {\n background-color: Highlight;\n }\n\n .disabled {\n color: GrayText;\n }\n}\n","import {\n Component,\n Prop,\n State,\n Element,\n h,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport { IcPaginationItemType } from \"./ic-pagination-item.types\";\nimport { IcThemeForeground } from \"../../utils/types\";\nimport { removeDisabledFalse, capitalize } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination-item\",\n styleUrl: \"ic-pagination-item.css\",\n shadow: true,\n})\nexport class PaginationItem {\n @Element() el: HTMLIcPaginationItemElement;\n\n @State() capitalizedLabel: string;\n\n /**\n * The appearance of the pagination, e.g. dark, light or the default.\n */\n @Prop() appearance: IcThemeForeground = \"default\";\n\n /**\n * If `true`, the pagination item will be disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label: string = \"Page\";\n\n @Watch(\"label\")\n watchLabelHandler(): void {\n this.capitalizedLabel = capitalize(this.label);\n }\n\n /**\n * The current page number.\n */\n @Prop() page: number | null;\n\n /**\n * If `true`, the pagination item will be selected.\n */\n @Prop() selected: boolean = false;\n\n /**\n * The type of pagination item - 'page' or 'ellipsis'.\n */\n @Prop() type: IcPaginationItemType;\n\n /**\n * @internal - Emitted when a pagination item is clicked.\n */\n @Event() paginationItemClick: EventEmitter<{ page: number }>;\n\n componentWillLoad(): void {\n this.watchLabelHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n private handleClick = () => {\n this.paginationItemClick.emit({ page: this.page });\n };\n\n render() {\n const {\n page,\n selected,\n type,\n disabled,\n appearance,\n label,\n capitalizedLabel,\n } = this;\n\n return (\n <a>\n {type === \"ellipsis\" ? (\n <div\n class={{\n [\"item-container\"]: true,\n [\"ellipsis\"]: true,\n [\"disabled\"]: disabled,\n }}\n >\n <ic-typography\n class={{\n [`${appearance}`]: true,\n }}\n variant=\"label\"\n >\n ...\n </ic-typography>\n </div>\n ) : type === \"page\" ? (\n <button\n disabled={disabled}\n onClick={this.handleClick}\n tabindex={selected ? \"-1\" : \"0\"}\n role=\"button\"\n aria-current={selected && \"page\"}\n aria-label={\n selected ? `${label}: ${page}` : `Go to ${label} ${page}`\n }\n class={{\n [\"selected\"]: !disabled && selected,\n [\"disabled\"]: disabled,\n [\"item-container\"]: true,\n [`${appearance}`]: true,\n [\"page\"]: type === \"page\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"page-selected\"]: selected,\n [\"disabled\"]: disabled,\n [`${appearance}`]: true,\n }}\n >\n {page}\n </ic-typography>\n </button>\n ) : (\n <ic-typography\n aria-live=\"polite\"\n class={{\n [`simple-current ${appearance}`]: true,\n [\"disabled\"]: disabled,\n }}\n variant=\"label\"\n >\n {capitalizedLabel} {page}\n </ic-typography>\n )}\n </a>\n );\n }\n}\n"],"mappings":"4HAAA,MAAMA,EAAsB,kpJ,MCmBfC,EAAc,M,kFAkDjBC,KAAAC,YAAc,KACpBD,KAAKE,oBAAoBC,KAAK,CAAEC,KAAMJ,KAAKI,MAAO,E,gDA3CZ,U,cAKZ,M,WAKJ,O,kCAeI,M,oBAZ5B,iBAAAC,GACEL,KAAKM,iBAAmBC,EAAWP,KAAKQ,M,CAuB1C,iBAAAC,GACET,KAAKK,oBACLK,EAAoBV,KAAKW,SAAUX,KAAKY,G,CAO1C,MAAAC,GACE,MAAMT,KACJA,EAAIU,SACJA,EAAQC,KACRA,EAAIJ,SACJA,EAAQK,WACRA,EAAUR,MACVA,EAAKF,iBACLA,GACEN,KAEJ,OACEiB,EAAA,SACGF,IAAS,WACRE,EAAA,OACEC,MAAO,CACL,CAAC,kBAAmB,KACpB,CAAC,YAAa,KACd,CAAC,YAAaP,IAGhBM,EAAA,iBACEC,MAAO,CACL,CAAC,GAAGF,KAAe,MAErBG,QAAQ,SAAO,QAKjBJ,IAAS,OACXE,EAAA,UACEN,SAAUA,EACVS,QAASpB,KAAKC,YACdoB,SAAUP,EAAW,KAAO,IAC5BQ,KAAK,SAAQ,eACCR,GAAY,OAAM,aAE9BA,EAAW,GAAGN,MAAUJ,IAAS,SAASI,KAASJ,IAErDc,MAAO,CACL,CAAC,aAAcP,GAAYG,EAC3B,CAAC,YAAaH,EACd,CAAC,kBAAmB,KACpB,CAAC,GAAGK,KAAe,KACnB,CAAC,QAASD,IAAS,SAGrBE,EAAA,iBACEE,QAAQ,QACRD,MAAO,CACL,CAAC,iBAAkBJ,EACnB,CAAC,YAAaH,EACd,CAAC,GAAGK,KAAe,OAGpBZ,IAILa,EAAA,6BACY,SACVC,MAAO,CACL,CAAC,kBAAkBF,KAAe,KAClC,CAAC,YAAaL,GAEhBQ,QAAQ,SAEPb,EAAgB,IAAGF,G"}