@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
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "url": "https://github.com/siemens/ix",
8
8
  "directory": "packages/core"
9
9
  },
10
- "version": "2.6.1",
10
+ "version": "2.7.0",
11
11
  "license": "MIT",
12
12
  "description": "Siemens iX Web Components",
13
13
  "main": "dist/index.cjs.js",
@@ -36,7 +36,7 @@
36
36
  "luxon": "^3.4.4"
37
37
  },
38
38
  "devDependencies": {
39
- "@playwright/test": "^1.32.1",
39
+ "@playwright/test": "^1.49.1",
40
40
  "@siemens/ix-icons": "^2.0.0",
41
41
  "@stencil-community/eslint-plugin": "^0.7.2",
42
42
  "@stencil-community/postcss": "^2.2.0",
@@ -71,8 +71,7 @@
71
71
  "start-server-and-test": "^1.14.0",
72
72
  "ts-node": "^10.0.0",
73
73
  "typescript": "^5.3.3",
74
- "eslint-config-ix": "1.0.0",
75
- "strict-check": "1.0.0"
74
+ "eslint-config-ix": "1.0.0"
76
75
  },
77
76
  "peerDependencies": {
78
77
  "@popperjs/core": "^2.11.0",
@@ -111,7 +111,10 @@
111
111
  }
112
112
 
113
113
  @mixin element-textarea {
114
- padding: 0.375rem 1.25rem 0.375rem 0.5rem;
114
+ & {
115
+ padding: calc(0.375rem - var(--theme-input--border-thickness))
116
+ calc(0.5rem - var(--theme-input--border-thickness));
117
+ }
115
118
  }
116
119
 
117
120
  @mixin form {
@@ -1 +0,0 @@
1
- {"file":"index-492e6488.js","mappings":";;;;;AAAA;;;;;;;;AAYO,eAAe,aAAa,CAAC,MAA8B;IAChE,MAAMA,OAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IACpEA,OAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,MAAM,GAAG,MAAMC,eAAS,CAAC;QAC7B,OAAO,EAAED,OAAK;QACd,IAAI,EAAE,KAAK;QACX,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CACvD,6BAA6B,CAC9B,CAAC;IAEF,OAAO,CAAC,qBAA6C;QACnD,gBAAgB,CAAC,MAAM,GAAG,qBAAqB,CAAC;KACjD,CAAC;AACJ;;;;","names":["modal","showModal"],"sources":["src/components/utils/app-switch/index.ts"],"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 { AppSwitchConfiguration } from '../application-layout/context';\nimport { showModal } from '../modal';\n\nexport async function showAppSwitch(config: AppSwitchConfiguration) {\n const modal = document.createElement('ix-application-switch-modal');\n modal.config = config;\n const result = await showModal({\n content: modal,\n size: '840',\n closeOnBackdropClick: true,\n });\n\n const appSwitchElement = result.htmlElement.querySelector(\n 'ix-application-switch-modal'\n );\n\n return (updateAppSwitchConfig: AppSwitchConfiguration) => {\n appSwitchElement.config = updateAppSwitchConfig;\n };\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"input.util-54d161e6.js","mappings":"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","names":["h","anime","shouldSuppressInternalValidation","convertToRemString","a11yBoolean"],"sources":["src/components/input/input.fc.tsx","src/components/input/input.animation.ts","src/components/input/input.util.ts"],"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 */\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { MakeRef } from '../utils/make-ref';\nimport { A11yAttributes } from '../utils/a11y';\n\nexport function TextareaElement(props: {\n resizeBehavior: 'both' | 'horizontal' | 'vertical' | 'none';\n textareaHeight?: string;\n textareaWidth?: string;\n textareaRows?: number;\n textareaCols?: number;\n disabled: boolean;\n readonly: boolean;\n maxLength?: number;\n minLength?: number;\n isInvalid: boolean;\n required: boolean;\n value: string;\n placeholder?: string;\n textAreaRef: (el: HTMLTextAreaElement | undefined) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <textarea\n readOnly={props.readonly}\n disabled={props.disabled}\n maxLength={props.maxLength}\n minLength={props.minLength}\n cols={props.textareaCols}\n rows={props.textareaRows}\n ref={props.textAreaRef}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n props.valueChange(target.value);\n }}\n onBlur={() => props.onBlur()}\n style={{\n resize: props.resizeBehavior,\n height: props.textareaHeight,\n width: props.textareaWidth,\n }}\n {...props.ariaAttributes}\n ></textarea>\n );\n}\n\nexport function InputElement(props: {\n id: string;\n disabled: boolean;\n readonly: boolean;\n maxLength?: string | number;\n minLength?: string | number;\n max?: string | number;\n min?: string | number;\n pattern?: string;\n type: string;\n isInvalid: boolean;\n required: boolean;\n value: string | number;\n placeholder?: string;\n inputRef: (el: HTMLInputElement | undefined) => void;\n onKeyPress: (event: KeyboardEvent) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <input\n id={props.id}\n autoComplete=\"off\"\n readOnly={props.readonly}\n disabled={props.disabled}\n min={props.min}\n max={props.max}\n maxLength={props.maxLength ? Number(props.maxLength) : undefined}\n minLength={props.maxLength ? Number(props.minLength) : undefined}\n ref={props.inputRef}\n pattern={props.pattern}\n type={props.type}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onKeyPress={(event) => props.onKeyPress(event)}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n props.valueChange(target.value);\n }}\n onBlur={() => props.onBlur()}\n {...props.ariaAttributes}\n ></input>\n );\n}\n\nexport const SlotEnd: FunctionalComponent<{\n slotEndRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}> = (props, children) => {\n return (\n <div class=\"end-container\" ref={props.slotEndRef}>\n <slot name=\"end\" onSlotchange={props.onSlotChange}></slot>\n {children}\n </div>\n );\n};\n\nexport const SlotStart: FunctionalComponent<{\n slotStartRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}> = (props) => {\n return (\n <div class=\"start-container\" ref={props.slotStartRef}>\n <slot name=\"start\" onSlotchange={props.onSlotChange}></slot>\n </div>\n );\n};\n","/*\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 */\nimport anime from 'animejs';\n\nexport function shakeInput(input: HTMLInputElement) {\n const xMax = 5;\n anime({\n targets: input,\n duration: 200,\n easing: 'easeInOutSine',\n loop: 2,\n translateX: [\n {\n value: xMax * -1,\n },\n {\n value: xMax,\n },\n {\n value: xMax / -2,\n },\n {\n value: xMax / 2,\n },\n {\n value: 0,\n },\n ],\n });\n}\n","/*\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 { A11yAttributes, a11yBoolean } from '../utils/a11y';\nimport {\n IxFormComponent,\n IxInputFieldComponent,\n ValidationResults,\n shouldSuppressInternalValidation,\n} from '../utils/input';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { generateUUID } from '../utils/uuid';\nimport { shakeInput } from './input.animation';\n\nexport function createIdIfNotExists(\n element: IxFormComponent,\n idPrefix: string = 'input'\n) {\n return element.hasAttribute('id')\n ? element.getAttribute('id')\n : `${idPrefix}-${generateUUID()}`;\n}\n\nexport function mapValidationResult<T>(\n ref: IxInputFieldComponent<T>,\n result: ValidationResults\n) {\n ref.isInvalid = result.isInvalid || result.isInvalidByRequired;\n ref.isValid = result.isValid;\n ref.isInfo = result.isInfo;\n ref.isWarning = result.isWarning;\n}\n\nexport function checkAllowedKeys<T>(\n comp: IxInputFieldComponent<T>,\n event: KeyboardEvent\n) {\n if (comp.allowedCharactersPattern) {\n const regex = new RegExp(comp.allowedCharactersPattern);\n if (!regex.test(event.key)) {\n event.preventDefault();\n shakeInput(comp.inputRef.current);\n }\n }\n}\n\nexport async function checkInternalValidity<T>(\n comp: IxFormComponent<T>,\n input: HTMLInputElement | HTMLTextAreaElement\n) {\n const validityState = input.validity;\n\n const eventResult = comp.validityStateChange.emit(validityState);\n\n if (eventResult.defaultPrevented) {\n return;\n }\n\n if (!comp.value) {\n return;\n }\n\n const skipValidation = await shouldSuppressInternalValidation(comp);\n if (skipValidation) {\n return;\n }\n\n const { valid } = validityState;\n comp.hostElement.classList.toggle('ix-invalid', !valid);\n}\n\nexport function onInputBlur<T>(\n comp: IxInputFieldComponent<T>,\n input?: HTMLInputElement | HTMLTextAreaElement | null\n) {\n comp.ixBlur.emit();\n\n if (!input) {\n throw new Error('Input element is not available');\n }\n checkInternalValidity(comp, input);\n}\n\nexport function applyPaddingEnd(\n inputElement: HTMLElement | null,\n width: number,\n options: {\n slotEnd: boolean;\n additionalPaddingRight?: string;\n }\n) {\n if (!inputElement) {\n return;\n }\n\n const remInPixels = 16;\n const padding = convertToRemString(width + remInPixels / 2);\n\n if (options.slotEnd) {\n inputElement.style.paddingRight = `calc(${padding} + ${\n options.additionalPaddingRight ?? '0rem'\n })`;\n } else {\n inputElement.style.paddingLeft = padding;\n }\n}\n\nexport function adjustPaddingForStartAndEnd(\n startElement: HTMLElement | null,\n endElement: HTMLElement | null,\n inputElement: HTMLElement | null\n) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (startElement) {\n const startBoundingRect = startElement.getBoundingClientRect();\n if (startBoundingRect) {\n applyPaddingEnd(inputElement, startBoundingRect.width, {\n slotEnd: false,\n });\n }\n }\n\n if (endElement) {\n const endBoundingRect = endElement.getBoundingClientRect();\n if (endBoundingRect) {\n applyPaddingEnd(inputElement, endBoundingRect.width, {\n slotEnd: true,\n });\n }\n }\n });\n });\n}\n\nexport function getAriaAttributesForInput(\n component: IxInputFieldComponent\n): A11yAttributes {\n const inputAria: A11yAttributes = {\n 'aria-invalid': `${a11yBoolean(component.isInvalid)}`,\n 'aria-required': `${a11yBoolean(component.required)}`,\n };\n\n if (component.isInvalid && component.invalidText) {\n inputAria['aria-errormessage'] = component.invalidText;\n }\n return inputAria;\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"menu-tabs-fc-eb899b0d.js","mappings":"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","names":["forceUpdate","h","Host"],"sources":["src/components/menu-settings/menu-settings.scss?tag=ix-menu-settings&encapsulation=shadow","src/components/menu-settings/menu-settings.tsx","src/components/utils/menu-tabs/menu-tabs-utils.ts","src/components/utils/menu-tabs/menu-tabs-fc.tsx"],"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\n@import 'common-variables';\n@import 'legacy/fonts';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: block;\n background-color: var(--theme-nav-overlay--background);\n padding: $medium-space $default-space $default-space $x-large-space;\n flex-grow: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n\n .settings-header {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n height: $x-large-space;\n margin-bottom: $small-space;\n\n h2 {\n color: var(--theme-nav-overlay-header--color);\n margin-bottom: 1rem;\n }\n }\n\n ix-tabs {\n margin-bottom: 1.5rem;\n }\n\n .settings-tabs {\n margin-bottom: $large-space;\n }\n}\n","/*\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 forceUpdate,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { MenuTabs } from '../utils/menu-tabs/menu-tabs-fc';\nimport {\n CustomCloseEvent,\n initialize,\n setTab,\n} from '../utils/menu-tabs/menu-tabs-utils';\n\n@Component({\n tag: 'ix-menu-settings',\n styleUrl: 'menu-settings.scss',\n shadow: true,\n})\nexport class MenuSettings {\n @Element() el!: HTMLIxMenuSettingsElement;\n\n /**\n * Active tab\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) activeTabLabel: string;\n\n /**\n * Label of first tab\n */\n @Prop() label = 'Settings';\n\n /**\n * Internal\n */\n @Prop() show = false;\n\n /**\n * Popover closed\n */\n @Event() close: EventEmitter<CustomCloseEvent>;\n\n @State() items: HTMLIxMenuSettingsItemElement[];\n\n @Watch('activeTabLabel')\n updateTab(label: string) {\n setTab(this, label);\n }\n\n componentWillLoad() {\n initialize(this);\n }\n\n componentDidLoad() {\n forceUpdate(this.el);\n }\n\n render() {\n return <MenuTabs context={this} />;\n }\n}\n","/*\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 { MenuAbout } from '../../menu-about/menu-about';\nimport { MenuSettings } from '../../menu-settings/menu-settings';\n\nfunction getItems(\n context: MenuSettings | MenuAbout\n): HTMLIxMenuSettingsItemElement[] | HTMLIxMenuAboutItemElement[] {\n return Array.from(\n context.el.querySelectorAll(\n context instanceof MenuSettings\n ? 'ix-menu-settings-item'\n : 'ix-menu-about-item'\n )\n );\n}\n\nexport function setTab(context: MenuSettings | MenuAbout, label: string) {\n context.activeTabLabel = label;\n context.items.forEach((i) => {\n i.style.display = 'none';\n if (i.label === context.activeTabLabel) {\n i.style.display = 'block';\n }\n });\n}\n\nexport function initialize(context: MenuSettings | MenuAbout) {\n context.items = getItems(context);\n\n if (context.items.length) {\n setTab(context, context.activeTabLabel || context.items[0].label);\n }\n\n context.items.forEach((item) => {\n item.addEventListener('labelChange', (e: CustomEvent) => {\n context.items = getItems(context);\n\n if (e.detail.oldLabel === context.activeTabLabel) {\n context.activeTabLabel = e.detail.newLabel;\n }\n });\n });\n}\n\nexport interface CustomLabelChangeEvent {\n name: string;\n oldLabel: string;\n newLabel: string;\n}\n\nexport interface CustomCloseEvent {\n nativeEvent: MouseEvent;\n name: string;\n}\n","/*\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 { FunctionalComponent, h, Host } from '@stencil/core';\nimport { setTab } from './menu-tabs-utils';\nimport { MenuAbout } from '../../menu-about/menu-about';\nimport { MenuSettings } from '../../menu-settings/menu-settings';\n\ninterface MenuTabsProps {\n context: MenuSettings | MenuAbout;\n}\n\nconst getTabItems = (context: MenuSettings | MenuAbout) => {\n return context.items.map(({ label }) => {\n return (\n <ix-tab-item\n selected={label === context.activeTabLabel}\n onClick={() => setTab(context, label)}\n >\n {label}\n </ix-tab-item>\n );\n });\n};\n\nexport const MenuTabs: FunctionalComponent<MenuTabsProps> = ({ context }) => {\n const selectedIndex = context.items.findIndex(\n (item) => item.label === context.activeTabLabel\n );\n return (\n <Host\n slot={\n context instanceof MenuSettings ? 'ix-menu-settings' : 'ix-menu-about'\n }\n class={{\n show: context.show,\n }}\n >\n <div\n class={\n context instanceof MenuSettings ? 'settings-header' : 'about-header'\n }\n >\n <h2 class=\"text-h2\">{context.label}</h2>\n <ix-icon-button\n ghost\n size=\"24\"\n icon={'close'}\n onClick={(e) =>\n context.close.emit({\n name:\n context instanceof MenuSettings\n ? 'ix-menu-settings'\n : 'ix-menu-about',\n nativeEvent: e,\n })\n }\n ></ix-icon-button>\n </div>\n <ix-tabs selected={selectedIndex !== -1 ? selectedIndex : 0}>\n {getTabItems(context)}\n </ix-tabs>\n <slot></slot>\n </Host>\n );\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"setup-cc07fbfc.js","mappings":";;;;AAAA;;;;;;;;AAWA,eAAe,UAAU;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO;KACR;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,aAAa,EAAE;QACjB,OAAO;KACR;IAED,OAAO,CAAC,IAAI,CACV,gEAAgE,CACjE,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,oDAAO,4BAA0B,mDAAC,CAAC;IACzD,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC;AACvC,CAAC;SAEe,qBAAqB,CAAC,MAAgB;IACpD,MAAM,eAAe,GAAyC,EAAE,CAAC;IAEjE,IAAI,MAAM,CAAC,GAAG,EAAE;QACd,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;KAClC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE;QACd,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;KAClC;IAED,IAAI,MAAM,CAAC,EAAE,EAAE;QACb,eAAe,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;KAChC;IAEDA,wBAAkB,CAAC,eAAe,CAAC,CAAC;AACtC,CAAC;AAkBc,gCAAgB,MAAiB;IAC9C,MAAM,UAAU,EAAE,CAAC;IACnB,qBAAqB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AACtC;;;;;","names":["setPlatformHelpers"],"sources":["src/setup.ts"],"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 { setPlatformHelpers } from '@stencil/core';\n\nasync function setupIcons() {\n if (typeof window === 'undefined') {\n return;\n }\n\n const iconComponent = window.customElements.get('ix-icon');\n if (iconComponent) {\n return;\n }\n\n console.warn(\n 'ix-icon web component not loaded. Using local fallback version'\n );\n\n const ixIcons = await import('@siemens/ix-icons/loader');\n await ixIcons.defineCustomElements();\n}\n\nexport function handlePlatformHelpers(config: IxConfig) {\n const platformHelpers: Pick<IxConfig, 'ael' | 'rel' | 'ce'> = {};\n\n if (config.ael) {\n platformHelpers.ael = config.ael;\n }\n\n if (config.rel) {\n platformHelpers.rel = config.rel;\n }\n\n if (config.ce) {\n platformHelpers.ce = config.ce;\n }\n\n setPlatformHelpers(platformHelpers);\n}\n\nexport type IxConfig = {\n ael?: (\n el: unknown,\n name: string,\n cb: (...args: unknown[]) => unknown,\n opts: unknown\n ) => void;\n rel?: (\n el: unknown,\n name: string,\n cb: (...args: unknown[]) => unknown,\n opts: unknown\n ) => void;\n ce?: (eventName: string, opts: unknown) => unknown;\n};\n\nexport default async function (config?: IxConfig) {\n await setupIcons();\n handlePlatformHelpers(config || {});\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"validation-1e3dd5ee.js","mappings":"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","names":["getElement"],"sources":["src/components/utils/input/validation.ts"],"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 */\nimport { getElement } from '@stencil/core';\nimport { HTMLIxFormComponentElement, IxFormComponent } from '.';\nimport { IxComponent } from '../internal';\n\nexport type ClassMutationObserver = {\n destroy: () => void;\n};\n\nexport async function shouldSuppressInternalValidation<T>(\n host: IxFormComponent<T>\n) {\n if (\n host.getAssociatedFormElement &&\n typeof host.getAssociatedFormElement === 'function'\n ) {\n const form = await host.getAssociatedFormElement();\n\n if (!form) {\n return false;\n }\n\n return form.noValidate;\n }\n\n return false;\n}\n\nexport function createClassMutationObserver(\n element: HTMLElement,\n callback: () => void,\n options?: {\n includeChildren?: boolean;\n }\n): ClassMutationObserver {\n const observer = new MutationObserver(callback);\n observer.observe(element, {\n subtree: options?.includeChildren,\n childList: options?.includeChildren,\n attributes: true,\n attributeFilter: ['class'],\n });\n\n return {\n destroy() {\n observer.disconnect();\n },\n };\n}\n\nexport type ValidationResultProperty =\n | 'isInvalid'\n | 'isInvalidByRequired'\n | 'isValid'\n | 'isInfo'\n | 'isWarning';\nexport type ValidationResults = Record<ValidationResultProperty, boolean>;\n\nfunction containsClass(\n hostElement: HTMLIxFormComponentElement<unknown>,\n className: string,\n includeChildren: boolean\n) {\n return (\n hostElement.classList.contains(`${className}`) ||\n (includeChildren ? !!hostElement.querySelector(`.${className}`) : false)\n );\n}\n\nexport function checkFieldClasses(\n hostElement: HTMLIxFormComponentElement<unknown>,\n includeChildren = false\n): ValidationResults {\n return {\n isInvalid: containsClass(hostElement, 'ix-invalid', includeChildren),\n isInvalidByRequired: containsClass(\n hostElement,\n 'ix-invalid--required',\n includeChildren\n ),\n isValid: containsClass(hostElement, 'ix-valid', includeChildren),\n isInfo: containsClass(hostElement, 'ix-info', includeChildren),\n isWarning: containsClass(hostElement, 'ix-warning', includeChildren),\n };\n}\n\nexport function HookValidationLifecycle(options?: {\n includeChildren?: boolean;\n}) {\n return (proto: IxComponent, methodName: string) => {\n let checkIfRequiredFunction: () => Promise<void>;\n let classMutationObserver: ClassMutationObserver | null;\n const { componentWillLoad, disconnectedCallback, connectedCallback } =\n proto;\n\n proto.connectedCallback = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n\n checkIfRequiredFunction = async () => {\n const skipValidation = await shouldSuppressInternalValidation(host);\n if (skipValidation) {\n return;\n }\n\n if (host.hasValidValue && typeof host.hasValidValue === 'function') {\n const hasValue = await host.hasValidValue();\n if (host.required) {\n host.classList.toggle('ix-invalid--required', !hasValue);\n } else {\n host.classList.remove('ix-invalid--required');\n }\n }\n\n if (\n host.getValidityState &&\n typeof host.getValidityState === 'function'\n ) {\n const validityState = await host.getValidityState();\n Object.keys(validityState)\n // Use only the keys that are relevant for the validation state\n // patternMismatch used for `ix-date-input`\n .filter((key) => ['patternMismatch'].includes(key))\n .forEach((key) => {\n host.classList.toggle(\n `ix-invalid--${key}`,\n validityState[key as keyof ValidityState]\n );\n });\n }\n };\n\n host.addEventListener('valueChange', checkIfRequiredFunction);\n setTimeout(checkIfRequiredFunction);\n return connectedCallback?.call(this);\n };\n\n proto.componentWillLoad = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n classMutationObserver = createClassMutationObserver(\n host,\n () => {\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n },\n options\n );\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n return componentWillLoad?.call(this);\n };\n\n proto.disconnectedCallback = function () {\n const host = getElement(this);\n\n if (host && classMutationObserver) {\n classMutationObserver.destroy();\n classMutationObserver = null;\n }\n\n if (host && checkIfRequiredFunction) {\n host.removeEventListener('valueChange', checkIfRequiredFunction);\n }\n\n return disconnectedCallback?.call(this);\n };\n };\n}\n"],"version":3}
@@ -1,7 +0,0 @@
1
- import { a as appGlobalScript } from './setup-9c5fe321.js';
2
-
3
- const globalScripts = appGlobalScript;
4
-
5
- export { globalScripts as g };
6
-
7
- //# sourceMappingURL=app-globals-40082a83.js.map
@@ -1 +0,0 @@
1
- {"file":"index-7421df0c.js","mappings":";;;AAAA;;;;;;;;AAYO,eAAe,aAAa,CAAC,MAA8B;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IACpE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC7B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CACvD,6BAA6B,CAC9B,CAAC;IAEF,OAAO,CAAC,qBAA6C;QACnD,gBAAgB,CAAC,MAAM,GAAG,qBAAqB,CAAC;KACjD,CAAC;AACJ;;;;","names":[],"sources":["src/components/utils/app-switch/index.ts"],"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 { AppSwitchConfiguration } from '../application-layout/context';\nimport { showModal } from '../modal';\n\nexport async function showAppSwitch(config: AppSwitchConfiguration) {\n const modal = document.createElement('ix-application-switch-modal');\n modal.config = config;\n const result = await showModal({\n content: modal,\n size: '840',\n closeOnBackdropClick: true,\n });\n\n const appSwitchElement = result.htmlElement.querySelector(\n 'ix-application-switch-modal'\n );\n\n return (updateAppSwitchConfig: AppSwitchConfiguration) => {\n appSwitchElement.config = updateAppSwitchConfig;\n };\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"input.util-c855b2ed.js","mappings":"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","names":[],"sources":["src/components/input/input.fc.tsx","src/components/input/input.animation.ts","src/components/input/input.util.ts"],"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 */\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { MakeRef } from '../utils/make-ref';\nimport { A11yAttributes } from '../utils/a11y';\n\nexport function TextareaElement(props: {\n resizeBehavior: 'both' | 'horizontal' | 'vertical' | 'none';\n textareaHeight?: string;\n textareaWidth?: string;\n textareaRows?: number;\n textareaCols?: number;\n disabled: boolean;\n readonly: boolean;\n maxLength?: number;\n minLength?: number;\n isInvalid: boolean;\n required: boolean;\n value: string;\n placeholder?: string;\n textAreaRef: (el: HTMLTextAreaElement | undefined) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <textarea\n readOnly={props.readonly}\n disabled={props.disabled}\n maxLength={props.maxLength}\n minLength={props.minLength}\n cols={props.textareaCols}\n rows={props.textareaRows}\n ref={props.textAreaRef}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n props.valueChange(target.value);\n }}\n onBlur={() => props.onBlur()}\n style={{\n resize: props.resizeBehavior,\n height: props.textareaHeight,\n width: props.textareaWidth,\n }}\n {...props.ariaAttributes}\n ></textarea>\n );\n}\n\nexport function InputElement(props: {\n id: string;\n disabled: boolean;\n readonly: boolean;\n maxLength?: string | number;\n minLength?: string | number;\n max?: string | number;\n min?: string | number;\n pattern?: string;\n type: string;\n isInvalid: boolean;\n required: boolean;\n value: string | number;\n placeholder?: string;\n inputRef: (el: HTMLInputElement | undefined) => void;\n onKeyPress: (event: KeyboardEvent) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <input\n id={props.id}\n autoComplete=\"off\"\n readOnly={props.readonly}\n disabled={props.disabled}\n min={props.min}\n max={props.max}\n maxLength={props.maxLength ? Number(props.maxLength) : undefined}\n minLength={props.maxLength ? Number(props.minLength) : undefined}\n ref={props.inputRef}\n pattern={props.pattern}\n type={props.type}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onKeyPress={(event) => props.onKeyPress(event)}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n props.valueChange(target.value);\n }}\n onBlur={() => props.onBlur()}\n {...props.ariaAttributes}\n ></input>\n );\n}\n\nexport const SlotEnd: FunctionalComponent<{\n slotEndRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}> = (props, children) => {\n return (\n <div class=\"end-container\" ref={props.slotEndRef}>\n <slot name=\"end\" onSlotchange={props.onSlotChange}></slot>\n {children}\n </div>\n );\n};\n\nexport const SlotStart: FunctionalComponent<{\n slotStartRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}> = (props) => {\n return (\n <div class=\"start-container\" ref={props.slotStartRef}>\n <slot name=\"start\" onSlotchange={props.onSlotChange}></slot>\n </div>\n );\n};\n","/*\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 */\nimport anime from 'animejs';\n\nexport function shakeInput(input: HTMLInputElement) {\n const xMax = 5;\n anime({\n targets: input,\n duration: 200,\n easing: 'easeInOutSine',\n loop: 2,\n translateX: [\n {\n value: xMax * -1,\n },\n {\n value: xMax,\n },\n {\n value: xMax / -2,\n },\n {\n value: xMax / 2,\n },\n {\n value: 0,\n },\n ],\n });\n}\n","/*\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 { A11yAttributes, a11yBoolean } from '../utils/a11y';\nimport {\n IxFormComponent,\n IxInputFieldComponent,\n ValidationResults,\n shouldSuppressInternalValidation,\n} from '../utils/input';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { generateUUID } from '../utils/uuid';\nimport { shakeInput } from './input.animation';\n\nexport function createIdIfNotExists(\n element: IxFormComponent,\n idPrefix: string = 'input'\n) {\n return element.hasAttribute('id')\n ? element.getAttribute('id')\n : `${idPrefix}-${generateUUID()}`;\n}\n\nexport function mapValidationResult<T>(\n ref: IxInputFieldComponent<T>,\n result: ValidationResults\n) {\n ref.isInvalid = result.isInvalid || result.isInvalidByRequired;\n ref.isValid = result.isValid;\n ref.isInfo = result.isInfo;\n ref.isWarning = result.isWarning;\n}\n\nexport function checkAllowedKeys<T>(\n comp: IxInputFieldComponent<T>,\n event: KeyboardEvent\n) {\n if (comp.allowedCharactersPattern) {\n const regex = new RegExp(comp.allowedCharactersPattern);\n if (!regex.test(event.key)) {\n event.preventDefault();\n shakeInput(comp.inputRef.current);\n }\n }\n}\n\nexport async function checkInternalValidity<T>(\n comp: IxFormComponent<T>,\n input: HTMLInputElement | HTMLTextAreaElement\n) {\n const validityState = input.validity;\n\n const eventResult = comp.validityStateChange.emit(validityState);\n\n if (eventResult.defaultPrevented) {\n return;\n }\n\n if (!comp.value) {\n return;\n }\n\n const skipValidation = await shouldSuppressInternalValidation(comp);\n if (skipValidation) {\n return;\n }\n\n const { valid } = validityState;\n comp.hostElement.classList.toggle('ix-invalid', !valid);\n}\n\nexport function onInputBlur<T>(\n comp: IxInputFieldComponent<T>,\n input?: HTMLInputElement | HTMLTextAreaElement | null\n) {\n comp.ixBlur.emit();\n\n if (!input) {\n throw new Error('Input element is not available');\n }\n checkInternalValidity(comp, input);\n}\n\nexport function applyPaddingEnd(\n inputElement: HTMLElement | null,\n width: number,\n options: {\n slotEnd: boolean;\n additionalPaddingRight?: string;\n }\n) {\n if (!inputElement) {\n return;\n }\n\n const remInPixels = 16;\n const padding = convertToRemString(width + remInPixels / 2);\n\n if (options.slotEnd) {\n inputElement.style.paddingRight = `calc(${padding} + ${\n options.additionalPaddingRight ?? '0rem'\n })`;\n } else {\n inputElement.style.paddingLeft = padding;\n }\n}\n\nexport function adjustPaddingForStartAndEnd(\n startElement: HTMLElement | null,\n endElement: HTMLElement | null,\n inputElement: HTMLElement | null\n) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (startElement) {\n const startBoundingRect = startElement.getBoundingClientRect();\n if (startBoundingRect) {\n applyPaddingEnd(inputElement, startBoundingRect.width, {\n slotEnd: false,\n });\n }\n }\n\n if (endElement) {\n const endBoundingRect = endElement.getBoundingClientRect();\n if (endBoundingRect) {\n applyPaddingEnd(inputElement, endBoundingRect.width, {\n slotEnd: true,\n });\n }\n }\n });\n });\n}\n\nexport function getAriaAttributesForInput(\n component: IxInputFieldComponent\n): A11yAttributes {\n const inputAria: A11yAttributes = {\n 'aria-invalid': `${a11yBoolean(component.isInvalid)}`,\n 'aria-required': `${a11yBoolean(component.required)}`,\n };\n\n if (component.isInvalid && component.invalidText) {\n inputAria['aria-errormessage'] = component.invalidText;\n }\n return inputAria;\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"menu-tabs-fc-563a74d9.js","mappings":"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","names":[],"sources":["src/components/menu-settings/menu-settings.scss?tag=ix-menu-settings&encapsulation=shadow","src/components/menu-settings/menu-settings.tsx","src/components/utils/menu-tabs/menu-tabs-utils.ts","src/components/utils/menu-tabs/menu-tabs-fc.tsx"],"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\n@import 'common-variables';\n@import 'legacy/fonts';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: block;\n background-color: var(--theme-nav-overlay--background);\n padding: $medium-space $default-space $default-space $x-large-space;\n flex-grow: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n\n .settings-header {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n height: $x-large-space;\n margin-bottom: $small-space;\n\n h2 {\n color: var(--theme-nav-overlay-header--color);\n margin-bottom: 1rem;\n }\n }\n\n ix-tabs {\n margin-bottom: 1.5rem;\n }\n\n .settings-tabs {\n margin-bottom: $large-space;\n }\n}\n","/*\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 forceUpdate,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { MenuTabs } from '../utils/menu-tabs/menu-tabs-fc';\nimport {\n CustomCloseEvent,\n initialize,\n setTab,\n} from '../utils/menu-tabs/menu-tabs-utils';\n\n@Component({\n tag: 'ix-menu-settings',\n styleUrl: 'menu-settings.scss',\n shadow: true,\n})\nexport class MenuSettings {\n @Element() el!: HTMLIxMenuSettingsElement;\n\n /**\n * Active tab\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) activeTabLabel: string;\n\n /**\n * Label of first tab\n */\n @Prop() label = 'Settings';\n\n /**\n * Internal\n */\n @Prop() show = false;\n\n /**\n * Popover closed\n */\n @Event() close: EventEmitter<CustomCloseEvent>;\n\n @State() items: HTMLIxMenuSettingsItemElement[];\n\n @Watch('activeTabLabel')\n updateTab(label: string) {\n setTab(this, label);\n }\n\n componentWillLoad() {\n initialize(this);\n }\n\n componentDidLoad() {\n forceUpdate(this.el);\n }\n\n render() {\n return <MenuTabs context={this} />;\n }\n}\n","/*\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 { MenuAbout } from '../../menu-about/menu-about';\nimport { MenuSettings } from '../../menu-settings/menu-settings';\n\nfunction getItems(\n context: MenuSettings | MenuAbout\n): HTMLIxMenuSettingsItemElement[] | HTMLIxMenuAboutItemElement[] {\n return Array.from(\n context.el.querySelectorAll(\n context instanceof MenuSettings\n ? 'ix-menu-settings-item'\n : 'ix-menu-about-item'\n )\n );\n}\n\nexport function setTab(context: MenuSettings | MenuAbout, label: string) {\n context.activeTabLabel = label;\n context.items.forEach((i) => {\n i.style.display = 'none';\n if (i.label === context.activeTabLabel) {\n i.style.display = 'block';\n }\n });\n}\n\nexport function initialize(context: MenuSettings | MenuAbout) {\n context.items = getItems(context);\n\n if (context.items.length) {\n setTab(context, context.activeTabLabel || context.items[0].label);\n }\n\n context.items.forEach((item) => {\n item.addEventListener('labelChange', (e: CustomEvent) => {\n context.items = getItems(context);\n\n if (e.detail.oldLabel === context.activeTabLabel) {\n context.activeTabLabel = e.detail.newLabel;\n }\n });\n });\n}\n\nexport interface CustomLabelChangeEvent {\n name: string;\n oldLabel: string;\n newLabel: string;\n}\n\nexport interface CustomCloseEvent {\n nativeEvent: MouseEvent;\n name: string;\n}\n","/*\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 { FunctionalComponent, h, Host } from '@stencil/core';\nimport { setTab } from './menu-tabs-utils';\nimport { MenuAbout } from '../../menu-about/menu-about';\nimport { MenuSettings } from '../../menu-settings/menu-settings';\n\ninterface MenuTabsProps {\n context: MenuSettings | MenuAbout;\n}\n\nconst getTabItems = (context: MenuSettings | MenuAbout) => {\n return context.items.map(({ label }) => {\n return (\n <ix-tab-item\n selected={label === context.activeTabLabel}\n onClick={() => setTab(context, label)}\n >\n {label}\n </ix-tab-item>\n );\n });\n};\n\nexport const MenuTabs: FunctionalComponent<MenuTabsProps> = ({ context }) => {\n const selectedIndex = context.items.findIndex(\n (item) => item.label === context.activeTabLabel\n );\n return (\n <Host\n slot={\n context instanceof MenuSettings ? 'ix-menu-settings' : 'ix-menu-about'\n }\n class={{\n show: context.show,\n }}\n >\n <div\n class={\n context instanceof MenuSettings ? 'settings-header' : 'about-header'\n }\n >\n <h2 class=\"text-h2\">{context.label}</h2>\n <ix-icon-button\n ghost\n size=\"24\"\n icon={'close'}\n onClick={(e) =>\n context.close.emit({\n name:\n context instanceof MenuSettings\n ? 'ix-menu-settings'\n : 'ix-menu-about',\n nativeEvent: e,\n })\n }\n ></ix-icon-button>\n </div>\n <ix-tabs selected={selectedIndex !== -1 ? selectedIndex : 0}>\n {getTabItems(context)}\n </ix-tabs>\n <slot></slot>\n </Host>\n );\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"setup-9c5fe321.js","mappings":";;AAAA;;;;;;;;AAWA,eAAe,UAAU;IACvB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO;KACR;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,aAAa,EAAE;QACjB,OAAO;KACR;IAED,OAAO,CAAC,IAAI,CACV,gEAAgE,CACjE,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,OAAO,4BAA0B,oCAAC,CAAC;IACzD,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC;AACvC,CAAC;SAEe,qBAAqB,CAAC,MAAgB;IACpD,MAAM,eAAe,GAAyC,EAAE,CAAC;IAEjE,IAAI,MAAM,CAAC,GAAG,EAAE;QACd,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;KAClC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE;QACd,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;KAClC;IAED,IAAI,MAAM,CAAC,EAAE,EAAE;QACb,eAAe,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;KAChC;IAED,kBAAkB,CAAC,eAAe,CAAC,CAAC;AACtC,CAAC;AAkBc,gCAAgB,MAAiB;IAC9C,MAAM,UAAU,EAAE,CAAC;IACnB,qBAAqB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AACtC;;;;","names":[],"sources":["src/setup.ts"],"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 { setPlatformHelpers } from '@stencil/core';\n\nasync function setupIcons() {\n if (typeof window === 'undefined') {\n return;\n }\n\n const iconComponent = window.customElements.get('ix-icon');\n if (iconComponent) {\n return;\n }\n\n console.warn(\n 'ix-icon web component not loaded. Using local fallback version'\n );\n\n const ixIcons = await import('@siemens/ix-icons/loader');\n await ixIcons.defineCustomElements();\n}\n\nexport function handlePlatformHelpers(config: IxConfig) {\n const platformHelpers: Pick<IxConfig, 'ael' | 'rel' | 'ce'> = {};\n\n if (config.ael) {\n platformHelpers.ael = config.ael;\n }\n\n if (config.rel) {\n platformHelpers.rel = config.rel;\n }\n\n if (config.ce) {\n platformHelpers.ce = config.ce;\n }\n\n setPlatformHelpers(platformHelpers);\n}\n\nexport type IxConfig = {\n ael?: (\n el: unknown,\n name: string,\n cb: (...args: unknown[]) => unknown,\n opts: unknown\n ) => void;\n rel?: (\n el: unknown,\n name: string,\n cb: (...args: unknown[]) => unknown,\n opts: unknown\n ) => void;\n ce?: (eventName: string, opts: unknown) => unknown;\n};\n\nexport default async function (config?: IxConfig) {\n await setupIcons();\n handlePlatformHelpers(config || {});\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"validation-45aa490c.js","mappings":"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","names":[],"sources":["src/components/utils/input/validation.ts"],"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 */\nimport { getElement } from '@stencil/core';\nimport { HTMLIxFormComponentElement, IxFormComponent } from '.';\nimport { IxComponent } from '../internal';\n\nexport type ClassMutationObserver = {\n destroy: () => void;\n};\n\nexport async function shouldSuppressInternalValidation<T>(\n host: IxFormComponent<T>\n) {\n if (\n host.getAssociatedFormElement &&\n typeof host.getAssociatedFormElement === 'function'\n ) {\n const form = await host.getAssociatedFormElement();\n\n if (!form) {\n return false;\n }\n\n return form.noValidate;\n }\n\n return false;\n}\n\nexport function createClassMutationObserver(\n element: HTMLElement,\n callback: () => void,\n options?: {\n includeChildren?: boolean;\n }\n): ClassMutationObserver {\n const observer = new MutationObserver(callback);\n observer.observe(element, {\n subtree: options?.includeChildren,\n childList: options?.includeChildren,\n attributes: true,\n attributeFilter: ['class'],\n });\n\n return {\n destroy() {\n observer.disconnect();\n },\n };\n}\n\nexport type ValidationResultProperty =\n | 'isInvalid'\n | 'isInvalidByRequired'\n | 'isValid'\n | 'isInfo'\n | 'isWarning';\nexport type ValidationResults = Record<ValidationResultProperty, boolean>;\n\nfunction containsClass(\n hostElement: HTMLIxFormComponentElement<unknown>,\n className: string,\n includeChildren: boolean\n) {\n return (\n hostElement.classList.contains(`${className}`) ||\n (includeChildren ? !!hostElement.querySelector(`.${className}`) : false)\n );\n}\n\nexport function checkFieldClasses(\n hostElement: HTMLIxFormComponentElement<unknown>,\n includeChildren = false\n): ValidationResults {\n return {\n isInvalid: containsClass(hostElement, 'ix-invalid', includeChildren),\n isInvalidByRequired: containsClass(\n hostElement,\n 'ix-invalid--required',\n includeChildren\n ),\n isValid: containsClass(hostElement, 'ix-valid', includeChildren),\n isInfo: containsClass(hostElement, 'ix-info', includeChildren),\n isWarning: containsClass(hostElement, 'ix-warning', includeChildren),\n };\n}\n\nexport function HookValidationLifecycle(options?: {\n includeChildren?: boolean;\n}) {\n return (proto: IxComponent, methodName: string) => {\n let checkIfRequiredFunction: () => Promise<void>;\n let classMutationObserver: ClassMutationObserver | null;\n const { componentWillLoad, disconnectedCallback, connectedCallback } =\n proto;\n\n proto.connectedCallback = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n\n checkIfRequiredFunction = async () => {\n const skipValidation = await shouldSuppressInternalValidation(host);\n if (skipValidation) {\n return;\n }\n\n if (host.hasValidValue && typeof host.hasValidValue === 'function') {\n const hasValue = await host.hasValidValue();\n if (host.required) {\n host.classList.toggle('ix-invalid--required', !hasValue);\n } else {\n host.classList.remove('ix-invalid--required');\n }\n }\n\n if (\n host.getValidityState &&\n typeof host.getValidityState === 'function'\n ) {\n const validityState = await host.getValidityState();\n Object.keys(validityState)\n // Use only the keys that are relevant for the validation state\n // patternMismatch used for `ix-date-input`\n .filter((key) => ['patternMismatch'].includes(key))\n .forEach((key) => {\n host.classList.toggle(\n `ix-invalid--${key}`,\n validityState[key as keyof ValidityState]\n );\n });\n }\n };\n\n host.addEventListener('valueChange', checkIfRequiredFunction);\n setTimeout(checkIfRequiredFunction);\n return connectedCallback?.call(this);\n };\n\n proto.componentWillLoad = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n classMutationObserver = createClassMutationObserver(\n host,\n () => {\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n },\n options\n );\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n return componentWillLoad?.call(this);\n };\n\n proto.disconnectedCallback = function () {\n const host = getElement(this);\n\n if (host && classMutationObserver) {\n classMutationObserver.destroy();\n classMutationObserver = null;\n }\n\n if (host && checkIfRequiredFunction) {\n host.removeEventListener('valueChange', checkIfRequiredFunction);\n }\n\n return disconnectedCallback?.call(this);\n };\n };\n}\n"],"version":3}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,F as s,H as a,g as o}from"./p-5806df2b.js";import{D as h}from"./p-f5e574da.js";import{m as r}from"./p-ce563a48.js";const n=":host{display:inline-block;position:relative}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}@media (max-width: 48em){:host .min-width{width:-moz-min-content;width:min-content}}@media (min-width: 48em){:host .border-right{border-right:var(--theme-x-weak-bdr-2)}}:host ix-button{width:100%}:host .max-height{max-height:-moz-max-content;max-height:max-content}:host .no-margin{margin:0;padding:0}:host .pull-right{float:right;padding:0 1rem 0.75rem 1rem}";const d=n;const c=class{constructor(e){t(this,e);this.dateRangeChange=i(this,"dateRangeChange",7);this.triggerRef=r();this.datePickerTouched=false;this.disabled=false;this.format="yyyy/LL/dd";this.range=true;this.from="";this.to="";this.minDate="";this.maxDate="";this.dateRangeId="custom";this.customRangeAllowed=true;this.dateRangeOptions=[];this.locale=undefined;this.weekStartIndex=0;this.i18nCustomItem="Custom...";this.i18nDone="Done";this.i18nNoRange="No range set";this.today=h.now().toISO();this.selectedDateRangeId=undefined;this.currentRangeValue=undefined}onDateRangeIdChange(){this.onRangeListSelect(this.dateRangeId);this.updateCurrentDate();this.setDateRangeSelection(this.dateRangeId);if(!this.currentRangeValue){return}this.onDateSelect({from:this.currentRangeValue.from,to:this.currentRangeValue.to,id:this.currentRangeValue.id})}onDateRangeOptionsChange(){this.initialize();this.onDateRangeIdChange()}onDisabledChange(){if(this.disabled){this.closeDropdown()}}componentWillLoad(){this.initialize();this.setDateRangeSelection(this.dateRangeId)}async getDateRange(){return this.currentRangeValue||{id:"",from:"",to:""}}initialize(){const t=this.dateRangeId==="custom"||!this.dateRangeId&&!!this.from&&!!this.to;if(t&&this.customRangeAllowed){this.selectedDateRangeId="custom";this.updateCurrentDate();return}const i=!t&&!this.from;if(!i){console.warn('"from" and "range-date-id" is provided this is an invalid combination. Using "custom".');this.selectedDateRangeId="custom";this.updateCurrentDate();return}}updateCurrentDate(){this.currentRangeValue={id:this.selectedDateRangeId,from:this.from,to:this.to}}onDateSelect(t,i=true){this.dateRangeChange.emit(t);if(i){this.closeDropdown()}this.datePickerTouched=false}onRangeListSelect(t){if(this.setDateRangeSelection(t)&&this.currentRangeValue){this.onDateSelect(this.currentRangeValue)}}setDateRangeSelection(t){this.selectedDateRangeId=t;const i=this.dateRangeOptions.find((i=>i.id===t));if(i){this.currentRangeValue=i}return i}closeDropdown(){const t=this.hostElement.shadowRoot.querySelector("ix-dropdown");if(t){t.show=false}}getButtonLabel(){var t,i;if(this.selectedDateRangeId==="custom"&&((t=this.currentRangeValue)===null||t===void 0?void 0:t.from)){let t=this.currentRangeValue.from;if(this.currentRangeValue.to){t+=` - ${this.currentRangeValue.to}`}return t}if(!this.selectedDateRangeId){return this.i18nNoRange}if(!this.dateRangeOptions||((i=this.dateRangeOptions)===null||i===void 0?void 0:i.length)===0){return this.i18nNoRange}const e=this.dateRangeOptions.find((t=>t.id===this.selectedDateRangeId));if(!e){console.error(`Cannot find range option with id ${this.selectedDateRangeId}`);return this.i18nNoRange}return e.label}render(){var t,i,o;return e(a,{key:"2d701ae652e6a2d69bc662cd9e18edff90f72edd"},e("ix-button",{key:"e5b0982166e57ef0beb50dcbc1980ccc35a0c450","data-testid":"date-dropdown-trigger","data-date-dropdown-trigger":true,variant:"primary",icon:"history",ref:this.triggerRef,disabled:this.disabled},this.getButtonLabel()),e("ix-dropdown",{key:"8557bc89aaf87e603fe776c261a9292e0efed772","data-testid":"date-dropdown","data-date-dropdown":true,class:"min-width max-height",trigger:this.triggerRef.waitForCurrent(),closeBehavior:"outside",placement:"bottom-start",onShowChanged:({detail:t})=>{if(!t&&this.selectedDateRangeId==="custom"&&this.datePickerTouched&&this.currentRangeValue){this.onDateSelect(this.currentRangeValue)}}},e("ix-layout-grid",{key:"dd9eb5b7f91bd61ec735e52f00ded59e02f5493d","no-margin":"true"},e("ix-row",{key:"ab39a5e672e4fdf432651c0c51bb703a3bb2b05a"},((t=this.dateRangeOptions)===null||t===void 0?void 0:t.length)>1&&e("ix-col",{key:"9414368bad83465b5fa64837f0571c0995649d63",class:{"no-margin":true,"border-right":this.selectedDateRangeId==="custom"}},this.dateRangeOptions.map((t=>e("ix-dropdown-item",{label:t.label,onClick:()=>this.onRangeListSelect(t.id),checked:this.selectedDateRangeId===t.id}))),e("div",{key:"d35bd95d8fb119e56adfb52c57878c0561ef42db",hidden:!this.customRangeAllowed},e("ix-dropdown-item",{key:"df5fc3f68fcbfb612d66fe96d26efab3ff0ef268",label:this.i18nCustomItem,checked:this.selectedDateRangeId==="custom",onClick:()=>this.onRangeListSelect("custom")}))),e("ix-col",{key:"7a2652405ac4bc9d7d4b27e53d451b307dcbfbd2",class:"no-margin"},this.selectedDateRangeId==="custom"&&e(s,{key:"474c990aa37777ae4f13b9e3ee9a7646741c97a2"},e("ix-date-picker",{key:"d02653d8ee654f2d2d65bcfb35c6b69977b7cda2",standaloneAppearance:false,locale:this.locale,onDateChange:t=>{t.stopPropagation();this.currentRangeValue=Object.assign(Object.assign({},t.detail),{id:"custom"});this.datePickerTouched=true},onDateRangeChange:t=>t.stopPropagation(),format:this.format,range:this.range,from:this.from||((i=this.currentRangeValue)===null||i===void 0?void 0:i.from),to:this.to||((o=this.currentRangeValue)===null||o===void 0?void 0:o.to),minDate:this.minDate,maxDate:this.maxDate,today:this.today,weekStartIndex:this.weekStartIndex}),e("div",{key:"a9e297c52708e1d4ff682579c98909fb79adab31",class:"pull-right"},e("ix-button",{key:"657fe51f463e6ff9b622f227ced97f3f0ec8da31",onClick:()=>{if(this.currentRangeValue){this.onDateSelect(this.currentRangeValue)}}},this.i18nDone))))))))}get hostElement(){return o(this)}static get watchers(){return{dateRangeId:["onDateRangeIdChange"],to:["onDateRangeIdChange"],from:["onDateRangeIdChange"],dateRangeOptions:["onDateRangeOptionsChange"],disabled:["onDisabledChange"]}}};c.style=d;export{c as ix_date_dropdown};
2
- //# sourceMappingURL=p-08463669.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dateDropdownCss","IxDateDropdownStyle0","DateDropdown","this","triggerRef","makeRef","datePickerTouched","DateTime","now","toISO","onDateRangeIdChange","onRangeListSelect","dateRangeId","updateCurrentDate","setDateRangeSelection","currentRangeValue","onDateSelect","from","to","id","onDateRangeOptionsChange","initialize","onDisabledChange","disabled","closeDropdown","componentWillLoad","getDateRange","isCustomRange","customRangeAllowed","selectedDateRangeId","isValidConfiguration","console","warn","rangeValue","preserveDropdown","dateRangeChange","emit","option","dateRangeOptions","find","range","dropdown","hostElement","shadowRoot","querySelector","show","getButtonLabel","_a","i18nNoRange","_b","length","error","label","render","h","Host","key","variant","icon","ref","class","trigger","waitForCurrent","closeBehavior","placement","onShowChanged","detail","map","dateRangeOption","onClick","checked","hidden","i18nCustomItem","Fragment","standaloneAppearance","locale","onDateChange","e","stopPropagation","Object","assign","onDateRangeChange","format","_c","minDate","maxDate","today","weekStartIndex","i18nDone"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"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\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: 0 $default-space $medium-space $default-space; }\n}\n","/*\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 Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { type LiteralStringUnion } from '../utils/type-helper';\nimport { IxDatePickerComponent } from '../date-picker/date-picker-component';\nimport { makeRef } from '../utils/make-ref';\n\nexport type DateDropdownOption = {\n id: string;\n label: string;\n from: string;\n to: string;\n};\n\nexport type DateRangeChangeEvent = {\n id: string;\n from: string;\n to: string;\n};\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown implements Omit<IxDatePickerComponent, 'corners'> {\n @Element() hostElement!: HTMLIxDateDropdownElement;\n\n /**\n * Disable the button that opens the dropdown containing the date picker.\n *\n * @since 2.3.0\n */\n @Prop() disabled = false;\n\n /**\n * Date format string.\n * See @link https://moment.github.io/luxon/#/formatting?id=table-of-tokens for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true a range of dates can be selected.\n */\n @Prop() range = true;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from = '';\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to = '';\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate = '';\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.updateCurrentDate();\n this.setDateRangeSelection(this.dateRangeId);\n\n if (!this.currentRangeValue) {\n return;\n }\n\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether the user is allowed to pick custom date ranges in the component.\n * When set to 'true', the user can select a custom date range using the date picker.\n * When set to 'false', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeAllowed = true;\n\n /**\n * An array of predefined date range options for the date picker.\n * Each option is an object with a label describing the range and a function\n * that returns the start and end dates of the range as a DateRangeOption object.\n *\n * Example format:\n * {\n * id: 'some unique id',\n * label: 'Name of the range',\n * from: undefined, to: '2023/03/29'\n * },\n * // ... other predefined date range options ...\n */\n @Prop() dateRangeOptions: DateDropdownOption[] = [];\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n *\n * @since 2.6.0\n */\n @Prop() locale?: string;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n *\n * @since 2.6.0\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Text for custom dropdown item. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-custom-item' }) i18nCustomItem = 'Custom...';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-no-range' }) i18nNoRange = 'No range set';\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * EventEmitter for date range change events.\n *\n * This event is emitted when the date range changes within the component.\n * The event payload contains information about the selected date range.\n */\n @Event()\n private readonly dateRangeChange!: EventEmitter<DateRangeChangeEvent>;\n\n @State() private selectedDateRangeId: LiteralStringUnion<'custom'>;\n @State() private currentRangeValue?: {\n from: string;\n to: string;\n id: string;\n };\n private readonly triggerRef = makeRef<HTMLElement>();\n\n @Watch('disabled')\n onDisabledChange() {\n if (this.disabled) {\n this.closeDropdown();\n }\n }\n private datePickerTouched = false;\n\n componentWillLoad() {\n this.initialize();\n this.setDateRangeSelection(this.dateRangeId);\n }\n\n /**\n * Retrieves the currently selected date range from the component.\n * This method returns the selected date range as a `DateChangeEvent` object.\n */\n @Method()\n public async getDateRange(): Promise<DateRangeChangeEvent> {\n return this.currentRangeValue || { id: '', from: '', to: '' };\n }\n\n private initialize() {\n const isCustomRange =\n this.dateRangeId === 'custom' ||\n (!this.dateRangeId && !!this.from && !!this.to);\n\n if (isCustomRange && this.customRangeAllowed) {\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n }\n\n private updateCurrentDate() {\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n }\n\n private onDateSelect(\n rangeValue: { from: string; to: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id) && this.currentRangeValue) {\n this.onDateSelect(this.currentRangeValue);\n }\n }\n\n private setDateRangeSelection(id: string) {\n this.selectedDateRangeId = id;\n const option = this.dateRangeOptions.find((range) => range.id === id);\n\n if (option) {\n this.currentRangeValue = option;\n }\n\n return option;\n }\n\n private closeDropdown() {\n const dropdown = this.hostElement.shadowRoot!.querySelector('ix-dropdown');\n\n if (dropdown) {\n dropdown.show = false;\n }\n }\n\n private getButtonLabel() {\n if (this.selectedDateRangeId === 'custom' && this.currentRangeValue?.from) {\n let range = this.currentRangeValue.from;\n\n if (this.currentRangeValue.to) {\n range += ` - ${this.currentRangeValue.to}`;\n }\n\n return range;\n }\n\n if (!this.selectedDateRangeId) {\n return this.i18nNoRange;\n }\n\n if (!this.dateRangeOptions || this.dateRangeOptions?.length === 0) {\n return this.i18nNoRange;\n }\n\n const option = this.dateRangeOptions.find(\n (option) => option.id === this.selectedDateRangeId\n );\n\n if (!option) {\n console.error(\n `Cannot find range option with id ${this.selectedDateRangeId}`\n );\n return this.i18nNoRange;\n }\n\n return option.label;\n }\n\n render() {\n return (\n <Host>\n <ix-button\n data-testid=\"date-dropdown-trigger\"\n data-date-dropdown-trigger\n variant=\"primary\"\n icon=\"history\"\n ref={this.triggerRef}\n disabled={this.disabled}\n >\n {this.getButtonLabel()}\n </ix-button>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n data-date-dropdown\n class=\"min-width max-height\"\n trigger={this.triggerRef.waitForCurrent()}\n closeBehavior=\"outside\"\n placement=\"bottom-start\"\n onShowChanged={({ detail: show }) => {\n if (\n !show &&\n this.selectedDateRangeId === 'custom' &&\n this.datePickerTouched &&\n this.currentRangeValue\n ) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n <ix-layout-grid no-margin=\"true\">\n <ix-row>\n {this.dateRangeOptions?.length > 1 && (\n <ix-col\n class={{\n 'no-margin': true,\n 'border-right': this.selectedDateRangeId === 'custom',\n }}\n >\n {this.dateRangeOptions.map((dateRangeOption) => (\n <ix-dropdown-item\n label={dateRangeOption.label}\n onClick={() => this.onRangeListSelect(dateRangeOption.id)}\n checked={this.selectedDateRangeId === dateRangeOption.id}\n ></ix-dropdown-item>\n ))}\n <div hidden={!this.customRangeAllowed}>\n <ix-dropdown-item\n label={this.i18nCustomItem}\n checked={this.selectedDateRangeId === 'custom'}\n onClick={() => this.onRangeListSelect('custom')}\n ></ix-dropdown-item>\n </div>\n </ix-col>\n )}\n <ix-col class=\"no-margin\">\n {this.selectedDateRangeId === 'custom' && (\n <Fragment>\n <ix-date-picker\n standaloneAppearance={false}\n locale={this.locale}\n onDateChange={(e) => {\n e.stopPropagation();\n this.currentRangeValue = {\n ...e.detail,\n id: 'custom',\n };\n this.datePickerTouched = true;\n }}\n onDateRangeChange={(e) => e.stopPropagation()}\n format={this.format}\n range={this.range}\n from={this.from || this.currentRangeValue?.from}\n to={this.to || this.currentRangeValue?.to}\n minDate={this.minDate}\n maxDate={this.maxDate}\n today={this.today}\n weekStartIndex={this.weekStartIndex}\n ></ix-date-picker>\n <div class=\"pull-right\">\n <ix-button\n onClick={() => {\n if (this.currentRangeValue) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </Fragment>\n )}\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as s,h as t,H as e}from"./p-5806df2b.js";const o=":host{display:block;position:relative}:host ::slotted(*){height:100%;width:100%}";const c=o;const i=class{constructor(t){s(this,t);this.itemName=undefined}render(){const s={};s["grid-area"]=this.itemName;return t(e,{key:"c613f8ec7d3ad26ebc21c4f96fe4f11a0a76f2cb",style:s},t("slot",{key:"4e16707e1177f5800f457f84127601aa6aae9f3b"}))}};i.style=c;export{i as ix_css_grid_item};
2
- //# sourceMappingURL=p-0be907d4.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,d as o,h as a,F as i,H as s,g as r}from"./p-5806df2b.js";import{s as n}from"./p-c3ca17fc.js";import{a as h}from"./p-fbe017b7.js";import{a as l,A as c}from"./p-10a522ca.js";import{m as d}from"./p-c146af8e.js";import{h as p}from"./p-345e1c73.js";import"./p-46a6cd9d.js";import"./p-38d9d569.js";import"./p-c4749812.js";import"./p-68a274e7.js";const m=":host{display:flex;align-items:flex-end;flex-wrap:nowrap;position:relative;width:100%;height:calc(2.75rem + var(--ix-safe-area-inset-top, 0rem));min-height:calc(2.75rem + var(--ix-safe-area-inset-top, 0rem));padding-top:0;padding-right:calc(1rem + var(--ix-safe-area-inset-right, 0rem));padding-bottom:0.3rem;padding-left:calc(0.625rem + var(--ix-safe-area-inset-left, 0rem));color:var(--theme-app-header--color);background-color:var(--theme-app-header--background);border-bottom:var(--theme-app-header--border-width) solid var(--theme-app-header--border-color);z-index:var(--theme-z-index-fixed)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .app-switch{margin-right:1rem}:host .name{overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;text-wrap:nowrap;max-width:50%;margin-left:1.5rem;margin-right:2.5rem;margin-bottom:0.25rem;color:var(--theme-app-header--color)}:host .logo{display:inline-flex;align-items:center;position:relative;height:32px;overflow:hidden;line-height:0rem;color:var(--theme-app-header-logo--color);margin-left:0.375rem}:host .content{display:flex;position:relative;flex-direction:row;margin-left:auto;margin-right:0px}:host .dropdown{overflow:visible}:host .dropdown-content{padding:1rem}:host .context-menu{display:none}:host .context-menu.context-menu-visible{display:block}@media only screen and (max-width: 48em){:host .logo{display:none}}:host ::slotted(ix-avatar){margin-left:1rem}:host(.breakpoint-sm) .logo{margin-left:0.5rem}";const b=m;const u=class{constructor(o){t(this,o);this.menuToggle=e(this,"menuToggle",7);this.name=undefined;this.showMenu=false;this.breakpoint="lg";this.menuExpanded=false;this.suppressResponsive=false;this.hasSlottedElements=false;this.applicationLayoutContext=undefined}get contentBackground(){return this.hostElement.shadowRoot.querySelector(".dropdown-content")}componentWillLoad(){l(this.hostElement,c,(t=>{if((t===null||t===void 0?void 0:t.host)==="map-navigation"){this.suppressResponsive=true;this.breakpoint="md";return}this.breakpoint=h.breakpoint;this.applicationLayoutContext=t;this.tryUpdateAppSwitch()}),true);this.menuDisposable=d.expandChange.on((t=>{this.menuExpanded=t}));this.modeDisposable=h.onChange.on((t=>{if(this.suppressResponsive){return}this.breakpoint=t}));this.updateIsSlottedContent()}componentDidLoad(){this.attachSiemensLogoIfLoaded()}disconnectedCallback(){var t,e;(t=this.menuDisposable)===null||t===void 0?void 0:t.dispose();(e=this.modeDisposable)===null||e===void 0?void 0:e.dispose()}watchApplicationLayoutContext(){if(this.applicationLayoutContext){this.showMenu=false}}watchSuppressResponsive(){this.breakpoint="md"}isLogoSlotted(){const t=this.hostElement.shadowRoot.querySelector('slot[name="logo"]');const e=t.assignedNodes({flatten:true});return e.length!==0}async attachSiemensLogoIfLoaded(){await window.customElements.whenDefined("ix-siemens-logo");const t=document.createElement("ix-siemens-logo");if(!this.isLogoSlotted()){this.hostElement.shadowRoot.querySelector(".logo").appendChild(t)}}async onMenuClick(){if(this.applicationLayoutContext){d.toggle()}else{this.menuExpanded=!this.menuExpanded}this.menuToggle.emit(this.menuExpanded)}resolveContextMenuButton(){return new Promise((t=>o((()=>t(this.hostElement.shadowRoot.querySelector("[data-context-menu]"))))))}tryUpdateAppSwitch(){var t;if(!this.callbackUpdateAppSwitchModal){return}this.callbackUpdateAppSwitchModal((t=this.applicationLayoutContext)===null||t===void 0?void 0:t.appSwitchConfig)}async showAppSwitch(){var t;this.callbackUpdateAppSwitchModal=await n((t=this.applicationLayoutContext)===null||t===void 0?void 0:t.appSwitchConfig)}updateIsSlottedContent(){const t=this.hostElement.shadowRoot.querySelector(".content slot");this.hasSlottedElements=p(t)}onContentBgClick(t){if(t.target===this.contentBackground){t.preventDefault()}}render(){var t;const e=!!this.applicationLayoutContext;const o=this.breakpoint==="sm"&&this.suppressResponsive===false&&e;const r=((t=this.applicationLayoutContext)===null||t===void 0?void 0:t.appSwitchConfig)&&this.breakpoint!=="sm"&&this.suppressResponsive===false;return a(s,{key:"1f987dd8ac407207a23ac0821945ba9ad3d47e87",class:{[`breakpoint-${this.breakpoint}`]:true},slot:"application-header"},(this.showMenu||o)&&a("ix-menu-expand-icon",{key:"60c7aa44d2b294fff9cb51ecaf291d70a33bafbd",onClick:()=>this.onMenuClick(),expanded:this.menuExpanded}),r&&a("ix-icon-button",{key:"e500c3a98790345840633b8dd0f056fac198f802",onClick:()=>this.showAppSwitch(),icon:"apps",ghost:true,class:"app-switch"}),a("div",{key:"adba1c9a08be32a07f31a60d42159f996d26a87b",class:{logo:true}},a("slot",{key:"3848321805f42653d8a9c066c8f237c8ec3497bb",name:"logo"})),a("ix-typography",{key:"9c312426ee3c2554a9a66aff6b158d36969cefea",format:"body-lg",class:"name"},this.name),a("div",{key:"319969ceeb812f9b18b5ad3f374e16f454c6daf2",class:"content"},this.breakpoint==="sm"?a(i,null,a("ix-icon-button",{class:{["context-menu"]:true,["context-menu-visible"]:this.hasSlottedElements},"data-context-menu":true,icon:"more-menu",ghost:true}),a("ix-dropdown",{"data-overflow-dropdown":true,class:"dropdown",discoverAllSubmenus:true,trigger:this.resolveContextMenuButton()},a("div",{class:"dropdown-content",onClick:t=>this.onContentBgClick(t)},a("slot",{onSlotchange:()=>this.updateIsSlottedContent()})))):a("slot",{onSlotchange:()=>this.updateIsSlottedContent()}),a("slot",{key:"dd03dd49866605c06d6daf09d2ee72692666ee68",name:"ix-application-header-avatar"})))}get hostElement(){return r(this)}static get watchers(){return{applicationLayoutContext:["watchApplicationLayoutContext"],suppressResponsive:["watchSuppressResponsive"]}}};u.style=b;export{u as ix_application_header};
2
- //# sourceMappingURL=p-18542846.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["applicationHeaderCss","IxApplicationHeaderStyle0","ApplicationHeader","contentBackground","this","hostElement","shadowRoot","querySelector","componentWillLoad","useContextConsumer","ApplicationLayoutContext","ctx","host","suppressResponsive","breakpoint","applicationLayoutService","applicationLayoutContext","tryUpdateAppSwitch","menuDisposable","menuController","expandChange","on","show","menuExpanded","modeDisposable","onChange","mode","updateIsSlottedContent","componentDidLoad","attachSiemensLogoIfLoaded","disconnectedCallback","_a","dispose","_b","watchApplicationLayoutContext","showMenu","watchSuppressResponsive","isLogoSlotted","slotElement","nodes","assignedNodes","flatten","length","window","customElements","whenDefined","logoElement","document","createElement","appendChild","onMenuClick","toggle","menuToggle","emit","resolveContextMenuButton","Promise","resolve","readTask","callbackUpdateAppSwitchModal","appSwitchConfig","showAppSwitch","hasSlottedElements","onContentBgClick","e","target","preventDefault","render","hasApplicationContextAvailable","showMenuByApplicationFrame","showApplicationSwitch","h","Host","key","class","slot","onClick","expanded","icon","ghost","logo","name","format","Fragment","discoverAllSubmenus","trigger","onSlotchange"],"sources":["src/components/application-header/application-header.scss?tag=ix-application-header&encapsulation=shadow","src/components/application-header/application-header.tsx"],"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@import 'mixins/shadow-dom/component';\n@import 'mixins/break-points';\n\n:host {\n @include ix-component;\n\n display: flex;\n align-items: flex-end;\n flex-wrap: nowrap;\n position: relative;\n width: 100%;\n height: calc(2.75rem + var(--ix-safe-area-inset-top, 0rem));\n min-height: calc(2.75rem + var(--ix-safe-area-inset-top, 0rem));\n padding-top: 0;\n padding-right: calc(1rem + var(--ix-safe-area-inset-right, 0rem));\n padding-bottom: 0.3rem;\n padding-left: calc(0.625rem + var(--ix-safe-area-inset-left, 0rem));\n\n color: var(--theme-app-header--color);\n background-color: var(--theme-app-header--background);\n\n border-bottom: var(--theme-app-header--border-width) solid\n var(--theme-app-header--border-color);\n\n z-index: var(--theme-z-index-fixed);\n\n .app-switch {\n margin-right: 1rem;\n }\n\n .name {\n overflow: hidden;\n overflow-wrap: anywhere;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n max-width: 50%;\n margin-left: 1.5rem;\n margin-right: 2.5rem;\n margin-bottom: 0.25rem;\n color: var(--theme-app-header--color);\n }\n\n .logo {\n display: inline-flex;\n align-items: center;\n position: relative;\n height: 32px;\n overflow: hidden;\n line-height: 0rem;\n color: var(--theme-app-header-logo--color);\n margin-left: 0.375rem;\n }\n\n .content {\n display: flex;\n position: relative;\n flex-direction: row;\n margin-left: auto;\n margin-right: 0px;\n }\n\n .dropdown {\n overflow: visible;\n }\n\n .dropdown-content {\n padding: 1rem;\n }\n\n .context-menu {\n display: none;\n }\n\n .context-menu.context-menu-visible {\n display: block;\n }\n\n @include media-breakpoint-match('sm') {\n .logo {\n display: none;\n }\n }\n\n ::slotted(ix-avatar) {\n margin-left: 1rem;\n }\n}\n\n:host(.breakpoint-sm) {\n .logo {\n margin-left: 0.5rem;\n }\n}\n","/*\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 Fragment,\n h,\n Host,\n Prop,\n readTask,\n State,\n Watch,\n} from '@stencil/core';\nimport { showAppSwitch } from '../utils/app-switch';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport {\n ApplicationLayoutContext,\n AppSwitchConfiguration,\n} from '../utils/application-layout/context';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextType, useContextConsumer } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { hasSlottedElements } from '../utils/shadow-dom';\nimport { Disposable } from '../utils/typed-event';\n\n/**\n * @slot logo - Location of the logo\n */\n@Component({\n tag: 'ix-application-header',\n styleUrl: 'application-header.scss',\n shadow: true,\n})\nexport class ApplicationHeader {\n @Element() hostElement!: HTMLIxApplicationHeaderElement;\n\n /**\n * Application name\n */\n @Prop() name?: string;\n\n /**\n * Controls the visibility of the menu toggle button based on the context of the application header.\n *\n * When the application header is utilized outside the application frame, the menu toggle button is displayed.\n * Conversely, if the header is within the application frame, this property is ineffective.\n *\n * @since 2.5.0\n */\n @Prop({ mutable: true }) showMenu?: boolean = false;\n\n /**\n * Event emitted when the menu toggle button is clicked\n *\n * @since 2.5.0\n */\n @Event() menuToggle!: EventEmitter<boolean>;\n\n @State() breakpoint: Breakpoint = 'lg';\n @State() menuExpanded = false;\n @State() suppressResponsive = false;\n\n @State() hasSlottedElements = false;\n\n private menuDisposable?: Disposable;\n private modeDisposable?: Disposable;\n private callbackUpdateAppSwitchModal?: (\n config: AppSwitchConfiguration\n ) => void;\n\n @State() applicationLayoutContext: ContextType<\n typeof ApplicationLayoutContext\n >;\n\n get contentBackground() {\n return this.hostElement.shadowRoot.querySelector('.dropdown-content');\n }\n\n componentWillLoad() {\n useContextConsumer(\n this.hostElement,\n ApplicationLayoutContext,\n (ctx) => {\n if (ctx?.host === 'map-navigation') {\n this.suppressResponsive = true;\n this.breakpoint = 'md';\n return;\n }\n\n this.breakpoint = applicationLayoutService.breakpoint;\n this.applicationLayoutContext = ctx;\n\n this.tryUpdateAppSwitch();\n },\n true\n );\n\n this.menuDisposable = menuController.expandChange.on((show) => {\n this.menuExpanded = show;\n });\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n if (this.suppressResponsive) {\n return;\n }\n\n this.breakpoint = mode;\n });\n\n this.updateIsSlottedContent();\n }\n\n componentDidLoad() {\n this.attachSiemensLogoIfLoaded();\n }\n\n disconnectedCallback() {\n this.menuDisposable?.dispose();\n this.modeDisposable?.dispose();\n }\n\n @Watch('applicationLayoutContext')\n watchApplicationLayoutContext() {\n if (this.applicationLayoutContext) {\n this.showMenu = false;\n }\n }\n @Watch('suppressResponsive')\n watchSuppressResponsive() {\n this.breakpoint = 'md';\n }\n\n private isLogoSlotted() {\n const slotElement = this.hostElement.shadowRoot.querySelector(\n 'slot[name=\"logo\"]'\n ) as HTMLSlotElement;\n const nodes = slotElement.assignedNodes({\n flatten: true,\n });\n\n return nodes.length !== 0;\n }\n\n private async attachSiemensLogoIfLoaded() {\n await window.customElements.whenDefined('ix-siemens-logo');\n const logoElement = document.createElement('ix-siemens-logo');\n if (!this.isLogoSlotted()) {\n this.hostElement.shadowRoot\n .querySelector('.logo')\n .appendChild(logoElement);\n }\n }\n\n private async onMenuClick() {\n if (this.applicationLayoutContext) {\n menuController.toggle();\n } else {\n this.menuExpanded = !this.menuExpanded;\n }\n\n this.menuToggle.emit(this.menuExpanded);\n }\n\n private resolveContextMenuButton() {\n return new Promise<HTMLElement>((resolve) =>\n readTask(() =>\n resolve(\n this.hostElement.shadowRoot.querySelector(\n '[data-context-menu]'\n ) as HTMLElement\n )\n )\n );\n }\n\n private tryUpdateAppSwitch() {\n if (!this.callbackUpdateAppSwitchModal) {\n return;\n }\n\n this.callbackUpdateAppSwitchModal(\n this.applicationLayoutContext?.appSwitchConfig\n );\n }\n\n private async showAppSwitch() {\n this.callbackUpdateAppSwitchModal = await showAppSwitch(\n this.applicationLayoutContext?.appSwitchConfig\n );\n }\n\n private updateIsSlottedContent() {\n const slotElement =\n this.hostElement.shadowRoot.querySelector('.content slot');\n\n this.hasSlottedElements = hasSlottedElements(slotElement);\n }\n\n private onContentBgClick(e: MouseEvent) {\n if (e.target === this.contentBackground) {\n e.preventDefault();\n }\n }\n\n render() {\n const hasApplicationContextAvailable = !!this.applicationLayoutContext;\n\n const showMenuByApplicationFrame =\n this.breakpoint === 'sm' &&\n this.suppressResponsive === false &&\n hasApplicationContextAvailable;\n\n const showApplicationSwitch =\n this.applicationLayoutContext?.appSwitchConfig &&\n this.breakpoint !== 'sm' &&\n this.suppressResponsive === false;\n\n return (\n <Host\n class={{\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n slot=\"application-header\"\n >\n {(this.showMenu || showMenuByApplicationFrame) && (\n <ix-menu-expand-icon\n onClick={() => this.onMenuClick()}\n expanded={this.menuExpanded}\n ></ix-menu-expand-icon>\n )}\n {showApplicationSwitch && (\n <ix-icon-button\n onClick={() => this.showAppSwitch()}\n icon=\"apps\"\n ghost\n class=\"app-switch\"\n ></ix-icon-button>\n )}\n <div class={{ logo: true }}>\n <slot name=\"logo\"></slot>\n </div>\n <ix-typography format=\"body-lg\" class=\"name\">\n {this.name}\n </ix-typography>\n <div class=\"content\">\n {this.breakpoint === 'sm' ? (\n <Fragment>\n <ix-icon-button\n class={{\n ['context-menu']: true,\n ['context-menu-visible']: this.hasSlottedElements,\n }}\n data-context-menu\n icon=\"more-menu\"\n ghost\n ></ix-icon-button>\n <ix-dropdown\n data-overflow-dropdown\n class=\"dropdown\"\n discoverAllSubmenus\n trigger={this.resolveContextMenuButton()}\n >\n <div\n class=\"dropdown-content\"\n onClick={(e) => this.onContentBgClick(e)}\n >\n <slot\n onSlotchange={() => this.updateIsSlottedContent()}\n ></slot>\n </div>\n </ix-dropdown>\n </Fragment>\n ) : (\n <slot onSlotchange={() => this.updateIsSlottedContent()}></slot>\n )}\n <slot name=\"ix-application-header-avatar\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as o}from"./p-5806df2b.js";import{a as r}from"./p-5fe87e71.js";import{A as n}from"./p-3c668c0e.js";import{H as h}from"./p-f97a15c4.js";import{O as l}from"./p-9d5d4948.js";import{m as d}from"./p-ce563a48.js";import{c as a}from"./p-e898862b.js";import"./p-178ce002.js";const c=":host{display:inline-block;position:relative;min-height:2rem;height:auto;border-radius:var(--theme-input--border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .d-none{display:none}:host .select{position:relative;display:flex;align-items:center;width:100%;background-color:var(--theme-input--background);border:var(--theme-input--border-thickness) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);padding:0 0 0 0.5rem;box-shadow:var(--theme-inset-shadow-1) !important}:host .select:not(.disabled):not(:disabled){cursor:pointer}:host .select:not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover)}:host .select:focus-within{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline:1px solid #119fff;outline-offset:var(--theme-input--focus--outline-offset)}:host .select.readonly,:host .select.disabled{box-shadow:none !important;border:none;border-radius:0;cursor:pointer}:host .select.readonly,:host .select.readonly:hover,:host .select.readonly:active,:host .select.disabled,:host .select.disabled:hover,:host .select.disabled:active{background-color:transparent !important}:host .select.readonly:focus,:host .select.readonly:focus-within,:host .select.readonly:focus-visible,:host .select.disabled:focus,:host .select.disabled:focus-within,:host .select.disabled:focus-visible{outline:none}:host .select.readonly input:focus,:host .select.readonly input:focus-visible,:host .select.disabled input:focus,:host .select.disabled input:focus-visible{outline:none}:host .select.disabled{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-weak-bdr)}:host .select.disabled input{color:var(--theme-color-weak-text)}:host .select.readonly{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-soft-bdr)}:host .select.readonly input{color:var(--theme-color-std-text)}:host .hidden{display:none !important}:host .trigger{display:flex;align-items:center;flex-grow:1;height:100%}:host .input-container{display:flex;position:relative;align-items:flex-start;width:100%;height:100%}:host .input-container .chips{position:relative;display:flex;align-items:center;flex-wrap:wrap;height:100%;max-height:3.5rem;flex-grow:1;overflow-y:auto}:host .input-container .chips>ix-filter-chip{margin:0.1rem}:host .input-container ix-icon-button{height:1.875rem;width:1.875rem;min-height:1.875rem;min-width:1.875rem}:host .input-container input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text);background:transparent;height:1.75rem;width:100%}:host .input-container input,:host .input-container input:hover,:host .input-container input:focus-visible{border:none;outline:none}:host .input-container input::-moz-placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input::placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input.hide-placeholder::-moz-placeholder{opacity:0}:host .input-container input.hide-placeholder::placeholder{opacity:0}:host .dropdown-visible{--ix-icon-button-color:var(--theme-color-dynamic--hover)}:host .add-item{display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%}:host .select-list-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;height:2rem;color:var(--theme-select-list-item-hint--color);margin:0 0.5rem 0 1rem}:host(.ix-info:not(.disabled):not(:disabled):not([disabled])) .select{border-color:var(--theme-input--border-color--info)}:host(.ix-info:not(.disabled):not(:disabled):not([disabled])) .select:hover{border-color:var(--theme-input--border-color--info--hover) !important}:host(.ix-info:not(.disabled):not(:disabled):not([disabled])) .select:active{border-color:var(--theme-input--border-color--info--active) !important}:host(.ix-warning:not(.disabled):not(:disabled):not([disabled])) .select{border-color:var(--theme-input--border-color--warning)}:host(.ix-warning:not(.disabled):not(:disabled):not([disabled])) .select:hover{border-color:var(--theme-input--border-color--warning--hover) !important}:host(.ix-warning:not(.disabled):not(:disabled):not([disabled])) .select:active{border-color:var(--theme-input--border-color--warning--active) !important}:host([class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled])) .select,:host(.ix-invalid--required:not(.disabled):not(:disabled):not([disabled])) .select{border-color:var(--theme-input--border-color--invalid);background-color:var(--theme-input--background--invalid);box-shadow:none}:host([class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled])) .select:hover,:host(.ix-invalid--required:not(.disabled):not(:disabled):not([disabled])) .select:hover{border-color:var(--theme-input--border-color--invalid--hover) !important}:host([class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled])) .select:active,:host(.ix-invalid--required:not(.disabled):not(:disabled):not([disabled])) .select:active{border-color:var(--theme-input--border-color--invalid--active) !important}";const u=c;var f=undefined&&undefined.__decorate||function(t,i,e,s){var o=arguments.length,r=o<3?i:s===null?s=Object.getOwnPropertyDescriptor(i,e):s,n;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)if(n=t[h])r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r;return o>3&&r&&Object.defineProperty(i,e,r),r};const b=class{constructor(e){t(this,e);this.valueChange=i(this,"valueChange",7);this.itemSelectionChange=i(this,"itemSelectionChange",7);this.inputChange=i(this,"inputChange",7);this.addItem=i(this,"addItem",7);this.ixBlur=i(this,"ixBlur",7);if(e.$hostElement$["s-ei"]){this.formInternals=e.$hostElement$["s-ei"]}else{this.formInternals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.formInternals}this.dropdownWrapperRef=d();this.dropdownAnchorRef=d();this.inputRef=d();this.itemObserver=a((()=>{if(!this.arrowFocusController){return}this.arrowFocusController.items=this.visibleNonShadowItems}));this.focusControllerCallbackBind=this.focusDropdownItem.bind(this);this.name=undefined;this.required=false;this.label=undefined;this.warningText=undefined;this.infoText=undefined;this.invalidText=undefined;this.validText=undefined;this.helperText=undefined;this.showTextAsTooltip=undefined;this.selectedIndices=undefined;this.value=[];this.allowClear=false;this.mode="single";this.editable=false;this.disabled=false;this.readonly=false;this.i18nPlaceholder="Select an option";this.i18nPlaceholderEditable="Type of select option";this.i18nSelectListHeader="Select an option";this.i18nNoMatches="No matches";this.hideListHeader=false;this.dropdownShow=false;this.selectedLabels=[];this.isDropdownEmpty=false;this.navigationItem=undefined;this.inputFilterText="";this.inputValue="";this.isInvalid=false;this.isValid=false;this.isInfo=false;this.isWarning=false}get nonShadowItems(){return Array.from(this.hostElement.querySelectorAll("ix-select-item"))}get visibleNonShadowItems(){return this.nonShadowItems.filter((t=>!t.classList.contains("d-none")))}get shadowItems(){return Array.from(this.hostElement.shadowRoot.querySelectorAll("ix-select-item"))}get visibleShadowItems(){return this.shadowItems.filter((t=>!t.classList.contains("d-none")))}get items(){return[...this.nonShadowItems,...this.shadowItems]}get visibleItems(){return this.items.filter((t=>!t.classList.contains("d-none")))}get selectedItems(){return this.items.filter((t=>t.selected))}get addItemButton(){return this.hostElement.shadowRoot.querySelector(".add-item")}get isSingleMode(){return this.mode==="single"}get isMultipleMode(){return this.mode==="multiple"}get isEveryDropdownItemHidden(){return this.items.every((t=>t.classList.contains("d-none")))}watchSelectedIndices(t){this.value=t;this.updateSelection()}watchValue(t){this.selectedIndices=t;this.updateSelection()}watchDropdownShow(t){if(t&&this.dropdownElement){this.arrowFocusController=new n(this.visibleNonShadowItems,this.dropdownElement,this.focusControllerCallbackBind);this.arrowFocusController.wrap=!this.editable;this.itemObserver.observe(this.dropdownElement,{childList:true,subtree:true})}else{this.cleanupResources()}}cleanupResources(){var t,i;(t=this.arrowFocusController)===null||t===void 0?void 0:t.disconnect();this.arrowFocusController=undefined;(i=this.itemObserver)===null||i===void 0?void 0:i.disconnect()}onItemClicked(t){const i=t.detail;this.itemClick(i)}async updateFormInternalValue(t){if(Array.isArray(t)){this.formInternals.setFormValue(t.join(","));return}this.formInternals.setFormValue(t)}async hasValidValue(){return this.required&&!!this.hasValue()}hasValue(){if(Array.isArray(this.value)){return!!this.value.length}return!!this.value}focusDropdownItem(t){var i,e;this.navigationItem=undefined;if(t<this.visibleNonShadowItems.length){const s=(e=(i=this.visibleNonShadowItems[t])===null||i===void 0?void 0:i.shadowRoot)===null||e===void 0?void 0:e.querySelector("ix-dropdown-item");if(!s){return}requestAnimationFrame((()=>{var t,i;(i=(t=s===null||s===void 0?void 0:s.shadowRoot)===null||t===void 0?void 0:t.querySelector("button"))===null||i===void 0?void 0:i.focus()}))}}itemClick(t){const i=this.value;const e=this.toggleValue(t);this.value=e;const s=this.emitValueChange(e);if(s){this.value=i;return}this.updateSelection()}emitAddItem(t){var i;if(t===undefined||t.trim()===""){return false}const{defaultPrevented:e}=this.addItem.emit(t);if(e){return true}const s=document.createElement("ix-select-item");s.value=t;s.label=t;(i=this.customItemsContainerElement)===null||i===void 0?void 0:i.appendChild(s);this.clearInput();this.itemClick(t);return false}toggleValue(t){if(!this.isMultipleMode){return t}if(!this.value){return[t]}let i=this.value;if(!Array.isArray(i)){i=[i]}if(i.includes(t)){return i.filter((i=>i!==t))}else{return[...i,t]}}updateSelection(){var t,i;let e=[];if(this.value){e=Array.isArray(this.value)?[...this.value]:[this.value]}this.items.forEach((t=>{t.selected=e.some((i=>{if(typeof i!==typeof t.value){return i.toString()===t.value.toString()}else{return i===t.value}}))}));this.selectedLabels=this.selectedItems.map((t=>t.label));if(((t=this.selectedLabels)===null||t===void 0?void 0:t.length)&&this.isSingleMode){this.inputValue=(i=this.selectedLabels[0])!==null&&i!==void 0?i:""}else{this.inputValue=""}this.inputElement&&(this.inputElement.value=this.inputValue)}emitValueChange(t){const{defaultPrevented:i}=this.valueChange.emit(t);if(i){return true}if(!t){this.itemSelectionChange.emit([])}else{this.itemSelectionChange.emit(Array.isArray(t)?t:[t])}this.updateFormInternalValue(t);return false}componentDidLoad(){var t;(t=this.inputElement)===null||t===void 0?void 0:t.addEventListener("input",(()=>{var t;this.dropdownShow=true;this.inputChange.emit((t=this.inputElement)===null||t===void 0?void 0:t.value)}))}componentWillLoad(){if(this.selectedIndices&&!this.value){this.value=this.selectedIndices}this.updateSelection();this.updateFormInternalValue(this.value)}onLabelChange(t){t.preventDefault();t.stopImmediatePropagation();this.updateSelection()}disconnectedCallback(){this.cleanupResources()}itemExists(t){return this.items.find((i=>i.label===t))}dropdownVisibilityChanged(t){var i,e;this.dropdownShow=t.detail;if(t.detail){(i=this.inputElement)===null||i===void 0?void 0:i.focus();(e=this.inputElement)===null||e===void 0?void 0:e.select();this.removeHiddenFromItems();this.isDropdownEmpty=this.isEveryDropdownItemHidden}else{this.navigationItem=undefined;this.updateSelection();this.inputFilterText=""}}async onKeyDown(t){if(t.code==="ArrowDown"||t.code==="ArrowUp"){await this.onArrowNavigation(t,t.code)}if(!this.dropdownShow){return}if(t.code==="Enter"||t.code==="NumpadEnter"){await this.onEnterNavigation(t.target)}if(t.code==="Escape"){this.dropdownShow=false}}async onEnterNavigation(t){if(this.isMultipleMode){return}const i=this.inputFilterText.trim();const e=t===null||t===void 0?void 0:t.label;if(this.editable&&!this.itemExists(i)&&!this.itemExists(e)){const t=this.emitAddItem(i);if(t){return}}this.dropdownShow=false;this.updateSelection()}async onArrowNavigation(t,i){var e;if(t.defaultPrevented){return}t.preventDefault();t.stopPropagation();this.dropdownShow=true;if(!this.navigationItem&&document.activeElement===this.hostElement){if(this.visibleItems.length){this.applyFocusTo(this.visibleItems.shift())}else if(this.isAddItemVisible()){this.focusAddItemButton()}return}const s=i==="ArrowUp";const o=document.activeElement?this.visibleNonShadowItems.indexOf(document.activeElement):-1;if(o===0){if(!this.visibleShadowItems.length&&this.isAddItemVisible()){this.focusAddItemButton()}else{this.applyFocusTo(this.visibleShadowItems.pop())}return}else if(o!==-1&&o===this.visibleNonShadowItems.length-1){if(this.visibleShadowItems.length){this.applyFocusTo(this.visibleShadowItems.shift())}else if(this.isAddItemVisible()){this.focusAddItemButton()}return}if(!this.navigationItem){return}if(this.isAddItemVisible()&&((e=this.addItemElement)===null||e===void 0?void 0:e.contains(await this.navigationItem.getDropdownItemElement()))){if(s){this.applyFocusTo(this.visibleItems.pop())}else if(this.visibleItems.length){this.applyFocusTo(this.visibleItems.shift())}return}const r=this.visibleShadowItems.indexOf(this.navigationItem);if(s){if(r===0){if(this.visibleNonShadowItems.length){this.applyFocusTo(this.visibleNonShadowItems.pop())}else if(this.isAddItemVisible()){this.focusAddItemButton()}}else{this.applyFocusTo(this.visibleShadowItems[r-1])}}else{if(r===this.visibleShadowItems.length-1){if(this.isAddItemVisible()){this.focusAddItemButton()}else{this.applyFocusTo(this.visibleItems.shift())}}else{this.applyFocusTo(this.visibleShadowItems[r+1])}}}applyFocusTo(t){if(!t){return}this.navigationItem=t;setTimeout((()=>{var i,e,s,o;(o=(s=(e=(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector("ix-dropdown-item"))===null||e===void 0?void 0:e.shadowRoot)===null||s===void 0?void 0:s.querySelector("button"))===null||o===void 0?void 0:o.focus()}))}focusAddItemButton(){var t,i;if(this.addItemButton){(i=(t=this.addItemButton.shadowRoot)===null||t===void 0?void 0:t.querySelector("button"))===null||i===void 0?void 0:i.focus();this.navigationItem=this.addItemElement}}filterItemsWithTypeahead(){var t,i;this.inputFilterText=(i=(t=this.inputElement)===null||t===void 0?void 0:t.value)!==null&&i!==void 0?i:"";if(this.isSingleMode&&this.inputFilterText===this.selectedLabels[0]){return}if(this.inputFilterText){this.items.forEach((t=>{var i;t.classList.remove("d-none");if(!((i=t.label)===null||i===void 0?void 0:i.toLowerCase().includes(this.inputFilterText.toLowerCase()))){t.classList.add("d-none")}}))}else{this.removeHiddenFromItems()}if(this.arrowFocusController){this.arrowFocusController.items=this.visibleNonShadowItems}this.isDropdownEmpty=this.isEveryDropdownItemHidden}removeHiddenFromItems(){this.items.forEach((t=>{t.classList.remove("d-none")}))}clearInput(){if(this.inputElement){this.inputElement.value=""}this.inputFilterText=""}clear(){this.clearInput();this.selectedLabels=[];this.value=[];this.emitValueChange([]);this.dropdownShow=false}onInputBlur(t){this.ixBlur.emit();if(this.editable){return}if(this.isSingleMode){return}const i=t.target;if(!this.dropdownShow&&this.mode!=="multiple"){i.value=this.selectedLabels.toString()}}placeholderValue(){if(this.disabled){return""}if(this.readonly){return""}if(this.editable){return this.i18nPlaceholderEditable}return this.i18nPlaceholder}isAddItemVisible(){return!this.itemExists(this.inputFilterText)&&this.editable&&this.inputFilterText}onValidationChange({isInvalid:t,isInvalidByRequired:i,isValid:e,isInfo:s,isWarning:o}){this.isInvalid=t||i;this.isValid=e;this.isWarning=o;this.isInfo=s}async getAssociatedFormElement(){return this.formInternals.form}getNativeInputElement(){if(this.inputElement){return Promise.resolve(this.inputElement)}else{return Promise.reject(new Error("Input element not found"))}}async focusInput(){const t=await this.getNativeInputElement();if(t){t.focus()}}render(){var t,i,o,n;return e(s,{key:"e303aff09c9bfc570154e79b6276c609ed12c531","aria-disabled":r(this.disabled),class:{disabled:this.disabled}},e("ix-field-wrapper",{key:"257e201bdca4c09533c569dfe1d53efd46ef9efe",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},e("div",{key:"a94e63733189753312269744dfc48178e4a38e6e",class:{select:true,disabled:this.disabled,readonly:this.readonly},ref:t=>{this.dropdownAnchorRef(t);if(!this.editable)this.dropdownWrapperRef(t)}},e("div",{key:"86746135a307b00ca720636200f2f8b06d148605",class:"input-container"},e("div",{key:"da77d6ccc888fd2f8e171b33414741c24014563c",class:"chips"},this.isMultipleMode?(t=this.selectedItems)===null||t===void 0?void 0:t.map((t=>e("ix-filter-chip",{disabled:this.disabled||this.readonly,key:t.value,onCloseClick:i=>{i.preventDefault();i.stopPropagation();this.itemClick(t.value)}},t.label))):"",e("div",{key:"49c977ee154d514bb1066b781eacaea57d5ca49e",class:"trigger"},e("input",{key:"431842c51aceb1b187032aab9d690e84853f71ae",autocomplete:"off","data-testid":"input",disabled:this.disabled,readOnly:this.readonly,required:this.required,type:"text",class:{"allow-clear":this.allowClear&&!!((i=this.selectedLabels)===null||i===void 0?void 0:i.length)},placeholder:this.placeholderValue(),value:(o=this.inputValue)!==null&&o!==void 0?o:"",ref:t=>{this.inputElement=t;this.inputRef(t)},onBlur:t=>this.onInputBlur(t),onFocus:()=>{this.navigationItem=undefined},onInput:()=>this.filterItemsWithTypeahead(),onKeyDown:t=>this.onKeyDown(t)}),this.allowClear&&!this.disabled&&!this.readonly&&(((n=this.selectedLabels)===null||n===void 0?void 0:n.length)||this.inputFilterText)?e("ix-icon-button",{class:"clear",icon:"clear",ghost:true,oval:true,size:"16",onClick:t=>{t.preventDefault();t.stopPropagation();this.clear()}}):null,this.disabled||this.readonly?null:e("ix-icon-button",{"data-select-dropdown":true,class:{"dropdown-visible":this.dropdownShow},icon:"chevron-down-small",ghost:true,ref:t=>{if(this.editable)this.dropdownWrapperRef(t)}})))))),e("ix-dropdown",{key:"8d4ee01533ee9843a836a9b4c986ab5db0be4db9",ref:t=>this.dropdownElement=t,show:this.dropdownShow,closeBehavior:this.isMultipleMode?"outside":"both",class:{"d-none":this.disabled||this.readonly},anchor:this.dropdownAnchorRef.waitForCurrent(),trigger:this.dropdownWrapperRef.waitForCurrent(),onShowChanged:t=>this.dropdownVisibilityChanged(t),placement:"bottom-start",overwriteDropdownStyle:async()=>{var t,i;const e=(i=(t=this.hostElement.shadowRoot)===null||t===void 0?void 0:t.querySelector(".select"))===null||i===void 0?void 0:i.getBoundingClientRect().width;return{minWidth:`${e}px`}}},e("div",{key:"3897bfc9748d7044d038c413f046ba693ac7f03d",class:{"select-list-header":true,hidden:this.hideListHeader||this.isDropdownEmpty},title:this.i18nSelectListHeader,onClick:t=>t.preventDefault()},this.i18nSelectListHeader),e("slot",{key:"71fada597f8ae68598a1444b96c66fe85cf56258",onSlotchange:()=>{this.updateSelection()}}),e("div",{key:"bbb7e303d5443707e576d2dc2a9597bdf37bff7c",ref:t=>this.customItemsContainerElement=t,class:"d-contents"}),this.isAddItemVisible()?e("ix-dropdown-item",{"data-testid":"add-item",icon:"plus",class:{"add-item":true},label:this.inputFilterText,onItemClick:t=>{t.preventDefault();t.stopPropagation();this.emitAddItem(this.inputFilterText)},onFocus:()=>this.navigationItem=this.addItemElement,ref:t=>{this.addItemElement=t}}):null,this.isDropdownEmpty&&!this.editable?e("div",{class:"select-list-header"},this.i18nNoMatches):""))}static get formAssociated(){return true}get hostElement(){return o(this)}static get watchers(){return{selectedIndices:["watchSelectedIndices"],value:["watchValue"],dropdownShow:["watchDropdownShow"]}}};f([l("keydown",(t=>t.dropdownShow))],b.prototype,"onKeyDown",null);f([h()],b.prototype,"onValidationChange",null);b.style=u;export{b as ix_select};
2
- //# sourceMappingURL=p-20938f73.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["selectCss","IxSelectStyle0","Select","this","dropdownWrapperRef","makeRef","dropdownAnchorRef","inputRef","itemObserver","createMutationObserver","arrowFocusController","items","visibleNonShadowItems","focusControllerCallbackBind","focusDropdownItem","bind","nonShadowItems","Array","from","hostElement","querySelectorAll","filter","item","classList","contains","shadowItems","shadowRoot","visibleShadowItems","visibleItems","selectedItems","selected","addItemButton","querySelector","isSingleMode","mode","isMultipleMode","isEveryDropdownItemHidden","every","watchSelectedIndices","value","updateSelection","watchValue","selectedIndices","watchDropdownShow","show","dropdownElement","ArrowFocusController","wrap","editable","observe","childList","subtree","cleanupResources","_a","disconnect","undefined","_b","onItemClicked","event","newId","detail","itemClick","updateFormInternalValue","isArray","formInternals","setFormValue","join","hasValidValue","required","hasValue","length","index","navigationItem","nestedDropdownItem","requestAnimationFrame","focus","oldValue","toggleValue","defaultPrevented","emitValueChange","emitAddItem","trim","addItem","emit","newItem","document","createElement","label","customItemsContainerElement","appendChild","clearInput","itemValue","includes","ids","forEach","some","i","toString","selectedLabels","map","inputValue","inputElement","valueChange","itemSelectionChange","componentDidLoad","addEventListener","dropdownShow","inputChange","componentWillLoad","onLabelChange","preventDefault","stopImmediatePropagation","disconnectedCallback","itemExists","find","dropdownVisibilityChanged","select","removeHiddenFromItems","isDropdownEmpty","inputFilterText","onKeyDown","code","onArrowNavigation","onEnterNavigation","target","el","trimmedInput","itemLabel","key","stopPropagation","activeElement","applyFocusTo","shift","isAddItemVisible","focusAddItemButton","moveUp","indexNonShadow","indexOf","pop","addItemElement","getDropdownItemElement","indexShadow","element","setTimeout","_d","_c","filterItemsWithTypeahead","remove","toLowerCase","add","clear","onInputBlur","ixBlur","placeholderValue","disabled","readonly","i18nPlaceholderEditable","i18nPlaceholder","onValidationChange","isInvalid","isInvalidByRequired","isValid","isInfo","isWarning","getAssociatedFormElement","form","getNativeInputElement","Promise","resolve","reject","Error","focusInput","render","h","Host","a11yBoolean","class","helperText","invalidText","infoText","warningText","validText","showTextAsTooltip","controlRef","ref","onCloseClick","e","autocomplete","readOnly","type","allowClear","placeholder","onBlur","onFocus","onInput","icon","ghost","oval","size","onClick","closeBehavior","anchor","waitForCurrent","trigger","onShowChanged","placement","overwriteDropdownStyle","async","minWidth","getBoundingClientRect","width","hidden","hideListHeader","title","i18nSelectListHeader","onSlotchange","onItemClick","i18nNoMatches","__decorate","OnListener","self","HookValidationLifecycle"],"sources":["src/components/select/select.scss?tag=ix-select&encapsulation=shadow","src/components/select/select.tsx"],"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\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/field';\n@import 'mixins/validation/form-component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n min-height: 2rem;\n height: auto;\n border-radius: var(--theme-input--border-radius);\n\n .d-none {\n display: none;\n }\n\n .select {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n background-color: var(--theme-input--background);\n border: var(--theme-input--border-thickness) solid\n var(--theme-input--border-color);\n border-radius: var(--theme-input--border-radius);\n padding: 0 0 0 $small-space;\n box-shadow: var(--theme-inset-shadow-1) !important;\n\n @include hover {\n background-color: var(--theme-input--background--hover);\n border-color: var(--theme-input--border-color--hover);\n }\n\n &:focus-within {\n background-color: var(--theme-input--background--focus);\n border-color: var(--theme-input--border-color--focus);\n outline: 1px solid #119fff;\n outline-offset: var(--theme-input--focus--outline-offset);\n }\n }\n\n .select.readonly,\n .select.disabled {\n box-shadow: none !important;\n border: none;\n border-radius: 0;\n cursor: pointer;\n\n &,\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n\n &:focus,\n &:focus-within,\n &:focus-visible {\n outline: none;\n }\n\n input:focus,\n input:focus-visible {\n outline: none;\n }\n }\n\n .select.disabled {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-weak-bdr);\n\n input {\n color: var(--theme-color-weak-text);\n }\n }\n\n .select.readonly {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-soft-bdr);\n\n input {\n color: var(--theme-color-std-text);\n }\n }\n\n .hidden {\n display: none !important;\n }\n\n .trigger {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n }\n\n .input-container {\n display: flex;\n position: relative;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n\n .chips {\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n height: 100%;\n max-height: 3.5rem;\n flex-grow: 1;\n overflow-y: auto;\n\n > ix-filter-chip {\n margin: 0.1rem;\n }\n }\n\n ix-icon-button {\n height: 1.875rem;\n width: 1.875rem;\n min-height: 1.875rem;\n min-width: 1.875rem;\n }\n\n input {\n @include ellipsis;\n @include text-default;\n background: transparent;\n height: 1.75rem;\n width: 100%;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &::placeholder {\n color: var(--theme-input-select-icon--color);\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n }\n\n .dropdown-visible {\n --ix-icon-button-color: var(--theme-color-dynamic--hover);\n }\n\n .add-item {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n width: 100%;\n }\n\n .select-list-header {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $default-control-height;\n color: var(--theme-select-list-item-hint--color);\n margin: 0 $small-space 0 1rem;\n }\n}\n\n\n\n@include host-valid;\n\n@include host-info {\n .select {\n border-color: var(--theme-input--border-color--info);\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--info--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--info--active) !important;\n }\n}\n\n@include host-warning {\n .select {\n border-color: var(--theme-input--border-color--warning);\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--warning--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n}\n\n@include host-invalid {\n .select {\n border-color: var(--theme-input--border-color--invalid);\n background-color: var(--theme-input--background--invalid);\n box-shadow: none;\n }\n\n .select:hover {\n border-color: var(--theme-input--border-color--invalid--hover) !important;\n }\n\n .select:active {\n border-color: var(--theme-input--border-color--invalid--active) !important;\n }\n}\n","/*\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 AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { a11yBoolean } from '../utils/a11y';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { OnListener } from '../utils/listener';\nimport { makeRef } from '../utils/make-ref';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\n/**\n * @form-ready 2.6.0\n */\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select implements IxInputFieldComponent<string | string[]> {\n @Element() hostElement!: HTMLIxSelectElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * A string that represents the element's name attribute,\n * containing a name that identifies the element when submitting the form.\n *\n * @since 2.6.0\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * A Boolean attribute indicating that an option with a non-empty string value must be selected\n *\n * @since 2.6.0\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Label for the select component\n *\n * @since 2.6.0\n */\n @Prop() label?: string;\n\n /**\n * Warning text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() warningText?: string;\n\n /**\n * Info text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() infoText?: string;\n\n /**\n * Error text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() invalidText?: string;\n\n /**\n * Valid text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() validText?: string;\n\n /**\n * Helper text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() helperText?: string;\n\n /**\n * Show helper, error, info, warning text as tooltip\n *\n * @since 2.6.0\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * Indices of selected items.\n * This corresponds to the value property of ix-select-items and therefor not necessarily the indices of the items in the list.\n * @deprecated since 2.0.0. Use the `value` property instead.\n */\n @Prop({ mutable: true }) selectedIndices?: string | string[];\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value: string | string[] = [];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Select an option';\n\n /**\n * Information inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange!: EventEmitter<string | string[]>;\n\n /**\n * Item selection changed\n * @deprecated since 2.0.0. Use `valueChange` instead.\n */\n @Event() itemSelectionChange!: EventEmitter<string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange!: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem!: EventEmitter<string>;\n\n /**\n * Blur input\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: (string | undefined)[] = [];\n @State() isDropdownEmpty = false;\n @State() navigationItem?: DropdownItemWrapper;\n @State() inputFilterText = '';\n @State() inputValue = '';\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n\n private readonly dropdownWrapperRef = makeRef<HTMLElement>();\n private readonly dropdownAnchorRef = makeRef<HTMLElement>();\n private readonly inputRef = makeRef<HTMLInputElement>();\n\n private inputElement?: HTMLInputElement;\n private dropdownElement?: HTMLIxDropdownElement;\n private customItemsContainerElement?: HTMLDivElement;\n private addItemElement?: HTMLIxDropdownItemElement;\n private arrowFocusController?: ArrowFocusController;\n\n private readonly itemObserver = createMutationObserver(() => {\n if (!this.arrowFocusController) {\n return;\n }\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n private readonly focusControllerCallbackBind =\n this.focusDropdownItem.bind(this);\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot!.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter((item) => !item.classList.contains('d-none'));\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot!.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('d-none'));\n }\n\n @Watch('selectedIndices')\n watchSelectedIndices(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.selectedIndices = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show && this.dropdownElement) {\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownElement,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap = !this.editable;\n\n this.itemObserver.observe(this.dropdownElement, {\n childList: true,\n subtree: true,\n });\n } else {\n this.cleanupResources();\n }\n }\n\n private cleanupResources() {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver?.disconnect();\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n async updateFormInternalValue(value: string | string[]) {\n if (Array.isArray(value)) {\n this.formInternals.setFormValue(value.join(','));\n return;\n }\n\n this.formInternals.setFormValue(value);\n }\n\n /** @internal */\n @Method()\n async hasValidValue(): Promise<boolean> {\n return this.required && !!this.hasValue();\n }\n\n private hasValue() {\n if (Array.isArray(this.value)) {\n return !!this.value.length;\n }\n\n return !!this.value;\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = undefined;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot?.querySelector(\n 'ix-dropdown-item'\n );\n\n if (!nestedDropdownItem) {\n return;\n }\n\n requestAnimationFrame(() => {\n nestedDropdownItem?.shadowRoot?.querySelector('button')?.focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n const oldValue = this.value;\n const value = this.toggleValue(newId);\n this.value = value;\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n this.value = oldValue;\n return;\n }\n\n this.updateSelection();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return false;\n }\n\n const { defaultPrevented } = this.addItem.emit(value);\n if (defaultPrevented) {\n return true;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerElement?.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n\n return false;\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids: string[] = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.selectedLabels?.length && this.isSingleMode) {\n this.inputValue = this.selectedLabels[0] ?? '';\n } else {\n this.inputValue = '';\n }\n\n this.inputElement && (this.inputElement.value = this.inputValue);\n }\n\n private emitValueChange(value: string | string[]) {\n const { defaultPrevented } = this.valueChange.emit(value);\n\n if (defaultPrevented) {\n return true;\n }\n\n if (!value) {\n this.itemSelectionChange.emit([]);\n } else {\n this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);\n }\n\n this.updateFormInternalValue(value);\n return false;\n }\n\n componentDidLoad() {\n this.inputElement?.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputElement?.value);\n });\n }\n\n componentWillLoad() {\n if (this.selectedIndices && !this.value) {\n this.value = this.selectedIndices;\n }\n\n this.updateSelection();\n this.updateFormInternalValue(this.value);\n }\n\n @Listen('ix-select-item:valueChange')\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n this.cleanupResources();\n }\n\n private itemExists(item: string | undefined) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputElement?.focus();\n this.inputElement?.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation(event.target as HTMLIxSelectItemElement);\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation(\n el: HTMLIxSelectItemElement | HTMLInputElement\n ) {\n if (this.isMultipleMode) {\n return;\n }\n\n const trimmedInput = this.inputFilterText.trim();\n const itemLabel = (el as HTMLIxSelectItemElement)?.label;\n\n if (\n this.editable &&\n !this.itemExists(trimmedInput) &&\n !this.itemExists(itemLabel)\n ) {\n const defaultPrevented = this.emitAddItem(trimmedInput);\n if (defaultPrevented) {\n return;\n }\n }\n\n this.dropdownShow = false;\n this.updateSelection();\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = document.activeElement\n ? this.visibleNonShadowItems.indexOf(\n document.activeElement as HTMLIxSelectItemElement\n )\n : -1;\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (!this.navigationItem) {\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemElement?.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as HTMLIxSelectItemElement\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element?: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n ?.querySelector('ix-dropdown-item')\n ?.shadowRoot?.querySelector('button')\n ?.focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot?.querySelector('button')?.focus();\n this.navigationItem = this.addItemElement;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputElement?.value ?? '';\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n if (\n !item.label\n ?.toLowerCase()\n .includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('d-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n });\n }\n\n private clearInput() {\n if (this.inputElement) {\n this.inputElement.value = '';\n }\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.emitValueChange([]);\n this.dropdownShow = false;\n }\n\n private onInputBlur(event: Event) {\n this.ixBlur.emit();\n\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n const target = event.target as HTMLInputElement;\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n target.value = this.selectedLabels.toString();\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n @HookValidationLifecycle()\n onValidationChange({\n isInvalid,\n isInvalidByRequired,\n isValid,\n isInfo,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired;\n this.isValid = isValid;\n this.isWarning = isWarning;\n this.isInfo = isInfo;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /**\n * Returns the native input element used in the component.\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n if (this.inputElement) {\n return Promise.resolve(this.inputElement);\n } else {\n return Promise.reject(new Error('Input element not found'));\n }\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n const inputElement = await this.getNativeInputElement();\n if (inputElement) {\n inputElement.focus();\n }\n }\n\n render() {\n return (\n <Host\n aria-disabled={a11yBoolean(this.disabled)}\n class={{\n disabled: this.disabled,\n }}\n >\n <ix-field-wrapper\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\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchorRef(ref);\n if (!this.editable) this.dropdownWrapperRef(ref);\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue ?? ''}\n ref={(ref) => {\n this.inputElement = ref;\n this.inputRef(ref);\n }}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n !this.disabled &&\n !this.readonly &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={'clear'}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon=\"chevron-down-small\"\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef(ref);\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n </ix-field-wrapper>\n <ix-dropdown\n ref={(ref) => (this.dropdownElement = ref!)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'd-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchorRef.waitForCurrent()}\n trigger={this.dropdownWrapperRef.waitForCurrent()}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n const minWidth = this.hostElement.shadowRoot\n ?.querySelector('.select')\n ?.getBoundingClientRect().width;\n\n return {\n minWidth: `${minWidth}px`,\n };\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot\n onSlotchange={() => {\n this.updateSelection();\n }}\n ></slot>\n <div\n ref={(ref) => (this.customItemsContainerElement = ref!)}\n class=\"d-contents\"\n ></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={'plus'}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.emitAddItem(this.inputFilterText);\n }}\n onFocus={() => (this.navigationItem = this.addItemElement)}\n ref={(ref) => {\n this.addItemElement = ref!;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"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"}