@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
@@ -1 +1 @@
1
- {"version":3,"file":"ic-pagination.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination/test/basic/ic-pagination.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pagination } from \"../../ic-pagination\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { newSpecPage } from \"@stencil/core/testing\";\nimport { AnyHTMLElement } from \"@stencil/core/internal\";\nimport { PaginationItem } from \"../../../ic-pagination-item/ic-pagination-item\";\n\ndescribe(\"ic-pagination simple appearance component\", () => {\n it(\"should render with 10 pages\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=10></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with ten pages\");\n });\n it(\"should render on the last page\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" default-page=\"15\"></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render on the last page\");\n });\n\n it(\"should render with the default page selected\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" default-page=4></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render at the default page\");\n });\n\n it(\"should render with first and last buttons disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" hide-first-page-button=true hide-last-page-button=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"no first or last page button\");\n });\n it(\"should render without current page\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" hide-current-page=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"no current page\");\n });\n it(\"should render all pages when total pages less than min width based on boundary-count and adjacent-count\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination\n pages=\"11\"\n type=\"complex\"\n adjacent-count=\"2\"\n boundary-count=\"2\"></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"pages less than adjacent-count + boundary-count\"\n );\n });\n it(\"should render with interactions disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" loading=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"loading\");\n });\n it(\"should click the next page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#next-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(2);\n });\n\n it(\"should click the last page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#last-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(15);\n });\n it(\"should click the previous page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#previous-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(4);\n });\n it(\"should click the first page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#first-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n});\ndescribe(\"ic-pagination complex type\", () => {\n it(\"should render as complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex'></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\"render complex pagination\");\n });\n\n it(\"should render as complex type without first page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex' hide-first-page-button=true></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with no first page button\"\n );\n });\n\n it(\"should render as complex type without last page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex' hide-last-page-button=true></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with no last page button\"\n );\n });\n\n it(\"should render as complex type with 20 pages\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination type=\"complex\" pages=20></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with 20 pages\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination\n pages=15\n type=\"complex\"\n adjacent-count=0\n ></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items with default page set at 7\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=0 boundary-count=0 default-page=7></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items and default page 7\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items with default page set at 15\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=0 boundary-count=0 default-page=15></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items and default page 15\"\n );\n });\n\n it(\"should render in complex type with 1 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=1 boundary-count=0></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 1 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=2 boundary-count=0></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 1 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=0 boundary-count=1></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 1 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=0 boundary-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should render as complex type with 1 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=1 boundary-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 1 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 1 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=2 boundary-count=1></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 1 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=2 boundary-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should click the next page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=15 type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#next-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the previous page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#previous-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the last page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#last-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the first page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#first-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await pageEl.click();\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the pagination-item in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=2></ic-pagination>\n `,\n });\n\n const icPagItem = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n const btn = (await icPagItem.shadowRoot.querySelector(\n \".item-container.default.page\"\n )) as AnyHTMLElement;\n\n await btn.click();\n await icPagItem.click();\n await page.waitForChanges();\n\n expect(icPagItem.page).toBe(1);\n });\n\n it(\"should emit an event\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=2></ic-pagination>\n `,\n });\n await page.rootInstance.paginationItemClickHandler({ detail: { page: 1 } });\n await page.waitForChanges();\n\n expect(page.root.currentPage).toBe(1);\n });\n\n it(\"should not allow boundaryCount greater than 2\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" boundary-count=3></ic-pagination>`,\n });\n\n expect(page.rootInstance.boundaryCount).toEqual(2);\n });\n\n it(\"should not allow boundaryCount greater than 2 - when changed from initial value\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\"></ic-pagination>`,\n });\n\n page.root.boundaryCount = 3;\n await page.waitForChanges();\n\n expect(page.rootInstance.boundaryCount).toEqual(2);\n });\n\n it(\"should not allow adjacentCount greater than 2\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=3></ic-pagination>`,\n });\n\n expect(page.rootInstance.adjacentCount).toEqual(2);\n });\n\n it(\"should not allow adjacentCount greater than 2 - when changed from initial value\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\"></ic-pagination>`,\n });\n\n page.root.adjacentCount = 3;\n await page.waitForChanges();\n\n expect(page.rootInstance.adjacentCount).toEqual(2);\n });\n\n it(\"should test switching to complex pagination type\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15></ic-pagination>`,\n });\n\n expect(page.rootInstance.pages).toEqual(15);\n\n page.root.type = \"complex\";\n await page.waitForChanges();\n\n expect(page.rootInstance.startItems).toEqual([1]);\n expect(page.rootInstance.endItems).toEqual([15]);\n expect(page.rootInstance.midItems).toEqual([2, 3, 4, 5]);\n });\n});\ndescribe(\"ic-pagination appearance tests\", () => {\n it(\"should render as simple type in dark appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" appearance='dark'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render dark simple pagination\");\n });\n it(\"should render as simple type in light appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" appearance='light'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render light simple pagination\");\n });\n it(\"should render as complex type in dark appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" type='complex' appearance='dark'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render dark complex pagination\");\n });\n it(\"should render as complex type in light appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" type='complex' appearance='light'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render light complex pagination\");\n });\n\n it(\"should change page when current page set with public method\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\"></ic-pagination>\n `,\n });\n expect(page.rootInstance.currentPage).toBe(1);\n\n await page.root.setCurrentPage(3);\n await page.waitForChanges();\n\n expect(page.rootInstance.currentPage).toBe(3);\n });\n\n it(\"should update number of pages dynamically if the prop is updated\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15></ic-pagination>`,\n });\n\n expect(page.rootInstance.pages).toEqual(15);\n\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n\n page.rootInstance.pages = 7;\n\n await page.waitForChanges();\n\n expect(page.rootInstance.pages).toEqual(7);\n });\n});\n"]}
1
+ {"version":3,"file":"ic-pagination.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination/test/basic/ic-pagination.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pagination } from \"../../ic-pagination\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { newSpecPage } from \"@stencil/core/testing\";\nimport { AnyHTMLElement } from \"@stencil/core/internal\";\nimport { PaginationItem } from \"../../../ic-pagination-item/ic-pagination-item\";\n\ndescribe(\"ic-pagination simple appearance component\", () => {\n it(\"should render with 10 pages\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=10></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with ten pages\");\n });\n it(\"should render on the last page\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" default-page=\"15\"></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render on the last page\");\n });\n\n it(\"should render with the default page selected\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" default-page=4></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render at the default page\");\n });\n\n it(\"should render with first and last buttons disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" hide-first-page-button=true hide-last-page-button=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"no first or last page button\");\n });\n it(\"should render without current page\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" hide-current-page=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"no current page\");\n });\n it(\"should render all pages when total pages less than min width based on boundary-count and adjacent-count\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination\n pages=\"11\"\n type=\"complex\"\n adjacent-count=\"2\"\n boundary-count=\"2\"></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"pages less than adjacent-count + boundary-count\"\n );\n });\n it(\"should render with interactions disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" loading=true></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"loading\");\n });\n it(\"should click the next page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#next-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(2);\n });\n\n it(\"should click the last page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#last-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(15);\n });\n it(\"should click the previous page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#previous-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(4);\n });\n it(\"should click the first page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#first-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should render disabled\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=10 disabled></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.disabled = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot(\"disabled-removed\");\n });\n});\ndescribe(\"ic-pagination complex type\", () => {\n it(\"should render as complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex'></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\"render complex pagination\");\n });\n\n it(\"should render as complex type without first page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex' hide-first-page-button=true></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with no first page button\"\n );\n });\n\n it(\"should render as complex type without last page button\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type='complex' hide-last-page-button=true></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with no last page button\"\n );\n });\n\n it(\"should render as complex type with 20 pages\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination type=\"complex\" pages=20></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex pagination with 20 pages\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination\n pages=15\n type=\"complex\"\n adjacent-count=0\n ></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items with default page set at 7\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=0 boundary-count=0 default-page=7></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items and default page 7\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 0 boundary items with default page set at 15\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=0 boundary-count=0 default-page=15></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 0 boundary items and default page 15\"\n );\n });\n\n it(\"should render in complex type with 1 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=1 boundary-count=0></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 1 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 0 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=2 boundary-count=0></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 0 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 1 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=0 boundary-count=1></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 1 boundary items\"\n );\n });\n\n it(\"should render as complex type with 0 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=0 boundary-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 0 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should render as complex type with 1 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=1 boundary-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 1 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 1 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=2 boundary-count=1></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 1 boundary items\"\n );\n });\n\n it(\"should render as complex type with 2 adjacent items and 2 boundary items\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=2 boundary-count=2></ic-pagination>`,\n });\n expect(page.root).toMatchSnapshot(\n \"render complex type with 2 adjacent items and 2 boundary items\"\n );\n });\n\n it(\"should click the next page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=15 type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#next-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the previous page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#previous-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the last page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=5></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#last-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the first page button in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=\"15\"></ic-pagination>\n `,\n });\n\n const btn = (await page.root.shadowRoot.querySelector(\n \"#first-page-button\"\n )) as HTMLIcButtonElement;\n const pageEl = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n await pageEl.click();\n await btn.click();\n await page.waitForChanges();\n\n expect(pageEl.page).toBe(1);\n });\n it(\"should click the pagination-item in complex type\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=2></ic-pagination>\n `,\n });\n\n const icPagItem = (await page.root.shadowRoot.querySelector(\n \"ic-pagination-item\"\n )) as HTMLIcPaginationItemElement;\n\n const btn = (await icPagItem.shadowRoot.querySelector(\n \".item-container.default.page\"\n )) as AnyHTMLElement;\n\n await btn.click();\n await icPagItem.click();\n await page.waitForChanges();\n\n expect(icPagItem.page).toBe(1);\n });\n\n it(\"should emit an event\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\" default-page=2></ic-pagination>\n `,\n });\n await page.rootInstance.paginationItemClickHandler({ detail: { page: 1 } });\n await page.waitForChanges();\n\n expect(page.root.currentPage).toBe(1);\n });\n\n it(\"should not allow boundaryCount greater than 2\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" boundary-count=3></ic-pagination>`,\n });\n\n expect(page.rootInstance.boundaryCount).toEqual(2);\n });\n\n it(\"should not allow boundaryCount greater than 2 - when changed from initial value\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\"></ic-pagination>`,\n });\n\n page.root.boundaryCount = 3;\n await page.waitForChanges();\n\n expect(page.rootInstance.boundaryCount).toEqual(2);\n });\n\n it(\"should not allow adjacentCount greater than 2\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\" adjacent-count=3></ic-pagination>`,\n });\n\n expect(page.rootInstance.adjacentCount).toEqual(2);\n });\n\n it(\"should not allow adjacentCount greater than 2 - when changed from initial value\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15 type=\"complex\"></ic-pagination>`,\n });\n\n page.root.adjacentCount = 3;\n await page.waitForChanges();\n\n expect(page.rootInstance.adjacentCount).toEqual(2);\n });\n\n it(\"should test switching to complex pagination type\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15></ic-pagination>`,\n });\n\n expect(page.rootInstance.pages).toEqual(15);\n\n page.root.type = \"complex\";\n await page.waitForChanges();\n\n expect(page.rootInstance.startItems).toEqual([1]);\n expect(page.rootInstance.endItems).toEqual([15]);\n expect(page.rootInstance.midItems).toEqual([2, 3, 4, 5]);\n });\n});\ndescribe(\"ic-pagination appearance tests\", () => {\n it(\"should render as simple type in dark appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" appearance='dark'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render dark simple pagination\");\n });\n it(\"should render as simple type in light appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" appearance='light'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render light simple pagination\");\n });\n it(\"should render as complex type in dark appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" type='complex' appearance='dark'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render dark complex pagination\");\n });\n it(\"should render as complex type in light appearance\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=\"15\" type='complex' appearance='light'></ic-pagination>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render light complex pagination\");\n });\n\n it(\"should change page when current page set with public method\", async () => {\n const page = await newSpecPage({\n components: [Pagination, Button, PaginationItem],\n html: `<ic-pagination pages=\"15\" type=\"complex\"></ic-pagination>\n `,\n });\n expect(page.rootInstance.currentPage).toBe(1);\n\n await page.root.setCurrentPage(3);\n await page.waitForChanges();\n\n expect(page.rootInstance.currentPage).toBe(3);\n });\n\n it(\"should update number of pages dynamically if the prop is updated\", async () => {\n const page = await newSpecPage({\n components: [Pagination],\n html: `<ic-pagination pages=15></ic-pagination>`,\n });\n\n expect(page.rootInstance.pages).toEqual(15);\n\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n\n page.rootInstance.pages = 7;\n\n await page.waitForChanges();\n\n expect(page.rootInstance.pages).toEqual(7);\n });\n});\n"]}
@@ -13,6 +13,9 @@ export class PaginationItem {
13
13
  this.selected = false;
14
14
  this.type = undefined;
15
15
  }
16
+ watchDisabledHandler() {
17
+ removeDisabledFalse(this.disabled, this.el);
18
+ }
16
19
  watchLabelHandler() {
17
20
  this.capitalizedLabel = capitalize(this.label);
18
21
  }
@@ -206,6 +209,9 @@ export class PaginationItem {
206
209
  static get elementRef() { return "el"; }
207
210
  static get watchers() {
208
211
  return [{
212
+ "propName": "disabled",
213
+ "methodName": "watchDisabledHandler"
214
+ }, {
209
215
  "propName": "label",
210
216
  "methodName": "watchLabelHandler"
211
217
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"ic-pagination-item.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-item/ic-pagination-item.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"ic-pagination-item.js","sourceRoot":"","sources":["../../../src/components/ic-pagination-item/ic-pagination-item.tsx"],"names":[],"mappings":"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","sourcesContent":["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 @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\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"]}
@@ -42,6 +42,9 @@ describe("ic-pagination-item", () => {
42
42
  html: `<ic-pagination-item page=1 type="page" disabled></ic-pagination-item>`,
43
43
  });
44
44
  expect(page.root).toMatchSnapshot("render disabled");
45
+ page.rootInstance.disabled = false;
46
+ await page.waitForChanges();
47
+ expect(page.root).toMatchSnapshot("disabled-removed");
45
48
  });
46
49
  it("should render as ellipsis type", async () => {
47
50
  const page = await newSpecPage({
@@ -1 +1 @@
1
- {"version":3,"file":"ic-pagination-item.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination-item/test/basic/ic-pagination-item.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { PaginationItem } from \"../../ic-pagination-item\";\nimport { newSpecPage } from \"@stencil/core/testing\";\n\ndescribe(\"ic-pagination-item\", () => {\n it(\"should render default pagination item\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render default pagination item\");\n });\n\n it(\"should render with custom label\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 label=\"screen\"></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with custom label\");\n });\n\n it(\"should render with dark appearance\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"page\" appearance=\"dark\"></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with dark appearance\");\n });\n\n it(\"should render with light appearance\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"page\" appearance=\"light\"></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with light appearance\");\n });\n\n it(\"should render as selected item\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"page\" selected></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render as selected item\");\n });\n\n it(\"should render disabled\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"page\" disabled></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render disabled\");\n });\n\n it(\"should render as ellipsis type\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"ellipsis\"></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render as ellipsis type\");\n });\n\n it(\"should render disabled ellipsis type\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"ellipsis\" disabled></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render disabled ellipsis type\");\n });\n\n it(\"should test paginationItemClick event\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1></ic-pagination-item>`,\n });\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"paginationItemClick\", eventSpy);\n\n page.rootInstance.handleClick();\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n page: 1,\n }),\n })\n );\n });\n});\n"]}
1
+ {"version":3,"file":"ic-pagination-item.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-pagination-item/test/basic/ic-pagination-item.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { PaginationItem } from \"../../ic-pagination-item\";\nimport { newSpecPage } from \"@stencil/core/testing\";\n\ndescribe(\"ic-pagination-item\", () => {\n it(\"should render default pagination item\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render default pagination item\");\n });\n\n it(\"should render with custom label\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 label=\"screen\"></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with custom label\");\n });\n\n it(\"should render with dark appearance\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"page\" appearance=\"dark\"></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with dark appearance\");\n });\n\n it(\"should render with light appearance\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"page\" appearance=\"light\"></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render with light appearance\");\n });\n\n it(\"should render as selected item\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"page\" selected></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render as selected item\");\n });\n\n it(\"should render disabled\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"page\" disabled></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render disabled\");\n\n page.rootInstance.disabled = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot(\"disabled-removed\");\n });\n\n it(\"should render as ellipsis type\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"ellipsis\"></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render as ellipsis type\");\n });\n\n it(\"should render disabled ellipsis type\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1 type=\"ellipsis\" disabled></ic-pagination-item>`,\n });\n\n expect(page.root).toMatchSnapshot(\"render disabled ellipsis type\");\n });\n\n it(\"should test paginationItemClick event\", async () => {\n const page = await newSpecPage({\n components: [PaginationItem],\n html: `<ic-pagination-item page=1></ic-pagination-item>`,\n });\n\n const eventSpy = jest.fn();\n\n page.root.addEventListener(\"paginationItemClick\", eventSpy);\n\n page.rootInstance.handleClick();\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n detail: expect.objectContaining({\n page: 1,\n }),\n })\n );\n });\n});\n"]}
@@ -98,6 +98,7 @@ export class RadioGroup {
98
98
  }
99
99
  watchDisabledHandler(newValue) {
100
100
  this.radioOptions.forEach((radioOption) => (radioOption.disabled = newValue));
101
+ removeDisabledFalse(this.disabled, this.el);
101
102
  }
102
103
  orientationChangeHandler() {
103
104
  this.initialOrientation = this.orientation;
@@ -1 +1 @@
1
- {"version":3,"file":"ic-radio-group.js","sourceRoot":"","sources":["../../../src/components/ic-radio-group/ic-radio-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n hasValidationStatus,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n renderHiddenInput,\n checkResizeObserver,\n} from \"../../utils/helpers\";\nimport {\n IcInformationStatusOrEmpty,\n IcOrientation,\n IcSizesNoLarge,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-radio-group.types\";\n\n@Component({\n tag: \"ic-radio-group\",\n styleUrl: \"ic-radio-group.css\",\n shadow: true,\n})\nexport class RadioGroup {\n private radioContainer: HTMLDivElement;\n private radioOptions: HTMLIcRadioOptionElement[];\n private resizeObserver: ResizeObserver = null;\n private ADDITIONAL_FIELD = \"additional-field\";\n private RADIO_HORIZONTAL: IcOrientation = \"horizontal\";\n private RADIO_VERTICAL: IcOrientation = \"vertical\";\n\n @Element() el: HTMLIcRadioGroupElement;\n\n @State() checkedValue: string = \"\";\n @State() currentOrientation: IcOrientation;\n @State() initialOrientation: IcOrientation;\n @State() selectedChild: number = -1;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n @Watch(\"disabled\")\n watchDisabledHandler(newValue: boolean): void {\n this.radioOptions.forEach(\n (radioOption) => (radioOption.disabled = newValue)\n );\n }\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the radio group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the radio group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n /**\n * The orientation of the radio buttons in the radio group. If there are more than two radio buttons in a radio group or either of the radio buttons use the `additional-field` slot, then the orientation will always be vertical.\n */\n @Prop() orientation: IcOrientation = \"vertical\";\n\n /**\n * If `true`, the radio group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the radio group component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n /**\n * The validation text - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n @Watch(\"orientation\")\n orientationChangeHandler(): void {\n this.initialOrientation = this.orientation;\n this.checkOrientation();\n }\n\n /**\n * Emitted when a user selects a radio.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n this.radioContainer?.removeEventListener(\n \"slotchange\",\n this.setRadioOptions\n );\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n this.orientationChangeHandler();\n this.currentOrientation = this.initialOrientation;\n }\n\n componentDidLoad(): void {\n this.setRadioOptions();\n checkResizeObserver(this.runResizeObserver);\n this.addSlotChangeListener();\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Radio Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ detail, target }: CustomEvent<IcValueEventDetail>): void {\n this.checkedValue = detail.value;\n const selectedOption = target as HTMLIcRadioOptionElement;\n this.icChange.emit({\n value: this.checkedValue,\n selectedOption: {\n radio: selectedOption,\n textFieldValue: selectedOption?.querySelector(\"ic-text-field\")?.value,\n },\n });\n\n if (this.radioOptions !== undefined) {\n this.radioOptions.forEach((radioOption, index) => {\n radioOption.selected = selectedOption === radioOption;\n if (radioOption.selected) {\n this.selectedChild = index;\n }\n });\n this.setFirstRadioOptionTabIndex(this.selectedChild > 0 ? -1 : 0);\n }\n }\n\n @Listen(\"icSelectedChange\")\n changeHandler(): void {\n const selectedOption = this.radioOptions.findIndex(\n (radioOption) => radioOption.selected\n );\n if (selectedOption < 0) {\n this.setFirstRadioOptionTabIndex(0);\n this.selectedChild = selectedOption;\n }\n }\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkOrientation();\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n private checkOrientation() {\n if (this.initialOrientation === this.RADIO_HORIZONTAL) {\n let totalWidth = 0;\n if (Array.isArray(this.radioOptions) && this.radioOptions.length > 0) {\n this.radioOptions.forEach(({ clientWidth }, i, arr) => {\n totalWidth += clientWidth;\n if (i < arr.length - 1) totalWidth += 40;\n });\n } else {\n totalWidth = 0;\n }\n\n if (this.initialOrientation == this.RADIO_HORIZONTAL) {\n if (\n this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (isSlotUsed(this.radioOptions[0], this.ADDITIONAL_FIELD) ||\n isSlotUsed(this.radioOptions[1], this.ADDITIONAL_FIELD))))\n ) {\n this.currentOrientation = this.RADIO_VERTICAL;\n } else {\n if (totalWidth >= this.radioContainer?.clientWidth) {\n this.currentOrientation = this.RADIO_VERTICAL;\n } else if (totalWidth < this.radioContainer?.clientWidth) {\n this.currentOrientation = this.RADIO_HORIZONTAL;\n }\n }\n }\n }\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.radioOptions[\n this.getNextItemToSelect(this.selectedChild, true)\n ].click();\n event.preventDefault();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.radioOptions[\n this.getNextItemToSelect(this.selectedChild, false)\n ].click();\n event.preventDefault();\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numRadios = this.radioOptions.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n //check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numRadios;\n } else if (nextItem > numRadios) {\n nextItem = 0;\n }\n\n //if next item is disabled then find next\n if (this.radioOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n\n return nextItem;\n };\n\n private addSlotChangeListener = () => {\n this.radioContainer.addEventListener(\"slotchange\", this.setRadioOptions);\n };\n\n private setFirstRadioOptionTabIndex = (value: number) => {\n this.radioOptions[0].setTabIndex(value);\n };\n\n private setRadioOptions = () => {\n this.selectedChild = -1;\n this.checkedValue = \"\";\n this.radioOptions = Array.from(this.el.querySelectorAll(\"ic-radio-option\"));\n if (this.radioOptions.length > 0) {\n this.radioOptions.forEach((radioOption, index) => {\n if (!radioOption.selected) {\n radioOption.selected = this.checkedValue === radioOption.value;\n }\n radioOption.name = this.name;\n radioOption.groupLabel = this.label;\n if (radioOption.selected) {\n this.selectedChild = index;\n this.checkedValue = radioOption.value;\n }\n if (this.disabled) {\n radioOption.disabled = true;\n }\n });\n this.setFirstRadioOptionTabIndex(this.selectedChild > 0 ? -1 : 0);\n\n if (\n this.initialOrientation === this.RADIO_HORIZONTAL &&\n this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (isSlotUsed(this.radioOptions[0], this.ADDITIONAL_FIELD) ||\n isSlotUsed(this.radioOptions[1], this.ADDITIONAL_FIELD))))\n ) {\n this.currentOrientation = this.RADIO_VERTICAL;\n }\n }\n };\n\n render() {\n renderHiddenInput(\n true,\n this.el,\n this.name,\n this.checkedValue,\n this.disabled\n );\n\n return (\n <Host\n onKeyDown={this.handleKeyDown}\n class={{ small: this.small || this.size === \"small\" }}\n >\n <div\n role=\"radiogroup\"\n aria-label={`${this.label}${this.required ? \", required\" : \"\"}`}\n >\n {!this.hideLabel && (\n <ic-input-label\n class={{ [`${this.validationStatus}`]: true }}\n label={this.label}\n helperText={this.helperText}\n required={this.required}\n disabled={this.disabled}\n ></ic-input-label>\n )}\n <div\n class={{\n \"radio-buttons-container\": true,\n horizontal: this.currentOrientation === this.RADIO_HORIZONTAL,\n }}\n ref={(el) => (this.radioContainer = el)}\n >\n <slot></slot>\n </div>\n </div>\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n ariaLiveMode=\"polite\"\n status={this.validationStatus}\n message={this.validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-radio-group.js","sourceRoot":"","sources":["../../../src/components/ic-radio-group/ic-radio-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n hasValidationStatus,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n renderHiddenInput,\n checkResizeObserver,\n} from \"../../utils/helpers\";\nimport {\n IcInformationStatusOrEmpty,\n IcOrientation,\n IcSizesNoLarge,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-radio-group.types\";\n\n@Component({\n tag: \"ic-radio-group\",\n styleUrl: \"ic-radio-group.css\",\n shadow: true,\n})\nexport class RadioGroup {\n private radioContainer: HTMLDivElement;\n private radioOptions: HTMLIcRadioOptionElement[];\n private resizeObserver: ResizeObserver = null;\n private ADDITIONAL_FIELD = \"additional-field\";\n private RADIO_HORIZONTAL: IcOrientation = \"horizontal\";\n private RADIO_VERTICAL: IcOrientation = \"vertical\";\n\n @Element() el: HTMLIcRadioGroupElement;\n\n @State() checkedValue: string = \"\";\n @State() currentOrientation: IcOrientation;\n @State() initialOrientation: IcOrientation;\n @State() selectedChild: number = -1;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n @Watch(\"disabled\")\n watchDisabledHandler(newValue: boolean): void {\n this.radioOptions.forEach(\n (radioOption) => (radioOption.disabled = newValue)\n );\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the radio group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the radio group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n /**\n * The orientation of the radio buttons in the radio group. If there are more than two radio buttons in a radio group or either of the radio buttons use the `additional-field` slot, then the orientation will always be vertical.\n */\n @Prop() orientation: IcOrientation = \"vertical\";\n\n /**\n * If `true`, the radio group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the radio group component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n /**\n * The validation text - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n @Watch(\"orientation\")\n orientationChangeHandler(): void {\n this.initialOrientation = this.orientation;\n this.checkOrientation();\n }\n\n /**\n * Emitted when a user selects a radio.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n this.radioContainer?.removeEventListener(\n \"slotchange\",\n this.setRadioOptions\n );\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n this.orientationChangeHandler();\n this.currentOrientation = this.initialOrientation;\n }\n\n componentDidLoad(): void {\n this.setRadioOptions();\n checkResizeObserver(this.runResizeObserver);\n this.addSlotChangeListener();\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Radio Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ detail, target }: CustomEvent<IcValueEventDetail>): void {\n this.checkedValue = detail.value;\n const selectedOption = target as HTMLIcRadioOptionElement;\n this.icChange.emit({\n value: this.checkedValue,\n selectedOption: {\n radio: selectedOption,\n textFieldValue: selectedOption?.querySelector(\"ic-text-field\")?.value,\n },\n });\n\n if (this.radioOptions !== undefined) {\n this.radioOptions.forEach((radioOption, index) => {\n radioOption.selected = selectedOption === radioOption;\n if (radioOption.selected) {\n this.selectedChild = index;\n }\n });\n this.setFirstRadioOptionTabIndex(this.selectedChild > 0 ? -1 : 0);\n }\n }\n\n @Listen(\"icSelectedChange\")\n changeHandler(): void {\n const selectedOption = this.radioOptions.findIndex(\n (radioOption) => radioOption.selected\n );\n if (selectedOption < 0) {\n this.setFirstRadioOptionTabIndex(0);\n this.selectedChild = selectedOption;\n }\n }\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkOrientation();\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n private checkOrientation() {\n if (this.initialOrientation === this.RADIO_HORIZONTAL) {\n let totalWidth = 0;\n if (Array.isArray(this.radioOptions) && this.radioOptions.length > 0) {\n this.radioOptions.forEach(({ clientWidth }, i, arr) => {\n totalWidth += clientWidth;\n if (i < arr.length - 1) totalWidth += 40;\n });\n } else {\n totalWidth = 0;\n }\n\n if (this.initialOrientation == this.RADIO_HORIZONTAL) {\n if (\n this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (isSlotUsed(this.radioOptions[0], this.ADDITIONAL_FIELD) ||\n isSlotUsed(this.radioOptions[1], this.ADDITIONAL_FIELD))))\n ) {\n this.currentOrientation = this.RADIO_VERTICAL;\n } else {\n if (totalWidth >= this.radioContainer?.clientWidth) {\n this.currentOrientation = this.RADIO_VERTICAL;\n } else if (totalWidth < this.radioContainer?.clientWidth) {\n this.currentOrientation = this.RADIO_HORIZONTAL;\n }\n }\n }\n }\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.radioOptions[\n this.getNextItemToSelect(this.selectedChild, true)\n ].click();\n event.preventDefault();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.radioOptions[\n this.getNextItemToSelect(this.selectedChild, false)\n ].click();\n event.preventDefault();\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numRadios = this.radioOptions.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n //check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numRadios;\n } else if (nextItem > numRadios) {\n nextItem = 0;\n }\n\n //if next item is disabled then find next\n if (this.radioOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n\n return nextItem;\n };\n\n private addSlotChangeListener = () => {\n this.radioContainer.addEventListener(\"slotchange\", this.setRadioOptions);\n };\n\n private setFirstRadioOptionTabIndex = (value: number) => {\n this.radioOptions[0].setTabIndex(value);\n };\n\n private setRadioOptions = () => {\n this.selectedChild = -1;\n this.checkedValue = \"\";\n this.radioOptions = Array.from(this.el.querySelectorAll(\"ic-radio-option\"));\n if (this.radioOptions.length > 0) {\n this.radioOptions.forEach((radioOption, index) => {\n if (!radioOption.selected) {\n radioOption.selected = this.checkedValue === radioOption.value;\n }\n radioOption.name = this.name;\n radioOption.groupLabel = this.label;\n if (radioOption.selected) {\n this.selectedChild = index;\n this.checkedValue = radioOption.value;\n }\n if (this.disabled) {\n radioOption.disabled = true;\n }\n });\n this.setFirstRadioOptionTabIndex(this.selectedChild > 0 ? -1 : 0);\n\n if (\n this.initialOrientation === this.RADIO_HORIZONTAL &&\n this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (isSlotUsed(this.radioOptions[0], this.ADDITIONAL_FIELD) ||\n isSlotUsed(this.radioOptions[1], this.ADDITIONAL_FIELD))))\n ) {\n this.currentOrientation = this.RADIO_VERTICAL;\n }\n }\n };\n\n render() {\n renderHiddenInput(\n true,\n this.el,\n this.name,\n this.checkedValue,\n this.disabled\n );\n\n return (\n <Host\n onKeyDown={this.handleKeyDown}\n class={{ small: this.small || this.size === \"small\" }}\n >\n <div\n role=\"radiogroup\"\n aria-label={`${this.label}${this.required ? \", required\" : \"\"}`}\n >\n {!this.hideLabel && (\n <ic-input-label\n class={{ [`${this.validationStatus}`]: true }}\n label={this.label}\n helperText={this.helperText}\n required={this.required}\n disabled={this.disabled}\n ></ic-input-label>\n )}\n <div\n class={{\n \"radio-buttons-container\": true,\n horizontal: this.currentOrientation === this.RADIO_HORIZONTAL,\n }}\n ref={(el) => (this.radioContainer = el)}\n >\n <slot></slot>\n </div>\n </div>\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n ariaLiveMode=\"polite\"\n status={this.validationStatus}\n message={this.validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -66,6 +66,9 @@ describe("ic-radio-group", () => {
66
66
  </ic-radio-group>`,
67
67
  });
68
68
  expect(page.root).toMatchSnapshot("renders-disabled");
69
+ page.rootInstance.disabled = false;
70
+ await page.waitForChanges();
71
+ expect(page.root).toMatchSnapshot("disabled-removed");
69
72
  });
70
73
  it("should render radio option disabled", async () => {
71
74
  const page = await newSpecPage({
@@ -75,6 +78,9 @@ describe("ic-radio-group", () => {
75
78
  </ic-radio-group>`,
76
79
  });
77
80
  expect(page.root).toMatchSnapshot("renders-option-disabled");
81
+ document.querySelector("ic-radio-option").disabled = false;
82
+ await page.waitForChanges();
83
+ expect(page.root).toMatchSnapshot("disabled-removed");
78
84
  });
79
85
  it("should render with unselected static additional field", async () => {
80
86
  const page = await newSpecPage({
@@ -1 +1 @@
1
- {"version":3,"file":"ic-radio-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-radio-group/test/basic/ic-radio-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { RadioGroup } from \"../../ic-radio-group\";\nimport { RadioOption } from \"../../../ic-radio-option/ic-radio-option\";\nimport { TextField } from \"../../../ic-text-field/ic-text-field\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-radio-group\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n\n it(\"should render as required\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-required\");\n });\n\n it(\"should render as helper text\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" helperText=\"helper test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-helpertext\");\n });\n\n it(\"should render with selected option\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-selected-option\");\n });\n\n it(\"should test radio option as submit on form\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<form id=\"new-form\"></form><ic-radio-option id=\"ic-radio-option\" label=\"IC Radio Test\" value=\"test-value\" form=\"new-form\" selected></ic-radio-option>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with validation status\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required validation-status=\"error\" validation-text=\"error\">\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-validation-status\");\n });\n\n it(\"should render radio group disabled\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" disabled>\n <ic-radio-option value=\"test\" label=\"test label\" group-label=\"test group\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-disabled\");\n });\n\n it(\"should render radio option disabled\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-option-disabled\");\n });\n\n it(\"should render with unselected static additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"renders-with-unselected-additional-field\"\n );\n });\n\n it(\"should render with selected static additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" selected label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-selected-additional-field\");\n });\n\n it(\"should render with dynamic additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" label=\"test label\" group-label=\"test group\" additional-field-display=\"dynamic\" selected>\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-dynamic-additional-field\");\n });\n\n it(\"should emit an updated checked value when selected\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icChange\", callbackFn);\n page.rootInstance.selectHandler({ detail: { value: \"true\" } });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should get the next item to select\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option value=\"test2\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const nextItemCalc = page.rootInstance.getNextItemToSelect(0, true);\n\n page.waitForChanges();\n expect(nextItemCalc).toBe(1);\n });\n\n it(\"should select the radio option when clicked\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option label=\"test label\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\" value=\"Test value\"></ic-text-field>\n </ic-radio-option>\n <ic-radio-option label=\"test label\" value=\"Radio value\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n\n page.rootInstance.radioOptions[1].click();\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n expect(page.rootInstance.checkedValue).toBe(\"Test value\");\n\n page.rootInstance.radioOptions[2].click();\n await page.waitForChanges();\n expect(page.rootInstance.checkedValue).toBe(\"Radio value\");\n });\n\n it(\"should not select the radio option when textfield clicked\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option label=\"test label\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\" value=\"Test value\"></ic-text-field>\n </ic-radio-option>\n </ic-radio-group>`,\n });\n\n const div =\n page.rootInstance.radioOptions[1].shadowRoot.querySelector(\n \".dynamic-container\"\n );\n div.click();\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[1].selected).toBe(false);\n });\n\n it(\"should emit new radio value when text field value given\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n page.rootInstance.textfieldValueHandler({\n detail: { value: \"value\" },\n stopImmediatePropagation: jest.fn(),\n });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should emit default radio value when no text field value given\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n page.rootInstance.textfieldValueHandler({\n detail: { value: \"\" },\n stopImmediatePropagation: jest.fn(),\n });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should call 'setFocus' when radio option is focused\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-option value=\"test\" selected></ic-radio-option> `,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n\n it(\"should test form reset event\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<form>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <button id=\"resetButton\" type=\"reset\">Reset</button> \n </form>`,\n });\n\n expect(page.root.selected).toBe(true);\n\n page.root.checked = false;\n await page.waitForChanges();\n\n expect(page.root.checked).toBe(false);\n\n await page.rootInstance.handleFormReset();\n await page.waitForChanges();\n\n expect(page.root.selected).toBe(true);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should change the orientation of the radio group to vertical if the user sets the orientation as horizontal and there are more than 2 radio options in the radio group\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.rootInstance.currentOrientation).toMatch(\"vertical\");\n });\n\n it(\"should change the orientation of the radio group to vertical if the user has additional fields on any of the radio buttons in the group\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.rootInstance.currentOrientation).toMatch(\"vertical\");\n });\n\n it(\"should call runResizeObserver\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.rootInstance.runResizeObserver();\n page.waitForChanges();\n\n const resize = new ResizeObserver(() => {\n page.rootInstance.checkOrientation();\n });\n\n page.waitForChanges();\n\n expect(page.rootInstance.resizeObserver).toBe(resize);\n });\n\n it(\"should call checkOrientation\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test2\"></ic-radio-option> \n <ic-radio-option value=\"test3\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.rootInstance.checkOrientation();\n page.waitForChanges();\n\n expect(page.rootInstance.currentOrientation).toBe(\"vertical\");\n });\n\n it(\"should test key down handler\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\"></ic-radio-option> \n <ic-radio-option value=\"test2\" disabled></ic-radio-option> \n <ic-radio-option value=\"test3\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n //test wrap around from end to beginning\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowDown\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowDown\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowUp\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowRight\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowLeft\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n //test wrap around from beginning to end\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowUp\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n });\n\n it(\"should call this.setRadioOptions() when slot content changes\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const radioContainer = document\n .querySelector(\"ic-radio-group\")\n .shadowRoot.querySelector(\".radio-buttons-container\");\n\n jest.spyOn(page.rootInstance, \"setRadioOptions\").mockImplementation();\n\n await page.rootInstance.addSlotChangeListener();\n\n radioContainer.dispatchEvent(new Event(\"slotchange\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.setRadioOptions).toBeCalledTimes(1);\n });\n\n it(\"should test disconnectedCallback function\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.waitForChanges();\n\n const radioContainer = page.root.shadowRoot.querySelector(\n \".radio-buttons-container\"\n );\n expect((radioContainer as any).__listeners.length).toBe(1);\n\n page.rootInstance.disconnectedCallback();\n\n await page.waitForChanges();\n\n expect((radioContainer as any).__listeners.length).toBe(0);\n });\n});\n"]}
1
+ {"version":3,"file":"ic-radio-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-radio-group/test/basic/ic-radio-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { RadioGroup } from \"../../ic-radio-group\";\nimport { RadioOption } from \"../../../ic-radio-option/ic-radio-option\";\nimport { TextField } from \"../../../ic-text-field/ic-text-field\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-radio-group\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n\n it(\"should render as required\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-required\");\n });\n\n it(\"should render as helper text\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" helperText=\"helper test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-helpertext\");\n });\n\n it(\"should render with selected option\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-selected-option\");\n });\n\n it(\"should test radio option as submit on form\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<form id=\"new-form\"></form><ic-radio-option id=\"ic-radio-option\" label=\"IC Radio Test\" value=\"test-value\" form=\"new-form\" selected></ic-radio-option>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with validation status\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required validation-status=\"error\" validation-text=\"error\">\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-validation-status\");\n });\n\n it(\"should render radio group disabled\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" disabled>\n <ic-radio-option value=\"test\" label=\"test label\" group-label=\"test group\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-disabled\");\n\n page.rootInstance.disabled = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot(\"disabled-removed\");\n });\n\n it(\"should render radio option disabled\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-option-disabled\");\n\n document.querySelector(\"ic-radio-option\").disabled = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot(\"disabled-removed\");\n });\n\n it(\"should render with unselected static additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"renders-with-unselected-additional-field\"\n );\n });\n\n it(\"should render with selected static additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" selected label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-selected-additional-field\");\n });\n\n it(\"should render with dynamic additional field\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\" label=\"test label\" group-label=\"test group\" additional-field-display=\"dynamic\" selected>\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-dynamic-additional-field\");\n });\n\n it(\"should emit an updated checked value when selected\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icChange\", callbackFn);\n page.rootInstance.selectHandler({ detail: { value: \"true\" } });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should get the next item to select\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option value=\"test2\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const nextItemCalc = page.rootInstance.getNextItemToSelect(0, true);\n\n page.waitForChanges();\n expect(nextItemCalc).toBe(1);\n });\n\n it(\"should select the radio option when clicked\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option label=\"test label\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\" value=\"Test value\"></ic-text-field>\n </ic-radio-option>\n <ic-radio-option label=\"test label\" value=\"Radio value\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n\n page.rootInstance.radioOptions[1].click();\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n expect(page.rootInstance.checkedValue).toBe(\"Test value\");\n\n page.rootInstance.radioOptions[2].click();\n await page.waitForChanges();\n expect(page.rootInstance.checkedValue).toBe(\"Radio value\");\n });\n\n it(\"should not select the radio option when textfield clicked\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <ic-radio-option label=\"test label\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\" value=\"Test value\"></ic-text-field>\n </ic-radio-option>\n </ic-radio-group>`,\n });\n\n const div =\n page.rootInstance.radioOptions[1].shadowRoot.querySelector(\n \".dynamic-container\"\n );\n div.click();\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[1].selected).toBe(false);\n });\n\n it(\"should emit new radio value when text field value given\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n page.rootInstance.textfieldValueHandler({\n detail: { value: \"value\" },\n stopImmediatePropagation: jest.fn(),\n });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should emit default radio value when no text field value given\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icCheck\", callbackFn);\n page.rootInstance.textfieldValueHandler({\n detail: { value: \"\" },\n stopImmediatePropagation: jest.fn(),\n });\n await page.waitForChanges();\n\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should call 'setFocus' when radio option is focused\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<ic-radio-option value=\"test\" selected></ic-radio-option> `,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n\n it(\"should test form reset event\", async () => {\n const page = await newSpecPage({\n components: [RadioOption],\n html: `<form>\n <ic-radio-option value=\"test\" selected></ic-radio-option> \n <button id=\"resetButton\" type=\"reset\">Reset</button> \n </form>`,\n });\n\n expect(page.root.selected).toBe(true);\n\n page.root.checked = false;\n await page.waitForChanges();\n\n expect(page.root.checked).toBe(false);\n\n await page.rootInstance.handleFormReset();\n await page.waitForChanges();\n\n expect(page.root.selected).toBe(true);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should change the orientation of the radio group to vertical if the user sets the orientation as horizontal and there are more than 2 radio options in the radio group\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.rootInstance.currentOrientation).toMatch(\"vertical\");\n });\n\n it(\"should change the orientation of the radio group to vertical if the user has additional fields on any of the radio buttons in the group\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n expect(page.rootInstance.currentOrientation).toMatch(\"vertical\");\n });\n\n it(\"should call runResizeObserver\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test\" disabled label=\"test label\" group-label=\"test group\">\n <ic-text-field slot=\"additional-field\" placeholder=\"Placeholder\" label=\"Test label\"></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.rootInstance.runResizeObserver();\n page.waitForChanges();\n\n const resize = new ResizeObserver(() => {\n page.rootInstance.checkOrientation();\n });\n\n page.waitForChanges();\n\n expect(page.rootInstance.resizeObserver).toBe(resize);\n });\n\n it(\"should call checkOrientation\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption, TextField],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required orientation=\"horizontal\">\n <ic-radio-option value=\"test1\" selected></ic-radio-option>\n <ic-radio-option value=\"test2\"></ic-radio-option> \n <ic-radio-option value=\"test3\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.rootInstance.checkOrientation();\n page.waitForChanges();\n\n expect(page.rootInstance.currentOrientation).toBe(\"vertical\");\n });\n\n it(\"should test key down handler\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\" required>\n <ic-radio-option value=\"test\"></ic-radio-option> \n <ic-radio-option value=\"test2\" disabled></ic-radio-option> \n <ic-radio-option value=\"test3\" selected></ic-radio-option> \n </ic-radio-group>`,\n });\n\n //test wrap around from end to beginning\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowDown\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowDown\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowUp\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowRight\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowLeft\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(true);\n expect(page.rootInstance.radioOptions[2].selected).toBe(false);\n\n //test wrap around from beginning to end\n page.root.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"ArrowUp\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.radioOptions[0].selected).toBe(false);\n expect(page.rootInstance.radioOptions[2].selected).toBe(true);\n });\n\n it(\"should call this.setRadioOptions() when slot content changes\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n const radioContainer = document\n .querySelector(\"ic-radio-group\")\n .shadowRoot.querySelector(\".radio-buttons-container\");\n\n jest.spyOn(page.rootInstance, \"setRadioOptions\").mockImplementation();\n\n await page.rootInstance.addSlotChangeListener();\n\n radioContainer.dispatchEvent(new Event(\"slotchange\"));\n\n await page.waitForChanges();\n\n expect(page.rootInstance.setRadioOptions).toBeCalledTimes(1);\n });\n\n it(\"should test disconnectedCallback function\", async () => {\n const page = await newSpecPage({\n components: [RadioGroup, RadioOption],\n html: `<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test\"></ic-radio-option> \n </ic-radio-group>`,\n });\n\n await page.waitForChanges();\n\n const radioContainer = page.root.shadowRoot.querySelector(\n \".radio-buttons-container\"\n );\n expect((radioContainer as any).__listeners.length).toBe(1);\n\n page.rootInstance.disconnectedCallback();\n\n await page.waitForChanges();\n\n expect((radioContainer as any).__listeners.length).toBe(0);\n });\n});\n"]}
@@ -52,6 +52,9 @@ export class RadioOption {
52
52
  this.selected = false;
53
53
  this.initiallySelected = this.selected;
54
54
  }
55
+ watchDisabledHandler() {
56
+ removeDisabledFalse(this.disabled, this.el);
57
+ }
55
58
  watchSelectedHandler() {
56
59
  this.icSelectedChange.emit();
57
60
  }
@@ -511,6 +514,9 @@ export class RadioOption {
511
514
  static get elementRef() { return "el"; }
512
515
  static get watchers() {
513
516
  return [{
517
+ "propName": "disabled",
518
+ "methodName": "watchDisabledHandler"
519
+ }, {
514
520
  "propName": "selected",
515
521
  "methodName": "watchSelectedHandler"
516
522
  }];