@siemens/ix 2.6.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1128) hide show
  1. package/components/a11y.js.map +1 -1
  2. package/components/application-header.js +20 -11
  3. package/components/application-header.js.map +1 -1
  4. package/components/avatar.js.map +1 -1
  5. package/components/breadcrumb-item.js.map +1 -1
  6. package/components/button.js +2 -2
  7. package/components/button.js.map +1 -1
  8. package/components/card-content.js +2 -2
  9. package/components/card-content.js.map +1 -1
  10. package/components/card-title.js +2 -2
  11. package/components/card-title.js.map +1 -1
  12. package/components/card.js +1 -1
  13. package/components/card.js.map +1 -1
  14. package/components/date-picker.js +4 -4
  15. package/components/date-picker.js.map +1 -1
  16. package/components/divider.js +1 -1
  17. package/components/dropdown-item.js +3 -3
  18. package/components/dropdown.js +2 -2
  19. package/components/field-label.js +1 -1
  20. package/components/field-wrapper.js +2 -2
  21. package/components/filter-chip.js +2 -2
  22. package/components/filter-chip.js.map +1 -1
  23. package/components/group-context-menu.js +1 -1
  24. package/components/group-context-menu.js.map +1 -1
  25. package/components/group-item.js +2 -2
  26. package/components/icon-button.js +4 -4
  27. package/components/icon-button.js.map +1 -1
  28. package/components/index.js +4 -0
  29. package/components/index.js.map +1 -1
  30. package/components/index2.js +4 -0
  31. package/components/index2.js.map +1 -1
  32. package/components/input.util.js +26 -2
  33. package/components/input.util.js.map +1 -1
  34. package/components/ix-application-switch-modal.js +1 -1
  35. package/components/ix-application-switch-modal.js.map +1 -1
  36. package/components/ix-application.js +7 -3
  37. package/components/ix-application.js.map +1 -1
  38. package/components/ix-basic-navigation.js +2 -2
  39. package/components/ix-basic-navigation.js.map +1 -1
  40. package/components/ix-card-list.js +6 -6
  41. package/components/ix-card-list.js.map +1 -1
  42. package/components/ix-category-filter.js +4 -4
  43. package/components/ix-category-filter.js.map +1 -1
  44. package/components/ix-checkbox-group.js +2 -2
  45. package/components/ix-checkbox.js +5 -4
  46. package/components/ix-checkbox.js.map +1 -1
  47. package/components/ix-chip.js +5 -5
  48. package/components/ix-chip.js.map +1 -1
  49. package/components/ix-content.js +3 -3
  50. package/components/ix-css-grid-item.js +1 -1
  51. package/components/ix-css-grid-item.js.map +1 -1
  52. package/components/ix-custom-field.js +1 -1
  53. package/components/ix-date-dropdown.js +13 -5
  54. package/components/ix-date-dropdown.js.map +1 -1
  55. package/components/ix-date-input.js +10 -11
  56. package/components/ix-date-input.js.map +1 -1
  57. package/components/ix-drawer.js +2 -2
  58. package/components/ix-dropdown-header.js +1 -1
  59. package/components/ix-dropdown-header.js.map +1 -1
  60. package/components/ix-dropdown-quick-actions.js +1 -1
  61. package/components/ix-empty-state.js +1 -1
  62. package/components/ix-empty-state.js.map +1 -1
  63. package/components/ix-event-list-item.js +4 -4
  64. package/components/ix-event-list.js +2 -2
  65. package/components/ix-expanding-search.js +10 -4
  66. package/components/ix-expanding-search.js.map +1 -1
  67. package/components/ix-flip-tile-content.js +1 -1
  68. package/components/ix-flip-tile.js +6 -5
  69. package/components/ix-flip-tile.js.map +1 -1
  70. package/components/ix-group.js +8 -8
  71. package/components/ix-group.js.map +1 -1
  72. package/components/ix-helper-text.js +1 -1
  73. package/components/ix-icon-toggle-button.js +1 -1
  74. package/components/ix-icon-toggle-button.js.map +1 -1
  75. package/components/ix-input-group.js +1 -1
  76. package/components/ix-input-group.js.map +1 -1
  77. package/components/ix-input.js +12 -7
  78. package/components/ix-input.js.map +1 -1
  79. package/components/ix-key-value-list.js +2 -2
  80. package/components/ix-key-value-list.js.map +1 -1
  81. package/components/ix-key-value.js +1 -1
  82. package/components/ix-key-value.js.map +1 -1
  83. package/components/ix-kpi.js +3 -3
  84. package/components/ix-kpi.js.map +1 -1
  85. package/components/ix-layout-auto.js +1 -1
  86. package/components/ix-link-button.js +3 -3
  87. package/components/ix-link-button.js.map +1 -1
  88. package/components/ix-map-navigation.js +4 -4
  89. package/components/ix-map-navigation.js.map +1 -1
  90. package/components/ix-menu-about-item.js +1 -1
  91. package/components/ix-menu-about-item.js.map +1 -1
  92. package/components/ix-menu-about-news.js +4 -4
  93. package/components/ix-menu-about-news.js.map +1 -1
  94. package/components/ix-menu-about.js +1 -1
  95. package/components/ix-menu-about.js.map +1 -1
  96. package/components/ix-menu-avatar.js +2 -2
  97. package/components/ix-menu-avatar.js.map +1 -1
  98. package/components/ix-menu-category.js +28 -13
  99. package/components/ix-menu-category.js.map +1 -1
  100. package/components/ix-menu-settings-item.js +1 -1
  101. package/components/ix-menu-settings-item.js.map +1 -1
  102. package/components/ix-menu.js +24 -16
  103. package/components/ix-menu.js.map +1 -1
  104. package/components/ix-message-bar.js +4 -2
  105. package/components/ix-message-bar.js.map +1 -1
  106. package/components/ix-modal-footer.js +1 -1
  107. package/components/ix-modal-loading.js +1 -1
  108. package/components/ix-modal.js +3 -3
  109. package/components/ix-modal.js.map +1 -1
  110. package/components/ix-number-input.js +14 -9
  111. package/components/ix-number-input.js.map +1 -1
  112. package/components/ix-pagination.js +8 -5
  113. package/components/ix-pagination.js.map +1 -1
  114. package/components/ix-pane-layout.js +1 -1
  115. package/components/ix-pill.js +19 -8
  116. package/components/ix-pill.js.map +1 -1
  117. package/components/ix-push-card.js +1 -1
  118. package/components/ix-push-card.js.map +1 -1
  119. package/components/ix-radio-group.js +2 -2
  120. package/components/ix-radio.js +6 -5
  121. package/components/ix-radio.js.map +1 -1
  122. package/components/ix-split-button-item.js +1 -1
  123. package/components/ix-split-button-item.js.map +1 -1
  124. package/components/ix-split-button.js +1 -1
  125. package/components/ix-split-button.js.map +1 -1
  126. package/components/ix-textarea.js +1 -1
  127. package/components/ix-textarea.js.map +1 -1
  128. package/components/ix-tile.js +4 -4
  129. package/components/ix-tile.js.map +1 -1
  130. package/components/ix-toast-container.js +10 -6
  131. package/components/ix-toast-container.js.map +1 -1
  132. package/components/ix-toggle-button.js +2 -2
  133. package/components/ix-toggle-button.js.map +1 -1
  134. package/components/ix-toggle.js +3 -3
  135. package/components/ix-tree.js +1 -1
  136. package/components/ix-tree.js.map +1 -1
  137. package/components/ix-upload.js +3 -3
  138. package/components/ix-validation-tooltip.js +5 -2
  139. package/components/ix-validation-tooltip.js.map +1 -1
  140. package/components/ix-workflow-step.js +4 -3
  141. package/components/ix-workflow-step.js.map +1 -1
  142. package/components/ix-workflow-steps.js +1 -1
  143. package/components/ix-workflow-steps.js.map +1 -1
  144. package/components/layout-grid.js +2 -2
  145. package/components/make-ref.js.map +1 -1
  146. package/components/map-navigation-overlay.js +2 -2
  147. package/components/map-navigation-overlay.js.map +1 -1
  148. package/components/menu-avatar-item.js +1 -1
  149. package/components/menu-avatar-item.js.map +1 -1
  150. package/components/menu-expand-icon.js +1 -1
  151. package/components/menu-expand-icon.js.map +1 -1
  152. package/components/menu-item.js +3 -3
  153. package/components/menu-tabs-fc.js +10 -3
  154. package/components/menu-tabs-fc.js.map +1 -1
  155. package/components/modal-content.js +1 -1
  156. package/components/modal-header.js +1 -1
  157. package/components/row.js +1 -1
  158. package/components/select-item.js +1 -1
  159. package/components/select.js +39 -17
  160. package/components/select.js.map +1 -1
  161. package/components/shadow-dom.js.map +1 -1
  162. package/components/spinner.js +1 -1
  163. package/components/tabs.js +2 -2
  164. package/components/time-picker.js +1 -1
  165. package/components/time-picker.js.map +1 -1
  166. package/components/toast.js +2 -2
  167. package/components/toast.js.map +1 -1
  168. package/components/tooltip.js +2 -2
  169. package/components/tree-item.js +4 -4
  170. package/components/validation.js +1 -7
  171. package/components/validation.js.map +1 -1
  172. package/dist/cjs/a11y-ae470f01.js.map +1 -1
  173. package/dist/cjs/{app-globals-4d8f1524.js → app-globals-ca59f3ec.js} +2 -2
  174. package/dist/cjs/{app-globals-4d8f1524.js.map → app-globals-ca59f3ec.js.map} +1 -1
  175. package/dist/cjs/{index-492e6488.js → index-12d386cf.js} +5 -1
  176. package/dist/cjs/index-12d386cf.js.map +1 -0
  177. package/dist/cjs/index.cjs.js +5 -1
  178. package/dist/cjs/index.cjs.js.map +1 -1
  179. package/dist/cjs/{input.util-54d161e6.js → input.util-dee6616a.js} +28 -3
  180. package/dist/cjs/input.util-dee6616a.js.map +1 -0
  181. package/dist/cjs/ix-application-header.cjs.entry.js +21 -12
  182. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  183. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
  184. package/dist/cjs/ix-application-switch-modal.cjs.entry.js.map +1 -1
  185. package/dist/cjs/ix-application.cjs.entry.js +7 -3
  186. package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
  187. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  188. package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
  189. package/dist/cjs/ix-basic-navigation.cjs.entry.js +2 -2
  190. package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
  191. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  192. package/dist/cjs/ix-button.cjs.entry.js +2 -2
  193. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  194. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
  195. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  196. package/dist/cjs/ix-card-list.cjs.entry.js +6 -6
  197. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
  198. package/dist/cjs/ix-card_2.cjs.entry.js +3 -3
  199. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  200. package/dist/cjs/ix-category-filter.cjs.entry.js +4 -4
  201. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  202. package/dist/cjs/ix-checkbox-group.cjs.entry.js +3 -3
  203. package/dist/cjs/ix-checkbox.cjs.entry.js +6 -5
  204. package/dist/cjs/ix-checkbox.cjs.entry.js.map +1 -1
  205. package/dist/cjs/ix-chip.cjs.entry.js +5 -5
  206. package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
  207. package/dist/cjs/ix-col_4.cjs.entry.js +7 -7
  208. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  209. package/dist/cjs/ix-content.cjs.entry.js +3 -3
  210. package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
  211. package/dist/cjs/ix-css-grid-item.cjs.entry.js.map +1 -1
  212. package/dist/cjs/ix-custom-field.cjs.entry.js +2 -2
  213. package/dist/cjs/ix-date-dropdown.cjs.entry.js +9 -5
  214. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  215. package/dist/cjs/ix-date-input.cjs.entry.js +12 -12
  216. package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -1
  217. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  218. package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
  219. package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
  220. package/dist/cjs/ix-dropdown-header.cjs.entry.js.map +1 -1
  221. package/dist/cjs/ix-dropdown-item.cjs.entry.js +3 -3
  222. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  223. package/dist/cjs/ix-dropdown.cjs.entry.js +2 -2
  224. package/dist/cjs/ix-empty-state.cjs.entry.js +1 -1
  225. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  226. package/dist/cjs/ix-event-list-item.cjs.entry.js +4 -4
  227. package/dist/cjs/ix-event-list.cjs.entry.js +2 -2
  228. package/dist/cjs/ix-expanding-search.cjs.entry.js +7 -4
  229. package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
  230. package/dist/cjs/ix-field-label_3.cjs.entry.js +6 -6
  231. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +3 -3
  232. package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
  233. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
  234. package/dist/cjs/ix-flip-tile.cjs.entry.js +6 -5
  235. package/dist/cjs/ix-flip-tile.cjs.entry.js.map +1 -1
  236. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +3 -3
  237. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
  238. package/dist/cjs/ix-group.cjs.entry.js +8 -8
  239. package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
  240. package/dist/cjs/ix-helper-text.cjs.entry.js +2 -2
  241. package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
  242. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  243. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
  244. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  245. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  246. package/dist/cjs/ix-input-group.cjs.entry.js.map +1 -1
  247. package/dist/cjs/ix-input.cjs.entry.js +14 -8
  248. package/dist/cjs/ix-input.cjs.entry.js.map +1 -1
  249. package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
  250. package/dist/cjs/ix-key-value-list.cjs.entry.js.map +1 -1
  251. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  252. package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -1
  253. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  254. package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
  255. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  256. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  257. package/dist/cjs/ix-link-button.cjs.entry.js.map +1 -1
  258. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  259. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js.map +1 -1
  260. package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
  261. package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
  262. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  263. package/dist/cjs/ix-menu-about-item.cjs.entry.js.map +1 -1
  264. package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
  265. package/dist/cjs/ix-menu-about-news.cjs.entry.js.map +1 -1
  266. package/dist/cjs/ix-menu-about.cjs.entry.js +2 -2
  267. package/dist/cjs/ix-menu-about.cjs.entry.js.map +1 -1
  268. package/dist/cjs/ix-menu-avatar.cjs.entry.js +2 -2
  269. package/dist/cjs/ix-menu-avatar.cjs.entry.js.map +1 -1
  270. package/dist/cjs/ix-menu-category.cjs.entry.js +28 -13
  271. package/dist/cjs/ix-menu-category.cjs.entry.js.map +1 -1
  272. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  273. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js.map +1 -1
  274. package/dist/cjs/ix-menu-item.cjs.entry.js +3 -3
  275. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  276. package/dist/cjs/ix-menu-settings-item.cjs.entry.js.map +1 -1
  277. package/dist/cjs/ix-menu-settings.cjs.entry.js +1 -1
  278. package/dist/cjs/ix-menu.cjs.entry.js +25 -17
  279. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  280. package/dist/cjs/ix-message-bar.cjs.entry.js +4 -2
  281. package/dist/cjs/ix-message-bar.cjs.entry.js.map +1 -1
  282. package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
  283. package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
  284. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  285. package/dist/cjs/ix-modal.cjs.entry.js +3 -3
  286. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  287. package/dist/cjs/ix-number-input.cjs.entry.js +16 -10
  288. package/dist/cjs/ix-number-input.cjs.entry.js.map +1 -1
  289. package/dist/cjs/ix-pagination.cjs.entry.js +8 -5
  290. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  291. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  292. package/dist/cjs/ix-pill.cjs.entry.js +17 -7
  293. package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
  294. package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
  295. package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
  296. package/dist/cjs/ix-radio-group.cjs.entry.js +3 -3
  297. package/dist/cjs/ix-radio.cjs.entry.js +6 -5
  298. package/dist/cjs/ix-radio.cjs.entry.js.map +1 -1
  299. package/dist/cjs/ix-select.cjs.entry.js +38 -18
  300. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  301. package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
  302. package/dist/cjs/ix-split-button-item.cjs.entry.js.map +1 -1
  303. package/dist/cjs/ix-split-button.cjs.entry.js +1 -1
  304. package/dist/cjs/ix-split-button.cjs.entry.js.map +1 -1
  305. package/dist/cjs/ix-tab-item_2.cjs.entry.js +2 -2
  306. package/dist/cjs/ix-textarea.cjs.entry.js +4 -3
  307. package/dist/cjs/ix-textarea.cjs.entry.js.map +1 -1
  308. package/dist/cjs/ix-tile.cjs.entry.js +4 -4
  309. package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
  310. package/dist/cjs/ix-time-picker.cjs.entry.js +1 -1
  311. package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
  312. package/dist/cjs/ix-toast-container.cjs.entry.js +10 -6
  313. package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
  314. package/dist/cjs/ix-toast.cjs.entry.js +2 -2
  315. package/dist/cjs/ix-toast.cjs.entry.js.map +1 -1
  316. package/dist/cjs/ix-toggle-button.cjs.entry.js +2 -2
  317. package/dist/cjs/ix-toggle-button.cjs.entry.js.map +1 -1
  318. package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
  319. package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
  320. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  321. package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
  322. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  323. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +5 -2
  324. package/dist/cjs/ix-validation-tooltip.cjs.entry.js.map +1 -1
  325. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -3
  326. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  327. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  328. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  329. package/dist/cjs/loader.cjs.js +3 -3
  330. package/dist/cjs/make-ref-499e1e41.js.map +1 -1
  331. package/dist/cjs/{menu-tabs-fc-eb899b0d.js → menu-tabs-fc-a9f928f5.js} +11 -4
  332. package/dist/cjs/menu-tabs-fc-a9f928f5.js.map +1 -0
  333. package/dist/cjs/{setup-cc07fbfc.js → setup-49660b91.js} +12 -2
  334. package/dist/cjs/setup-49660b91.js.map +1 -0
  335. package/dist/cjs/shadow-dom-454acc38.js.map +1 -1
  336. package/dist/cjs/siemens-ix.cjs.js +3 -3
  337. package/dist/cjs/{validation-1e3dd5ee.js → validation-cb884b13.js} +2 -8
  338. package/dist/cjs/validation-cb884b13.js.map +1 -0
  339. package/dist/collection/components/action-card/action-card.js +3 -3
  340. package/dist/collection/components/application/application.js +12 -8
  341. package/dist/collection/components/application/application.js.map +1 -1
  342. package/dist/collection/components/application-header/application-header.js +39 -13
  343. package/dist/collection/components/application-header/application-header.js.map +1 -1
  344. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +3 -3
  345. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  346. package/dist/collection/components/application-header/test/application-header.ct.js +2 -2
  347. package/dist/collection/components/application-header/test/application-header.ct.js.map +1 -1
  348. package/dist/collection/components/avatar/avatar.js +4 -4
  349. package/dist/collection/components/avatar/avatar.js.map +1 -1
  350. package/dist/collection/components/basic-navigation/basic-navigation.js +5 -5
  351. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  352. package/dist/collection/components/blind/blind.js +3 -3
  353. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +4 -4
  354. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  355. package/dist/collection/components/button/button-component.js +2 -0
  356. package/dist/collection/components/button/button-component.js.map +1 -0
  357. package/dist/collection/components/button/button.js +3 -3
  358. package/dist/collection/components/button/button.js.map +1 -1
  359. package/dist/collection/components/button/test/button.spec.js.map +1 -1
  360. package/dist/collection/components/card/card.css +7 -0
  361. package/dist/collection/components/card-content/card-content.css +13 -5
  362. package/dist/collection/components/card-content/card-content.js +1 -1
  363. package/dist/collection/components/card-content/card-content.js.map +1 -1
  364. package/dist/collection/components/card-list/card-list.css +1 -0
  365. package/dist/collection/components/card-list/card-list.js +7 -7
  366. package/dist/collection/components/card-list/card-list.js.map +1 -1
  367. package/dist/collection/components/card-title/card-title.css +2 -2
  368. package/dist/collection/components/card-title/card-title.js +1 -1
  369. package/dist/collection/components/category-filter/category-filter.css +3 -3
  370. package/dist/collection/components/category-filter/category-filter.js +9 -9
  371. package/dist/collection/components/category-filter/filter-state.js +4 -0
  372. package/dist/collection/components/category-filter/filter-state.js.map +1 -1
  373. package/dist/collection/components/checkbox/checkbox.css +216 -91
  374. package/dist/collection/components/checkbox/checkbox.js +7 -6
  375. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  376. package/dist/collection/components/checkbox/tests/checkbox.ct.js +20 -0
  377. package/dist/collection/components/checkbox/tests/checkbox.ct.js.map +1 -1
  378. package/dist/collection/components/checkbox-group/checkbox-group.js +8 -8
  379. package/dist/collection/components/chip/chip.js +10 -10
  380. package/dist/collection/components/chip/chip.js.map +1 -1
  381. package/dist/collection/components/chip/test/chip.ct.js +4 -2
  382. package/dist/collection/components/chip/test/chip.ct.js.map +1 -1
  383. package/dist/collection/components/col/col.js +4 -4
  384. package/dist/collection/components/content/content.js +3 -3
  385. package/dist/collection/components/content-header/content-header.js +2 -2
  386. package/dist/collection/components/css-grid/css-grid-item.js +2 -2
  387. package/dist/collection/components/css-grid/css-grid-item.js.map +1 -1
  388. package/dist/collection/components/css-grid/css-grid.js +1 -1
  389. package/dist/collection/components/custom-field/custom-field.js +8 -8
  390. package/dist/collection/components/date-dropdown/date-dropdown.js +88 -6
  391. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  392. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js +1 -0
  393. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +1 -1
  394. package/dist/collection/components/date-input/date-input.css +6 -6
  395. package/dist/collection/components/date-input/date-input.js +22 -23
  396. package/dist/collection/components/date-input/date-input.js.map +1 -1
  397. package/dist/collection/components/date-picker/date-picker.js +9 -9
  398. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  399. package/dist/collection/components/date-time-card/date-time-card.js +1 -1
  400. package/dist/collection/components/datetime-picker/datetime-picker.js +8 -8
  401. package/dist/collection/components/divider/divider.js +1 -1
  402. package/dist/collection/components/drawer/drawer.js +3 -3
  403. package/dist/collection/components/dropdown/dropdown.js +7 -7
  404. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
  405. package/dist/collection/components/dropdown-button/dropdown-button.js +3 -3
  406. package/dist/collection/components/dropdown-header/dropdown-header.js +3 -3
  407. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  408. package/dist/collection/components/dropdown-item/dropdown-item.js +5 -5
  409. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  410. package/dist/collection/components/empty-state/empty-state.js +7 -7
  411. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  412. package/dist/collection/components/event-list/event-list.js +2 -2
  413. package/dist/collection/components/event-list-item/event-list-item.js +6 -6
  414. package/dist/collection/components/expanding-search/expanding-search.js +67 -4
  415. package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
  416. package/dist/collection/components/expanding-search/test/expanding-search.spec.js +5 -4
  417. package/dist/collection/components/expanding-search/test/expanding-search.spec.js.map +1 -1
  418. package/dist/collection/components/field-label/field-label.js +4 -4
  419. package/dist/collection/components/field-label/tests/field-label.ct.js +2 -2
  420. package/dist/collection/components/field-label/tests/field-label.ct.js.map +1 -1
  421. package/dist/collection/components/field-wrapper/field-wrapper.js +10 -10
  422. package/dist/collection/components/filter-chip/filter-chip.js +2 -2
  423. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  424. package/dist/collection/components/flip-tile/flip-tile.js +8 -7
  425. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  426. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  427. package/dist/collection/components/group/group-context-menu.js +1 -1
  428. package/dist/collection/components/group/group-context-menu.js.map +1 -1
  429. package/dist/collection/components/group/group.js +11 -11
  430. package/dist/collection/components/group/group.js.map +1 -1
  431. package/dist/collection/components/group-item/group-item.js +6 -6
  432. package/dist/collection/components/helper-text/helper-text.js +7 -7
  433. package/dist/collection/components/icon-button/icon-button.js +18 -15
  434. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  435. package/dist/collection/components/icon-button/test/icon-button.spec.js +16 -33
  436. package/dist/collection/components/icon-button/test/icon-button.spec.js.map +1 -1
  437. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +3 -3
  438. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
  439. package/dist/collection/components/input/input.css +6 -6
  440. package/dist/collection/components/input/input.js +25 -20
  441. package/dist/collection/components/input/input.js.map +1 -1
  442. package/dist/collection/components/input/input.util.js +25 -1
  443. package/dist/collection/components/input/input.util.js.map +1 -1
  444. package/dist/collection/components/input/number-input.css +3 -3
  445. package/dist/collection/components/input/number-input.js +29 -24
  446. package/dist/collection/components/input/number-input.js.map +1 -1
  447. package/dist/collection/components/input/tests/validation.ct.js +21 -0
  448. package/dist/collection/components/input/tests/validation.ct.js.map +1 -0
  449. package/dist/collection/components/input/textarea.css +3 -3
  450. package/dist/collection/components/input/textarea.js +16 -16
  451. package/dist/collection/components/input-group/input-group.js +1 -1
  452. package/dist/collection/components/input-group/input-group.js.map +1 -1
  453. package/dist/collection/components/key-value/key-value.js +5 -5
  454. package/dist/collection/components/key-value/key-value.js.map +1 -1
  455. package/dist/collection/components/key-value-list/key-value-list.js +4 -3
  456. package/dist/collection/components/key-value-list/key-value-list.js.map +1 -1
  457. package/dist/collection/components/kpi/kpi.js +9 -9
  458. package/dist/collection/components/kpi/kpi.js.map +1 -1
  459. package/dist/collection/components/layout-auto/layout-auto.js +1 -1
  460. package/dist/collection/components/layout-grid/layout-grid.js +2 -2
  461. package/dist/collection/components/link-button/link-button.js +5 -5
  462. package/dist/collection/components/link-button/link-button.js.map +1 -1
  463. package/dist/collection/components/map-navigation/map-navigation.js +11 -11
  464. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  465. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +10 -10
  466. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js.map +1 -1
  467. package/dist/collection/components/menu/menu-expand-icon.js +3 -3
  468. package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
  469. package/dist/collection/components/menu/menu.js +44 -19
  470. package/dist/collection/components/menu/menu.js.map +1 -1
  471. package/dist/collection/components/menu-about/menu-about.js +3 -3
  472. package/dist/collection/components/menu-about/menu-about.js.map +1 -1
  473. package/dist/collection/components/menu-about-item/menu-about-item.js +3 -3
  474. package/dist/collection/components/menu-about-item/menu-about-item.js.map +1 -1
  475. package/dist/collection/components/menu-about-news/menu-about-news.js +8 -8
  476. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  477. package/dist/collection/components/menu-avatar/menu-avatar.js +10 -10
  478. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  479. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +5 -5
  480. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js.map +1 -1
  481. package/dist/collection/components/menu-category/menu-category.js +34 -19
  482. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  483. package/dist/collection/components/menu-item/menu-item.js +7 -7
  484. package/dist/collection/components/menu-settings/menu-settings.js +3 -3
  485. package/dist/collection/components/menu-settings/menu-settings.js.map +1 -1
  486. package/dist/collection/components/menu-settings-item/menu-settings-item.js +3 -3
  487. package/dist/collection/components/menu-settings-item/menu-settings-item.js.map +1 -1
  488. package/dist/collection/components/message-bar/message-bar.js +4 -2
  489. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  490. package/dist/collection/components/message-bar/test/message-bar.spec.js.map +1 -1
  491. package/dist/collection/components/modal/modal.js +6 -6
  492. package/dist/collection/components/modal/modal.js.map +1 -1
  493. package/dist/collection/components/modal-content/modal-content.js +1 -1
  494. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  495. package/dist/collection/components/modal-header/modal-header.js +3 -3
  496. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  497. package/dist/collection/components/pagination/pagination.js +10 -6
  498. package/dist/collection/components/pagination/pagination.js.map +1 -1
  499. package/dist/collection/components/pagination/test/pagination.ct.js +1 -1
  500. package/dist/collection/components/pagination/test/pagination.ct.js.map +1 -1
  501. package/dist/collection/components/pagination/test/pagination.spec.js.map +1 -1
  502. package/dist/collection/components/pane/pane.js +2 -2
  503. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  504. package/dist/collection/components/pill/pill.css +14 -1
  505. package/dist/collection/components/pill/pill.js +25 -10
  506. package/dist/collection/components/pill/pill.js.map +1 -1
  507. package/dist/collection/components/pill/tests/pill.ct.js +23 -0
  508. package/dist/collection/components/pill/tests/pill.ct.js.map +1 -0
  509. package/dist/collection/components/push-card/push-card.css +8 -1
  510. package/dist/collection/components/push-card/push-card.js +4 -4
  511. package/dist/collection/components/radio/radio.css +0 -16
  512. package/dist/collection/components/radio/radio.js +9 -8
  513. package/dist/collection/components/radio/radio.js.map +1 -1
  514. package/dist/collection/components/radio/test/radio.ct.js +19 -0
  515. package/dist/collection/components/radio/test/radio.ct.js.map +1 -1
  516. package/dist/collection/components/radio-group/radio-group.js +10 -10
  517. package/dist/collection/components/row/row.js +1 -1
  518. package/dist/collection/components/select/select.css +3 -0
  519. package/dist/collection/components/select/select.js +86 -26
  520. package/dist/collection/components/select/select.js.map +1 -1
  521. package/dist/collection/components/select/test/select-keyboard.ct.js +379 -0
  522. package/dist/collection/components/select/test/select-keyboard.ct.js.map +1 -0
  523. package/dist/collection/components/select/test/select.ct.js +106 -258
  524. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  525. package/dist/collection/components/select-item/select-item.js +3 -3
  526. package/dist/collection/components/select-item/test/select-item.spec.js +3 -6
  527. package/dist/collection/components/select-item/test/select-item.spec.js.map +1 -1
  528. package/dist/collection/components/slider/slider.js +2 -2
  529. package/dist/collection/components/spinner/spinner.js +1 -1
  530. package/dist/collection/components/split-button/split-button.js +3 -3
  531. package/dist/collection/components/split-button/split-button.js.map +1 -1
  532. package/dist/collection/components/split-button-item/split-button-item.js +5 -5
  533. package/dist/collection/components/split-button-item/split-button-item.js.map +1 -1
  534. package/dist/collection/components/tab-item/tab-item.js +1 -1
  535. package/dist/collection/components/tabs/tabs.js +2 -2
  536. package/dist/collection/components/tile/tile.js +4 -4
  537. package/dist/collection/components/tile/tile.js.map +1 -1
  538. package/dist/collection/components/time-picker/time-picker.css +3 -3
  539. package/dist/collection/components/time-picker/time-picker.js +4 -4
  540. package/dist/collection/components/toast/toast-container.js +10 -6
  541. package/dist/collection/components/toast/toast-container.js.map +1 -1
  542. package/dist/collection/components/toast/toast.js +8 -8
  543. package/dist/collection/components/toast/toast.js.map +1 -1
  544. package/dist/collection/components/toggle/toggle.js +5 -5
  545. package/dist/collection/components/toggle-button/toggle-button.js +4 -4
  546. package/dist/collection/components/toggle-button/toggle-button.js.map +1 -1
  547. package/dist/collection/components/tooltip/tooltip.js +4 -4
  548. package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
  549. package/dist/collection/components/tree/tree.js +2 -2
  550. package/dist/collection/components/tree/tree.js.map +1 -1
  551. package/dist/collection/components/tree-item/tree-item.js +6 -6
  552. package/dist/collection/components/typography/typography.js +3 -3
  553. package/dist/collection/components/upload/upload.js +4 -4
  554. package/dist/collection/components/utils/a11y.js.map +1 -1
  555. package/dist/collection/components/utils/app-switch/index.js +4 -0
  556. package/dist/collection/components/utils/app-switch/index.js.map +1 -1
  557. package/dist/collection/components/utils/input/validation.js +1 -7
  558. package/dist/collection/components/utils/input/validation.js.map +1 -1
  559. package/dist/collection/components/utils/lazy-list/lazy.js.map +1 -1
  560. package/dist/collection/components/utils/make-ref.js.map +1 -1
  561. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js +5 -1
  562. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
  563. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js +4 -1
  564. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js.map +1 -1
  565. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  566. package/dist/collection/components/validation-tooltip/validation-tooltip.js +7 -4
  567. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -1
  568. package/dist/collection/components/workflow-step/workflow-step.js +4 -3
  569. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  570. package/dist/collection/components/workflow-steps/test/workflow-steps.spec.js.map +1 -1
  571. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  572. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  573. package/dist/collection/setup.ct.js +18 -0
  574. package/dist/collection/setup.ct.js.map +1 -0
  575. package/dist/collection/setup.js +11 -1
  576. package/dist/collection/setup.js.map +1 -1
  577. package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
  578. package/dist/collection/tests/button/button.e2e.js.map +1 -1
  579. package/dist/collection/tests/card/card.e2e.js +6 -0
  580. package/dist/collection/tests/card/card.e2e.js.map +1 -1
  581. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js +3 -3
  582. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js.map +1 -1
  583. package/dist/collection/tests/date-input/date-input.e2e.js +17 -0
  584. package/dist/collection/tests/date-input/date-input.e2e.js.map +1 -0
  585. package/dist/collection/tests/expanding-search/expanding-search.e2e.js +1 -1
  586. package/dist/collection/tests/expanding-search/expanding-search.e2e.js.map +1 -1
  587. package/dist/collection/tests/icon-toggle-button/toggle-button.e2e.js.map +1 -1
  588. package/dist/collection/tests/input-common/input-common.e2e.js +27 -0
  589. package/dist/collection/tests/input-common/input-common.e2e.js.map +1 -0
  590. package/dist/collection/tests/menu/menu.e2e.js +11 -0
  591. package/dist/collection/tests/menu/menu.e2e.js.map +1 -1
  592. package/dist/collection/tests/push-card/push-card.e2e.js +6 -0
  593. package/dist/collection/tests/push-card/push-card.e2e.js.map +1 -1
  594. package/dist/collection/tests/toggle-button/toggle-button.e2e.js.map +1 -1
  595. package/dist/collection/tests/upload/upload.e2e.js +1 -1
  596. package/dist/collection/tests/upload/upload.e2e.js.map +1 -1
  597. package/dist/collection/tests/utils/test/page.js +37 -5
  598. package/dist/collection/tests/utils/test/page.js.map +1 -1
  599. package/dist/collection/tests/workflow-steps/workflow-steps.e2e.js +4 -3
  600. package/dist/collection/tests/workflow-steps/workflow-steps.e2e.js.map +1 -1
  601. package/dist/esm/a11y-b10c12e0.js.map +1 -1
  602. package/dist/esm/app-globals-c85c7809.js +7 -0
  603. package/dist/esm/{app-globals-40082a83.js.map → app-globals-c85c7809.js.map} +1 -1
  604. package/dist/esm/{index-7421df0c.js → index-f8425403.js} +5 -1
  605. package/dist/esm/index-f8425403.js.map +1 -0
  606. package/dist/esm/index.js +5 -1
  607. package/dist/esm/index.js.map +1 -1
  608. package/dist/esm/{input.util-c855b2ed.js → input.util-deca1217.js} +28 -4
  609. package/dist/esm/input.util-deca1217.js.map +1 -0
  610. package/dist/esm/ix-application-header.entry.js +21 -12
  611. package/dist/esm/ix-application-header.entry.js.map +1 -1
  612. package/dist/esm/ix-application-switch-modal.entry.js +1 -1
  613. package/dist/esm/ix-application-switch-modal.entry.js.map +1 -1
  614. package/dist/esm/ix-application.entry.js +7 -3
  615. package/dist/esm/ix-application.entry.js.map +1 -1
  616. package/dist/esm/ix-avatar_2.entry.js +1 -1
  617. package/dist/esm/ix-avatar_2.entry.js.map +1 -1
  618. package/dist/esm/ix-basic-navigation.entry.js +2 -2
  619. package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
  620. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  621. package/dist/esm/ix-button.entry.js +2 -2
  622. package/dist/esm/ix-button.entry.js.map +1 -1
  623. package/dist/esm/ix-card-accordion_2.entry.js +2 -2
  624. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  625. package/dist/esm/ix-card-list.entry.js +6 -6
  626. package/dist/esm/ix-card-list.entry.js.map +1 -1
  627. package/dist/esm/ix-card_2.entry.js +3 -3
  628. package/dist/esm/ix-card_2.entry.js.map +1 -1
  629. package/dist/esm/ix-category-filter.entry.js +4 -4
  630. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  631. package/dist/esm/ix-checkbox-group.entry.js +3 -3
  632. package/dist/esm/ix-checkbox.entry.js +6 -5
  633. package/dist/esm/ix-checkbox.entry.js.map +1 -1
  634. package/dist/esm/ix-chip.entry.js +5 -5
  635. package/dist/esm/ix-chip.entry.js.map +1 -1
  636. package/dist/esm/ix-col_4.entry.js +7 -7
  637. package/dist/esm/ix-col_4.entry.js.map +1 -1
  638. package/dist/esm/ix-content.entry.js +3 -3
  639. package/dist/esm/ix-css-grid-item.entry.js +1 -1
  640. package/dist/esm/ix-css-grid-item.entry.js.map +1 -1
  641. package/dist/esm/ix-custom-field.entry.js +2 -2
  642. package/dist/esm/ix-date-dropdown.entry.js +9 -5
  643. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  644. package/dist/esm/ix-date-input.entry.js +12 -12
  645. package/dist/esm/ix-date-input.entry.js.map +1 -1
  646. package/dist/esm/ix-divider.entry.js +1 -1
  647. package/dist/esm/ix-drawer.entry.js +2 -2
  648. package/dist/esm/ix-dropdown-header.entry.js +1 -1
  649. package/dist/esm/ix-dropdown-header.entry.js.map +1 -1
  650. package/dist/esm/ix-dropdown-item.entry.js +3 -3
  651. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  652. package/dist/esm/ix-dropdown.entry.js +2 -2
  653. package/dist/esm/ix-empty-state.entry.js +1 -1
  654. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  655. package/dist/esm/ix-event-list-item.entry.js +4 -4
  656. package/dist/esm/ix-event-list.entry.js +2 -2
  657. package/dist/esm/ix-expanding-search.entry.js +7 -4
  658. package/dist/esm/ix-expanding-search.entry.js.map +1 -1
  659. package/dist/esm/ix-field-label_3.entry.js +6 -6
  660. package/dist/esm/ix-filter-chip_2.entry.js +3 -3
  661. package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
  662. package/dist/esm/ix-flip-tile-content.entry.js +1 -1
  663. package/dist/esm/ix-flip-tile.entry.js +6 -5
  664. package/dist/esm/ix-flip-tile.entry.js.map +1 -1
  665. package/dist/esm/ix-group-context-menu_2.entry.js +3 -3
  666. package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
  667. package/dist/esm/ix-group.entry.js +8 -8
  668. package/dist/esm/ix-group.entry.js.map +1 -1
  669. package/dist/esm/ix-helper-text.entry.js +2 -2
  670. package/dist/esm/ix-icon-button_2.entry.js +5 -5
  671. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  672. package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
  673. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  674. package/dist/esm/ix-input-group.entry.js +1 -1
  675. package/dist/esm/ix-input-group.entry.js.map +1 -1
  676. package/dist/esm/ix-input.entry.js +14 -8
  677. package/dist/esm/ix-input.entry.js.map +1 -1
  678. package/dist/esm/ix-key-value-list.entry.js +2 -2
  679. package/dist/esm/ix-key-value-list.entry.js.map +1 -1
  680. package/dist/esm/ix-key-value.entry.js +1 -1
  681. package/dist/esm/ix-key-value.entry.js.map +1 -1
  682. package/dist/esm/ix-kpi.entry.js +3 -3
  683. package/dist/esm/ix-kpi.entry.js.map +1 -1
  684. package/dist/esm/ix-layout-auto.entry.js +1 -1
  685. package/dist/esm/ix-link-button.entry.js +3 -3
  686. package/dist/esm/ix-link-button.entry.js.map +1 -1
  687. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  688. package/dist/esm/ix-map-navigation-overlay.entry.js.map +1 -1
  689. package/dist/esm/ix-map-navigation.entry.js +4 -4
  690. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  691. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  692. package/dist/esm/ix-menu-about-item.entry.js.map +1 -1
  693. package/dist/esm/ix-menu-about-news.entry.js +4 -4
  694. package/dist/esm/ix-menu-about-news.entry.js.map +1 -1
  695. package/dist/esm/ix-menu-about.entry.js +2 -2
  696. package/dist/esm/ix-menu-about.entry.js.map +1 -1
  697. package/dist/esm/ix-menu-avatar.entry.js +2 -2
  698. package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
  699. package/dist/esm/ix-menu-category.entry.js +28 -13
  700. package/dist/esm/ix-menu-category.entry.js.map +1 -1
  701. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  702. package/dist/esm/ix-menu-expand-icon.entry.js.map +1 -1
  703. package/dist/esm/ix-menu-item.entry.js +3 -3
  704. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  705. package/dist/esm/ix-menu-settings-item.entry.js.map +1 -1
  706. package/dist/esm/ix-menu-settings.entry.js +1 -1
  707. package/dist/esm/ix-menu.entry.js +25 -17
  708. package/dist/esm/ix-menu.entry.js.map +1 -1
  709. package/dist/esm/ix-message-bar.entry.js +4 -2
  710. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  711. package/dist/esm/ix-modal-content_2.entry.js +2 -2
  712. package/dist/esm/ix-modal-footer.entry.js +1 -1
  713. package/dist/esm/ix-modal-loading.entry.js +1 -1
  714. package/dist/esm/ix-modal.entry.js +3 -3
  715. package/dist/esm/ix-modal.entry.js.map +1 -1
  716. package/dist/esm/ix-number-input.entry.js +16 -10
  717. package/dist/esm/ix-number-input.entry.js.map +1 -1
  718. package/dist/esm/ix-pagination.entry.js +8 -5
  719. package/dist/esm/ix-pagination.entry.js.map +1 -1
  720. package/dist/esm/ix-pane-layout.entry.js +1 -1
  721. package/dist/esm/ix-pill.entry.js +17 -7
  722. package/dist/esm/ix-pill.entry.js.map +1 -1
  723. package/dist/esm/ix-push-card.entry.js +1 -1
  724. package/dist/esm/ix-push-card.entry.js.map +1 -1
  725. package/dist/esm/ix-radio-group.entry.js +3 -3
  726. package/dist/esm/ix-radio.entry.js +6 -5
  727. package/dist/esm/ix-radio.entry.js.map +1 -1
  728. package/dist/esm/ix-select.entry.js +38 -18
  729. package/dist/esm/ix-select.entry.js.map +1 -1
  730. package/dist/esm/ix-split-button-item.entry.js +1 -1
  731. package/dist/esm/ix-split-button-item.entry.js.map +1 -1
  732. package/dist/esm/ix-split-button.entry.js +1 -1
  733. package/dist/esm/ix-split-button.entry.js.map +1 -1
  734. package/dist/esm/ix-tab-item_2.entry.js +2 -2
  735. package/dist/esm/ix-textarea.entry.js +4 -3
  736. package/dist/esm/ix-textarea.entry.js.map +1 -1
  737. package/dist/esm/ix-tile.entry.js +4 -4
  738. package/dist/esm/ix-tile.entry.js.map +1 -1
  739. package/dist/esm/ix-time-picker.entry.js +1 -1
  740. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  741. package/dist/esm/ix-toast-container.entry.js +10 -6
  742. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  743. package/dist/esm/ix-toast.entry.js +2 -2
  744. package/dist/esm/ix-toast.entry.js.map +1 -1
  745. package/dist/esm/ix-toggle-button.entry.js +2 -2
  746. package/dist/esm/ix-toggle-button.entry.js.map +1 -1
  747. package/dist/esm/ix-toggle.entry.js +3 -3
  748. package/dist/esm/ix-tree-item.entry.js +4 -4
  749. package/dist/esm/ix-tree.entry.js +1 -1
  750. package/dist/esm/ix-tree.entry.js.map +1 -1
  751. package/dist/esm/ix-upload.entry.js +3 -3
  752. package/dist/esm/ix-validation-tooltip.entry.js +5 -2
  753. package/dist/esm/ix-validation-tooltip.entry.js.map +1 -1
  754. package/dist/esm/ix-workflow-step.entry.js +4 -3
  755. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  756. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  757. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  758. package/dist/esm/loader.js +3 -3
  759. package/dist/esm/make-ref-4b76e9b5.js.map +1 -1
  760. package/dist/esm/{menu-tabs-fc-563a74d9.js → menu-tabs-fc-43b4155d.js} +11 -4
  761. package/dist/esm/menu-tabs-fc-43b4155d.js.map +1 -0
  762. package/dist/esm/{setup-9c5fe321.js → setup-3a3f57db.js} +12 -2
  763. package/dist/esm/setup-3a3f57db.js.map +1 -0
  764. package/dist/esm/shadow-dom-cc0bc152.js.map +1 -1
  765. package/dist/esm/siemens-ix.js +3 -3
  766. package/dist/esm/{validation-45aa490c.js → validation-54137eaa.js} +2 -8
  767. package/dist/esm/validation-54137eaa.js.map +1 -0
  768. package/dist/siemens-ix/index.esm.js +1 -1
  769. package/dist/siemens-ix/index.esm.js.map +1 -1
  770. package/dist/siemens-ix/{p-bd4c1a44.entry.js → p-03136fc0.entry.js} +2 -2
  771. package/dist/siemens-ix/p-03136fc0.entry.js.map +1 -0
  772. package/dist/siemens-ix/{p-22cba43a.entry.js → p-060d5c58.entry.js} +2 -2
  773. package/dist/siemens-ix/{p-475ac85f.entry.js → p-08168e53.entry.js} +2 -2
  774. package/dist/siemens-ix/{p-475ac85f.entry.js.map → p-08168e53.entry.js.map} +1 -1
  775. package/dist/siemens-ix/p-088ad2da.entry.js +2 -0
  776. package/dist/siemens-ix/p-088ad2da.entry.js.map +1 -0
  777. package/dist/siemens-ix/p-0c8a6f43.entry.js +2 -0
  778. package/dist/siemens-ix/{p-0be907d4.entry.js.map → p-0c8a6f43.entry.js.map} +1 -1
  779. package/dist/siemens-ix/{p-8457d846.entry.js → p-0cb18eff.entry.js} +2 -2
  780. package/dist/siemens-ix/p-0cb18eff.entry.js.map +1 -0
  781. package/dist/siemens-ix/{p-2a34a0c2.entry.js → p-0f44ccd1.entry.js} +2 -2
  782. package/dist/siemens-ix/{p-2a34a0c2.entry.js.map → p-0f44ccd1.entry.js.map} +1 -1
  783. package/dist/siemens-ix/p-14d038c6.entry.js +2 -0
  784. package/dist/siemens-ix/p-14d038c6.entry.js.map +1 -0
  785. package/dist/siemens-ix/{p-6722bcff.entry.js → p-16055d56.entry.js} +2 -2
  786. package/dist/siemens-ix/{p-6722bcff.entry.js.map → p-16055d56.entry.js.map} +1 -1
  787. package/dist/siemens-ix/p-177268f7.entry.js +2 -0
  788. package/dist/siemens-ix/p-177268f7.entry.js.map +1 -0
  789. package/dist/siemens-ix/{p-f97a15c4.js → p-186a1f30.js} +2 -2
  790. package/dist/siemens-ix/p-186a1f30.js.map +1 -0
  791. package/dist/siemens-ix/{p-42320fb3.entry.js → p-19d1c463.entry.js} +2 -2
  792. package/dist/siemens-ix/{p-2d3a6d29.entry.js → p-1bff0a1f.entry.js} +2 -2
  793. package/dist/siemens-ix/{p-8da941cd.entry.js → p-1c74bd8b.entry.js} +2 -2
  794. package/dist/siemens-ix/{p-8da941cd.entry.js.map → p-1c74bd8b.entry.js.map} +1 -1
  795. package/dist/siemens-ix/{p-a4dc6824.entry.js → p-1d545640.entry.js} +2 -2
  796. package/dist/siemens-ix/p-1d545640.entry.js.map +1 -0
  797. package/dist/siemens-ix/p-21a8aeaf.js +2 -0
  798. package/dist/siemens-ix/p-21a8aeaf.js.map +1 -0
  799. package/dist/siemens-ix/p-227b0ddd.entry.js +2 -0
  800. package/dist/siemens-ix/p-227b0ddd.entry.js.map +1 -0
  801. package/dist/siemens-ix/{p-63dd987f.entry.js → p-22fc61c9.entry.js} +2 -2
  802. package/dist/siemens-ix/p-22fc61c9.entry.js.map +1 -0
  803. package/dist/siemens-ix/{p-ede52531.entry.js → p-2396b68a.entry.js} +2 -2
  804. package/dist/siemens-ix/p-2396b68a.entry.js.map +1 -0
  805. package/dist/siemens-ix/{p-b2a06e46.entry.js → p-27befdd7.entry.js} +2 -2
  806. package/dist/siemens-ix/p-27befdd7.entry.js.map +1 -0
  807. package/dist/siemens-ix/{p-286feb7e.entry.js → p-297cd68a.entry.js} +2 -2
  808. package/dist/siemens-ix/{p-6bae4e9b.entry.js → p-2f29e208.entry.js} +2 -2
  809. package/dist/siemens-ix/{p-6bae4e9b.entry.js.map → p-2f29e208.entry.js.map} +1 -1
  810. package/dist/siemens-ix/p-309b82ec.entry.js +2 -0
  811. package/dist/siemens-ix/{p-4ec6ddfb.entry.js → p-30a24560.entry.js} +2 -2
  812. package/dist/siemens-ix/p-30a24560.entry.js.map +1 -0
  813. package/dist/siemens-ix/{p-37af7117.entry.js → p-327a1655.entry.js} +2 -2
  814. package/dist/siemens-ix/p-327a1655.entry.js.map +1 -0
  815. package/dist/siemens-ix/p-345e1c73.js.map +1 -1
  816. package/dist/siemens-ix/{p-6624076c.entry.js → p-353f081a.entry.js} +2 -2
  817. package/dist/siemens-ix/p-37eadb06.entry.js +2 -0
  818. package/dist/siemens-ix/{p-ffca56d6.entry.js.map → p-37eadb06.entry.js.map} +1 -1
  819. package/dist/siemens-ix/{p-dfb181c1.entry.js → p-37f1d0ed.entry.js} +2 -2
  820. package/dist/siemens-ix/p-37f1d0ed.entry.js.map +1 -0
  821. package/dist/siemens-ix/{p-5c1b136c.entry.js → p-388b9368.entry.js} +2 -2
  822. package/dist/siemens-ix/{p-5c1b136c.entry.js.map → p-388b9368.entry.js.map} +1 -1
  823. package/dist/siemens-ix/{p-d929f23d.entry.js → p-3fd2bacd.entry.js} +2 -2
  824. package/dist/siemens-ix/{p-d929f23d.entry.js.map → p-3fd2bacd.entry.js.map} +1 -1
  825. package/dist/siemens-ix/{p-ee0645f8.entry.js → p-40da22b1.entry.js} +2 -2
  826. package/dist/siemens-ix/p-40da22b1.entry.js.map +1 -0
  827. package/dist/siemens-ix/{p-4cc79e8f.entry.js → p-44425604.entry.js} +2 -2
  828. package/dist/siemens-ix/{p-05839c77.entry.js → p-48d6554c.entry.js} +2 -2
  829. package/dist/siemens-ix/p-49ca9211.entry.js +2 -0
  830. package/dist/siemens-ix/{p-fe396297.entry.js.map → p-49ca9211.entry.js.map} +1 -1
  831. package/dist/siemens-ix/{p-0b2f0536.entry.js → p-4cb35508.entry.js} +2 -2
  832. package/dist/siemens-ix/p-4e51d716.entry.js.map +1 -1
  833. package/dist/siemens-ix/p-559cdf73.js +2 -0
  834. package/dist/siemens-ix/p-559cdf73.js.map +1 -0
  835. package/dist/siemens-ix/p-5767345b.entry.js +2 -0
  836. package/dist/siemens-ix/p-5b86301e.js +2 -0
  837. package/dist/siemens-ix/p-5b86301e.js.map +1 -0
  838. package/dist/siemens-ix/p-5fe87e71.js.map +1 -1
  839. package/dist/siemens-ix/{p-cbfca958.entry.js → p-617b3d78.entry.js} +2 -2
  840. package/dist/siemens-ix/{p-654f91f2.entry.js → p-623297ef.entry.js} +2 -2
  841. package/dist/siemens-ix/p-623297ef.entry.js.map +1 -0
  842. package/dist/siemens-ix/p-637df471.entry.js +2 -0
  843. package/dist/siemens-ix/p-637df471.entry.js.map +1 -0
  844. package/dist/siemens-ix/p-6635972c.entry.js +2 -0
  845. package/dist/siemens-ix/p-6635972c.entry.js.map +1 -0
  846. package/dist/siemens-ix/{p-48718dc1.entry.js → p-67209151.entry.js} +2 -2
  847. package/dist/siemens-ix/p-67209151.entry.js.map +1 -0
  848. package/dist/siemens-ix/{p-1c5ebea3.entry.js → p-676a4bd0.entry.js} +2 -2
  849. package/dist/siemens-ix/{p-1c5ebea3.entry.js.map → p-676a4bd0.entry.js.map} +1 -1
  850. package/dist/siemens-ix/{p-bfe469e4.entry.js → p-6af64cf4.entry.js} +2 -2
  851. package/dist/siemens-ix/{p-bfe469e4.entry.js.map → p-6af64cf4.entry.js.map} +1 -1
  852. package/dist/siemens-ix/{p-392b4297.entry.js → p-6b84501c.entry.js} +2 -2
  853. package/dist/siemens-ix/{p-392b4297.entry.js.map → p-6b84501c.entry.js.map} +1 -1
  854. package/dist/siemens-ix/{p-484aa96b.js → p-6ccf39dd.js} +2 -2
  855. package/dist/siemens-ix/p-6ccf39dd.js.map +1 -0
  856. package/dist/siemens-ix/{p-66178fe6.entry.js → p-6f3b0a66.entry.js} +2 -2
  857. package/dist/siemens-ix/{p-66178fe6.entry.js.map → p-6f3b0a66.entry.js.map} +1 -1
  858. package/dist/siemens-ix/{p-edc1d44a.entry.js → p-6f970ba4.entry.js} +2 -2
  859. package/dist/siemens-ix/p-6f970ba4.entry.js.map +1 -0
  860. package/dist/siemens-ix/{p-af7c4b16.entry.js → p-71a4590c.entry.js} +2 -2
  861. package/dist/siemens-ix/{p-be860121.entry.js → p-790709c5.entry.js} +2 -2
  862. package/dist/siemens-ix/p-790709c5.entry.js.map +1 -0
  863. package/dist/siemens-ix/{p-d9b654af.entry.js → p-7b65535a.entry.js} +2 -2
  864. package/dist/siemens-ix/p-7b65535a.entry.js.map +1 -0
  865. package/dist/siemens-ix/{p-e7ac5657.entry.js → p-7e91e565.entry.js} +2 -2
  866. package/dist/siemens-ix/p-7e91e565.entry.js.map +1 -0
  867. package/dist/siemens-ix/p-8039ec6b.entry.js +2 -0
  868. package/dist/siemens-ix/p-8039ec6b.entry.js.map +1 -0
  869. package/dist/siemens-ix/p-8964b303.entry.js +2 -0
  870. package/dist/siemens-ix/p-8964b303.entry.js.map +1 -0
  871. package/dist/siemens-ix/p-89734934.js +2 -0
  872. package/dist/siemens-ix/{p-d2f21544.js.map → p-89734934.js.map} +1 -1
  873. package/dist/siemens-ix/{p-b74a8cdc.entry.js → p-8a6d403c.entry.js} +2 -2
  874. package/dist/siemens-ix/p-8a6d403c.entry.js.map +1 -0
  875. package/dist/siemens-ix/{p-afb4565c.entry.js → p-8df3318f.entry.js} +2 -2
  876. package/dist/siemens-ix/p-8df3318f.entry.js.map +1 -0
  877. package/dist/siemens-ix/p-8efd9181.entry.js +2 -0
  878. package/dist/siemens-ix/p-8efd9181.entry.js.map +1 -0
  879. package/dist/siemens-ix/{p-d0b38ae2.entry.js → p-9213afda.entry.js} +2 -2
  880. package/dist/siemens-ix/{p-d0b38ae2.entry.js.map → p-9213afda.entry.js.map} +1 -1
  881. package/dist/siemens-ix/p-93fab3c7.entry.js +2 -0
  882. package/dist/siemens-ix/{p-c236cf18.entry.js.map → p-93fab3c7.entry.js.map} +1 -1
  883. package/dist/siemens-ix/{p-b62f8f62.entry.js → p-988ca463.entry.js} +2 -2
  884. package/dist/siemens-ix/{p-83da8f11.entry.js → p-9c63869a.entry.js} +2 -2
  885. package/dist/siemens-ix/p-9dd344d4.entry.js +2 -0
  886. package/dist/siemens-ix/{p-2643f32a.entry.js.map → p-9dd344d4.entry.js.map} +1 -1
  887. package/dist/siemens-ix/{p-815699d1.entry.js → p-9df683f8.entry.js} +2 -2
  888. package/dist/siemens-ix/p-9df683f8.entry.js.map +1 -0
  889. package/dist/siemens-ix/{p-c530de51.entry.js → p-a36ee7b7.entry.js} +2 -2
  890. package/dist/siemens-ix/p-a36ee7b7.entry.js.map +1 -0
  891. package/dist/siemens-ix/p-aac089f0.entry.js +2 -0
  892. package/dist/siemens-ix/p-aac089f0.entry.js.map +1 -0
  893. package/dist/siemens-ix/p-ac9bb8be.entry.js +2 -0
  894. package/dist/siemens-ix/{p-9f960c0b.entry.js → p-af565741.entry.js} +2 -2
  895. package/dist/siemens-ix/p-af565741.entry.js.map +1 -0
  896. package/dist/siemens-ix/p-b00f255c.entry.js +2 -0
  897. package/dist/siemens-ix/{p-a36ad7c7.entry.js → p-b8b7aa8e.entry.js} +2 -2
  898. package/dist/siemens-ix/{p-97d4b3bd.entry.js → p-ba1aeecb.entry.js} +2 -2
  899. package/dist/siemens-ix/p-ba1aeecb.entry.js.map +1 -0
  900. package/dist/siemens-ix/{p-df7060ae.entry.js → p-ba60132f.entry.js} +2 -2
  901. package/dist/siemens-ix/{p-54efe56b.entry.js → p-bb33784f.entry.js} +2 -2
  902. package/dist/siemens-ix/{p-2d7ea063.entry.js → p-bb99415f.entry.js} +2 -2
  903. package/dist/siemens-ix/p-bb99415f.entry.js.map +1 -0
  904. package/dist/siemens-ix/{p-2db63240.entry.js → p-bc05aafe.entry.js} +2 -2
  905. package/dist/siemens-ix/p-bc05aafe.entry.js.map +1 -0
  906. package/dist/siemens-ix/{p-d19b52bd.entry.js → p-bf01468d.entry.js} +2 -2
  907. package/dist/siemens-ix/{p-8c2b62c3.entry.js → p-c272dbbd.entry.js} +2 -2
  908. package/dist/siemens-ix/p-c272dbbd.entry.js.map +1 -0
  909. package/dist/siemens-ix/p-c4b75f38.entry.js +2 -0
  910. package/dist/siemens-ix/{p-caf49e00.entry.js → p-c7c8e52b.entry.js} +2 -2
  911. package/dist/siemens-ix/{p-57e60a06.entry.js → p-ca95654f.entry.js} +2 -2
  912. package/dist/siemens-ix/{p-57e60a06.entry.js.map → p-ca95654f.entry.js.map} +1 -1
  913. package/dist/siemens-ix/p-ce563a48.js.map +1 -1
  914. package/dist/siemens-ix/{p-3f367d44.entry.js → p-d489e0b3.entry.js} +2 -2
  915. package/dist/siemens-ix/{p-3f367d44.entry.js.map → p-d489e0b3.entry.js.map} +1 -1
  916. package/dist/siemens-ix/p-d70eb520.entry.js +2 -0
  917. package/dist/siemens-ix/p-d70eb520.entry.js.map +1 -0
  918. package/dist/siemens-ix/p-d8c93983.entry.js +2 -0
  919. package/dist/siemens-ix/{p-243e8b32.entry.js.map → p-d8c93983.entry.js.map} +1 -1
  920. package/dist/siemens-ix/{p-9d323232.entry.js → p-d9b3c267.entry.js} +2 -2
  921. package/dist/siemens-ix/{p-9d323232.entry.js.map → p-d9b3c267.entry.js.map} +1 -1
  922. package/dist/siemens-ix/{p-5fbdff13.entry.js → p-dcc76d47.entry.js} +2 -2
  923. package/dist/siemens-ix/{p-0f2bf43d.entry.js → p-e09995d4.entry.js} +2 -2
  924. package/dist/siemens-ix/{p-0b5c9f33.entry.js → p-e1e48602.entry.js} +2 -2
  925. package/dist/siemens-ix/p-ebfaeb95.entry.js +2 -0
  926. package/dist/siemens-ix/{p-c6796e64.entry.js.map → p-ebfaeb95.entry.js.map} +1 -1
  927. package/dist/siemens-ix/{p-bc272f75.entry.js → p-f023b24b.entry.js} +2 -2
  928. package/dist/siemens-ix/p-f023b24b.entry.js.map +1 -0
  929. package/dist/siemens-ix/p-f5ccceb6.entry.js +2 -0
  930. package/dist/siemens-ix/p-f5ccceb6.entry.js.map +1 -0
  931. package/dist/siemens-ix/p-f815f96e.entry.js +2 -0
  932. package/dist/siemens-ix/p-f815f96e.entry.js.map +1 -0
  933. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  934. package/dist/siemens-ix/siemens-ix.css +3 -3
  935. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  936. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  937. package/dist/types/components/application/application.d.ts +4 -4
  938. package/dist/types/components/application-header/application-header.d.ts +8 -2
  939. package/dist/types/components/application-header/application-switch-modal/application-switch-modal.d.ts +1 -1
  940. package/dist/types/components/application-sidebar/events.d.ts +2 -2
  941. package/dist/types/components/basic-navigation/basic-navigation.d.ts +3 -3
  942. package/dist/types/components/blind/blind.d.ts +1 -1
  943. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +2 -2
  944. package/dist/types/components/button/base-button.d.ts +1 -1
  945. package/dist/types/components/button/button-component.d.ts +31 -0
  946. package/dist/types/components/button/button.d.ts +2 -1
  947. package/dist/types/components/card-accordion/card-accordion.d.ts +1 -1
  948. package/dist/types/components/category-filter/category-filter.d.ts +1 -1
  949. package/dist/types/components/chip/chip.d.ts +2 -2
  950. package/dist/types/components/date-dropdown/date-dropdown.d.ts +19 -1
  951. package/dist/types/components/date-input/date-input.d.ts +1 -1
  952. package/dist/types/components/date-picker/date-picker.d.ts +2 -2
  953. package/dist/types/components/dropdown/dropdown-controller.d.ts +2 -2
  954. package/dist/types/components/dropdown/dropdown.d.ts +1 -1
  955. package/dist/types/components/dropdown-header/dropdown-header.d.ts +1 -1
  956. package/dist/types/components/empty-state/empty-state.d.ts +3 -3
  957. package/dist/types/components/expanding-search/expanding-search.d.ts +15 -1
  958. package/dist/types/components/field-wrapper/helper-text-util.d.ts +1 -1
  959. package/dist/types/components/filter-chip/filter-chip.d.ts +1 -1
  960. package/dist/types/components/flip-tile/flip-tile.d.ts +2 -2
  961. package/dist/types/components/group/group.d.ts +1 -1
  962. package/dist/types/components/icon-button/icon-button.d.ts +4 -4
  963. package/dist/types/components/icon-toggle-button/icon-toggle-button.d.ts +1 -1
  964. package/dist/types/components/input/input.d.ts +3 -1
  965. package/dist/types/components/input/input.util.d.ts +2 -0
  966. package/dist/types/components/input/number-input.d.ts +3 -1
  967. package/dist/types/components/input/tests/validation.ct.d.ts +1 -0
  968. package/dist/types/components/input-group/input-group.d.ts +1 -1
  969. package/dist/types/components/key-value/key-value.d.ts +2 -2
  970. package/dist/types/components/kpi/kpi.d.ts +3 -3
  971. package/dist/types/components/link-button/link-button.d.ts +1 -1
  972. package/dist/types/components/map-navigation/map-navigation.d.ts +2 -2
  973. package/dist/types/components/map-navigation-overlay/map-navigation-overlay.d.ts +4 -4
  974. package/dist/types/components/menu/menu-expand-icon.d.ts +1 -1
  975. package/dist/types/components/menu/menu.d.ts +12 -5
  976. package/dist/types/components/menu-about/menu-about.d.ts +1 -1
  977. package/dist/types/components/menu-about-item/menu-about-item.d.ts +1 -1
  978. package/dist/types/components/menu-about-news/menu-about-news.d.ts +2 -2
  979. package/dist/types/components/menu-avatar/menu-avatar.d.ts +4 -4
  980. package/dist/types/components/menu-avatar-item/menu-avatar-item.d.ts +3 -3
  981. package/dist/types/components/menu-category/menu-category.d.ts +6 -6
  982. package/dist/types/components/menu-settings/menu-settings.d.ts +1 -1
  983. package/dist/types/components/menu-settings-item/menu-settings-item.d.ts +1 -1
  984. package/dist/types/components/message-bar/message-bar.d.ts +2 -2
  985. package/dist/types/components/modal/modal.d.ts +2 -2
  986. package/dist/types/components/pane/pane.d.ts +1 -1
  987. package/dist/types/components/pill/pill.d.ts +6 -2
  988. package/dist/types/components/pill/tests/pill.ct.d.ts +1 -0
  989. package/dist/types/components/select/select.d.ts +16 -1
  990. package/dist/types/components/select/test/select-keyboard.ct.d.ts +1 -0
  991. package/dist/types/components/select-item/select-item.d.ts +1 -1
  992. package/dist/types/components/slider/slider.d.ts +1 -1
  993. package/dist/types/components/split-button/split-button.d.ts +3 -3
  994. package/dist/types/components/split-button-item/split-button-item.d.ts +2 -2
  995. package/dist/types/components/tabs/tabs.d.ts +1 -1
  996. package/dist/types/components/time-picker/time-picker.d.ts +1 -1
  997. package/dist/types/components/toast/toast.d.ts +3 -3
  998. package/dist/types/components/toggle-button/toggle-button.d.ts +1 -1
  999. package/dist/types/components/tree/tree.d.ts +1 -1
  1000. package/dist/types/components/utils/a11y.d.ts +1 -1
  1001. package/dist/types/components/utils/application-layout/context.d.ts +3 -3
  1002. package/dist/types/components/utils/application-layout/service.d.ts +1 -1
  1003. package/dist/types/components/utils/context.d.ts +2 -2
  1004. package/dist/types/components/utils/find-element.d.ts +1 -1
  1005. package/dist/types/components/utils/lazy-list/lazy.d.ts +1 -1
  1006. package/dist/types/components/utils/make-ref.d.ts +1 -1
  1007. package/dist/types/components/utils/menu-service/menu-service.d.ts +1 -1
  1008. package/dist/types/components/utils/modal/message.d.ts +5 -5
  1009. package/dist/types/components/utils/shadow-dom.d.ts +2 -2
  1010. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +7 -7
  1011. package/dist/types/components/workflow-steps/workflow-steps.d.ts +1 -1
  1012. package/dist/types/components.d.ts +147 -59
  1013. package/dist/types/setup.ct.d.ts +1 -0
  1014. package/dist/types/setup.d.ts +1 -0
  1015. package/dist/types/tests/utils/test/index.d.ts +1 -1
  1016. package/dist/types/tests/utils/test/page.d.ts +12 -2
  1017. package/hydrate/index.js +429 -295
  1018. package/package.json +3 -4
  1019. package/scss/components/form/_input.scss +4 -1
  1020. package/dist/cjs/index-492e6488.js.map +0 -1
  1021. package/dist/cjs/input.util-54d161e6.js.map +0 -1
  1022. package/dist/cjs/menu-tabs-fc-eb899b0d.js.map +0 -1
  1023. package/dist/cjs/setup-cc07fbfc.js.map +0 -1
  1024. package/dist/cjs/validation-1e3dd5ee.js.map +0 -1
  1025. package/dist/esm/app-globals-40082a83.js +0 -7
  1026. package/dist/esm/index-7421df0c.js.map +0 -1
  1027. package/dist/esm/input.util-c855b2ed.js.map +0 -1
  1028. package/dist/esm/menu-tabs-fc-563a74d9.js.map +0 -1
  1029. package/dist/esm/setup-9c5fe321.js.map +0 -1
  1030. package/dist/esm/validation-45aa490c.js.map +0 -1
  1031. package/dist/siemens-ix/p-08463669.entry.js +0 -2
  1032. package/dist/siemens-ix/p-08463669.entry.js.map +0 -1
  1033. package/dist/siemens-ix/p-0be907d4.entry.js +0 -2
  1034. package/dist/siemens-ix/p-18542846.entry.js +0 -2
  1035. package/dist/siemens-ix/p-18542846.entry.js.map +0 -1
  1036. package/dist/siemens-ix/p-20938f73.entry.js +0 -2
  1037. package/dist/siemens-ix/p-20938f73.entry.js.map +0 -1
  1038. package/dist/siemens-ix/p-243e8b32.entry.js +0 -2
  1039. package/dist/siemens-ix/p-2643f32a.entry.js +0 -2
  1040. package/dist/siemens-ix/p-2b367b12.entry.js +0 -2
  1041. package/dist/siemens-ix/p-2b367b12.entry.js.map +0 -1
  1042. package/dist/siemens-ix/p-2b9c5f59.entry.js +0 -2
  1043. package/dist/siemens-ix/p-2d7ea063.entry.js.map +0 -1
  1044. package/dist/siemens-ix/p-2db63240.entry.js.map +0 -1
  1045. package/dist/siemens-ix/p-37af7117.entry.js.map +0 -1
  1046. package/dist/siemens-ix/p-3aaecbd9.js +0 -2
  1047. package/dist/siemens-ix/p-3aaecbd9.js.map +0 -1
  1048. package/dist/siemens-ix/p-40dc610f.entry.js +0 -2
  1049. package/dist/siemens-ix/p-40dc610f.entry.js.map +0 -1
  1050. package/dist/siemens-ix/p-451551d1.js +0 -2
  1051. package/dist/siemens-ix/p-451551d1.js.map +0 -1
  1052. package/dist/siemens-ix/p-484aa96b.js.map +0 -1
  1053. package/dist/siemens-ix/p-48718dc1.entry.js.map +0 -1
  1054. package/dist/siemens-ix/p-4a631d9c.entry.js +0 -2
  1055. package/dist/siemens-ix/p-4a631d9c.entry.js.map +0 -1
  1056. package/dist/siemens-ix/p-4a9330a5.entry.js +0 -2
  1057. package/dist/siemens-ix/p-4a9330a5.entry.js.map +0 -1
  1058. package/dist/siemens-ix/p-4ec6ddfb.entry.js.map +0 -1
  1059. package/dist/siemens-ix/p-52928e21.entry.js +0 -2
  1060. package/dist/siemens-ix/p-52928e21.entry.js.map +0 -1
  1061. package/dist/siemens-ix/p-53fd545a.entry.js +0 -2
  1062. package/dist/siemens-ix/p-53fd545a.entry.js.map +0 -1
  1063. package/dist/siemens-ix/p-63dd987f.entry.js.map +0 -1
  1064. package/dist/siemens-ix/p-654f91f2.entry.js.map +0 -1
  1065. package/dist/siemens-ix/p-66559451.entry.js +0 -2
  1066. package/dist/siemens-ix/p-6e3f1de3.entry.js +0 -2
  1067. package/dist/siemens-ix/p-6e3f1de3.entry.js.map +0 -1
  1068. package/dist/siemens-ix/p-7aa07d9b.entry.js +0 -2
  1069. package/dist/siemens-ix/p-7af324e9.entry.js +0 -2
  1070. package/dist/siemens-ix/p-7af324e9.entry.js.map +0 -1
  1071. package/dist/siemens-ix/p-815699d1.entry.js.map +0 -1
  1072. package/dist/siemens-ix/p-8457d846.entry.js.map +0 -1
  1073. package/dist/siemens-ix/p-897c8e5b.entry.js +0 -2
  1074. package/dist/siemens-ix/p-897c8e5b.entry.js.map +0 -1
  1075. package/dist/siemens-ix/p-8c2b62c3.entry.js.map +0 -1
  1076. package/dist/siemens-ix/p-97d4b3bd.entry.js.map +0 -1
  1077. package/dist/siemens-ix/p-9f960c0b.entry.js.map +0 -1
  1078. package/dist/siemens-ix/p-a4dc6824.entry.js.map +0 -1
  1079. package/dist/siemens-ix/p-a61ed462.entry.js +0 -2
  1080. package/dist/siemens-ix/p-afb4565c.entry.js.map +0 -1
  1081. package/dist/siemens-ix/p-b2a06e46.entry.js.map +0 -1
  1082. package/dist/siemens-ix/p-b74a8cdc.entry.js.map +0 -1
  1083. package/dist/siemens-ix/p-bc272f75.entry.js.map +0 -1
  1084. package/dist/siemens-ix/p-bd4c1a44.entry.js.map +0 -1
  1085. package/dist/siemens-ix/p-be860121.entry.js.map +0 -1
  1086. package/dist/siemens-ix/p-c07557b0.entry.js +0 -2
  1087. package/dist/siemens-ix/p-c07557b0.entry.js.map +0 -1
  1088. package/dist/siemens-ix/p-c236cf18.entry.js +0 -2
  1089. package/dist/siemens-ix/p-c3ca17fc.js +0 -2
  1090. package/dist/siemens-ix/p-c3ca17fc.js.map +0 -1
  1091. package/dist/siemens-ix/p-c530de51.entry.js.map +0 -1
  1092. package/dist/siemens-ix/p-c6796e64.entry.js +0 -2
  1093. package/dist/siemens-ix/p-d01f05cf.entry.js +0 -2
  1094. package/dist/siemens-ix/p-d2f21544.js +0 -2
  1095. package/dist/siemens-ix/p-d9b654af.entry.js.map +0 -1
  1096. package/dist/siemens-ix/p-dfb181c1.entry.js.map +0 -1
  1097. package/dist/siemens-ix/p-e7ac5657.entry.js.map +0 -1
  1098. package/dist/siemens-ix/p-edc1d44a.entry.js.map +0 -1
  1099. package/dist/siemens-ix/p-ede52531.entry.js.map +0 -1
  1100. package/dist/siemens-ix/p-ee0645f8.entry.js.map +0 -1
  1101. package/dist/siemens-ix/p-f97a15c4.js.map +0 -1
  1102. package/dist/siemens-ix/p-fe396297.entry.js +0 -2
  1103. package/dist/siemens-ix/p-ffca56d6.entry.js +0 -2
  1104. /package/dist/siemens-ix/{p-22cba43a.entry.js.map → p-060d5c58.entry.js.map} +0 -0
  1105. /package/dist/siemens-ix/{p-42320fb3.entry.js.map → p-19d1c463.entry.js.map} +0 -0
  1106. /package/dist/siemens-ix/{p-2d3a6d29.entry.js.map → p-1bff0a1f.entry.js.map} +0 -0
  1107. /package/dist/siemens-ix/{p-286feb7e.entry.js.map → p-297cd68a.entry.js.map} +0 -0
  1108. /package/dist/siemens-ix/{p-2b9c5f59.entry.js.map → p-309b82ec.entry.js.map} +0 -0
  1109. /package/dist/siemens-ix/{p-6624076c.entry.js.map → p-353f081a.entry.js.map} +0 -0
  1110. /package/dist/siemens-ix/{p-4cc79e8f.entry.js.map → p-44425604.entry.js.map} +0 -0
  1111. /package/dist/siemens-ix/{p-05839c77.entry.js.map → p-48d6554c.entry.js.map} +0 -0
  1112. /package/dist/siemens-ix/{p-0b2f0536.entry.js.map → p-4cb35508.entry.js.map} +0 -0
  1113. /package/dist/siemens-ix/{p-a61ed462.entry.js.map → p-5767345b.entry.js.map} +0 -0
  1114. /package/dist/siemens-ix/{p-cbfca958.entry.js.map → p-617b3d78.entry.js.map} +0 -0
  1115. /package/dist/siemens-ix/{p-af7c4b16.entry.js.map → p-71a4590c.entry.js.map} +0 -0
  1116. /package/dist/siemens-ix/{p-b62f8f62.entry.js.map → p-988ca463.entry.js.map} +0 -0
  1117. /package/dist/siemens-ix/{p-83da8f11.entry.js.map → p-9c63869a.entry.js.map} +0 -0
  1118. /package/dist/siemens-ix/{p-7aa07d9b.entry.js.map → p-ac9bb8be.entry.js.map} +0 -0
  1119. /package/dist/siemens-ix/{p-d01f05cf.entry.js.map → p-b00f255c.entry.js.map} +0 -0
  1120. /package/dist/siemens-ix/{p-a36ad7c7.entry.js.map → p-b8b7aa8e.entry.js.map} +0 -0
  1121. /package/dist/siemens-ix/{p-df7060ae.entry.js.map → p-ba60132f.entry.js.map} +0 -0
  1122. /package/dist/siemens-ix/{p-54efe56b.entry.js.map → p-bb33784f.entry.js.map} +0 -0
  1123. /package/dist/siemens-ix/{p-d19b52bd.entry.js.map → p-bf01468d.entry.js.map} +0 -0
  1124. /package/dist/siemens-ix/{p-66559451.entry.js.map → p-c4b75f38.entry.js.map} +0 -0
  1125. /package/dist/siemens-ix/{p-caf49e00.entry.js.map → p-c7c8e52b.entry.js.map} +0 -0
  1126. /package/dist/siemens-ix/{p-5fbdff13.entry.js.map → p-dcc76d47.entry.js.map} +0 -0
  1127. /package/dist/siemens-ix/{p-0f2bf43d.entry.js.map → p-e09995d4.entry.js.map} +0 -0
  1128. /package/dist/siemens-ix/{p-0b5c9f33.entry.js.map → p-e1e48602.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop } from '@stencil/core';\nimport { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { getFallbackLabelFromIconName } from '../utils/a11y';\n\nexport type IconButtonVariant = ButtonVariant;\n\n@Component({\n tag: 'ix-icon-button',\n styleUrl: 'icon-button.scss',\n shadow: true,\n})\nexport class IconButton {\n @Element() hostElement: HTMLIxIconButtonElement;\n\n /**\n * Accessibility label for the icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 2.1.0\n */\n @Prop({ attribute: 'a11y-label' }) a11yLabel: string;\n\n /**\n * Variant of button\n * @since 2.3.0 - variant danger\n */\n @Prop() variant: IconButtonVariant = 'secondary';\n\n /**\n * Button outline\n */\n @Prop() outline: boolean;\n\n /**\n * Button invisible\n */\n @Prop() ghost: boolean;\n\n /**\n * Button in oval shape\n */\n @Prop() oval: boolean;\n\n /**\n * Icon name\n */\n @Prop() icon: string;\n\n /**\n * Size of icon in button\n *\n * @deprecated Only size 32 will be removed in 3.0.0\n */\n @Prop() size: '32' | '24' | '16' | '12' = '24';\n\n /**\n * Color of icon in button\n *\n * @deprecated since 2.1.0 use `icon-color`\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() color: string;\n\n /**\n * Color of icon in button\n */\n @Prop() iconColor: string;\n\n /**\n * Disabled\n */\n @Prop() disabled = false;\n\n /**\n * Type of the button\n */\n @Prop() type: 'button' | 'submit' = 'button';\n\n /**\n * Loading button\n *\n * @since 2.0.0\n */\n @Prop() loading = false;\n\n /**\n * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284)\n */\n submitButtonElement: HTMLButtonElement;\n\n componentDidLoad() {\n if (this.type === 'submit') {\n const submitButton = document.createElement('button');\n submitButton.style.display = 'none';\n submitButton.type = 'submit';\n submitButton.tabIndex = -1;\n this.hostElement.appendChild(submitButton);\n\n this.submitButtonElement = submitButton;\n }\n }\n\n dispatchFormEvents() {\n if (this.type === 'submit' && this.submitButtonElement) {\n this.submitButtonElement.click();\n }\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '32' || this.size === '24' || !this.size,\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n ariaAttributes: {\n 'aria-label': this.a11yLabel\n ? this.a11yLabel\n : getFallbackLabelFromIconName(this.icon),\n },\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: this.oval,\n selected: false,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconColor: this.iconColor ?? this.color,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchFormEvents(),\n type: this.type,\n extraClasses: this.getIconSizeClass(),\n };\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop } from '@stencil/core';\nimport { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { getFallbackLabelFromIconName } from '../utils/a11y';\n\nexport type IconButtonVariant = ButtonVariant;\n\n@Component({\n tag: 'ix-icon-button',\n styleUrl: 'icon-button.scss',\n shadow: true,\n})\nexport class IconButton {\n @Element() hostElement!: HTMLIxIconButtonElement;\n\n /**\n * Accessibility label for the icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 2.1.0\n */\n @Prop({ attribute: 'a11y-label' }) a11yLabel?: string;\n\n /**\n * Variant of button\n * @since 2.3.0 - variant danger\n */\n @Prop() variant: IconButtonVariant = 'secondary';\n\n /**\n * Button outline\n */\n @Prop() outline: boolean = false;\n\n /**\n * Button invisible\n */\n @Prop() ghost: boolean = false;\n\n /**\n * Button in oval shape\n */\n @Prop() oval: boolean = false;\n\n /**\n * Icon name\n */\n @Prop() icon?: string;\n\n /**\n * Size of icon in button\n *\n * @deprecated Only size 32 will be removed in 3.0.0\n */\n @Prop() size: '32' | '24' | '16' | '12' = '24';\n\n /**\n * Color of icon in button\n *\n * @deprecated since 2.1.0 use `icon-color`\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() color?: string;\n\n /**\n * Color of icon in button\n */\n @Prop() iconColor?: string;\n\n /**\n * Disabled\n */\n @Prop() disabled = false;\n\n /**\n * Type of the button\n */\n @Prop() type: 'button' | 'submit' = 'button';\n\n /**\n * Loading button\n *\n * @since 2.0.0\n */\n @Prop() loading = false;\n\n /**\n * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284)\n */\n submitButtonElement!: HTMLButtonElement;\n\n componentDidLoad() {\n if (this.type === 'submit') {\n const submitButton = document.createElement('button');\n submitButton.style.display = 'none';\n submitButton.type = 'submit';\n submitButton.tabIndex = -1;\n this.hostElement.appendChild(submitButton);\n\n this.submitButtonElement = submitButton;\n }\n }\n\n dispatchFormEvents() {\n if (this.type === 'submit' && this.submitButtonElement) {\n this.submitButtonElement.click();\n }\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '32' || this.size === '24' || !this.size,\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n ariaAttributes: {\n 'aria-label': this.a11yLabel\n ? this.a11yLabel\n : getFallbackLabelFromIconName(this.icon),\n },\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: this.oval,\n selected: false,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconColor: this.iconColor ?? this.color,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchFormEvents(),\n type: this.type,\n extraClasses: this.getIconSizeClass(),\n };\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n"]}
@@ -8,6 +8,11 @@
8
8
  */
9
9
  import { newSpecPage } from "@stencil/core/testing";
10
10
  import { IconButton } from "../icon-button";
11
+ function queryButton(page) {
12
+ return page.doc
13
+ .querySelector('ix-icon-button')
14
+ .shadowRoot.querySelector('button');
15
+ }
11
16
  describe('icon-button', () => {
12
17
  it('renders', async () => {
13
18
  const page = await newSpecPage({
@@ -29,9 +34,7 @@ describe('icon-button', () => {
29
34
  `,
30
35
  });
31
36
  await page.waitForChanges();
32
- const btn = page.doc
33
- .querySelector('ix-icon-button[type="submit"]')
34
- .shadowRoot.querySelector('button');
37
+ const btn = queryButton(page);
35
38
  const shadowButton = page.doc.querySelector('ix-icon-button[type="submit"] > button');
36
39
  const onClick = jest.fn();
37
40
  shadowButton.addEventListener('click', onClick);
@@ -54,9 +57,7 @@ describe('icon-button', () => {
54
57
  `,
55
58
  });
56
59
  await page.waitForChanges();
57
- const btn = page.doc
58
- .querySelector('ix-icon-button')
59
- .shadowRoot.querySelector('button');
60
+ const btn = queryButton(page);
60
61
  const shadowButton = page.doc.querySelector('ix-icon-button > button');
61
62
  expect(btn).toBeDefined();
62
63
  expect(shadowButton).toBeNull();
@@ -68,9 +69,7 @@ describe('icon-button', () => {
68
69
  html: `<ix-icon-button icon="rocket"></ix-icon-button>`,
69
70
  });
70
71
  await page.waitForChanges();
71
- const button = page.doc
72
- .querySelector('ix-icon-button')
73
- .shadowRoot.querySelector('button');
72
+ const button = queryButton(page);
74
73
  expect(button).toHaveAttribute('aria-label');
75
74
  expect(button.getAttribute('aria-label')).toBe('Rocket');
76
75
  });
@@ -80,9 +79,7 @@ describe('icon-button', () => {
80
79
  html: `<ix-icon-button icon="about-filled"></ix-icon-button>`,
81
80
  });
82
81
  await page.waitForChanges();
83
- const button = page.doc
84
- .querySelector('ix-icon-button')
85
- .shadowRoot.querySelector('button');
82
+ const button = queryButton(page);
86
83
  expect(button).toHaveAttribute('aria-label');
87
84
  expect(button.getAttribute('aria-label')).toBe('About');
88
85
  });
@@ -92,9 +89,7 @@ describe('icon-button', () => {
92
89
  html: `<ix-icon-button icon="about-battery-filled"></ix-icon-button>`,
93
90
  });
94
91
  await page.waitForChanges();
95
- const button = page.doc
96
- .querySelector('ix-icon-button')
97
- .shadowRoot.querySelector('button');
92
+ const button = queryButton(page);
98
93
  expect(button).toHaveAttribute('aria-label');
99
94
  expect(button.getAttribute('aria-label')).toBe('About Battery');
100
95
  });
@@ -104,9 +99,7 @@ describe('icon-button', () => {
104
99
  html: `<ix-icon-button icon="battery100-percentage"></ix-icon-button>`,
105
100
  });
106
101
  await page.waitForChanges();
107
- const button = page.doc
108
- .querySelector('ix-icon-button')
109
- .shadowRoot.querySelector('button');
102
+ const button = queryButton(page);
110
103
  expect(button).toHaveAttribute('aria-label');
111
104
  expect(button.getAttribute('aria-label')).toBe('Battery Percentage');
112
105
  });
@@ -116,9 +109,7 @@ describe('icon-button', () => {
116
109
  html: `<ix-icon-button icon="battery-100-percentage"></ix-icon-button>`,
117
110
  });
118
111
  await page.waitForChanges();
119
- const button = page.doc
120
- .querySelector('ix-icon-button')
121
- .shadowRoot.querySelector('button');
112
+ const button = queryButton(page);
122
113
  expect(button).toHaveAttribute('aria-label');
123
114
  expect(button.getAttribute('aria-label')).toBe('Battery 100 Percentage');
124
115
  });
@@ -128,9 +119,7 @@ describe('icon-button', () => {
128
119
  html: `<ix-icon-button icon="text-circle-rectangle-filled"></ix-icon-button>`,
129
120
  });
130
121
  await page.waitForChanges();
131
- const button = page.doc
132
- .querySelector('ix-icon-button')
133
- .shadowRoot.querySelector('button');
122
+ const button = queryButton(page);
134
123
  expect(button).toHaveAttribute('aria-label');
135
124
  expect(button.getAttribute('aria-label')).toBe('Text Circle Rectangle');
136
125
  });
@@ -140,9 +129,7 @@ describe('icon-button', () => {
140
129
  html: `<ix-icon-button a11y-label="some label"></ix-icon-button>`,
141
130
  });
142
131
  await page.waitForChanges();
143
- const button = page.doc
144
- .querySelector('ix-icon-button')
145
- .shadowRoot.querySelector('button');
132
+ const button = queryButton(page);
146
133
  expect(button).toHaveAttribute('aria-label');
147
134
  expect(button.getAttribute('aria-label')).toBe('some label');
148
135
  });
@@ -152,9 +139,7 @@ describe('icon-button', () => {
152
139
  html: `<ix-icon-button icon="https://someurl.com/test.svg"></ix-icon-button>`,
153
140
  });
154
141
  await page.waitForChanges();
155
- const button = page.doc
156
- .querySelector('ix-icon-button')
157
- .shadowRoot.querySelector('button');
142
+ const button = queryButton(page);
158
143
  expect(button).toHaveAttribute('aria-label');
159
144
  expect(button.getAttribute('aria-label')).toBe('Unknown');
160
145
  });
@@ -164,9 +149,7 @@ describe('icon-button', () => {
164
149
  html: `<ix-icon-button icon="data:image/svg+xml"></ix-icon-button>`,
165
150
  });
166
151
  await page.waitForChanges();
167
- const button = page.doc
168
- .querySelector('ix-icon-button')
169
- .shadowRoot.querySelector('button');
152
+ const button = queryButton(page);
170
153
  expect(button).toHaveAttribute('aria-label');
171
154
  expect(button.getAttribute('aria-label')).toBe('Unknown');
172
155
  });
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.spec.js","sourceRoot":"","sources":["../../../../src/components/icon-button/test/icon-button.spec.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { newSpecPage } from '@stencil/core/testing';\nimport { IconButton } from '../icon-button';\n\ndescribe('icon-button', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"rocket\" disabled></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n const btn = page.doc.querySelector('ix-icon-button');\n expect(btn.className).toContain('disabled');\n });\n\n it('should submit form if type is submit', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `\n <form>\n <input type=\"text\" />\n <ix-icon-button type=\"submit\">Submit</ix-icon-button>s\n </form>\n `,\n });\n\n await page.waitForChanges();\n\n const btn = page.doc\n .querySelector('ix-icon-button[type=\"submit\"]')\n .shadowRoot.querySelector('button');\n const shadowButton = page.doc.querySelector(\n 'ix-icon-button[type=\"submit\"] > button'\n ) as HTMLButtonElement;\n\n const onClick = jest.fn();\n\n shadowButton.addEventListener('click', onClick);\n\n expect(btn).toBeDefined();\n expect(shadowButton).toBeDefined();\n expect(shadowButton.style.display).toStrictEqual('none');\n expect(shadowButton.type).toStrictEqual('submit');\n expect(shadowButton.tabIndex).toStrictEqual(-1);\n\n btn.click();\n expect(onClick).toHaveBeenCalled();\n });\n\n it('should not render submit button if normal button is requirers', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `\n <form>\n <input type=\"text\" />\n <ix-icon-button>Submit</ix-icon-button>s\n </form>\n `,\n });\n\n await page.waitForChanges();\n\n const btn = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n const shadowButton = page.doc.querySelector(\n 'ix-icon-button > button'\n ) as HTMLButtonElement;\n\n expect(btn).toBeDefined();\n expect(shadowButton).toBeNull();\n });\n\n describe('a11y', () => {\n it('should have a fallback icon aria name', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"rocket\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Rocket');\n });\n\n it('should have a fallback icon aria name without fill postfix', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"about-filled\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('About');\n });\n\n it('should have a fallback icon aria name', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"about-battery-filled\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('About Battery');\n });\n\n it('should have a fallback icon aria name without numbers inside name', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"battery100-percentage\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Battery Percentage');\n });\n\n it('should have a fallback icon aria name without numbers between', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"battery-100-percentage\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Battery 100 Percentage');\n });\n\n it('should have a fallback icon with multiple dashes', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"text-circle-rectangle-filled\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Text Circle Rectangle');\n });\n\n it('should have an aria label', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button a11y-label=\"some label\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('some label');\n });\n\n it('should have an unknown aria label with an URL', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"https://someurl.com/test.svg\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Unknown');\n });\n\n it('should have an unknown aria label with an base64 encoded SVG', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"data:image/svg+xml\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Unknown');\n });\n });\n});\n"]}
1
+ {"version":3,"file":"icon-button.spec.js","sourceRoot":"","sources":["../../../../src/components/icon-button/test/icon-button.spec.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { newSpecPage } from '@stencil/core/testing';\nimport { IconButton } from '../icon-button';\n\nfunction queryButton(page: any) {\n return page.doc\n .querySelector('ix-icon-button')\n .shadowRoot.querySelector('button');\n}\n\ndescribe('icon-button', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"rocket\" disabled></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n const btn = page.doc.querySelector('ix-icon-button')!;\n expect(btn.className).toContain('disabled');\n });\n\n it('should submit form if type is submit', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `\n <form>\n <input type=\"text\" />\n <ix-icon-button type=\"submit\">Submit</ix-icon-button>s\n </form>\n `,\n });\n\n await page.waitForChanges();\n\n const btn = queryButton(page);\n const shadowButton = page.doc.querySelector(\n 'ix-icon-button[type=\"submit\"] > button'\n ) as HTMLButtonElement;\n\n const onClick = jest.fn();\n\n shadowButton.addEventListener('click', onClick);\n\n expect(btn).toBeDefined();\n expect(shadowButton).toBeDefined();\n expect(shadowButton.style.display).toStrictEqual('none');\n expect(shadowButton.type).toStrictEqual('submit');\n expect(shadowButton.tabIndex).toStrictEqual(-1);\n\n btn.click();\n expect(onClick).toHaveBeenCalled();\n });\n\n it('should not render submit button if normal button is requirers', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `\n <form>\n <input type=\"text\" />\n <ix-icon-button>Submit</ix-icon-button>s\n </form>\n `,\n });\n\n await page.waitForChanges();\n\n const btn = queryButton(page);\n const shadowButton = page.doc.querySelector(\n 'ix-icon-button > button'\n ) as HTMLButtonElement;\n\n expect(btn).toBeDefined();\n expect(shadowButton).toBeNull();\n });\n\n describe('a11y', () => {\n it('should have a fallback icon aria name', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"rocket\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Rocket');\n });\n\n it('should have a fallback icon aria name without fill postfix', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"about-filled\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('About');\n });\n\n it('should have a fallback icon aria name', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"about-battery-filled\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('About Battery');\n });\n\n it('should have a fallback icon aria name without numbers inside name', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"battery100-percentage\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Battery Percentage');\n });\n\n it('should have a fallback icon aria name without numbers between', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"battery-100-percentage\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Battery 100 Percentage');\n });\n\n it('should have a fallback icon with multiple dashes', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"text-circle-rectangle-filled\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Text Circle Rectangle');\n });\n\n it('should have an aria label', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button a11y-label=\"some label\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('some label');\n });\n\n it('should have an unknown aria label with an URL', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"https://someurl.com/test.svg\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Unknown');\n });\n\n it('should have an unknown aria label with an base64 encoded SVG', async () => {\n const page = await newSpecPage({\n components: [IconButton],\n html: `<ix-icon-button icon=\"data:image/svg+xml\"></ix-icon-button>`,\n });\n\n await page.waitForChanges();\n\n const button = queryButton(page);\n\n expect(button).toHaveAttribute('aria-label');\n expect(button.getAttribute('aria-label')).toBe('Unknown');\n });\n });\n});\n"]}
@@ -72,7 +72,7 @@ export class IconToggleButton {
72
72
  },
73
73
  extraClasses: Object.assign({ 'icon-button': true }, this.getIconSizeClass()),
74
74
  };
75
- return (h(Host, { key: '99ab49dda5fcdc55bbbaff72b2af203317cb56c0', class: Object.assign(Object.assign({}, this.getIconSizeClass()), { disabled: this.disabled || this.loading }) }, h(BaseIconButton, Object.assign({ key: '7ba2608c0e1ac7d8e9e02966037f7b7a4facc66d' }, baseButtonProps))));
75
+ return (h(Host, { key: '588ebac02e4d670f5dd68986da1b6f2916e3fe18', class: Object.assign(Object.assign({}, this.getIconSizeClass()), { disabled: this.disabled || this.loading }) }, h(BaseIconButton, Object.assign({ key: '701cb0fa92d957479f6f65846856149e3b0a6e60' }, baseButtonProps))));
76
76
  }
77
77
  static get is() { return "ix-icon-toggle-button"; }
78
78
  static get encapsulation() { return "shadow"; }
@@ -153,11 +153,11 @@ export class IconToggleButton {
153
153
  "mutable": false,
154
154
  "complexType": {
155
155
  "original": "string",
156
- "resolved": "string",
156
+ "resolved": "string | undefined",
157
157
  "references": {}
158
158
  },
159
159
  "required": false,
160
- "optional": false,
160
+ "optional": true,
161
161
  "docs": {
162
162
  "tags": [],
163
163
  "text": "Icon name"
@@ -1 +1 @@
1
- {"version":3,"file":"icon-toggle-button.js","sourceRoot":"","sources":["../../../src/components/icon-toggle-button/icon-toggle-button.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,KAAK,GACN,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AAMH,MAAM,OAAO,gBAAgB;;uBAKM,WAAW;uBAK1B,KAAK;qBAKP,KAAK;;uBAUH,KAAK;oBAKY,IAAI;wBAKH,KAAK;uBAKd,KAAK;;IASxB,2BAA2B;QACjC,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAEO,gBAAgB;QACtB,OAAO,CAAC,IAAI,CACV,yHAAyH,CAC1H,CAAC;IACJ,CAAC;IAGD,eAAe;QACb,IAAI,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAGD,aAAa;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGD,eAAe;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;YACjC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;YACjC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;SAClC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,eAAe,GAAoB;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC3C,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE;gBACd,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1C;YACD,YAAY,kBACV,aAAa,EAAE,IAAI,IAChB,IAAI,CAAC,gBAAgB,EAAE,CAC3B;SACF,CAAC;QAEF,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,kCACA,IAAI,CAAC,gBAAgB,EAAE,KAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAGzC,EAAC,cAAc,qEAAK,eAAe,EAAmB,CACjD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-icon-toggle-button',\n shadow: true,\n styleUrl: './icon-toggle-button.scss',\n})\nexport class IconToggleButton {\n /**\n * Button variant.\n * Important: Variant 'primary' can only be combined with either outline or ghost.\n */\n @Prop() variant: ButtonVariant = 'secondary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Icon name\n */\n @Prop() icon: string;\n\n /**\n * Show button as pressed\n */\n @Prop() pressed = false;\n\n /**\n * Size of icon in button\n */\n @Prop() size: '24' | '16' | '12' = '24';\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Loading button\n */\n @Prop() loading: boolean = false;\n\n /**\n * Pressed change event\n */\n @Event() pressedChange: EventEmitter<boolean>;\n\n @Element() hostElement: HTMLIxIconToggleButtonElement;\n\n private isIllegalToggleButtonConfig() {\n return this.variant === 'primary' && (this.outline || this.ghost);\n }\n\n private logIllegalConfig() {\n console.warn(\n 'iX toggle button with illegal configuration detected. Variant \"primary\" can only be combined with \"outline\" or \"ghost\".'\n );\n }\n\n @Watch('variant')\n onVariantChange() {\n if (this.isIllegalToggleButtonConfig()) {\n this.logIllegalConfig();\n }\n }\n\n @Watch('ghost')\n onGhostChange() {\n this.onVariantChange();\n }\n\n @Watch('outline')\n onOutlineChange() {\n this.onVariantChange();\n }\n\n componentDidLoad() {\n this.onVariantChange();\n }\n\n private dispatchPressedChange() {\n this.pressedChange.emit(!this.pressed);\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '24',\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: false,\n selected: this.pressed,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchPressedChange(),\n type: 'button',\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.pressed),\n },\n extraClasses: {\n 'icon-button': true,\n ...this.getIconSizeClass(),\n },\n };\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"icon-toggle-button.js","sourceRoot":"","sources":["../../../src/components/icon-toggle-button/icon-toggle-button.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,KAAK,GACN,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AAMH,MAAM,OAAO,gBAAgB;;uBAKM,WAAW;uBAK1B,KAAK;qBAKP,KAAK;;uBAUH,KAAK;oBAKY,IAAI;wBAKH,KAAK;uBAKd,KAAK;;IASxB,2BAA2B;QACjC,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAEO,gBAAgB;QACtB,OAAO,CAAC,IAAI,CACV,yHAAyH,CAC1H,CAAC;IACJ,CAAC;IAGD,eAAe;QACb,IAAI,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAGD,aAAa;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGD,eAAe;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;YACjC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;YACjC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;SAClC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,eAAe,GAAoB;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC3C,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE;gBACd,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1C;YACD,YAAY,kBACV,aAAa,EAAE,IAAI,IAChB,IAAI,CAAC,gBAAgB,EAAE,CAC3B;SACF,CAAC;QAEF,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,kCACA,IAAI,CAAC,gBAAgB,EAAE,KAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YAGzC,EAAC,cAAc,qEAAK,eAAe,EAAmB,CACjD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-icon-toggle-button',\n shadow: true,\n styleUrl: './icon-toggle-button.scss',\n})\nexport class IconToggleButton {\n /**\n * Button variant.\n * Important: Variant 'primary' can only be combined with either outline or ghost.\n */\n @Prop() variant: ButtonVariant = 'secondary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Icon name\n */\n @Prop() icon?: string;\n\n /**\n * Show button as pressed\n */\n @Prop() pressed = false;\n\n /**\n * Size of icon in button\n */\n @Prop() size: '24' | '16' | '12' = '24';\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Loading button\n */\n @Prop() loading: boolean = false;\n\n /**\n * Pressed change event\n */\n @Event() pressedChange!: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxIconToggleButtonElement;\n\n private isIllegalToggleButtonConfig() {\n return this.variant === 'primary' && (this.outline || this.ghost);\n }\n\n private logIllegalConfig() {\n console.warn(\n 'iX toggle button with illegal configuration detected. Variant \"primary\" can only be combined with \"outline\" or \"ghost\".'\n );\n }\n\n @Watch('variant')\n onVariantChange() {\n if (this.isIllegalToggleButtonConfig()) {\n this.logIllegalConfig();\n }\n }\n\n @Watch('ghost')\n onGhostChange() {\n this.onVariantChange();\n }\n\n @Watch('outline')\n onOutlineChange() {\n this.onVariantChange();\n }\n\n componentDidLoad() {\n this.onVariantChange();\n }\n\n private dispatchPressedChange() {\n this.pressedChange.emit(!this.pressed);\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '24',\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: false,\n selected: this.pressed,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchPressedChange(),\n type: 'button',\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.pressed),\n },\n extraClasses: {\n 'icon-button': true,\n ...this.getIconSizeClass(),\n },\n };\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n"]}
@@ -203,9 +203,6 @@ input[type=number]::-webkit-inner-spin-button {
203
203
  display: none;
204
204
  }
205
205
 
206
- textarea {
207
- padding: 0.375rem 1.25rem 0.375rem 0.5rem;
208
- }
209
206
  textarea {
210
207
  font-feature-settings: "clig" off, "liga" off;
211
208
  font-family: Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;
@@ -348,6 +345,9 @@ textarea:disabled::-moz-placeholder, textarea.disabled::-moz-placeholder {
348
345
  textarea:disabled::placeholder, textarea.disabled::placeholder {
349
346
  color: transparent;
350
347
  }
348
+ textarea {
349
+ padding: calc(0.375rem - var(--theme-input--border-thickness)) calc(0.5rem - var(--theme-input--border-thickness));
350
+ }
351
351
 
352
352
  textarea ~ .valid-feedback,
353
353
  textarea ~ .invalid-feedback,
@@ -675,9 +675,6 @@ input[type=number]::-webkit-inner-spin-button {
675
675
  display: none;
676
676
  }
677
677
 
678
- textarea {
679
- padding: 0.375rem 1.25rem 0.375rem 0.5rem;
680
- }
681
678
  textarea {
682
679
  font-feature-settings: "clig" off, "liga" off;
683
680
  font-family: Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;
@@ -820,6 +817,9 @@ textarea:disabled::-moz-placeholder, textarea.disabled::-moz-placeholder {
820
817
  textarea:disabled::placeholder, textarea.disabled::placeholder {
821
818
  color: transparent;
822
819
  }
820
+ textarea {
821
+ padding: calc(0.375rem - var(--theme-input--border-thickness)) calc(0.5rem - var(--theme-input--border-thickness));
822
+ }
823
823
 
824
824
  textarea ~ .valid-feedback,
825
825
  textarea ~ .invalid-feedback,
@@ -21,7 +21,7 @@ import { Host, h, } from "@stencil/core";
21
21
  import { HookValidationLifecycle, } from "../utils/input";
22
22
  import { makeRef } from "../utils/make-ref";
23
23
  import { InputElement, SlotEnd, SlotStart } from "./input.fc";
24
- import { adjustPaddingForStartAndEnd, checkAllowedKeys, getAriaAttributesForInput, mapValidationResult, onInputBlur, } from "./input.util";
24
+ import { addDisposableChangesAndVisibilityObservers, adjustPaddingForStartAndEnd, checkAllowedKeys, getAriaAttributesForInput, mapValidationResult, onInputBlur, } from "./input.util";
25
25
  let inputIds = 0;
26
26
  /**
27
27
  * @since 2.6.0
@@ -70,12 +70,17 @@ export class Input {
70
70
  this.updateFormInternalValue(this.value);
71
71
  this.inputType = this.type;
72
72
  }
73
- componentDidRender() {
74
- this.updatePaddings();
73
+ connectedCallback() {
74
+ this.disposableChangesAndVisibilityObservers =
75
+ addDisposableChangesAndVisibilityObservers(this.hostElement, this.updatePaddings.bind(this));
75
76
  }
76
77
  updatePaddings() {
77
78
  adjustPaddingForStartAndEnd(this.slotStartRef.current, this.slotEndRef.current, this.inputRef.current);
78
79
  }
80
+ disconnectedCallback() {
81
+ var _a;
82
+ (_a = this.disposableChangesAndVisibilityObservers) === null || _a === void 0 ? void 0 : _a.call(this);
83
+ }
79
84
  updateFormInternalValue(value) {
80
85
  this.formInternals.setFormValue(value);
81
86
  this.value = value;
@@ -103,10 +108,10 @@ export class Input {
103
108
  render() {
104
109
  var _a;
105
110
  const inputAria = getAriaAttributesForInput(this);
106
- return (h(Host, { key: 'f625dc7d2ed058f53940ccda73db408a3d7017a5', class: {
111
+ return (h(Host, { key: 'a6d40be91cda9c61dacb10c47cb3c1de128b595c', class: {
107
112
  disabled: this.disabled,
108
113
  readonly: this.readonly,
109
- } }, h("ix-field-wrapper", { key: 'c018215d637253e021247473c35701ff94d3f028', htmlForLabel: this.inputId, required: this.required, label: this.label, helperText: this.helperText, invalidText: this.invalidText, infoText: this.infoText, warningText: this.warningText, validText: this.validText, showTextAsTooltip: this.showTextAsTooltip, isInvalid: this.isInvalid, isValid: this.isValid, isInfo: this.isInfo, isWarning: this.isWarning, controlRef: this.inputRef }, h("div", { key: 'cc9ee3d23a14d0e10351f294fae72aeec82fbf64', class: "input-wrapper" }, h(SlotStart, { key: 'f32e50c55492dc1423b91f05209c1e9914b50f28', slotStartRef: this.slotStartRef, onSlotChange: () => this.updatePaddings() }), h(InputElement, { key: 'ca17d2fee580dbe2e8d176018d0e55565bef5f33', id: this.inputId, readonly: this.readonly, disabled: this.disabled, maxLength: this.maxLength, minLength: this.minLength, pattern: this.pattern, type: this.inputType, isInvalid: this.isInvalid, required: this.required, value: this.value, placeholder: this.placeholder, inputRef: this.inputRef, onKeyPress: (event) => checkAllowedKeys(this, event), valueChange: (value) => this.valueChange.emit(value), updateFormInternalValue: (value) => this.updateFormInternalValue(value), onBlur: () => onInputBlur(this, this.inputRef.current), ariaAttributes: inputAria }), h(SlotEnd, { key: '5664747770d85defa36d460b4aa3e497a802bca2', slotEndRef: this.slotEndRef, onSlotChange: () => this.updatePaddings() }, h("ix-icon-button", { key: 'f680b65ba0355746be49646d25a2074cc4a9caac', color: "color-weak-text", class: {
114
+ } }, h("ix-field-wrapper", { key: 'e920830918a1b52ae71373c6b09460282840d996', htmlForLabel: this.inputId, required: this.required, label: this.label, helperText: this.helperText, invalidText: this.invalidText, infoText: this.infoText, warningText: this.warningText, validText: this.validText, showTextAsTooltip: this.showTextAsTooltip, isInvalid: this.isInvalid, isValid: this.isValid, isInfo: this.isInfo, isWarning: this.isWarning, controlRef: this.inputRef }, h("div", { key: '683a76fa9cf8bdb266d202b3d2977415f7940374', class: "input-wrapper" }, h(SlotStart, { key: '93835b09dd2c87cf4c027afdf8b2e5ac54446ce6', slotStartRef: this.slotStartRef, onSlotChange: () => this.updatePaddings() }), h(InputElement, { key: '9d75e41be3064ed775dc6adea268681d33d4114b', id: this.inputId, readonly: this.readonly, disabled: this.disabled, maxLength: this.maxLength, minLength: this.minLength, pattern: this.pattern, type: this.inputType, isInvalid: this.isInvalid, required: this.required, value: this.value, placeholder: this.placeholder, inputRef: this.inputRef, onKeyPress: (event) => checkAllowedKeys(this, event), valueChange: (value) => this.valueChange.emit(value), updateFormInternalValue: (value) => this.updateFormInternalValue(value), onBlur: () => onInputBlur(this, this.inputRef.current), ariaAttributes: inputAria }), h(SlotEnd, { key: 'edc365019e67448855bd73f2fd6324e6b0784e80', slotEndRef: this.slotEndRef, onSlotChange: () => this.updatePaddings() }, h("ix-icon-button", { key: '22075d37959ab4d9a45e8792c62b0595e02d23d9', color: "color-weak-text", class: {
110
115
  'password-eye': true,
111
116
  'eye-hidden': this.type !== 'password',
112
117
  }, ghost: true, icon: this.inputType === 'password' ? iconEye : iconEyeCancelled, onClick: () => {
@@ -115,7 +120,7 @@ export class Input {
115
120
  return;
116
121
  }
117
122
  this.inputType = 'password';
118
- } }))), !!this.maxLength && this.maxLength > 0 && (h("ix-typography", { key: 'baa09803b87cd3efce3cce29cb735b5d0a290832', class: "bottom-text", slot: "bottom-right", color: "soft" }, (_a = this.value) === null || _a === void 0 ? void 0 :
123
+ } }))), !!this.maxLength && this.maxLength > 0 && (h("ix-typography", { key: '4b2dab4589a0191a9097db3075e1e10dfcab3476', class: "bottom-text", slot: "bottom-right", color: "soft" }, (_a = this.value) === null || _a === void 0 ? void 0 :
119
124
  _a.length, "/", this.maxLength)))));
120
125
  }
121
126
  static get is() { return "ix-input"; }
@@ -156,7 +161,7 @@ export class Input {
156
161
  "mutable": false,
157
162
  "complexType": {
158
163
  "original": "string",
159
- "resolved": "string",
164
+ "resolved": "string | undefined",
160
165
  "references": {}
161
166
  },
162
167
  "required": false,
@@ -173,7 +178,7 @@ export class Input {
173
178
  "mutable": false,
174
179
  "complexType": {
175
180
  "original": "string",
176
- "resolved": "string",
181
+ "resolved": "string | undefined",
177
182
  "references": {}
178
183
  },
179
184
  "required": false,
@@ -262,7 +267,7 @@ export class Input {
262
267
  "mutable": false,
263
268
  "complexType": {
264
269
  "original": "string",
265
- "resolved": "string",
270
+ "resolved": "string | undefined",
266
271
  "references": {}
267
272
  },
268
273
  "required": false,
@@ -279,7 +284,7 @@ export class Input {
279
284
  "mutable": false,
280
285
  "complexType": {
281
286
  "original": "string",
282
- "resolved": "string",
287
+ "resolved": "string | undefined",
283
288
  "references": {}
284
289
  },
285
290
  "required": false,
@@ -296,7 +301,7 @@ export class Input {
296
301
  "mutable": false,
297
302
  "complexType": {
298
303
  "original": "boolean",
299
- "resolved": "boolean",
304
+ "resolved": "boolean | undefined",
300
305
  "references": {}
301
306
  },
302
307
  "required": false,
@@ -313,7 +318,7 @@ export class Input {
313
318
  "mutable": false,
314
319
  "complexType": {
315
320
  "original": "string",
316
- "resolved": "string",
321
+ "resolved": "string | undefined",
317
322
  "references": {}
318
323
  },
319
324
  "required": false,
@@ -330,7 +335,7 @@ export class Input {
330
335
  "mutable": false,
331
336
  "complexType": {
332
337
  "original": "string",
333
- "resolved": "string",
338
+ "resolved": "string | undefined",
334
339
  "references": {}
335
340
  },
336
341
  "required": false,
@@ -347,7 +352,7 @@ export class Input {
347
352
  "mutable": false,
348
353
  "complexType": {
349
354
  "original": "string",
350
- "resolved": "string",
355
+ "resolved": "string | undefined",
351
356
  "references": {}
352
357
  },
353
358
  "required": false,
@@ -364,7 +369,7 @@ export class Input {
364
369
  "mutable": false,
365
370
  "complexType": {
366
371
  "original": "string",
367
- "resolved": "string",
372
+ "resolved": "string | undefined",
368
373
  "references": {}
369
374
  },
370
375
  "required": false,
@@ -381,7 +386,7 @@ export class Input {
381
386
  "mutable": false,
382
387
  "complexType": {
383
388
  "original": "string",
384
- "resolved": "string",
389
+ "resolved": "string | undefined",
385
390
  "references": {}
386
391
  },
387
392
  "required": false,
@@ -398,7 +403,7 @@ export class Input {
398
403
  "mutable": false,
399
404
  "complexType": {
400
405
  "original": "number",
401
- "resolved": "number",
406
+ "resolved": "number | undefined",
402
407
  "references": {}
403
408
  },
404
409
  "required": false,
@@ -415,7 +420,7 @@ export class Input {
415
420
  "mutable": false,
416
421
  "complexType": {
417
422
  "original": "number",
418
- "resolved": "number",
423
+ "resolved": "number | undefined",
419
424
  "references": {}
420
425
  },
421
426
  "required": false,
@@ -432,7 +437,7 @@ export class Input {
432
437
  "mutable": false,
433
438
  "complexType": {
434
439
  "original": "string",
435
- "resolved": "string",
440
+ "resolved": "string | undefined",
436
441
  "references": {}
437
442
  },
438
443
  "required": false,
@@ -525,7 +530,7 @@ export class Input {
525
530
  "id": "global::HTMLFormElement"
526
531
  }
527
532
  },
528
- "return": "Promise<HTMLFormElement>"
533
+ "return": "Promise<HTMLFormElement | null>"
529
534
  },
530
535
  "docs": {
531
536
  "text": "",
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;AAEH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,CAAC,GACF,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,GAGxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB;;;;;GAKG;AAOH,MAAM,OAAO,KAAK;;QAqHC,aAAQ,GAAG,OAAO,EAAoB,CAAC;QACvC,eAAU,GAAG,OAAO,EAAkB,CAAC;QACvC,iBAAY,GAAG,OAAO,EAAkB,CAAC;QAEzC,YAAO,GAAG,SAAS,QAAQ,EAAE,EAAE,CAAC;oBAlHa,MAAM;;;qBAeZ,EAAE;wBAKb,KAAK;wBAKL,KAAK;wBAKL,KAAK;;;;;;;;;;;;yBAwE7B,KAAK;uBACP,KAAK;sBACN,KAAK;yBACF,KAAK;mCACK,KAAK;yBAEf,MAAM;;IAS3B,mBAAmB,CAAC,MAAyB;QAC3C,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAGD,eAAe;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,2BAA2B,CACzB,IAAI,CAAC,YAAY,CAAC,OAAO,EACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CACtB,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,KAAa;QACnC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,wBAAwB;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,gBAAgB;IAEhB,aAAa;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IAEH,qBAAqB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IAED,MAAM;;QACJ,MAAM,SAAS,GAAmB,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;YAED,yEACE,YAAY,EAAE,IAAI,CAAC,OAAO,EAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,QAAQ;gBAEzB,4DAAK,KAAK,EAAC,eAAe;oBACxB,EAAC,SAAS,qDACR,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,GAC9B;oBACb,EAAC,YAAY,qDACX,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,EACpD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EACpD,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE,CACjC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAErC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtD,cAAc,EAAE,SAAS,GACX;oBAChB,EAAC,OAAO,qDACN,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;wBAEzC,uEACE,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE;gCACL,cAAc,EAAE,IAAI;gCACpB,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU;6BACvC,EACD,KAAK,QACL,IAAI,EACF,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,EAE5D,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oCAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;oCACxB,OAAO;gCACT,CAAC;gCAED,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;4BAC9B,CAAC,GACe,CACV,CACN;gBACL,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CACzC,sEAAe,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,MAAM,IAChE,MAAA,IAAI,CAAC,KAAK;uBAAE,MAAM;;oBAAG,IAAI,CAAC,SAAS,CACtB,CACjB,CACgB,CACd,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAhJC;IADC,uBAAuB,EAAE;gDAGzB","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconEye, iconEyeCancelled } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { A11yAttributes } from '../utils/a11y';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n getAriaAttributesForInput,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet inputIds = 0;\n\n/**\n * @since 2.6.0\n * @form-ready 2.6.0\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * The type of the text field. Possible values are 'text', 'email', or 'password'.\n */\n @Prop() type: 'text' | 'email' | 'password' | 'tel' | 'url' = 'text';\n\n /**\n * The name of the text field.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The placeholder text for the text field.\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Specifies whether the text field is required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Specifies whether the text field is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Specifies whether the text field is readonly.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The helper text for the text field.\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the text field.\n */\n @Prop() infoText?: string;\n\n /**\n * Specifies whether to show the text as a tooltip.\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the text field.\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the text field.\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the text field.\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the text field.\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the text field.\n */\n @Prop() pattern?: string;\n\n /**\n * The maximum length of the text field.\n */\n @Prop() maxLength?: number;\n\n /**\n * The minimum length of the text field.\n */\n @Prop() minLength?: number;\n\n /**\n * The allowed characters pattern for the text field.\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Event emitted when the value of the text field changes.\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the validity state of the text field changes.\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the text field loses focus.\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n @State() inputType = 'text';\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n\n private readonly inputId = `input-${inputIds++}`;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n @Watch('type')\n updateInputType() {\n this.inputType = this.type;\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n this.inputType = this.type;\n }\n\n componentDidRender() {\n this.updatePaddings();\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n updateFormInternalValue(value: string) {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Returns the native input element used in the text field.\n */\n @Method()\n getNativeInputElement() {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n render() {\n const inputAria: A11yAttributes = getAriaAttributesForInput(this);\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n htmlForLabel={this.inputId}\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <InputElement\n id={this.inputId}\n readonly={this.readonly}\n disabled={this.disabled}\n maxLength={this.maxLength}\n minLength={this.minLength}\n pattern={this.pattern}\n type={this.inputType}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(value)}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(value)\n }\n onBlur={() => onInputBlur(this, this.inputRef.current)}\n ariaAttributes={inputAria}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n color=\"color-weak-text\"\n class={{\n 'password-eye': true,\n 'eye-hidden': this.type !== 'password',\n }}\n ghost\n icon={\n this.inputType === 'password' ? iconEye : iconEyeCancelled\n }\n onClick={() => {\n if (this.inputType === 'password') {\n this.inputType = 'text';\n return;\n }\n\n this.inputType = 'password';\n }}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n {!!this.maxLength && this.maxLength > 0 && (\n <ix-typography class=\"bottom-text\" slot=\"bottom-right\" color=\"soft\">\n {this.value?.length}/{this.maxLength}\n </ix-typography>\n )}\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;AAEH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,eAAe,EACf,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,CAAC,GACF,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,GAGxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,0CAA0C,EAC1C,2BAA2B,EAC3B,gBAAgB,EAEhB,yBAAyB,EACzB,mBAAmB,EACnB,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB;;;;;GAKG;AAOH,MAAM,OAAO,KAAK;;QAqHC,aAAQ,GAAG,OAAO,EAAoB,CAAC;QACvC,eAAU,GAAG,OAAO,EAAkB,CAAC;QACvC,iBAAY,GAAG,OAAO,EAAkB,CAAC;QAEzC,YAAO,GAAG,SAAS,QAAQ,EAAE,EAAE,CAAC;oBAlHa,MAAM;;;qBAeZ,EAAE;wBAKb,KAAK;wBAKL,KAAK;wBAKL,KAAK;;;;;;;;;;;;yBAwE7B,KAAK;uBACP,KAAK;sBACN,KAAK;yBACF,KAAK;mCACK,KAAK;yBAEf,MAAM;;IAW3B,mBAAmB,CAAC,MAAyB;QAC3C,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAGD,eAAe;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,uCAAuC;YAC1C,0CAA0C,CACxC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAC;IACN,CAAC;IAEO,cAAc;QACpB,2BAA2B,CACzB,IAAI,CAAC,YAAY,CAAC,OAAO,EACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CACtB,CAAC;IACJ,CAAC;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,uCAAuC,oDAAI,CAAC;IACnD,CAAC;IAED,uBAAuB,CAAC,KAAa;QACnC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,wBAAwB;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,gBAAgB;IAEhB,aAAa;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IAEH,qBAAqB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IAED,MAAM;;QACJ,MAAM,SAAS,GAAmB,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;YAED,yEACE,YAAY,EAAE,IAAI,CAAC,OAAO,EAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,QAAQ;gBAEzB,4DAAK,KAAK,EAAC,eAAe;oBACxB,EAAC,SAAS,qDACR,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,GAC9B;oBACb,EAAC,YAAY,qDACX,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,EACpD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EACpD,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE,CACjC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAErC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtD,cAAc,EAAE,SAAS,GACX;oBAChB,EAAC,OAAO,qDACN,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;wBAEzC,uEACE,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE;gCACL,cAAc,EAAE,IAAI;gCACpB,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU;6BACvC,EACD,KAAK,QACL,IAAI,EACF,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,EAE5D,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oCAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;oCACxB,OAAO;gCACT,CAAC;gCAED,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;4BAC9B,CAAC,GACe,CACV,CACN;gBACL,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CACzC,sEAAe,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,MAAM,IAChE,MAAA,IAAI,CAAC,KAAK;uBAAE,MAAM;;oBAAG,IAAI,CAAC,SAAS,CACtB,CACjB,CACgB,CACd,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAxJC;IADC,uBAAuB,EAAE;gDAGzB","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconEye, iconEyeCancelled } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { A11yAttributes } from '../utils/a11y';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n DisposableChangesAndVisibilityObservers,\n getAriaAttributesForInput,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet inputIds = 0;\n\n/**\n * @since 2.6.0\n * @form-ready 2.6.0\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * The type of the text field. Possible values are 'text', 'email', or 'password'.\n */\n @Prop() type: 'text' | 'email' | 'password' | 'tel' | 'url' = 'text';\n\n /**\n * The name of the text field.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The placeholder text for the text field.\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Specifies whether the text field is required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Specifies whether the text field is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Specifies whether the text field is readonly.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The helper text for the text field.\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the text field.\n */\n @Prop() infoText?: string;\n\n /**\n * Specifies whether to show the text as a tooltip.\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the text field.\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the text field.\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the text field.\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the text field.\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the text field.\n */\n @Prop() pattern?: string;\n\n /**\n * The maximum length of the text field.\n */\n @Prop() maxLength?: number;\n\n /**\n * The minimum length of the text field.\n */\n @Prop() minLength?: number;\n\n /**\n * The allowed characters pattern for the text field.\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Event emitted when the value of the text field changes.\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the validity state of the text field changes.\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the text field loses focus.\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n @State() inputType = 'text';\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n\n private readonly inputId = `input-${inputIds++}`;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n @Watch('type')\n updateInputType() {\n this.inputType = this.type;\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n this.inputType = this.type;\n }\n\n connectedCallback(): void {\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n updateFormInternalValue(value: string) {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Returns the native input element used in the text field.\n */\n @Method()\n getNativeInputElement() {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n render() {\n const inputAria: A11yAttributes = getAriaAttributesForInput(this);\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n htmlForLabel={this.inputId}\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <InputElement\n id={this.inputId}\n readonly={this.readonly}\n disabled={this.disabled}\n maxLength={this.maxLength}\n minLength={this.minLength}\n pattern={this.pattern}\n type={this.inputType}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(value)}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(value)\n }\n onBlur={() => onInputBlur(this, this.inputRef.current)}\n ariaAttributes={inputAria}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n color=\"color-weak-text\"\n class={{\n 'password-eye': true,\n 'eye-hidden': this.type !== 'password',\n }}\n ghost\n icon={\n this.inputType === 'password' ? iconEye : iconEyeCancelled\n }\n onClick={() => {\n if (this.inputType === 'password') {\n this.inputType = 'text';\n return;\n }\n\n this.inputType = 'password';\n }}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n {!!this.maxLength && this.maxLength > 0 && (\n <ix-typography class=\"bottom-text\" slot=\"bottom-right\" color=\"soft\">\n {this.value?.length}/{this.maxLength}\n </ix-typography>\n )}\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"]}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { a11yBoolean } from "../utils/a11y";
10
10
  import { shouldSuppressInternalValidation, } from "../utils/input";
11
+ import { createMutationObserver } from "../utils/mutation-observer";
11
12
  import { convertToRemString } from "../utils/rwd.util";
12
13
  import { generateUUID } from "../utils/uuid";
13
14
  import { shakeInput } from "./input.animation";
@@ -45,7 +46,7 @@ export async function checkInternalValidity(comp, input) {
45
46
  return;
46
47
  }
47
48
  const { valid } = validityState;
48
- comp.hostElement.classList.toggle('ix-invalid', !valid);
49
+ comp.hostElement.classList.toggle('ix-invalid--validity-invalid', !valid);
49
50
  }
50
51
  export function onInputBlur(comp, input) {
51
52
  comp.ixBlur.emit();
@@ -100,4 +101,27 @@ export function getAriaAttributesForInput(component) {
100
101
  }
101
102
  return inputAria;
102
103
  }
104
+ export const addDisposableChangesAndVisibilityObservers = (element, callback) => {
105
+ const intersectionObserver = observeElementUntilVisible(element, callback);
106
+ const mutationObserver = createMutationObserver(callback);
107
+ mutationObserver.observe(element, {
108
+ subtree: true,
109
+ attributes: true,
110
+ });
111
+ return () => {
112
+ intersectionObserver.disconnect();
113
+ mutationObserver.disconnect();
114
+ };
115
+ };
116
+ function observeElementUntilVisible(hostElement, updateCallback) {
117
+ const intersectionObserver = new IntersectionObserver((entries) => {
118
+ entries.forEach((entry) => {
119
+ if (entry.isIntersecting) {
120
+ updateCallback();
121
+ }
122
+ });
123
+ });
124
+ intersectionObserver.observe(hostElement);
125
+ return intersectionObserver;
126
+ }
103
127
  //# sourceMappingURL=input.util.js.map