@ukic/web-components 2.18.1 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-3e526fb8.js → helpers-88e018cf.js} +13 -2
  3. package/dist/{core/p-6088297e.js.map → cjs/helpers-88e018cf.js.map} +1 -1
  4. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-badge.cjs.entry.js +3 -10
  8. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-button_3.cjs.entry.js +34 -85
  12. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-card.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-chip.cjs.entry.js +25 -2
  17. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-link.cjs.entry.js +33 -15
  30. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-navigation-button.cjs.entry.js +26 -5
  34. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-pagination.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-radio-group.cjs.entry.js +40 -26
  43. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-radio-option.cjs.entry.js +9 -4
  45. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-select.cjs.entry.js +24 -6
  48. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-step.cjs.entry.js +5 -2
  52. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-stepper.cjs.entry.js +2 -1
  54. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-text-field.cjs.entry.js +26 -7
  60. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-theme.cjs.entry.js +3 -10
  62. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
  65. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  66. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  67. package/dist/cjs/loader.cjs.js +1 -1
  68. package/dist/cjs/types-dc22e301.js.map +1 -1
  69. package/dist/collection/components/ic-badge/ic-badge.js +5 -12
  70. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  71. package/dist/collection/components/ic-badge/ic-badge.types.js.map +1 -1
  72. package/dist/collection/components/ic-button/ic-button.js +32 -83
  73. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  74. package/dist/collection/components/ic-chip/ic-chip.css +4 -3
  75. package/dist/collection/components/ic-chip/ic-chip.js +51 -1
  76. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  77. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +44 -0
  78. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  79. package/dist/collection/components/ic-link/ic-link.js +33 -15
  80. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  81. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +12 -0
  82. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  83. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +6 -2
  84. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +26 -5
  85. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  86. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +11 -0
  87. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  88. package/dist/collection/components/ic-radio-group/ic-radio-group.js +39 -25
  89. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  90. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +30 -0
  91. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  92. package/dist/collection/components/ic-radio-option/ic-radio-option.js +32 -3
  93. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  94. package/dist/collection/components/ic-select/ic-select.js +24 -6
  95. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  96. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +11 -0
  97. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  98. package/dist/collection/components/ic-step/ic-step.css +93 -1
  99. package/dist/collection/components/ic-step/ic-step.js +3 -0
  100. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  101. package/dist/collection/components/ic-stepper/ic-stepper.js +19 -0
  102. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  103. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +18 -0
  104. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  105. package/dist/collection/components/ic-text-field/ic-text-field.js +26 -7
  106. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  107. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js +12 -0
  108. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +1 -1
  109. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +11 -0
  110. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  111. package/dist/collection/components/ic-theme/ic-theme.js +3 -10
  112. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  113. package/dist/collection/utils/helpers.js +11 -0
  114. package/dist/collection/utils/helpers.js.map +1 -1
  115. package/dist/collection/utils/types.js.map +1 -1
  116. package/dist/components/helpers.js +12 -1
  117. package/dist/components/helpers.js.map +1 -1
  118. package/dist/components/ic-badge.js +3 -10
  119. package/dist/components/ic-badge.js.map +1 -1
  120. package/dist/components/ic-button2.js +33 -84
  121. package/dist/components/ic-button2.js.map +1 -1
  122. package/dist/components/ic-card.js +1 -1
  123. package/dist/components/ic-checkbox-group.js +1 -1
  124. package/dist/components/ic-checkbox.js +1 -1
  125. package/dist/components/ic-chip.js +29 -3
  126. package/dist/components/ic-chip.js.map +1 -1
  127. package/dist/components/ic-link2.js +34 -16
  128. package/dist/components/ic-link2.js.map +1 -1
  129. package/dist/components/ic-loading-indicator2.js +1 -1
  130. package/dist/components/ic-loading-indicator2.js.map +1 -1
  131. package/dist/components/ic-menu-item2.js +1 -1
  132. package/dist/components/ic-navigation-button.js +27 -6
  133. package/dist/components/ic-navigation-button.js.map +1 -1
  134. package/dist/components/ic-pagination-item2.js +1 -1
  135. package/dist/components/ic-pagination.js +1 -1
  136. package/dist/components/ic-radio-group.js +40 -26
  137. package/dist/components/ic-radio-group.js.map +1 -1
  138. package/dist/components/ic-radio-option.js +11 -5
  139. package/dist/components/ic-radio-option.js.map +1 -1
  140. package/dist/components/ic-search-bar.js +1 -1
  141. package/dist/components/ic-select.js +25 -7
  142. package/dist/components/ic-select.js.map +1 -1
  143. package/dist/components/ic-step.js +4 -1
  144. package/dist/components/ic-step.js.map +1 -1
  145. package/dist/components/ic-stepper.js +2 -0
  146. package/dist/components/ic-stepper.js.map +1 -1
  147. package/dist/components/ic-switch.js +1 -1
  148. package/dist/components/ic-tab.js +1 -1
  149. package/dist/components/ic-text-field2.js +27 -8
  150. package/dist/components/ic-text-field2.js.map +1 -1
  151. package/dist/components/ic-theme.js +3 -10
  152. package/dist/components/ic-theme.js.map +1 -1
  153. package/dist/components/ic-toggle-button.js +1 -1
  154. package/dist/components/types.js.map +1 -1
  155. package/dist/core/core.esm.js +1 -1
  156. package/dist/core/core.esm.js.map +1 -1
  157. package/dist/core/p-00c21dd7.entry.js +2 -0
  158. package/dist/core/p-00c21dd7.entry.js.map +1 -0
  159. package/dist/core/{p-d34959e1.entry.js → p-02ad4585.entry.js} +2 -2
  160. package/dist/core/{p-7559d77c.entry.js → p-03796d51.entry.js} +2 -2
  161. package/dist/core/p-04cc2b25.entry.js +2 -0
  162. package/dist/core/p-04cc2b25.entry.js.map +1 -0
  163. package/dist/core/{p-97b805cb.entry.js → p-051583a5.entry.js} +2 -2
  164. package/dist/core/p-078f7f23.entry.js +2 -0
  165. package/dist/core/p-078f7f23.entry.js.map +1 -0
  166. package/dist/core/p-0c097626.entry.js +2 -0
  167. package/dist/core/p-0c097626.entry.js.map +1 -0
  168. package/dist/core/{p-e16edd06.entry.js → p-1197f0d4.entry.js} +2 -2
  169. package/dist/core/{p-ec7bf9d3.entry.js → p-1a6fab3e.entry.js} +2 -2
  170. package/dist/core/p-1b1270a1.entry.js +2 -0
  171. package/dist/core/p-1b1270a1.entry.js.map +1 -0
  172. package/dist/core/{p-2d753f6e.entry.js → p-1c3b619f.entry.js} +2 -2
  173. package/dist/core/p-24bed047.entry.js +2 -0
  174. package/dist/core/{p-8560228f.entry.js.map → p-24bed047.entry.js.map} +1 -1
  175. package/dist/core/p-26b7b18f.js.map +1 -1
  176. package/dist/core/{p-2b58ca8d.entry.js → p-2b326b17.entry.js} +2 -2
  177. package/dist/core/{p-739c0dc6.entry.js → p-2d4e7985.entry.js} +2 -2
  178. package/dist/core/p-2d4e7985.entry.js.map +1 -0
  179. package/dist/core/p-2f91e86a.entry.js +2 -0
  180. package/dist/core/p-2f91e86a.entry.js.map +1 -0
  181. package/dist/core/{p-b6a6c89f.entry.js → p-328bc6a2.entry.js} +2 -2
  182. package/dist/core/{p-e1239a95.entry.js → p-32e2ae6f.entry.js} +2 -2
  183. package/dist/core/{p-8846ae12.entry.js → p-346578e4.entry.js} +2 -2
  184. package/dist/core/{p-217cbca5.entry.js → p-3f53446c.entry.js} +2 -2
  185. package/dist/core/p-44ea7a6d.entry.js +2 -0
  186. package/dist/core/p-44ea7a6d.entry.js.map +1 -0
  187. package/dist/core/{p-6b88deb8.entry.js → p-498273cb.entry.js} +2 -2
  188. package/dist/core/{p-b12d380e.entry.js → p-4f3fe190.entry.js} +2 -2
  189. package/dist/core/{p-e7c303c1.entry.js → p-52a4c223.entry.js} +2 -2
  190. package/dist/core/p-52a4c223.entry.js.map +1 -0
  191. package/dist/core/{p-bb9d3d13.entry.js → p-5481b048.entry.js} +2 -2
  192. package/dist/core/{p-8f3f9566.entry.js → p-692ccc73.entry.js} +2 -2
  193. package/dist/core/{p-9aa9af2c.entry.js → p-6f9dcfb5.entry.js} +2 -2
  194. package/dist/core/{p-9637066f.entry.js → p-731515cf.entry.js} +2 -2
  195. package/dist/core/p-74f9082d.entry.js +2 -0
  196. package/dist/core/{p-84355a36.entry.js.map → p-74f9082d.entry.js.map} +1 -1
  197. package/dist/core/{p-71756d3b.entry.js → p-8153def1.entry.js} +2 -2
  198. package/dist/core/{p-8053ad3f.entry.js → p-8b65be1e.entry.js} +2 -2
  199. package/dist/core/{p-8e0be26c.entry.js → p-8e37e832.entry.js} +2 -2
  200. package/dist/core/{p-1e2a0991.entry.js → p-8ed04819.entry.js} +2 -2
  201. package/dist/core/p-8fe2b073.entry.js +2 -0
  202. package/dist/core/{p-855ee8f9.entry.js.map → p-8fe2b073.entry.js.map} +1 -1
  203. package/dist/core/{p-280077b1.entry.js → p-9f29ab99.entry.js} +2 -2
  204. package/dist/core/p-a13236ef.entry.js +2 -0
  205. package/dist/core/{p-2bf36b00.entry.js.map → p-a13236ef.entry.js.map} +1 -1
  206. package/dist/core/{p-9939eaf8.entry.js → p-adf468f4.entry.js} +2 -2
  207. package/dist/core/{p-06df74da.entry.js → p-af5eacc1.entry.js} +2 -2
  208. package/dist/core/{p-d932577f.entry.js → p-b451f27c.entry.js} +2 -2
  209. package/dist/core/{p-6e3aa59a.entry.js → p-ba1c3cf7.entry.js} +2 -2
  210. package/dist/core/{p-7599e6a9.entry.js → p-ba40f44a.entry.js} +2 -2
  211. package/dist/core/p-bceaf300.entry.js +2 -0
  212. package/dist/core/p-bceaf300.entry.js.map +1 -0
  213. package/dist/core/p-c3acbefe.entry.js +2 -0
  214. package/dist/core/p-c3acbefe.entry.js.map +1 -0
  215. package/dist/core/{p-5e5a29a4.entry.js → p-c919c571.entry.js} +2 -2
  216. package/dist/core/p-d19d157d.entry.js +2 -0
  217. package/dist/core/p-d19d157d.entry.js.map +1 -0
  218. package/dist/core/{p-56352316.entry.js → p-d7f4779d.entry.js} +2 -2
  219. package/dist/core/{p-6088297e.js → p-e4d0d1fb.js} +2 -2
  220. package/dist/core/p-e4d0d1fb.js.map +1 -0
  221. package/dist/core/{p-924495ee.entry.js → p-e5957ce0.entry.js} +2 -2
  222. package/dist/core/{p-b9c53ac1.entry.js → p-e68485ee.entry.js} +2 -2
  223. package/dist/core/{p-db78e715.entry.js → p-e8e0fa96.entry.js} +2 -2
  224. package/dist/core/{p-2ff18bd8.entry.js → p-f50a57f3.entry.js} +2 -2
  225. package/dist/core/p-f8df0716.entry.js +2 -0
  226. package/dist/core/{p-4de169ff.entry.js.map → p-f8df0716.entry.js.map} +1 -1
  227. package/dist/core/{p-ca7ca3b8.entry.js → p-fd737b7e.entry.js} +2 -2
  228. package/dist/esm/core.js +1 -1
  229. package/dist/esm/{helpers-b6bbde90.js → helpers-24ba0b83.js} +13 -2
  230. package/dist/esm/helpers-24ba0b83.js.map +1 -0
  231. package/dist/esm/ic-accordion.entry.js +1 -1
  232. package/dist/esm/ic-alert.entry.js +1 -1
  233. package/dist/esm/ic-back-to-top.entry.js +1 -1
  234. package/dist/esm/ic-badge.entry.js +3 -10
  235. package/dist/esm/ic-badge.entry.js.map +1 -1
  236. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  237. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  238. package/dist/esm/ic-button_3.entry.js +34 -85
  239. package/dist/esm/ic-button_3.entry.js.map +1 -1
  240. package/dist/esm/ic-card.entry.js +1 -1
  241. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  242. package/dist/esm/ic-checkbox.entry.js +1 -1
  243. package/dist/esm/ic-chip.entry.js +25 -2
  244. package/dist/esm/ic-chip.entry.js.map +1 -1
  245. package/dist/esm/ic-data-row.entry.js +1 -1
  246. package/dist/esm/ic-dialog.entry.js +1 -1
  247. package/dist/esm/ic-divider.entry.js +1 -1
  248. package/dist/esm/ic-empty-state.entry.js +1 -1
  249. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  250. package/dist/esm/ic-footer-link.entry.js +1 -1
  251. package/dist/esm/ic-footer.entry.js +1 -1
  252. package/dist/esm/ic-hero.entry.js +1 -1
  253. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  254. package/dist/esm/ic-input-component-container_3.entry.js +1 -1
  255. package/dist/esm/ic-input-label_2.entry.js +1 -1
  256. package/dist/esm/ic-link.entry.js +34 -16
  257. package/dist/esm/ic-link.entry.js.map +1 -1
  258. package/dist/esm/ic-menu-group.entry.js +1 -1
  259. package/dist/esm/ic-menu-item.entry.js +1 -1
  260. package/dist/esm/ic-navigation-button.entry.js +27 -6
  261. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  262. package/dist/esm/ic-navigation-group.entry.js +1 -1
  263. package/dist/esm/ic-navigation-item.entry.js +1 -1
  264. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  265. package/dist/esm/ic-page-header.entry.js +1 -1
  266. package/dist/esm/ic-pagination-item.entry.js +1 -1
  267. package/dist/esm/ic-pagination.entry.js +1 -1
  268. package/dist/esm/ic-popover-menu.entry.js +1 -1
  269. package/dist/esm/ic-radio-group.entry.js +40 -26
  270. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  271. package/dist/esm/ic-radio-option.entry.js +9 -4
  272. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  273. package/dist/esm/ic-search-bar.entry.js +1 -1
  274. package/dist/esm/ic-select.entry.js +25 -7
  275. package/dist/esm/ic-select.entry.js.map +1 -1
  276. package/dist/esm/ic-side-navigation.entry.js +1 -1
  277. package/dist/esm/ic-status-tag.entry.js +1 -1
  278. package/dist/esm/ic-step.entry.js +5 -2
  279. package/dist/esm/ic-step.entry.js.map +1 -1
  280. package/dist/esm/ic-stepper.entry.js +2 -1
  281. package/dist/esm/ic-stepper.entry.js.map +1 -1
  282. package/dist/esm/ic-switch.entry.js +1 -1
  283. package/dist/esm/ic-tab-group.entry.js +1 -1
  284. package/dist/esm/ic-tab-panel.entry.js +1 -1
  285. package/dist/esm/ic-tab.entry.js +1 -1
  286. package/dist/esm/ic-text-field.entry.js +27 -8
  287. package/dist/esm/ic-text-field.entry.js.map +1 -1
  288. package/dist/esm/ic-theme.entry.js +3 -10
  289. package/dist/esm/ic-theme.entry.js.map +1 -1
  290. package/dist/esm/ic-toast.entry.js +1 -1
  291. package/dist/esm/ic-toggle-button.entry.js +1 -1
  292. package/dist/esm/ic-top-navigation.entry.js +1 -1
  293. package/dist/esm/ic-typography.entry.js +1 -1
  294. package/dist/esm/loader.js +1 -1
  295. package/dist/esm/types-6f6b41a5.js.map +1 -1
  296. package/dist/types/components/ic-badge/ic-badge.d.ts +2 -2
  297. package/dist/types/components/ic-badge/ic-badge.types.d.ts +0 -5
  298. package/dist/types/components/ic-button/ic-button.d.ts +2 -10
  299. package/dist/types/components/ic-chip/ic-chip.d.ts +8 -1
  300. package/dist/types/components/ic-link/ic-link.d.ts +6 -2
  301. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +3 -0
  302. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +3 -0
  303. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +4 -0
  304. package/dist/types/components/ic-select/ic-select.d.ts +2 -0
  305. package/dist/types/components/ic-stepper/ic-stepper.d.ts +4 -0
  306. package/dist/types/components/ic-text-field/ic-text-field.d.ts +2 -0
  307. package/dist/types/components.d.ts +21 -4
  308. package/dist/types/utils/helpers.d.ts +2 -1
  309. package/dist/types/utils/types.d.ts +5 -0
  310. package/hydrate/index.js +213 -162
  311. package/package.json +2 -2
  312. package/vscode-data.json +16 -0
  313. package/dist/cjs/helpers-3e526fb8.js.map +0 -1
  314. package/dist/core/p-06dcdfff.entry.js +0 -2
  315. package/dist/core/p-06dcdfff.entry.js.map +0 -1
  316. package/dist/core/p-28dfe4a3.entry.js +0 -2
  317. package/dist/core/p-28dfe4a3.entry.js.map +0 -1
  318. package/dist/core/p-2bf36b00.entry.js +0 -2
  319. package/dist/core/p-2c1d7440.entry.js +0 -2
  320. package/dist/core/p-2c1d7440.entry.js.map +0 -1
  321. package/dist/core/p-4851e1a7.entry.js +0 -2
  322. package/dist/core/p-4851e1a7.entry.js.map +0 -1
  323. package/dist/core/p-4de169ff.entry.js +0 -2
  324. package/dist/core/p-4ebf2e93.entry.js +0 -2
  325. package/dist/core/p-4ebf2e93.entry.js.map +0 -1
  326. package/dist/core/p-5eb3d65a.entry.js +0 -2
  327. package/dist/core/p-5eb3d65a.entry.js.map +0 -1
  328. package/dist/core/p-653f38a3.entry.js +0 -2
  329. package/dist/core/p-653f38a3.entry.js.map +0 -1
  330. package/dist/core/p-739c0dc6.entry.js.map +0 -1
  331. package/dist/core/p-84355a36.entry.js +0 -2
  332. package/dist/core/p-855ee8f9.entry.js +0 -2
  333. package/dist/core/p-8560228f.entry.js +0 -2
  334. package/dist/core/p-aa1d2c11.entry.js +0 -2
  335. package/dist/core/p-aa1d2c11.entry.js.map +0 -1
  336. package/dist/core/p-b602729a.entry.js +0 -2
  337. package/dist/core/p-b602729a.entry.js.map +0 -1
  338. package/dist/core/p-e3a47979.entry.js +0 -2
  339. package/dist/core/p-e3a47979.entry.js.map +0 -1
  340. package/dist/core/p-e7c303c1.entry.js.map +0 -1
  341. package/dist/esm/helpers-b6bbde90.js.map +0 -1
  342. /package/dist/core/{p-d34959e1.entry.js.map → p-02ad4585.entry.js.map} +0 -0
  343. /package/dist/core/{p-7559d77c.entry.js.map → p-03796d51.entry.js.map} +0 -0
  344. /package/dist/core/{p-97b805cb.entry.js.map → p-051583a5.entry.js.map} +0 -0
  345. /package/dist/core/{p-e16edd06.entry.js.map → p-1197f0d4.entry.js.map} +0 -0
  346. /package/dist/core/{p-ec7bf9d3.entry.js.map → p-1a6fab3e.entry.js.map} +0 -0
  347. /package/dist/core/{p-2d753f6e.entry.js.map → p-1c3b619f.entry.js.map} +0 -0
  348. /package/dist/core/{p-2b58ca8d.entry.js.map → p-2b326b17.entry.js.map} +0 -0
  349. /package/dist/core/{p-b6a6c89f.entry.js.map → p-328bc6a2.entry.js.map} +0 -0
  350. /package/dist/core/{p-e1239a95.entry.js.map → p-32e2ae6f.entry.js.map} +0 -0
  351. /package/dist/core/{p-8846ae12.entry.js.map → p-346578e4.entry.js.map} +0 -0
  352. /package/dist/core/{p-217cbca5.entry.js.map → p-3f53446c.entry.js.map} +0 -0
  353. /package/dist/core/{p-6b88deb8.entry.js.map → p-498273cb.entry.js.map} +0 -0
  354. /package/dist/core/{p-b12d380e.entry.js.map → p-4f3fe190.entry.js.map} +0 -0
  355. /package/dist/core/{p-bb9d3d13.entry.js.map → p-5481b048.entry.js.map} +0 -0
  356. /package/dist/core/{p-8f3f9566.entry.js.map → p-692ccc73.entry.js.map} +0 -0
  357. /package/dist/core/{p-9aa9af2c.entry.js.map → p-6f9dcfb5.entry.js.map} +0 -0
  358. /package/dist/core/{p-9637066f.entry.js.map → p-731515cf.entry.js.map} +0 -0
  359. /package/dist/core/{p-71756d3b.entry.js.map → p-8153def1.entry.js.map} +0 -0
  360. /package/dist/core/{p-8053ad3f.entry.js.map → p-8b65be1e.entry.js.map} +0 -0
  361. /package/dist/core/{p-8e0be26c.entry.js.map → p-8e37e832.entry.js.map} +0 -0
  362. /package/dist/core/{p-1e2a0991.entry.js.map → p-8ed04819.entry.js.map} +0 -0
  363. /package/dist/core/{p-280077b1.entry.js.map → p-9f29ab99.entry.js.map} +0 -0
  364. /package/dist/core/{p-9939eaf8.entry.js.map → p-adf468f4.entry.js.map} +0 -0
  365. /package/dist/core/{p-06df74da.entry.js.map → p-af5eacc1.entry.js.map} +0 -0
  366. /package/dist/core/{p-d932577f.entry.js.map → p-b451f27c.entry.js.map} +0 -0
  367. /package/dist/core/{p-6e3aa59a.entry.js.map → p-ba1c3cf7.entry.js.map} +0 -0
  368. /package/dist/core/{p-7599e6a9.entry.js.map → p-ba40f44a.entry.js.map} +0 -0
  369. /package/dist/core/{p-5e5a29a4.entry.js.map → p-c919c571.entry.js.map} +0 -0
  370. /package/dist/core/{p-56352316.entry.js.map → p-d7f4779d.entry.js.map} +0 -0
  371. /package/dist/core/{p-924495ee.entry.js.map → p-e5957ce0.entry.js.map} +0 -0
  372. /package/dist/core/{p-b9c53ac1.entry.js.map → p-e68485ee.entry.js.map} +0 -0
  373. /package/dist/core/{p-db78e715.entry.js.map → p-e8e0fa96.entry.js.map} +0 -0
  374. /package/dist/core/{p-2ff18bd8.entry.js.map → p-f50a57f3.entry.js.map} +0 -0
  375. /package/dist/core/{p-ca7ca3b8.entry.js.map → p-fd737b7e.entry.js.map} +0 -0
@@ -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 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-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"]}
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 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-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"]}
@@ -112,9 +112,14 @@ export class RadioOption {
112
112
  * Sets focus on the radio option.
113
113
  */
114
114
  async setFocus() {
115
- if (this.el.shadowRoot.querySelector("input")) {
116
- this.el.shadowRoot.querySelector("input").focus();
117
- }
115
+ var _a;
116
+ (_a = this.radioElement) === null || _a === void 0 ? void 0 : _a.focus();
117
+ }
118
+ /**
119
+ * @internal Sets the tabIndex of the radio option.
120
+ */
121
+ async setTabIndex(value) {
122
+ this.radioElement.tabIndex = value;
118
123
  }
119
124
  render() {
120
125
  const id = `ic-radio-option-${isPropDefined(this.label) ? this.label : this.value}-${this.groupLabel}`;
@@ -476,6 +481,30 @@ export class RadioOption {
476
481
  "text": "Sets focus on the radio option.",
477
482
  "tags": []
478
483
  }
484
+ },
485
+ "setTabIndex": {
486
+ "complexType": {
487
+ "signature": "(value: number) => Promise<void>",
488
+ "parameters": [{
489
+ "name": "value",
490
+ "type": "number",
491
+ "docs": ""
492
+ }],
493
+ "references": {
494
+ "Promise": {
495
+ "location": "global",
496
+ "id": "global::Promise"
497
+ }
498
+ },
499
+ "return": "Promise<void>"
500
+ },
501
+ "docs": {
502
+ "text": "",
503
+ "tags": [{
504
+ "name": "internal",
505
+ "text": "Sets the tabIndex of the radio option."
506
+ }]
507
+ }
479
508
  }
480
509
  };
481
510
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-radio-option.js","sourceRoot":"","sources":["../../../src/components/ic-radio-option/ic-radio-option.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Listen,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes, IcValueEventDetail } from \"../../utils/types\";\nimport {\n getSlotContent,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to displayed alongside a radio option.\n */\n@Component({\n tag: \"ic-radio-option\",\n styleUrl: \"ic-radio-option.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class RadioOption {\n private defaultRadioValue: string = \"\";\n private hasAdditionalField: boolean = false;\n private radioElement: HTMLInputElement;\n private skipFocus = false;\n\n @Element() el: HTMLIcRadioOptionElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The text to be displayed when dynamic.\n */\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the radio with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the radio. It overrides the action attribute of the radio's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the radio's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * The group label for the radio option.\n */\n @Prop() groupLabel: string;\n\n /**\n * The label for the radio option.\n */\n @Prop() label?: string;\n\n /**\n * The name for the radio option.\n */\n @Prop() name: string;\n\n /**\n * The value for the radio option.\n */\n @Prop({ mutable: true }) value!: string;\n\n /**\n * If `true`, the radio option will be displayed in a selected state.\n */\n @Prop({ reflect: true, mutable: true }) selected?: boolean = false;\n @State() initiallySelected = this.selected;\n\n @Watch(\"selected\")\n watchSelectedHandler(): void {\n this.icSelectedChange.emit();\n }\n\n /**\n * Emitted when the radio option is selected.\n */\n @Event() icCheck: EventEmitter<IcValueEventDetail>;\n\n /**\n * @deprecated This event should not be used anymore. Use icCheck instead.\n */\n @Event() radioOptionSelect: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the radio option is selected or deselected.\n */\n @Event() icSelectedChange: EventEmitter<void>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n const additionalFieldContent = getSlotContent(this.el, \"additional-field\");\n\n if (additionalFieldContent !== null) {\n this.hasAdditionalField = true;\n const Element = additionalFieldContent[0] as HTMLElement;\n if (Element.tagName === \"IC-TEXT-FIELD\") {\n const textField = Element as HTMLIcTextFieldElement;\n textField.hiddenInput = false;\n }\n }\n\n this.defaultRadioValue = this.value;\n\n addFormResetListener(this.el, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.value, propName: \"value\" }],\n \"Radio Option\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(\"ic-text-field\");\n if (!this.selected) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n }\n }\n\n @Listen(\"icChange\")\n textfieldValueHandler(event: CustomEvent<{ value: string }>): void {\n const textFieldValue = event.detail.value;\n\n if (this.selected) {\n if (textFieldValue !== \"\") {\n this.value = event.detail.value;\n this.icCheck.emit({\n value: this.value,\n });\n this.radioOptionSelect.emit({\n value: this.value,\n });\n } else {\n this.value = this.defaultRadioValue;\n this.icCheck.emit({\n value: this.defaultRadioValue,\n });\n this.radioOptionSelect.emit({\n value: this.defaultRadioValue,\n });\n }\n }\n\n event.stopImmediatePropagation();\n }\n\n /**\n * Sets focus on the radio option.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"input\")) {\n this.el.shadowRoot.querySelector(\"input\").focus();\n }\n }\n\n private handleClick = () => {\n if (!this.disabled) {\n if (this.skipFocus === false) {\n this.radioElement.focus();\n }\n this.skipFocus = false;\n\n if (this.hasAdditionalField) {\n const textfield = this.el.querySelector(\"ic-text-field\");\n this.value =\n textfield.value !== \"\" ? textfield.value : this.defaultRadioValue;\n }\n\n this.icCheck.emit({\n value: this.value,\n });\n\n this.radioOptionSelect.emit({\n value: this.value,\n });\n }\n };\n\n private swallowClick = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n private handleFormReset = (): void => {\n this.skipFocus = true;\n this.selected = this.initiallySelected;\n };\n\n render() {\n const id = `ic-radio-option-${\n isPropDefined(this.label) ? this.label : this.value\n }-${this.groupLabel}`;\n\n return (\n <Host onClick={this.handleClick} class={{ disabled: this.disabled }}>\n <div class={{ [\"container\"]: true, [\"disabled\"]: this.disabled }}>\n <div>\n <input\n role=\"radio\"\n tabindex={this.selected ? \"0\" : \"-1\"}\n type=\"radio\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.selected}\n ref={(el) => (this.radioElement = el)}\n form={this.form}\n formaction={this.formaction}\n formenctype={this.formenctype}\n formmethod={this.formmethod}\n formnovalidate={this.formnovalidate}\n formtarget={this.formtarget}\n ></input>\n <span class=\"checkmark\"></span>\n </div>\n <ic-typography class=\"radio-label\" variant=\"body\">\n <label htmlFor={id}>{this.label}</label>\n </ic-typography>\n </div>\n\n {this.hasAdditionalField && (\n <div\n onClick={this.swallowClick}\n class={{\n \"dynamic-container\": true,\n hidden:\n this.additionalFieldDisplay === \"dynamic\" && !this.selected,\n }}\n >\n {this.additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {this.additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">{this.dynamicText}</p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n this.additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-radio-option.js","sourceRoot":"","sources":["../../../src/components/ic-radio-option/ic-radio-option.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Listen,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes, IcValueEventDetail } from \"../../utils/types\";\nimport {\n getSlotContent,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to displayed alongside a radio option.\n */\n@Component({\n tag: \"ic-radio-option\",\n styleUrl: \"ic-radio-option.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class RadioOption {\n private defaultRadioValue: string = \"\";\n private hasAdditionalField: boolean = false;\n private radioElement: HTMLInputElement;\n private skipFocus = false;\n\n @Element() el: HTMLIcRadioOptionElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The text to be displayed when dynamic.\n */\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the radio with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the radio. It overrides the action attribute of the radio's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the radio's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * The group label for the radio option.\n */\n @Prop() groupLabel: string;\n\n /**\n * The label for the radio option.\n */\n @Prop() label?: string;\n\n /**\n * The name for the radio option.\n */\n @Prop() name: string;\n\n /**\n * The value for the radio option.\n */\n @Prop({ mutable: true }) value!: string;\n\n /**\n * If `true`, the radio option will be displayed in a selected state.\n */\n @Prop({ reflect: true, mutable: true }) selected?: boolean = false;\n @State() initiallySelected = this.selected;\n\n @Watch(\"selected\")\n watchSelectedHandler(): void {\n this.icSelectedChange.emit();\n }\n\n /**\n * Emitted when the radio option is selected.\n */\n @Event() icCheck: EventEmitter<IcValueEventDetail>;\n\n /**\n * @deprecated This event should not be used anymore. Use icCheck instead.\n */\n @Event() radioOptionSelect: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the radio option is selected or deselected.\n */\n @Event() icSelectedChange: EventEmitter<void>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n const additionalFieldContent = getSlotContent(this.el, \"additional-field\");\n\n if (additionalFieldContent !== null) {\n this.hasAdditionalField = true;\n const Element = additionalFieldContent[0] as HTMLElement;\n if (Element.tagName === \"IC-TEXT-FIELD\") {\n const textField = Element as HTMLIcTextFieldElement;\n textField.hiddenInput = false;\n }\n }\n\n this.defaultRadioValue = this.value;\n\n addFormResetListener(this.el, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.value, propName: \"value\" }],\n \"Radio Option\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(\"ic-text-field\");\n if (!this.selected) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n }\n }\n\n @Listen(\"icChange\")\n textfieldValueHandler(event: CustomEvent<{ value: string }>): void {\n const textFieldValue = event.detail.value;\n\n if (this.selected) {\n if (textFieldValue !== \"\") {\n this.value = event.detail.value;\n this.icCheck.emit({\n value: this.value,\n });\n this.radioOptionSelect.emit({\n value: this.value,\n });\n } else {\n this.value = this.defaultRadioValue;\n this.icCheck.emit({\n value: this.defaultRadioValue,\n });\n this.radioOptionSelect.emit({\n value: this.defaultRadioValue,\n });\n }\n }\n\n event.stopImmediatePropagation();\n }\n\n /**\n * Sets focus on the radio option.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.radioElement?.focus();\n }\n\n /**\n * @internal Sets the tabIndex of the radio option.\n */\n @Method()\n async setTabIndex(value: number): Promise<void> {\n this.radioElement.tabIndex = value;\n }\n\n private handleClick = () => {\n if (!this.disabled) {\n if (this.skipFocus === false) {\n this.radioElement.focus();\n }\n this.skipFocus = false;\n\n if (this.hasAdditionalField) {\n const textfield = this.el.querySelector(\"ic-text-field\");\n this.value =\n textfield.value !== \"\" ? textfield.value : this.defaultRadioValue;\n }\n\n this.icCheck.emit({\n value: this.value,\n });\n\n this.radioOptionSelect.emit({\n value: this.value,\n });\n }\n };\n\n private swallowClick = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n private handleFormReset = (): void => {\n this.skipFocus = true;\n this.selected = this.initiallySelected;\n };\n\n render() {\n const id = `ic-radio-option-${\n isPropDefined(this.label) ? this.label : this.value\n }-${this.groupLabel}`;\n\n return (\n <Host onClick={this.handleClick} class={{ disabled: this.disabled }}>\n <div class={{ [\"container\"]: true, [\"disabled\"]: this.disabled }}>\n <div>\n <input\n role=\"radio\"\n tabindex={this.selected ? \"0\" : \"-1\"}\n type=\"radio\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.selected}\n ref={(el) => (this.radioElement = el)}\n form={this.form}\n formaction={this.formaction}\n formenctype={this.formenctype}\n formmethod={this.formmethod}\n formnovalidate={this.formnovalidate}\n formtarget={this.formtarget}\n ></input>\n <span class=\"checkmark\"></span>\n </div>\n <ic-typography class=\"radio-label\" variant=\"body\">\n <label htmlFor={id}>{this.label}</label>\n </ic-typography>\n </div>\n\n {this.hasAdditionalField && (\n <div\n onClick={this.swallowClick}\n class={{\n \"dynamic-container\": true,\n hidden:\n this.additionalFieldDisplay === \"dynamic\" && !this.selected,\n }}\n >\n {this.additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {this.additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">{this.dynamicText}</p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n this.additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,10 +1,11 @@
1
- import { Host, h, } from "@stencil/core";
1
+ import { Host, h, forceUpdate, } from "@stencil/core";
2
2
  import { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, getFilteredMenuOptions, addFormResetListener, removeFormResetListener, removeDisabledFalse, } from "../../utils/helpers";
3
3
  import { IC_INHERITED_ARIA } from "../../utils/constants";
4
4
  import { IcInformationStatus, IcThemeForegroundEnum, } from "../../utils/types";
5
5
  import Expand from "./assets/Expand.svg";
6
6
  import Clear from "./assets/Clear.svg";
7
7
  let inputIds = 0;
8
+ const MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, "tabindex", "title"];
8
9
  export class Select {
9
10
  constructor() {
10
11
  this.hasSetDefaultValue = false;
@@ -14,6 +15,21 @@ export class Select {
14
15
  this.menuId = `${this.inputId}-menu`;
15
16
  this.searchableMenuItemSelected = false;
16
17
  this.ungroupedOptions = [];
18
+ this.hostMutationObserver = null;
19
+ // triggered when attributes of host element change
20
+ this.hostMutationCallback = (mutationList) => {
21
+ let forceComponentUpdate = false;
22
+ mutationList.forEach(({ attributeName }) => {
23
+ if (MUTABLE_ATTRIBUTES.includes(attributeName)) {
24
+ this.inheritedAttributes[attributeName] =
25
+ this.el.getAttribute(attributeName);
26
+ forceComponentUpdate = true;
27
+ }
28
+ });
29
+ if (forceComponentUpdate) {
30
+ forceUpdate(this);
31
+ }
32
+ };
17
33
  this.handleRetry = (ev) => {
18
34
  var _a;
19
35
  if (ev.detail.keyPressed)
@@ -541,14 +557,12 @@ export class Select {
541
557
  this.open ? this.icOpen.emit() : this.icClose.emit();
542
558
  }
543
559
  disconnectedCallback() {
560
+ var _a;
544
561
  removeFormResetListener(this.el, this.handleFormReset);
562
+ (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
545
563
  }
546
564
  componentWillLoad() {
547
- this.inheritedAttributes = inheritAttributes(this.el, [
548
- ...IC_INHERITED_ARIA,
549
- "tabindex",
550
- "title",
551
- ]);
565
+ this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);
552
566
  removeDisabledFalse(this.disabled, this.el);
553
567
  this.setOptionsValuesFromLabels();
554
568
  addFormResetListener(this.el, this.handleFormReset);
@@ -569,6 +583,10 @@ export class Select {
569
583
  this.triggerLoading();
570
584
  }
571
585
  this.hiddenInputValue = this.searchable && this.currValue;
586
+ this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
587
+ this.hostMutationObserver.observe(this.el, {
588
+ attributes: true,
589
+ });
572
590
  }
573
591
  componentDidRender() {
574
592
  if (this.nativeSelectElement && !this.disabled) {