@ukic/web-components 3.0.0-alpha.2 → 3.0.0-alpha.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (398) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-f1cf5156.js → helpers-69219f14.js} +24 -1
  3. package/dist/cjs/helpers-69219f14.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 +2 -2
  7. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-button_3.cjs.entry.js +2 -2
  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 +2 -2
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -3
  18. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +446 -164
  30. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-input-label_2.cjs.entry.js +8 -6
  32. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  44. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-pagination.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-popover-menu.cjs.entry.js +9 -9
  48. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-radio-group.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-radio-option.cjs.entry.js +27 -22
  52. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
  54. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-select.cjs.entry.js +147 -37
  56. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  61. package/dist/cjs/ic-switch.cjs.entry.js +7 -4
  62. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  65. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  66. package/dist/cjs/ic-text-field.cjs.entry.js +2 -2
  67. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  69. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  72. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  74. package/dist/cjs/loader.cjs.js +1 -1
  75. package/dist/collection/components/ic-alert/ic-alert.css +3 -1
  76. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  77. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  78. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -0
  79. package/dist/collection/components/ic-checkbox/ic-checkbox.js +1 -1
  80. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  81. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +1 -1
  82. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  83. package/dist/collection/components/ic-input-label/ic-input-label.css +1 -0
  84. package/dist/collection/components/ic-input-label/ic-input-label.js +45 -4
  85. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  86. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +35 -49
  87. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  88. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +1 -0
  89. package/dist/collection/components/ic-menu/ic-menu.css +70 -10
  90. package/dist/collection/components/ic-menu/ic-menu.js +485 -192
  91. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  92. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +381 -33
  93. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  94. package/dist/collection/components/ic-menu-group/ic-menu-group.css +2 -2
  95. package/dist/collection/components/ic-menu-item/ic-menu-item.css +32 -28
  96. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  97. package/dist/collection/components/ic-page-header/ic-page-header.css +5 -2
  98. package/dist/collection/components/ic-page-header/ic-page-header.js +3 -3
  99. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  100. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +5 -5
  101. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +31 -7
  102. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  103. package/dist/collection/components/ic-radio-group/ic-radio-group.js +1 -1
  104. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  105. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +2 -2
  106. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  107. package/dist/collection/components/ic-radio-option/ic-radio-option.css +1 -0
  108. package/dist/collection/components/ic-radio-option/ic-radio-option.js +26 -21
  109. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  110. package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -0
  111. package/dist/collection/components/ic-select/ic-select.css +36 -16
  112. package/dist/collection/components/ic-select/ic-select.js +191 -43
  113. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  114. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +160 -1
  115. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  116. package/dist/collection/components/ic-switch/ic-switch.css +27 -30
  117. package/dist/collection/components/ic-switch/ic-switch.js +29 -2
  118. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  119. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -0
  120. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  121. package/dist/collection/utils/helpers.js +20 -0
  122. package/dist/collection/utils/helpers.js.map +1 -1
  123. package/dist/collection/utils/types.js.map +1 -1
  124. package/dist/components/helpers.js +22 -1
  125. package/dist/components/helpers.js.map +1 -1
  126. package/dist/components/ic-alert.js +1 -1
  127. package/dist/components/ic-alert.js.map +1 -1
  128. package/dist/components/ic-checkbox-group.js +1 -1
  129. package/dist/components/ic-checkbox-group.js.map +1 -1
  130. package/dist/components/ic-checkbox.js +2 -2
  131. package/dist/components/ic-checkbox.js.map +1 -1
  132. package/dist/components/ic-input-label2.js +10 -6
  133. package/dist/components/ic-input-label2.js.map +1 -1
  134. package/dist/components/ic-loading-indicator2.js +1 -1
  135. package/dist/components/ic-loading-indicator2.js.map +1 -1
  136. package/dist/components/ic-menu-group.js +1 -1
  137. package/dist/components/ic-menu-group.js.map +1 -1
  138. package/dist/components/ic-menu-item2.js +1 -1
  139. package/dist/components/ic-menu-item2.js.map +1 -1
  140. package/dist/components/ic-menu2.js +450 -167
  141. package/dist/components/ic-menu2.js.map +1 -1
  142. package/dist/components/ic-navigation-group.js +2 -2
  143. package/dist/components/ic-navigation-group.js.map +1 -1
  144. package/dist/components/ic-navigation-item.js +1 -1
  145. package/dist/components/ic-navigation-menu2.js +1 -1
  146. package/dist/components/ic-page-header.js +4 -4
  147. package/dist/components/ic-page-header.js.map +1 -1
  148. package/dist/components/ic-pagination-item2.js +1 -1
  149. package/dist/components/ic-popover-menu.js +9 -8
  150. package/dist/components/ic-popover-menu.js.map +1 -1
  151. package/dist/components/ic-radio-group.js +1 -1
  152. package/dist/components/ic-radio-group.js.map +1 -1
  153. package/dist/components/ic-radio-option.js +27 -22
  154. package/dist/components/ic-radio-option.js.map +1 -1
  155. package/dist/components/ic-search-bar.js +2 -2
  156. package/dist/components/ic-search-bar.js.map +1 -1
  157. package/dist/components/ic-select.js +148 -37
  158. package/dist/components/ic-select.js.map +1 -1
  159. package/dist/components/ic-side-navigation.js +1 -1
  160. package/dist/components/ic-stepper.js +1 -1
  161. package/dist/components/ic-switch.js +7 -3
  162. package/dist/components/ic-switch.js.map +1 -1
  163. package/dist/components/ic-text-field2.js +2 -2
  164. package/dist/components/ic-text-field2.js.map +1 -1
  165. package/dist/components/ic-theme.js +1 -1
  166. package/dist/components/ic-toast.js +1 -1
  167. package/dist/components/ic-top-navigation.js +1 -1
  168. package/dist/components/ic-top-navigation.js.map +1 -1
  169. package/dist/core/core.css +580 -10
  170. package/dist/core/core.esm.js +1 -1
  171. package/dist/core/core.esm.js.map +1 -1
  172. package/dist/core/{p-d2f89cb5.entry.js → p-0395442c.entry.js} +2 -2
  173. package/dist/core/{p-244d6dba.entry.js → p-0d233b0c.entry.js} +2 -2
  174. package/dist/core/{p-f38bce8d.entry.js → p-134def81.entry.js} +2 -2
  175. package/dist/core/p-134def81.entry.js.map +1 -0
  176. package/dist/core/p-14dfd8db.entry.js +2 -0
  177. package/dist/core/p-14dfd8db.entry.js.map +1 -0
  178. package/dist/core/p-1b116dd1.entry.js +2 -0
  179. package/dist/core/p-1b116dd1.entry.js.map +1 -0
  180. package/dist/core/p-21cc87c0.entry.js +2 -0
  181. package/dist/core/p-21cc87c0.entry.js.map +1 -0
  182. package/dist/core/p-2eae9b27.entry.js +2 -0
  183. package/dist/core/p-2eae9b27.entry.js.map +1 -0
  184. package/dist/core/p-3618ac34.entry.js +2 -0
  185. package/dist/core/p-3618ac34.entry.js.map +1 -0
  186. package/dist/core/{p-355acffa.entry.js → p-37dea10d.entry.js} +2 -2
  187. package/dist/core/{p-bf1f0ac7.entry.js → p-384d454d.entry.js} +2 -2
  188. package/dist/core/p-384d454d.entry.js.map +1 -0
  189. package/dist/core/p-3d417eff.entry.js +2 -0
  190. package/dist/core/p-3d417eff.entry.js.map +1 -0
  191. package/dist/core/p-3d9726a3.entry.js +2 -0
  192. package/dist/core/{p-408344d3.entry.js.map → p-3d9726a3.entry.js.map} +1 -1
  193. package/dist/core/{p-84526c3e.entry.js → p-43256b7c.entry.js} +2 -2
  194. package/dist/core/{p-93c23a35.entry.js → p-4a3b1f06.entry.js} +2 -2
  195. package/dist/core/{p-34db8aaf.entry.js → p-5cd016e1.entry.js} +2 -2
  196. package/dist/core/{p-d2f8e03f.entry.js → p-5ef8e106.entry.js} +2 -2
  197. package/dist/core/{p-0a808ec3.entry.js → p-690c5e80.entry.js} +2 -2
  198. package/dist/core/{p-43f9a711.entry.js → p-6d3e4bb1.entry.js} +2 -2
  199. package/dist/core/{p-4055f22c.entry.js → p-726673ee.entry.js} +2 -2
  200. package/dist/core/p-726673ee.entry.js.map +1 -0
  201. package/dist/core/{p-fa1b7a80.entry.js → p-72d30c8a.entry.js} +2 -2
  202. package/dist/core/{p-f30f3a3e.entry.js → p-76263187.entry.js} +2 -2
  203. package/dist/core/{p-c86d48b6.entry.js → p-7827b5cb.entry.js} +2 -2
  204. package/dist/core/p-79d0be03.entry.js +2 -0
  205. package/dist/core/p-79d0be03.entry.js.map +1 -0
  206. package/dist/core/{p-c06a3b97.entry.js → p-7b35de65.entry.js} +2 -2
  207. package/dist/core/{p-1684c8d4.entry.js → p-7fbf2d3e.entry.js} +2 -2
  208. package/dist/core/p-91cf9b2b.entry.js +2 -0
  209. package/dist/core/p-91cf9b2b.entry.js.map +1 -0
  210. package/dist/core/{p-1b573920.entry.js → p-922984cb.entry.js} +2 -2
  211. package/dist/core/{p-aab2c7aa.entry.js → p-95f603dd.entry.js} +2 -2
  212. package/dist/core/{p-e4b276b5.entry.js → p-97fb2bdf.entry.js} +2 -2
  213. package/dist/core/p-ac4b7329.entry.js +2 -0
  214. package/dist/core/p-ac4b7329.entry.js.map +1 -0
  215. package/dist/core/{p-e3ed9110.entry.js → p-acbd15ab.entry.js} +2 -2
  216. package/dist/core/{p-6d40baa9.entry.js → p-b17c94b7.entry.js} +2 -2
  217. package/dist/core/p-b78f8b8c.entry.js +2 -0
  218. package/dist/core/p-b78f8b8c.entry.js.map +1 -0
  219. package/dist/core/{p-312cacae.js → p-b7eb8ef9.js} +2 -2
  220. package/dist/core/p-b7eb8ef9.js.map +1 -0
  221. package/dist/core/{p-363d6e88.entry.js → p-b95a72a3.entry.js} +2 -2
  222. package/dist/core/{p-21e5dd29.entry.js → p-b997064c.entry.js} +2 -2
  223. package/dist/core/{p-4ff6d16f.entry.js → p-ba6ecc15.entry.js} +2 -2
  224. package/dist/core/{p-0d30ffab.entry.js → p-c0fc3d02.entry.js} +2 -2
  225. package/dist/core/p-c396bd4d.entry.js +2 -0
  226. package/dist/core/p-c396bd4d.entry.js.map +1 -0
  227. package/dist/core/{p-f828a6e1.entry.js → p-c9cf932c.entry.js} +2 -2
  228. package/dist/core/{p-aa0619ce.entry.js → p-cf7db84a.entry.js} +2 -2
  229. package/dist/core/{p-d58a10ec.entry.js → p-dd36bf1b.entry.js} +2 -2
  230. package/dist/core/p-e488de54.entry.js +2 -0
  231. package/dist/core/p-e488de54.entry.js.map +1 -0
  232. package/dist/core/{p-da14cd3c.entry.js → p-e4d1839e.entry.js} +2 -2
  233. package/dist/core/{p-0fb047e7.entry.js → p-eb3b4935.entry.js} +2 -2
  234. package/dist/core/{p-0fb047e7.entry.js.map → p-eb3b4935.entry.js.map} +1 -1
  235. package/dist/core/{p-60efd7fa.entry.js → p-ebafab37.entry.js} +2 -2
  236. package/dist/core/{p-82375dca.entry.js → p-ee6dd94c.entry.js} +2 -2
  237. package/dist/core/{p-9dba6823.entry.js → p-f0fc1bf0.entry.js} +2 -2
  238. package/dist/core/{p-49525194.entry.js → p-f24984c5.entry.js} +2 -2
  239. package/dist/core/p-f24984c5.entry.js.map +1 -0
  240. package/dist/core/{p-d8870804.entry.js → p-f5b2b26d.entry.js} +2 -2
  241. package/dist/core/p-f60dbd0e.entry.js +2 -0
  242. package/dist/core/p-f60dbd0e.entry.js.map +1 -0
  243. package/dist/core/{p-40e9e76a.entry.js → p-f71c00ce.entry.js} +2 -2
  244. package/dist/core/{p-cbcd4427.entry.js → p-ff4298b1.entry.js} +2 -2
  245. package/dist/esm/core.js +1 -1
  246. package/dist/esm/{helpers-1c9151ef.js → helpers-e8797e8d.js} +23 -2
  247. package/dist/esm/helpers-e8797e8d.js.map +1 -0
  248. package/dist/esm/ic-accordion-group.entry.js +1 -1
  249. package/dist/esm/ic-accordion.entry.js +1 -1
  250. package/dist/esm/ic-alert.entry.js +2 -2
  251. package/dist/esm/ic-alert.entry.js.map +1 -1
  252. package/dist/esm/ic-back-to-top.entry.js +1 -1
  253. package/dist/esm/ic-badge.entry.js +1 -1
  254. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  255. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  256. package/dist/esm/ic-button_3.entry.js +2 -2
  257. package/dist/esm/ic-button_3.entry.js.map +1 -1
  258. package/dist/esm/ic-card-vertical.entry.js +1 -1
  259. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  260. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  261. package/dist/esm/ic-checkbox.entry.js +3 -3
  262. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  263. package/dist/esm/ic-chip.entry.js +1 -1
  264. package/dist/esm/ic-data-row.entry.js +1 -1
  265. package/dist/esm/ic-dialog.entry.js +1 -1
  266. package/dist/esm/ic-divider.entry.js +1 -1
  267. package/dist/esm/ic-empty-state.entry.js +1 -1
  268. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  269. package/dist/esm/ic-footer-link.entry.js +1 -1
  270. package/dist/esm/ic-footer.entry.js +1 -1
  271. package/dist/esm/ic-hero.entry.js +1 -1
  272. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  273. package/dist/esm/ic-input-component-container_3.entry.js +446 -164
  274. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  275. package/dist/esm/ic-input-label_2.entry.js +8 -6
  276. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  277. package/dist/esm/ic-link.entry.js +1 -1
  278. package/dist/esm/ic-menu-group.entry.js +2 -2
  279. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  280. package/dist/esm/ic-menu-item.entry.js +2 -2
  281. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  282. package/dist/esm/ic-navigation-button.entry.js +1 -1
  283. package/dist/esm/ic-navigation-group.entry.js +2 -2
  284. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  285. package/dist/esm/ic-navigation-item.entry.js +1 -1
  286. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  287. package/dist/esm/ic-page-header.entry.js +5 -5
  288. package/dist/esm/ic-page-header.entry.js.map +1 -1
  289. package/dist/esm/ic-pagination-item.entry.js +1 -1
  290. package/dist/esm/ic-pagination.entry.js +1 -1
  291. package/dist/esm/ic-popover-menu.entry.js +9 -9
  292. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  293. package/dist/esm/ic-radio-group.entry.js +2 -2
  294. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  295. package/dist/esm/ic-radio-option.entry.js +27 -22
  296. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  297. package/dist/esm/ic-search-bar.entry.js +2 -2
  298. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  299. package/dist/esm/ic-select.entry.js +147 -37
  300. package/dist/esm/ic-select.entry.js.map +1 -1
  301. package/dist/esm/ic-side-navigation.entry.js +1 -1
  302. package/dist/esm/ic-status-tag.entry.js +1 -1
  303. package/dist/esm/ic-step.entry.js +1 -1
  304. package/dist/esm/ic-stepper.entry.js +1 -1
  305. package/dist/esm/ic-switch.entry.js +7 -4
  306. package/dist/esm/ic-switch.entry.js.map +1 -1
  307. package/dist/esm/ic-tab-group.entry.js +1 -1
  308. package/dist/esm/ic-tab-panel.entry.js +1 -1
  309. package/dist/esm/ic-tab.entry.js +1 -1
  310. package/dist/esm/ic-text-field.entry.js +2 -2
  311. package/dist/esm/ic-text-field.entry.js.map +1 -1
  312. package/dist/esm/ic-theme.entry.js +1 -1
  313. package/dist/esm/ic-toast.entry.js +1 -1
  314. package/dist/esm/ic-toggle-button.entry.js +1 -1
  315. package/dist/esm/ic-top-navigation.entry.js +1 -1
  316. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  317. package/dist/esm/ic-typography.entry.js +1 -1
  318. package/dist/esm/loader.js +1 -1
  319. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  320. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -0
  321. package/dist/types/components/ic-menu/ic-menu.d.ts +43 -15
  322. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +5 -0
  323. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +3 -2
  324. package/dist/types/components/ic-select/ic-select.d.ts +24 -10
  325. package/dist/types/components/ic-switch/ic-switch.d.ts +5 -1
  326. package/dist/types/components.d.ts +66 -20
  327. package/dist/types/utils/helpers.d.ts +7 -0
  328. package/dist/types/utils/types.d.ts +1 -1
  329. package/hydrate/index.js +685 -255
  330. package/package.json +2 -2
  331. package/vscode-data.json +49 -7
  332. package/dist/cjs/helpers-f1cf5156.js.map +0 -1
  333. package/dist/core/p-0c872824.entry.js +0 -2
  334. package/dist/core/p-0c872824.entry.js.map +0 -1
  335. package/dist/core/p-1f1758a9.entry.js +0 -2
  336. package/dist/core/p-1f1758a9.entry.js.map +0 -1
  337. package/dist/core/p-312cacae.js.map +0 -1
  338. package/dist/core/p-322edabc.entry.js +0 -2
  339. package/dist/core/p-322edabc.entry.js.map +0 -1
  340. package/dist/core/p-4055f22c.entry.js.map +0 -1
  341. package/dist/core/p-408344d3.entry.js +0 -2
  342. package/dist/core/p-4502d3c1.entry.js +0 -2
  343. package/dist/core/p-4502d3c1.entry.js.map +0 -1
  344. package/dist/core/p-49525194.entry.js.map +0 -1
  345. package/dist/core/p-5deb9730.entry.js +0 -2
  346. package/dist/core/p-5deb9730.entry.js.map +0 -1
  347. package/dist/core/p-6bd2e938.entry.js +0 -2
  348. package/dist/core/p-6bd2e938.entry.js.map +0 -1
  349. package/dist/core/p-7c89fc86.entry.js +0 -2
  350. package/dist/core/p-7c89fc86.entry.js.map +0 -1
  351. package/dist/core/p-af20322c.entry.js +0 -2
  352. package/dist/core/p-af20322c.entry.js.map +0 -1
  353. package/dist/core/p-bf1f0ac7.entry.js.map +0 -1
  354. package/dist/core/p-d1c9c32b.entry.js +0 -2
  355. package/dist/core/p-d1c9c32b.entry.js.map +0 -1
  356. package/dist/core/p-dc83a0e9.entry.js +0 -2
  357. package/dist/core/p-dc83a0e9.entry.js.map +0 -1
  358. package/dist/core/p-de3a5423.entry.js +0 -2
  359. package/dist/core/p-de3a5423.entry.js.map +0 -1
  360. package/dist/core/p-e53309b0.entry.js +0 -2
  361. package/dist/core/p-e53309b0.entry.js.map +0 -1
  362. package/dist/core/p-f38bce8d.entry.js.map +0 -1
  363. package/dist/core/p-fa587e6d.entry.js +0 -2
  364. package/dist/core/p-fa587e6d.entry.js.map +0 -1
  365. package/dist/esm/helpers-1c9151ef.js.map +0 -1
  366. /package/dist/core/{p-d2f89cb5.entry.js.map → p-0395442c.entry.js.map} +0 -0
  367. /package/dist/core/{p-244d6dba.entry.js.map → p-0d233b0c.entry.js.map} +0 -0
  368. /package/dist/core/{p-355acffa.entry.js.map → p-37dea10d.entry.js.map} +0 -0
  369. /package/dist/core/{p-84526c3e.entry.js.map → p-43256b7c.entry.js.map} +0 -0
  370. /package/dist/core/{p-93c23a35.entry.js.map → p-4a3b1f06.entry.js.map} +0 -0
  371. /package/dist/core/{p-34db8aaf.entry.js.map → p-5cd016e1.entry.js.map} +0 -0
  372. /package/dist/core/{p-d2f8e03f.entry.js.map → p-5ef8e106.entry.js.map} +0 -0
  373. /package/dist/core/{p-0a808ec3.entry.js.map → p-690c5e80.entry.js.map} +0 -0
  374. /package/dist/core/{p-43f9a711.entry.js.map → p-6d3e4bb1.entry.js.map} +0 -0
  375. /package/dist/core/{p-fa1b7a80.entry.js.map → p-72d30c8a.entry.js.map} +0 -0
  376. /package/dist/core/{p-f30f3a3e.entry.js.map → p-76263187.entry.js.map} +0 -0
  377. /package/dist/core/{p-c86d48b6.entry.js.map → p-7827b5cb.entry.js.map} +0 -0
  378. /package/dist/core/{p-c06a3b97.entry.js.map → p-7b35de65.entry.js.map} +0 -0
  379. /package/dist/core/{p-1684c8d4.entry.js.map → p-7fbf2d3e.entry.js.map} +0 -0
  380. /package/dist/core/{p-1b573920.entry.js.map → p-922984cb.entry.js.map} +0 -0
  381. /package/dist/core/{p-aab2c7aa.entry.js.map → p-95f603dd.entry.js.map} +0 -0
  382. /package/dist/core/{p-e4b276b5.entry.js.map → p-97fb2bdf.entry.js.map} +0 -0
  383. /package/dist/core/{p-e3ed9110.entry.js.map → p-acbd15ab.entry.js.map} +0 -0
  384. /package/dist/core/{p-6d40baa9.entry.js.map → p-b17c94b7.entry.js.map} +0 -0
  385. /package/dist/core/{p-363d6e88.entry.js.map → p-b95a72a3.entry.js.map} +0 -0
  386. /package/dist/core/{p-21e5dd29.entry.js.map → p-b997064c.entry.js.map} +0 -0
  387. /package/dist/core/{p-4ff6d16f.entry.js.map → p-ba6ecc15.entry.js.map} +0 -0
  388. /package/dist/core/{p-0d30ffab.entry.js.map → p-c0fc3d02.entry.js.map} +0 -0
  389. /package/dist/core/{p-f828a6e1.entry.js.map → p-c9cf932c.entry.js.map} +0 -0
  390. /package/dist/core/{p-aa0619ce.entry.js.map → p-cf7db84a.entry.js.map} +0 -0
  391. /package/dist/core/{p-d58a10ec.entry.js.map → p-dd36bf1b.entry.js.map} +0 -0
  392. /package/dist/core/{p-da14cd3c.entry.js.map → p-e4d1839e.entry.js.map} +0 -0
  393. /package/dist/core/{p-60efd7fa.entry.js.map → p-ebafab37.entry.js.map} +0 -0
  394. /package/dist/core/{p-82375dca.entry.js.map → p-ee6dd94c.entry.js.map} +0 -0
  395. /package/dist/core/{p-9dba6823.entry.js.map → p-f0fc1bf0.entry.js.map} +0 -0
  396. /package/dist/core/{p-d8870804.entry.js.map → p-f5b2b26d.entry.js.map} +0 -0
  397. /package/dist/core/{p-40e9e76a.entry.js.map → p-f71c00ce.entry.js.map} +0 -0
  398. /package/dist/core/{p-cbcd4427.entry.js.map → p-ff4298b1.entry.js.map} +0 -0
@@ -461,6 +461,7 @@ ic-radio-option.ic-radio-option-disabled {
461
461
  /* Focus states */
462
462
 
463
463
  .container input:focus + span.checkmark,
464
+ .container:active input:focus + span.checkmark,
464
465
  :host(:focus) .container input:checked + span.checkmark {
465
466
  box-shadow: var(--ic-border-focus);
466
467
  }
@@ -1,7 +1,6 @@
1
1
  import { Host, h, } from "@stencil/core";
2
2
  import { onComponentRequiredPropUndefined, addFormResetListener, removeFormResetListener, removeDisabledFalse, isPropDefined, isSlotUsed, slotHasContent, } from "../../utils/helpers";
3
3
  const ADDITIONAL_FIELD = "additional-field";
4
- const TEXT_FIELD_SELECTOR = "ic-text-field";
5
4
  /**
6
5
  * @slot additional-field - Content to displayed alongside a radio option.
7
6
  */
@@ -10,24 +9,28 @@ export class RadioOption {
10
9
  this.defaultRadioValue = "";
11
10
  this.hasAdditionalField = false;
12
11
  this.skipFocus = false;
13
- this.handleClick = () => {
14
- if (!this.disabled) {
12
+ this.handleClick = (event) => {
13
+ const clickedAdditionalField = event.target.matches(".dynamic-container, .dynamic-container *");
14
+ if (!this.disabled && !clickedAdditionalField) {
15
+ event.stopPropagation();
15
16
  if (this.skipFocus === false) {
16
17
  this.radioElement.focus();
17
18
  }
18
19
  this.skipFocus = false;
19
20
  if (this.hasAdditionalField) {
20
- this.value =
21
- this.el.querySelector(TEXT_FIELD_SELECTOR).value ||
22
- this.defaultRadioValue;
21
+ this.value = this.getAdditionalField().value || this.defaultRadioValue;
23
22
  }
24
23
  this.icCheck.emit({
25
24
  value: this.value,
26
25
  });
27
26
  }
28
27
  };
29
- this.swallowClick = (event) => {
30
- event.stopPropagation();
28
+ this.handleKeyDown = (event) => {
29
+ const preventPropagationElements = ["IC-DATE-INPUT", "IC-DATE-PICKER"];
30
+ if (this.getAdditionalField() == document.activeElement &&
31
+ preventPropagationElements.includes(this.getAdditionalField().nodeName)) {
32
+ event.stopPropagation();
33
+ }
31
34
  };
32
35
  this.handleFormReset = () => {
33
36
  this.skipFocus = true;
@@ -53,9 +56,7 @@ export class RadioOption {
53
56
  componentWillLoad() {
54
57
  if (isSlotUsed(this.el, ADDITIONAL_FIELD)) {
55
58
  this.hasAdditionalField = true;
56
- const textField = this.el.querySelector(TEXT_FIELD_SELECTOR);
57
- if (textField)
58
- textField.hiddenInput = false;
59
+ this.getAdditionalField();
59
60
  }
60
61
  this.defaultRadioValue = this.value;
61
62
  addFormResetListener(this.el, this.handleFormReset);
@@ -68,9 +69,7 @@ export class RadioOption {
68
69
  const hasSlot = slotHasContent(this.el, ADDITIONAL_FIELD);
69
70
  if (hasSlot && !this.hasAdditionalField) {
70
71
  this.hasAdditionalField = true;
71
- const textField = this.el.querySelector(TEXT_FIELD_SELECTOR);
72
- if (textField)
73
- textField.hiddenInput = false;
72
+ this.getAdditionalField();
74
73
  }
75
74
  else if (!hasSlot && this.hasAdditionalField) {
76
75
  this.hasAdditionalField = false;
@@ -78,16 +77,16 @@ export class RadioOption {
78
77
  }
79
78
  componentDidRender() {
80
79
  if (this.additionalFieldDisplay === "static") {
81
- const textfield = this.el.querySelector(TEXT_FIELD_SELECTOR);
80
+ const additionalField = this.getAdditionalField();
82
81
  if (!this.selected || this.disabled) {
83
- textfield === null || textfield === void 0 ? void 0 : textfield.setAttribute("disabled", "");
82
+ additionalField === null || additionalField === void 0 ? void 0 : additionalField.setAttribute("disabled", "");
84
83
  }
85
84
  else {
86
- textfield === null || textfield === void 0 ? void 0 : textfield.removeAttribute("disabled");
85
+ additionalField === null || additionalField === void 0 ? void 0 : additionalField.removeAttribute("disabled");
87
86
  }
88
87
  }
89
88
  }
90
- textfieldValueHandler(event) {
89
+ additionalFieldValueHandler(event) {
91
90
  if (this.selected) {
92
91
  this.value = event.detail.value || this.defaultRadioValue;
93
92
  this.icCheck.emit({
@@ -109,10 +108,16 @@ export class RadioOption {
109
108
  async setTabIndex(value) {
110
109
  this.radioElement.tabIndex = value;
111
110
  }
111
+ getAdditionalField() {
112
+ const additionalField = this.el.querySelector('[slot="additional-field"]');
113
+ if (additionalField)
114
+ additionalField.hiddenInput = false;
115
+ return additionalField;
116
+ }
112
117
  render() {
113
- const { additionalFieldDisplay, disabled, dynamicText, form, groupLabel, handleClick, hasAdditionalField, label, name, selected, swallowClick, value, } = this;
118
+ const { additionalFieldDisplay, disabled, dynamicText, form, groupLabel, handleClick, handleKeyDown, hasAdditionalField, label, name, selected, value, } = this;
114
119
  const id = `ic-radio-option-${isPropDefined(label) || value}-${groupLabel}`;
115
- return (h(Host, { onClick: handleClick, class: { ["ic-radio-option-disabled"]: disabled } }, h("div", { class: { container: true, disabled } }, h("div", null, h("input", { tabindex: selected ? "0" : "-1", type: "radio", name: name, id: id, value: value, disabled: disabled ? true : null, checked: selected, ref: (el) => (this.radioElement = el), form: form }), h("span", { class: "checkmark" })), h("ic-typography", { class: "radio-label", variant: "body" }, h("label", { htmlFor: id }, label))), hasAdditionalField && (h("div", { onClick: swallowClick, class: {
120
+ return (h(Host, { onClick: handleClick, onKeyDown: handleKeyDown, class: { ["ic-radio-option-disabled"]: disabled } }, h("div", { class: { container: true, disabled } }, h("div", null, h("input", { tabindex: selected ? "0" : "-1", type: "radio", name: name, id: id, value: value, disabled: disabled ? true : null, checked: selected, ref: (el) => (this.radioElement = el), form: form }), h("span", { class: "checkmark" })), h("ic-typography", { class: "radio-label", variant: "body" }, h("label", { htmlFor: id }, label))), hasAdditionalField && (h("div", { class: {
116
121
  "dynamic-container": true,
117
122
  hidden: additionalFieldDisplay === "dynamic" && !selected,
118
123
  } }, additionalFieldDisplay === "dynamic" && (h("div", { class: "branch-corner" })), h("div", null, additionalFieldDisplay === "dynamic" && (h("ic-typography", { variant: "caption" }, h("p", { class: "dynamic-text" }, dynamicText))), h("div", { class: {
@@ -396,7 +401,7 @@ export class RadioOption {
396
401
  static get listeners() {
397
402
  return [{
398
403
  "name": "icChange",
399
- "method": "textfieldValueHandler",
404
+ "method": "additionalFieldValueHandler",
400
405
  "target": undefined,
401
406
  "capture": false,
402
407
  "passive": false
@@ -1 +1 @@
1
- {"version":3,"file":"ic-radio-option.js","sourceRoot":"","sources":["../../../src/components/ic-radio-option/ic-radio-option.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Listen,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes, IcValueEventDetail } from \"../../utils/types\";\nimport {\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n isSlotUsed,\n slotHasContent,\n} from \"../../utils/helpers\";\n\nconst ADDITIONAL_FIELD = \"additional-field\";\nconst TEXT_FIELD_SELECTOR = \"ic-text-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\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 * 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 const textField = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (textField) textField.hiddenInput = false;\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 const textField = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (textField) textField.hiddenInput = false;\n } else if (!hasSlot && this.hasAdditionalField) {\n this.hasAdditionalField = false;\n }\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(TEXT_FIELD_SELECTOR);\n if (!this.selected || this.disabled) {\n textfield?.setAttribute(\"disabled\", \"\");\n } else {\n textfield?.removeAttribute(\"disabled\");\n }\n }\n }\n\n @Listen(\"icChange\")\n textfieldValueHandler(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 handleClick = () => {\n if (!this.disabled) {\n if (this.skipFocus === false) {\n this.radioElement.focus();\n }\n this.skipFocus = false;\n\n if (this.hasAdditionalField) {\n this.value =\n this.el.querySelector(TEXT_FIELD_SELECTOR).value ||\n this.defaultRadioValue;\n }\n\n this.icCheck.emit({\n value: this.value,\n });\n }\n };\n\n private swallowClick = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n private handleFormReset = (): void => {\n this.skipFocus = true;\n this.selected = this.initiallySelected;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n disabled,\n dynamicText,\n form,\n groupLabel,\n handleClick,\n hasAdditionalField,\n label,\n name,\n selected,\n swallowClick,\n value,\n } = this;\n\n const id = `ic-radio-option-${isPropDefined(label) || value}-${groupLabel}`;\n\n return (\n <Host\n onClick={handleClick}\n class={{ [\"ic-radio-option-disabled\"]: disabled }}\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 onClick={swallowClick}\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 { IcAdditionalFieldTypes, IcValueEventDetail } 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\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 * 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 } = 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={{ [\"ic-radio-option-disabled\"]: disabled }}\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"]}
@@ -447,6 +447,7 @@ video {
447
447
 
448
448
  :host(.ic-search-bar-search) {
449
449
  --divider-height: 1.5rem;
450
+ --ic-input-label-helpertext-padding: var(--ic-space-xxs);
450
451
  }
451
452
 
452
453
  :host(.ic-search-bar-search.ic-search-bar-small) {
@@ -443,12 +443,15 @@ video {
443
443
 
444
444
  /**
445
445
  * @prop --input-width: Width of the input field
446
+ * @prop --menu-width: Width of the dropdown menu
446
447
  * @prop --ic-z-index-menu: z-index of select menu
447
448
  */
448
449
 
449
450
  :host {
450
451
  display: block;
451
452
  position: relative;
453
+ --ic-input-label-helpertext-padding: var(--ic-space-xxs);
454
+ --menu-max-height: 100px;
452
455
  }
453
456
 
454
457
  :host(.ic-select-full-width) {
@@ -560,6 +563,23 @@ select:not([disabled]) {
560
563
  cursor: auto;
561
564
  }
562
565
 
566
+ .select-input.with-clear-button {
567
+ padding-right: 0;
568
+ }
569
+
570
+ .value-text {
571
+ max-width: calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));
572
+ box-sizing: border-box;
573
+ white-space: nowrap;
574
+ text-overflow: ellipsis;
575
+ overflow: hidden;
576
+ margin-bottom: 0 !important;
577
+ }
578
+
579
+ .value-text.with-clear-button {
580
+ padding-right: calc(var(--ic-space-xl) + var(--ic-space-xs));
581
+ }
582
+
563
583
  .searchable-select-container {
564
584
  align-items: center;
565
585
  display: flex;
@@ -569,7 +589,7 @@ select:not([disabled]) {
569
589
 
570
590
  .expand-icon {
571
591
  height: var(--ic-space-lg);
572
- padding-left: var(--ic-space-xs);
592
+ padding-left: var(--ic-space-xxs);
573
593
  color: var(--ic-action-dark);
574
594
  }
575
595
 
@@ -585,13 +605,14 @@ select:not([disabled]) {
585
605
  }
586
606
 
587
607
  :host(.ic-select-searchable) .expand-icon {
588
- padding-left: var(--ic-space-xxs);
608
+ padding-left: 0;
589
609
  height: 2.25rem;
590
610
  }
591
611
 
592
612
  :host(.ic-select-searchable) .expand-icon > svg {
593
613
  height: 2.25rem;
594
- padding: 0 0.375rem;
614
+ padding: 0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0
615
+ var(--ic-space-xxs);
595
616
  }
596
617
 
597
618
  :host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon > svg {
@@ -602,10 +623,6 @@ select:not([disabled]) {
602
623
  color: var(--ic-action-dark);
603
624
  }
604
625
 
605
- .expand-icon-filled {
606
- color: var(--ic-action-dark);
607
- }
608
-
609
626
  .expand-icon-open,
610
627
  :host(.ic-select-searchable) .expand-icon-open {
611
628
  transform: rotateX(180deg);
@@ -623,17 +640,11 @@ select:not([disabled]) {
623
640
 
624
641
  .clear-button-container {
625
642
  display: flex;
626
- gap: var(--ic-space-xxs);
627
- padding-left: 2.375rem;
628
643
  align-items: center;
629
644
  }
630
645
 
631
- :host(.ic-select-small) .clear-button-container {
632
- padding-left: 1.875rem;
633
- }
634
-
635
646
  .divider {
636
- width: var(--ic-border-width);
647
+ width: var(--ic-space-1px);
637
648
  background-color: var(--ic-architectural-400);
638
649
  margin: var(--ic-space-xxs) 0;
639
650
  border-radius: var(--ic-space-1px);
@@ -644,9 +655,13 @@ select:not([disabled]) {
644
655
  height: var(--ic-space-md);
645
656
  }
646
657
 
658
+ :host(.ic-select-large) .divider {
659
+ height: var(--ic-space-xl);
660
+ }
661
+
647
662
  .clear-button {
648
663
  position: absolute;
649
- right: 2.75rem;
664
+ right: calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));
650
665
  border-radius: var(--ic-border-radius);
651
666
  transition: box-shadow var(--ic-easing-transition),
652
667
  border-radius var(--ic-easing-transition);
@@ -662,7 +677,12 @@ select:not([disabled]) {
662
677
  fill: white;
663
678
  }
664
679
 
665
- .searchable-select-results-status {
680
+ .clear-button.searchable {
681
+ position: static;
682
+ }
683
+
684
+ .searchable-select-results-status,
685
+ .multi-select-selected-count {
666
686
  border: 0;
667
687
  clip: rect(0, 0, 0, 0, 0);
668
688
  height: var(--ic-space-1px);