@ukic/web-components 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-fc4016d2.js → helpers-931fd72e.js} +30 -32
  3. package/dist/cjs/helpers-931fd72e.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 +10 -8
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
  13. package/dist/cjs/ic-button_3.cjs.entry.js +138 -145
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -5
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +8 -13
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  24. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  25. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  27. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  29. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-hero.cjs.entry.js +7 -6
  31. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  33. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +33 -27
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-input-label_2.cjs.entry.js +36 -13
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-link.cjs.entry.js +12 -22
  38. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-navigation-button.cjs.entry.js +31 -39
  42. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-group.cjs.entry.js +121 -166
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-navigation-item.cjs.entry.js +65 -62
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  48. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  49. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
  52. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-radio-group.cjs.entry.js +6 -6
  54. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  56. package/dist/cjs/ic-search-bar.cjs.entry.js +68 -34
  57. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-select.cjs.entry.js +142 -218
  60. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-side-navigation.cjs.entry.js +35 -17
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  66. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  67. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  69. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  72. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-text-field.cjs.entry.js +16 -11
  75. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +54 -68
  80. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-toggle-button.cjs.entry.js +62 -64
  82. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-top-navigation.cjs.entry.js +74 -66
  84. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  86. package/dist/cjs/loader.cjs.js +1 -1
  87. package/dist/collection/ag-theme-icds.css +24 -4
  88. package/dist/collection/components/ic-accordion/ic-accordion.js +9 -7
  89. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  90. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +1 -1
  91. package/dist/collection/components/ic-alert/ic-alert.css +4 -0
  92. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
  93. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  94. package/dist/collection/components/ic-button/ic-button.css +0 -8
  95. package/dist/collection/components/ic-button/ic-button.js +3 -3
  96. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  97. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +3 -0
  98. package/dist/collection/components/ic-checkbox/ic-checkbox.css +9 -1
  99. package/dist/collection/components/ic-checkbox/ic-checkbox.js +6 -11
  100. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  101. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +10 -2
  102. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -3
  103. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  104. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +22 -0
  105. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  106. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  107. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  108. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  109. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  110. package/dist/collection/components/ic-hero/ic-hero.css +13 -4
  111. package/dist/collection/components/ic-hero/ic-hero.js +5 -4
  112. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  113. package/dist/collection/components/ic-hero/ic-hero.stories.js +1 -0
  114. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  115. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  116. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  117. package/dist/collection/components/ic-input-label/ic-input-label.css +2 -1
  118. package/dist/collection/components/ic-input-label/ic-input-label.js +31 -8
  119. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  120. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  121. package/dist/collection/components/ic-link/ic-link.js +12 -25
  122. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  123. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +3 -3
  124. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +210 -211
  125. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  126. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +1 -1
  127. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  128. package/dist/collection/components/ic-menu/ic-menu.js +94 -47
  129. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  130. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  131. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +38 -47
  132. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  133. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +144 -170
  134. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  135. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +10 -14
  136. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +80 -74
  137. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  138. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  139. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  140. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  141. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  142. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +3 -0
  143. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  144. package/dist/collection/components/ic-radio-group/ic-radio-group.css +10 -2
  145. package/dist/collection/components/ic-radio-group/ic-radio-group.js +7 -4
  146. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  147. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +22 -0
  148. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  149. package/dist/collection/components/ic-search-bar/ic-search-bar.js +96 -34
  150. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  151. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +29 -18
  152. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  153. package/dist/collection/components/ic-select/ic-select.js +197 -271
  154. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  155. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +21 -13
  156. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +21 -13
  157. package/dist/collection/components/ic-select/ic-select_(single).stories.js +47 -30
  158. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +54 -16
  159. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  160. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +390 -0
  161. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  162. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  163. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  164. package/dist/collection/components/ic-step/ic-step.js +13 -13
  165. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  166. package/dist/collection/components/ic-switch/ic-switch.css +1 -4
  167. package/dist/collection/components/ic-switch/ic-switch.js +5 -4
  168. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  169. package/dist/collection/components/ic-switch/ic-switch.stories.js +8 -1
  170. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  171. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  172. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  173. package/dist/collection/components/ic-text-field/ic-text-field.js +21 -14
  174. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  175. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +12 -1
  176. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  177. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  178. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  179. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +40 -7
  180. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +80 -82
  181. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  182. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +79 -88
  183. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  184. package/dist/collection/components/ic-tooltip/ic-tooltip.js +2 -2
  185. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +1 -0
  186. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +89 -81
  187. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  188. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  189. package/dist/collection/utils/constants.js +1 -1
  190. package/dist/collection/utils/constants.js.map +1 -1
  191. package/dist/collection/utils/helpers.js +27 -30
  192. package/dist/collection/utils/helpers.js.map +1 -1
  193. package/dist/components/helpers.js +29 -32
  194. package/dist/components/helpers.js.map +1 -1
  195. package/dist/components/ic-accordion.js +9 -7
  196. package/dist/components/ic-accordion.js.map +1 -1
  197. package/dist/components/ic-alert.js +1 -1
  198. package/dist/components/ic-alert.js.map +1 -1
  199. package/dist/components/ic-breadcrumb-group.js +2 -2
  200. package/dist/components/ic-breadcrumb2.js +2 -2
  201. package/dist/components/ic-button2.js +4 -4
  202. package/dist/components/ic-button2.js.map +1 -1
  203. package/dist/components/ic-card-vertical.js +1 -1
  204. package/dist/components/ic-card-vertical.js.map +1 -1
  205. package/dist/components/ic-checkbox-group.js +4 -4
  206. package/dist/components/ic-checkbox-group.js.map +1 -1
  207. package/dist/components/ic-checkbox.js +7 -12
  208. package/dist/components/ic-checkbox.js.map +1 -1
  209. package/dist/components/ic-data-list.js +2 -2
  210. package/dist/components/ic-data-row.js +2 -2
  211. package/dist/components/ic-dialog.js +1 -1
  212. package/dist/components/ic-empty-state.js +2 -2
  213. package/dist/components/ic-footer-link.js +2 -2
  214. package/dist/components/ic-hero.js +6 -5
  215. package/dist/components/ic-hero.js.map +1 -1
  216. package/dist/components/ic-horizontal-scroll2.js +5 -5
  217. package/dist/components/ic-input-component-container2.js +3 -3
  218. package/dist/components/ic-input-container2.js +2 -2
  219. package/dist/components/ic-input-label2.js +33 -10
  220. package/dist/components/ic-input-label2.js.map +1 -1
  221. package/dist/components/ic-input-validation2.js +3 -3
  222. package/dist/components/ic-link2.js +12 -24
  223. package/dist/components/ic-link2.js.map +1 -1
  224. package/dist/components/ic-loading-indicator2.js +139 -143
  225. package/dist/components/ic-loading-indicator2.js.map +1 -1
  226. package/dist/components/ic-menu-group.js +1 -1
  227. package/dist/components/ic-menu2.js +30 -22
  228. package/dist/components/ic-menu2.js.map +1 -1
  229. package/dist/components/ic-navigation-button.js +32 -41
  230. package/dist/components/ic-navigation-button.js.map +1 -1
  231. package/dist/components/ic-navigation-group.js +122 -167
  232. package/dist/components/ic-navigation-group.js.map +1 -1
  233. package/dist/components/ic-navigation-item.js +68 -63
  234. package/dist/components/ic-navigation-item.js.map +1 -1
  235. package/dist/components/ic-navigation-menu2.js +5 -5
  236. package/dist/components/ic-page-header.js +6 -6
  237. package/dist/components/ic-pagination-item2.js +2 -2
  238. package/dist/components/ic-pagination.js +4 -4
  239. package/dist/components/ic-popover-menu.js +5 -5
  240. package/dist/components/ic-popover-menu.js.map +1 -1
  241. package/dist/components/ic-radio-group.js +5 -5
  242. package/dist/components/ic-radio-group.js.map +1 -1
  243. package/dist/components/ic-radio-option.js +4 -4
  244. package/dist/components/ic-radio-option.js.map +1 -1
  245. package/dist/components/ic-search-bar.js +72 -34
  246. package/dist/components/ic-search-bar.js.map +1 -1
  247. package/dist/components/ic-section-container2.js +2 -2
  248. package/dist/components/ic-select.js +141 -217
  249. package/dist/components/ic-select.js.map +1 -1
  250. package/dist/components/ic-side-navigation.js +36 -17
  251. package/dist/components/ic-side-navigation.js.map +1 -1
  252. package/dist/components/ic-skeleton.js +2 -2
  253. package/dist/components/ic-skip-link.js +2 -2
  254. package/dist/components/ic-status-tag.js +2 -2
  255. package/dist/components/ic-step.js +13 -13
  256. package/dist/components/ic-stepper.js +2 -2
  257. package/dist/components/ic-switch.js +5 -5
  258. package/dist/components/ic-switch.js.map +1 -1
  259. package/dist/components/ic-tab-context.js +1 -1
  260. package/dist/components/ic-tab-group.js +2 -2
  261. package/dist/components/ic-tab-panel.js +2 -2
  262. package/dist/components/ic-tab-panel.js.map +1 -1
  263. package/dist/components/ic-text-field.js +17 -11
  264. package/dist/components/ic-text-field.js.map +1 -1
  265. package/dist/components/ic-theme.js +2 -2
  266. package/dist/components/ic-toast-region.js +1 -1
  267. package/dist/components/ic-toast.js +4 -4
  268. package/dist/components/ic-toggle-button-group.js +53 -67
  269. package/dist/components/ic-toggle-button-group.js.map +1 -1
  270. package/dist/components/ic-toggle-button.js +62 -64
  271. package/dist/components/ic-toggle-button.js.map +1 -1
  272. package/dist/components/ic-tooltip2.js +2 -2
  273. package/dist/components/ic-top-navigation.js +75 -67
  274. package/dist/components/ic-top-navigation.js.map +1 -1
  275. package/dist/components/ic-typography2.js +2 -2
  276. package/dist/core/ag-theme-icds.css +24 -4
  277. package/dist/core/core.css +29 -25
  278. package/dist/core/core.esm.js +1 -1
  279. package/dist/core/core.esm.js.map +1 -1
  280. package/dist/core/{p-b371a498.entry.js → p-0f3a56bb.entry.js} +2 -2
  281. package/dist/core/p-0f3a56bb.entry.js.map +1 -0
  282. package/dist/core/{p-72c117b6.entry.js → p-0f86ea09.entry.js} +2 -2
  283. package/dist/core/p-1228fd8c.entry.js +2 -0
  284. package/dist/core/{p-b8da5c07.entry.js.map → p-1228fd8c.entry.js.map} +1 -1
  285. package/dist/core/p-1286b234.entry.js +2 -0
  286. package/dist/core/p-1286b234.entry.js.map +1 -0
  287. package/dist/core/{p-8c4f7c63.entry.js → p-13e65198.entry.js} +2 -2
  288. package/dist/core/{p-fbf57f0a.entry.js → p-20a6dc40.entry.js} +2 -2
  289. package/dist/core/p-20a6dc40.entry.js.map +1 -0
  290. package/dist/core/{p-cdf56a5d.entry.js → p-21ed856c.entry.js} +2 -2
  291. package/dist/core/p-21ed856c.entry.js.map +1 -0
  292. package/dist/core/p-226406d6.entry.js +2 -0
  293. package/dist/core/{p-70a6cff1.entry.js → p-24bb2265.entry.js} +2 -2
  294. package/dist/core/{p-d45d66c0.entry.js → p-2b342b23.entry.js} +2 -2
  295. package/dist/core/p-334672c1.entry.js +2 -0
  296. package/dist/core/p-334672c1.entry.js.map +1 -0
  297. package/dist/core/{p-8b5022bc.entry.js → p-3448c713.entry.js} +2 -2
  298. package/dist/core/p-37900547.entry.js +2 -0
  299. package/dist/core/p-37900547.entry.js.map +1 -0
  300. package/dist/core/p-3abaa877.entry.js +2 -0
  301. package/dist/core/p-3abaa877.entry.js.map +1 -0
  302. package/dist/core/{p-ef36181d.entry.js → p-3afc2870.entry.js} +2 -2
  303. package/dist/core/{p-aad10013.entry.js → p-3d7d2ff4.entry.js} +2 -2
  304. package/dist/core/p-41bb4db1.entry.js +2 -0
  305. package/dist/core/p-41bb4db1.entry.js.map +1 -0
  306. package/dist/core/{p-788c96ac.entry.js → p-44902a33.entry.js} +2 -2
  307. package/dist/core/{p-628c32b8.entry.js → p-476eac8c.entry.js} +2 -2
  308. package/dist/core/{p-9479f272.entry.js → p-49ca3f54.entry.js} +2 -2
  309. package/dist/core/{p-ebab7a9e.entry.js → p-4dfc41e7.entry.js} +2 -2
  310. package/dist/core/{p-83764268.entry.js → p-5026eeaf.entry.js} +2 -2
  311. package/dist/core/{p-2c17cc67.entry.js → p-54ea7120.entry.js} +2 -2
  312. package/dist/core/{p-a17499ff.entry.js → p-5b2bf9bb.entry.js} +2 -2
  313. package/dist/core/{p-0a436c47.entry.js → p-5d9b23ce.entry.js} +2 -2
  314. package/dist/core/p-5d9b23ce.entry.js.map +1 -0
  315. package/dist/core/{p-c9a4fe37.entry.js → p-5f9d1977.entry.js} +2 -2
  316. package/dist/core/p-5f9d1977.entry.js.map +1 -0
  317. package/dist/core/{p-1b2690b4.entry.js → p-6c10e1a2.entry.js} +2 -2
  318. package/dist/core/p-6c10e1a2.entry.js.map +1 -0
  319. package/dist/core/{p-1440847f.entry.js → p-6cb81f35.entry.js} +2 -2
  320. package/dist/core/{p-df88ff5b.entry.js → p-6dd73165.entry.js} +2 -2
  321. package/dist/core/p-7ead8535.entry.js +2 -0
  322. package/dist/core/p-7ead8535.entry.js.map +1 -0
  323. package/dist/core/{p-c8cf1ad5.entry.js → p-831e884c.entry.js} +2 -2
  324. package/dist/core/{p-267a19d4.entry.js → p-85f735ed.entry.js} +2 -2
  325. package/dist/core/p-89f493f3.entry.js +2 -0
  326. package/dist/core/p-89f493f3.entry.js.map +1 -0
  327. package/dist/core/{p-00bc353b.entry.js → p-8da025b5.entry.js} +2 -2
  328. package/dist/core/p-990c37aa.entry.js +2 -0
  329. package/dist/core/p-990c37aa.entry.js.map +1 -0
  330. package/dist/core/p-9e039aba.entry.js +2 -0
  331. package/dist/core/p-9e039aba.entry.js.map +1 -0
  332. package/dist/core/{p-bc2ca778.entry.js → p-9e051db4.entry.js} +2 -2
  333. package/dist/core/{p-a0161990.entry.js → p-9edc5973.entry.js} +2 -2
  334. package/dist/core/{p-2c371198.entry.js → p-a14025cc.entry.js} +2 -2
  335. package/dist/core/p-a7286727.entry.js +2 -0
  336. package/dist/core/p-a7286727.entry.js.map +1 -0
  337. package/dist/core/{p-c4663e1a.entry.js → p-ab4e8b4a.entry.js} +2 -2
  338. package/dist/core/{p-42a7d0b6.entry.js → p-ab7a5536.entry.js} +2 -2
  339. package/dist/core/{p-26dfc4db.entry.js → p-ac73cfb8.entry.js} +2 -2
  340. package/dist/core/{p-f0388d68.entry.js → p-ad374f0b.entry.js} +2 -2
  341. package/dist/core/p-ad374f0b.entry.js.map +1 -0
  342. package/dist/core/{p-513628ef.entry.js → p-b08bb522.entry.js} +2 -2
  343. package/dist/core/{p-1be17f22.entry.js → p-b1b27b7e.entry.js} +2 -2
  344. package/dist/core/p-b40ecf16.js +2 -0
  345. package/dist/core/p-b40ecf16.js.map +1 -0
  346. package/dist/core/{p-10e1e227.entry.js → p-b59007a3.entry.js} +2 -2
  347. package/dist/core/{p-16f55230.entry.js → p-b811c7a1.entry.js} +2 -2
  348. package/dist/core/p-b811c7a1.entry.js.map +1 -0
  349. package/dist/core/p-bae2df5e.entry.js +2 -0
  350. package/dist/core/p-bae2df5e.entry.js.map +1 -0
  351. package/dist/core/{p-bdc72446.entry.js → p-c8555360.entry.js} +2 -2
  352. package/dist/core/{p-a4f9b5bf.entry.js → p-ced2e6ca.entry.js} +2 -2
  353. package/dist/core/{p-9ca147f3.entry.js → p-d281c3cf.entry.js} +2 -2
  354. package/dist/core/p-d32c377d.entry.js +2 -0
  355. package/dist/core/p-d32c377d.entry.js.map +1 -0
  356. package/dist/core/p-d4a77f80.entry.js +2 -0
  357. package/dist/core/p-d4a77f80.entry.js.map +1 -0
  358. package/dist/core/{p-9c47521d.entry.js → p-d7476f6d.entry.js} +2 -2
  359. package/dist/core/{p-1838d1e9.entry.js → p-e107d1dd.entry.js} +2 -2
  360. package/dist/core/p-e506ec91.entry.js +2 -0
  361. package/dist/core/p-e506ec91.entry.js.map +1 -0
  362. package/dist/core/{p-b9459ba2.entry.js → p-fc5661ac.entry.js} +2 -2
  363. package/dist/core/p-fca45edb.entry.js +2 -0
  364. package/dist/core/p-fca45edb.entry.js.map +1 -0
  365. package/dist/esm/core.js +1 -1
  366. package/dist/esm/{helpers-f2ffaa7c.js → helpers-91abc444.js} +30 -33
  367. package/dist/esm/helpers-91abc444.js.map +1 -0
  368. package/dist/esm/ic-accordion-group.entry.js +1 -1
  369. package/dist/esm/ic-accordion.entry.js +10 -8
  370. package/dist/esm/ic-accordion.entry.js.map +1 -1
  371. package/dist/esm/ic-alert.entry.js +2 -2
  372. package/dist/esm/ic-alert.entry.js.map +1 -1
  373. package/dist/esm/ic-back-to-top.entry.js +1 -1
  374. package/dist/esm/ic-badge.entry.js +1 -1
  375. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  376. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  377. package/dist/esm/ic-button_3.entry.js +138 -145
  378. package/dist/esm/ic-button_3.entry.js.map +1 -1
  379. package/dist/esm/ic-card-vertical.entry.js +2 -2
  380. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  381. package/dist/esm/ic-checkbox-group.entry.js +5 -5
  382. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  383. package/dist/esm/ic-checkbox.entry.js +8 -13
  384. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  385. package/dist/esm/ic-chip.entry.js +1 -1
  386. package/dist/esm/ic-data-list.entry.js +2 -2
  387. package/dist/esm/ic-data-row.entry.js +3 -3
  388. package/dist/esm/ic-dialog.entry.js +2 -2
  389. package/dist/esm/ic-divider.entry.js +1 -1
  390. package/dist/esm/ic-empty-state.entry.js +3 -3
  391. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  392. package/dist/esm/ic-footer-link.entry.js +3 -3
  393. package/dist/esm/ic-footer.entry.js +1 -1
  394. package/dist/esm/ic-hero.entry.js +7 -6
  395. package/dist/esm/ic-hero.entry.js.map +1 -1
  396. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  397. package/dist/esm/ic-input-component-container_3.entry.js +33 -27
  398. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  399. package/dist/esm/ic-input-label_2.entry.js +36 -13
  400. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  401. package/dist/esm/ic-link.entry.js +12 -22
  402. package/dist/esm/ic-link.entry.js.map +1 -1
  403. package/dist/esm/ic-menu-group.entry.js +2 -2
  404. package/dist/esm/ic-menu-item.entry.js +1 -1
  405. package/dist/esm/ic-navigation-button.entry.js +31 -39
  406. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  407. package/dist/esm/ic-navigation-group.entry.js +121 -166
  408. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  409. package/dist/esm/ic-navigation-item.entry.js +65 -62
  410. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  411. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  412. package/dist/esm/ic-page-header.entry.js +7 -7
  413. package/dist/esm/ic-pagination-item.entry.js +2 -2
  414. package/dist/esm/ic-pagination.entry.js +5 -5
  415. package/dist/esm/ic-popover-menu.entry.js +6 -6
  416. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  417. package/dist/esm/ic-radio-group.entry.js +6 -6
  418. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  419. package/dist/esm/ic-radio-option.entry.js +5 -5
  420. package/dist/esm/ic-search-bar.entry.js +68 -34
  421. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  422. package/dist/esm/ic-section-container.entry.js +2 -2
  423. package/dist/esm/ic-select.entry.js +142 -218
  424. package/dist/esm/ic-select.entry.js.map +1 -1
  425. package/dist/esm/ic-side-navigation.entry.js +35 -17
  426. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  427. package/dist/esm/ic-skeleton.entry.js +2 -2
  428. package/dist/esm/ic-skip-link.entry.js +2 -2
  429. package/dist/esm/ic-status-tag.entry.js +3 -3
  430. package/dist/esm/ic-step.entry.js +14 -14
  431. package/dist/esm/ic-stepper.entry.js +3 -3
  432. package/dist/esm/ic-switch.entry.js +6 -6
  433. package/dist/esm/ic-switch.entry.js.map +1 -1
  434. package/dist/esm/ic-tab-context.entry.js +1 -1
  435. package/dist/esm/ic-tab-group.entry.js +3 -3
  436. package/dist/esm/ic-tab-panel.entry.js +2 -2
  437. package/dist/esm/ic-tab.entry.js +1 -1
  438. package/dist/esm/ic-text-field.entry.js +16 -11
  439. package/dist/esm/ic-text-field.entry.js.map +1 -1
  440. package/dist/esm/ic-theme.entry.js +2 -2
  441. package/dist/esm/ic-toast-region.entry.js +1 -1
  442. package/dist/esm/ic-toast.entry.js +4 -4
  443. package/dist/esm/ic-toggle-button-group.entry.js +54 -68
  444. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  445. package/dist/esm/ic-toggle-button.entry.js +62 -64
  446. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  447. package/dist/esm/ic-top-navigation.entry.js +75 -67
  448. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  449. package/dist/esm/ic-typography.entry.js +3 -3
  450. package/dist/esm/loader.js +1 -1
  451. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +3 -0
  452. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -0
  453. package/dist/types/components/ic-link/ic-link.d.ts +2 -3
  454. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +28 -32
  455. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +2 -0
  456. package/dist/types/components/ic-menu/ic-menu.d.ts +19 -12
  457. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +8 -5
  458. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +8 -19
  459. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +9 -7
  460. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +3 -0
  461. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +13 -0
  462. package/dist/types/components/ic-select/ic-select.d.ts +37 -38
  463. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +5 -0
  464. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  465. package/dist/types/components/ic-text-field/ic-text-field.d.ts +4 -2
  466. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +10 -11
  467. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +10 -12
  468. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +10 -8
  469. package/dist/types/components.d.ts +122 -94
  470. package/dist/types/utils/constants.d.ts +1 -1
  471. package/dist/types/utils/helpers.d.ts +1 -1
  472. package/hydrate/index.js +1047 -1100
  473. package/hydrate/index.mjs +1047 -1100
  474. package/package.json +3 -5
  475. package/vscode-data.json +16 -4
  476. package/dist/cjs/helpers-fc4016d2.js.map +0 -1
  477. package/dist/core/p-0a436c47.entry.js.map +0 -1
  478. package/dist/core/p-15b7adaf.entry.js +0 -2
  479. package/dist/core/p-15b7adaf.entry.js.map +0 -1
  480. package/dist/core/p-16f55230.entry.js.map +0 -1
  481. package/dist/core/p-18714198.entry.js +0 -2
  482. package/dist/core/p-18714198.entry.js.map +0 -1
  483. package/dist/core/p-1b2690b4.entry.js.map +0 -1
  484. package/dist/core/p-206c2a26.entry.js +0 -2
  485. package/dist/core/p-206c2a26.entry.js.map +0 -1
  486. package/dist/core/p-2e44cf53.entry.js +0 -2
  487. package/dist/core/p-2e44cf53.entry.js.map +0 -1
  488. package/dist/core/p-730d2f6e.entry.js +0 -2
  489. package/dist/core/p-730d2f6e.entry.js.map +0 -1
  490. package/dist/core/p-7fb79e87.entry.js +0 -2
  491. package/dist/core/p-7fb79e87.entry.js.map +0 -1
  492. package/dist/core/p-8242c24f.js +0 -2
  493. package/dist/core/p-8242c24f.js.map +0 -1
  494. package/dist/core/p-910f5f14.entry.js +0 -2
  495. package/dist/core/p-910f5f14.entry.js.map +0 -1
  496. package/dist/core/p-9cfc2bac.entry.js +0 -2
  497. package/dist/core/p-9cfc2bac.entry.js.map +0 -1
  498. package/dist/core/p-b371a498.entry.js.map +0 -1
  499. package/dist/core/p-b7568944.entry.js +0 -2
  500. package/dist/core/p-b7568944.entry.js.map +0 -1
  501. package/dist/core/p-b8da5c07.entry.js +0 -2
  502. package/dist/core/p-ba600947.entry.js +0 -2
  503. package/dist/core/p-ba600947.entry.js.map +0 -1
  504. package/dist/core/p-c45023b7.entry.js +0 -2
  505. package/dist/core/p-c45023b7.entry.js.map +0 -1
  506. package/dist/core/p-c9a4fe37.entry.js.map +0 -1
  507. package/dist/core/p-cdf56a5d.entry.js.map +0 -1
  508. package/dist/core/p-d6c50565.entry.js +0 -2
  509. package/dist/core/p-d6c50565.entry.js.map +0 -1
  510. package/dist/core/p-d975bf2f.entry.js +0 -2
  511. package/dist/core/p-d975bf2f.entry.js.map +0 -1
  512. package/dist/core/p-dede4974.entry.js +0 -2
  513. package/dist/core/p-dede4974.entry.js.map +0 -1
  514. package/dist/core/p-e86a6d2d.entry.js +0 -2
  515. package/dist/core/p-eeab3a2e.entry.js +0 -2
  516. package/dist/core/p-eeab3a2e.entry.js.map +0 -1
  517. package/dist/core/p-f0388d68.entry.js.map +0 -1
  518. package/dist/core/p-fbf57f0a.entry.js.map +0 -1
  519. package/dist/esm/helpers-f2ffaa7c.js.map +0 -1
  520. /package/dist/core/{p-72c117b6.entry.js.map → p-0f86ea09.entry.js.map} +0 -0
  521. /package/dist/core/{p-8c4f7c63.entry.js.map → p-13e65198.entry.js.map} +0 -0
  522. /package/dist/core/{p-e86a6d2d.entry.js.map → p-226406d6.entry.js.map} +0 -0
  523. /package/dist/core/{p-70a6cff1.entry.js.map → p-24bb2265.entry.js.map} +0 -0
  524. /package/dist/core/{p-d45d66c0.entry.js.map → p-2b342b23.entry.js.map} +0 -0
  525. /package/dist/core/{p-8b5022bc.entry.js.map → p-3448c713.entry.js.map} +0 -0
  526. /package/dist/core/{p-ef36181d.entry.js.map → p-3afc2870.entry.js.map} +0 -0
  527. /package/dist/core/{p-aad10013.entry.js.map → p-3d7d2ff4.entry.js.map} +0 -0
  528. /package/dist/core/{p-788c96ac.entry.js.map → p-44902a33.entry.js.map} +0 -0
  529. /package/dist/core/{p-628c32b8.entry.js.map → p-476eac8c.entry.js.map} +0 -0
  530. /package/dist/core/{p-9479f272.entry.js.map → p-49ca3f54.entry.js.map} +0 -0
  531. /package/dist/core/{p-ebab7a9e.entry.js.map → p-4dfc41e7.entry.js.map} +0 -0
  532. /package/dist/core/{p-83764268.entry.js.map → p-5026eeaf.entry.js.map} +0 -0
  533. /package/dist/core/{p-2c17cc67.entry.js.map → p-54ea7120.entry.js.map} +0 -0
  534. /package/dist/core/{p-a17499ff.entry.js.map → p-5b2bf9bb.entry.js.map} +0 -0
  535. /package/dist/core/{p-1440847f.entry.js.map → p-6cb81f35.entry.js.map} +0 -0
  536. /package/dist/core/{p-df88ff5b.entry.js.map → p-6dd73165.entry.js.map} +0 -0
  537. /package/dist/core/{p-c8cf1ad5.entry.js.map → p-831e884c.entry.js.map} +0 -0
  538. /package/dist/core/{p-267a19d4.entry.js.map → p-85f735ed.entry.js.map} +0 -0
  539. /package/dist/core/{p-00bc353b.entry.js.map → p-8da025b5.entry.js.map} +0 -0
  540. /package/dist/core/{p-bc2ca778.entry.js.map → p-9e051db4.entry.js.map} +0 -0
  541. /package/dist/core/{p-a0161990.entry.js.map → p-9edc5973.entry.js.map} +0 -0
  542. /package/dist/core/{p-2c371198.entry.js.map → p-a14025cc.entry.js.map} +0 -0
  543. /package/dist/core/{p-c4663e1a.entry.js.map → p-ab4e8b4a.entry.js.map} +0 -0
  544. /package/dist/core/{p-42a7d0b6.entry.js.map → p-ab7a5536.entry.js.map} +0 -0
  545. /package/dist/core/{p-26dfc4db.entry.js.map → p-ac73cfb8.entry.js.map} +0 -0
  546. /package/dist/core/{p-513628ef.entry.js.map → p-b08bb522.entry.js.map} +0 -0
  547. /package/dist/core/{p-1be17f22.entry.js.map → p-b1b27b7e.entry.js.map} +0 -0
  548. /package/dist/core/{p-10e1e227.entry.js.map → p-b59007a3.entry.js.map} +0 -0
  549. /package/dist/core/{p-bdc72446.entry.js.map → p-c8555360.entry.js.map} +0 -0
  550. /package/dist/core/{p-a4f9b5bf.entry.js.map → p-ced2e6ca.entry.js.map} +0 -0
  551. /package/dist/core/{p-9ca147f3.entry.js.map → p-d281c3cf.entry.js.map} +0 -0
  552. /package/dist/core/{p-9c47521d.entry.js.map → p-d7476f6d.entry.js.map} +0 -0
  553. /package/dist/core/{p-1838d1e9.entry.js.map → p-e107d1dd.entry.js.map} +0 -0
  554. /package/dist/core/{p-b9459ba2.entry.js.map → p-fc5661ac.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"ic-switch.js","mappings":"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","names":[],"sources":["src/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","src/components/ic-switch/ic-switch.tsx"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: inline-block;\n\n --ic-input-label-text-color: var(--ic-switch-label);\n --ic-input-label-helper-text-color: var(--ic-switch-help-text);\n}\n\ninput {\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 0.625rem;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 4rem;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-switch-unchecked-bg);\n border: var(--ic-border-width) solid var(--ic-switch-unchecked);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 1.333rem;\n height: 1.333rem;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 0.333rem;\n transform: translate(0, -50%);\n background-color: var(--ic-switch-unchecked);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 0.625rem;\n height: 0.625rem;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-switch-indicator-off);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-switch-indicator-on);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-switch-checked-bg);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-switch-checked);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-unchecked-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-unchecked-bg-pressed);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-checked-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-checked-bg-pressed);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-switch-indicator-off-disabled);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-switch-indicator-on-disabled);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-switch-unchecked-bg-disabled);\n border: var(--ic-space-1px) dashed var(--ic-switch-unchecked-outline-disabled);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-switch-unchecked-disabled);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-switch-checked-bg-disabled);\n border: var(--ic-border-width) dashed\n var(--ic-switch-checked-outline-disabled);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-switch-checked);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted(*) {\n margin-left: var(--ic-space-sm);\n}\n\n::slotted(svg) {\n fill: var(--ic-switch-icon);\n}\n\n@media (forced-colors: active) {\n .ic-switch-toggle::before,\n .ic-switch-input:checked + .ic-switch-toggle {\n border: var(--ic-border-hc);\n }\n\n .ic-switch-input:focus + .ic-switch-toggle {\n border-color: highlight;\n outline: var(--ic-space-xxxs) solid highlight;\n }\n\n .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(calc(var(--ic-space-xl) - 0.125rem), -50%);\n }\n\n .ic-switch-input:disabled + .ic-switch-toggle,\n .ic-switch-input:disabled:checked + .ic-switch-toggle,\n .ic-switch-input:disabled + .ic-switch-toggle::before {\n border-color: GrayText;\n }\n\n .ic-switch-disabled .ic-switch-icon-circle,\n .ic-switch-disabled .ic-switch-icon-line {\n stroke: GrayText;\n }\n}\n","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(this.el, checkedState ? value : \"\", name, 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"],"version":3}
1
+ {"file":"ic-switch.js","mappings":"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","names":[],"sources":["src/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","src/components/ic-switch/ic-switch.tsx"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: inline-block;\n\n --ic-input-label-text-color: var(--ic-switch-label);\n --ic-input-label-helper-text-color: var(--ic-switch-help-text);\n}\n\ninput {\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 0.625rem;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 4rem;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-switch-unchecked-bg);\n border: var(--ic-border-width) solid var(--ic-switch-unchecked);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 1.333rem;\n height: 1.333rem;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 0.333rem;\n transform: translate(0, -50%);\n background-color: var(--ic-switch-unchecked);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 0.625rem;\n height: 0.625rem;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-switch-indicator-off);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-switch-indicator-on);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-switch-checked-bg);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-switch-checked);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-unchecked-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-unchecked-bg-pressed);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-checked-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-checked-bg-pressed);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-switch-indicator-off-disabled);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-switch-indicator-on-disabled);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-switch-unchecked-bg-disabled);\n border: var(--ic-space-1px) dashed var(--ic-switch-unchecked-outline-disabled);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-switch-unchecked-disabled);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-switch-checked-bg-disabled);\n border: var(--ic-border-width) dashed\n var(--ic-switch-checked-outline-disabled);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-switch-checked);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted([slot=\"right-adornment\"]) {\n margin-left: var(--ic-space-sm);\n fill: var(--ic-switch-icon);\n}\n\n@media (forced-colors: active) {\n .ic-switch-toggle::before,\n .ic-switch-input:checked + .ic-switch-toggle {\n border: var(--ic-border-hc);\n }\n\n .ic-switch-input:focus + .ic-switch-toggle {\n border-color: highlight;\n outline: var(--ic-space-xxxs) solid highlight;\n }\n\n .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(calc(var(--ic-space-xl) - 0.125rem), -50%);\n }\n\n .ic-switch-input:disabled + .ic-switch-toggle,\n .ic-switch-input:disabled:checked + .ic-switch-toggle,\n .ic-switch-input:disabled + .ic-switch-toggle::before {\n border-color: GrayText;\n }\n\n .ic-switch-disabled .ic-switch-icon-circle,\n .ic-switch-disabled .ic-switch-icon-line {\n stroke: GrayText;\n }\n}\n","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 helper-text - Content is set as the helper text for the switch.\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(this.el, checkedState ? value : \"\", name, 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={false}\n disabled={disabled}\n class={{\n \"ic-switch-label\": true,\n \"ic-switch-label-small\": isSmall,\n }}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\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 this.el,\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"],"version":3}
@@ -224,7 +224,7 @@ const TabContext = /*@__PURE__*/ proxyCustomElement(class TabContext extends HTM
224
224
  }
225
225
  }
226
226
  render() {
227
- return h("slot", { key: '62b7b3babe269d227c3225faedd4505935ccecb8' });
227
+ return h("slot", { key: 'b2129a3c599ca4b97df30f14833761780c2c0940' });
228
228
  }
229
229
  get el() { return this; }
230
230
  static get watchers() { return {
@@ -28,11 +28,11 @@ const TabGroup = /*@__PURE__*/ proxyCustomElement(class TabGroup extends HTMLEle
28
28
  }
29
29
  render() {
30
30
  const { inline, theme, label, monochrome } = this;
31
- return (h(Host, { key: 'd4354a73edcfe5ed044e2acf6d04256eddcb7f40', role: "tablist", "aria-label": label, class: {
31
+ return (h(Host, { key: '5e2ac19760c3c6f6a5fa4e24e4b65d06bf958734', role: "tablist", "aria-label": label, class: {
32
32
  ["ic-tab-group-inline"]: !!inline,
33
33
  [`ic-theme-${theme}`]: theme !== "inherit",
34
34
  ["ic-tab-group-monochrome"]: !!monochrome,
35
- } }, h("ic-horizontal-scroll", { key: '42cf7391e17b38a3489e77bc3d882aa31902c14a', theme: theme, "focus-trigger": "tabFocus", monochrome: monochrome }, h("div", { key: '81270d7ad5567b23ab8098679705c3818b3bfd35', class: "tabs-container" }, h("slot", { key: 'ee7b2ece3edc06146170b759f2c08e22bca9fc7f' })))));
35
+ } }, h("ic-horizontal-scroll", { key: 'c1af66d6ccce50093586a87024d2fc2064204e65', theme: theme, "focus-trigger": "tabFocus", monochrome: monochrome }, h("div", { key: '5d74a60b33b216eea766a5d15e9d130cda924d2b', class: "tabs-container" }, h("slot", { key: '7d95c9b98a270810c391abc779ca0bda5c7fa24f' })))));
36
36
  }
37
37
  static get delegatesFocus() { return true; }
38
38
  static get style() { return IcTabGroupStyle0; }
@@ -26,10 +26,10 @@ const TabPanel = /*@__PURE__*/ proxyCustomElement(class TabPanel extends HTMLEle
26
26
  }
27
27
  render() {
28
28
  const { active, theme } = this;
29
- return (h(Host, { key: '5da4dba2bf404436c8b49173f9056d56912e9049', class: {
29
+ return (h(Host, { key: '866d13ac3e2c93c8ea20e83d8513a74664aabfcb', class: {
30
30
  [`ic-theme-${theme}`]: theme !== "inherit",
31
31
  "ic-tab-panel-hidden": !active,
32
- }, role: "tabpanel", "aria-hidden": `${!active}` }, h("div", { key: '9f7b4cbaa9a2c5a72307ca07097cdb50fd93adb2' }, h("slot", { key: 'f97121f2a2d3092c18bd15c82743ba2a988a1134' }))));
32
+ }, role: "tabpanel", "aria-hidden": `${!active}` }, h("div", { key: 'a44da18c8534659c240dcb84ba9941b61574f546' }, h("slot", { key: '91a267e9b16c4ebdadb1b5facb9f7f50f3944f8e' }))));
33
33
  }
34
34
  get el() { return this; }
35
35
  static get style() { return IcTabPanelStyle0; }
@@ -1 +1 @@
1
- {"file":"ic-tab-panel.js","mappings":";;AAAA,MAAM,aAAa,GAAG,mgFAAmgF,CAAC;AAC1hF,yBAAe,aAAa;;MCef,QAAQ;IALrB;;;;;;;;;QAWU,WAAM,GAAY,KAAK,CAAC;;;;QAKxB,eAAU,GAAa,KAAK,CAAC;;QAkB7B,UAAK,GAAiB,SAAS,CAAC;KAiCzC;IArBC,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpC;IAED,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC/B,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS;gBAC1C,qBAAqB,EAAE,CAAC,MAAM;aAC/B,EACD,IAAI,EAAC,UAAU,iBACF,GAAG,CAAC,MAAM,EAAE,IAEzB,8DACE,8DAAa,CACT,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-tab-panel/ic-tab-panel.css?tag=ic-tab-panel&encapsulation=shadow","src/components/ic-tab-panel/ic-tab-panel.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.ic-tab-panel-hidden) {\n display: none;\n}\n\n:host(:not(.ic-tab-panel-hidden)) {\n display: block;\n}\n\n:host {\n color: var(--ic-color-text-primary);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tab-panel\",\n styleUrl: \"ic-tab-panel.css\",\n shadow: true,\n})\nexport class TabPanel {\n @Element() el: HTMLIcTabPanelElement;\n\n /**\n * @internal If `true`, the tab panel will be displayed.\n */\n @Prop() active: boolean = false;\n\n /**\n * @internal Determines whether black variant of the tabs should be displayed.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * @internal The shared ID that links the panel and tab.\n */\n @Prop({ reflect: true }) panelId?: string;\n\n /**\n * @internal The shared ID of the currently selected tab.\n */\n @Prop() selectedTab?: string;\n\n /**\n * @internal The position of the tab panel inside the tabs array in context.\n */\n @Prop({ reflect: true }) tabPosition?: number;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * @internal Emitted when a tab panel is dynamically created.\n */\n @Event() tabPanelCreated: EventEmitter<HTMLIcTabPanelElement>;\n\n /**\n * @internal Emitted when a tab panel is unmounted.\n */\n @Event() tabPanelRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabPanelCreated.emit(this.el);\n }\n\n render() {\n const { active, theme } = this;\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-tab-panel-hidden\": !active,\n }}\n role=\"tabpanel\"\n aria-hidden={`${!active}`}\n >\n <div>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-tab-panel.js","mappings":";;AAAA,MAAM,aAAa,GAAG,mgFAAmgF,CAAC;AAC1hF,yBAAe,aAAa;;MCef,QAAQ;IALrB;;;;;;;;;QAWU,WAAM,GAAY,KAAK,CAAC;;;;QAKxB,eAAU,GAAa,KAAK,CAAC;;QAkB7B,UAAK,GAAiB,SAAS,CAAC;KAiCzC;IArBC,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpC;IAED,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC/B,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS;gBAC1C,qBAAqB,EAAE,CAAC,MAAM;aAC/B,EACD,IAAI,EAAC,UAAU,iBACF,GAAG,CAAC,MAAM,EAAE,IAEzB,8DACE,8DAAa,CACT,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-tab-panel/ic-tab-panel.css?tag=ic-tab-panel&encapsulation=shadow","src/components/ic-tab-panel/ic-tab-panel.tsx"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host(.ic-tab-panel-hidden) {\n display: none;\n}\n\n:host(:not(.ic-tab-panel-hidden)) {\n display: block;\n}\n\n:host {\n color: var(--ic-color-text-primary);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tab-panel\",\n styleUrl: \"ic-tab-panel.css\",\n shadow: true,\n})\nexport class TabPanel {\n @Element() el: HTMLIcTabPanelElement;\n\n /**\n * @internal If `true`, the tab panel will be displayed.\n */\n @Prop() active: boolean = false;\n\n /**\n * @internal Determines whether black variant of the tabs should be displayed.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * @internal The shared ID that links the panel and tab.\n */\n @Prop({ reflect: true }) panelId?: string;\n\n /**\n * @internal The shared ID of the currently selected tab.\n */\n @Prop() selectedTab?: string;\n\n /**\n * @internal The position of the tab panel inside the tabs array in context.\n */\n @Prop({ reflect: true }) tabPosition?: number;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * @internal Emitted when a tab panel is dynamically created.\n */\n @Event() tabPanelCreated: EventEmitter<HTMLIcTabPanelElement>;\n\n /**\n * @internal Emitted when a tab panel is unmounted.\n */\n @Event() tabPanelRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabPanelCreated.emit(this.el);\n }\n\n render() {\n const { active, theme } = this;\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-tab-panel-hidden\": !active,\n }}\n role=\"tabpanel\"\n aria-hidden={`${!active}`}\n >\n <div>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
2
- import { U as checkSlotInChildMutations, r as removeDisabledFalse, T as debounceEvent, s as removeFormResetListener, b as inheritAttributes, q as addFormResetListener, o as onComponentRequiredPropUndefined, Y as IGNORED_KEYBOARD_CHARACTERS, z as IcInformationStatus, v as getInputDescribedByText, t as renderHiddenInput, u as removeHiddenInput, i as isSlotUsed, X as isEmptyString, I as IC_INHERITED_ARIA } from './helpers.js';
2
+ import { W as checkSlotInChildMutations, r as removeDisabledFalse, U as debounceEvent, s as removeFormResetListener, b as inheritAttributes, q as addFormResetListener, o as onComponentRequiredPropUndefined, Z as IGNORED_KEYBOARD_CHARACTERS, z as IcInformationStatus, v as getInputDescribedByText, t as renderHiddenInput, u as removeHiddenInput, i as isSlotUsed, Y as isEmptyString, I as IC_INHERITED_ARIA } from './helpers.js';
3
3
  import { d as defineCustomElement$6 } from './ic-input-component-container2.js';
4
4
  import { d as defineCustomElement$5 } from './ic-input-container2.js';
5
5
  import { d as defineCustomElement$4 } from './ic-input-label2.js';
@@ -31,6 +31,7 @@ const TextField = /*@__PURE__*/ proxyCustomElement(class TextField extends HTMLE
31
31
  this.minCharactersUnattained = false;
32
32
  this.maxValueExceeded = false;
33
33
  this.minValueUnattained = false;
34
+ this.isFocussed = false;
34
35
  /**
35
36
  * The automatic capitalisation of the text value as it is entered/edited by the user.
36
37
  * Available options: "off", "none", "on", "sentences", "words", "characters".
@@ -214,11 +215,13 @@ const TextField = /*@__PURE__*/ proxyCustomElement(class TextField extends HTMLE
214
215
  this.minCharactersUnattained =
215
216
  this.minCharacters > 0 && this.numChars < this.minCharacters;
216
217
  this.icBlur.emit({ value });
218
+ this.isFocussed = false;
217
219
  };
218
220
  this.onFocus = (ev) => {
219
221
  const target = ev.target;
220
222
  target.addEventListener("wheel", this.onWheel);
221
223
  this.icFocus.emit({ value: target.value });
224
+ this.isFocussed = true;
222
225
  };
223
226
  this.onTextAreaScroll = () => {
224
227
  this.icScroll.emit();
@@ -334,7 +337,7 @@ const TextField = /*@__PURE__*/ proxyCustomElement(class TextField extends HTMLE
334
337
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
335
338
  }
336
339
  render() {
337
- const { inputId, name, label, required, size, placeholder, helperText, hideCharCount, rows, resize, disabled, value, min, max, numChars, readonly, maxCharacters, maxCharactersMessage, maxCharactersWarning, maxCharactersReached, maxMessage, minCharacters, minCharactersMessage, minCharactersUnattained, minMessage, minValueUnattained, maxValueExceeded, validationStatus, validationText, validationInline, validationInlineInternal, spellcheck, inputmode, fullWidth, truncateValue, hiddenInput, theme, hideLabel, type, autocapitalize, ariaActiveDescendant, inheritedAttributes, ariaExpanded, ariaOwns, autocomplete, role, } = this;
340
+ const { inputId, name, label, required, size, placeholder, helperText, hideCharCount, rows, resize, disabled, value, min, max, numChars, readonly, maxCharacters, maxCharactersMessage, maxCharactersWarning, maxCharactersReached, maxMessage, minCharacters, minCharactersMessage, minCharactersUnattained, minMessage, minValueUnattained, maxValueExceeded, validationStatus, validationText, validationInline, validationInlineInternal, spellcheck, inputmode, fullWidth, truncateValue, hiddenInput, theme, hideLabel, type, autocapitalize, ariaActiveDescendant, inheritedAttributes, ariaExpanded, ariaOwns, autocomplete, role, isFocussed, } = this;
338
341
  const el = this.el;
339
342
  const disabledMode = readonly || disabled;
340
343
  const currentStatus = maxValueExceeded ||
@@ -365,43 +368,45 @@ const TextField = /*@__PURE__*/ proxyCustomElement(class TextField extends HTMLE
365
368
  !(currentStatus == IcInformationStatus.Success && validationInline) &&
366
369
  !validationInlineInternal;
367
370
  const multiline = rows > 1;
368
- const charsRemaining = maxNumChars - numChars;
369
371
  const hiddenCharCountDescId = maxCharacters > 0 ? `${inputId}-char-count-desc` : "";
370
- const describedBy = `${hiddenCharCountDescId} ${getInputDescribedByText(inputId, helperText !== "", showStatusText)}`.trim();
372
+ const charsRemaining = maxNumChars - numChars;
373
+ const remainingCharCountDescId = maxCharacters > 0 ? `${inputId}-remaining-char-count-desc` : "";
374
+ const remainingCharCountDesc = `${charsRemaining} character${charsRemaining === 1 ? "" : "s"} remaining.`;
375
+ const describedBy = `${hiddenCharCountDescId} ${numChars > 0 ? remainingCharCountDescId : ""} ${getInputDescribedByText(this.el, inputId, helperText !== "", showStatusText)}`.trim();
371
376
  const disabledText = disabledMode && !readonly;
372
377
  const showLeftIcon = !!this.el.querySelector(`[slot="icon"]`) && !disabledText;
373
378
  const invalid = `${currentStatus === IcInformationStatus.Error}`;
374
379
  hiddenInput
375
380
  ? renderHiddenInput(this.el, value, name, disabledMode)
376
381
  : removeHiddenInput(this.el);
377
- return (h(Host, { key: '392b43ac248502539bc00717694c10a24818551e', class: {
382
+ return (h(Host, { key: '353a70181ab18c4f636b34e2177bb9d088567885', class: {
378
383
  "ic-text-field-full-width": fullWidth,
379
384
  "ic-text-field-disabled": disabledMode,
380
385
  [`ic-theme-${theme}`]: theme !== "inherit",
381
- } }, h("ic-input-container", { key: '59ec38e8e8e934cf48123303f68a7ca863badd83', readonly: readonly, disabled: disabledMode }, !hideLabel && (h("ic-input-label", { key: 'fa61768dd93e6d7a1ead043792b15b78b8d3fd26', for: inputId, label: label, helperText: helperText, required: required, disabled: disabledText, readonly: readonly })), h("ic-input-component-container", { key: 'c6ac9c16b6c565671575ec2217e62176d7bc1359', size: size, validationStatus: currentStatus, multiLine: multiline, disabled: disabledMode, readonly: readonly, validationInline: validationInline, fullWidth: fullWidth }, showLeftIcon && (h("span", { key: '353b7a992bbce4060dc5fe29b05f96aedd0cf32a', class: {
386
+ } }, h("ic-input-container", { key: '96d0ef6132ed2a26ee535cfc5055ddc6287446f6', readonly: readonly, disabled: disabledMode }, !hideLabel && (h("ic-input-label", { key: 'dfcb7859651f74678636e4cda1ba0706b2e3b1fb', for: inputId, label: label, helperText: helperText, required: required, disabled: disabledText, readonly: readonly }, h("slot", { key: 'd9ee297f2de674a969486a3d00eef54526eace50', name: "helper-text", slot: "helper-text" }))), h("ic-input-component-container", { key: '0a178235ced26ef73fd907d41424a8b4942659dc', size: size, validationStatus: currentStatus, multiLine: multiline, disabled: disabledMode, readonly: readonly, validationInline: validationInline, fullWidth: fullWidth }, showLeftIcon && (h("span", { key: 'c5206e3d1af81d4bf9bf0afcc9277899ca2287be', class: {
382
387
  readonly,
383
388
  "has-value": this.getNumberOfCharacters(value) > 0,
384
- }, slot: "left-icon" }, h("slot", { key: '8a5cbec45bedc43908caaae9ff74bc4101f995f8', name: "icon" }))), !multiline ? (h("input", Object.assign({ id: inputId, name: name, ref: (el) => (this.inputEl = el), type: type, min: min, max: max, value: value, class: {
389
+ }, slot: "left-icon" }, h("slot", { key: 'f3945929b482d9a0a954dc1afa658fc0c45d90c8', name: "icon" }))), !multiline ? (h("input", Object.assign({ id: inputId, name: name, ref: (el) => (this.inputEl = el), type: type, min: min, max: max, value: value, class: {
385
390
  "no-left-pad": !showLeftIcon && readonly,
386
391
  readonly,
387
392
  "truncate-value": truncateValue,
388
- }, placeholder: placeholder ? placeholder : "", required: required, disabled: disabledMode, readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-activedescendant": ariaActiveDescendant, "aria-expanded": ariaExpanded, "aria-owns": ariaOwns, autocomplete: autocomplete, autocapitalize: autocapitalize, spellcheck: spellcheck, inputmode: inputmode, role: role, maxlength: maxCharactersReached ? maxCharacters : undefined, minlength: minCharactersUnattained ? minCharacters : undefined }, inheritedAttributes))) : (h("textarea", Object.assign({ id: inputId, class: {
393
+ }, placeholder: placeholder ? placeholder : "", required: required, disabled: disabledMode, readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-activedescendant": ariaActiveDescendant, "aria-expanded": ariaExpanded, "aria-owns": ariaOwns, autocomplete: autocomplete, autocapitalize: autocapitalize, spellcheck: spellcheck, inputmode: inputmode, role: role || undefined, maxlength: maxCharactersReached ? maxCharacters : undefined, minlength: minCharactersUnattained ? minCharacters : undefined }, inheritedAttributes))) : (h("textarea", Object.assign({ id: inputId, class: {
389
394
  "no-resize": resize === false || !!readonly,
390
395
  "no-left-pad": !showLeftIcon && !!readonly,
391
396
  readonly: !!readonly,
392
- }, name: name, ref: (el) => (this.inputEl = el), value: value, rows: rows, required: required, disabled: disabledMode, placeholder: placeholder, readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onScroll: this.onTextAreaScroll, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, autocapitalize: autocapitalize, spellcheck: spellcheck, inputmode: inputmode, maxlength: maxCharactersReached ? maxCharacters : undefined, minlength: minCharactersUnattained ? minCharacters : undefined }, inheritedAttributes))), isSlotUsed(el, "clear-button") && (h("slot", { key: '05d080fafd37f3c5e2894968705fe2802cd24f8a', name: "clear-button" })), isSlotUsed(el, "search-submit-button") && (h("slot", { key: 'b4ef1fb8db068a9c547d20147e31ac798cb838b5', name: "search-submit-button" }))), isSlotUsed(el, "menu") && h("slot", { key: '2f708851077d7cc70c6a90d2dae3f817ffdf469b', name: "menu" }), (!isEmptyString(validationStatus) ||
397
+ }, name: name, ref: (el) => (this.inputEl = el), value: value, rows: rows, required: required, disabled: disabledMode, placeholder: placeholder, readonly: readonly, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onScroll: this.onTextAreaScroll, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, autocapitalize: autocapitalize, spellcheck: spellcheck, inputmode: inputmode, maxlength: maxCharactersReached ? maxCharacters : undefined, minlength: minCharactersUnattained ? minCharacters : undefined }, inheritedAttributes))), isSlotUsed(el, "clear-button") && (h("slot", { key: '6397d66b59b148884cb2fd7f8913063ca24f0de1', name: "clear-button" })), isSlotUsed(el, "search-submit-button") && (h("slot", { key: 'c5e7f94345cebe1dc99ba475aa5bde1b45dda0e0', name: "search-submit-button" }))), isSlotUsed(el, "menu") && h("slot", { key: '1c7fe7d7654373753295a44a3e126ce2409099cc', name: "menu" }), (!isEmptyString(validationStatus) ||
393
398
  !isEmptyString(validationText) ||
394
399
  maxNumChars > 0 ||
395
400
  maxValueExceeded ||
396
401
  maxCharactersWarning ||
397
402
  minCharactersUnattained ||
398
403
  minValueUnattained) &&
399
- !validationInlineInternal && (h("ic-input-validation", { key: 'd7c7b40ed97ab62e31fe09e78bf55c796948e33a', status: this.hasStatus(currentStatus) === false ||
404
+ !validationInlineInternal && (h("ic-input-validation", { key: '2ba3ff987910423696b822529b36e59f04b36025', status: this.hasStatus(currentStatus) === false ||
400
405
  (currentStatus === IcInformationStatus.Success &&
401
406
  validationInline) ||
402
407
  validationInlineInternal
403
408
  ? ""
404
- : currentStatus, message: showStatusText ? currentValidationText : "", ariaLiveMode: messageAriaLive, for: inputId, fullWidth: fullWidth }, !readonly && maxNumChars > 0 && (h("div", { key: '6b6d4c6b40f66756ceafc51c6ba7a336863ce030', slot: "validation-message-adornment" }, !hideCharCount && (h("ic-typography", { key: '5cb893f7e84654a848bd7ec14a0820583ed5d043', variant: "caption", class: "char-count-text" }, h("span", { key: 'b93ac422dbea08cf3d1f139feea1fd5ee37c6755', class: "char-count" }, numChars, "/", maxNumChars))), h("span", { key: 'e3b8a947bf1e4b1dc3bd93e04bb50ffaa55ac6a0', class: "remaining-char-count-desc", "aria-live": "polite" }, `${charsRemaining} character${charsRemaining === 1 ? "" : "s"} remaining.`), h("span", { key: '41353bf51d4e7264cc054f524b404519a953bec9', hidden: true, id: hiddenCharCountDescId }, "Field can contain a maximum of ", maxNumChars, " characters."))))))));
409
+ : currentStatus, message: showStatusText ? currentValidationText : "", ariaLiveMode: messageAriaLive, for: inputId, fullWidth: fullWidth }, !readonly && maxNumChars > 0 && (h("div", { key: '01e443574b72a18ebd0b0646b0c2c30b59cc5726', slot: "validation-message-adornment" }, !hideCharCount && (h("ic-typography", { key: '90d4e1d9325a34444c38a9c75eaaa5e256c23cae', variant: "caption", class: "char-count-text" }, h("span", { key: '901a7db053e3fa59e6db506a53be92ddbf54be5d', class: "char-count" }, numChars, "/", maxNumChars))), h("span", { key: '83b08ec8e8ba8286cc8024b647552c5b3e0d09e5', class: "remaining-char-count-desc", "aria-live": "polite", hidden: !isFocussed, id: remainingCharCountDescId }, remainingCharCountDesc), h("span", { key: '28e0fc0de7a73057a7b00bd7e40e71c7611a980c', hidden: true, id: hiddenCharCountDescId }, "Field can contain a maximum of ", maxNumChars, " characters."))))))));
405
410
  }
406
411
  get el() { return this; }
407
412
  static get watchers() { return {
@@ -460,6 +465,7 @@ const TextField = /*@__PURE__*/ proxyCustomElement(class TextField extends HTMLE
460
465
  "minCharactersUnattained": [32],
461
466
  "maxValueExceeded": [32],
462
467
  "minValueUnattained": [32],
468
+ "isFocussed": [32],
463
469
  "initialValue": [32],
464
470
  "setFocus": [64]
465
471
  }, [[0, "keydown", "handleKeyDown"]], {
@@ -1 +1 @@
1
- {"file":"ic-text-field.js","mappings":"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","names":[],"sources":["src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","src/components/ic-text-field/ic-text-field.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n --border-color: var(--ic-text-field-border-neutral);\n --border-color-hover: var(--ic-text-field-border-neutral-hover);\n --border-color-pressed: var(--ic-text-field-border-neutral-pressed);\n --border-color-disabled: var(--ic-text-field-border-disabled);\n --border-color-error: var(--ic-text-field-border-error);\n --border-color-error-hover: var(--ic-text-field-border-error-hover);\n --border-color-error-pressed: var(--ic-text-field-border-error-pressed);\n --border-color-success: var(--ic-text-field-border-success);\n --border-color-success-hover: var(--ic-text-field-border-success-hover);\n --border-color-success-pressed: var(--ic-text-field-border-success-pressed);\n --border-color-warning: var(--ic-text-field-border-warning);\n --border-color-warning-hover: var(--ic-text-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-text-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-text-field-label);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle);\n --ic-input-validation-status-text-color: var(--ic-text-field-state-text);\n --ic-input-validation-error: var(--ic-text-field-state-icon-error);\n --ic-input-validation-warning-icon-color: var(\n --ic-text-field-state-icon-warning\n );\n --ic-input-validation-success-icon-color: var(\n --ic-text-field-state-icon-success\n );\n --ic-input-component-container-success-icon-inline-color: var(\n --ic-text-field-state-icon-success\n );\n}\n\n:host(.ic-text-field-disabled) {\n --ic-input-label-text-color: var(--ic-text-field-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle-disabled);\n --text-field-placeholder-color: var(\n --ic-text-field-text-area-placeholder-text-disabled\n );\n}\n\n:host(.ic-text-field-full-width) {\n width: 100%;\n}\n\n::placeholder {\n color: var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--text-field-text-color, var(--ic-text-field-text));\n background-color: var(--input-bg-color, var(--ic-text-field-background));\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n caret-color: var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n );\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 0.375rem;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n );\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-text-field-read-only-input-text-internal);\n background: transparent;\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit);\n\n padding-right: var(--ic-space-xxxs);\n}\n\n:host(.ic-text-field-disabled) .char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit-disabled);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-text-disabled);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-input-internal-icon);\n}\n\n.char-count {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\n.remaining-char-count-desc {\n position: absolute;\n left: -9999px;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n checkSlotInChildMutations,\n removeHiddenInput,\n} from \"../../utils/helpers\";\nimport {\n IC_INHERITED_ARIA,\n IGNORED_KEYBOARD_CHARACTERS,\n} from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | undefined;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete?: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect?: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount = false;\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 = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId = `ic-text-field-input-${inputIds++}`;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max?: string | number;\n\n /**\n * The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)\n */\n @Prop() maxCharacters = 0;\n\n /**\n * The text to display as the warning message when the maximum number of characters (the `maxCharacters` prop value) is reached.\n */\n // prettier-ignore\n @Prop() maxCharactersMessage = `Maximum input is ${this.maxCharacters} characters`;\n\n /**\n * The text to display as the error message when the maximum value (the `max` prop value) has been exceeded.\n */\n @Prop() maxMessage = `Maximum value of ${this.max} exceeded`;\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min?: string | number;\n\n /**\n * The minimum number of characters that can be entered in the field.\n */\n @Prop() minCharacters = 0;\n\n /**\n * The text to display as the error message when the minimum number of characters (the `minCharacters` prop value) has not been met.\n */\n // prettier-ignore\n @Prop() minCharactersMessage = `Minimum input is ${this.minCharacters} characters`;\n\n /**\n * The text to display as the error message when the minimum value (the `min` prop value) has not been met.\n */\n @Prop() minMessage = `Minimum value of ${this.min} not met`;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | undefined;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\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 * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue = false;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal = false;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value = \"\";\n @State() initialValue = this.value;\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n let value;\n\n if (this.maxCharacters > 0) {\n value = newValue.substring(0, this.maxCharacters);\n if (value.length < newValue.length) {\n this.maxCharactersWarning = true;\n }\n this.value = value;\n } else {\n value = newValue;\n }\n\n if (this.inputEl && this.inputEl.value !== value) {\n this.inputEl.value = value;\n }\n\n this.getMaxValueExceeded(value);\n\n this.getMaxCharactersReached(value);\n\n this.icChange.emit({ value });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n /**\n * Emitted when the textarea variant is scrolled.\n */\n @Event() icScroll: EventEmitter;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el as HTMLElement, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n } else if (this.maxCharacters > 0) {\n this.value = this.value.substring(0, this.maxCharacters);\n }\n\n this.getMaxValueExceeded(this.value);\n this.getMaxCharactersReached(this.value);\n\n this.inheritedAttributes = inheritAttributes(\n this.el as HTMLElement,\n MUTABLE_ATTRIBUTES\n );\n\n if (this.readonly) {\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el as HTMLElement, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getValidationText.emit({ value: this.validationText });\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n\n if (this.autofocus && !this.disabled && !this.readonly) {\n this.interval = setInterval(this.checkChildHydration, 50);\n }\n }\n\n private checkChildHydration = () => {\n if (\n this.hideLabel ||\n this.el.shadowRoot\n ?.querySelector(\"ic-typography\")\n ?.classList.contains(\"hydrated\")\n ) {\n this.setFocus();\n clearInterval(this.interval);\n }\n };\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n\n if (!ev.ctrlKey && !IGNORED_KEYBOARD_CHARACTERS.includes(ev.key)) {\n this.maxCharactersWarning = this.maxCharactersReached;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus(): Promise<void> {\n this.inputEl?.focus();\n }\n\n private getNumberOfCharacters = (value: string) =>\n value !== null && value !== undefined ? value.length : 0;\n\n private getMaxValueExceeded = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n if (this.type === \"number\") {\n this.minValueUnattained = !!value && Number(value) < Number(this.min);\n this.maxValueExceeded = Number(value) > Number(this.max);\n }\n };\n\n private getMaxCharactersReached = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n this.maxCharactersReached =\n this.maxCharacters > 0 && this.numChars >= this.maxCharacters;\n\n if (this.maxCharactersWarning && !this.maxCharactersReached) {\n this.maxCharactersWarning = false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.removeEventListener(\"wheel\", this.onWheel);\n const { value } = target;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters > 0 && this.numChars < this.minCharacters;\n this.icBlur.emit({ value });\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: target.value });\n };\n\n private onTextAreaScroll = () => {\n this.icScroll.emit();\n };\n\n private onWheel = (ev: WheelEvent) => {\n const target = ev.target as HTMLInputElement;\n if (target.type === \"number\") {\n target.blur();\n setTimeout(() => {\n target.focus();\n }, 0);\n }\n };\n\n private hasStatus = (status: IcInformationStatusOrEmpty) =>\n status !== \"\" && !this.disabled;\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n this.inheritedAttributes[attributeName] = attribute;\n }\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n hideCharCount,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n numChars,\n readonly,\n maxCharacters,\n maxCharactersMessage,\n maxCharactersWarning,\n maxCharactersReached,\n maxMessage,\n minCharacters,\n minCharactersMessage,\n minCharactersUnattained,\n minMessage,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n theme,\n hideLabel,\n type,\n autocapitalize,\n ariaActiveDescendant,\n inheritedAttributes,\n ariaExpanded,\n ariaOwns,\n autocomplete,\n role,\n } = this;\n\n const el = this.el as HTMLElement;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? maxCharactersMessage\n : maxValueExceeded\n ? maxMessage\n : minValueUnattained\n ? minMessage\n : minCharactersUnattained\n ? minCharactersMessage\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText =\n this.hasStatus(currentStatus) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows > 1;\n\n const charsRemaining = maxNumChars - numChars;\n const hiddenCharCountDescId =\n maxCharacters > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const describedBy = `${hiddenCharCountDescId} ${getInputDescribedByText(\n inputId,\n helperText !== \"\",\n showStatusText\n )}`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(this.el as HTMLElement, value, name, disabledMode)\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": fullWidth,\n \"ic-text-field-disabled\": disabledMode,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly,\n \"has-value\": this.getNumberOfCharacters(value) > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline ? (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder ? placeholder : \"\"}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={ariaActiveDescendant}\n aria-expanded={ariaExpanded}\n aria-owns={ariaOwns}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={role}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></input>\n ) : (\n <textarea\n id={inputId}\n class={{\n \"no-resize\": resize === false || !!readonly,\n \"no-left-pad\": !showLeftIcon && !!readonly,\n readonly: !!readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholder}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onScroll={this.onTextAreaScroll}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n maxCharactersWarning ||\n minCharactersUnattained ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span class=\"remaining-char-count-desc\" aria-live=\"polite\">\n {`${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-text-field.js","mappings":"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","names":[],"sources":["src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","src/components/ic-text-field/ic-text-field.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n --border-color: var(--ic-text-field-border-neutral);\n --border-color-hover: var(--ic-text-field-border-neutral-hover);\n --border-color-pressed: var(--ic-text-field-border-neutral-pressed);\n --border-color-disabled: var(--ic-text-field-border-disabled);\n --border-color-error: var(--ic-text-field-border-error);\n --border-color-error-hover: var(--ic-text-field-border-error-hover);\n --border-color-error-pressed: var(--ic-text-field-border-error-pressed);\n --border-color-success: var(--ic-text-field-border-success);\n --border-color-success-hover: var(--ic-text-field-border-success-hover);\n --border-color-success-pressed: var(--ic-text-field-border-success-pressed);\n --border-color-warning: var(--ic-text-field-border-warning);\n --border-color-warning-hover: var(--ic-text-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-text-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-text-field-label);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle);\n --ic-input-validation-status-text-color: var(--ic-text-field-state-text);\n --ic-input-validation-error: var(--ic-text-field-state-icon-error);\n --ic-input-validation-warning-icon-color: var(\n --ic-text-field-state-icon-warning\n );\n --ic-input-validation-success-icon-color: var(\n --ic-text-field-state-icon-success\n );\n --ic-input-component-container-success-icon-inline-color: var(\n --ic-text-field-state-icon-success\n );\n}\n\n:host(.ic-text-field-disabled) {\n --ic-input-label-text-color: var(--ic-text-field-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle-disabled);\n --text-field-placeholder-color: var(\n --ic-text-field-text-area-placeholder-text-disabled\n );\n}\n\n:host(.ic-text-field-full-width) {\n width: 100%;\n}\n\n::placeholder {\n color: var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--text-field-text-color, var(--ic-text-field-text));\n background-color: var(--input-bg-color, var(--ic-text-field-background));\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n caret-color: var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n );\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 0.375rem;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n );\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-text-field-read-only-input-text-internal);\n background: transparent;\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit);\n\n padding-right: var(--ic-space-xxxs);\n}\n\n:host(.ic-text-field-disabled) .char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit-disabled);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-text-disabled);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-input-internal-icon);\n}\n\n.char-count {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\n.remaining-char-count-desc {\n position: absolute;\n left: -9999px;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n checkSlotInChildMutations,\n removeHiddenInput,\n} from \"../../utils/helpers\";\nimport {\n IC_INHERITED_ARIA,\n IGNORED_KEYBOARD_CHARACTERS,\n} from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the text field.\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n @State() isFocussed: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | null;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete?: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect?: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount = false;\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 = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId = `ic-text-field-input-${inputIds++}`;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max?: string | number;\n\n /**\n * The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)\n */\n @Prop() maxCharacters = 0;\n\n /**\n * The text to display as the warning message when the maximum number of characters (the `maxCharacters` prop value) is reached.\n */\n // prettier-ignore\n @Prop() maxCharactersMessage = `Maximum input is ${this.maxCharacters} characters`;\n\n /**\n * The text to display as the error message when the maximum value (the `max` prop value) has been exceeded.\n */\n @Prop() maxMessage = `Maximum value of ${this.max} exceeded`;\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min?: string | number;\n\n /**\n * The minimum number of characters that can be entered in the field.\n */\n @Prop() minCharacters = 0;\n\n /**\n * The text to display as the error message when the minimum number of characters (the `minCharacters` prop value) has not been met.\n */\n // prettier-ignore\n @Prop() minCharactersMessage = `Minimum input is ${this.minCharacters} characters`;\n\n /**\n * The text to display as the error message when the minimum value (the `min` prop value) has not been met.\n */\n @Prop() minMessage = `Minimum value of ${this.min} not met`;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | null;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\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 * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue = false;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal = false;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value = \"\";\n @State() initialValue = this.value;\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n let value;\n\n if (this.maxCharacters > 0) {\n value = newValue.substring(0, this.maxCharacters);\n if (value.length < newValue.length) {\n this.maxCharactersWarning = true;\n }\n this.value = value;\n } else {\n value = newValue;\n }\n\n if (this.inputEl && this.inputEl.value !== value) {\n this.inputEl.value = value;\n }\n\n this.getMaxValueExceeded(value);\n\n this.getMaxCharactersReached(value);\n\n this.icChange.emit({ value });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n /**\n * Emitted when the textarea variant is scrolled.\n */\n @Event() icScroll: EventEmitter;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el as HTMLElement, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n } else if (this.maxCharacters > 0) {\n this.value = this.value.substring(0, this.maxCharacters);\n }\n\n this.getMaxValueExceeded(this.value);\n this.getMaxCharactersReached(this.value);\n\n this.inheritedAttributes = inheritAttributes(\n this.el as HTMLElement,\n MUTABLE_ATTRIBUTES\n );\n\n if (this.readonly) {\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el as HTMLElement, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getValidationText.emit({ value: this.validationText });\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n\n if (this.autofocus && !this.disabled && !this.readonly) {\n this.interval = setInterval(this.checkChildHydration, 50);\n }\n }\n\n private checkChildHydration = () => {\n if (\n this.hideLabel ||\n this.el.shadowRoot\n ?.querySelector(\"ic-typography\")\n ?.classList.contains(\"hydrated\")\n ) {\n this.setFocus();\n clearInterval(this.interval);\n }\n };\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n\n if (!ev.ctrlKey && !IGNORED_KEYBOARD_CHARACTERS.includes(ev.key)) {\n this.maxCharactersWarning = this.maxCharactersReached;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus(): Promise<void> {\n this.inputEl?.focus();\n }\n\n private getNumberOfCharacters = (value: string) =>\n value !== null && value !== undefined ? value.length : 0;\n\n private getMaxValueExceeded = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n if (this.type === \"number\") {\n this.minValueUnattained = !!value && Number(value) < Number(this.min);\n this.maxValueExceeded = Number(value) > Number(this.max);\n }\n };\n\n private getMaxCharactersReached = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n this.maxCharactersReached =\n this.maxCharacters > 0 && this.numChars >= this.maxCharacters;\n\n if (this.maxCharactersWarning && !this.maxCharactersReached) {\n this.maxCharactersWarning = false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.removeEventListener(\"wheel\", this.onWheel);\n const { value } = target;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters > 0 && this.numChars < this.minCharacters;\n this.icBlur.emit({ value });\n this.isFocussed = false;\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: target.value });\n this.isFocussed = true;\n };\n\n private onTextAreaScroll = () => {\n this.icScroll.emit();\n };\n\n private onWheel = (ev: WheelEvent) => {\n const target = ev.target as HTMLInputElement;\n if (target.type === \"number\") {\n target.blur();\n setTimeout(() => {\n target.focus();\n }, 0);\n }\n };\n\n private hasStatus = (status: IcInformationStatusOrEmpty) =>\n status !== \"\" && !this.disabled;\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n this.inheritedAttributes[attributeName] = attribute;\n }\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n hideCharCount,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n numChars,\n readonly,\n maxCharacters,\n maxCharactersMessage,\n maxCharactersWarning,\n maxCharactersReached,\n maxMessage,\n minCharacters,\n minCharactersMessage,\n minCharactersUnattained,\n minMessage,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n theme,\n hideLabel,\n type,\n autocapitalize,\n ariaActiveDescendant,\n inheritedAttributes,\n ariaExpanded,\n ariaOwns,\n autocomplete,\n role,\n isFocussed,\n } = this;\n\n const el = this.el as HTMLElement;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? maxCharactersMessage\n : maxValueExceeded\n ? maxMessage\n : minValueUnattained\n ? minMessage\n : minCharactersUnattained\n ? minCharactersMessage\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText =\n this.hasStatus(currentStatus) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows > 1;\n\n const hiddenCharCountDescId =\n maxCharacters > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const charsRemaining = maxNumChars - numChars;\n const remainingCharCountDescId =\n maxCharacters > 0 ? `${inputId}-remaining-char-count-desc` : \"\";\n const remainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n\n const describedBy = `${hiddenCharCountDescId} ${\n numChars > 0 ? remainingCharCountDescId : \"\"\n } ${getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n showStatusText\n )}`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(this.el as HTMLElement, value, name, disabledMode)\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": fullWidth,\n \"ic-text-field-disabled\": disabledMode,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly,\n \"has-value\": this.getNumberOfCharacters(value) > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline ? (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder ? placeholder : \"\"}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={ariaActiveDescendant}\n aria-expanded={ariaExpanded}\n aria-owns={ariaOwns}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={role || undefined}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></input>\n ) : (\n <textarea\n id={inputId}\n class={{\n \"no-resize\": resize === false || !!readonly,\n \"no-left-pad\": !showLeftIcon && !!readonly,\n readonly: !!readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholder}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onScroll={this.onTextAreaScroll}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n maxCharactersWarning ||\n minCharactersUnattained ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span\n class=\"remaining-char-count-desc\"\n aria-live=\"polite\"\n hidden={!isFocussed}\n id={remainingCharCountDescId}\n >\n {remainingCharCountDesc}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { Z as getBrandColorBrightness, _ as BLACK_MIN_COLOR_BRIGHTNESS, $ as WHITE_MAX_COLOR_BRIGHTNESS, j as convertToRGBA, k as getBrandForegroundAppearance } from './helpers.js';
2
+ import { _ as getBrandColorBrightness, $ as BLACK_MIN_COLOR_BRIGHTNESS, a0 as WHITE_MAX_COLOR_BRIGHTNESS, j as convertToRGBA, k as getBrandForegroundAppearance } from './helpers.js';
3
3
 
4
4
  const Theme = /*@__PURE__*/ proxyCustomElement(class Theme extends HTMLElement {
5
5
  constructor() {
@@ -68,7 +68,7 @@ const Theme = /*@__PURE__*/ proxyCustomElement(class Theme extends HTMLElement {
68
68
  }
69
69
  render() {
70
70
  const { themeClass } = this;
71
- return (h(Host, { key: 'd994b33e982d89fdb62837456a5a1c90471d0a6a', class: themeClass }, h("slot", { key: 'cc67f5ec282adfe4695a7ecf9134fba920a71a7e' })));
71
+ return (h(Host, { key: 'b49257f527c4a26eca25d04500d822785cba320b', class: themeClass }, h("slot", { key: '09782aca70372e6897e9032b66a166335778a6fe' })));
72
72
  }
73
73
  static get watchers() { return {
74
74
  "brandColor": ["watchBrandColorPropHandler"],
@@ -43,7 +43,7 @@ const ToastRegion = /*@__PURE__*/ proxyCustomElement(class ToastRegion extends H
43
43
  }
44
44
  }
45
45
  render() {
46
- return h("slot", { key: '8ba16a1a1aa173043f4a14af432e11a82fffda5a' });
46
+ return h("slot", { key: '9a80027a3b497771ca83af4172fdccc2bfcc10f0' });
47
47
  }
48
48
  get el() { return this; }
49
49
  static get watchers() { return {
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as closeIcon } from './close-icon.js';
3
- import { i as isSlotUsed, V as VARIANT_ICONS, o as onComponentRequiredPropUndefined, N as getSlot, l as isPropDefined } from './helpers.js';
3
+ import { i as isSlotUsed, V as VARIANT_ICONS, o as onComponentRequiredPropUndefined, O as getSlot, l as isPropDefined } from './helpers.js';
4
4
  import { d as defineCustomElement$5 } from './ic-button2.js';
5
5
  import { d as defineCustomElement$4 } from './ic-loading-indicator2.js';
6
6
  import { d as defineCustomElement$3 } from './ic-tooltip2.js';
@@ -209,13 +209,13 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
209
209
  }
210
210
  render() {
211
211
  const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, } = this;
212
- return (h(Host, { key: '0215a0779e769d0b9667f0b9b3899e6f9ab40c54', class: { ["ic-toast-hidden"]: !visible }, tabindex: "0", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? "dialog" : "alert", "aria-live": isManual ? null : "polite" }, h("div", { key: 'b34a48203f613cbcde37d0c7a75743a1c61ded70', class: "container" }, variant && visible && (h("div", { key: 'f3dea0b812b6ab3ab2528f091139716b2781b8f6', class: "toast-icon-container" }, h("div", { key: '215a58acb589a65efabf3837428e131c77bc1500', class: {
212
+ return (h(Host, { key: '77ff93e63eaa0ac86b8afc447c5f2190131dd758', class: { ["ic-toast-hidden"]: !visible }, tabindex: "0", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? "dialog" : "alert", "aria-live": isManual ? null : "polite" }, h("div", { key: '0fcc1bf6aaf4c42a8ba4828c82777f75426b63bd', class: "container" }, variant && visible && (h("div", { key: '87093bc655aa884d3e815f49a7ed5675e7e26b60', class: "toast-icon-container" }, h("div", { key: 'b169b9bad445f582c0d0019cb646f0648ea589a1', class: {
213
213
  ["divider"]: true,
214
214
  [`divider-${variant}`]: true,
215
- } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: 'd19e6c1989aa5370383d6aafb319570fad9dbeba', class: {
215
+ } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: '22a0c86247222789d4590a8c2698120c74fe3c59', class: {
216
216
  ["toast-content"]: true,
217
217
  ["no-icon"]: variant === "neutral" && !isSlotUsed(this.el, "neutral-icon"),
218
- } }, h("div", { key: '3c4b2bcf5563380c57685ddf27e9b9a68c11696c', class: "toast-text" }, h("ic-typography", { key: 'f04cd756f74a338d5e9fbb3db00d91219a018266', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: 'b414af6a0f49714c133d1420a11ce0cdabc5c886', variant: "body", class: "toast-message" }, visible && h("p", { key: '2d98f3b3ead56cf54a67ebf3afdaa0f46775f293' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '3eeaf3fe192ef351748ccabe3b51b3e588394c07', class: "toast-action-container" }, h("slot", { key: 'e618b7d9f135c816d7e2a1ce79e20027edb126cb', name: "action" })))), !isManual ? (h("ic-loading-indicator", { class: "toast-dismiss-timer", theme: "dark", monochrome: true, size: "icon", progress: this.timerProgress, description: "Dismiss timer" })) : (h("ic-button", { id: "dismiss-button", innerHTML: closeIcon, onClick: this.dismissAction, variant: "icon", "aria-label": dismissButtonAriaLabel })))));
218
+ } }, h("div", { key: 'fba229f896689a7309d2e6e1d566e3e7dbd32932', class: "toast-text" }, h("ic-typography", { key: 'd672976872f8789ed4a51c4af23e64a48ba19bc8', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: 'f51c64d977c09cc5e6502b780dc70de84ebaa035', variant: "body", class: "toast-message" }, visible && h("p", { key: 'f827dbff18b4b0cfd713747f09d62e0040f8f1a3' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '3f5cee133b54735d6d7466ceb37389d27b61c7a0', class: "toast-action-container" }, h("slot", { key: 'b7882de8b13f069887ebd612ab6e260b063c65d1', name: "action" })))), !isManual ? (h("ic-loading-indicator", { class: "toast-dismiss-timer", theme: "dark", monochrome: true, size: "icon", progress: this.timerProgress, description: "Dismiss timer" })) : (h("ic-button", { id: "dismiss-button", innerHTML: closeIcon, onClick: this.dismissAction, variant: "icon", "aria-label": dismissButtonAriaLabel })))));
219
219
  }
220
220
  get el() { return this; }
221
221
  static get watchers() { return {