@ukic/web-components 3.0.0-alpha.14 → 3.0.0-alpha.15

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 (500) hide show
  1. package/dist/cjs/app-globals-1608a8a5.js +54 -0
  2. package/dist/cjs/app-globals-1608a8a5.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +3 -3
  4. package/dist/cjs/{helpers-08a9ec1c.js → helpers-7a599012.js} +2 -2
  5. package/dist/cjs/{helpers-08a9ec1c.js.map → helpers-7a599012.js.map} +1 -1
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  10. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-button_3.cjs.entry.js +3 -3
  15. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js +3 -3
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +7 -7
  19. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -3
  21. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-chip.cjs.entry.js +3 -3
  23. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
  25. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  28. package/dist/cjs/ic-dialog.cjs.entry.js +38 -47
  29. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  36. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +3 -3
  38. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  41. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js +20 -17
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -6
  48. package/dist/cjs/ic-page-header.cjs.entry.js +12 -11
  49. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-pagination-item.cjs.entry.js +4 -4
  51. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-pagination.cjs.entry.js +7 -7
  53. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
  55. package/dist/cjs/ic-radio-group.cjs.entry.js +7 -7
  56. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-search-bar.cjs.entry.js +3 -3
  59. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-section-container.cjs.entry.js +3 -3
  61. package/dist/cjs/ic-select.cjs.entry.js +8 -8
  62. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -7
  64. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-skeleton.cjs.entry.js +3 -3
  66. package/dist/cjs/ic-skip-link.cjs.entry.js +3 -3
  67. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -5
  68. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-step.cjs.entry.js +16 -16
  70. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-stepper.cjs.entry.js +4 -4
  72. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  73. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
  74. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -4
  75. package/dist/cjs/ic-tab-panel.cjs.entry.js +3 -3
  76. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-text-field.cjs.entry.js +33 -15
  79. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-theme.cjs.entry.js +3 -3
  81. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -2
  82. package/dist/cjs/ic-toast.cjs.entry.js +6 -6
  83. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -4
  85. package/dist/cjs/ic-toggle-button.cjs.entry.js +5 -5
  86. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -9
  88. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  90. package/dist/cjs/{index-d337cd8a.js → index-0236cc4b.js} +3 -1
  91. package/dist/cjs/index-0236cc4b.js.map +1 -0
  92. package/dist/cjs/loader.cjs.js +3 -3
  93. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  94. package/dist/collection/components/ic-button/ic-button.css +23 -13
  95. package/dist/collection/components/ic-button/ic-button.stories.js +5 -5
  96. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +1 -1
  97. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -0
  98. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +4 -0
  99. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +5 -5
  100. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  101. package/dist/collection/components/ic-chip/ic-chip.css +2 -2
  102. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +4 -0
  103. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +1 -1
  104. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  105. package/dist/collection/components/ic-dialog/ic-dialog.js +57 -66
  106. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  107. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +3 -2
  108. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +2 -1
  109. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +47 -49
  110. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +20 -16
  111. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  112. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  113. package/dist/collection/components/ic-page-header/ic-page-header.js +10 -9
  114. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  115. package/dist/collection/components/ic-pagination/ic-pagination.css +10 -2
  116. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  117. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +19 -3
  118. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  119. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  120. package/dist/collection/components/ic-radio-group/ic-radio-group.js +6 -6
  121. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  122. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -13
  123. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  124. package/dist/collection/components/ic-select/ic-select.css +11 -2
  125. package/dist/collection/components/ic-select/ic-select.js +5 -5
  126. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +10 -1
  127. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  128. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +45 -36
  129. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  130. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  131. package/dist/collection/components/ic-status-tag/ic-status-tag.css +1 -0
  132. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  133. package/dist/collection/components/ic-step/ic-step.css +6 -29
  134. package/dist/collection/components/ic-step/ic-step.js +13 -13
  135. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  136. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  137. package/dist/collection/components/ic-tab/ic-tab.css +13 -3
  138. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  139. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  140. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  141. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -0
  142. package/dist/collection/components/ic-text-field/ic-text-field.js +111 -13
  143. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  144. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +195 -9
  145. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  146. package/dist/collection/components/ic-toast/ic-toast.css +1 -1
  147. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  148. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  149. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +1 -1
  150. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  151. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  152. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +5 -1
  153. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +2 -6
  154. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  155. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +5 -1
  156. package/dist/components/ic-badge.js +1 -1
  157. package/dist/components/ic-badge.js.map +1 -1
  158. package/dist/components/ic-button2.js +1 -1
  159. package/dist/components/ic-button2.js.map +1 -1
  160. package/dist/components/ic-card-vertical.js +1 -1
  161. package/dist/components/ic-card-vertical.js.map +1 -1
  162. package/dist/components/ic-checkbox-group.js +5 -5
  163. package/dist/components/ic-checkbox-group.js.map +1 -1
  164. package/dist/components/ic-checkbox.js +1 -1
  165. package/dist/components/ic-checkbox.js.map +1 -1
  166. package/dist/components/ic-chip.js +1 -1
  167. package/dist/components/ic-chip.js.map +1 -1
  168. package/dist/components/ic-classification-banner.js +2 -2
  169. package/dist/components/ic-classification-banner.js.map +1 -1
  170. package/dist/components/ic-dialog.js +38 -47
  171. package/dist/components/ic-dialog.js.map +1 -1
  172. package/dist/components/ic-input-component-container2.js +1 -1
  173. package/dist/components/ic-input-component-container2.js.map +1 -1
  174. package/dist/components/ic-navigation-group.js +19 -15
  175. package/dist/components/ic-navigation-group.js.map +1 -1
  176. package/dist/components/ic-navigation-menu2.js +4 -4
  177. package/dist/components/ic-page-header.js +10 -9
  178. package/dist/components/ic-page-header.js.map +1 -1
  179. package/dist/components/ic-pagination-item2.js +2 -2
  180. package/dist/components/ic-pagination-item2.js.map +1 -1
  181. package/dist/components/ic-pagination.js +5 -5
  182. package/dist/components/ic-pagination.js.map +1 -1
  183. package/dist/components/ic-popover-menu.js +4 -4
  184. package/dist/components/ic-radio-group.js +5 -5
  185. package/dist/components/ic-radio-group.js.map +1 -1
  186. package/dist/components/ic-radio-option.js.map +1 -1
  187. package/dist/components/ic-search-bar.js +1 -1
  188. package/dist/components/ic-search-bar.js.map +1 -1
  189. package/dist/components/ic-section-container2.js +2 -2
  190. package/dist/components/ic-select.js +6 -6
  191. package/dist/components/ic-select.js.map +1 -1
  192. package/dist/components/ic-side-navigation.js +5 -5
  193. package/dist/components/ic-side-navigation.js.map +1 -1
  194. package/dist/components/ic-skeleton.js +2 -2
  195. package/dist/components/ic-skip-link.js +2 -2
  196. package/dist/components/ic-status-tag.js +3 -3
  197. package/dist/components/ic-status-tag.js.map +1 -1
  198. package/dist/components/ic-step.js +14 -14
  199. package/dist/components/ic-step.js.map +1 -1
  200. package/dist/components/ic-stepper.js +2 -2
  201. package/dist/components/ic-switch.js +4 -4
  202. package/dist/components/ic-tab-context.js +1 -1
  203. package/dist/components/ic-tab-group.js +2 -2
  204. package/dist/components/ic-tab-panel.js +2 -2
  205. package/dist/components/ic-tab.js +1 -1
  206. package/dist/components/ic-tab.js.map +1 -1
  207. package/dist/components/ic-text-field.js +35 -13
  208. package/dist/components/ic-text-field.js.map +1 -1
  209. package/dist/components/ic-theme.js +1 -1
  210. package/dist/components/ic-toast-region.js +1 -1
  211. package/dist/components/ic-toast.js +4 -4
  212. package/dist/components/ic-toast.js.map +1 -1
  213. package/dist/components/ic-toggle-button-group.js +2 -2
  214. package/dist/components/ic-toggle-button.js +3 -3
  215. package/dist/components/ic-toggle-button.js.map +1 -1
  216. package/dist/components/ic-top-navigation.js +3 -7
  217. package/dist/components/ic-top-navigation.js.map +1 -1
  218. package/dist/components/index.js +50 -0
  219. package/dist/components/index.js.map +1 -1
  220. package/dist/core/core.css +347 -245
  221. package/dist/core/core.esm.js +1 -1
  222. package/dist/core/core.esm.js.map +1 -1
  223. package/dist/core/p-03248270.entry.js +2 -0
  224. package/dist/core/p-03248270.entry.js.map +1 -0
  225. package/dist/core/p-0e5e9a11.entry.js +2 -0
  226. package/dist/core/p-0e5e9a11.entry.js.map +1 -0
  227. package/dist/core/{p-0f34465d.entry.js → p-115a684f.entry.js} +2 -2
  228. package/dist/core/p-1446973e.js +2 -0
  229. package/dist/core/p-1446973e.js.map +1 -0
  230. package/dist/core/p-167834c7.entry.js +2 -0
  231. package/dist/core/p-167834c7.entry.js.map +1 -0
  232. package/dist/core/{p-4e4014cd.entry.js → p-2180f2d1.entry.js} +2 -2
  233. package/dist/core/{p-8856dff4.entry.js → p-22eed13e.entry.js} +2 -2
  234. package/dist/core/p-26c50065.entry.js +2 -0
  235. package/dist/core/p-26c50065.entry.js.map +1 -0
  236. package/dist/core/{p-e25feba1.entry.js → p-2af04ace.entry.js} +2 -2
  237. package/dist/core/{p-e25feba1.entry.js.map → p-2af04ace.entry.js.map} +1 -1
  238. package/dist/core/{p-196e3d33.entry.js → p-2dd6e5bb.entry.js} +2 -2
  239. package/dist/core/p-2dd6e5bb.entry.js.map +1 -0
  240. package/dist/core/{p-fbce5f9a.entry.js → p-2f30c66a.entry.js} +2 -2
  241. package/dist/core/{p-dce2c5e8.entry.js → p-30b56108.entry.js} +2 -2
  242. package/dist/core/p-3373b7c4.entry.js +2 -0
  243. package/dist/core/p-3373b7c4.entry.js.map +1 -0
  244. package/dist/core/{p-e3be3502.entry.js → p-33c4851a.entry.js} +2 -2
  245. package/dist/core/p-38dfe702.entry.js +2 -0
  246. package/dist/core/p-38dfe702.entry.js.map +1 -0
  247. package/dist/core/{p-c19cdc86.entry.js → p-44594b52.entry.js} +2 -2
  248. package/dist/core/{p-72140621.entry.js → p-4681ab85.entry.js} +2 -2
  249. package/dist/core/{p-78c3ca49.entry.js → p-51aa5330.entry.js} +2 -2
  250. package/dist/core/p-54100d6b.entry.js +2 -0
  251. package/dist/core/p-54f6ad93.entry.js +2 -0
  252. package/dist/core/p-54f6ad93.entry.js.map +1 -0
  253. package/dist/core/p-5537abe7.entry.js +2 -0
  254. package/dist/core/p-5537abe7.entry.js.map +1 -0
  255. package/dist/core/{p-1fccec19.entry.js → p-56eb4f02.entry.js} +2 -2
  256. package/dist/core/p-5af75c16.entry.js +2 -0
  257. package/dist/core/p-5af75c16.entry.js.map +1 -0
  258. package/dist/core/p-5d944741.entry.js +2 -0
  259. package/dist/core/p-5d944741.entry.js.map +1 -0
  260. package/dist/core/p-5ee41fb7.entry.js +2 -0
  261. package/dist/core/p-5ee41fb7.entry.js.map +1 -0
  262. package/dist/core/{p-c3785d57.entry.js → p-5f9a9490.entry.js} +2 -2
  263. package/dist/core/{p-2cb55e86.entry.js → p-62a3ddd1.entry.js} +2 -2
  264. package/dist/core/{p-df56bc50.entry.js → p-6ab9a62b.entry.js} +2 -2
  265. package/dist/core/{p-9206379d.entry.js → p-702166d2.entry.js} +2 -2
  266. package/dist/core/{p-27de359f.entry.js → p-79e9381d.entry.js} +2 -2
  267. package/dist/core/p-79fef925.js +3 -0
  268. package/dist/core/p-79fef925.js.map +1 -0
  269. package/dist/core/p-7acf9ff5.entry.js +2 -0
  270. package/dist/core/p-7acf9ff5.entry.js.map +1 -0
  271. package/dist/core/{p-5fa5ba50.entry.js → p-7b1869e9.entry.js} +2 -2
  272. package/dist/core/{p-9ee2fe04.entry.js → p-7e243134.entry.js} +2 -2
  273. package/dist/core/{p-111b3186.entry.js → p-8db464d3.entry.js} +2 -2
  274. package/dist/core/{p-55eb89cc.entry.js → p-8faa9411.entry.js} +2 -2
  275. package/dist/core/p-8faa9411.entry.js.map +1 -0
  276. package/dist/core/{p-8870d5d8.entry.js → p-8fbcf586.entry.js} +2 -2
  277. package/dist/core/{p-bfee1e84.entry.js → p-9b3be8b9.entry.js} +2 -2
  278. package/dist/core/{p-5b7d8ee9.entry.js → p-9f6cfe53.entry.js} +2 -2
  279. package/dist/core/{p-98f906ba.entry.js → p-a3607521.entry.js} +2 -2
  280. package/dist/core/{p-59fc58e1.entry.js → p-a509a2ac.entry.js} +2 -2
  281. package/dist/core/p-b34dffde.entry.js +2 -0
  282. package/dist/core/p-b34dffde.entry.js.map +1 -0
  283. package/dist/core/{p-1d6638c8.entry.js → p-b504da19.entry.js} +2 -2
  284. package/dist/core/p-b504da19.entry.js.map +1 -0
  285. package/dist/core/{p-a56ec6d8.entry.js → p-b8b0146c.entry.js} +2 -2
  286. package/dist/core/{p-f486d4f4.entry.js → p-b8d90c6d.entry.js} +2 -2
  287. package/dist/core/p-b9827aa1.entry.js +2 -0
  288. package/dist/core/p-b9827aa1.entry.js.map +1 -0
  289. package/dist/core/{p-180ea8ac.entry.js → p-c23d8e7f.entry.js} +2 -2
  290. package/dist/core/{p-ce0fb53a.entry.js → p-c7321a55.entry.js} +2 -2
  291. package/dist/core/{p-94748b96.entry.js → p-cb0b0d39.entry.js} +2 -2
  292. package/dist/core/{p-bd802c2f.entry.js → p-cccf78f3.entry.js} +2 -2
  293. package/dist/core/{p-144a31ec.entry.js → p-d15aa9a1.entry.js} +2 -2
  294. package/dist/core/{p-90de3f5d.entry.js → p-d5054edb.entry.js} +2 -2
  295. package/dist/core/p-d5054edb.entry.js.map +1 -0
  296. package/dist/core/{p-269f841d.js → p-db4c581c.js} +2 -2
  297. package/dist/core/p-e3314b15.entry.js +2 -0
  298. package/dist/core/p-e3314b15.entry.js.map +1 -0
  299. package/dist/core/{p-47b46637.entry.js → p-e4f34246.entry.js} +2 -2
  300. package/dist/core/{p-30a262d2.entry.js → p-e54842c7.entry.js} +2 -2
  301. package/dist/core/p-e54842c7.entry.js.map +1 -0
  302. package/dist/core/{p-40bc1f3e.entry.js → p-e758962b.entry.js} +2 -2
  303. package/dist/core/p-e758962b.entry.js.map +1 -0
  304. package/dist/core/{p-67d47db4.entry.js → p-e97d282e.entry.js} +2 -2
  305. package/dist/core/p-ecf68c88.entry.js +2 -0
  306. package/dist/core/p-ecf68c88.entry.js.map +1 -0
  307. package/dist/core/{p-999102ee.entry.js → p-f27ae8e6.entry.js} +2 -2
  308. package/dist/core/{p-78c51cba.entry.js → p-f482f6d9.entry.js} +2 -2
  309. package/dist/core/{p-4a5ab31e.entry.js → p-f6e19998.entry.js} +2 -2
  310. package/dist/core/{p-22d88d2f.entry.js → p-ff6f7f3e.entry.js} +2 -2
  311. package/dist/core/p-ff6f7f3e.entry.js.map +1 -0
  312. package/dist/esm/app-globals-85eb2251.js +52 -0
  313. package/dist/esm/app-globals-85eb2251.js.map +1 -0
  314. package/dist/esm/core.js +4 -4
  315. package/dist/esm/{helpers-de6293bf.js → helpers-0bd0d9f3.js} +2 -2
  316. package/dist/esm/{helpers-de6293bf.js.map → helpers-0bd0d9f3.js.map} +1 -1
  317. package/dist/esm/ic-accordion-group.entry.js +2 -2
  318. package/dist/esm/ic-accordion.entry.js +2 -2
  319. package/dist/esm/ic-alert.entry.js +2 -2
  320. package/dist/esm/ic-back-to-top.entry.js +2 -2
  321. package/dist/esm/ic-badge.entry.js +3 -3
  322. package/dist/esm/ic-badge.entry.js.map +1 -1
  323. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  324. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  325. package/dist/esm/ic-button_3.entry.js +3 -3
  326. package/dist/esm/ic-button_3.entry.js.map +1 -1
  327. package/dist/esm/ic-card-vertical.entry.js +3 -3
  328. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  329. package/dist/esm/ic-checkbox-group.entry.js +7 -7
  330. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  331. package/dist/esm/ic-checkbox.entry.js +3 -3
  332. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  333. package/dist/esm/ic-chip.entry.js +3 -3
  334. package/dist/esm/ic-chip.entry.js.map +1 -1
  335. package/dist/esm/ic-classification-banner.entry.js +3 -3
  336. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  337. package/dist/esm/ic-data-list.entry.js +1 -1
  338. package/dist/esm/ic-data-row.entry.js +2 -2
  339. package/dist/esm/ic-dialog.entry.js +38 -47
  340. package/dist/esm/ic-dialog.entry.js.map +1 -1
  341. package/dist/esm/ic-divider.entry.js +2 -2
  342. package/dist/esm/ic-empty-state.entry.js +2 -2
  343. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  344. package/dist/esm/ic-footer-link.entry.js +2 -2
  345. package/dist/esm/ic-footer.entry.js +2 -2
  346. package/dist/esm/ic-hero.entry.js +2 -2
  347. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  348. package/dist/esm/ic-input-component-container_3.entry.js +3 -3
  349. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  350. package/dist/esm/ic-input-label_2.entry.js +2 -2
  351. package/dist/esm/ic-link.entry.js +2 -2
  352. package/dist/esm/ic-menu-group.entry.js +2 -2
  353. package/dist/esm/ic-menu-item.entry.js +2 -2
  354. package/dist/esm/ic-navigation-button.entry.js +2 -2
  355. package/dist/esm/ic-navigation-group.entry.js +20 -17
  356. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  357. package/dist/esm/ic-navigation-item.entry.js +2 -2
  358. package/dist/esm/ic-navigation-menu.entry.js +6 -6
  359. package/dist/esm/ic-page-header.entry.js +12 -11
  360. package/dist/esm/ic-page-header.entry.js.map +1 -1
  361. package/dist/esm/ic-pagination-item.entry.js +4 -4
  362. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  363. package/dist/esm/ic-pagination.entry.js +7 -7
  364. package/dist/esm/ic-pagination.entry.js.map +1 -1
  365. package/dist/esm/ic-popover-menu.entry.js +6 -6
  366. package/dist/esm/ic-radio-group.entry.js +7 -7
  367. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  368. package/dist/esm/ic-radio-option.entry.js +2 -2
  369. package/dist/esm/ic-search-bar.entry.js +3 -3
  370. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  371. package/dist/esm/ic-section-container.entry.js +3 -3
  372. package/dist/esm/ic-select.entry.js +8 -8
  373. package/dist/esm/ic-select.entry.js.map +1 -1
  374. package/dist/esm/ic-side-navigation.entry.js +7 -7
  375. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  376. package/dist/esm/ic-skeleton.entry.js +3 -3
  377. package/dist/esm/ic-skip-link.entry.js +3 -3
  378. package/dist/esm/ic-status-tag.entry.js +5 -5
  379. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  380. package/dist/esm/ic-step.entry.js +16 -16
  381. package/dist/esm/ic-step.entry.js.map +1 -1
  382. package/dist/esm/ic-stepper.entry.js +4 -4
  383. package/dist/esm/ic-switch.entry.js +6 -6
  384. package/dist/esm/ic-tab-context.entry.js +2 -2
  385. package/dist/esm/ic-tab-group.entry.js +4 -4
  386. package/dist/esm/ic-tab-panel.entry.js +3 -3
  387. package/dist/esm/ic-tab.entry.js +3 -3
  388. package/dist/esm/ic-tab.entry.js.map +1 -1
  389. package/dist/esm/ic-text-field.entry.js +33 -15
  390. package/dist/esm/ic-text-field.entry.js.map +1 -1
  391. package/dist/esm/ic-theme.entry.js +3 -3
  392. package/dist/esm/ic-toast-region.entry.js +2 -2
  393. package/dist/esm/ic-toast.entry.js +6 -6
  394. package/dist/esm/ic-toast.entry.js.map +1 -1
  395. package/dist/esm/ic-toggle-button-group.entry.js +4 -4
  396. package/dist/esm/ic-toggle-button.entry.js +5 -5
  397. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  398. package/dist/esm/ic-top-navigation.entry.js +5 -9
  399. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  400. package/dist/esm/ic-typography.entry.js +2 -2
  401. package/dist/esm/{index-a7a720e7.js → index-0eefab7d.js} +3 -2
  402. package/dist/esm/index-0eefab7d.js.map +1 -0
  403. package/dist/esm/loader.js +4 -4
  404. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -1
  405. package/dist/types/components/ic-dialog/ic-dialog.d.ts +4 -4
  406. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +3 -2
  407. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +1 -1
  408. package/dist/types/components/ic-text-field/ic-text-field.d.ts +17 -1
  409. package/dist/types/components.d.ts +48 -16
  410. package/hydrate/index.js +244 -181
  411. package/hydrate/index.mjs +244 -181
  412. package/package.json +2 -2
  413. package/vscode-data.json +24 -8
  414. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  415. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  416. package/dist/cjs/index-d337cd8a.js.map +0 -1
  417. package/dist/core/p-08fbea60.entry.js +0 -2
  418. package/dist/core/p-08fbea60.entry.js.map +0 -1
  419. package/dist/core/p-196e3d33.entry.js.map +0 -1
  420. package/dist/core/p-1d6638c8.entry.js.map +0 -1
  421. package/dist/core/p-1d9a929b.entry.js +0 -2
  422. package/dist/core/p-1d9a929b.entry.js.map +0 -1
  423. package/dist/core/p-1dc0c174.entry.js +0 -2
  424. package/dist/core/p-1dc0c174.entry.js.map +0 -1
  425. package/dist/core/p-22d88d2f.entry.js.map +0 -1
  426. package/dist/core/p-30a262d2.entry.js.map +0 -1
  427. package/dist/core/p-39bf060d.entry.js +0 -2
  428. package/dist/core/p-39bf060d.entry.js.map +0 -1
  429. package/dist/core/p-40bc1f3e.entry.js.map +0 -1
  430. package/dist/core/p-55eb89cc.entry.js.map +0 -1
  431. package/dist/core/p-625f914e.entry.js +0 -2
  432. package/dist/core/p-625f914e.entry.js.map +0 -1
  433. package/dist/core/p-7ea79205.entry.js +0 -2
  434. package/dist/core/p-7ea79205.entry.js.map +0 -1
  435. package/dist/core/p-8b928cc9.entry.js +0 -2
  436. package/dist/core/p-8b928cc9.entry.js.map +0 -1
  437. package/dist/core/p-8d1bee7a.entry.js +0 -2
  438. package/dist/core/p-8d1bee7a.entry.js.map +0 -1
  439. package/dist/core/p-8e4e97b4.js +0 -3
  440. package/dist/core/p-8e4e97b4.js.map +0 -1
  441. package/dist/core/p-8f319e1e.entry.js +0 -2
  442. package/dist/core/p-8f319e1e.entry.js.map +0 -1
  443. package/dist/core/p-90de3f5d.entry.js.map +0 -1
  444. package/dist/core/p-912c8594.entry.js +0 -2
  445. package/dist/core/p-912c8594.entry.js.map +0 -1
  446. package/dist/core/p-9b741f96.entry.js +0 -2
  447. package/dist/core/p-9b741f96.entry.js.map +0 -1
  448. package/dist/core/p-9dbe3f3e.entry.js +0 -2
  449. package/dist/core/p-9dbe3f3e.entry.js.map +0 -1
  450. package/dist/core/p-a9fd6dcf.entry.js +0 -2
  451. package/dist/core/p-a9fd6dcf.entry.js.map +0 -1
  452. package/dist/core/p-b594bf26.entry.js +0 -2
  453. package/dist/core/p-b594bf26.entry.js.map +0 -1
  454. package/dist/core/p-c7be6679.entry.js +0 -2
  455. package/dist/core/p-caa46d81.entry.js +0 -2
  456. package/dist/core/p-caa46d81.entry.js.map +0 -1
  457. package/dist/core/p-d80f3ec1.entry.js +0 -2
  458. package/dist/core/p-d80f3ec1.entry.js.map +0 -1
  459. package/dist/core/p-e1255160.js +0 -2
  460. package/dist/core/p-e1255160.js.map +0 -1
  461. package/dist/esm/app-globals-0f993ce5.js +0 -5
  462. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  463. package/dist/esm/index-a7a720e7.js.map +0 -1
  464. /package/dist/core/{p-0f34465d.entry.js.map → p-115a684f.entry.js.map} +0 -0
  465. /package/dist/core/{p-4e4014cd.entry.js.map → p-2180f2d1.entry.js.map} +0 -0
  466. /package/dist/core/{p-8856dff4.entry.js.map → p-22eed13e.entry.js.map} +0 -0
  467. /package/dist/core/{p-fbce5f9a.entry.js.map → p-2f30c66a.entry.js.map} +0 -0
  468. /package/dist/core/{p-dce2c5e8.entry.js.map → p-30b56108.entry.js.map} +0 -0
  469. /package/dist/core/{p-e3be3502.entry.js.map → p-33c4851a.entry.js.map} +0 -0
  470. /package/dist/core/{p-c19cdc86.entry.js.map → p-44594b52.entry.js.map} +0 -0
  471. /package/dist/core/{p-72140621.entry.js.map → p-4681ab85.entry.js.map} +0 -0
  472. /package/dist/core/{p-78c3ca49.entry.js.map → p-51aa5330.entry.js.map} +0 -0
  473. /package/dist/core/{p-c7be6679.entry.js.map → p-54100d6b.entry.js.map} +0 -0
  474. /package/dist/core/{p-1fccec19.entry.js.map → p-56eb4f02.entry.js.map} +0 -0
  475. /package/dist/core/{p-c3785d57.entry.js.map → p-5f9a9490.entry.js.map} +0 -0
  476. /package/dist/core/{p-2cb55e86.entry.js.map → p-62a3ddd1.entry.js.map} +0 -0
  477. /package/dist/core/{p-df56bc50.entry.js.map → p-6ab9a62b.entry.js.map} +0 -0
  478. /package/dist/core/{p-9206379d.entry.js.map → p-702166d2.entry.js.map} +0 -0
  479. /package/dist/core/{p-27de359f.entry.js.map → p-79e9381d.entry.js.map} +0 -0
  480. /package/dist/core/{p-5fa5ba50.entry.js.map → p-7b1869e9.entry.js.map} +0 -0
  481. /package/dist/core/{p-9ee2fe04.entry.js.map → p-7e243134.entry.js.map} +0 -0
  482. /package/dist/core/{p-111b3186.entry.js.map → p-8db464d3.entry.js.map} +0 -0
  483. /package/dist/core/{p-8870d5d8.entry.js.map → p-8fbcf586.entry.js.map} +0 -0
  484. /package/dist/core/{p-bfee1e84.entry.js.map → p-9b3be8b9.entry.js.map} +0 -0
  485. /package/dist/core/{p-5b7d8ee9.entry.js.map → p-9f6cfe53.entry.js.map} +0 -0
  486. /package/dist/core/{p-98f906ba.entry.js.map → p-a3607521.entry.js.map} +0 -0
  487. /package/dist/core/{p-59fc58e1.entry.js.map → p-a509a2ac.entry.js.map} +0 -0
  488. /package/dist/core/{p-a56ec6d8.entry.js.map → p-b8b0146c.entry.js.map} +0 -0
  489. /package/dist/core/{p-f486d4f4.entry.js.map → p-b8d90c6d.entry.js.map} +0 -0
  490. /package/dist/core/{p-180ea8ac.entry.js.map → p-c23d8e7f.entry.js.map} +0 -0
  491. /package/dist/core/{p-ce0fb53a.entry.js.map → p-c7321a55.entry.js.map} +0 -0
  492. /package/dist/core/{p-94748b96.entry.js.map → p-cb0b0d39.entry.js.map} +0 -0
  493. /package/dist/core/{p-bd802c2f.entry.js.map → p-cccf78f3.entry.js.map} +0 -0
  494. /package/dist/core/{p-144a31ec.entry.js.map → p-d15aa9a1.entry.js.map} +0 -0
  495. /package/dist/core/{p-269f841d.js.map → p-db4c581c.js.map} +0 -0
  496. /package/dist/core/{p-47b46637.entry.js.map → p-e4f34246.entry.js.map} +0 -0
  497. /package/dist/core/{p-67d47db4.entry.js.map → p-e97d282e.entry.js.map} +0 -0
  498. /package/dist/core/{p-999102ee.entry.js.map → p-f27ae8e6.entry.js.map} +0 -0
  499. /package/dist/core/{p-78c51cba.entry.js.map → p-f482f6d9.entry.js.map} +0 -0
  500. /package/dist/core/{p-4a5ab31e.entry.js.map → p-f6e19998.entry.js.map} +0 -0
@@ -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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","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 { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | undefined;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize: string | undefined = \"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: boolean | undefined = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el 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?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount?: boolean = 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?: boolean = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput?: boolean = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `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?: number = 0;\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?: number = 0;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly?: boolean = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize?: boolean = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | undefined;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows?: number = 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: boolean | undefined = 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?: boolean;\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?: boolean = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal?: boolean = false;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\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?: number = 0;\n\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: string = \"\";\n @State() initialValue = this.value;\n\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 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 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 const el = this.el.shadowRoot?.querySelector(\"ic-typography\");\n if (this.hideLabel || (el && el.classList.contains(\"hydrated\"))) {\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 this.maxCharactersWarning = this.maxCharactersReached;\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus() {\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! : false;\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 = (ev.target as HTMLInputElement).value;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters! > 0 ? this.numChars < this.minCharacters! : false;\n this.icBlur.emit({ value: value });\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: (ev.target as HTMLInputElement).value });\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 maxCharactersWarning,\n maxCharactersReached,\n minCharacters,\n minCharactersUnattained,\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 } = 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 ? `Maximum input is ${maxCharacters} characters`\n : maxValueExceeded\n ? `Maximum value of ${max} exceeded`\n : minValueUnattained\n ? `Minimum value of ${min} not met`\n : minCharactersUnattained\n ? `Minimum input is ${minCharacters} characters`\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText =\n this.hasStatus(currentStatus!) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows! > 1;\n\n const charsRemaining = maxNumChars! - numChars;\n const hiddenRemainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n const hiddenCharCountDescId =\n maxCharacters! > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const describedBy = `${hiddenCharCountDescId} ${getInputDescribedByText(\n inputId!,\n helperText !== \"\",\n showStatusText\n )}`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(\n true,\n this.el as HTMLElement,\n name!,\n value,\n disabledMode\n )\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": !!fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-text-field-disabled\": !!disabledMode,\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly: !!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={this.type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && !!readonly,\n readonly: !!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={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...this.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 ? placeholder : \"\"}\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 autocapitalize={this.autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus!) ||\n !isEmptyString(validationText!) ||\n maxNumChars! > 0 ||\n maxValueExceeded ||\n maxCharactersWarning ||\n minCharactersUnattained ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus!) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText! : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars! > 0 && (\n <div slot=\"validation-message-adornment\">\n {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span class=\"remaining-char-count-desc\" aria-live=\"polite\">\n {hiddenRemainingCharCountDesc}\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} 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 { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | undefined;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize: string | undefined = \"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: boolean | undefined = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el 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?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount?: boolean = 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?: boolean = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput?: boolean = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `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?: number = 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?: string = `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?: string = `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?: number = 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?: string = `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?: string = `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?: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly?: boolean = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize?: boolean = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | undefined;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows?: number = 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: boolean | undefined = 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?: boolean;\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?: boolean = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal?: boolean = 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?: number = 0;\n\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: string = \"\";\n @State() initialValue = this.value;\n\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 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 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 const el = this.el.shadowRoot?.querySelector(\"ic-typography\");\n if (this.hideLabel || (el && el.classList.contains(\"hydrated\"))) {\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 this.maxCharactersWarning = this.maxCharactersReached;\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus() {\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! : false;\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 = (ev.target as HTMLInputElement).value;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters! > 0 ? this.numChars < this.minCharacters! : false;\n this.icBlur.emit({ value: value });\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: (ev.target as HTMLInputElement).value });\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 } = this;\n\n const el = this.el as HTMLElement;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? maxCharactersMessage\n : maxValueExceeded\n ? maxMessage\n : minValueUnattained\n ? minMessage\n : minCharactersUnattained\n ? minCharactersMessage\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText =\n this.hasStatus(currentStatus!) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows! > 1;\n\n const charsRemaining = maxNumChars! - numChars;\n const hiddenRemainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n const hiddenCharCountDescId =\n maxCharacters! > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const describedBy = `${hiddenCharCountDescId} ${getInputDescribedByText(\n inputId!,\n helperText !== \"\",\n showStatusText\n )}`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(\n true,\n this.el as HTMLElement,\n name!,\n value,\n disabledMode\n )\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": !!fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-text-field-disabled\": !!disabledMode,\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly: !!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={this.type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && !!readonly,\n readonly: !!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={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...this.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 ? placeholder : \"\"}\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 autocapitalize={this.autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus!) ||\n !isEmptyString(validationText!) ||\n maxNumChars! > 0 ||\n maxValueExceeded ||\n maxCharactersWarning ||\n minCharactersUnattained ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus!) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText! : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars! > 0 && (\n <div slot=\"validation-message-adornment\">\n {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span class=\"remaining-char-count-desc\" aria-live=\"polite\">\n {hiddenRemainingCharCountDesc}\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"]}
@@ -5,6 +5,40 @@ export default {
5
5
  component: "ic-text-field",
6
6
  };
7
7
 
8
+ const defaultArgs = {
9
+ debounce: 0,
10
+ disabled: false,
11
+ fullWidth: false,
12
+ helperText: "",
13
+ hideCharCount: false,
14
+ hideLabel: false,
15
+ inputId: "ic-text-field-input-0",
16
+ inputmode: "text",
17
+ label: "Text Field",
18
+ max: 0,
19
+ maxCharacters: 0,
20
+ maxCharactersMessage: "Custom max characters validation message",
21
+ maxMessage: "Custom max validation message",
22
+ min: 0,
23
+ minCharacters: 0,
24
+ minCharactersMessage: "Custom min characters validation message",
25
+ minMessage: "Custom min validation message",
26
+ name: "0",
27
+ placeholder: "",
28
+ readonly: false,
29
+ required: false,
30
+ resize: false,
31
+ rows: 1,
32
+ size: "medium",
33
+ spellcheck: false,
34
+ theme: "inherit",
35
+ type: "text",
36
+ validationInline: false,
37
+ validationStatus: "none",
38
+ validationText: "",
39
+ value: "",
40
+ };
41
+
8
42
  export const Default = {
9
43
  render: (args) =>
10
44
  html`<ic-text-field label="What is your favourite coffee?"> </ic-text-field>
@@ -809,14 +843,23 @@ export const Form = {
809
843
  export const MinAndMax = {
810
844
  render: (args) =>
811
845
  html`<ic-text-field
812
- inputmode="numeric"
813
- label="How many coffees do you want?"
814
- helper-text="Our coffee machines have a maximum capacity of 4 coffees at a time."
815
- type="number"
816
- min="1"
817
- max="4"
818
- >
819
- </ic-text-field>`,
846
+ inputmode="numeric"
847
+ label="How many coffees do you want?"
848
+ helper-text="Our coffee machines have a maximum capacity of 4 coffees at a time."
849
+ type="number"
850
+ min="1"
851
+ max="4"
852
+ >
853
+ </ic-text-field>
854
+ <ic-text-field
855
+ inputmode="numeric"
856
+ label="How many coffees do you want?"
857
+ helper-text="With custom validation messages."
858
+ type="number"
859
+ min-message="You must order at least 1 coffee"
860
+ max-message="You cannot order more than 4 coffees"
861
+ >
862
+ </ic-text-field>`,
820
863
 
821
864
  name: "Min and max",
822
865
  };
@@ -856,7 +899,150 @@ export const MaximumAndMinimumCharacters = {
856
899
  label="What is your favourite coffee?"
857
900
  helper-text="Long answer please."
858
901
  >
859
- </ic-text-field> `,
902
+ </ic-text-field>
903
+ <br />
904
+ <ic-text-field
905
+ min-characters="{2}"
906
+ max-characters="{5}"
907
+ min-characters-message="Too short - please type at least 2 characters"
908
+ max-characters-message="5 characters is long enough"
909
+ label="What is your favourite coffee?"
910
+ helper-text="Long answer please. (With custom validation messages)"
911
+ ></ic-text-field>`,
860
912
 
861
913
  name: "Maximum and minimum characters",
862
914
  };
915
+
916
+ export const Playground = {
917
+ render: (args) =>
918
+ html`<div
919
+ style="background-color: ${args.theme === "light"
920
+ ? "white"
921
+ : args.theme === "dark"
922
+ ? "var(--ic-color-background-primary-dark)"
923
+ : "transparent"};
924
+ "
925
+ >
926
+ <ic-text-field
927
+ debounce=${args.debounce}
928
+ disabled=${args.disabled}
929
+ full-width=${args.fullWidth}
930
+ helper-text=${args.helperText}
931
+ hide-char-count=${args.hideCharCount}
932
+ hide-label=${args.hideLabel}
933
+ input-id=${args.inputId}
934
+ inputmode=${args.inputmode}
935
+ label=${args.label}
936
+ max=${args.max}
937
+ max-characters=${args.maxCharacters}
938
+ max-characters-message=${args.maxCharactersMessage}
939
+ max-message=${args.maxMessage}
940
+ min=${args.min}
941
+ min-characters=${args.minCharacters}
942
+ min-characters-message=${args.minCharactersMessage}
943
+ min-message=${args.minMessage}
944
+ name=${args.name}
945
+ placeholder=${args.placeholder}
946
+ readonly=${args.readonly}
947
+ required=${args.required}
948
+ resize=${args.resize}
949
+ rows=${args.rows}
950
+ size=${args.size}
951
+ spellcheck=${args.spellcheck}
952
+ theme=${args.theme}
953
+ type=${args.type}
954
+ validation-inline=${args.validationInline}
955
+ validation-status=${args.validationStatus}
956
+ validation-text=${args.validationText}
957
+ value=${args.value}
958
+ >
959
+ ${args.showIconSlot &&
960
+ html`<svg
961
+ slot="icon"
962
+ xmlns="http://www.w3.org/2000/svg"
963
+ height="24px"
964
+ viewBox="0 0 24 24"
965
+ width="24px"
966
+ fill="#000000"
967
+ >
968
+ <path d="M0 0h24v24H0z" fill="none" />
969
+ <path
970
+ d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z"
971
+ />
972
+ </svg>`}
973
+ </ic-text-field>
974
+ </div>
975
+ <script>
976
+ document
977
+ .querySelector("ic-text-field")
978
+ .addEventListener("icChange", (ev) => console.log(ev.detail.value));
979
+ </script>`,
980
+
981
+ args: defaultArgs,
982
+
983
+ argTypes: {
984
+ inputmode: {
985
+ options: [
986
+ "none",
987
+ "text",
988
+ "tel",
989
+ "url",
990
+ "email",
991
+ "numeric",
992
+ "decimal",
993
+ "search",
994
+ ],
995
+
996
+ control: {
997
+ type: "select",
998
+ },
999
+ },
1000
+
1001
+ size: {
1002
+ options: ["medium", "small"],
1003
+
1004
+ control: {
1005
+ type: "inline-radio",
1006
+ },
1007
+ },
1008
+
1009
+ type: {
1010
+ options: ["email", "password", "tel", "text", "url", "number", "search"],
1011
+
1012
+ control: {
1013
+ type: "select",
1014
+ },
1015
+ },
1016
+
1017
+ validationStatus: {
1018
+ options: ["warning", "error", "success", "none"],
1019
+
1020
+ mapping: {
1021
+ warning: "warning",
1022
+ error: "error",
1023
+ success: "success",
1024
+ none: "",
1025
+ },
1026
+
1027
+ control: {
1028
+ type: "select",
1029
+ },
1030
+ },
1031
+
1032
+ showIconSlot: {
1033
+ control: {
1034
+ type: "boolean",
1035
+ },
1036
+ },
1037
+
1038
+ theme: {
1039
+ options: ["inherit", "light", "dark"],
1040
+
1041
+ control: {
1042
+ type: "inline-radio",
1043
+ },
1044
+ },
1045
+ },
1046
+
1047
+ name: "Playground",
1048
+ };
@@ -64,7 +64,7 @@ export class Theme {
64
64
  }
65
65
  render() {
66
66
  const { themeClass } = this;
67
- return (h(Host, { key: '150b08cd6c8d10d97155b7f0869ccfdf118e4727', class: themeClass }, h("slot", { key: '40c1ae3e7ea1119db1df6b41dd16ab3d3800e6e7' })));
67
+ return (h(Host, { key: '8b3a86598f9539940fdfc534c4482246b043985c', class: themeClass }, h("slot", { key: '0d55a0ae9b75cfeccf0aa30bd31a2c3a09058ce7' })));
68
68
  }
69
69
  static get is() { return "ic-theme"; }
70
70
  static get properties() {
@@ -581,7 +581,7 @@ video {
581
581
 
582
582
  ic-loading-indicator {
583
583
  --outer-color: transparent;
584
- --inner-color: var(--ic-action-light);
584
+ --inner-color: var(--ic-action-monochrome);
585
585
  }
586
586
 
587
587
  .toast-dismiss-timer {
@@ -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: 'fa6a7d6728859eb5b7269aa107c1245f95e8c070', 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: 'bd9d63cf3aa162336af8c98c7b5ef0eef9727a05', class: "container" }, variant && visible && (h("div", { key: 'ab69806c35fc984bf2bccdb45f2568dd7e43b45c', class: "toast-icon-container" }, h("div", { key: 'f69c093a9d15bcf6592c39736657ea7d921b436b', class: {
205
+ return (h(Host, { key: '3bb9efd8ae3679ba4558b388a275d2cd634268b8', 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: '49277a9c418908cfd3eb9302bae684462e1c6d55', class: "container" }, variant && visible && (h("div", { key: '805dbac817d5a7e714ce5b4478e426144df02cb8', class: "toast-icon-container" }, h("div", { key: '769af7c12a009955bff31c02008f09530bc19a77', 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: '58c6b130bf233edf14a9306eded733671a9bcc7a', class: {
208
+ } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: 'b9987c78c1bdd2def39ecd64ad5a7acb19568a90', class: {
209
209
  ["toast-content"]: true,
210
210
  ["no-icon"]: variant === "neutral" && !isSlotUsed(this.el, "neutral-icon"),
211
- } }, h("div", { key: 'a99ef4a5497b62d3724f1c3001b592bee3b7c76f', class: "toast-text" }, h("ic-typography", { key: '08ff7bf5c471121d854cdc34d78ff42194c6a50d', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: '905b01333ed90c57a3e538b1fb9f10df970f1331', variant: "body", class: "toast-message" }, visible && h("p", { key: 'a54c00d59185300ec781bbc4d2cf8f19aaa695a9' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '56a80eeb87e7c886cb4dd31ec059020ff1ba820b', class: "toast-action-container" }, h("slot", { key: '4e09a9eaf12503e0bd377e112617e8390b1eac5e', 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: 'bda1df0dfb9e5a05a84ec6d825a4eef72978127e', class: "toast-text" }, h("ic-typography", { key: '9631f1f1ec54f4694cbe3d80849079d04d9e987e', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: '87dd87445e270972bab5d931c48b0ae2a70c94ad', variant: "body", class: "toast-message" }, visible && h("p", { key: 'bfe2daf83b1d9e62c4606a00c8615f1f899d0506' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '8041f14d81743cd478241aae8e4921b204d68745', class: "toast-action-container" }, h("slot", { key: '0d3cc468aeee3827643be5e0ae17791cd1332f84', 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 })))));
212
212
  }
213
213
  static get is() { return "ic-toast"; }
214
214
  static get encapsulation() { return "shadow"; }
@@ -40,7 +40,7 @@ export class ToastRegion {
40
40
  }
41
41
  }
42
42
  render() {
43
- return h("slot", { key: '209454da6ebc3e40c90956cae73550c9c7fe7af3' });
43
+ return h("slot", { key: '6dbc76c96060dfd2265e50d622e10ee5c2202b67' });
44
44
  }
45
45
  static get is() { return "ic-toast-region"; }
46
46
  static get properties() {
@@ -560,7 +560,7 @@ video {
560
560
 
561
561
  :host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,
562
562
  :host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus {
563
- box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),
563
+ box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-monochrome-dark),
564
564
  var(--ic-border-focus);
565
565
  }
566
566
 
@@ -131,7 +131,7 @@ export class ToggleButton {
131
131
  }
132
132
  }
133
133
  render() {
134
- return (h(Host, { key: 'c78713dd36d802105c7a3ed6ebfa544cecc5dd29', class: {
134
+ return (h(Host, { key: '3af5618d6fcc757a400771e528fb0cf9f6bca618', class: {
135
135
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
136
136
  ["ic-toggle-button-disabled"]: !!this.disabled,
137
137
  ["ic-toggle-button-checked"]: !!this.checked,
@@ -140,7 +140,7 @@ export class ToggleButton {
140
140
  ["ic-toggle-button-loading"]: !!this.loading,
141
141
  ["ic-toggle-button-monochrome"]: !!this.monochrome,
142
142
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
143
- }, onFocus: this.handleFocus }, h("ic-button", { key: 'cc47670cd6c3943dacbb6df162dd8cb4c5d44822', "aria-pressed": this.checked.toString(), variant: this.variant === "icon" ? "icon" : "secondary", onClick: this.handleClick, title: this.accessibleLabel, "aria-label": `${this.accessibleLabel ? this.accessibleLabel : this.label}, ${this.checked ? "ticked" : "unticked"}`, disabled: this.disabled, size: this.size, fullWidth: this.fullWidth, loading: this.loading, tooltipPlacement: this.tooltipPlacement }, this.variant !== "icon" && this.label, h("slot", { key: '8fe9637604ed05bf2e1515391b58c8bb7fece5c8' }), isSlotUsed(this.el, "icon") && (h("slot", { key: '935dbc29cb5f0433685f37cb9ed8233bdca72660', name: "icon", slot: `${this.iconPlacement}-icon` })), isSlotUsed(this.el, "badge") && (h("slot", { key: '56423a0b4de8dee8e329427189355ccc90884951', name: "badge", slot: "badge" })))));
143
+ }, onFocus: this.handleFocus }, h("ic-button", { key: 'ebdfe0fb37f690d9cfd1b3fac8a00bf07adcb4bf', "aria-pressed": this.checked.toString(), variant: this.variant === "icon" ? "icon" : "secondary", onClick: this.handleClick, title: this.accessibleLabel, "aria-label": `${this.accessibleLabel ? this.accessibleLabel : this.label}, ${this.checked ? "ticked" : "unticked"}`, disabled: this.disabled, size: this.size, fullWidth: this.fullWidth, loading: this.loading, tooltipPlacement: this.tooltipPlacement }, this.variant !== "icon" && this.label, h("slot", { key: '70d7727fa11def0e2a584cf4f109f478c7ea890b' }), isSlotUsed(this.el, "icon") && (h("slot", { key: '1ea0fbc98887941e6aa06c8424c6d32c70236238', name: "icon", slot: `${this.iconPlacement}-icon` })), isSlotUsed(this.el, "badge") && (h("slot", { key: '9d15b5e6e2dc70c046d0425738601bbcd20500e2', name: "badge", slot: "badge" })))));
144
144
  }
145
145
  static get is() { return "ic-toggle-button"; }
146
146
  static get encapsulation() { return "shadow"; }
@@ -231,14 +231,14 @@ export class ToggleButtonGroup {
231
231
  return Array.from(this.el.querySelectorAll("ic-toggle-button"));
232
232
  }
233
233
  render() {
234
- return (h(Host, { key: '5651ab98b697d63064e16adb92c98b85e84b9565', role: "group", "aria-label": this.accessibleLabel, tabindex: 0, class: {
234
+ return (h(Host, { key: '38b50c347fb706a9cf4f047bacf37141b68d2163', role: "group", "aria-label": this.accessibleLabel, tabindex: 0, class: {
235
235
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
236
236
  ["ic-toggle-button-group-full-width"]: !!this.fullWidth,
237
237
  ["ic-toggle-button-group-loading"]: !!this.loading,
238
238
  ["ic-toggle-button-group-disabled"]: this.disabled,
239
239
  [`ic-toggle-button-group-monochrome`]: !!this.monochrome,
240
240
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
241
- }, onFocus: this.handleHostFocus }, h("slot", { key: '7e873ee8e49dba8b00a8f3b4723178471e1f2ad4' })));
241
+ }, onFocus: this.handleHostFocus }, h("slot", { key: '5364b0056716f8a66296eb3a680961f8d2424b6d' })));
242
242
  }
243
243
  static get is() { return "ic-toggle-button-group"; }
244
244
  static get encapsulation() { return "shadow"; }
@@ -626,13 +626,17 @@ slot[name="toggle-icon"] svg {
626
626
 
627
627
  .menu-button-container .navigation-landmark-button-text {
628
628
  position: absolute;
629
- left: -10000px;
629
+ left: -9999px;
630
630
  top: auto;
631
631
  width: 1px;
632
632
  height: 1px;
633
633
  overflow: hidden;
634
634
  }
635
635
 
636
+ .menu-button-container .navigation-landmark-button-text:dir(rtl) {
637
+ right: -9999px;
638
+ }
639
+
636
640
  .search-actions-container {
637
641
  display: flex;
638
642
  }
@@ -210,13 +210,9 @@ export class TopNavigation {
210
210
  [`ic-theme-${theme}`]: theme !== "inherit",
211
211
  } }, h("div", { key: '3447c99cc05b7203ea80d0651f1ac066122697e1', class: "top-navigation" }, h("ic-section-container", { key: '563a2b3fc3c7d456fee7261c2d5645948301e953', aligned: contentAligned, "full-height": true }, h("header", { key: '61d58c8a68ff59cfa1b5cf75daef6c62b2b4692a', role: "banner" }, h("div", { key: '17108bd26152301bf07afe95a061debb23184e8b', class: "top-panel-container" }, h("div", { key: '86fe01bd6227bc0a1e1633cab7d6cff654e2a808', class: "app-details-container" }, (hasTitle || hasAppTitleSlot) && (h(Component, Object.assign({ key: 'c6f2a1ed6ce7b7813f12352401c89852d6646327', class: "title-link" }, attrs), hasAppIcon && (h("div", { key: 'c5a2e2961b16b5f5dc6e918ba6f758e7bce09cd7', class: "app-icon-container" }, h("slot", { key: '9b6d5636aa1f474bac2add8948bcd598f3d5c231', name: "app-icon" }))), deviceSize <= DEVICE_SIZES.S &&
212
212
  (!isEmptyString(shortAppTitle) || shortAppTitleSlot) ? (h("ic-typography", { variant: "subtitle-small", "aria-label": (!hasAppTitleSlot || !shortAppTitleSlot) &&
213
- `${appTitle} (${shortAppTitle})` }, h("h1", null, shortAppTitleSlot ? (h("slot", { name: "short-app-title" })) : (shortAppTitle)))) : (h("ic-typography", { variant: appTitleVariant }, h("h1", { class: "title-wrap" }, hasAppTitleSlot ? (h("slot", { name: "app-title" })) : (appTitle)))))), hasStatus && (h("div", { key: 'f4365e21d3de5cc7c0f7c6f62a64c3fa0a7415bb', class: "app-status" }, h("ic-typography", { key: '9d03f72e0533c1d721142cba78ba216c9abf61c5', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), hasVersion && (h("div", { key: '318b6cf7cd4359429a6d698d40e3b99f46ac67e0', class: "app-version" }, h("ic-typography", { key: '67cc4163765fb967729ba4fa03e857c1b0cc96e3', variant: "label", class: "app-version-text", "aria-label": "app version" }, version)))), (hasSearchSlotContent || hasMenuContent) && (h("div", { key: '0f8ce1b2c3a0cf3f3bbbe2d0285324935e5b1676', class: "search-menu-container" }, h("div", { key: 'a4033e992457aa434c705d0e35d24c9efb291195', class: "search-actions-container" }, !overMobileBreakpoint && h("slot", { key: 'd9347964c2972b338c4e09833ab94f820d8b49c8', name: "search" }), hasSearchSlotContent && overMobileBreakpoint && (h("ic-button", { key: '2a3abd194a9b28efc44cf5a41151693eb718010e', id: "search-toggle-button", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: searchButtonMouseDownHandler, variant: "icon-tertiary", monochrome: true, size: searchButtonSize, "aria-label": mobileSearchButtonTitle, theme: foregroundColor == IcBrandForegroundEnum.Light
214
- ? IcBrandForegroundEnum.Dark
215
- : IcBrandForegroundEnum.Light, onClick: searchButtonClickHandler }, h("slot", { key: 'c16f8b29d593012ed8dd2b4b445d31dd82d480ba', name: "toggle-icon" }, h("svg", { key: '15d23b9c31988779b6de7b70bd25034eba481ba0', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#ffffff" }, h("path", { key: '6ea762e76e64bda987fc499de9b3824bd8ac51e4', d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { key: 'f3d1542e3882a2181b2878a3f8efffefa25364da', d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }))))), hasIconButtons && !overMobileBreakpoint && (h("div", { key: '1f7983df6dec97f32f424bcedc8a7f535dcb32f1', class: "icon-buttons-container" }, h("slot", { key: '6f4003a0878f3a117f8912cdb6c7c933da3a301c', name: "buttons" }))), hasMenuContent && overMobileBreakpoint && (h("div", { key: 'e1297f88b99a24cf167cb0b7b0a4e2e8a8af7fc5', class: "menu-button-container" }, h("span", { key: '2c3d59c6da504e06992c8ac9e28df5b9b1bfa9bd', id: "navigation-landmark-button-text", class: "navigation-landmark-button-text", "aria-hidden": "true" }, "Main navigation button"), h("nav", { key: 'd5b8883f1d10f224d59abf78a0f34d3a61270005', "aria-labelledby": "navigation-landmark-button-text", "aria-hidden": `${navMenuVisible}` }, h("ic-button", { key: '9ad9fb74ad3a9b0eeec6092e99c2ef8391aa9b11', id: "menu-button", theme: foregroundColor == IcBrandForegroundEnum.Light
216
- ? IcBrandForegroundEnum.Dark
217
- : IcBrandForegroundEnum.Light, variant: "secondary", monochrome: true, "aria-expanded": "false", "aria-haspopup": "true", "aria-label": `Open ${hasNavigation ? "navigation" : "app"} menu`, size: menuSize, onClick: menuButtonClick }, "Menu", h("svg", { key: 'ded3f2e5f78a55707eede6d016e98e844af16eb1', xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#ffffff", slot: "left-icon" }, h("path", { key: 'b4fddeaafdf0461389ec523374090dfd7b73dac3', d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { key: 'd82f4575eccb93cd129ff89b926197fc916fa6c4', d: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" })))))))))), mobileSearchBarVisible && (h("div", { key: 'b0501b50966797481c17928a8c74b51067ce0704', class: "search-bar-container" }, h("slot", { key: '3efa664363b652768dac4edd539b9a12d7ce380d', name: "search" }))), hasNavigation && !overMobileBreakpoint && (h("div", { key: '2910033612e40f130aecbd481227b6b35696f8fa', class: "navigation-tabs" }, h("span", { key: '5985db842168ce13f23474ef2f6a12be41b2c3a4', id: "navigation-landmark-text", class: "navigation-landmark-text", "aria-hidden": "true" }, "Main pages"), h("nav", { key: 'd47d0ee9ebb470f648ac1174281b6b929963dda6', "aria-labelledby": "navigation-landmark-text", class: "nav-panel-container" }, h("ic-horizontal-scroll", { key: 'b7e46ecab3d288786f6bdbbdd5ba4c005a77d0a5', monochrome: true, appearance: foregroundColor }, h("ul", { key: 'b9298804c3faf2d1408814b07a4308ed5996d2fa', class: "navigation-item-list", tabindex: "-1" }, h("slot", { key: '0de95baf787a0590056083079f1a37d10582322a', name: "navigation" }))))))))), navMenuVisible && (h("ic-navigation-menu", { key: '2874e8759b549ad92e1d381fe392a3e06803219e', version: version, status: status, class: {
213
+ `${appTitle} (${shortAppTitle})` }, h("h1", null, shortAppTitleSlot ? (h("slot", { name: "short-app-title" })) : (shortAppTitle)))) : (h("ic-typography", { variant: appTitleVariant }, h("h1", { class: "title-wrap" }, hasAppTitleSlot ? (h("slot", { name: "app-title" })) : (appTitle)))))), hasStatus && (h("div", { key: 'f4365e21d3de5cc7c0f7c6f62a64c3fa0a7415bb', class: "app-status" }, h("ic-typography", { key: '9d03f72e0533c1d721142cba78ba216c9abf61c5', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), hasVersion && (h("div", { key: '318b6cf7cd4359429a6d698d40e3b99f46ac67e0', class: "app-version" }, h("ic-typography", { key: '67cc4163765fb967729ba4fa03e857c1b0cc96e3', variant: "label", class: "app-version-text", "aria-label": "app version" }, version)))), (hasSearchSlotContent || hasMenuContent) && (h("div", { key: '0f8ce1b2c3a0cf3f3bbbe2d0285324935e5b1676', class: "search-menu-container" }, h("div", { key: 'a4033e992457aa434c705d0e35d24c9efb291195', class: "search-actions-container" }, !overMobileBreakpoint && h("slot", { key: 'd9347964c2972b338c4e09833ab94f820d8b49c8', name: "search" }), hasSearchSlotContent && overMobileBreakpoint && (h("ic-button", { key: 'b980ecf6adf49457b2477865c98aac4e95ea4d8a', id: "search-toggle-button", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: searchButtonMouseDownHandler, variant: "icon-tertiary", monochrome: true, size: searchButtonSize, "aria-label": mobileSearchButtonTitle, theme: foregroundColor, onClick: searchButtonClickHandler }, h("slot", { key: '1488d2319238d970a190b867db0ccc85c026a94f', name: "toggle-icon" }, h("svg", { key: '67e8c1448faf4b9a78098bb8809c8d75135e7671', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#ffffff" }, h("path", { key: '2f04deb0ec8098168de56fab593d0e1b9d37639a', d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { key: '797b58f8ad7489b4cd149ae46b32ecce0c9a85cf', d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }))))), hasIconButtons && !overMobileBreakpoint && (h("div", { key: '173e7158dc1c4667be9442b7f64be140faebb102', class: "icon-buttons-container" }, h("slot", { key: 'afa131f570550779b8c52403c0f8abf90ba68369', name: "buttons" }))), hasMenuContent && overMobileBreakpoint && (h("div", { key: 'ca353958a7b441eeb82ecab62b3f0ba1de625fcc', class: "menu-button-container" }, h("span", { key: 'b13a1b5ba472b65d150a194bd7f2fb846d434b8b', id: "navigation-landmark-button-text", class: "navigation-landmark-button-text", "aria-hidden": "true" }, "Main navigation button"), h("nav", { key: '8c47f744b6aaa53afe14a09f78f8e231d7e5137b', "aria-labelledby": "navigation-landmark-button-text", "aria-hidden": `${navMenuVisible}` }, h("ic-button", { key: '4365bba111555335f4a04fb168d9e4659e0ca788', id: "menu-button", theme: foregroundColor, variant: "secondary", monochrome: true, "aria-expanded": "false", "aria-haspopup": "true", "aria-label": `Open ${hasNavigation ? "navigation" : "app"} menu`, size: menuSize, onClick: menuButtonClick }, "Menu", h("svg", { key: '05366f4016a367fd4ae143e044eb7401f2a23bbb', xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#ffffff", slot: "left-icon" }, h("path", { key: '40f079a4c147f2adfb5bbfe1b8bfeef64e444abe', d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { key: '0419ea11aee74c5993643dde955ca7ccbd836ad6', d: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" })))))))))), mobileSearchBarVisible && (h("div", { key: '160ea58b8338c6b09482bb5808afa93de039c2b4', class: "search-bar-container" }, h("slot", { key: 'a415f0c6a409b4dbea14697c8c63967ee4c05dcc', name: "search" }))), hasNavigation && !overMobileBreakpoint && (h("div", { key: 'db58d987843728204f3c08ffcc730bc9400c5f75', class: "navigation-tabs" }, h("span", { key: 'c27c1d0868d4acf6385e7b39060d42d04b617e28', id: "navigation-landmark-text", class: "navigation-landmark-text", "aria-hidden": "true" }, "Main pages"), h("nav", { key: 'a9d72cda63f8f15b2c5df447a6f544cf9637286a', "aria-labelledby": "navigation-landmark-text", class: "nav-panel-container" }, h("ic-horizontal-scroll", { key: '717a0f8855c98de7c688467b6e08acaf59a50f15', monochrome: true, appearance: foregroundColor }, h("ul", { key: '6e0a057b908929ceca9e5b6113590b7a596fe091', class: "navigation-item-list", tabindex: "-1" }, h("slot", { key: '401932642750d3d4cece6a886a1e6c4316c218c8', name: "navigation" }))))))))), navMenuVisible && (h("ic-navigation-menu", { key: '0816b74f63c67e9d6869cabeb7a45651ca0eb139', version: version, status: status, class: {
218
214
  ["inline"]: !!inline,
219
- } }, hasIconButtons && (h("div", { key: 'fac76dda5e049b25a748b4764b88e38652b4ea47', class: "menu-buttons-slot", slot: "buttons" }, h("slot", { key: '2764b8cd6c0aa44ff2021953906a1b8f3e6e3cb2', name: "buttons" }))), h("ul", { key: 'f492fdb06133f3717d4df00a33fad12701e0c58e', slot: "navigation" }, h("slot", { key: '57611b195adad0c9bc003fd38dc6c3389b7e345c', name: "navigation" }))))));
215
+ } }, hasIconButtons && (h("div", { key: '2bf599f25216d608a72e9e3b8537983419ad6a27', class: "menu-buttons-slot", slot: "buttons" }, h("slot", { key: '3483da6f4815d9f37d25ee021622c00c5a64af79', name: "buttons" }))), h("ul", { key: '92b83221e6e974101b0f1186fcae040a070e248f', slot: "navigation" }, h("slot", { key: 'f3f64918abe306948d0709cfac63abde69a61eae', name: "navigation" }))))));
220
216
  }
221
217
  static get is() { return "ic-top-navigation"; }
222
218
  static get encapsulation() { return "shadow"; }