@ukic/web-components 3.0.0-alpha.7 → 3.0.0-alpha.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (369) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-50fa27f6.js → helpers-eca4c27e.js} +12 -2
  3. package/dist/cjs/helpers-eca4c27e.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 +1 -1
  6. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js +47 -3
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-dialog.cjs.entry.js +10 -4
  20. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-link.cjs.entry.js +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 +1 -1
  34. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  36. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +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 +21 -18
  43. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-radio-option.cjs.entry.js +13 -6
  45. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-select.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-switch.cjs.entry.js +12 -14
  55. package/dist/cjs/ic-switch.cjs.entry.js.map +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 +2 -2
  60. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  62. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +34 -11
  64. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-toggle-button.cjs.entry.js +53 -6
  66. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/collection/collection-manifest.json +1 -1
  71. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +8 -0
  72. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +50 -3
  73. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  74. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +45 -1
  75. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  76. package/dist/collection/components/ic-button/ic-button.js +2 -2
  77. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  78. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  79. package/dist/collection/components/ic-dialog/ic-dialog.js +9 -3
  80. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  81. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +27 -7
  82. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  83. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +1 -1
  84. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  85. package/dist/collection/components/ic-radio-group/ic-radio-group.js +20 -17
  86. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  87. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +4 -1
  88. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  89. package/dist/collection/components/ic-radio-option/ic-radio-option.css +2 -4
  90. package/dist/collection/components/ic-radio-option/ic-radio-option.js +17 -4
  91. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  92. package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -1
  93. package/dist/collection/components/ic-select/ic-select.css +7 -1
  94. package/dist/collection/components/ic-switch/ic-switch.css +0 -18
  95. package/dist/collection/components/ic-switch/ic-switch.js +11 -31
  96. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  97. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -14
  98. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  99. package/dist/collection/components/ic-text-field/ic-text-field.js +1 -1
  100. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  101. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +6 -0
  102. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +93 -15
  103. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  104. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +66 -9
  105. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  106. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +79 -14
  107. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  108. package/dist/collection/utils/constants.js +1 -1
  109. package/dist/collection/utils/constants.js.map +1 -1
  110. package/dist/collection/utils/helpers.js +9 -0
  111. package/dist/collection/utils/helpers.js.map +1 -1
  112. package/dist/collection/utils/types.js.map +1 -1
  113. package/dist/components/helpers.js +11 -2
  114. package/dist/components/helpers.js.map +1 -1
  115. package/dist/components/ic-breadcrumb-group.js +1 -1
  116. package/dist/components/ic-breadcrumb2.js +49 -3
  117. package/dist/components/ic-breadcrumb2.js.map +1 -1
  118. package/dist/components/ic-button2.js.map +1 -1
  119. package/dist/components/ic-checkbox-group.js +1 -1
  120. package/dist/components/ic-checkbox.js +1 -1
  121. package/dist/components/ic-data-row.js +1 -1
  122. package/dist/components/ic-dialog.js +9 -3
  123. package/dist/components/ic-dialog.js.map +1 -1
  124. package/dist/components/ic-divider2.js +1 -1
  125. package/dist/components/ic-footer.js +1 -1
  126. package/dist/components/ic-hero.js +1 -1
  127. package/dist/components/ic-horizontal-scroll2.js +1 -1
  128. package/dist/components/ic-input-component-container2.js +1 -1
  129. package/dist/components/ic-input-label2.js +1 -1
  130. package/dist/components/ic-input-validation2.js +1 -1
  131. package/dist/components/ic-navigation-group.js +1 -1
  132. package/dist/components/ic-navigation-item.js +2 -2
  133. package/dist/components/ic-navigation-item.js.map +1 -1
  134. package/dist/components/ic-page-header.js +1 -1
  135. package/dist/components/ic-popover-menu.js +1 -1
  136. package/dist/components/ic-radio-group.js +21 -18
  137. package/dist/components/ic-radio-group.js.map +1 -1
  138. package/dist/components/ic-radio-option.js +14 -7
  139. package/dist/components/ic-radio-option.js.map +1 -1
  140. package/dist/components/ic-search-bar.js +2 -2
  141. package/dist/components/ic-search-bar.js.map +1 -1
  142. package/dist/components/ic-select.js +2 -2
  143. package/dist/components/ic-select.js.map +1 -1
  144. package/dist/components/ic-side-navigation.js +1 -1
  145. package/dist/components/ic-switch.js +12 -15
  146. package/dist/components/ic-switch.js.map +1 -1
  147. package/dist/components/ic-text-field.js +2 -2
  148. package/dist/components/ic-text-field.js.map +1 -1
  149. package/dist/components/ic-toggle-button-group.js +40 -11
  150. package/dist/components/ic-toggle-button-group.js.map +1 -1
  151. package/dist/components/ic-toggle-button.js +61 -13
  152. package/dist/components/ic-toggle-button.js.map +1 -1
  153. package/dist/components/ic-top-navigation.js +1 -1
  154. package/dist/core/core.css +2 -2
  155. package/dist/core/core.esm.js +1 -1
  156. package/dist/core/core.esm.js.map +1 -1
  157. package/dist/core/{p-5479be2b.entry.js → p-0cb72d37.entry.js} +2 -2
  158. package/dist/core/{p-dcdfe5f9.entry.js → p-1223d0e9.entry.js} +2 -2
  159. package/dist/core/{p-eec110a7.entry.js → p-190c3474.entry.js} +2 -2
  160. package/dist/core/p-190c3474.entry.js.map +1 -0
  161. package/dist/core/p-199b9196.entry.js +2 -0
  162. package/dist/core/p-199b9196.entry.js.map +1 -0
  163. package/dist/core/{p-5801598f.entry.js → p-1bf956cb.entry.js} +2 -2
  164. package/dist/core/{p-5347f687.entry.js → p-20ac0d2a.entry.js} +2 -2
  165. package/dist/core/{p-1425c78b.entry.js → p-243ad74c.entry.js} +2 -2
  166. package/dist/core/{p-3645c4e6.entry.js → p-24a34d72.entry.js} +2 -2
  167. package/dist/core/p-24a34d72.entry.js.map +1 -0
  168. package/dist/core/{p-bdbce1a0.entry.js → p-29afeb33.entry.js} +2 -2
  169. package/dist/core/{p-5e694b17.entry.js → p-2cc0d6b9.entry.js} +2 -2
  170. package/dist/core/{p-273f9b03.entry.js → p-31c84a47.entry.js} +2 -2
  171. package/dist/core/{p-5d89525e.entry.js → p-36ac5305.entry.js} +2 -2
  172. package/dist/core/{p-6d0c5a77.entry.js → p-404b482e.entry.js} +2 -2
  173. package/dist/core/{p-6331782f.entry.js → p-419d3378.entry.js} +2 -2
  174. package/dist/core/p-47038ea3.entry.js +2 -0
  175. package/dist/core/p-47038ea3.entry.js.map +1 -0
  176. package/dist/core/p-490bf0ee.entry.js +2 -0
  177. package/dist/core/p-490bf0ee.entry.js.map +1 -0
  178. package/dist/core/{p-4e57c7ba.entry.js → p-4e6e34fe.entry.js} +2 -2
  179. package/dist/core/p-4fce49bd.entry.js +2 -0
  180. package/dist/core/p-4fce49bd.entry.js.map +1 -0
  181. package/dist/core/{p-7c0ff8cf.entry.js → p-5b42dbef.entry.js} +2 -2
  182. package/dist/core/{p-c68d98f8.entry.js → p-5be2c26a.entry.js} +2 -2
  183. package/dist/core/{p-b052e67a.entry.js → p-5d5345a4.entry.js} +2 -2
  184. package/dist/core/{p-1b1f7523.entry.js → p-5dcc0489.entry.js} +2 -2
  185. package/dist/core/{p-6a5d58bc.entry.js → p-5f6d6b3f.entry.js} +2 -2
  186. package/dist/core/{p-050e3e36.entry.js → p-5f74782e.entry.js} +2 -2
  187. package/dist/core/{p-46dd7413.entry.js → p-6227fff5.entry.js} +2 -2
  188. package/dist/core/{p-cae08ac2.entry.js → p-641e244d.entry.js} +2 -2
  189. package/dist/core/{p-2179e015.entry.js → p-6c1cf351.entry.js} +2 -2
  190. package/dist/core/{p-12bd8ade.entry.js → p-6e630778.entry.js} +2 -2
  191. package/dist/core/{p-2aca1bac.entry.js → p-7c8cd719.entry.js} +2 -2
  192. package/dist/core/{p-13637d3f.entry.js → p-7fa74998.entry.js} +2 -2
  193. package/dist/core/{p-bafcbecc.entry.js → p-7ff4632d.entry.js} +2 -2
  194. package/dist/core/{p-7a16046a.entry.js → p-8452846e.entry.js} +2 -2
  195. package/dist/core/{p-51990f23.entry.js → p-84c3a870.entry.js} +2 -2
  196. package/dist/core/{p-f1b7e4f4.entry.js → p-8624bb98.entry.js} +2 -2
  197. package/dist/core/{p-5b118dec.entry.js → p-87aa30b4.entry.js} +2 -2
  198. package/dist/core/{p-5dcafe90.entry.js → p-8b554299.entry.js} +2 -2
  199. package/dist/core/p-932f3e3c.js +2 -0
  200. package/dist/core/p-932f3e3c.js.map +1 -0
  201. package/dist/core/{p-8dda6121.entry.js → p-9cfd6855.entry.js} +2 -2
  202. package/dist/core/{p-27933dfe.entry.js → p-abb383bd.entry.js} +2 -2
  203. package/dist/core/p-af934e73.entry.js +2 -0
  204. package/dist/core/p-af934e73.entry.js.map +1 -0
  205. package/dist/core/{p-353893b7.entry.js → p-b73b7139.entry.js} +2 -2
  206. package/dist/core/{p-353893b7.entry.js.map → p-b73b7139.entry.js.map} +1 -1
  207. package/dist/core/{p-9505b0f1.entry.js → p-b9941d97.entry.js} +2 -2
  208. package/dist/core/{p-ebf2b874.entry.js → p-c1e93306.entry.js} +2 -2
  209. package/dist/core/p-d21d8014.entry.js +2 -0
  210. package/dist/core/p-d21d8014.entry.js.map +1 -0
  211. package/dist/core/p-e1f8d915.entry.js +2 -0
  212. package/dist/core/p-e1f8d915.entry.js.map +1 -0
  213. package/dist/core/{p-16df8bcf.entry.js → p-e4cb5585.entry.js} +2 -2
  214. package/dist/core/{p-f8890135.entry.js → p-f073fc69.entry.js} +2 -2
  215. package/dist/core/{p-6f16a69e.entry.js → p-f2d9eefe.entry.js} +2 -2
  216. package/dist/core/p-f2d9eefe.entry.js.map +1 -0
  217. package/dist/core/{p-e9c078fa.entry.js → p-f37c6a76.entry.js} +2 -2
  218. package/dist/core/{p-08a82b71.entry.js → p-f7872eef.entry.js} +2 -2
  219. package/dist/core/{p-d6ce4473.entry.js → p-f9dceda0.entry.js} +2 -2
  220. package/dist/core/{p-a25d535a.entry.js → p-fac53f92.entry.js} +2 -2
  221. package/dist/core/p-fddcf298.entry.js +2 -0
  222. package/dist/core/p-fddcf298.entry.js.map +1 -0
  223. package/dist/core/{p-7e546e88.entry.js → p-ffc150c5.entry.js} +2 -2
  224. package/dist/esm/core.js +1 -1
  225. package/dist/esm/{helpers-8565b5c5.js → helpers-2624c32c.js} +12 -3
  226. package/dist/esm/helpers-2624c32c.js.map +1 -0
  227. package/dist/esm/ic-accordion-group.entry.js +1 -1
  228. package/dist/esm/ic-accordion.entry.js +1 -1
  229. package/dist/esm/ic-alert.entry.js +1 -1
  230. package/dist/esm/ic-back-to-top.entry.js +1 -1
  231. package/dist/esm/ic-badge.entry.js +1 -1
  232. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  233. package/dist/esm/ic-breadcrumb.entry.js +47 -3
  234. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  235. package/dist/esm/ic-button_3.entry.js +1 -1
  236. package/dist/esm/ic-button_3.entry.js.map +1 -1
  237. package/dist/esm/ic-card-vertical.entry.js +1 -1
  238. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  239. package/dist/esm/ic-checkbox.entry.js +1 -1
  240. package/dist/esm/ic-chip.entry.js +1 -1
  241. package/dist/esm/ic-data-row.entry.js +1 -1
  242. package/dist/esm/ic-dialog.entry.js +10 -4
  243. package/dist/esm/ic-dialog.entry.js.map +1 -1
  244. package/dist/esm/ic-divider.entry.js +1 -1
  245. package/dist/esm/ic-empty-state.entry.js +1 -1
  246. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  247. package/dist/esm/ic-footer-link.entry.js +1 -1
  248. package/dist/esm/ic-footer.entry.js +1 -1
  249. package/dist/esm/ic-hero.entry.js +1 -1
  250. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  251. package/dist/esm/ic-input-component-container_3.entry.js +1 -1
  252. package/dist/esm/ic-input-label_2.entry.js +1 -1
  253. package/dist/esm/ic-link.entry.js +1 -1
  254. package/dist/esm/ic-menu-group.entry.js +1 -1
  255. package/dist/esm/ic-menu-item.entry.js +1 -1
  256. package/dist/esm/ic-navigation-button.entry.js +1 -1
  257. package/dist/esm/ic-navigation-group.entry.js +1 -1
  258. package/dist/esm/ic-navigation-item.entry.js +2 -2
  259. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  260. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  261. package/dist/esm/ic-page-header.entry.js +1 -1
  262. package/dist/esm/ic-pagination-item.entry.js +1 -1
  263. package/dist/esm/ic-pagination.entry.js +1 -1
  264. package/dist/esm/ic-popover-menu.entry.js +1 -1
  265. package/dist/esm/ic-radio-group.entry.js +21 -18
  266. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  267. package/dist/esm/ic-radio-option.entry.js +13 -6
  268. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  269. package/dist/esm/ic-search-bar.entry.js +2 -2
  270. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  271. package/dist/esm/ic-select.entry.js +2 -2
  272. package/dist/esm/ic-select.entry.js.map +1 -1
  273. package/dist/esm/ic-side-navigation.entry.js +1 -1
  274. package/dist/esm/ic-status-tag.entry.js +1 -1
  275. package/dist/esm/ic-step.entry.js +1 -1
  276. package/dist/esm/ic-stepper.entry.js +1 -1
  277. package/dist/esm/ic-switch.entry.js +12 -14
  278. package/dist/esm/ic-switch.entry.js.map +1 -1
  279. package/dist/esm/ic-tab-group.entry.js +1 -1
  280. package/dist/esm/ic-tab-panel.entry.js +1 -1
  281. package/dist/esm/ic-tab.entry.js +1 -1
  282. package/dist/esm/ic-text-field.entry.js +2 -2
  283. package/dist/esm/ic-text-field.entry.js.map +1 -1
  284. package/dist/esm/ic-theme.entry.js +1 -1
  285. package/dist/esm/ic-toast.entry.js +1 -1
  286. package/dist/esm/ic-toggle-button-group.entry.js +34 -11
  287. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  288. package/dist/esm/ic-toggle-button.entry.js +53 -6
  289. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  290. package/dist/esm/ic-top-navigation.entry.js +1 -1
  291. package/dist/esm/ic-typography.entry.js +1 -1
  292. package/dist/esm/loader.js +1 -1
  293. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +8 -0
  294. package/dist/types/components/ic-button/ic-button.d.ts +2 -2
  295. package/dist/types/components/ic-button/ic-button.types.d.ts +0 -1
  296. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +1 -0
  297. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -5
  298. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +7 -3
  299. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +10 -1
  300. package/dist/types/components.d.ts +22 -14
  301. package/dist/types/utils/helpers.d.ts +1 -0
  302. package/dist/types/utils/types.d.ts +2 -0
  303. package/hydrate/index.js +208 -70
  304. package/package.json +2 -2
  305. package/vscode-data.json +36 -4
  306. package/dist/cjs/helpers-50fa27f6.js.map +0 -1
  307. package/dist/core/p-30f91e2e.entry.js +0 -2
  308. package/dist/core/p-30f91e2e.entry.js.map +0 -1
  309. package/dist/core/p-3361ac8f.entry.js +0 -2
  310. package/dist/core/p-3361ac8f.entry.js.map +0 -1
  311. package/dist/core/p-34e89ebf.entry.js +0 -2
  312. package/dist/core/p-34e89ebf.entry.js.map +0 -1
  313. package/dist/core/p-3645c4e6.entry.js.map +0 -1
  314. package/dist/core/p-369ff74c.entry.js +0 -2
  315. package/dist/core/p-369ff74c.entry.js.map +0 -1
  316. package/dist/core/p-538f1bb9.entry.js +0 -2
  317. package/dist/core/p-538f1bb9.entry.js.map +0 -1
  318. package/dist/core/p-6f16a69e.entry.js.map +0 -1
  319. package/dist/core/p-7c39afb5.entry.js +0 -2
  320. package/dist/core/p-7c39afb5.entry.js.map +0 -1
  321. package/dist/core/p-a519e9a6.entry.js +0 -2
  322. package/dist/core/p-a519e9a6.entry.js.map +0 -1
  323. package/dist/core/p-eafa4df2.js +0 -2
  324. package/dist/core/p-eafa4df2.js.map +0 -1
  325. package/dist/core/p-eb132c44.entry.js +0 -2
  326. package/dist/core/p-eb132c44.entry.js.map +0 -1
  327. package/dist/core/p-eec110a7.entry.js.map +0 -1
  328. package/dist/esm/helpers-8565b5c5.js.map +0 -1
  329. /package/dist/core/{p-5479be2b.entry.js.map → p-0cb72d37.entry.js.map} +0 -0
  330. /package/dist/core/{p-dcdfe5f9.entry.js.map → p-1223d0e9.entry.js.map} +0 -0
  331. /package/dist/core/{p-5801598f.entry.js.map → p-1bf956cb.entry.js.map} +0 -0
  332. /package/dist/core/{p-5347f687.entry.js.map → p-20ac0d2a.entry.js.map} +0 -0
  333. /package/dist/core/{p-1425c78b.entry.js.map → p-243ad74c.entry.js.map} +0 -0
  334. /package/dist/core/{p-bdbce1a0.entry.js.map → p-29afeb33.entry.js.map} +0 -0
  335. /package/dist/core/{p-5e694b17.entry.js.map → p-2cc0d6b9.entry.js.map} +0 -0
  336. /package/dist/core/{p-273f9b03.entry.js.map → p-31c84a47.entry.js.map} +0 -0
  337. /package/dist/core/{p-5d89525e.entry.js.map → p-36ac5305.entry.js.map} +0 -0
  338. /package/dist/core/{p-6d0c5a77.entry.js.map → p-404b482e.entry.js.map} +0 -0
  339. /package/dist/core/{p-6331782f.entry.js.map → p-419d3378.entry.js.map} +0 -0
  340. /package/dist/core/{p-4e57c7ba.entry.js.map → p-4e6e34fe.entry.js.map} +0 -0
  341. /package/dist/core/{p-7c0ff8cf.entry.js.map → p-5b42dbef.entry.js.map} +0 -0
  342. /package/dist/core/{p-c68d98f8.entry.js.map → p-5be2c26a.entry.js.map} +0 -0
  343. /package/dist/core/{p-b052e67a.entry.js.map → p-5d5345a4.entry.js.map} +0 -0
  344. /package/dist/core/{p-1b1f7523.entry.js.map → p-5dcc0489.entry.js.map} +0 -0
  345. /package/dist/core/{p-6a5d58bc.entry.js.map → p-5f6d6b3f.entry.js.map} +0 -0
  346. /package/dist/core/{p-050e3e36.entry.js.map → p-5f74782e.entry.js.map} +0 -0
  347. /package/dist/core/{p-46dd7413.entry.js.map → p-6227fff5.entry.js.map} +0 -0
  348. /package/dist/core/{p-cae08ac2.entry.js.map → p-641e244d.entry.js.map} +0 -0
  349. /package/dist/core/{p-2179e015.entry.js.map → p-6c1cf351.entry.js.map} +0 -0
  350. /package/dist/core/{p-12bd8ade.entry.js.map → p-6e630778.entry.js.map} +0 -0
  351. /package/dist/core/{p-2aca1bac.entry.js.map → p-7c8cd719.entry.js.map} +0 -0
  352. /package/dist/core/{p-13637d3f.entry.js.map → p-7fa74998.entry.js.map} +0 -0
  353. /package/dist/core/{p-bafcbecc.entry.js.map → p-7ff4632d.entry.js.map} +0 -0
  354. /package/dist/core/{p-7a16046a.entry.js.map → p-8452846e.entry.js.map} +0 -0
  355. /package/dist/core/{p-51990f23.entry.js.map → p-84c3a870.entry.js.map} +0 -0
  356. /package/dist/core/{p-f1b7e4f4.entry.js.map → p-8624bb98.entry.js.map} +0 -0
  357. /package/dist/core/{p-5b118dec.entry.js.map → p-87aa30b4.entry.js.map} +0 -0
  358. /package/dist/core/{p-5dcafe90.entry.js.map → p-8b554299.entry.js.map} +0 -0
  359. /package/dist/core/{p-8dda6121.entry.js.map → p-9cfd6855.entry.js.map} +0 -0
  360. /package/dist/core/{p-27933dfe.entry.js.map → p-abb383bd.entry.js.map} +0 -0
  361. /package/dist/core/{p-9505b0f1.entry.js.map → p-b9941d97.entry.js.map} +0 -0
  362. /package/dist/core/{p-ebf2b874.entry.js.map → p-c1e93306.entry.js.map} +0 -0
  363. /package/dist/core/{p-16df8bcf.entry.js.map → p-e4cb5585.entry.js.map} +0 -0
  364. /package/dist/core/{p-f8890135.entry.js.map → p-f073fc69.entry.js.map} +0 -0
  365. /package/dist/core/{p-e9c078fa.entry.js.map → p-f37c6a76.entry.js.map} +0 -0
  366. /package/dist/core/{p-08a82b71.entry.js.map → p-f7872eef.entry.js.map} +0 -0
  367. /package/dist/core/{p-d6ce4473.entry.js.map → p-f9dceda0.entry.js.map} +0 -0
  368. /package/dist/core/{p-a25d535a.entry.js.map → p-fac53f92.entry.js.map} +0 -0
  369. /package/dist/core/{p-7e546e88.entry.js.map → p-ffc150c5.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 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].querySelector(\".dynamic-container\");\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.additionalFieldValueHandler({\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.additionalFieldValueHandler({\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({\n detail: { value: \"true\" },\n target: page.root.querySelector(\"ic-radio-option\"),\n });\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].querySelector(\".dynamic-container\");\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.additionalFieldValueHandler({\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.additionalFieldValueHandler({\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"]}
@@ -448,7 +448,7 @@ ic-radio-option {
448
448
  width: fit-content;
449
449
  }
450
450
 
451
- .additional-field-wrapper ic-text-field {
451
+ .additional-field-wrapper [slot="additional-field"] {
452
452
  margin-top: calc(var(--ic-space-sm) / 2);
453
453
  margin-left: var(--ic-space-xl);
454
454
  }
@@ -528,7 +528,7 @@ ic-radio-option.ic-radio-option-disabled .radio-label {
528
528
  border: 0.125rem solid var(--ic-radio-button-default-hover);
529
529
  }
530
530
 
531
- .container:hover input:checked ~ .checkmark::after {
531
+ .container:hover:not(.disabled) input:checked ~ .checkmark::after {
532
532
  background-color: var(--ic-radio-button-default-hover);
533
533
  }
534
534
 
@@ -556,7 +556,6 @@ ic-radio-option.ic-radio-option-disabled .radio-label {
556
556
 
557
557
  /* When the radio button is checked and disabled */
558
558
  .container input:checked:disabled ~ .checkmark {
559
- background-color: var(--ic-architectural-white);
560
559
  border: 0.125rem solid var(--ic-radio-button-border-disabled);
561
560
  }
562
561
 
@@ -572,7 +571,6 @@ ic-radio-option.ic-radio-option-disabled .radio-label {
572
571
 
573
572
  /* On mouse-over inactive */
574
573
  .container:hover input:disabled ~ .checkmark {
575
- background-color: var(--ic-architectural-white);
576
574
  box-shadow: none;
577
575
  border: 0.125rem solid none;
578
576
  }
@@ -10,15 +10,17 @@ export class RadioOption {
10
10
  this.hasAdditionalField = false;
11
11
  this.skipFocus = false;
12
12
  this.handleClick = (event) => {
13
- const clickedAdditionalField = event.target.matches(".dynamic-container, .dynamic-container *");
14
- if (!this.disabled && !clickedAdditionalField) {
13
+ var _a;
14
+ const clickedAdditionalField = event.target.matches(".dynamic-container:not(ic-radio-option, .checkmark), .dynamic-container *:not(ic-radio-option, .checkmark)");
15
+ if (!this.disabled &&
16
+ (!clickedAdditionalField || event.target === this.radioElement)) {
15
17
  event.stopPropagation();
16
18
  if (this.skipFocus === false) {
17
19
  this.radioElement.focus();
18
20
  }
19
21
  this.skipFocus = false;
20
22
  if (this.hasAdditionalField) {
21
- this.value = this.getAdditionalField().value || this.defaultRadioValue;
23
+ this.value = ((_a = this.getAdditionalField()) === null || _a === void 0 ? void 0 : _a.value) || this.defaultRadioValue;
22
24
  }
23
25
  this.icCheck.emit({
24
26
  value: this.value,
@@ -54,6 +56,11 @@ export class RadioOption {
54
56
  watchSelectedHandler() {
55
57
  this.icSelectedChange.emit();
56
58
  }
59
+ handleCheck(ev) {
60
+ if (this.additionalFieldDisplay === "static" &&
61
+ Array.from(this.el.querySelectorAll("ic-radio-option")).includes(ev.target))
62
+ this.icCheck.emit({ value: this.value });
63
+ }
57
64
  disconnectedCallback() {
58
65
  removeFormResetListener(this.el, this.handleFormReset);
59
66
  }
@@ -113,7 +120,7 @@ export class RadioOption {
113
120
  this.radioElement.tabIndex = value;
114
121
  }
115
122
  getAdditionalField() {
116
- const additionalField = this.el.querySelector('[slot="additional-field"]');
123
+ const additionalField = this.el.querySelector('ic-text-field[slot="additional-field"]');
117
124
  if (additionalField)
118
125
  additionalField.hiddenInput = false;
119
126
  return additionalField;
@@ -434,6 +441,12 @@ export class RadioOption {
434
441
  }
435
442
  static get listeners() {
436
443
  return [{
444
+ "name": "icCheck",
445
+ "method": "handleCheck",
446
+ "target": undefined,
447
+ "capture": false,
448
+ "passive": false
449
+ }, {
437
450
  "name": "icChange",
438
451
  "method": "additionalFieldValueHandler",
439
452
  "target": undefined,
@@ -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 {\n IcAdditionalFieldTypes,\n IcThemeMode,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport {\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n isSlotUsed,\n slotHasContent,\n} from \"../../utils/helpers\";\n\nconst ADDITIONAL_FIELD = \"additional-field\";\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})\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 @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\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 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 * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * 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 * 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 if (isSlotUsed(this.el, ADDITIONAL_FIELD)) {\n this.hasAdditionalField = true;\n this.getAdditionalField();\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 componentWillRender(): void {\n const hasSlot = slotHasContent(this.el, ADDITIONAL_FIELD);\n if (hasSlot && !this.hasAdditionalField) {\n this.hasAdditionalField = true;\n this.getAdditionalField();\n } else if (!hasSlot && this.hasAdditionalField) {\n this.hasAdditionalField = false;\n }\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const additionalField = this.getAdditionalField();\n if (!this.selected || this.disabled) {\n additionalField?.setAttribute(\"disabled\", \"\");\n } else {\n additionalField?.removeAttribute(\"disabled\");\n }\n }\n }\n\n @Listen(\"icChange\")\n additionalFieldValueHandler(event: CustomEvent<{ value: string }>): void {\n if (this.selected) {\n this.value = event.detail.value || this.defaultRadioValue;\n this.icCheck.emit({\n value: this.value,\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 getAdditionalField(): HTMLIcTextFieldElement {\n const additionalField = this.el.querySelector(\n '[slot=\"additional-field\"]'\n ) as HTMLIcTextFieldElement;\n if (additionalField) additionalField.hiddenInput = false;\n return additionalField;\n }\n\n private handleClick = (event: MouseEvent) => {\n const clickedAdditionalField = (event.target as Element).matches(\n \".dynamic-container, .dynamic-container *\"\n );\n\n if (!this.disabled && !clickedAdditionalField) {\n event.stopPropagation();\n if (this.skipFocus === false) {\n this.radioElement.focus();\n }\n this.skipFocus = false;\n\n if (this.hasAdditionalField) {\n this.value = this.getAdditionalField().value || this.defaultRadioValue;\n }\n\n this.icCheck.emit({\n value: this.value,\n });\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const preventPropagationElements = [\"IC-DATE-INPUT\", \"IC-DATE-PICKER\"];\n\n if (\n this.getAdditionalField() == document.activeElement &&\n preventPropagationElements.includes(this.getAdditionalField().nodeName)\n ) {\n event.stopPropagation();\n }\n };\n\n private handleFormReset = (): void => {\n this.skipFocus = true;\n this.selected = this.initiallySelected;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n disabled,\n dynamicText,\n form,\n groupLabel,\n handleClick,\n handleKeyDown,\n hasAdditionalField,\n label,\n name,\n selected,\n value,\n theme,\n } = this;\n\n const id = `ic-radio-option-${isPropDefined(label) || value}-${groupLabel}`;\n\n return (\n <Host\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n class={{\n [\"ic-radio-option-disabled\"]: disabled,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class={{ container: true, disabled }}>\n <div>\n <input\n tabindex={selected ? \"0\" : \"-1\"}\n type=\"radio\"\n name={name}\n id={id}\n value={value}\n disabled={disabled ? true : null}\n checked={selected}\n ref={(el) => (this.radioElement = el)}\n form={form}\n ></input>\n <span class=\"checkmark\"></span>\n </div>\n <ic-typography class=\"radio-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n </div>\n\n {hasAdditionalField && (\n <div\n class={{\n \"dynamic-container\": true,\n hidden: additionalFieldDisplay === \"dynamic\" && !selected,\n }}\n >\n {additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">{dynamicText}</p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n 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 {\n IcAdditionalFieldTypes,\n IcThemeMode,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport {\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n isSlotUsed,\n slotHasContent,\n} from \"../../utils/helpers\";\n\nconst ADDITIONAL_FIELD = \"additional-field\";\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})\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 @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\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 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 * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * 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 @Listen(\"icCheck\")\n handleCheck(ev: CustomEvent<IcValueEventDetail>): void {\n if (\n this.additionalFieldDisplay === \"static\" &&\n Array.from(this.el.querySelectorAll(\"ic-radio-option\")).includes(\n ev.target as HTMLIcRadioOptionElement\n )\n )\n this.icCheck.emit({ value: this.value });\n }\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 if (isSlotUsed(this.el, ADDITIONAL_FIELD)) {\n this.hasAdditionalField = true;\n this.getAdditionalField();\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 componentWillRender(): void {\n const hasSlot = slotHasContent(this.el, ADDITIONAL_FIELD);\n if (hasSlot && !this.hasAdditionalField) {\n this.hasAdditionalField = true;\n this.getAdditionalField();\n } else if (!hasSlot && this.hasAdditionalField) {\n this.hasAdditionalField = false;\n }\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const additionalField = this.getAdditionalField();\n if (!this.selected || this.disabled) {\n additionalField?.setAttribute(\"disabled\", \"\");\n } else {\n additionalField?.removeAttribute(\"disabled\");\n }\n }\n }\n\n @Listen(\"icChange\")\n additionalFieldValueHandler(event: CustomEvent<{ value: string }>): void {\n if (this.selected) {\n this.value = event.detail.value || this.defaultRadioValue;\n this.icCheck.emit({\n value: this.value,\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 getAdditionalField(): HTMLIcTextFieldElement {\n const additionalField = this.el.querySelector(\n 'ic-text-field[slot=\"additional-field\"]'\n ) as HTMLIcTextFieldElement;\n if (additionalField) additionalField.hiddenInput = false;\n return additionalField;\n }\n\n private handleClick = (event: MouseEvent) => {\n const clickedAdditionalField = (event.target as Element).matches(\n \".dynamic-container:not(ic-radio-option, .checkmark), .dynamic-container *:not(ic-radio-option, .checkmark)\"\n );\n\n if (\n !this.disabled &&\n (!clickedAdditionalField || event.target === this.radioElement)\n ) {\n event.stopPropagation();\n if (this.skipFocus === false) {\n this.radioElement.focus();\n }\n this.skipFocus = false;\n\n if (this.hasAdditionalField) {\n this.value = this.getAdditionalField()?.value || this.defaultRadioValue;\n }\n\n this.icCheck.emit({\n value: this.value,\n });\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const preventPropagationElements = [\"IC-DATE-INPUT\", \"IC-DATE-PICKER\"];\n\n if (\n this.getAdditionalField() == document.activeElement &&\n preventPropagationElements.includes(this.getAdditionalField().nodeName)\n ) {\n event.stopPropagation();\n }\n };\n\n private handleFormReset = (): void => {\n this.skipFocus = true;\n this.selected = this.initiallySelected;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n disabled,\n dynamicText,\n form,\n groupLabel,\n handleClick,\n handleKeyDown,\n hasAdditionalField,\n label,\n name,\n selected,\n value,\n theme,\n } = this;\n\n const id = `ic-radio-option-${isPropDefined(label) || value}-${groupLabel}`;\n\n return (\n <Host\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n class={{\n [\"ic-radio-option-disabled\"]: disabled,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class={{ container: true, disabled }}>\n <div>\n <input\n tabindex={selected ? \"0\" : \"-1\"}\n type=\"radio\"\n name={name}\n id={id}\n value={value}\n disabled={disabled ? true : null}\n checked={selected}\n ref={(el) => (this.radioElement = el)}\n form={form}\n ></input>\n <span class=\"checkmark\"></span>\n </div>\n <ic-typography class=\"radio-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n </div>\n\n {hasAdditionalField && (\n <div\n class={{\n \"dynamic-container\": true,\n hidden: additionalFieldDisplay === \"dynamic\" && !selected,\n }}\n >\n {additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">{dynamicText}</p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n additionalFieldDisplay === \"static\",\n }}\n >\n <slot name={ADDITIONAL_FIELD}></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -579,7 +579,7 @@ input[type="search"].truncate-value {
579
579
 
580
580
  .clear-button:focus,
581
581
  .clear-button:active * {
582
- fill: white;
582
+ fill: var(--ic-atoms-input-clear-button-focus);
583
583
  }
584
584
 
585
585
  .clear-button-visible {
@@ -685,12 +685,18 @@ select:not([disabled]) {
685
685
  border-radius var(--ic-easing-transition);
686
686
  }
687
687
 
688
- .clear-button:focus {
688
+ .clear-button:focus,
689
+ .clear-button:active {
689
690
  background-color: var(--ic-color-focus-inner);
690
691
  box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer);
691
692
  border-radius: 0.25rem;
692
693
  }
693
694
 
695
+ .clear-button:focus,
696
+ .clear-button:active * {
697
+ fill: var(--ic-atoms-input-clear-button-focus);
698
+ }
699
+
694
700
  .clear-button.searchable {
695
701
  position: static;
696
702
  }
@@ -490,12 +490,6 @@ input {
490
490
  flex: 1 0 100%;
491
491
  }
492
492
 
493
- .ic-switch-checked-status {
494
- padding-left: var(--ic-space-xxs);
495
- width: var(--ic-space-lg);
496
- color: var(--ic-switch-help-text);
497
- }
498
-
499
493
  .ic-switch-toggle::before {
500
494
  content: "";
501
495
  width: 1.333rem;
@@ -584,10 +578,6 @@ input {
584
578
  border: var(--ic-space-1px) dashed var(--ic-switch-unchecked-outline-disabled);
585
579
  }
586
580
 
587
- .ic-switch-input:disabled ~ .ic-switch-checked-status {
588
- color: var(--ic-architectural-300);
589
- }
590
-
591
581
  .ic-switch-input:disabled + .ic-switch-toggle::before {
592
582
  background-color: var(--ic-switch-unchecked-disabled);
593
583
  }
@@ -606,10 +596,6 @@ input {
606
596
  gap: var(--ic-space-xxxs);
607
597
  }
608
598
 
609
- .ic-switch-small .ic-switch-checked-status {
610
- padding-left: 0.375rem;
611
- }
612
-
613
599
  .ic-switch-small .ic-switch-toggle {
614
600
  width: var(--ic-space-xxl);
615
601
  height: var(--ic-space-lg);
@@ -654,10 +640,6 @@ input {
654
640
  border-color: GrayText;
655
641
  }
656
642
 
657
- .ic-switch-input:disabled ~ .ic-switch-checked-status {
658
- color: GrayText;
659
- }
660
-
661
643
  .ic-switch-disabled .ic-switch-icon-circle,
662
644
  .ic-switch-disabled .ic-switch-icon-line {
663
645
  stroke: GrayText;
@@ -2,7 +2,7 @@ import { Host, h, } from "@stencil/core";
2
2
  import { getInputDescribedByText, onComponentRequiredPropUndefined, renderHiddenInput, addFormResetListener, removeFormResetListener, removeDisabledFalse, } from "../../utils/helpers";
3
3
  let inputIds = 0;
4
4
  /**
5
- * @slot right-adornment - Content is placed to the right of switch before state label.
5
+ * @slot right-adornment - Content is placed to the right of switch.
6
6
  */
7
7
  export class Switch {
8
8
  constructor() {
@@ -31,7 +31,6 @@ export class Switch {
31
31
  this.hideLabel = false;
32
32
  this.label = undefined;
33
33
  this.name = this.inputId;
34
- this.showState = false;
35
34
  this.size = "medium";
36
35
  this.theme = "inherit";
37
36
  this.value = "on";
@@ -57,24 +56,23 @@ export class Switch {
57
56
  * Sets focus on the switch.
58
57
  */
59
58
  async setFocus() {
60
- if (this.el.shadowRoot.querySelector("input")) {
61
- this.el.shadowRoot.querySelector("input").focus();
62
- }
59
+ var _a;
60
+ (_a = this.el.shadowRoot.querySelector("input")) === null || _a === void 0 ? void 0 : _a.focus();
63
61
  }
64
62
  render() {
65
- const { label, checkedState, size, disabled, name, showState, value, hideLabel, helperText, inputId, theme, } = this;
63
+ const { label, checkedState, size, disabled, name, value, hideLabel, helperText, inputId, theme, } = this;
64
+ const isSmall = size === "small";
66
65
  renderHiddenInput(true, this.el, name, checkedState ? value : "", disabled);
67
- const describedBy = getInputDescribedByText(inputId, helperText !== "", false);
68
66
  return (h(Host, { class: {
69
67
  [`ic-theme-${theme}`]: theme !== "inherit",
70
68
  } }, h("label", { class: {
71
- ["ic-switch-container"]: true,
72
- ["ic-switch-disabled"]: disabled,
73
- ["ic-switch-small"]: size === "small",
69
+ "ic-switch-container": true,
70
+ "ic-switch-disabled": disabled,
71
+ "ic-switch-small": isSmall,
74
72
  }, htmlFor: inputId }, !hideLabel && (h("ic-input-label", { for: inputId, label: label, helperText: helperText, readonly: true, disabled: disabled, class: {
75
- ["ic-switch-label"]: true,
76
- ["ic-switch-label-small"]: size === "small",
77
- } })), !hideLabel && h("span", { class: "ic-switch-line-break" }), h("input", { checked: checkedState, disabled: disabled, "aria-label": label, "aria-checked": checkedState ? "true" : "false", "aria-describedby": describedBy, role: "switch", class: "ic-switch-input", type: "checkbox", name: "toggle", id: inputId, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.handleChange }), h("span", { class: "ic-switch-toggle" }, h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("line", { class: "ic-switch-icon-line", x1: "9", y1: size === "small" ? "2" : "1", x2: "9", y2: size === "small" ? "8" : "9" })), h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("circle", { class: "ic-switch-icon-circle", fill: "none", cx: "5", cy: "5", r: size === "small" ? "3.335" : "4.445" }))), h("slot", { name: "right-adornment" }), showState && (h("ic-typography", { "aria-hidden": "true", variant: "label", class: "ic-switch-checked-status" }, checkedState ? "On" : "Off")))));
73
+ "ic-switch-label": true,
74
+ "ic-switch-label-small": isSmall,
75
+ } })), !hideLabel && h("span", { class: "ic-switch-line-break" }), h("input", { checked: checkedState, disabled: disabled, "aria-label": label, "aria-checked": checkedState ? "true" : "false", "aria-describedby": getInputDescribedByText(inputId, helperText !== "", false), role: "switch", class: "ic-switch-input", type: "checkbox", name: "toggle", id: inputId, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.handleChange }), h("span", { class: "ic-switch-toggle" }, h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("line", { class: "ic-switch-icon-line", x1: "9", y1: isSmall ? "2" : "1", x2: "9", y2: isSmall ? "8" : "9" })), h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("circle", { class: "ic-switch-icon-circle", fill: "none", cx: "5", cy: "5", r: isSmall ? "3.335" : "4.445" }))), h("slot", { name: "right-adornment" }))));
78
76
  }
79
77
  static get is() { return "ic-switch"; }
80
78
  static get encapsulation() { return "shadow"; }
@@ -198,24 +196,6 @@ export class Switch {
198
196
  "reflect": false,
199
197
  "defaultValue": "this.inputId"
200
198
  },
201
- "showState": {
202
- "type": "boolean",
203
- "mutable": false,
204
- "complexType": {
205
- "original": "boolean",
206
- "resolved": "boolean",
207
- "references": {}
208
- },
209
- "required": false,
210
- "optional": true,
211
- "docs": {
212
- "tags": [],
213
- "text": "If `true`, the switch will render the On/Off state text."
214
- },
215
- "attribute": "show-state",
216
- "reflect": false,
217
- "defaultValue": "false"
218
- },
219
199
  "size": {
220
200
  "type": "string",
221
201
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-switch.js","sourceRoot":"","sources":["../../../src/components/ic-switch/ic-switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,KAAK,EACL,OAAO,EACP,KAAK,EAEL,MAAM,EACN,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAI7B,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB;;GAEG;AAQH,MAAM,OAAO,MAAM;;QACT,YAAO,GAAG,mBAAmB,QAAQ,EAAE,EAAE,CAAC;QAgH1C,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,YAAO,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;QAEM,WAAM,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC;QAEM,oBAAe,GAAG,GAAS,EAAE;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC5C,CAAC,CAAC;4BA9H+B,KAAK;gCACV,IAAI,CAAC,OAAO;uBAKZ,KAAK;wBAUJ,KAAK;0BASJ,EAAE;yBAKF,KAAK;;oBAUX,IAAI,CAAC,OAAO;yBAKN,KAAK;oBAKH,QAAQ;qBAKV,SAAS;qBASP,IAAI;;IAvDpC,oBAAoB;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;IACnC,CAAC;IAOD,oBAAoB;QAClB,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IA6DD,oBAAoB;QAClB,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACpD,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB;QACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAsBD,MAAM;QACJ,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,KAAK,GACN,GAAG,IAAI,CAAC;QAET,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE5E,MAAM,WAAW,GAAG,uBAAuB,CACzC,OAAO,EACP,UAAU,KAAK,EAAE,EACjB,KAAK,CACN,CAAC;QAEF,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,CAAC,YAAY,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,SAAS;aAC3C;YAED,aACE,KAAK,EAAE;oBACL,CAAC,qBAAqB,CAAC,EAAE,IAAI;oBAC7B,CAAC,oBAAoB,CAAC,EAAE,QAAQ;oBAChC,CAAC,iBAAiB,CAAC,EAAE,IAAI,KAAK,OAAO;iBACtC,EACD,OAAO,EAAE,OAAO;gBAEf,CAAC,SAAS,IAAI,CACb,sBACE,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;wBACL,CAAC,iBAAiB,CAAC,EAAE,IAAI;wBACzB,CAAC,uBAAuB,CAAC,EAAE,IAAI,KAAK,OAAO;qBAC5C,GACe,CACnB;gBACA,CAAC,SAAS,IAAI,YAAM,KAAK,EAAC,sBAAsB,GAAQ;gBACzD,aACE,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,gBACN,KAAK,kBACH,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,sBAC3B,WAAW,EAC7B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,YAAY,GAC3B;gBACF,YAAM,KAAK,EAAC,kBAAkB;oBAC5B,WACE,KAAK,EAAC,gBAAgB,iBACV,MAAM,EAClB,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;wBAElC,YACE,KAAK,EAAC,qBAAqB,EAC3B,EAAE,EAAC,GAAG,EACN,EAAE,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAChC,EAAE,EAAC,GAAG,EACN,EAAE,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAChC,CACE;oBACN,WACE,KAAK,EAAC,gBAAgB,iBACV,MAAM,EAClB,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;wBAElC,cACE,KAAK,EAAC,uBAAuB,EAC7B,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GACvC,CACE,CACD;gBACP,YAAM,IAAI,EAAC,iBAAiB,GAAQ;gBACnC,SAAS,IAAI,CACZ,oCACc,MAAM,EAClB,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,0BAA0B,IAE/B,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CACd,CACjB,CACK,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\nimport { IcSizesNoLarge, IcThemeMode } from \"../../utils/types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n\n @Watch(\"checked\")\n checkedChangeHandler(): void {\n this.checkedState = this.checked;\n }\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\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 aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * If `true`, the switch will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The size of the switch component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n /**\n * Sets focus on the switch.\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 handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n render() {\n const {\n label,\n checkedState,\n size,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n theme,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: size === \"small\",\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: size === \"small\",\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={size === \"small\" ? \"2\" : \"1\"}\n x2=\"9\"\n y2={size === \"small\" ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={size === \"small\" ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-switch.js","sourceRoot":"","sources":["../../../src/components/ic-switch/ic-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\nimport { IcSizesNoLarge, IcThemeMode } from \"../../utils/types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n\n @Watch(\"checked\")\n checkedChangeHandler(): void {\n this.checkedState = this.checked;\n }\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\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 aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * The size of the switch component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n /**\n * Sets focus on the switch.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot.querySelector(\"input\")?.focus();\n }\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n render() {\n const {\n label,\n checkedState,\n size,\n disabled,\n name,\n value,\n hideLabel,\n helperText,\n inputId,\n theme,\n } = this;\n\n const isSmall = size === \"small\";\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <label\n class={{\n \"ic-switch-container\": true,\n \"ic-switch-disabled\": disabled,\n \"ic-switch-small\": isSmall,\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n \"ic-switch-label\": true,\n \"ic-switch-label-small\": isSmall,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n )}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={isSmall ? \"2\" : \"1\"}\n x2=\"9\"\n y2={isSmall ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={isSmall ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -32,20 +32,6 @@ describe("ic-switch component", () => {
32
32
  });
33
33
  expect(page.root).toMatchSnapshot("renders-small");
34
34
  });
35
- it("should render with state text", async () => {
36
- const page = await newSpecPage({
37
- components: [Switch],
38
- html: `<ic-switch label="Custom title" checked=true show-state></ic-switch>`,
39
- });
40
- expect(page.root).toMatchSnapshot("renders-with-state-text");
41
- });
42
- it("should render with state text and unchecked", async () => {
43
- const page = await newSpecPage({
44
- components: [Switch],
45
- html: `<ic-switch label="Custom title" checked="false" show-state="true"></ic-switch>`,
46
- });
47
- expect(page.root).toMatchSnapshot("renders-with-state-text-unchecked");
48
- });
49
35
  it("should focus", async () => {
50
36
  const page = await newSpecPage({
51
37
  components: [Switch],
@@ -1 +1 @@
1
- {"version":3,"file":"ic-switch.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-switch/test/basic/ic-switch.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,8CAA8C;SACrD,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,4DAA4D;SACnE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAEtD,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,2DAA2D;SAClE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,wEAAwE;SAC/E,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,sEAAsE;SAC7E,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,gFAAgF;SACvF,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,mCAAmC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,2DAA2D;SAClE,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1D,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,2DAA2D;SAClE,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,2DAA2D;SAClE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,8CAA8C;SACrD,CAAC,CAAC;QAEH,6EAA6E;QAC7E,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,4HAA4H;SACnI,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnD,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElD,4BAA4B;QAC5B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Switch } from \"../../ic-switch\";\n\ndescribe(\"ic-switch component\", () => {\n it(\"should render an aria-label\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\"></ic-switch>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-aria\");\n });\n\n it(\"should render disabled\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" disabled=true></ic-switch>`,\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 checked\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true></ic-switch>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-checked\");\n });\n\n it(\"should render small\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true size=\"small\"></ic-switch>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-small\");\n });\n\n it(\"should render with state text\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true show-state></ic-switch>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-state-text\");\n });\n\n it(\"should render with state text and unchecked\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=\"false\" show-state=\"true\"></ic-switch>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-state-text-unchecked\");\n });\n\n it(\"should focus\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true></ic-switch>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icFocus\", callbackFn);\n const input = page.root.shadowRoot.querySelector(\"input\");\n input.focus();\n await page.waitForChanges();\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should blur\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true></ic-switch>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icBlur\", callbackFn);\n const input = page.root.shadowRoot.querySelector(\"input\");\n input.blur();\n await page.waitForChanges();\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should toggle checkedState\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true></ic-switch>`,\n });\n\n expect(page.rootInstance.checkedState).toBe(true);\n page.rootInstance.handleChange();\n await page.waitForChanges();\n\n expect(page.rootInstance.checkedState).toBe(false);\n });\n\n it(\"should call 'setFocus' when switch is focused\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\"></ic-switch>`,\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 reset to initial state on form reset\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<form><ic-switch label=\"Custom title\" checked=true></ic-switch><button id=\"resetButton\" type=\"reset\">Reset</button></form>`,\n });\n\n expect(page.rootInstance.checkedState).toBe(true);\n\n page.rootInstance.handleChange();\n await page.waitForChanges();\n\n expect(page.rootInstance.checkedState).toBe(false);\n\n await page.rootInstance.handleFormReset();\n await page.waitForChanges();\n\n expect(page.rootInstance.checkedState).toBe(true);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n});\n"]}
1
+ {"version":3,"file":"ic-switch.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-switch/test/basic/ic-switch.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Switch } from \"../../ic-switch\";\n\ndescribe(\"ic-switch component\", () => {\n it(\"should render an aria-label\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\"></ic-switch>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-aria\");\n });\n\n it(\"should render disabled\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" disabled=true></ic-switch>`,\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 checked\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true></ic-switch>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-checked\");\n });\n\n it(\"should render small\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true size=\"small\"></ic-switch>`,\n });\n\n expect(page.root).toMatchSnapshot(\"renders-small\");\n });\n\n it(\"should focus\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true></ic-switch>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icFocus\", callbackFn);\n const input = page.root.shadowRoot.querySelector(\"input\");\n input.focus();\n await page.waitForChanges();\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should blur\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true></ic-switch>`,\n });\n\n const callbackFn = jest.fn();\n page.doc.addEventListener(\"icBlur\", callbackFn);\n const input = page.root.shadowRoot.querySelector(\"input\");\n input.blur();\n await page.waitForChanges();\n expect(callbackFn).toHaveBeenCalled();\n });\n\n it(\"should toggle checkedState\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\" checked=true></ic-switch>`,\n });\n\n expect(page.rootInstance.checkedState).toBe(true);\n page.rootInstance.handleChange();\n await page.waitForChanges();\n\n expect(page.rootInstance.checkedState).toBe(false);\n });\n\n it(\"should call 'setFocus' when switch is focused\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<ic-switch label=\"Custom title\"></ic-switch>`,\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 reset to initial state on form reset\", async () => {\n const page = await newSpecPage({\n components: [Switch],\n html: `<form><ic-switch label=\"Custom title\" checked=true></ic-switch><button id=\"resetButton\" type=\"reset\">Reset</button></form>`,\n });\n\n expect(page.rootInstance.checkedState).toBe(true);\n\n page.rootInstance.handleChange();\n await page.waitForChanges();\n\n expect(page.rootInstance.checkedState).toBe(false);\n\n await page.rootInstance.handleFormReset();\n await page.waitForChanges();\n\n expect(page.rootInstance.checkedState).toBe(true);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n});\n"]}
@@ -14,7 +14,7 @@ export class TextField {
14
14
  this.checkChildHydration = () => {
15
15
  var _a;
16
16
  const el = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("ic-typography");
17
- if (el && el.classList.contains("hydrated")) {
17
+ if (this.hideLabel || (el && el.classList.contains("hydrated"))) {
18
18
  this.setFocus();
19
19
  clearInterval(this.interval);
20
20
  }