@ukic/web-components 3.10.0 → 3.12.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 (676) hide show
  1. package/dist/cjs/constants-3a9ba64a.js +191 -0
  2. package/dist/cjs/constants-3a9ba64a.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +1 -1
  4. package/dist/cjs/{helpers-a0e78e2e.js → helpers-478d1107.js} +6 -187
  5. package/dist/cjs/helpers-478d1107.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -1
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +2 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -1
  11. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +4 -3
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -1
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +2 -1
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -1
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -1
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +27 -20
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -1
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +8 -4
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +7 -5
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-row.cjs.entry.js +4 -3
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +7 -4
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +2 -1
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +4 -3
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -1
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -3
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +10 -9
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +6 -5
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +7 -6
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1388 -12
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +27 -12
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-link.cjs.entry.js +5 -4
  58. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-group.cjs.entry.js +3 -2
  60. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -2
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -2
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -5
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +8 -7
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -2
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination.cjs.entry.js +6 -5
  76. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -5
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +15 -7
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +7 -6
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +11 -10
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  86. package/dist/cjs/ic-select.cjs.entry.js +21 -13
  87. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -5
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  91. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  92. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -3
  93. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-step.cjs.entry.js +67 -54
  95. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-stepper.cjs.entry.js +21 -3
  97. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-switch.cjs.entry.js +6 -5
  99. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-tab-context.cjs.entry.js +10 -2
  101. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -3
  103. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  105. package/dist/cjs/ic-tab.cjs.entry.js +2 -1
  106. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-text-field.cjs.entry.js +32 -23
  108. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-theme.cjs.entry.js +5 -4
  110. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  112. package/dist/cjs/ic-toast.cjs.entry.js +7 -6
  113. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -3
  115. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toggle-button.cjs.entry.js +4 -3
  117. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -1
  119. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-typography.cjs.entry.js +4 -3
  121. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  122. package/dist/cjs/index.cjs.js +16 -0
  123. package/dist/cjs/index.cjs.js.map +1 -1
  124. package/dist/cjs/loader.cjs.js +1 -1
  125. package/dist/collection/assets/ai-icon.svg +1 -1
  126. package/dist/collection/assets/error-icon.svg +4 -4
  127. package/dist/collection/assets/info-icon.svg +4 -4
  128. package/dist/collection/assets/neutral-icon.svg +4 -4
  129. package/dist/collection/assets/success-icon.svg +4 -4
  130. package/dist/collection/assets/warning-icon.svg +4 -4
  131. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  132. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  133. package/dist/collection/components/ic-button/ic-button.js +14 -8
  134. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  135. package/dist/collection/components/ic-button/ic-button.stories.js +191 -0
  136. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +10 -10
  137. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -0
  138. package/dist/collection/components/ic-checkbox/ic-checkbox.js +2 -2
  139. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  140. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +3 -3
  141. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +5 -2
  142. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  143. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +11 -28
  144. package/dist/collection/components/ic-chip/ic-chip.css +4 -0
  145. package/dist/collection/components/ic-chip/ic-chip.js +4 -3
  146. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  147. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  148. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +30 -6
  149. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  150. package/dist/collection/components/ic-dialog/ic-dialog.js +5 -3
  151. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  152. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +40 -1
  153. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  154. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  155. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  156. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  157. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  158. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  159. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  160. package/dist/collection/components/ic-input-validation/ic-input-validation.css +9 -1
  161. package/dist/collection/components/ic-input-validation/ic-input-validation.js +27 -10
  162. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  163. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  164. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  165. package/dist/collection/components/ic-link/ic-link.js +1 -1
  166. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  167. package/dist/collection/components/ic-menu/ic-menu.css +2 -2
  168. package/dist/collection/components/ic-menu/ic-menu.js +6 -5
  169. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  170. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  171. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  172. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  173. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  174. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  175. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  176. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  177. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  178. package/dist/collection/components/ic-radio-group/ic-radio-group.css +2 -2
  179. package/dist/collection/components/ic-radio-group/ic-radio-group.js +40 -7
  180. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  181. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +178 -15
  182. package/dist/collection/components/ic-radio-option/ic-radio-option.css +37 -1
  183. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  184. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  185. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  186. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  187. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  188. package/dist/collection/components/ic-select/ic-select.js +44 -11
  189. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  190. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +22 -8
  191. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +16 -3
  192. package/dist/collection/components/ic-select/ic-select_(single).stories.js +119 -10
  193. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +60 -0
  194. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
  195. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  196. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  197. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  198. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  199. package/dist/collection/components/ic-step/ic-step.js +89 -53
  200. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  201. package/dist/collection/components/ic-step/ic-step.types.js.map +1 -1
  202. package/dist/collection/components/ic-stepper/ic-stepper.js +43 -2
  203. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  204. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +75 -0
  205. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  206. package/dist/collection/components/ic-tab-context/ic-tab-context.js +27 -2
  207. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  208. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  209. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  210. package/dist/collection/components/ic-text-field/ic-text-field.css +4 -0
  211. package/dist/collection/components/ic-text-field/ic-text-field.js +53 -19
  212. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  213. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +102 -4
  214. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  215. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  216. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  217. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  218. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  219. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  220. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  221. package/dist/collection/components/ic-tooltip/ic-tooltip.js +6 -4
  222. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  223. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  224. package/dist/collection/index.js +1 -1
  225. package/dist/collection/index.js.map +1 -1
  226. package/dist/collection/utils/common-helpers.js +17 -0
  227. package/dist/collection/utils/common-helpers.js.map +1 -0
  228. package/dist/collection/utils/constants.js +1 -0
  229. package/dist/collection/utils/constants.js.map +1 -1
  230. package/dist/collection/utils/types.js.map +1 -1
  231. package/dist/components/constants.js +177 -0
  232. package/dist/components/constants.js.map +1 -0
  233. package/dist/components/helpers.js +2 -174
  234. package/dist/components/helpers.js.map +1 -1
  235. package/dist/components/ic-action-chip.js +1 -1
  236. package/dist/components/ic-alert.js +3 -2
  237. package/dist/components/ic-alert.js.map +1 -1
  238. package/dist/components/ic-back-to-top.js +1 -1
  239. package/dist/components/ic-badge.js +1 -1
  240. package/dist/components/ic-breadcrumb-group.js +1 -1
  241. package/dist/components/ic-breadcrumb2.js +1 -1
  242. package/dist/components/ic-button2.js +17 -11
  243. package/dist/components/ic-button2.js.map +1 -1
  244. package/dist/components/ic-card-vertical.js +1 -1
  245. package/dist/components/ic-checkbox-group.js +7 -4
  246. package/dist/components/ic-checkbox-group.js.map +1 -1
  247. package/dist/components/ic-checkbox.js +4 -4
  248. package/dist/components/ic-checkbox.js.map +1 -1
  249. package/dist/components/ic-chip.js +6 -5
  250. package/dist/components/ic-chip.js.map +1 -1
  251. package/dist/components/ic-data-list.js +2 -2
  252. package/dist/components/ic-data-row.js +3 -3
  253. package/dist/components/ic-dialog.js +6 -4
  254. package/dist/components/ic-dialog.js.map +1 -1
  255. package/dist/components/ic-divider2.js +1 -1
  256. package/dist/components/ic-empty-state.js +3 -3
  257. package/dist/components/ic-footer-link-group.js +1 -1
  258. package/dist/components/ic-footer-link.js +3 -3
  259. package/dist/components/ic-footer.js +2 -1
  260. package/dist/components/ic-footer.js.map +1 -1
  261. package/dist/components/ic-hero.js +5 -5
  262. package/dist/components/ic-horizontal-scroll2.js +6 -6
  263. package/dist/components/ic-input-component-container2.js +5 -4
  264. package/dist/components/ic-input-component-container2.js.map +1 -1
  265. package/dist/components/ic-input-container2.js +2 -2
  266. package/dist/components/ic-input-label2.js +3 -3
  267. package/dist/components/ic-input-validation2.js +24 -7
  268. package/dist/components/ic-input-validation2.js.map +1 -1
  269. package/dist/components/ic-layout-grid-item.js +2 -2
  270. package/dist/components/ic-layout-grid.js +2 -2
  271. package/dist/components/ic-link2.js +3 -2
  272. package/dist/components/ic-link2.js.map +1 -1
  273. package/dist/components/ic-loading-indicator2.js +5 -5
  274. package/dist/components/ic-menu-group.js +2 -2
  275. package/dist/components/ic-menu-item2.js +1 -1
  276. package/dist/components/ic-menu2.js +1383 -7
  277. package/dist/components/ic-menu2.js.map +1 -1
  278. package/dist/components/ic-navigation-button.js +2 -1
  279. package/dist/components/ic-navigation-button.js.map +1 -1
  280. package/dist/components/ic-navigation-group.js +2 -2
  281. package/dist/components/ic-navigation-item.js +1 -1
  282. package/dist/components/ic-navigation-menu2.js +5 -5
  283. package/dist/components/ic-navigation-menu2.js.map +1 -1
  284. package/dist/components/ic-page-header.js +7 -7
  285. package/dist/components/ic-pagination-item2.js +2 -2
  286. package/dist/components/ic-pagination.js +4 -4
  287. package/dist/components/ic-popover-menu.js +5 -5
  288. package/dist/components/ic-popover-menu.js.map +1 -1
  289. package/dist/components/ic-radio-group.js +15 -7
  290. package/dist/components/ic-radio-group.js.map +1 -1
  291. package/dist/components/ic-radio-option.js +6 -6
  292. package/dist/components/ic-radio-option.js.map +1 -1
  293. package/dist/components/ic-search-bar.js +10 -10
  294. package/dist/components/ic-search-bar.js.map +1 -1
  295. package/dist/components/ic-section-container2.js +2 -2
  296. package/dist/components/ic-select.js +21 -12
  297. package/dist/components/ic-select.js.map +1 -1
  298. package/dist/components/ic-side-navigation.js +5 -5
  299. package/dist/components/ic-skeleton.js +2 -2
  300. package/dist/components/ic-skip-link.js +2 -2
  301. package/dist/components/ic-status-tag.js +2 -2
  302. package/dist/components/ic-step.js +67 -54
  303. package/dist/components/ic-step.js.map +1 -1
  304. package/dist/components/ic-stepper.js +20 -2
  305. package/dist/components/ic-stepper.js.map +1 -1
  306. package/dist/components/ic-switch.js +5 -5
  307. package/dist/components/ic-tab-context.js +11 -2
  308. package/dist/components/ic-tab-context.js.map +1 -1
  309. package/dist/components/ic-tab-group.js +2 -2
  310. package/dist/components/ic-tab-panel.js +2 -2
  311. package/dist/components/ic-text-field.js +31 -21
  312. package/dist/components/ic-text-field.js.map +1 -1
  313. package/dist/components/ic-theme.js +3 -2
  314. package/dist/components/ic-theme.js.map +1 -1
  315. package/dist/components/ic-toast-region.js +1 -1
  316. package/dist/components/ic-toast.js +5 -4
  317. package/dist/components/ic-toast.js.map +1 -1
  318. package/dist/components/ic-toggle-button-group.js +2 -2
  319. package/dist/components/ic-toggle-button.js +3 -3
  320. package/dist/components/ic-toggle-button.js.map +1 -1
  321. package/dist/components/ic-tooltip2.js +6 -4
  322. package/dist/components/ic-tooltip2.js.map +1 -1
  323. package/dist/components/ic-top-navigation.js +1 -1
  324. package/dist/components/ic-typography2.js +2 -2
  325. package/dist/components/index.js +1 -0
  326. package/dist/components/index.js.map +1 -1
  327. package/dist/core/core.css +32 -4
  328. package/dist/core/core.esm.js +1 -1
  329. package/dist/core/core.esm.js.map +1 -1
  330. package/dist/core/index.esm.js +1 -1
  331. package/dist/core/p-0123dde7.entry.js +2 -0
  332. package/dist/core/p-0123dde7.entry.js.map +1 -0
  333. package/dist/core/p-01e018cb.entry.js +2 -0
  334. package/dist/core/{p-f309d3af.entry.js.map → p-01e018cb.entry.js.map} +1 -1
  335. package/dist/core/p-02af2b59.entry.js +2 -0
  336. package/dist/core/{p-ef4b5469.entry.js.map → p-02af2b59.entry.js.map} +1 -1
  337. package/dist/core/p-05036675.entry.js +2 -0
  338. package/dist/core/p-05036675.entry.js.map +1 -0
  339. package/dist/core/p-0c36ce84.entry.js +2 -0
  340. package/dist/core/{p-661ae402.entry.js.map → p-0c36ce84.entry.js.map} +1 -1
  341. package/dist/core/p-0ec76cff.entry.js +2 -0
  342. package/dist/core/{p-1d37ac1c.entry.js.map → p-0ec76cff.entry.js.map} +1 -1
  343. package/dist/core/p-13e093d0.entry.js +2 -0
  344. package/dist/core/{p-9eeb5e85.entry.js.map → p-13e093d0.entry.js.map} +1 -1
  345. package/dist/core/p-1423bd4a.entry.js +2 -0
  346. package/dist/core/{p-9f36791b.entry.js.map → p-1423bd4a.entry.js.map} +1 -1
  347. package/dist/core/p-2126d37b.entry.js +2 -0
  348. package/dist/core/{p-0c0c6a9e.entry.js.map → p-2126d37b.entry.js.map} +1 -1
  349. package/dist/core/p-228bc12d.entry.js +2 -0
  350. package/dist/core/{p-41f92698.entry.js.map → p-228bc12d.entry.js.map} +1 -1
  351. package/dist/core/p-25bef09d.entry.js +2 -0
  352. package/dist/core/{p-cf631191.entry.js.map → p-25bef09d.entry.js.map} +1 -1
  353. package/dist/core/p-27e67d45.entry.js +2 -0
  354. package/dist/core/{p-313a8a2f.entry.js.map → p-27e67d45.entry.js.map} +1 -1
  355. package/dist/core/p-2800fc30.entry.js +2 -0
  356. package/dist/core/{p-6ed0ac48.entry.js.map → p-2800fc30.entry.js.map} +1 -1
  357. package/dist/core/p-33582352.entry.js +2 -0
  358. package/dist/core/{p-317e005f.entry.js.map → p-33582352.entry.js.map} +1 -1
  359. package/dist/core/p-33789b23.entry.js +3 -0
  360. package/dist/core/p-33789b23.entry.js.map +1 -0
  361. package/dist/core/{p-287e5c17.entry.js → p-37d217b5.entry.js} +2 -2
  362. package/dist/core/{p-df88ff5b.entry.js → p-37daa8fe.entry.js} +2 -2
  363. package/dist/core/p-3e36f281.entry.js +2 -0
  364. package/dist/core/{p-711bfeed.entry.js.map → p-3e36f281.entry.js.map} +1 -1
  365. package/dist/core/p-45097448.entry.js +2 -0
  366. package/dist/core/{p-cbe0d1bb.entry.js.map → p-45097448.entry.js.map} +1 -1
  367. package/dist/core/{p-45dd12ee.entry.js → p-4747c39f.entry.js} +2 -2
  368. package/dist/core/p-4747c39f.entry.js.map +1 -0
  369. package/dist/core/{p-ffac41d6.entry.js → p-492fcb51.entry.js} +2 -2
  370. package/dist/core/p-514daffe.entry.js +2 -0
  371. package/dist/core/p-514daffe.entry.js.map +1 -0
  372. package/dist/core/p-54803e3b.entry.js +2 -0
  373. package/dist/core/{p-2f4f392f.entry.js.map → p-54803e3b.entry.js.map} +1 -1
  374. package/dist/core/{p-6e8ef73c.entry.js → p-57721431.entry.js} +2 -2
  375. package/dist/core/{p-5fbc8e62.entry.js → p-5fcfcfb6.entry.js} +2 -2
  376. package/dist/core/p-6058d4c9.entry.js +2 -0
  377. package/dist/core/{p-ea778379.entry.js.map → p-6058d4c9.entry.js.map} +1 -1
  378. package/dist/core/p-675bb3e4.entry.js +2 -0
  379. package/dist/core/{p-52748d5c.entry.js.map → p-675bb3e4.entry.js.map} +1 -1
  380. package/dist/core/p-6dbe70f1.entry.js +2 -0
  381. package/dist/core/{p-4ca782eb.entry.js.map → p-6dbe70f1.entry.js.map} +1 -1
  382. package/dist/core/p-6e139e6e.entry.js +2 -0
  383. package/dist/core/{p-0d680d19.entry.js.map → p-6e139e6e.entry.js.map} +1 -1
  384. package/dist/core/p-80317cd1.entry.js +2 -0
  385. package/dist/core/{p-9c013333.entry.js.map → p-80317cd1.entry.js.map} +1 -1
  386. package/dist/core/p-80e0f66e.entry.js +2 -0
  387. package/dist/core/{p-493eaabb.entry.js.map → p-80e0f66e.entry.js.map} +1 -1
  388. package/dist/core/p-813ad03c.entry.js +2 -0
  389. package/dist/core/{p-6a576a8b.entry.js.map → p-813ad03c.entry.js.map} +1 -1
  390. package/dist/core/p-8558b9b7.entry.js +2 -0
  391. package/dist/core/{p-21cf2beb.entry.js.map → p-8558b9b7.entry.js.map} +1 -1
  392. package/dist/core/p-8684efeb.entry.js +2 -0
  393. package/dist/core/{p-fc3b1155.entry.js.map → p-8684efeb.entry.js.map} +1 -1
  394. package/dist/core/p-8b99a806.entry.js +2 -0
  395. package/dist/core/{p-8a4b12e4.entry.js.map → p-8b99a806.entry.js.map} +1 -1
  396. package/dist/core/p-93479c36.entry.js +2 -0
  397. package/dist/core/{p-19cf2327.entry.js.map → p-93479c36.entry.js.map} +1 -1
  398. package/dist/core/p-95d3d1a7.entry.js +2 -0
  399. package/dist/core/{p-6014ab64.entry.js.map → p-95d3d1a7.entry.js.map} +1 -1
  400. package/dist/core/p-99793b64.entry.js +2 -0
  401. package/dist/core/p-99793b64.entry.js.map +1 -0
  402. package/dist/core/{p-ea061ccf.entry.js → p-9a8bcb78.entry.js} +2 -2
  403. package/dist/core/{p-8b5022bc.entry.js → p-9cf6ccfd.entry.js} +2 -2
  404. package/dist/core/p-a06c1e4e.entry.js +2 -0
  405. package/dist/core/{p-f6a02202.entry.js.map → p-a06c1e4e.entry.js.map} +1 -1
  406. package/dist/core/p-a1857d24.entry.js +2 -0
  407. package/dist/core/p-a1857d24.entry.js.map +1 -0
  408. package/dist/core/p-a1e2e029.entry.js +2 -0
  409. package/dist/core/{p-a77364f5.entry.js.map → p-a1e2e029.entry.js.map} +1 -1
  410. package/dist/core/p-abd88929.entry.js +2 -0
  411. package/dist/core/{p-af9c391d.entry.js.map → p-abd88929.entry.js.map} +1 -1
  412. package/dist/core/p-b0376079.entry.js +2 -0
  413. package/dist/core/{p-41ef74a7.entry.js.map → p-b0376079.entry.js.map} +1 -1
  414. package/dist/core/p-b1838ad8.entry.js +2 -0
  415. package/dist/core/p-b1838ad8.entry.js.map +1 -0
  416. package/dist/core/{p-999f0a5d.entry.js → p-b4a2f6fa.entry.js} +2 -2
  417. package/dist/core/p-b57e59b7.js +2 -0
  418. package/dist/core/p-b57e59b7.js.map +1 -0
  419. package/dist/core/p-b9bdd9a9.entry.js +2 -0
  420. package/dist/core/p-b9bdd9a9.entry.js.map +1 -0
  421. package/dist/core/p-bddf799a.js +2 -0
  422. package/dist/core/p-bddf799a.js.map +1 -0
  423. package/dist/core/p-c04e1fab.entry.js +2 -0
  424. package/dist/core/{p-1e2f40b0.entry.js.map → p-c04e1fab.entry.js.map} +1 -1
  425. package/dist/core/p-c2d5e301.entry.js +2 -0
  426. package/dist/core/p-c2d5e301.entry.js.map +1 -0
  427. package/dist/core/p-c975cced.entry.js +2 -0
  428. package/dist/core/{p-15dbccc2.entry.js.map → p-c975cced.entry.js.map} +1 -1
  429. package/dist/core/p-cc00cbce.entry.js +2 -0
  430. package/dist/core/p-cc00cbce.entry.js.map +1 -0
  431. package/dist/core/p-cf868a24.entry.js +2 -0
  432. package/dist/core/p-cf868a24.entry.js.map +1 -0
  433. package/dist/core/p-d58ad080.entry.js +2 -0
  434. package/dist/core/{p-b52000d9.entry.js.map → p-d58ad080.entry.js.map} +1 -1
  435. package/dist/core/p-de32a223.entry.js +2 -0
  436. package/dist/core/{p-43324339.entry.js.map → p-de32a223.entry.js.map} +1 -1
  437. package/dist/core/p-e6dacbe2.entry.js +2 -0
  438. package/dist/core/{p-b0d488d0.entry.js.map → p-e6dacbe2.entry.js.map} +1 -1
  439. package/dist/core/p-e9d28e02.entry.js +2 -0
  440. package/dist/core/p-e9d28e02.entry.js.map +1 -0
  441. package/dist/core/p-ea06792a.entry.js +2 -0
  442. package/dist/core/{p-72a9909c.entry.js.map → p-ea06792a.entry.js.map} +1 -1
  443. package/dist/core/p-eb0e7153.entry.js +2 -0
  444. package/dist/core/{p-3dc54847.entry.js.map → p-eb0e7153.entry.js.map} +1 -1
  445. package/dist/core/p-f609ca37.entry.js +2 -0
  446. package/dist/core/{p-9323c234.entry.js.map → p-f609ca37.entry.js.map} +1 -1
  447. package/dist/core/p-fb69fbc0.entry.js +2 -0
  448. package/dist/core/{p-7cd4f6a6.entry.js.map → p-fb69fbc0.entry.js.map} +1 -1
  449. package/dist/core/p-fb734a59.entry.js +2 -0
  450. package/dist/core/p-fb734a59.entry.js.map +1 -0
  451. package/dist/esm/constants-7960cba4.js +177 -0
  452. package/dist/esm/constants-7960cba4.js.map +1 -0
  453. package/dist/esm/core.js +1 -1
  454. package/dist/esm/{helpers-56631aa0.js → helpers-4ddac6ed.js} +3 -175
  455. package/dist/esm/helpers-4ddac6ed.js.map +1 -0
  456. package/dist/esm/ic-accordion-group.entry.js +2 -1
  457. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  458. package/dist/esm/ic-accordion.entry.js +2 -1
  459. package/dist/esm/ic-accordion.entry.js.map +1 -1
  460. package/dist/esm/ic-action-chip.entry.js +2 -1
  461. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  462. package/dist/esm/ic-alert.entry.js +3 -2
  463. package/dist/esm/ic-alert.entry.js.map +1 -1
  464. package/dist/esm/ic-back-to-top.entry.js +2 -1
  465. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  466. package/dist/esm/ic-badge.entry.js +2 -1
  467. package/dist/esm/ic-badge.entry.js.map +1 -1
  468. package/dist/esm/ic-breadcrumb-group.entry.js +2 -1
  469. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  470. package/dist/esm/ic-breadcrumb.entry.js +2 -1
  471. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  472. package/dist/esm/ic-button_3.entry.js +25 -18
  473. package/dist/esm/ic-button_3.entry.js.map +1 -1
  474. package/dist/esm/ic-card-vertical.entry.js +2 -1
  475. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  476. package/dist/esm/ic-checkbox-group.entry.js +8 -4
  477. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  478. package/dist/esm/ic-checkbox.entry.js +5 -4
  479. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  480. package/dist/esm/ic-chip.entry.js +7 -5
  481. package/dist/esm/ic-chip.entry.js.map +1 -1
  482. package/dist/esm/ic-data-list.entry.js +2 -2
  483. package/dist/esm/ic-data-row.entry.js +4 -3
  484. package/dist/esm/ic-data-row.entry.js.map +1 -1
  485. package/dist/esm/ic-dialog.entry.js +7 -4
  486. package/dist/esm/ic-dialog.entry.js.map +1 -1
  487. package/dist/esm/ic-divider.entry.js +2 -1
  488. package/dist/esm/ic-divider.entry.js.map +1 -1
  489. package/dist/esm/ic-empty-state.entry.js +4 -3
  490. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  491. package/dist/esm/ic-footer-link-group.entry.js +2 -1
  492. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  493. package/dist/esm/ic-footer-link.entry.js +4 -3
  494. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  495. package/dist/esm/ic-footer.entry.js +2 -1
  496. package/dist/esm/ic-footer.entry.js.map +1 -1
  497. package/dist/esm/ic-hero.entry.js +6 -5
  498. package/dist/esm/ic-hero.entry.js.map +1 -1
  499. package/dist/esm/ic-horizontal-scroll.entry.js +7 -6
  500. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  501. package/dist/esm/ic-input-component-container_3.entry.js +1388 -12
  502. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  503. package/dist/esm/ic-input-label_2.entry.js +24 -9
  504. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  505. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  506. package/dist/esm/ic-layout-grid.entry.js +2 -2
  507. package/dist/esm/ic-link.entry.js +3 -2
  508. package/dist/esm/ic-link.entry.js.map +1 -1
  509. package/dist/esm/ic-menu-group.entry.js +3 -2
  510. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  511. package/dist/esm/ic-menu-item.entry.js +2 -1
  512. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  513. package/dist/esm/ic-navigation-button.entry.js +2 -1
  514. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  515. package/dist/esm/ic-navigation-group.entry.js +3 -2
  516. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  517. package/dist/esm/ic-navigation-item.entry.js +2 -1
  518. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  519. package/dist/esm/ic-navigation-menu.entry.js +6 -5
  520. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  521. package/dist/esm/ic-page-header.entry.js +8 -7
  522. package/dist/esm/ic-page-header.entry.js.map +1 -1
  523. package/dist/esm/ic-pagination-item.entry.js +3 -2
  524. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  525. package/dist/esm/ic-pagination.entry.js +6 -5
  526. package/dist/esm/ic-pagination.entry.js.map +1 -1
  527. package/dist/esm/ic-popover-menu.entry.js +6 -5
  528. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  529. package/dist/esm/ic-radio-group.entry.js +15 -7
  530. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  531. package/dist/esm/ic-radio-option.entry.js +7 -6
  532. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  533. package/dist/esm/ic-search-bar.entry.js +11 -10
  534. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  535. package/dist/esm/ic-section-container.entry.js +2 -2
  536. package/dist/esm/ic-select.entry.js +20 -12
  537. package/dist/esm/ic-select.entry.js.map +1 -1
  538. package/dist/esm/ic-side-navigation.entry.js +6 -5
  539. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  540. package/dist/esm/ic-skeleton.entry.js +2 -2
  541. package/dist/esm/ic-skip-link.entry.js +2 -2
  542. package/dist/esm/ic-status-tag.entry.js +4 -3
  543. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  544. package/dist/esm/ic-step.entry.js +67 -54
  545. package/dist/esm/ic-step.entry.js.map +1 -1
  546. package/dist/esm/ic-stepper.entry.js +21 -3
  547. package/dist/esm/ic-stepper.entry.js.map +1 -1
  548. package/dist/esm/ic-switch.entry.js +6 -5
  549. package/dist/esm/ic-switch.entry.js.map +1 -1
  550. package/dist/esm/ic-tab-context.entry.js +10 -2
  551. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  552. package/dist/esm/ic-tab-group.entry.js +4 -3
  553. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  554. package/dist/esm/ic-tab-panel.entry.js +2 -2
  555. package/dist/esm/ic-tab.entry.js +2 -1
  556. package/dist/esm/ic-tab.entry.js.map +1 -1
  557. package/dist/esm/ic-text-field.entry.js +30 -21
  558. package/dist/esm/ic-text-field.entry.js.map +1 -1
  559. package/dist/esm/ic-theme.entry.js +3 -2
  560. package/dist/esm/ic-theme.entry.js.map +1 -1
  561. package/dist/esm/ic-toast-region.entry.js +1 -1
  562. package/dist/esm/ic-toast.entry.js +5 -4
  563. package/dist/esm/ic-toast.entry.js.map +1 -1
  564. package/dist/esm/ic-toggle-button-group.entry.js +4 -3
  565. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  566. package/dist/esm/ic-toggle-button.entry.js +4 -3
  567. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  568. package/dist/esm/ic-top-navigation.entry.js +2 -1
  569. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  570. package/dist/esm/ic-typography.entry.js +4 -3
  571. package/dist/esm/ic-typography.entry.js.map +1 -1
  572. package/dist/esm/index.js +1 -1
  573. package/dist/esm/loader.js +1 -1
  574. package/dist/types/components/ic-button/ic-button.d.ts +1 -0
  575. package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -0
  576. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -3
  577. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +6 -2
  578. package/dist/types/components/ic-select/ic-select.d.ts +5 -1
  579. package/dist/types/components/ic-select/test/a11y/ic-select.test.a11y.d.ts +1 -0
  580. package/dist/types/components/ic-step/ic-step.d.ts +5 -1
  581. package/dist/types/components/ic-step/ic-step.types.d.ts +10 -0
  582. package/dist/types/components/ic-stepper/ic-stepper.d.ts +5 -1
  583. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +4 -0
  584. package/dist/types/components/ic-text-field/ic-text-field.d.ts +6 -1
  585. package/dist/types/components.d.ts +51 -9
  586. package/dist/types/index.d.ts +1 -0
  587. package/dist/types/interface.d.ts +0 -1
  588. package/dist/types/utils/common-helpers.d.ts +2 -0
  589. package/dist/types/utils/constants.d.ts +1 -0
  590. package/dist/types/utils/types.d.ts +2 -0
  591. package/hydrate/index.js +1721 -254
  592. package/hydrate/index.mjs +1721 -254
  593. package/package.json +5 -4
  594. package/vscode-data.json +51 -0
  595. package/dist/cjs/helpers-a0e78e2e.js.map +0 -1
  596. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js +0 -2
  597. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js.map +0 -1
  598. package/dist/core/p-0c0c6a9e.entry.js +0 -2
  599. package/dist/core/p-0d680d19.entry.js +0 -2
  600. package/dist/core/p-15dbccc2.entry.js +0 -2
  601. package/dist/core/p-19cf2327.entry.js +0 -2
  602. package/dist/core/p-1d37ac1c.entry.js +0 -2
  603. package/dist/core/p-1e2f40b0.entry.js +0 -2
  604. package/dist/core/p-21cf2beb.entry.js +0 -2
  605. package/dist/core/p-25007ec9.js +0 -2
  606. package/dist/core/p-25007ec9.js.map +0 -1
  607. package/dist/core/p-28efe829.entry.js +0 -2
  608. package/dist/core/p-28efe829.entry.js.map +0 -1
  609. package/dist/core/p-2f4f392f.entry.js +0 -2
  610. package/dist/core/p-313a8a2f.entry.js +0 -2
  611. package/dist/core/p-317e005f.entry.js +0 -2
  612. package/dist/core/p-3dc54847.entry.js +0 -2
  613. package/dist/core/p-3e5d7a3d.entry.js +0 -2
  614. package/dist/core/p-3e5d7a3d.entry.js.map +0 -1
  615. package/dist/core/p-41ef74a7.entry.js +0 -2
  616. package/dist/core/p-41f92698.entry.js +0 -2
  617. package/dist/core/p-43324339.entry.js +0 -2
  618. package/dist/core/p-45dd12ee.entry.js.map +0 -1
  619. package/dist/core/p-47f6dac2.entry.js +0 -2
  620. package/dist/core/p-47f6dac2.entry.js.map +0 -1
  621. package/dist/core/p-493eaabb.entry.js +0 -2
  622. package/dist/core/p-4ca782eb.entry.js +0 -2
  623. package/dist/core/p-4d1a3036.entry.js +0 -2
  624. package/dist/core/p-4d1a3036.entry.js.map +0 -1
  625. package/dist/core/p-52748d5c.entry.js +0 -2
  626. package/dist/core/p-595a4d06.entry.js +0 -2
  627. package/dist/core/p-595a4d06.entry.js.map +0 -1
  628. package/dist/core/p-5f68f62b.entry.js +0 -2
  629. package/dist/core/p-5f68f62b.entry.js.map +0 -1
  630. package/dist/core/p-6014ab64.entry.js +0 -2
  631. package/dist/core/p-661ae402.entry.js +0 -2
  632. package/dist/core/p-6a576a8b.entry.js +0 -2
  633. package/dist/core/p-6ed0ac48.entry.js +0 -2
  634. package/dist/core/p-711bfeed.entry.js +0 -2
  635. package/dist/core/p-72a9909c.entry.js +0 -2
  636. package/dist/core/p-742a9181.entry.js +0 -2
  637. package/dist/core/p-742a9181.entry.js.map +0 -1
  638. package/dist/core/p-7cd4f6a6.entry.js +0 -2
  639. package/dist/core/p-8a4b12e4.entry.js +0 -2
  640. package/dist/core/p-9323c234.entry.js +0 -2
  641. package/dist/core/p-97b93ddf.entry.js +0 -2
  642. package/dist/core/p-97b93ddf.entry.js.map +0 -1
  643. package/dist/core/p-9c013333.entry.js +0 -2
  644. package/dist/core/p-9eeb5e85.entry.js +0 -2
  645. package/dist/core/p-9f36791b.entry.js +0 -2
  646. package/dist/core/p-a602a8e1.entry.js +0 -2
  647. package/dist/core/p-a602a8e1.entry.js.map +0 -1
  648. package/dist/core/p-a77364f5.entry.js +0 -2
  649. package/dist/core/p-af9c391d.entry.js +0 -2
  650. package/dist/core/p-b0d488d0.entry.js +0 -2
  651. package/dist/core/p-b52000d9.entry.js +0 -2
  652. package/dist/core/p-bb4ce810.entry.js +0 -2
  653. package/dist/core/p-bb4ce810.entry.js.map +0 -1
  654. package/dist/core/p-cbe0d1bb.entry.js +0 -2
  655. package/dist/core/p-ceea1712.entry.js +0 -2
  656. package/dist/core/p-ceea1712.entry.js.map +0 -1
  657. package/dist/core/p-cf631191.entry.js +0 -2
  658. package/dist/core/p-e652ab09.entry.js +0 -2
  659. package/dist/core/p-e652ab09.entry.js.map +0 -1
  660. package/dist/core/p-e876e47c.entry.js +0 -2
  661. package/dist/core/p-e876e47c.entry.js.map +0 -1
  662. package/dist/core/p-ea778379.entry.js +0 -2
  663. package/dist/core/p-ef4b5469.entry.js +0 -2
  664. package/dist/core/p-f309d3af.entry.js +0 -2
  665. package/dist/core/p-f6a02202.entry.js +0 -2
  666. package/dist/core/p-fc3b1155.entry.js +0 -2
  667. package/dist/esm/helpers-56631aa0.js.map +0 -1
  668. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +0 -1
  669. /package/dist/core/{p-287e5c17.entry.js.map → p-37d217b5.entry.js.map} +0 -0
  670. /package/dist/core/{p-df88ff5b.entry.js.map → p-37daa8fe.entry.js.map} +0 -0
  671. /package/dist/core/{p-ffac41d6.entry.js.map → p-492fcb51.entry.js.map} +0 -0
  672. /package/dist/core/{p-6e8ef73c.entry.js.map → p-57721431.entry.js.map} +0 -0
  673. /package/dist/core/{p-5fbc8e62.entry.js.map → p-5fcfcfb6.entry.js.map} +0 -0
  674. /package/dist/core/{p-ea061ccf.entry.js.map → p-9a8bcb78.entry.js.map} +0 -0
  675. /package/dist/core/{p-8b5022bc.entry.js.map → p-9cf6ccfd.entry.js.map} +0 -0
  676. /package/dist/core/{p-999f0a5d.entry.js.map → p-b4a2f6fa.entry.js.map} +0 -0
@@ -141,6 +141,10 @@ export class TextField {
141
141
  * The type of control to display. The default type is text.
142
142
  */
143
143
  this.type = "text";
144
+ /**
145
+ * The value of the `aria-live` attribute on the validation message. When set to "default", the `aria-live` value will be handled automatically, e.g. "assertive" for `validation-status="error"`.
146
+ */
147
+ this.validationAriaLive = "default";
144
148
  /**
145
149
  * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.
146
150
  */
@@ -226,6 +230,15 @@ export class TextField {
226
230
  this.handleFormReset = () => {
227
231
  this.value = this.initialValue;
228
232
  };
233
+ this.showValidationMargin = () => {
234
+ const maxNumChars = this.readonly ? 0 : this.maxCharacters;
235
+ const emptyString = isEmptyString(this.validationStatus) ||
236
+ isEmptyString(this.validationText);
237
+ const valueOutsideRange = this.minValueUnattained || this.maxValueExceeded;
238
+ const charsOutsideRange = maxNumChars > 0 || this.minCharactersUnattained;
239
+ return ((!emptyString || valueOutsideRange || charsOutsideRange) &&
240
+ !this.validationInlineInternal);
241
+ };
229
242
  // triggered when attributes of host element change
230
243
  this.hostMutationCallback = (mutationList) => {
231
244
  let forceComponentUpdate = false;
@@ -324,7 +337,7 @@ export class TextField {
324
337
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
325
338
  }
326
339
  render() {
327
- 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;
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, validationAriaLive, validationStatus, validationText, validationInline, validationInlineInternal, spellcheck, inputmode, fullWidth, truncateValue, hiddenInput, theme, hideLabel, type, autocapitalize, ariaActiveDescendant, inheritedAttributes, ariaExpanded, ariaOwns, autocomplete, role, isFocussed, } = this;
328
341
  const el = this.el;
329
342
  const disabledMode = readonly || disabled;
330
343
  const currentStatus = maxValueExceeded ||
@@ -345,12 +358,14 @@ export class TextField {
345
358
  ? minCharactersMessage
346
359
  : validationText;
347
360
  const maxNumChars = readonly ? 0 : maxCharacters;
348
- const messageAriaLive = maxCharactersWarning ||
349
- maxValueExceeded ||
350
- minValueUnattained ||
351
- currentStatus === IcInformationStatus.Error
352
- ? "assertive"
353
- : "polite";
361
+ const messageAriaLive = validationAriaLive === "default"
362
+ ? maxCharactersWarning ||
363
+ maxValueExceeded ||
364
+ minValueUnattained ||
365
+ currentStatus === IcInformationStatus.Error
366
+ ? "assertive"
367
+ : "polite"
368
+ : validationAriaLive;
354
369
  const showStatusText = this.hasStatus(currentStatus) &&
355
370
  !(currentStatus == IcInformationStatus.Success && validationInline) &&
356
371
  !validationInlineInternal;
@@ -366,14 +381,14 @@ export class TextField {
366
381
  hiddenInput
367
382
  ? renderHiddenInput(this.el, value, name, disabledMode)
368
383
  : removeHiddenInput(this.el);
369
- return (h(Host, { key: 'af9f4dab9e78765b8e1e578d57783e5487d83f6b', class: {
384
+ return (h(Host, { key: '985b46adc3cee088de75766a4230042e4af8c9c3', class: {
370
385
  "ic-text-field-full-width": fullWidth,
371
386
  "ic-text-field-disabled": disabledMode,
372
387
  [`ic-theme-${theme}`]: theme !== "inherit",
373
- } }, h("ic-input-container", { key: '7417dcc2f53f877899b713093e81a4db38c394c7', readonly: readonly, disabled: disabledMode }, !hideLabel && (h("ic-input-label", { key: '36ae0e2a6a99024c0b8fbd141519dcd4d5390e6d', for: inputId, label: label, helperText: helperText, required: required, disabled: disabledText, readonly: readonly }, h("slot", { key: '9392299204d1bc2ef1b0bb464984b8f8bc148834', name: "helper-text", slot: "helper-text" }))), h("ic-input-component-container", { key: 'd6819ae02cab210950e11d74c1dac6dd3c5505ed', size: size, validationStatus: currentStatus, multiLine: multiline, disabled: disabledMode, readonly: readonly, validationInline: validationInline, fullWidth: fullWidth }, showLeftIcon && (h("span", { key: '660f12ab2717dfd7b75bd19a60c92c167fb06db3', class: {
388
+ } }, h("ic-input-container", { key: '4b9794b880ab440c1c2e6cf2072c13d9d88cc1fa', readonly: readonly, disabled: disabledMode }, !hideLabel && (h("ic-input-label", { key: '6ccf8091d697ddce0dade9a81d38e7bc17315da9', for: inputId, label: label, helperText: helperText, required: required, disabled: disabledText, readonly: readonly }, h("slot", { key: '0ecf6a100c43efdca46f3b7c03ac6a5a8f7cc972', name: "helper-text", slot: "helper-text" }))), h("ic-input-component-container", { key: 'a1d649e733cab8590b92db3c0ecda49ea021103f', size: size, validationStatus: currentStatus, multiLine: multiline, disabled: disabledMode, readonly: readonly, validationInline: validationInline, fullWidth: fullWidth }, showLeftIcon && (h("span", { key: 'd3228d1ab97951891316b60608ce8a9fbe6295bb', class: {
374
389
  readonly,
375
390
  "has-value": this.getNumberOfCharacters(value) > 0,
376
- }, slot: "left-icon" }, h("slot", { key: '8631fc623d4f5b422921add6d01992b736acdf22', 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: {
391
+ }, slot: "left-icon" }, h("slot", { key: 'ea62e21d7abc5048da1a8e9a15f5a5a535c963b3', 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: {
377
392
  "no-left-pad": !showLeftIcon && readonly,
378
393
  readonly,
379
394
  "truncate-value": truncateValue,
@@ -381,19 +396,12 @@ export class TextField {
381
396
  "no-resize": resize === false || !!readonly,
382
397
  "no-left-pad": !showLeftIcon && !!readonly,
383
398
  readonly: !!readonly,
384
- }, 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, autocomplete: autocomplete, autocapitalize: autocapitalize, spellcheck: spellcheck, inputmode: inputmode, maxlength: maxCharactersReached ? maxCharacters : undefined, minlength: minCharactersUnattained ? minCharacters : undefined }, inheritedAttributes))), isSlotUsed(el, "clear-button") && (h("slot", { key: 'a6d0485615862817c8762166a73de5a88871f005', name: "clear-button" })), isSlotUsed(el, "search-submit-button") && (h("slot", { key: '29aa628b01eb431a39bfb7801a49c4669a693a46', name: "search-submit-button" }))), isSlotUsed(el, "menu") && h("slot", { key: 'b7fb682e9128e76fbca4523a616152176cf6cbed', name: "menu" }), (!isEmptyString(validationStatus) ||
385
- !isEmptyString(validationText) ||
386
- maxNumChars > 0 ||
387
- maxValueExceeded ||
388
- maxCharactersWarning ||
389
- minCharactersUnattained ||
390
- minValueUnattained) &&
391
- !validationInlineInternal && (h("ic-input-validation", { key: '44d09f213ee6779ce6921e427c8ea660a1e47094', status: this.hasStatus(currentStatus) === false ||
399
+ }, 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, autocomplete: autocomplete, autocapitalize: autocapitalize, spellcheck: spellcheck, inputmode: inputmode, maxlength: maxCharactersReached ? maxCharacters : undefined, minlength: minCharactersUnattained ? minCharacters : undefined }, inheritedAttributes))), isSlotUsed(el, "clear-button") && (h("slot", { key: 'e02f69a6fd4c654b7f3b5f1593f7a29c7412d10f', name: "clear-button" })), isSlotUsed(el, "search-submit-button") && (h("slot", { key: '2e32b1afd58a382a804a356537489efa523009ce', name: "search-submit-button" }))), isSlotUsed(el, "menu") && h("slot", { key: '1cbac8ded359309907e51f16033b03d266eb8828', name: "menu" }), h("ic-input-validation", { key: '55a5e1762111cb2715679f6263719924b098acd4', class: { "show-validation": this.showValidationMargin() }, status: this.hasStatus(currentStatus) === false ||
392
400
  (currentStatus === IcInformationStatus.Success &&
393
401
  validationInline) ||
394
402
  validationInlineInternal
395
403
  ? ""
396
- : currentStatus, message: showStatusText ? currentValidationText : "", ariaLiveMode: messageAriaLive, for: inputId, fullWidth: fullWidth }, !readonly && maxNumChars > 0 && (h("div", { key: '966eeefe0d9462c4b36a32784cfc2adceff4f214', slot: "validation-message-adornment" }, !hideCharCount && (h("ic-typography", { key: '23a5efde0d4b130eb9a0ae239d0643d5d2465fc6', variant: "caption", class: "char-count-text" }, h("span", { key: 'c1b75da85f2b1104558a57909c0a641dc2b103d7', class: "char-count" }, numChars, "/", maxNumChars))), h("span", { key: 'fbb3f07880d1bf68501be907b24762dd243da1a5', class: "remaining-char-count-desc", "aria-live": "polite", hidden: !isFocussed, id: remainingCharCountDescId }, remainingCharCountDesc), h("span", { key: '7487636c69e2379eafa7a13f36e1ff1cc6d2bc59', hidden: true, id: hiddenCharCountDescId }, "Field can contain a maximum of ", maxNumChars, " characters."))))))));
404
+ : currentStatus, message: showStatusText ? currentValidationText : "", ariaLiveMode: messageAriaLive, for: inputId, fullWidth: fullWidth }, !readonly && maxNumChars > 0 && (h("div", { key: 'ce76d39f556c5cf5ab0e97abb93e243cb0153f54', slot: "validation-message-adornment" }, !hideCharCount && (h("ic-typography", { key: '49a4898f4b336ca7e1ced4550a9494c5505a78a6', variant: "caption", class: "char-count-text" }, h("span", { key: '2b714b46208c477500494f1f43d919f972501f9b', class: "char-count" }, numChars, "/", maxNumChars))), h("span", { key: '3559afb42041b8bb3080ae5bd015bc76a9af3b2d', class: "remaining-char-count-desc", "aria-live": "polite", hidden: !isFocussed, id: remainingCharCountDescId }, remainingCharCountDesc), h("span", { key: '9f98def180554d1dc13e05d6cefac85fd91638bb', hidden: true, id: hiddenCharCountDescId }, "Field can contain a maximum of ", maxNumChars, " characters.")))))));
397
405
  }
398
406
  static get is() { return "ic-text-field"; }
399
407
  static get encapsulation() { return "shadow"; }
@@ -1204,6 +1212,32 @@ export class TextField {
1204
1212
  "reflect": false,
1205
1213
  "defaultValue": "\"text\""
1206
1214
  },
1215
+ "validationAriaLive": {
1216
+ "type": "string",
1217
+ "mutable": false,
1218
+ "complexType": {
1219
+ "original": "IcValidationAriaLive",
1220
+ "resolved": "\"assertive\" | \"default\" | \"off\" | \"polite\"",
1221
+ "references": {
1222
+ "IcValidationAriaLive": {
1223
+ "location": "import",
1224
+ "path": "../../utils/types",
1225
+ "id": "src/utils/types.ts::IcValidationAriaLive"
1226
+ }
1227
+ }
1228
+ },
1229
+ "required": false,
1230
+ "optional": false,
1231
+ "docs": {
1232
+ "tags": [],
1233
+ "text": "The value of the `aria-live` attribute on the validation message. When set to \"default\", the `aria-live` value will be handled automatically, e.g. \"assertive\" for `validation-status=\"error\"`."
1234
+ },
1235
+ "getter": false,
1236
+ "setter": false,
1237
+ "attribute": "validation-aria-live",
1238
+ "reflect": false,
1239
+ "defaultValue": "\"default\""
1240
+ },
1207
1241
  "validationInline": {
1208
1242
  "type": "boolean",
1209
1243
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-text-field.js","sourceRoot":"","sources":["../../../src/components/ic-text-field/ic-text-field.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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 autocomplete={autocomplete}\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"]}
1
+ {"version":3,"file":"ic-text-field.js","sourceRoot":"","sources":["../../../src/components/ic-text-field/ic-text-field.tsx"],"names":[],"mappings":"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","sourcesContent":["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 IcValidationAriaLive,\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 * The value of the `aria-live` attribute on the validation message. When set to \"default\", the `aria-live` value will be handled automatically, e.g. \"assertive\" for `validation-status=\"error\"`.\n */\n @Prop() validationAriaLive: IcValidationAriaLive = \"default\";\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 private showValidationMargin = (): boolean => {\n const maxNumChars = this.readonly ? 0 : this.maxCharacters;\n const emptyString =\n isEmptyString(this.validationStatus) ||\n isEmptyString(this.validationText);\n const valueOutsideRange = this.minValueUnattained || this.maxValueExceeded;\n const charsOutsideRange = maxNumChars > 0 || this.minCharactersUnattained;\n return (\n (!emptyString || valueOutsideRange || charsOutsideRange) &&\n !this.validationInlineInternal\n );\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 validationAriaLive,\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 validationAriaLive === \"default\"\n ? maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\"\n : validationAriaLive;\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 autocomplete={autocomplete}\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 <ic-input-validation\n class={{ \"show-validation\": this.showValidationMargin() }}\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 </ic-input-container>\n </Host>\n );\n }\n}\n"]}
@@ -33,6 +33,7 @@ const defaultArgs = {
33
33
  spellcheck: false,
34
34
  theme: "inherit",
35
35
  type: "text",
36
+ validationAriaLive: "default",
36
37
  validationInline: false,
37
38
  validationStatus: "no status",
38
39
  validationText: "",
@@ -800,6 +801,90 @@ export const Validation = {
800
801
  name: "Validation",
801
802
  };
802
803
 
804
+ export const AriaLiveBehaviour = {
805
+ render: (args) =>
806
+ html`<ic-text-field
807
+ id="field-1"
808
+ label="What is your favourite coffee?"
809
+ helper-text="Error already set on page load"
810
+ validation-status="error"
811
+ validation-text="First error message"
812
+ ></ic-text-field>
813
+ <br />
814
+ <ic-text-field
815
+ id="field-2"
816
+ label="What is your favourite coffee?"
817
+ helper-text="Error set after page load"
818
+ ></ic-text-field>
819
+ <br />
820
+ <ic-button id="toggle-btn-1">Toggle errors</ic-button>
821
+ <script>
822
+ let showErrors1 = false;
823
+ const btn1 = document.getElementById("toggle-btn-1");
824
+ const field1 = document.getElementById("field-1");
825
+ const field2 = document.getElementById("field-2");
826
+
827
+ btn1.addEventListener("click", () => {
828
+ showErrors1 = !showErrors1;
829
+
830
+ field1.setAttribute("validation-status", showErrors1 ? "" : "error");
831
+ field1.setAttribute(
832
+ "validation-text",
833
+ showErrors1 ? "" : "First error message"
834
+ );
835
+
836
+ field2.setAttribute("validation-status", showErrors1 ? "error" : "");
837
+ field2.setAttribute(
838
+ "validation-text",
839
+ showErrors1 ? "Second error message" : ""
840
+ );
841
+ });
842
+ </script>
843
+ <br />
844
+ <br />
845
+ <br />
846
+ <br />
847
+ <ic-text-field
848
+ id="field-3"
849
+ label="What is your favourite coffee?"
850
+ helper-text="aria-live overridden as 'polite'"
851
+ validation-aria-live="polite"
852
+ ></ic-text-field>
853
+ <br />
854
+ <ic-text-field
855
+ id="field-4"
856
+ label="What is your favourite coffee?"
857
+ helper-text="aria-live overridden as 'polite'"
858
+ validation-aria-live="polite"
859
+ ></ic-text-field>
860
+ <br />
861
+ <ic-button id="toggle-btn-2">Toggle errors</ic-button>
862
+ <script>
863
+ let showErrors2 = false;
864
+ const btn2 = document.getElementById("toggle-btn-2");
865
+ const field3 = document.getElementById("field-3");
866
+ const field4 = document.getElementById("field-4");
867
+
868
+ btn2.addEventListener("click", () => {
869
+ showErrors2 = !showErrors2;
870
+
871
+ field3.setAttribute("validation-status", showErrors2 ? "error" : "");
872
+ field3.setAttribute(
873
+ "validation-text",
874
+ showErrors2 ? "Third error message" : ""
875
+ );
876
+
877
+ field4.setAttribute("validation-status", showErrors2 ? "error" : "");
878
+ field4.setAttribute(
879
+ "validation-text",
880
+ showErrors2 ? "Fourth error message" : ""
881
+ );
882
+ });
883
+ </script>`,
884
+
885
+ name: "Aria-live behaviour",
886
+ };
887
+
803
888
  export const TextAreaWithResize = {
804
889
  render: (args) =>
805
890
  html`<ic-text-field
@@ -869,6 +954,8 @@ export const MinAndMax = {
869
954
  type="number"
870
955
  min-message="You must order at least 1 coffee"
871
956
  max-message="You cannot order more than 4 coffees"
957
+ min="1"
958
+ max="4"
872
959
  >
873
960
  </ic-text-field>`,
874
961
 
@@ -913,8 +1000,8 @@ export const MaximumAndMinimumCharacters = {
913
1000
  </ic-text-field>
914
1001
  <br />
915
1002
  <ic-text-field
916
- min-characters="{2}"
917
- max-characters="{5}"
1003
+ min-characters="2"
1004
+ max-characters="5"
918
1005
  min-characters-message="Too short - please type at least 2 characters"
919
1006
  max-characters-message="5 characters is long enough"
920
1007
  label="What is your favourite coffee?"
@@ -924,6 +1011,8 @@ export const MaximumAndMinimumCharacters = {
924
1011
  name: "Maximum and minimum characters",
925
1012
  };
926
1013
 
1014
+ const inlineRadioSelector = "inline-radio";
1015
+
927
1016
  export const Playground = {
928
1017
  render: (args) =>
929
1018
  html`<div
@@ -962,6 +1051,7 @@ export const Playground = {
962
1051
  spellcheck=${args.spellcheck}
963
1052
  theme=${args.theme}
964
1053
  type=${args.type}
1054
+ validation-aria-live=${args.validationAriaLive}
965
1055
  validation-inline=${args.validationInline}
966
1056
  validation-status=${args.validationStatus === "no status"
967
1057
  ? ""
@@ -1015,7 +1105,7 @@ export const Playground = {
1015
1105
  options: ["medium", "small"],
1016
1106
 
1017
1107
  control: {
1018
- type: "inline-radio",
1108
+ type: inlineRadioSelector,
1019
1109
  },
1020
1110
  },
1021
1111
 
@@ -1027,6 +1117,14 @@ export const Playground = {
1027
1117
  },
1028
1118
  },
1029
1119
 
1120
+ validationAriaLive: {
1121
+ options: ["default", "polite", "assertive", "off"],
1122
+
1123
+ control: {
1124
+ type: inlineRadioSelector,
1125
+ },
1126
+ },
1127
+
1030
1128
  validationStatus: {
1031
1129
  options: ["no status", "warning", "error", "success"],
1032
1130
 
@@ -1045,7 +1143,7 @@ export const Playground = {
1045
1143
  options: ["inherit", "light", "dark"],
1046
1144
 
1047
1145
  control: {
1048
- type: "inline-radio",
1146
+ type: inlineRadioSelector,
1049
1147
  },
1050
1148
  },
1051
1149
  },
@@ -65,7 +65,7 @@ export class Theme {
65
65
  }
66
66
  render() {
67
67
  const { themeClass } = this;
68
- return (h(Host, { key: 'ee89cdd36cb4cb7e0589dfea2dd5a60b5de40041', class: themeClass }, h("slot", { key: 'e7803bf5fc0974bfcf9a2a52cb5870254453a1bd' })));
68
+ return (h(Host, { key: '5acfd70fc7d5cec478027487b121829ad9258623', class: themeClass }, h("slot", { key: '962d9fdd42ceb26a48c49a06aa3df3cb13bb9157' })));
69
69
  }
70
70
  static get is() { return "ic-theme"; }
71
71
  static get properties() {
@@ -202,13 +202,13 @@ export class Toast {
202
202
  }
203
203
  render() {
204
204
  const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, } = this;
205
- return (h(Host, { key: 'ced9ccd739749f996c2c9a116bffa32cf19dbec1', 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: 'cb61a3180810c26fa2b2e093f9bef2887a876d0e', class: "container" }, variant && visible && (h("div", { key: 'b4fa17e0010310b293431201e9149b182ba3bd23', class: "toast-icon-container" }, h("div", { key: '70d2193d9b7ebad46c05bb50839c1d2f512d004e', class: {
205
+ return (h(Host, { key: '4e5a088492c0c9fb37f0ca2211d6f458be9e1318', 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: '5692e63d07ebc6ca0beaf89952f6dea339f46b28', class: "container" }, variant && visible && (h("div", { key: 'a1a33233e9436d44ed398a72519d25d37256d355', class: "toast-icon-container" }, h("div", { key: 'eea9ec3d6b4d330d07f0d9aff54b040b14406d41', class: {
206
206
  ["divider"]: true,
207
207
  [`divider-${variant}`]: true,
208
- } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: '6a78e344040bd9e5d5a20dd5922e97091a89f0bc', class: {
208
+ } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: '92552b4b1b4d5de15284d8f5382a56ed81a99d89', class: {
209
209
  ["toast-content"]: true,
210
210
  ["no-icon"]: variant === "neutral" && !isSlotUsed(this.el, "neutral-icon"),
211
- } }, h("div", { key: '6f9807f536c6f37b6868bc651fd0cc90bff3817f', class: "toast-text" }, h("ic-typography", { key: 'e86371c512f1413ec2482b0e8c88baa0357c346b', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: '593526ebb19c0fe0f9761b316ba75557f17dc545', variant: "body", class: "toast-message" }, visible && h("p", { key: '15b6099aeaca00f3124d80fad1ce94d396343d17' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: 'bda528607c243a094a3c61f509e12902133245e9', class: "toast-action-container" }, h("slot", { key: '35c924efff99f3882daaec3f3589057a67eb9d46', 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 })))));
211
+ } }, h("div", { key: '96b38beec1024b8c1eff1b86e823f1f95c1e574d', class: "toast-text" }, h("ic-typography", { key: 'aacffb589fd0e8180b0b72ad7d1315f4720e67ed', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: '6cbbb428be1211f1d730838a45cb17757d8af28a', variant: "body", class: "toast-message" }, visible && h("p", { key: '45191e3180d2b133071d727f515c3b16391ca681' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '4d3555d3dc5bb374ac8aa3c112e91da2da37c66d', class: "toast-action-container" }, h("slot", { key: '0fcefdc03a5ff6f20e589f74433e51ea25b2e929', 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-tertiary", "aria-label": dismissButtonAriaLabel })))));
212
212
  }
213
213
  static get is() { return "ic-toast"; }
214
214
  static get encapsulation() { return "shadow"; }