@siemens/ix 2.6.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1128) hide show
  1. package/components/a11y.js.map +1 -1
  2. package/components/application-header.js +20 -11
  3. package/components/application-header.js.map +1 -1
  4. package/components/avatar.js.map +1 -1
  5. package/components/breadcrumb-item.js.map +1 -1
  6. package/components/button.js +2 -2
  7. package/components/button.js.map +1 -1
  8. package/components/card-content.js +2 -2
  9. package/components/card-content.js.map +1 -1
  10. package/components/card-title.js +2 -2
  11. package/components/card-title.js.map +1 -1
  12. package/components/card.js +1 -1
  13. package/components/card.js.map +1 -1
  14. package/components/date-picker.js +4 -4
  15. package/components/date-picker.js.map +1 -1
  16. package/components/divider.js +1 -1
  17. package/components/dropdown-item.js +3 -3
  18. package/components/dropdown.js +2 -2
  19. package/components/field-label.js +1 -1
  20. package/components/field-wrapper.js +2 -2
  21. package/components/filter-chip.js +2 -2
  22. package/components/filter-chip.js.map +1 -1
  23. package/components/group-context-menu.js +1 -1
  24. package/components/group-context-menu.js.map +1 -1
  25. package/components/group-item.js +2 -2
  26. package/components/icon-button.js +4 -4
  27. package/components/icon-button.js.map +1 -1
  28. package/components/index.js +4 -0
  29. package/components/index.js.map +1 -1
  30. package/components/index2.js +4 -0
  31. package/components/index2.js.map +1 -1
  32. package/components/input.util.js +26 -2
  33. package/components/input.util.js.map +1 -1
  34. package/components/ix-application-switch-modal.js +1 -1
  35. package/components/ix-application-switch-modal.js.map +1 -1
  36. package/components/ix-application.js +7 -3
  37. package/components/ix-application.js.map +1 -1
  38. package/components/ix-basic-navigation.js +2 -2
  39. package/components/ix-basic-navigation.js.map +1 -1
  40. package/components/ix-card-list.js +6 -6
  41. package/components/ix-card-list.js.map +1 -1
  42. package/components/ix-category-filter.js +4 -4
  43. package/components/ix-category-filter.js.map +1 -1
  44. package/components/ix-checkbox-group.js +2 -2
  45. package/components/ix-checkbox.js +5 -4
  46. package/components/ix-checkbox.js.map +1 -1
  47. package/components/ix-chip.js +5 -5
  48. package/components/ix-chip.js.map +1 -1
  49. package/components/ix-content.js +3 -3
  50. package/components/ix-css-grid-item.js +1 -1
  51. package/components/ix-css-grid-item.js.map +1 -1
  52. package/components/ix-custom-field.js +1 -1
  53. package/components/ix-date-dropdown.js +13 -5
  54. package/components/ix-date-dropdown.js.map +1 -1
  55. package/components/ix-date-input.js +10 -11
  56. package/components/ix-date-input.js.map +1 -1
  57. package/components/ix-drawer.js +2 -2
  58. package/components/ix-dropdown-header.js +1 -1
  59. package/components/ix-dropdown-header.js.map +1 -1
  60. package/components/ix-dropdown-quick-actions.js +1 -1
  61. package/components/ix-empty-state.js +1 -1
  62. package/components/ix-empty-state.js.map +1 -1
  63. package/components/ix-event-list-item.js +4 -4
  64. package/components/ix-event-list.js +2 -2
  65. package/components/ix-expanding-search.js +10 -4
  66. package/components/ix-expanding-search.js.map +1 -1
  67. package/components/ix-flip-tile-content.js +1 -1
  68. package/components/ix-flip-tile.js +6 -5
  69. package/components/ix-flip-tile.js.map +1 -1
  70. package/components/ix-group.js +8 -8
  71. package/components/ix-group.js.map +1 -1
  72. package/components/ix-helper-text.js +1 -1
  73. package/components/ix-icon-toggle-button.js +1 -1
  74. package/components/ix-icon-toggle-button.js.map +1 -1
  75. package/components/ix-input-group.js +1 -1
  76. package/components/ix-input-group.js.map +1 -1
  77. package/components/ix-input.js +12 -7
  78. package/components/ix-input.js.map +1 -1
  79. package/components/ix-key-value-list.js +2 -2
  80. package/components/ix-key-value-list.js.map +1 -1
  81. package/components/ix-key-value.js +1 -1
  82. package/components/ix-key-value.js.map +1 -1
  83. package/components/ix-kpi.js +3 -3
  84. package/components/ix-kpi.js.map +1 -1
  85. package/components/ix-layout-auto.js +1 -1
  86. package/components/ix-link-button.js +3 -3
  87. package/components/ix-link-button.js.map +1 -1
  88. package/components/ix-map-navigation.js +4 -4
  89. package/components/ix-map-navigation.js.map +1 -1
  90. package/components/ix-menu-about-item.js +1 -1
  91. package/components/ix-menu-about-item.js.map +1 -1
  92. package/components/ix-menu-about-news.js +4 -4
  93. package/components/ix-menu-about-news.js.map +1 -1
  94. package/components/ix-menu-about.js +1 -1
  95. package/components/ix-menu-about.js.map +1 -1
  96. package/components/ix-menu-avatar.js +2 -2
  97. package/components/ix-menu-avatar.js.map +1 -1
  98. package/components/ix-menu-category.js +28 -13
  99. package/components/ix-menu-category.js.map +1 -1
  100. package/components/ix-menu-settings-item.js +1 -1
  101. package/components/ix-menu-settings-item.js.map +1 -1
  102. package/components/ix-menu.js +24 -16
  103. package/components/ix-menu.js.map +1 -1
  104. package/components/ix-message-bar.js +4 -2
  105. package/components/ix-message-bar.js.map +1 -1
  106. package/components/ix-modal-footer.js +1 -1
  107. package/components/ix-modal-loading.js +1 -1
  108. package/components/ix-modal.js +3 -3
  109. package/components/ix-modal.js.map +1 -1
  110. package/components/ix-number-input.js +14 -9
  111. package/components/ix-number-input.js.map +1 -1
  112. package/components/ix-pagination.js +8 -5
  113. package/components/ix-pagination.js.map +1 -1
  114. package/components/ix-pane-layout.js +1 -1
  115. package/components/ix-pill.js +19 -8
  116. package/components/ix-pill.js.map +1 -1
  117. package/components/ix-push-card.js +1 -1
  118. package/components/ix-push-card.js.map +1 -1
  119. package/components/ix-radio-group.js +2 -2
  120. package/components/ix-radio.js +6 -5
  121. package/components/ix-radio.js.map +1 -1
  122. package/components/ix-split-button-item.js +1 -1
  123. package/components/ix-split-button-item.js.map +1 -1
  124. package/components/ix-split-button.js +1 -1
  125. package/components/ix-split-button.js.map +1 -1
  126. package/components/ix-textarea.js +1 -1
  127. package/components/ix-textarea.js.map +1 -1
  128. package/components/ix-tile.js +4 -4
  129. package/components/ix-tile.js.map +1 -1
  130. package/components/ix-toast-container.js +10 -6
  131. package/components/ix-toast-container.js.map +1 -1
  132. package/components/ix-toggle-button.js +2 -2
  133. package/components/ix-toggle-button.js.map +1 -1
  134. package/components/ix-toggle.js +3 -3
  135. package/components/ix-tree.js +1 -1
  136. package/components/ix-tree.js.map +1 -1
  137. package/components/ix-upload.js +3 -3
  138. package/components/ix-validation-tooltip.js +5 -2
  139. package/components/ix-validation-tooltip.js.map +1 -1
  140. package/components/ix-workflow-step.js +4 -3
  141. package/components/ix-workflow-step.js.map +1 -1
  142. package/components/ix-workflow-steps.js +1 -1
  143. package/components/ix-workflow-steps.js.map +1 -1
  144. package/components/layout-grid.js +2 -2
  145. package/components/make-ref.js.map +1 -1
  146. package/components/map-navigation-overlay.js +2 -2
  147. package/components/map-navigation-overlay.js.map +1 -1
  148. package/components/menu-avatar-item.js +1 -1
  149. package/components/menu-avatar-item.js.map +1 -1
  150. package/components/menu-expand-icon.js +1 -1
  151. package/components/menu-expand-icon.js.map +1 -1
  152. package/components/menu-item.js +3 -3
  153. package/components/menu-tabs-fc.js +10 -3
  154. package/components/menu-tabs-fc.js.map +1 -1
  155. package/components/modal-content.js +1 -1
  156. package/components/modal-header.js +1 -1
  157. package/components/row.js +1 -1
  158. package/components/select-item.js +1 -1
  159. package/components/select.js +39 -17
  160. package/components/select.js.map +1 -1
  161. package/components/shadow-dom.js.map +1 -1
  162. package/components/spinner.js +1 -1
  163. package/components/tabs.js +2 -2
  164. package/components/time-picker.js +1 -1
  165. package/components/time-picker.js.map +1 -1
  166. package/components/toast.js +2 -2
  167. package/components/toast.js.map +1 -1
  168. package/components/tooltip.js +2 -2
  169. package/components/tree-item.js +4 -4
  170. package/components/validation.js +1 -7
  171. package/components/validation.js.map +1 -1
  172. package/dist/cjs/a11y-ae470f01.js.map +1 -1
  173. package/dist/cjs/{app-globals-4d8f1524.js → app-globals-ca59f3ec.js} +2 -2
  174. package/dist/cjs/{app-globals-4d8f1524.js.map → app-globals-ca59f3ec.js.map} +1 -1
  175. package/dist/cjs/{index-492e6488.js → index-12d386cf.js} +5 -1
  176. package/dist/cjs/index-12d386cf.js.map +1 -0
  177. package/dist/cjs/index.cjs.js +5 -1
  178. package/dist/cjs/index.cjs.js.map +1 -1
  179. package/dist/cjs/{input.util-54d161e6.js → input.util-dee6616a.js} +28 -3
  180. package/dist/cjs/input.util-dee6616a.js.map +1 -0
  181. package/dist/cjs/ix-application-header.cjs.entry.js +21 -12
  182. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  183. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
  184. package/dist/cjs/ix-application-switch-modal.cjs.entry.js.map +1 -1
  185. package/dist/cjs/ix-application.cjs.entry.js +7 -3
  186. package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
  187. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  188. package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
  189. package/dist/cjs/ix-basic-navigation.cjs.entry.js +2 -2
  190. package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
  191. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  192. package/dist/cjs/ix-button.cjs.entry.js +2 -2
  193. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  194. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
  195. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  196. package/dist/cjs/ix-card-list.cjs.entry.js +6 -6
  197. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
  198. package/dist/cjs/ix-card_2.cjs.entry.js +3 -3
  199. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  200. package/dist/cjs/ix-category-filter.cjs.entry.js +4 -4
  201. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  202. package/dist/cjs/ix-checkbox-group.cjs.entry.js +3 -3
  203. package/dist/cjs/ix-checkbox.cjs.entry.js +6 -5
  204. package/dist/cjs/ix-checkbox.cjs.entry.js.map +1 -1
  205. package/dist/cjs/ix-chip.cjs.entry.js +5 -5
  206. package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
  207. package/dist/cjs/ix-col_4.cjs.entry.js +7 -7
  208. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  209. package/dist/cjs/ix-content.cjs.entry.js +3 -3
  210. package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
  211. package/dist/cjs/ix-css-grid-item.cjs.entry.js.map +1 -1
  212. package/dist/cjs/ix-custom-field.cjs.entry.js +2 -2
  213. package/dist/cjs/ix-date-dropdown.cjs.entry.js +9 -5
  214. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  215. package/dist/cjs/ix-date-input.cjs.entry.js +12 -12
  216. package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -1
  217. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  218. package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
  219. package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
  220. package/dist/cjs/ix-dropdown-header.cjs.entry.js.map +1 -1
  221. package/dist/cjs/ix-dropdown-item.cjs.entry.js +3 -3
  222. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  223. package/dist/cjs/ix-dropdown.cjs.entry.js +2 -2
  224. package/dist/cjs/ix-empty-state.cjs.entry.js +1 -1
  225. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  226. package/dist/cjs/ix-event-list-item.cjs.entry.js +4 -4
  227. package/dist/cjs/ix-event-list.cjs.entry.js +2 -2
  228. package/dist/cjs/ix-expanding-search.cjs.entry.js +7 -4
  229. package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
  230. package/dist/cjs/ix-field-label_3.cjs.entry.js +6 -6
  231. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +3 -3
  232. package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
  233. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
  234. package/dist/cjs/ix-flip-tile.cjs.entry.js +6 -5
  235. package/dist/cjs/ix-flip-tile.cjs.entry.js.map +1 -1
  236. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +3 -3
  237. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
  238. package/dist/cjs/ix-group.cjs.entry.js +8 -8
  239. package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
  240. package/dist/cjs/ix-helper-text.cjs.entry.js +2 -2
  241. package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
  242. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  243. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
  244. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  245. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  246. package/dist/cjs/ix-input-group.cjs.entry.js.map +1 -1
  247. package/dist/cjs/ix-input.cjs.entry.js +14 -8
  248. package/dist/cjs/ix-input.cjs.entry.js.map +1 -1
  249. package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
  250. package/dist/cjs/ix-key-value-list.cjs.entry.js.map +1 -1
  251. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  252. package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -1
  253. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  254. package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
  255. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  256. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  257. package/dist/cjs/ix-link-button.cjs.entry.js.map +1 -1
  258. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  259. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js.map +1 -1
  260. package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
  261. package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
  262. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  263. package/dist/cjs/ix-menu-about-item.cjs.entry.js.map +1 -1
  264. package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
  265. package/dist/cjs/ix-menu-about-news.cjs.entry.js.map +1 -1
  266. package/dist/cjs/ix-menu-about.cjs.entry.js +2 -2
  267. package/dist/cjs/ix-menu-about.cjs.entry.js.map +1 -1
  268. package/dist/cjs/ix-menu-avatar.cjs.entry.js +2 -2
  269. package/dist/cjs/ix-menu-avatar.cjs.entry.js.map +1 -1
  270. package/dist/cjs/ix-menu-category.cjs.entry.js +28 -13
  271. package/dist/cjs/ix-menu-category.cjs.entry.js.map +1 -1
  272. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  273. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js.map +1 -1
  274. package/dist/cjs/ix-menu-item.cjs.entry.js +3 -3
  275. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  276. package/dist/cjs/ix-menu-settings-item.cjs.entry.js.map +1 -1
  277. package/dist/cjs/ix-menu-settings.cjs.entry.js +1 -1
  278. package/dist/cjs/ix-menu.cjs.entry.js +25 -17
  279. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  280. package/dist/cjs/ix-message-bar.cjs.entry.js +4 -2
  281. package/dist/cjs/ix-message-bar.cjs.entry.js.map +1 -1
  282. package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
  283. package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
  284. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  285. package/dist/cjs/ix-modal.cjs.entry.js +3 -3
  286. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  287. package/dist/cjs/ix-number-input.cjs.entry.js +16 -10
  288. package/dist/cjs/ix-number-input.cjs.entry.js.map +1 -1
  289. package/dist/cjs/ix-pagination.cjs.entry.js +8 -5
  290. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  291. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  292. package/dist/cjs/ix-pill.cjs.entry.js +17 -7
  293. package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
  294. package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
  295. package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
  296. package/dist/cjs/ix-radio-group.cjs.entry.js +3 -3
  297. package/dist/cjs/ix-radio.cjs.entry.js +6 -5
  298. package/dist/cjs/ix-radio.cjs.entry.js.map +1 -1
  299. package/dist/cjs/ix-select.cjs.entry.js +38 -18
  300. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  301. package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
  302. package/dist/cjs/ix-split-button-item.cjs.entry.js.map +1 -1
  303. package/dist/cjs/ix-split-button.cjs.entry.js +1 -1
  304. package/dist/cjs/ix-split-button.cjs.entry.js.map +1 -1
  305. package/dist/cjs/ix-tab-item_2.cjs.entry.js +2 -2
  306. package/dist/cjs/ix-textarea.cjs.entry.js +4 -3
  307. package/dist/cjs/ix-textarea.cjs.entry.js.map +1 -1
  308. package/dist/cjs/ix-tile.cjs.entry.js +4 -4
  309. package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
  310. package/dist/cjs/ix-time-picker.cjs.entry.js +1 -1
  311. package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
  312. package/dist/cjs/ix-toast-container.cjs.entry.js +10 -6
  313. package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
  314. package/dist/cjs/ix-toast.cjs.entry.js +2 -2
  315. package/dist/cjs/ix-toast.cjs.entry.js.map +1 -1
  316. package/dist/cjs/ix-toggle-button.cjs.entry.js +2 -2
  317. package/dist/cjs/ix-toggle-button.cjs.entry.js.map +1 -1
  318. package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
  319. package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
  320. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  321. package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
  322. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  323. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +5 -2
  324. package/dist/cjs/ix-validation-tooltip.cjs.entry.js.map +1 -1
  325. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -3
  326. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  327. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  328. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  329. package/dist/cjs/loader.cjs.js +3 -3
  330. package/dist/cjs/make-ref-499e1e41.js.map +1 -1
  331. package/dist/cjs/{menu-tabs-fc-eb899b0d.js → menu-tabs-fc-a9f928f5.js} +11 -4
  332. package/dist/cjs/menu-tabs-fc-a9f928f5.js.map +1 -0
  333. package/dist/cjs/{setup-cc07fbfc.js → setup-49660b91.js} +12 -2
  334. package/dist/cjs/setup-49660b91.js.map +1 -0
  335. package/dist/cjs/shadow-dom-454acc38.js.map +1 -1
  336. package/dist/cjs/siemens-ix.cjs.js +3 -3
  337. package/dist/cjs/{validation-1e3dd5ee.js → validation-cb884b13.js} +2 -8
  338. package/dist/cjs/validation-cb884b13.js.map +1 -0
  339. package/dist/collection/components/action-card/action-card.js +3 -3
  340. package/dist/collection/components/application/application.js +12 -8
  341. package/dist/collection/components/application/application.js.map +1 -1
  342. package/dist/collection/components/application-header/application-header.js +39 -13
  343. package/dist/collection/components/application-header/application-header.js.map +1 -1
  344. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +3 -3
  345. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  346. package/dist/collection/components/application-header/test/application-header.ct.js +2 -2
  347. package/dist/collection/components/application-header/test/application-header.ct.js.map +1 -1
  348. package/dist/collection/components/avatar/avatar.js +4 -4
  349. package/dist/collection/components/avatar/avatar.js.map +1 -1
  350. package/dist/collection/components/basic-navigation/basic-navigation.js +5 -5
  351. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  352. package/dist/collection/components/blind/blind.js +3 -3
  353. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +4 -4
  354. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  355. package/dist/collection/components/button/button-component.js +2 -0
  356. package/dist/collection/components/button/button-component.js.map +1 -0
  357. package/dist/collection/components/button/button.js +3 -3
  358. package/dist/collection/components/button/button.js.map +1 -1
  359. package/dist/collection/components/button/test/button.spec.js.map +1 -1
  360. package/dist/collection/components/card/card.css +7 -0
  361. package/dist/collection/components/card-content/card-content.css +13 -5
  362. package/dist/collection/components/card-content/card-content.js +1 -1
  363. package/dist/collection/components/card-content/card-content.js.map +1 -1
  364. package/dist/collection/components/card-list/card-list.css +1 -0
  365. package/dist/collection/components/card-list/card-list.js +7 -7
  366. package/dist/collection/components/card-list/card-list.js.map +1 -1
  367. package/dist/collection/components/card-title/card-title.css +2 -2
  368. package/dist/collection/components/card-title/card-title.js +1 -1
  369. package/dist/collection/components/category-filter/category-filter.css +3 -3
  370. package/dist/collection/components/category-filter/category-filter.js +9 -9
  371. package/dist/collection/components/category-filter/filter-state.js +4 -0
  372. package/dist/collection/components/category-filter/filter-state.js.map +1 -1
  373. package/dist/collection/components/checkbox/checkbox.css +216 -91
  374. package/dist/collection/components/checkbox/checkbox.js +7 -6
  375. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  376. package/dist/collection/components/checkbox/tests/checkbox.ct.js +20 -0
  377. package/dist/collection/components/checkbox/tests/checkbox.ct.js.map +1 -1
  378. package/dist/collection/components/checkbox-group/checkbox-group.js +8 -8
  379. package/dist/collection/components/chip/chip.js +10 -10
  380. package/dist/collection/components/chip/chip.js.map +1 -1
  381. package/dist/collection/components/chip/test/chip.ct.js +4 -2
  382. package/dist/collection/components/chip/test/chip.ct.js.map +1 -1
  383. package/dist/collection/components/col/col.js +4 -4
  384. package/dist/collection/components/content/content.js +3 -3
  385. package/dist/collection/components/content-header/content-header.js +2 -2
  386. package/dist/collection/components/css-grid/css-grid-item.js +2 -2
  387. package/dist/collection/components/css-grid/css-grid-item.js.map +1 -1
  388. package/dist/collection/components/css-grid/css-grid.js +1 -1
  389. package/dist/collection/components/custom-field/custom-field.js +8 -8
  390. package/dist/collection/components/date-dropdown/date-dropdown.js +88 -6
  391. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  392. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js +1 -0
  393. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +1 -1
  394. package/dist/collection/components/date-input/date-input.css +6 -6
  395. package/dist/collection/components/date-input/date-input.js +22 -23
  396. package/dist/collection/components/date-input/date-input.js.map +1 -1
  397. package/dist/collection/components/date-picker/date-picker.js +9 -9
  398. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  399. package/dist/collection/components/date-time-card/date-time-card.js +1 -1
  400. package/dist/collection/components/datetime-picker/datetime-picker.js +8 -8
  401. package/dist/collection/components/divider/divider.js +1 -1
  402. package/dist/collection/components/drawer/drawer.js +3 -3
  403. package/dist/collection/components/dropdown/dropdown.js +7 -7
  404. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
  405. package/dist/collection/components/dropdown-button/dropdown-button.js +3 -3
  406. package/dist/collection/components/dropdown-header/dropdown-header.js +3 -3
  407. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  408. package/dist/collection/components/dropdown-item/dropdown-item.js +5 -5
  409. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  410. package/dist/collection/components/empty-state/empty-state.js +7 -7
  411. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  412. package/dist/collection/components/event-list/event-list.js +2 -2
  413. package/dist/collection/components/event-list-item/event-list-item.js +6 -6
  414. package/dist/collection/components/expanding-search/expanding-search.js +67 -4
  415. package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
  416. package/dist/collection/components/expanding-search/test/expanding-search.spec.js +5 -4
  417. package/dist/collection/components/expanding-search/test/expanding-search.spec.js.map +1 -1
  418. package/dist/collection/components/field-label/field-label.js +4 -4
  419. package/dist/collection/components/field-label/tests/field-label.ct.js +2 -2
  420. package/dist/collection/components/field-label/tests/field-label.ct.js.map +1 -1
  421. package/dist/collection/components/field-wrapper/field-wrapper.js +10 -10
  422. package/dist/collection/components/filter-chip/filter-chip.js +2 -2
  423. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  424. package/dist/collection/components/flip-tile/flip-tile.js +8 -7
  425. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  426. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  427. package/dist/collection/components/group/group-context-menu.js +1 -1
  428. package/dist/collection/components/group/group-context-menu.js.map +1 -1
  429. package/dist/collection/components/group/group.js +11 -11
  430. package/dist/collection/components/group/group.js.map +1 -1
  431. package/dist/collection/components/group-item/group-item.js +6 -6
  432. package/dist/collection/components/helper-text/helper-text.js +7 -7
  433. package/dist/collection/components/icon-button/icon-button.js +18 -15
  434. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  435. package/dist/collection/components/icon-button/test/icon-button.spec.js +16 -33
  436. package/dist/collection/components/icon-button/test/icon-button.spec.js.map +1 -1
  437. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +3 -3
  438. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
  439. package/dist/collection/components/input/input.css +6 -6
  440. package/dist/collection/components/input/input.js +25 -20
  441. package/dist/collection/components/input/input.js.map +1 -1
  442. package/dist/collection/components/input/input.util.js +25 -1
  443. package/dist/collection/components/input/input.util.js.map +1 -1
  444. package/dist/collection/components/input/number-input.css +3 -3
  445. package/dist/collection/components/input/number-input.js +29 -24
  446. package/dist/collection/components/input/number-input.js.map +1 -1
  447. package/dist/collection/components/input/tests/validation.ct.js +21 -0
  448. package/dist/collection/components/input/tests/validation.ct.js.map +1 -0
  449. package/dist/collection/components/input/textarea.css +3 -3
  450. package/dist/collection/components/input/textarea.js +16 -16
  451. package/dist/collection/components/input-group/input-group.js +1 -1
  452. package/dist/collection/components/input-group/input-group.js.map +1 -1
  453. package/dist/collection/components/key-value/key-value.js +5 -5
  454. package/dist/collection/components/key-value/key-value.js.map +1 -1
  455. package/dist/collection/components/key-value-list/key-value-list.js +4 -3
  456. package/dist/collection/components/key-value-list/key-value-list.js.map +1 -1
  457. package/dist/collection/components/kpi/kpi.js +9 -9
  458. package/dist/collection/components/kpi/kpi.js.map +1 -1
  459. package/dist/collection/components/layout-auto/layout-auto.js +1 -1
  460. package/dist/collection/components/layout-grid/layout-grid.js +2 -2
  461. package/dist/collection/components/link-button/link-button.js +5 -5
  462. package/dist/collection/components/link-button/link-button.js.map +1 -1
  463. package/dist/collection/components/map-navigation/map-navigation.js +11 -11
  464. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  465. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +10 -10
  466. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js.map +1 -1
  467. package/dist/collection/components/menu/menu-expand-icon.js +3 -3
  468. package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
  469. package/dist/collection/components/menu/menu.js +44 -19
  470. package/dist/collection/components/menu/menu.js.map +1 -1
  471. package/dist/collection/components/menu-about/menu-about.js +3 -3
  472. package/dist/collection/components/menu-about/menu-about.js.map +1 -1
  473. package/dist/collection/components/menu-about-item/menu-about-item.js +3 -3
  474. package/dist/collection/components/menu-about-item/menu-about-item.js.map +1 -1
  475. package/dist/collection/components/menu-about-news/menu-about-news.js +8 -8
  476. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  477. package/dist/collection/components/menu-avatar/menu-avatar.js +10 -10
  478. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  479. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +5 -5
  480. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js.map +1 -1
  481. package/dist/collection/components/menu-category/menu-category.js +34 -19
  482. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  483. package/dist/collection/components/menu-item/menu-item.js +7 -7
  484. package/dist/collection/components/menu-settings/menu-settings.js +3 -3
  485. package/dist/collection/components/menu-settings/menu-settings.js.map +1 -1
  486. package/dist/collection/components/menu-settings-item/menu-settings-item.js +3 -3
  487. package/dist/collection/components/menu-settings-item/menu-settings-item.js.map +1 -1
  488. package/dist/collection/components/message-bar/message-bar.js +4 -2
  489. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  490. package/dist/collection/components/message-bar/test/message-bar.spec.js.map +1 -1
  491. package/dist/collection/components/modal/modal.js +6 -6
  492. package/dist/collection/components/modal/modal.js.map +1 -1
  493. package/dist/collection/components/modal-content/modal-content.js +1 -1
  494. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  495. package/dist/collection/components/modal-header/modal-header.js +3 -3
  496. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  497. package/dist/collection/components/pagination/pagination.js +10 -6
  498. package/dist/collection/components/pagination/pagination.js.map +1 -1
  499. package/dist/collection/components/pagination/test/pagination.ct.js +1 -1
  500. package/dist/collection/components/pagination/test/pagination.ct.js.map +1 -1
  501. package/dist/collection/components/pagination/test/pagination.spec.js.map +1 -1
  502. package/dist/collection/components/pane/pane.js +2 -2
  503. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  504. package/dist/collection/components/pill/pill.css +14 -1
  505. package/dist/collection/components/pill/pill.js +25 -10
  506. package/dist/collection/components/pill/pill.js.map +1 -1
  507. package/dist/collection/components/pill/tests/pill.ct.js +23 -0
  508. package/dist/collection/components/pill/tests/pill.ct.js.map +1 -0
  509. package/dist/collection/components/push-card/push-card.css +8 -1
  510. package/dist/collection/components/push-card/push-card.js +4 -4
  511. package/dist/collection/components/radio/radio.css +0 -16
  512. package/dist/collection/components/radio/radio.js +9 -8
  513. package/dist/collection/components/radio/radio.js.map +1 -1
  514. package/dist/collection/components/radio/test/radio.ct.js +19 -0
  515. package/dist/collection/components/radio/test/radio.ct.js.map +1 -1
  516. package/dist/collection/components/radio-group/radio-group.js +10 -10
  517. package/dist/collection/components/row/row.js +1 -1
  518. package/dist/collection/components/select/select.css +3 -0
  519. package/dist/collection/components/select/select.js +86 -26
  520. package/dist/collection/components/select/select.js.map +1 -1
  521. package/dist/collection/components/select/test/select-keyboard.ct.js +379 -0
  522. package/dist/collection/components/select/test/select-keyboard.ct.js.map +1 -0
  523. package/dist/collection/components/select/test/select.ct.js +106 -258
  524. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  525. package/dist/collection/components/select-item/select-item.js +3 -3
  526. package/dist/collection/components/select-item/test/select-item.spec.js +3 -6
  527. package/dist/collection/components/select-item/test/select-item.spec.js.map +1 -1
  528. package/dist/collection/components/slider/slider.js +2 -2
  529. package/dist/collection/components/spinner/spinner.js +1 -1
  530. package/dist/collection/components/split-button/split-button.js +3 -3
  531. package/dist/collection/components/split-button/split-button.js.map +1 -1
  532. package/dist/collection/components/split-button-item/split-button-item.js +5 -5
  533. package/dist/collection/components/split-button-item/split-button-item.js.map +1 -1
  534. package/dist/collection/components/tab-item/tab-item.js +1 -1
  535. package/dist/collection/components/tabs/tabs.js +2 -2
  536. package/dist/collection/components/tile/tile.js +4 -4
  537. package/dist/collection/components/tile/tile.js.map +1 -1
  538. package/dist/collection/components/time-picker/time-picker.css +3 -3
  539. package/dist/collection/components/time-picker/time-picker.js +4 -4
  540. package/dist/collection/components/toast/toast-container.js +10 -6
  541. package/dist/collection/components/toast/toast-container.js.map +1 -1
  542. package/dist/collection/components/toast/toast.js +8 -8
  543. package/dist/collection/components/toast/toast.js.map +1 -1
  544. package/dist/collection/components/toggle/toggle.js +5 -5
  545. package/dist/collection/components/toggle-button/toggle-button.js +4 -4
  546. package/dist/collection/components/toggle-button/toggle-button.js.map +1 -1
  547. package/dist/collection/components/tooltip/tooltip.js +4 -4
  548. package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
  549. package/dist/collection/components/tree/tree.js +2 -2
  550. package/dist/collection/components/tree/tree.js.map +1 -1
  551. package/dist/collection/components/tree-item/tree-item.js +6 -6
  552. package/dist/collection/components/typography/typography.js +3 -3
  553. package/dist/collection/components/upload/upload.js +4 -4
  554. package/dist/collection/components/utils/a11y.js.map +1 -1
  555. package/dist/collection/components/utils/app-switch/index.js +4 -0
  556. package/dist/collection/components/utils/app-switch/index.js.map +1 -1
  557. package/dist/collection/components/utils/input/validation.js +1 -7
  558. package/dist/collection/components/utils/input/validation.js.map +1 -1
  559. package/dist/collection/components/utils/lazy-list/lazy.js.map +1 -1
  560. package/dist/collection/components/utils/make-ref.js.map +1 -1
  561. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js +5 -1
  562. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
  563. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js +4 -1
  564. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js.map +1 -1
  565. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  566. package/dist/collection/components/validation-tooltip/validation-tooltip.js +7 -4
  567. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -1
  568. package/dist/collection/components/workflow-step/workflow-step.js +4 -3
  569. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  570. package/dist/collection/components/workflow-steps/test/workflow-steps.spec.js.map +1 -1
  571. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  572. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  573. package/dist/collection/setup.ct.js +18 -0
  574. package/dist/collection/setup.ct.js.map +1 -0
  575. package/dist/collection/setup.js +11 -1
  576. package/dist/collection/setup.js.map +1 -1
  577. package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
  578. package/dist/collection/tests/button/button.e2e.js.map +1 -1
  579. package/dist/collection/tests/card/card.e2e.js +6 -0
  580. package/dist/collection/tests/card/card.e2e.js.map +1 -1
  581. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js +3 -3
  582. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js.map +1 -1
  583. package/dist/collection/tests/date-input/date-input.e2e.js +17 -0
  584. package/dist/collection/tests/date-input/date-input.e2e.js.map +1 -0
  585. package/dist/collection/tests/expanding-search/expanding-search.e2e.js +1 -1
  586. package/dist/collection/tests/expanding-search/expanding-search.e2e.js.map +1 -1
  587. package/dist/collection/tests/icon-toggle-button/toggle-button.e2e.js.map +1 -1
  588. package/dist/collection/tests/input-common/input-common.e2e.js +27 -0
  589. package/dist/collection/tests/input-common/input-common.e2e.js.map +1 -0
  590. package/dist/collection/tests/menu/menu.e2e.js +11 -0
  591. package/dist/collection/tests/menu/menu.e2e.js.map +1 -1
  592. package/dist/collection/tests/push-card/push-card.e2e.js +6 -0
  593. package/dist/collection/tests/push-card/push-card.e2e.js.map +1 -1
  594. package/dist/collection/tests/toggle-button/toggle-button.e2e.js.map +1 -1
  595. package/dist/collection/tests/upload/upload.e2e.js +1 -1
  596. package/dist/collection/tests/upload/upload.e2e.js.map +1 -1
  597. package/dist/collection/tests/utils/test/page.js +37 -5
  598. package/dist/collection/tests/utils/test/page.js.map +1 -1
  599. package/dist/collection/tests/workflow-steps/workflow-steps.e2e.js +4 -3
  600. package/dist/collection/tests/workflow-steps/workflow-steps.e2e.js.map +1 -1
  601. package/dist/esm/a11y-b10c12e0.js.map +1 -1
  602. package/dist/esm/app-globals-c85c7809.js +7 -0
  603. package/dist/esm/{app-globals-40082a83.js.map → app-globals-c85c7809.js.map} +1 -1
  604. package/dist/esm/{index-7421df0c.js → index-f8425403.js} +5 -1
  605. package/dist/esm/index-f8425403.js.map +1 -0
  606. package/dist/esm/index.js +5 -1
  607. package/dist/esm/index.js.map +1 -1
  608. package/dist/esm/{input.util-c855b2ed.js → input.util-deca1217.js} +28 -4
  609. package/dist/esm/input.util-deca1217.js.map +1 -0
  610. package/dist/esm/ix-application-header.entry.js +21 -12
  611. package/dist/esm/ix-application-header.entry.js.map +1 -1
  612. package/dist/esm/ix-application-switch-modal.entry.js +1 -1
  613. package/dist/esm/ix-application-switch-modal.entry.js.map +1 -1
  614. package/dist/esm/ix-application.entry.js +7 -3
  615. package/dist/esm/ix-application.entry.js.map +1 -1
  616. package/dist/esm/ix-avatar_2.entry.js +1 -1
  617. package/dist/esm/ix-avatar_2.entry.js.map +1 -1
  618. package/dist/esm/ix-basic-navigation.entry.js +2 -2
  619. package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
  620. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  621. package/dist/esm/ix-button.entry.js +2 -2
  622. package/dist/esm/ix-button.entry.js.map +1 -1
  623. package/dist/esm/ix-card-accordion_2.entry.js +2 -2
  624. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  625. package/dist/esm/ix-card-list.entry.js +6 -6
  626. package/dist/esm/ix-card-list.entry.js.map +1 -1
  627. package/dist/esm/ix-card_2.entry.js +3 -3
  628. package/dist/esm/ix-card_2.entry.js.map +1 -1
  629. package/dist/esm/ix-category-filter.entry.js +4 -4
  630. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  631. package/dist/esm/ix-checkbox-group.entry.js +3 -3
  632. package/dist/esm/ix-checkbox.entry.js +6 -5
  633. package/dist/esm/ix-checkbox.entry.js.map +1 -1
  634. package/dist/esm/ix-chip.entry.js +5 -5
  635. package/dist/esm/ix-chip.entry.js.map +1 -1
  636. package/dist/esm/ix-col_4.entry.js +7 -7
  637. package/dist/esm/ix-col_4.entry.js.map +1 -1
  638. package/dist/esm/ix-content.entry.js +3 -3
  639. package/dist/esm/ix-css-grid-item.entry.js +1 -1
  640. package/dist/esm/ix-css-grid-item.entry.js.map +1 -1
  641. package/dist/esm/ix-custom-field.entry.js +2 -2
  642. package/dist/esm/ix-date-dropdown.entry.js +9 -5
  643. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  644. package/dist/esm/ix-date-input.entry.js +12 -12
  645. package/dist/esm/ix-date-input.entry.js.map +1 -1
  646. package/dist/esm/ix-divider.entry.js +1 -1
  647. package/dist/esm/ix-drawer.entry.js +2 -2
  648. package/dist/esm/ix-dropdown-header.entry.js +1 -1
  649. package/dist/esm/ix-dropdown-header.entry.js.map +1 -1
  650. package/dist/esm/ix-dropdown-item.entry.js +3 -3
  651. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  652. package/dist/esm/ix-dropdown.entry.js +2 -2
  653. package/dist/esm/ix-empty-state.entry.js +1 -1
  654. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  655. package/dist/esm/ix-event-list-item.entry.js +4 -4
  656. package/dist/esm/ix-event-list.entry.js +2 -2
  657. package/dist/esm/ix-expanding-search.entry.js +7 -4
  658. package/dist/esm/ix-expanding-search.entry.js.map +1 -1
  659. package/dist/esm/ix-field-label_3.entry.js +6 -6
  660. package/dist/esm/ix-filter-chip_2.entry.js +3 -3
  661. package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
  662. package/dist/esm/ix-flip-tile-content.entry.js +1 -1
  663. package/dist/esm/ix-flip-tile.entry.js +6 -5
  664. package/dist/esm/ix-flip-tile.entry.js.map +1 -1
  665. package/dist/esm/ix-group-context-menu_2.entry.js +3 -3
  666. package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
  667. package/dist/esm/ix-group.entry.js +8 -8
  668. package/dist/esm/ix-group.entry.js.map +1 -1
  669. package/dist/esm/ix-helper-text.entry.js +2 -2
  670. package/dist/esm/ix-icon-button_2.entry.js +5 -5
  671. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  672. package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
  673. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  674. package/dist/esm/ix-input-group.entry.js +1 -1
  675. package/dist/esm/ix-input-group.entry.js.map +1 -1
  676. package/dist/esm/ix-input.entry.js +14 -8
  677. package/dist/esm/ix-input.entry.js.map +1 -1
  678. package/dist/esm/ix-key-value-list.entry.js +2 -2
  679. package/dist/esm/ix-key-value-list.entry.js.map +1 -1
  680. package/dist/esm/ix-key-value.entry.js +1 -1
  681. package/dist/esm/ix-key-value.entry.js.map +1 -1
  682. package/dist/esm/ix-kpi.entry.js +3 -3
  683. package/dist/esm/ix-kpi.entry.js.map +1 -1
  684. package/dist/esm/ix-layout-auto.entry.js +1 -1
  685. package/dist/esm/ix-link-button.entry.js +3 -3
  686. package/dist/esm/ix-link-button.entry.js.map +1 -1
  687. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  688. package/dist/esm/ix-map-navigation-overlay.entry.js.map +1 -1
  689. package/dist/esm/ix-map-navigation.entry.js +4 -4
  690. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  691. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  692. package/dist/esm/ix-menu-about-item.entry.js.map +1 -1
  693. package/dist/esm/ix-menu-about-news.entry.js +4 -4
  694. package/dist/esm/ix-menu-about-news.entry.js.map +1 -1
  695. package/dist/esm/ix-menu-about.entry.js +2 -2
  696. package/dist/esm/ix-menu-about.entry.js.map +1 -1
  697. package/dist/esm/ix-menu-avatar.entry.js +2 -2
  698. package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
  699. package/dist/esm/ix-menu-category.entry.js +28 -13
  700. package/dist/esm/ix-menu-category.entry.js.map +1 -1
  701. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  702. package/dist/esm/ix-menu-expand-icon.entry.js.map +1 -1
  703. package/dist/esm/ix-menu-item.entry.js +3 -3
  704. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  705. package/dist/esm/ix-menu-settings-item.entry.js.map +1 -1
  706. package/dist/esm/ix-menu-settings.entry.js +1 -1
  707. package/dist/esm/ix-menu.entry.js +25 -17
  708. package/dist/esm/ix-menu.entry.js.map +1 -1
  709. package/dist/esm/ix-message-bar.entry.js +4 -2
  710. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  711. package/dist/esm/ix-modal-content_2.entry.js +2 -2
  712. package/dist/esm/ix-modal-footer.entry.js +1 -1
  713. package/dist/esm/ix-modal-loading.entry.js +1 -1
  714. package/dist/esm/ix-modal.entry.js +3 -3
  715. package/dist/esm/ix-modal.entry.js.map +1 -1
  716. package/dist/esm/ix-number-input.entry.js +16 -10
  717. package/dist/esm/ix-number-input.entry.js.map +1 -1
  718. package/dist/esm/ix-pagination.entry.js +8 -5
  719. package/dist/esm/ix-pagination.entry.js.map +1 -1
  720. package/dist/esm/ix-pane-layout.entry.js +1 -1
  721. package/dist/esm/ix-pill.entry.js +17 -7
  722. package/dist/esm/ix-pill.entry.js.map +1 -1
  723. package/dist/esm/ix-push-card.entry.js +1 -1
  724. package/dist/esm/ix-push-card.entry.js.map +1 -1
  725. package/dist/esm/ix-radio-group.entry.js +3 -3
  726. package/dist/esm/ix-radio.entry.js +6 -5
  727. package/dist/esm/ix-radio.entry.js.map +1 -1
  728. package/dist/esm/ix-select.entry.js +38 -18
  729. package/dist/esm/ix-select.entry.js.map +1 -1
  730. package/dist/esm/ix-split-button-item.entry.js +1 -1
  731. package/dist/esm/ix-split-button-item.entry.js.map +1 -1
  732. package/dist/esm/ix-split-button.entry.js +1 -1
  733. package/dist/esm/ix-split-button.entry.js.map +1 -1
  734. package/dist/esm/ix-tab-item_2.entry.js +2 -2
  735. package/dist/esm/ix-textarea.entry.js +4 -3
  736. package/dist/esm/ix-textarea.entry.js.map +1 -1
  737. package/dist/esm/ix-tile.entry.js +4 -4
  738. package/dist/esm/ix-tile.entry.js.map +1 -1
  739. package/dist/esm/ix-time-picker.entry.js +1 -1
  740. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  741. package/dist/esm/ix-toast-container.entry.js +10 -6
  742. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  743. package/dist/esm/ix-toast.entry.js +2 -2
  744. package/dist/esm/ix-toast.entry.js.map +1 -1
  745. package/dist/esm/ix-toggle-button.entry.js +2 -2
  746. package/dist/esm/ix-toggle-button.entry.js.map +1 -1
  747. package/dist/esm/ix-toggle.entry.js +3 -3
  748. package/dist/esm/ix-tree-item.entry.js +4 -4
  749. package/dist/esm/ix-tree.entry.js +1 -1
  750. package/dist/esm/ix-tree.entry.js.map +1 -1
  751. package/dist/esm/ix-upload.entry.js +3 -3
  752. package/dist/esm/ix-validation-tooltip.entry.js +5 -2
  753. package/dist/esm/ix-validation-tooltip.entry.js.map +1 -1
  754. package/dist/esm/ix-workflow-step.entry.js +4 -3
  755. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  756. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  757. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  758. package/dist/esm/loader.js +3 -3
  759. package/dist/esm/make-ref-4b76e9b5.js.map +1 -1
  760. package/dist/esm/{menu-tabs-fc-563a74d9.js → menu-tabs-fc-43b4155d.js} +11 -4
  761. package/dist/esm/menu-tabs-fc-43b4155d.js.map +1 -0
  762. package/dist/esm/{setup-9c5fe321.js → setup-3a3f57db.js} +12 -2
  763. package/dist/esm/setup-3a3f57db.js.map +1 -0
  764. package/dist/esm/shadow-dom-cc0bc152.js.map +1 -1
  765. package/dist/esm/siemens-ix.js +3 -3
  766. package/dist/esm/{validation-45aa490c.js → validation-54137eaa.js} +2 -8
  767. package/dist/esm/validation-54137eaa.js.map +1 -0
  768. package/dist/siemens-ix/index.esm.js +1 -1
  769. package/dist/siemens-ix/index.esm.js.map +1 -1
  770. package/dist/siemens-ix/{p-bd4c1a44.entry.js → p-03136fc0.entry.js} +2 -2
  771. package/dist/siemens-ix/p-03136fc0.entry.js.map +1 -0
  772. package/dist/siemens-ix/{p-22cba43a.entry.js → p-060d5c58.entry.js} +2 -2
  773. package/dist/siemens-ix/{p-475ac85f.entry.js → p-08168e53.entry.js} +2 -2
  774. package/dist/siemens-ix/{p-475ac85f.entry.js.map → p-08168e53.entry.js.map} +1 -1
  775. package/dist/siemens-ix/p-088ad2da.entry.js +2 -0
  776. package/dist/siemens-ix/p-088ad2da.entry.js.map +1 -0
  777. package/dist/siemens-ix/p-0c8a6f43.entry.js +2 -0
  778. package/dist/siemens-ix/{p-0be907d4.entry.js.map → p-0c8a6f43.entry.js.map} +1 -1
  779. package/dist/siemens-ix/{p-8457d846.entry.js → p-0cb18eff.entry.js} +2 -2
  780. package/dist/siemens-ix/p-0cb18eff.entry.js.map +1 -0
  781. package/dist/siemens-ix/{p-2a34a0c2.entry.js → p-0f44ccd1.entry.js} +2 -2
  782. package/dist/siemens-ix/{p-2a34a0c2.entry.js.map → p-0f44ccd1.entry.js.map} +1 -1
  783. package/dist/siemens-ix/p-14d038c6.entry.js +2 -0
  784. package/dist/siemens-ix/p-14d038c6.entry.js.map +1 -0
  785. package/dist/siemens-ix/{p-6722bcff.entry.js → p-16055d56.entry.js} +2 -2
  786. package/dist/siemens-ix/{p-6722bcff.entry.js.map → p-16055d56.entry.js.map} +1 -1
  787. package/dist/siemens-ix/p-177268f7.entry.js +2 -0
  788. package/dist/siemens-ix/p-177268f7.entry.js.map +1 -0
  789. package/dist/siemens-ix/{p-f97a15c4.js → p-186a1f30.js} +2 -2
  790. package/dist/siemens-ix/p-186a1f30.js.map +1 -0
  791. package/dist/siemens-ix/{p-42320fb3.entry.js → p-19d1c463.entry.js} +2 -2
  792. package/dist/siemens-ix/{p-2d3a6d29.entry.js → p-1bff0a1f.entry.js} +2 -2
  793. package/dist/siemens-ix/{p-8da941cd.entry.js → p-1c74bd8b.entry.js} +2 -2
  794. package/dist/siemens-ix/{p-8da941cd.entry.js.map → p-1c74bd8b.entry.js.map} +1 -1
  795. package/dist/siemens-ix/{p-a4dc6824.entry.js → p-1d545640.entry.js} +2 -2
  796. package/dist/siemens-ix/p-1d545640.entry.js.map +1 -0
  797. package/dist/siemens-ix/p-21a8aeaf.js +2 -0
  798. package/dist/siemens-ix/p-21a8aeaf.js.map +1 -0
  799. package/dist/siemens-ix/p-227b0ddd.entry.js +2 -0
  800. package/dist/siemens-ix/p-227b0ddd.entry.js.map +1 -0
  801. package/dist/siemens-ix/{p-63dd987f.entry.js → p-22fc61c9.entry.js} +2 -2
  802. package/dist/siemens-ix/p-22fc61c9.entry.js.map +1 -0
  803. package/dist/siemens-ix/{p-ede52531.entry.js → p-2396b68a.entry.js} +2 -2
  804. package/dist/siemens-ix/p-2396b68a.entry.js.map +1 -0
  805. package/dist/siemens-ix/{p-b2a06e46.entry.js → p-27befdd7.entry.js} +2 -2
  806. package/dist/siemens-ix/p-27befdd7.entry.js.map +1 -0
  807. package/dist/siemens-ix/{p-286feb7e.entry.js → p-297cd68a.entry.js} +2 -2
  808. package/dist/siemens-ix/{p-6bae4e9b.entry.js → p-2f29e208.entry.js} +2 -2
  809. package/dist/siemens-ix/{p-6bae4e9b.entry.js.map → p-2f29e208.entry.js.map} +1 -1
  810. package/dist/siemens-ix/p-309b82ec.entry.js +2 -0
  811. package/dist/siemens-ix/{p-4ec6ddfb.entry.js → p-30a24560.entry.js} +2 -2
  812. package/dist/siemens-ix/p-30a24560.entry.js.map +1 -0
  813. package/dist/siemens-ix/{p-37af7117.entry.js → p-327a1655.entry.js} +2 -2
  814. package/dist/siemens-ix/p-327a1655.entry.js.map +1 -0
  815. package/dist/siemens-ix/p-345e1c73.js.map +1 -1
  816. package/dist/siemens-ix/{p-6624076c.entry.js → p-353f081a.entry.js} +2 -2
  817. package/dist/siemens-ix/p-37eadb06.entry.js +2 -0
  818. package/dist/siemens-ix/{p-ffca56d6.entry.js.map → p-37eadb06.entry.js.map} +1 -1
  819. package/dist/siemens-ix/{p-dfb181c1.entry.js → p-37f1d0ed.entry.js} +2 -2
  820. package/dist/siemens-ix/p-37f1d0ed.entry.js.map +1 -0
  821. package/dist/siemens-ix/{p-5c1b136c.entry.js → p-388b9368.entry.js} +2 -2
  822. package/dist/siemens-ix/{p-5c1b136c.entry.js.map → p-388b9368.entry.js.map} +1 -1
  823. package/dist/siemens-ix/{p-d929f23d.entry.js → p-3fd2bacd.entry.js} +2 -2
  824. package/dist/siemens-ix/{p-d929f23d.entry.js.map → p-3fd2bacd.entry.js.map} +1 -1
  825. package/dist/siemens-ix/{p-ee0645f8.entry.js → p-40da22b1.entry.js} +2 -2
  826. package/dist/siemens-ix/p-40da22b1.entry.js.map +1 -0
  827. package/dist/siemens-ix/{p-4cc79e8f.entry.js → p-44425604.entry.js} +2 -2
  828. package/dist/siemens-ix/{p-05839c77.entry.js → p-48d6554c.entry.js} +2 -2
  829. package/dist/siemens-ix/p-49ca9211.entry.js +2 -0
  830. package/dist/siemens-ix/{p-fe396297.entry.js.map → p-49ca9211.entry.js.map} +1 -1
  831. package/dist/siemens-ix/{p-0b2f0536.entry.js → p-4cb35508.entry.js} +2 -2
  832. package/dist/siemens-ix/p-4e51d716.entry.js.map +1 -1
  833. package/dist/siemens-ix/p-559cdf73.js +2 -0
  834. package/dist/siemens-ix/p-559cdf73.js.map +1 -0
  835. package/dist/siemens-ix/p-5767345b.entry.js +2 -0
  836. package/dist/siemens-ix/p-5b86301e.js +2 -0
  837. package/dist/siemens-ix/p-5b86301e.js.map +1 -0
  838. package/dist/siemens-ix/p-5fe87e71.js.map +1 -1
  839. package/dist/siemens-ix/{p-cbfca958.entry.js → p-617b3d78.entry.js} +2 -2
  840. package/dist/siemens-ix/{p-654f91f2.entry.js → p-623297ef.entry.js} +2 -2
  841. package/dist/siemens-ix/p-623297ef.entry.js.map +1 -0
  842. package/dist/siemens-ix/p-637df471.entry.js +2 -0
  843. package/dist/siemens-ix/p-637df471.entry.js.map +1 -0
  844. package/dist/siemens-ix/p-6635972c.entry.js +2 -0
  845. package/dist/siemens-ix/p-6635972c.entry.js.map +1 -0
  846. package/dist/siemens-ix/{p-48718dc1.entry.js → p-67209151.entry.js} +2 -2
  847. package/dist/siemens-ix/p-67209151.entry.js.map +1 -0
  848. package/dist/siemens-ix/{p-1c5ebea3.entry.js → p-676a4bd0.entry.js} +2 -2
  849. package/dist/siemens-ix/{p-1c5ebea3.entry.js.map → p-676a4bd0.entry.js.map} +1 -1
  850. package/dist/siemens-ix/{p-bfe469e4.entry.js → p-6af64cf4.entry.js} +2 -2
  851. package/dist/siemens-ix/{p-bfe469e4.entry.js.map → p-6af64cf4.entry.js.map} +1 -1
  852. package/dist/siemens-ix/{p-392b4297.entry.js → p-6b84501c.entry.js} +2 -2
  853. package/dist/siemens-ix/{p-392b4297.entry.js.map → p-6b84501c.entry.js.map} +1 -1
  854. package/dist/siemens-ix/{p-484aa96b.js → p-6ccf39dd.js} +2 -2
  855. package/dist/siemens-ix/p-6ccf39dd.js.map +1 -0
  856. package/dist/siemens-ix/{p-66178fe6.entry.js → p-6f3b0a66.entry.js} +2 -2
  857. package/dist/siemens-ix/{p-66178fe6.entry.js.map → p-6f3b0a66.entry.js.map} +1 -1
  858. package/dist/siemens-ix/{p-edc1d44a.entry.js → p-6f970ba4.entry.js} +2 -2
  859. package/dist/siemens-ix/p-6f970ba4.entry.js.map +1 -0
  860. package/dist/siemens-ix/{p-af7c4b16.entry.js → p-71a4590c.entry.js} +2 -2
  861. package/dist/siemens-ix/{p-be860121.entry.js → p-790709c5.entry.js} +2 -2
  862. package/dist/siemens-ix/p-790709c5.entry.js.map +1 -0
  863. package/dist/siemens-ix/{p-d9b654af.entry.js → p-7b65535a.entry.js} +2 -2
  864. package/dist/siemens-ix/p-7b65535a.entry.js.map +1 -0
  865. package/dist/siemens-ix/{p-e7ac5657.entry.js → p-7e91e565.entry.js} +2 -2
  866. package/dist/siemens-ix/p-7e91e565.entry.js.map +1 -0
  867. package/dist/siemens-ix/p-8039ec6b.entry.js +2 -0
  868. package/dist/siemens-ix/p-8039ec6b.entry.js.map +1 -0
  869. package/dist/siemens-ix/p-8964b303.entry.js +2 -0
  870. package/dist/siemens-ix/p-8964b303.entry.js.map +1 -0
  871. package/dist/siemens-ix/p-89734934.js +2 -0
  872. package/dist/siemens-ix/{p-d2f21544.js.map → p-89734934.js.map} +1 -1
  873. package/dist/siemens-ix/{p-b74a8cdc.entry.js → p-8a6d403c.entry.js} +2 -2
  874. package/dist/siemens-ix/p-8a6d403c.entry.js.map +1 -0
  875. package/dist/siemens-ix/{p-afb4565c.entry.js → p-8df3318f.entry.js} +2 -2
  876. package/dist/siemens-ix/p-8df3318f.entry.js.map +1 -0
  877. package/dist/siemens-ix/p-8efd9181.entry.js +2 -0
  878. package/dist/siemens-ix/p-8efd9181.entry.js.map +1 -0
  879. package/dist/siemens-ix/{p-d0b38ae2.entry.js → p-9213afda.entry.js} +2 -2
  880. package/dist/siemens-ix/{p-d0b38ae2.entry.js.map → p-9213afda.entry.js.map} +1 -1
  881. package/dist/siemens-ix/p-93fab3c7.entry.js +2 -0
  882. package/dist/siemens-ix/{p-c236cf18.entry.js.map → p-93fab3c7.entry.js.map} +1 -1
  883. package/dist/siemens-ix/{p-b62f8f62.entry.js → p-988ca463.entry.js} +2 -2
  884. package/dist/siemens-ix/{p-83da8f11.entry.js → p-9c63869a.entry.js} +2 -2
  885. package/dist/siemens-ix/p-9dd344d4.entry.js +2 -0
  886. package/dist/siemens-ix/{p-2643f32a.entry.js.map → p-9dd344d4.entry.js.map} +1 -1
  887. package/dist/siemens-ix/{p-815699d1.entry.js → p-9df683f8.entry.js} +2 -2
  888. package/dist/siemens-ix/p-9df683f8.entry.js.map +1 -0
  889. package/dist/siemens-ix/{p-c530de51.entry.js → p-a36ee7b7.entry.js} +2 -2
  890. package/dist/siemens-ix/p-a36ee7b7.entry.js.map +1 -0
  891. package/dist/siemens-ix/p-aac089f0.entry.js +2 -0
  892. package/dist/siemens-ix/p-aac089f0.entry.js.map +1 -0
  893. package/dist/siemens-ix/p-ac9bb8be.entry.js +2 -0
  894. package/dist/siemens-ix/{p-9f960c0b.entry.js → p-af565741.entry.js} +2 -2
  895. package/dist/siemens-ix/p-af565741.entry.js.map +1 -0
  896. package/dist/siemens-ix/p-b00f255c.entry.js +2 -0
  897. package/dist/siemens-ix/{p-a36ad7c7.entry.js → p-b8b7aa8e.entry.js} +2 -2
  898. package/dist/siemens-ix/{p-97d4b3bd.entry.js → p-ba1aeecb.entry.js} +2 -2
  899. package/dist/siemens-ix/p-ba1aeecb.entry.js.map +1 -0
  900. package/dist/siemens-ix/{p-df7060ae.entry.js → p-ba60132f.entry.js} +2 -2
  901. package/dist/siemens-ix/{p-54efe56b.entry.js → p-bb33784f.entry.js} +2 -2
  902. package/dist/siemens-ix/{p-2d7ea063.entry.js → p-bb99415f.entry.js} +2 -2
  903. package/dist/siemens-ix/p-bb99415f.entry.js.map +1 -0
  904. package/dist/siemens-ix/{p-2db63240.entry.js → p-bc05aafe.entry.js} +2 -2
  905. package/dist/siemens-ix/p-bc05aafe.entry.js.map +1 -0
  906. package/dist/siemens-ix/{p-d19b52bd.entry.js → p-bf01468d.entry.js} +2 -2
  907. package/dist/siemens-ix/{p-8c2b62c3.entry.js → p-c272dbbd.entry.js} +2 -2
  908. package/dist/siemens-ix/p-c272dbbd.entry.js.map +1 -0
  909. package/dist/siemens-ix/p-c4b75f38.entry.js +2 -0
  910. package/dist/siemens-ix/{p-caf49e00.entry.js → p-c7c8e52b.entry.js} +2 -2
  911. package/dist/siemens-ix/{p-57e60a06.entry.js → p-ca95654f.entry.js} +2 -2
  912. package/dist/siemens-ix/{p-57e60a06.entry.js.map → p-ca95654f.entry.js.map} +1 -1
  913. package/dist/siemens-ix/p-ce563a48.js.map +1 -1
  914. package/dist/siemens-ix/{p-3f367d44.entry.js → p-d489e0b3.entry.js} +2 -2
  915. package/dist/siemens-ix/{p-3f367d44.entry.js.map → p-d489e0b3.entry.js.map} +1 -1
  916. package/dist/siemens-ix/p-d70eb520.entry.js +2 -0
  917. package/dist/siemens-ix/p-d70eb520.entry.js.map +1 -0
  918. package/dist/siemens-ix/p-d8c93983.entry.js +2 -0
  919. package/dist/siemens-ix/{p-243e8b32.entry.js.map → p-d8c93983.entry.js.map} +1 -1
  920. package/dist/siemens-ix/{p-9d323232.entry.js → p-d9b3c267.entry.js} +2 -2
  921. package/dist/siemens-ix/{p-9d323232.entry.js.map → p-d9b3c267.entry.js.map} +1 -1
  922. package/dist/siemens-ix/{p-5fbdff13.entry.js → p-dcc76d47.entry.js} +2 -2
  923. package/dist/siemens-ix/{p-0f2bf43d.entry.js → p-e09995d4.entry.js} +2 -2
  924. package/dist/siemens-ix/{p-0b5c9f33.entry.js → p-e1e48602.entry.js} +2 -2
  925. package/dist/siemens-ix/p-ebfaeb95.entry.js +2 -0
  926. package/dist/siemens-ix/{p-c6796e64.entry.js.map → p-ebfaeb95.entry.js.map} +1 -1
  927. package/dist/siemens-ix/{p-bc272f75.entry.js → p-f023b24b.entry.js} +2 -2
  928. package/dist/siemens-ix/p-f023b24b.entry.js.map +1 -0
  929. package/dist/siemens-ix/p-f5ccceb6.entry.js +2 -0
  930. package/dist/siemens-ix/p-f5ccceb6.entry.js.map +1 -0
  931. package/dist/siemens-ix/p-f815f96e.entry.js +2 -0
  932. package/dist/siemens-ix/p-f815f96e.entry.js.map +1 -0
  933. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  934. package/dist/siemens-ix/siemens-ix.css +3 -3
  935. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  936. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  937. package/dist/types/components/application/application.d.ts +4 -4
  938. package/dist/types/components/application-header/application-header.d.ts +8 -2
  939. package/dist/types/components/application-header/application-switch-modal/application-switch-modal.d.ts +1 -1
  940. package/dist/types/components/application-sidebar/events.d.ts +2 -2
  941. package/dist/types/components/basic-navigation/basic-navigation.d.ts +3 -3
  942. package/dist/types/components/blind/blind.d.ts +1 -1
  943. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +2 -2
  944. package/dist/types/components/button/base-button.d.ts +1 -1
  945. package/dist/types/components/button/button-component.d.ts +31 -0
  946. package/dist/types/components/button/button.d.ts +2 -1
  947. package/dist/types/components/card-accordion/card-accordion.d.ts +1 -1
  948. package/dist/types/components/category-filter/category-filter.d.ts +1 -1
  949. package/dist/types/components/chip/chip.d.ts +2 -2
  950. package/dist/types/components/date-dropdown/date-dropdown.d.ts +19 -1
  951. package/dist/types/components/date-input/date-input.d.ts +1 -1
  952. package/dist/types/components/date-picker/date-picker.d.ts +2 -2
  953. package/dist/types/components/dropdown/dropdown-controller.d.ts +2 -2
  954. package/dist/types/components/dropdown/dropdown.d.ts +1 -1
  955. package/dist/types/components/dropdown-header/dropdown-header.d.ts +1 -1
  956. package/dist/types/components/empty-state/empty-state.d.ts +3 -3
  957. package/dist/types/components/expanding-search/expanding-search.d.ts +15 -1
  958. package/dist/types/components/field-wrapper/helper-text-util.d.ts +1 -1
  959. package/dist/types/components/filter-chip/filter-chip.d.ts +1 -1
  960. package/dist/types/components/flip-tile/flip-tile.d.ts +2 -2
  961. package/dist/types/components/group/group.d.ts +1 -1
  962. package/dist/types/components/icon-button/icon-button.d.ts +4 -4
  963. package/dist/types/components/icon-toggle-button/icon-toggle-button.d.ts +1 -1
  964. package/dist/types/components/input/input.d.ts +3 -1
  965. package/dist/types/components/input/input.util.d.ts +2 -0
  966. package/dist/types/components/input/number-input.d.ts +3 -1
  967. package/dist/types/components/input/tests/validation.ct.d.ts +1 -0
  968. package/dist/types/components/input-group/input-group.d.ts +1 -1
  969. package/dist/types/components/key-value/key-value.d.ts +2 -2
  970. package/dist/types/components/kpi/kpi.d.ts +3 -3
  971. package/dist/types/components/link-button/link-button.d.ts +1 -1
  972. package/dist/types/components/map-navigation/map-navigation.d.ts +2 -2
  973. package/dist/types/components/map-navigation-overlay/map-navigation-overlay.d.ts +4 -4
  974. package/dist/types/components/menu/menu-expand-icon.d.ts +1 -1
  975. package/dist/types/components/menu/menu.d.ts +12 -5
  976. package/dist/types/components/menu-about/menu-about.d.ts +1 -1
  977. package/dist/types/components/menu-about-item/menu-about-item.d.ts +1 -1
  978. package/dist/types/components/menu-about-news/menu-about-news.d.ts +2 -2
  979. package/dist/types/components/menu-avatar/menu-avatar.d.ts +4 -4
  980. package/dist/types/components/menu-avatar-item/menu-avatar-item.d.ts +3 -3
  981. package/dist/types/components/menu-category/menu-category.d.ts +6 -6
  982. package/dist/types/components/menu-settings/menu-settings.d.ts +1 -1
  983. package/dist/types/components/menu-settings-item/menu-settings-item.d.ts +1 -1
  984. package/dist/types/components/message-bar/message-bar.d.ts +2 -2
  985. package/dist/types/components/modal/modal.d.ts +2 -2
  986. package/dist/types/components/pane/pane.d.ts +1 -1
  987. package/dist/types/components/pill/pill.d.ts +6 -2
  988. package/dist/types/components/pill/tests/pill.ct.d.ts +1 -0
  989. package/dist/types/components/select/select.d.ts +16 -1
  990. package/dist/types/components/select/test/select-keyboard.ct.d.ts +1 -0
  991. package/dist/types/components/select-item/select-item.d.ts +1 -1
  992. package/dist/types/components/slider/slider.d.ts +1 -1
  993. package/dist/types/components/split-button/split-button.d.ts +3 -3
  994. package/dist/types/components/split-button-item/split-button-item.d.ts +2 -2
  995. package/dist/types/components/tabs/tabs.d.ts +1 -1
  996. package/dist/types/components/time-picker/time-picker.d.ts +1 -1
  997. package/dist/types/components/toast/toast.d.ts +3 -3
  998. package/dist/types/components/toggle-button/toggle-button.d.ts +1 -1
  999. package/dist/types/components/tree/tree.d.ts +1 -1
  1000. package/dist/types/components/utils/a11y.d.ts +1 -1
  1001. package/dist/types/components/utils/application-layout/context.d.ts +3 -3
  1002. package/dist/types/components/utils/application-layout/service.d.ts +1 -1
  1003. package/dist/types/components/utils/context.d.ts +2 -2
  1004. package/dist/types/components/utils/find-element.d.ts +1 -1
  1005. package/dist/types/components/utils/lazy-list/lazy.d.ts +1 -1
  1006. package/dist/types/components/utils/make-ref.d.ts +1 -1
  1007. package/dist/types/components/utils/menu-service/menu-service.d.ts +1 -1
  1008. package/dist/types/components/utils/modal/message.d.ts +5 -5
  1009. package/dist/types/components/utils/shadow-dom.d.ts +2 -2
  1010. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +7 -7
  1011. package/dist/types/components/workflow-steps/workflow-steps.d.ts +1 -1
  1012. package/dist/types/components.d.ts +147 -59
  1013. package/dist/types/setup.ct.d.ts +1 -0
  1014. package/dist/types/setup.d.ts +1 -0
  1015. package/dist/types/tests/utils/test/index.d.ts +1 -1
  1016. package/dist/types/tests/utils/test/page.d.ts +12 -2
  1017. package/hydrate/index.js +429 -295
  1018. package/package.json +3 -4
  1019. package/scss/components/form/_input.scss +4 -1
  1020. package/dist/cjs/index-492e6488.js.map +0 -1
  1021. package/dist/cjs/input.util-54d161e6.js.map +0 -1
  1022. package/dist/cjs/menu-tabs-fc-eb899b0d.js.map +0 -1
  1023. package/dist/cjs/setup-cc07fbfc.js.map +0 -1
  1024. package/dist/cjs/validation-1e3dd5ee.js.map +0 -1
  1025. package/dist/esm/app-globals-40082a83.js +0 -7
  1026. package/dist/esm/index-7421df0c.js.map +0 -1
  1027. package/dist/esm/input.util-c855b2ed.js.map +0 -1
  1028. package/dist/esm/menu-tabs-fc-563a74d9.js.map +0 -1
  1029. package/dist/esm/setup-9c5fe321.js.map +0 -1
  1030. package/dist/esm/validation-45aa490c.js.map +0 -1
  1031. package/dist/siemens-ix/p-08463669.entry.js +0 -2
  1032. package/dist/siemens-ix/p-08463669.entry.js.map +0 -1
  1033. package/dist/siemens-ix/p-0be907d4.entry.js +0 -2
  1034. package/dist/siemens-ix/p-18542846.entry.js +0 -2
  1035. package/dist/siemens-ix/p-18542846.entry.js.map +0 -1
  1036. package/dist/siemens-ix/p-20938f73.entry.js +0 -2
  1037. package/dist/siemens-ix/p-20938f73.entry.js.map +0 -1
  1038. package/dist/siemens-ix/p-243e8b32.entry.js +0 -2
  1039. package/dist/siemens-ix/p-2643f32a.entry.js +0 -2
  1040. package/dist/siemens-ix/p-2b367b12.entry.js +0 -2
  1041. package/dist/siemens-ix/p-2b367b12.entry.js.map +0 -1
  1042. package/dist/siemens-ix/p-2b9c5f59.entry.js +0 -2
  1043. package/dist/siemens-ix/p-2d7ea063.entry.js.map +0 -1
  1044. package/dist/siemens-ix/p-2db63240.entry.js.map +0 -1
  1045. package/dist/siemens-ix/p-37af7117.entry.js.map +0 -1
  1046. package/dist/siemens-ix/p-3aaecbd9.js +0 -2
  1047. package/dist/siemens-ix/p-3aaecbd9.js.map +0 -1
  1048. package/dist/siemens-ix/p-40dc610f.entry.js +0 -2
  1049. package/dist/siemens-ix/p-40dc610f.entry.js.map +0 -1
  1050. package/dist/siemens-ix/p-451551d1.js +0 -2
  1051. package/dist/siemens-ix/p-451551d1.js.map +0 -1
  1052. package/dist/siemens-ix/p-484aa96b.js.map +0 -1
  1053. package/dist/siemens-ix/p-48718dc1.entry.js.map +0 -1
  1054. package/dist/siemens-ix/p-4a631d9c.entry.js +0 -2
  1055. package/dist/siemens-ix/p-4a631d9c.entry.js.map +0 -1
  1056. package/dist/siemens-ix/p-4a9330a5.entry.js +0 -2
  1057. package/dist/siemens-ix/p-4a9330a5.entry.js.map +0 -1
  1058. package/dist/siemens-ix/p-4ec6ddfb.entry.js.map +0 -1
  1059. package/dist/siemens-ix/p-52928e21.entry.js +0 -2
  1060. package/dist/siemens-ix/p-52928e21.entry.js.map +0 -1
  1061. package/dist/siemens-ix/p-53fd545a.entry.js +0 -2
  1062. package/dist/siemens-ix/p-53fd545a.entry.js.map +0 -1
  1063. package/dist/siemens-ix/p-63dd987f.entry.js.map +0 -1
  1064. package/dist/siemens-ix/p-654f91f2.entry.js.map +0 -1
  1065. package/dist/siemens-ix/p-66559451.entry.js +0 -2
  1066. package/dist/siemens-ix/p-6e3f1de3.entry.js +0 -2
  1067. package/dist/siemens-ix/p-6e3f1de3.entry.js.map +0 -1
  1068. package/dist/siemens-ix/p-7aa07d9b.entry.js +0 -2
  1069. package/dist/siemens-ix/p-7af324e9.entry.js +0 -2
  1070. package/dist/siemens-ix/p-7af324e9.entry.js.map +0 -1
  1071. package/dist/siemens-ix/p-815699d1.entry.js.map +0 -1
  1072. package/dist/siemens-ix/p-8457d846.entry.js.map +0 -1
  1073. package/dist/siemens-ix/p-897c8e5b.entry.js +0 -2
  1074. package/dist/siemens-ix/p-897c8e5b.entry.js.map +0 -1
  1075. package/dist/siemens-ix/p-8c2b62c3.entry.js.map +0 -1
  1076. package/dist/siemens-ix/p-97d4b3bd.entry.js.map +0 -1
  1077. package/dist/siemens-ix/p-9f960c0b.entry.js.map +0 -1
  1078. package/dist/siemens-ix/p-a4dc6824.entry.js.map +0 -1
  1079. package/dist/siemens-ix/p-a61ed462.entry.js +0 -2
  1080. package/dist/siemens-ix/p-afb4565c.entry.js.map +0 -1
  1081. package/dist/siemens-ix/p-b2a06e46.entry.js.map +0 -1
  1082. package/dist/siemens-ix/p-b74a8cdc.entry.js.map +0 -1
  1083. package/dist/siemens-ix/p-bc272f75.entry.js.map +0 -1
  1084. package/dist/siemens-ix/p-bd4c1a44.entry.js.map +0 -1
  1085. package/dist/siemens-ix/p-be860121.entry.js.map +0 -1
  1086. package/dist/siemens-ix/p-c07557b0.entry.js +0 -2
  1087. package/dist/siemens-ix/p-c07557b0.entry.js.map +0 -1
  1088. package/dist/siemens-ix/p-c236cf18.entry.js +0 -2
  1089. package/dist/siemens-ix/p-c3ca17fc.js +0 -2
  1090. package/dist/siemens-ix/p-c3ca17fc.js.map +0 -1
  1091. package/dist/siemens-ix/p-c530de51.entry.js.map +0 -1
  1092. package/dist/siemens-ix/p-c6796e64.entry.js +0 -2
  1093. package/dist/siemens-ix/p-d01f05cf.entry.js +0 -2
  1094. package/dist/siemens-ix/p-d2f21544.js +0 -2
  1095. package/dist/siemens-ix/p-d9b654af.entry.js.map +0 -1
  1096. package/dist/siemens-ix/p-dfb181c1.entry.js.map +0 -1
  1097. package/dist/siemens-ix/p-e7ac5657.entry.js.map +0 -1
  1098. package/dist/siemens-ix/p-edc1d44a.entry.js.map +0 -1
  1099. package/dist/siemens-ix/p-ede52531.entry.js.map +0 -1
  1100. package/dist/siemens-ix/p-ee0645f8.entry.js.map +0 -1
  1101. package/dist/siemens-ix/p-f97a15c4.js.map +0 -1
  1102. package/dist/siemens-ix/p-fe396297.entry.js +0 -2
  1103. package/dist/siemens-ix/p-ffca56d6.entry.js +0 -2
  1104. /package/dist/siemens-ix/{p-22cba43a.entry.js.map → p-060d5c58.entry.js.map} +0 -0
  1105. /package/dist/siemens-ix/{p-42320fb3.entry.js.map → p-19d1c463.entry.js.map} +0 -0
  1106. /package/dist/siemens-ix/{p-2d3a6d29.entry.js.map → p-1bff0a1f.entry.js.map} +0 -0
  1107. /package/dist/siemens-ix/{p-286feb7e.entry.js.map → p-297cd68a.entry.js.map} +0 -0
  1108. /package/dist/siemens-ix/{p-2b9c5f59.entry.js.map → p-309b82ec.entry.js.map} +0 -0
  1109. /package/dist/siemens-ix/{p-6624076c.entry.js.map → p-353f081a.entry.js.map} +0 -0
  1110. /package/dist/siemens-ix/{p-4cc79e8f.entry.js.map → p-44425604.entry.js.map} +0 -0
  1111. /package/dist/siemens-ix/{p-05839c77.entry.js.map → p-48d6554c.entry.js.map} +0 -0
  1112. /package/dist/siemens-ix/{p-0b2f0536.entry.js.map → p-4cb35508.entry.js.map} +0 -0
  1113. /package/dist/siemens-ix/{p-a61ed462.entry.js.map → p-5767345b.entry.js.map} +0 -0
  1114. /package/dist/siemens-ix/{p-cbfca958.entry.js.map → p-617b3d78.entry.js.map} +0 -0
  1115. /package/dist/siemens-ix/{p-af7c4b16.entry.js.map → p-71a4590c.entry.js.map} +0 -0
  1116. /package/dist/siemens-ix/{p-b62f8f62.entry.js.map → p-988ca463.entry.js.map} +0 -0
  1117. /package/dist/siemens-ix/{p-83da8f11.entry.js.map → p-9c63869a.entry.js.map} +0 -0
  1118. /package/dist/siemens-ix/{p-7aa07d9b.entry.js.map → p-ac9bb8be.entry.js.map} +0 -0
  1119. /package/dist/siemens-ix/{p-d01f05cf.entry.js.map → p-b00f255c.entry.js.map} +0 -0
  1120. /package/dist/siemens-ix/{p-a36ad7c7.entry.js.map → p-b8b7aa8e.entry.js.map} +0 -0
  1121. /package/dist/siemens-ix/{p-df7060ae.entry.js.map → p-ba60132f.entry.js.map} +0 -0
  1122. /package/dist/siemens-ix/{p-54efe56b.entry.js.map → p-bb33784f.entry.js.map} +0 -0
  1123. /package/dist/siemens-ix/{p-d19b52bd.entry.js.map → p-bf01468d.entry.js.map} +0 -0
  1124. /package/dist/siemens-ix/{p-66559451.entry.js.map → p-c4b75f38.entry.js.map} +0 -0
  1125. /package/dist/siemens-ix/{p-caf49e00.entry.js.map → p-c7c8e52b.entry.js.map} +0 -0
  1126. /package/dist/siemens-ix/{p-5fbdff13.entry.js.map → p-dcc76d47.entry.js.map} +0 -0
  1127. /package/dist/siemens-ix/{p-0f2bf43d.entry.js.map → p-e09995d4.entry.js.map} +0 -0
  1128. /package/dist/siemens-ix/{p-0b5c9f33.entry.js.map → p-e1e48602.entry.js.map} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { h } from '@stencil/core/internal/client';
2
2
  import { a as a11yBoolean } from './a11y.js';
3
3
  import { s as shouldSuppressInternalValidation } from './validation.js';
4
+ import { c as createMutationObserver } from './mutation-observer.js';
4
5
  import { a as convertToRemString } from './rwd.util.js';
5
6
  import { a as anime } from './anime.es.js';
6
7
 
@@ -116,7 +117,7 @@ async function checkInternalValidity(comp, input) {
116
117
  return;
117
118
  }
118
119
  const { valid } = validityState;
119
- comp.hostElement.classList.toggle('ix-invalid', !valid);
120
+ comp.hostElement.classList.toggle('ix-invalid--validity-invalid', !valid);
120
121
  }
121
122
  function onInputBlur(comp, input) {
122
123
  comp.ixBlur.emit();
@@ -171,7 +172,30 @@ function getAriaAttributesForInput(component) {
171
172
  }
172
173
  return inputAria;
173
174
  }
175
+ const addDisposableChangesAndVisibilityObservers = (element, callback) => {
176
+ const intersectionObserver = observeElementUntilVisible(element, callback);
177
+ const mutationObserver = createMutationObserver(callback);
178
+ mutationObserver.observe(element, {
179
+ subtree: true,
180
+ attributes: true,
181
+ });
182
+ return () => {
183
+ intersectionObserver.disconnect();
184
+ mutationObserver.disconnect();
185
+ };
186
+ };
187
+ function observeElementUntilVisible(hostElement, updateCallback) {
188
+ const intersectionObserver = new IntersectionObserver((entries) => {
189
+ entries.forEach((entry) => {
190
+ if (entry.isIntersecting) {
191
+ updateCallback();
192
+ }
193
+ });
194
+ });
195
+ intersectionObserver.observe(hostElement);
196
+ return intersectionObserver;
197
+ }
174
198
 
175
- export { InputElement as I, SlotStart as S, TextareaElement as T, adjustPaddingForStartAndEnd as a, SlotEnd as b, checkAllowedKeys as c, checkInternalValidity as d, getAriaAttributesForInput as g, mapValidationResult as m, onInputBlur as o };
199
+ export { InputElement as I, SlotStart as S, TextareaElement as T, addDisposableChangesAndVisibilityObservers as a, adjustPaddingForStartAndEnd as b, SlotEnd as c, checkAllowedKeys as d, checkInternalValidity as e, getAriaAttributesForInput as g, mapValidationResult as m, onInputBlur as o };
176
200
 
177
201
  //# sourceMappingURL=input.util.js.map
@@ -1 +1 @@
1
- {"file":"input.util.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
+ {"file":"input.util.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 { createMutationObserver } from '../utils/mutation-observer';\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--validity-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\nexport type DisposableChangesAndVisibilityObservers = () => void;\n\nexport const addDisposableChangesAndVisibilityObservers = (\n element: HTMLElement,\n callback: () => void\n): DisposableChangesAndVisibilityObservers => {\n const intersectionObserver = observeElementUntilVisible(element, callback);\n const mutationObserver = createMutationObserver(callback);\n\n mutationObserver.observe(element, {\n subtree: true,\n attributes: true,\n });\n\n return () => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n };\n};\n\nfunction observeElementUntilVisible(\n hostElement: HTMLElement,\n updateCallback: () => void\n): IntersectionObserver {\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n updateCallback();\n }\n });\n });\n\n intersectionObserver.observe(hostElement);\n return intersectionObserver;\n}\n"],"version":3}
@@ -47,7 +47,7 @@ const ApplicationSwitchModal = /*@__PURE__*/ proxyCustomElement(class Applicatio
47
47
  }
48
48
  render() {
49
49
  var _a, _b, _c, _d;
50
- return (h(Host, { key: 'caf7fe96f12fdef398b1316120127157463703e0' }, h("ix-modal-header", { key: '17031f7879a38d312f9520555dae9879d35cdb65', icon: "apps" }, ((_a = this.config) === null || _a === void 0 ? void 0 : _a.i18nAppSwitch) || 'Switch to application'), h("ix-modal-content", { key: '1664cb4c2b142d8bcd84f723a11016ee883a3684', class: "content" }, h("div", { key: '85d188516ccf77964b47a9592bdb05c872d2c9c8', class: "content-apps" }, (!this.config || ((_b = this.config) === null || _b === void 0 ? void 0 : _b.apps.length) === 0) && (h("div", { key: 'd5b97278041f3c268774ce1345847d3688728931', class: "loading" }, h("ix-spinner", { key: '0b2e26ebb92bc0263bb78fa6a9757a2cf67a59df', size: "medium", variant: "primary" }), h("span", { key: '75845935e375bd8f2ea3e68562acb7fadd3d33b5' }, ((_c = this.config) === null || _c === void 0 ? void 0 : _c.i18nLoadingApps) ||
50
+ return (h(Host, { key: 'dad36a353095fd4fefe76a6e30689c337a386ad9' }, h("ix-modal-header", { key: 'aeecc9cceec3af4229c50f2485192e10b91f2b70', icon: "apps" }, ((_a = this.config) === null || _a === void 0 ? void 0 : _a.i18nAppSwitch) || 'Switch to application'), h("ix-modal-content", { key: 'b61ec923a488f02bccff232c9da0f3e0f779b48c', class: "content" }, h("div", { key: '12341ea0223935f515eee8809b4f941f1d5e19a7', class: "content-apps" }, (!this.config || ((_b = this.config) === null || _b === void 0 ? void 0 : _b.apps.length) === 0) && (h("div", { key: 'bec8b7c136982629f6700202c2f4add9ae160f36', class: "loading" }, h("ix-spinner", { key: 'd0fa62e5041053ada470731bbdf8a21aa2a08200', size: "medium", variant: "primary" }), h("span", { key: '9fd6f8cbc36c4c74a52f192858d124bd85d481c0' }, ((_c = this.config) === null || _c === void 0 ? void 0 : _c.i18nLoadingApps) ||
51
51
  'Loading available applications...'))), (_d = this.config) === null || _d === void 0 ? void 0 :
52
52
  _d.apps.map((appEntry) => {
53
53
  var _a;
@@ -1 +1 @@
1
- {"file":"ix-application-switch-modal.js","mappings":";;;;;;;;;AAAA,MAAM,yBAAyB,GAAG,62DAA62D,CAAC;AACh5D,uCAAe,yBAAyB;;ACexC,SAAS,eAAe,CAAC,KAQxB;IACC,SAAS,UAAU,CAAC,MAAoC;QACtD,IACE,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,SAAS;YACpB,MAAM,KAAK,OAAO;YAClB,MAAM,KAAK,MAAM,EACjB;;;YAGA,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;KACd;IAED,QACE,cACE,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,EACD,OAAO,EAAE;YACP,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SACtC,IAED,eACE,WAAK,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,KAAK,CAAC,OAAO,GAAQ,CAC3C,EACN,WAAK,KAAK,EAAC,SAAS,IAClB,qBAAe,MAAM,EAAC,IAAI,IACvB,KAAK,CAAC,IAAI,EACV,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KACvB,eACE,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,iBAAiB,GACd,CACZ,CACa,EAChB,qBAAe,MAAM,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,IAC1C,KAAK,CAAC,WAAW,CACJ,CACZ,CACC,EACT;AACJ,CAAC;MAQY,sBAAsB;;;;;;;IAMjC,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAC/C;KACF;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACH,wEAAiB,IAAI,EAAC,MAAM,IACzB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,KAAI,uBAAuB,CACtC,EAClB,yEAAkB,KAAK,EAAC,SAAS,IAC/B,4DAAK,KAAK,EAAC,cAAc,IACtB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,MAAM,MAAK,CAAC,MAC9C,4DAAK,KAAK,EAAC,SAAS,IAClB,mEAAY,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,GAAc,EACzD,+DACG,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe;YAC3B,mCAAmC,CAChC,CACH,CACP,EACA,MAAA,IAAI,CAAC,MAAM;eAAE,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ;;gBAAK,QACnC,EAAC,eAAe,IACd,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,EACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,EACzB,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAA,GAClC,EACpB;aAAA,CAAC,CACE,CACW,CACd,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/application-header/application-switch-modal/application-switch-modal.scss?tag=ix-application-switch-modal&encapsulation=shadow","src/components/application-header/application-switch-modal/application-switch-modal.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/hover';\n\n:host {\n @include ix-component;\n display: block;\n\n .content {\n padding: 2rem;\n padding-right: 0;\n }\n\n .content-apps {\n display: flex;\n position: relative;\n flex-wrap: wrap;\n justify-content: space-evenly;\n max-height: 50vh;\n margin-right: 0.25rem;\n gap: 1.5rem;\n }\n\n .loading {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ix-spinner {\n margin-right: 1rem;\n }\n }\n}\n\n:host {\n .AppEntry {\n all: unset;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem;\n flex: 1 1 calc(45%);\n cursor: pointer;\n border: 0.0625rem solid transparent;\n }\n\n .AppEntry.Selected {\n background-color: var(--theme-color-ghost--selected);\n border: var(--theme-dynamic-bdr-1);\n }\n\n .AppEntry {\n @include ghost-hover-pressed;\n }\n\n .AppEntry:focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n }\n\n .AppName {\n display: flex;\n flex-direction: column;\n }\n\n .AppName ix-icon {\n margin-left: 1rem;\n }\n\n .AppIcon {\n width: 3rem;\n height: 3rem;\n border-radius: 0.25rem;\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 { Component, Element, h, Host, Prop } from '@stencil/core';\nimport {\n AppSwitchConfiguration,\n AppSwitchConfigurationTarget,\n} from '../../utils/application-layout/context';\nimport { dismissModal } from '../../utils/modal';\n\nfunction ApplicationItem(props: {\n host: HTMLIxApplicationSwitchModalElement;\n name: string;\n description: string;\n iconSrc: string;\n url: string;\n target: AppSwitchConfigurationTarget;\n selected: boolean;\n}) {\n function isExternal(target: AppSwitchConfigurationTarget) {\n if (\n target !== '_blank' &&\n target !== '_parent' &&\n target !== '_self' &&\n target !== '_top'\n ) {\n // Check if its one of the target keywords\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a?retiredLocale=de#target\n return true;\n }\n\n if (target === '_blank') {\n return true;\n }\n\n return false;\n }\n\n return (\n <button\n class={{\n AppEntry: true,\n Selected: props.selected,\n }}\n onClick={() => {\n dismissModal(props.host);\n window.open(props.url, props.target);\n }}\n >\n <div>\n <img class=\"AppIcon\" src={props.iconSrc}></img>\n </div>\n <div class=\"AppName\">\n <ix-typography format=\"h4\">\n {props.name}\n {isExternal(props.target) && (\n <ix-icon\n size=\"12\"\n name=\"open-external\"\n color=\"color-soft-text\"\n ></ix-icon>\n )}\n </ix-typography>\n <ix-typography format=\"label-sm\" color=\"soft\">\n {props.description}\n </ix-typography>\n </div>\n </button>\n );\n}\n\n/** @internal */\n@Component({\n tag: 'ix-application-switch-modal',\n styleUrl: 'application-switch-modal.scss',\n shadow: true,\n})\nexport class ApplicationSwitchModal {\n @Element() hostElement!: HTMLIxApplicationSwitchModalElement;\n\n /** @internal */\n @Prop() config: AppSwitchConfiguration;\n\n componentWillLoad() {\n if (!this.config) {\n throw Error('ApplicationConfig not provided');\n }\n }\n\n render() {\n return (\n <Host>\n <ix-modal-header icon=\"apps\">\n {this.config?.i18nAppSwitch || 'Switch to application'}\n </ix-modal-header>\n <ix-modal-content class=\"content\">\n <div class=\"content-apps\">\n {(!this.config || this.config?.apps.length === 0) && (\n <div class=\"loading\">\n <ix-spinner size=\"medium\" variant=\"primary\"></ix-spinner>\n <span>\n {this.config?.i18nLoadingApps ||\n 'Loading available applications...'}\n </span>\n </div>\n )}\n {this.config?.apps.map((appEntry) => (\n <ApplicationItem\n host={this.hostElement}\n name={appEntry.name}\n description={appEntry.description}\n iconSrc={appEntry.iconSrc}\n target={appEntry.target}\n url={appEntry.url}\n selected={appEntry.id === this.config?.currentAppId}\n ></ApplicationItem>\n ))}\n </div>\n </ix-modal-content>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-application-switch-modal.js","mappings":";;;;;;;;;AAAA,MAAM,yBAAyB,GAAG,62DAA62D,CAAC;AACh5D,uCAAe,yBAAyB;;ACexC,SAAS,eAAe,CAAC,KAQxB;IACC,SAAS,UAAU,CAAC,MAAoC;QACtD,IACE,MAAM,KAAK,QAAQ;YACnB,MAAM,KAAK,SAAS;YACpB,MAAM,KAAK,OAAO;YAClB,MAAM,KAAK,MAAM,EACjB;;;YAGA,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;KACd;IAED,QACE,cACE,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,EACD,OAAO,EAAE;YACP,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SACtC,IAED,eACE,WAAK,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,KAAK,CAAC,OAAO,GAAQ,CAC3C,EACN,WAAK,KAAK,EAAC,SAAS,IAClB,qBAAe,MAAM,EAAC,IAAI,IACvB,KAAK,CAAC,IAAI,EACV,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KACvB,eACE,IAAI,EAAC,IAAI,EACT,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,iBAAiB,GACd,CACZ,CACa,EAChB,qBAAe,MAAM,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,IAC1C,KAAK,CAAC,WAAW,CACJ,CACZ,CACC,EACT;AACJ,CAAC;MAQY,sBAAsB;;;;;;;IAMjC,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAC/C;KACF;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACH,wEAAiB,IAAI,EAAC,MAAM,IACzB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,KAAI,uBAAuB,CACtC,EAClB,yEAAkB,KAAK,EAAC,SAAS,IAC/B,4DAAK,KAAK,EAAC,cAAc,IACtB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,MAAM,MAAK,CAAC,MAC9C,4DAAK,KAAK,EAAC,SAAS,IAClB,mEAAY,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,GAAc,EACzD,+DACG,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe;YAC3B,mCAAmC,CAChC,CACH,CACP,EACA,MAAA,IAAI,CAAC,MAAM;eAAE,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ;;gBAAK,QACnC,EAAC,eAAe,IACd,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,EACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,EACzB,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAA,GAClC,EACpB;aAAA,CAAC,CACE,CACW,CACd,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/application-header/application-switch-modal/application-switch-modal.scss?tag=ix-application-switch-modal&encapsulation=shadow","src/components/application-header/application-switch-modal/application-switch-modal.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/hover';\n\n:host {\n @include ix-component;\n display: block;\n\n .content {\n padding: 2rem;\n padding-right: 0;\n }\n\n .content-apps {\n display: flex;\n position: relative;\n flex-wrap: wrap;\n justify-content: space-evenly;\n max-height: 50vh;\n margin-right: 0.25rem;\n gap: 1.5rem;\n }\n\n .loading {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ix-spinner {\n margin-right: 1rem;\n }\n }\n}\n\n:host {\n .AppEntry {\n all: unset;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem;\n flex: 1 1 calc(45%);\n cursor: pointer;\n border: 0.0625rem solid transparent;\n }\n\n .AppEntry.Selected {\n background-color: var(--theme-color-ghost--selected);\n border: var(--theme-dynamic-bdr-1);\n }\n\n .AppEntry {\n @include ghost-hover-pressed;\n }\n\n .AppEntry:focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n }\n\n .AppName {\n display: flex;\n flex-direction: column;\n }\n\n .AppName ix-icon {\n margin-left: 1rem;\n }\n\n .AppIcon {\n width: 3rem;\n height: 3rem;\n border-radius: 0.25rem;\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 { Component, Element, h, Host, Prop } from '@stencil/core';\nimport {\n AppSwitchConfiguration,\n AppSwitchConfigurationTarget,\n} from '../../utils/application-layout/context';\nimport { dismissModal } from '../../utils/modal';\n\nfunction ApplicationItem(props: {\n host: HTMLIxApplicationSwitchModalElement;\n name: string;\n description: string;\n iconSrc: string;\n url: string;\n target: AppSwitchConfigurationTarget;\n selected: boolean;\n}) {\n function isExternal(target: AppSwitchConfigurationTarget) {\n if (\n target !== '_blank' &&\n target !== '_parent' &&\n target !== '_self' &&\n target !== '_top'\n ) {\n // Check if its one of the target keywords\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a?retiredLocale=de#target\n return true;\n }\n\n if (target === '_blank') {\n return true;\n }\n\n return false;\n }\n\n return (\n <button\n class={{\n AppEntry: true,\n Selected: props.selected,\n }}\n onClick={() => {\n dismissModal(props.host);\n window.open(props.url, props.target);\n }}\n >\n <div>\n <img class=\"AppIcon\" src={props.iconSrc}></img>\n </div>\n <div class=\"AppName\">\n <ix-typography format=\"h4\">\n {props.name}\n {isExternal(props.target) && (\n <ix-icon\n size=\"12\"\n name=\"open-external\"\n color=\"color-soft-text\"\n ></ix-icon>\n )}\n </ix-typography>\n <ix-typography format=\"label-sm\" color=\"soft\">\n {props.description}\n </ix-typography>\n </div>\n </button>\n );\n}\n\n/** @internal */\n@Component({\n tag: 'ix-application-switch-modal',\n styleUrl: 'application-switch-modal.scss',\n shadow: true,\n})\nexport class ApplicationSwitchModal {\n @Element() hostElement!: HTMLIxApplicationSwitchModalElement;\n\n /** @internal */\n @Prop() config?: AppSwitchConfiguration;\n\n componentWillLoad() {\n if (!this.config) {\n throw Error('ApplicationConfig not provided');\n }\n }\n\n render() {\n return (\n <Host>\n <ix-modal-header icon=\"apps\">\n {this.config?.i18nAppSwitch || 'Switch to application'}\n </ix-modal-header>\n <ix-modal-content class=\"content\">\n <div class=\"content-apps\">\n {(!this.config || this.config?.apps.length === 0) && (\n <div class=\"loading\">\n <ix-spinner size=\"medium\" variant=\"primary\"></ix-spinner>\n <span>\n {this.config?.i18nLoadingApps ||\n 'Loading available applications...'}\n </span>\n </div>\n )}\n {this.config?.apps.map((appEntry) => (\n <ApplicationItem\n host={this.hostElement}\n name={appEntry.name}\n description={appEntry.description}\n iconSrc={appEntry.iconSrc}\n target={appEntry.target}\n url={appEntry.url}\n selected={appEntry.id === this.config?.currentAppId}\n ></ApplicationItem>\n ))}\n </div>\n </ix-modal-content>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -80,6 +80,10 @@ const Application = /*@__PURE__*/ proxyCustomElement(class Application extends H
80
80
  themeSwitcher.setTheme(`theme-${this.theme}-dark`, this.themeSystemAppearance);
81
81
  }
82
82
  onApplicationSidebarChange() {
83
+ if (!this.contextProvider) {
84
+ console.error('Context provider not available');
85
+ return;
86
+ }
83
87
  this.contextProvider.emit({
84
88
  hideHeader: false,
85
89
  host: 'basic-navigation',
@@ -88,12 +92,12 @@ const Application = /*@__PURE__*/ proxyCustomElement(class Application extends H
88
92
  });
89
93
  }
90
94
  render() {
91
- return (h(Host, { key: 'f7d9dc242b02f711e6b876a655872eded15acc5a', "data-role": "", class: {
95
+ return (h(Host, { key: '50ca923e8983045fce768740d5ed1e939f87ab5d', "data-role": "", class: {
92
96
  [`breakpoint-${this.breakpoint}`]: true,
93
- } }, h("slot", { key: '42bf6a7646231575b65712fc8ebc05b0d831e379', name: "application-header" }), h("div", { key: '28631a23909254557f65ab0fa78229155e56304c', class: "application" }, h("slot", { key: '803ff42c7a15ebf49a8791983792d51e92d72df2', name: "menu" }), h("aside", { key: '2ae8ed82923ad88b7e90a1efa4e2fa5e9e894fc9', class: {
97
+ } }, h("slot", { key: '25816ef9a2ca0755899f548d82422b36bdff0ea2', name: "application-header" }), h("div", { key: 'b6decbb58f86e676b0f38f74d1a0b1cf06a0a047', class: "application" }, h("slot", { key: 'ce9aa0dadca4c0fc457f46175accb2f2463b4f99', name: "menu" }), h("aside", { key: '5bbed7f3373138a202c4ac5c5e53db200ae6c497', class: {
94
98
  'application-sidebar': true,
95
99
  slotted: this.applicationSidebarSlotted,
96
- }, onClick: () => this.onContentClick() }, h("slot", { key: '672a98eff1ff6438d1b36a487a3d11d0764a7328', name: "application-sidebar", onSlotchange: () => (this.applicationSidebarSlotted = hasSlottedElements(this.applicationSidebarSlot)) })), h("div", { key: '1316359455b9ff99f04087ad03f60d71737615eb', class: "content-area" }, h("main", { key: '68885be0f8744603fe40d3ae2ad794918a17f38f', class: "content", onClick: () => this.onContentClick() }, h("slot", { key: 'e8a443068860fda31e113791ac952f709445c259' })), h("footer", { key: '3fd4378fbe5c40cc0ebdf0f7719c61fb893ec279', class: "footer" }, h("slot", { key: 'ee8482f786f9c322cbafdcab061b43694c1500f4', name: "bottom" }))))));
100
+ }, onClick: () => this.onContentClick() }, h("slot", { key: '0d7177030baeb9798a88b596a051e3189e0f48c7', name: "application-sidebar", onSlotchange: () => (this.applicationSidebarSlotted = hasSlottedElements(this.applicationSidebarSlot)) })), h("div", { key: 'fbadd8c31611153d09cb8923a45602ba87066f73', class: "content-area" }, h("main", { key: '1800db092639a1cbcbbc3506a4fe911c3ad8f2df', class: "content", onClick: () => this.onContentClick() }, h("slot", { key: 'b4f6e4327073f70991b6460a7b300721685e615f' })), h("footer", { key: '83534298e878b0ef312ea138e475057d7a81166f', class: "footer" }, h("slot", { key: 'bafee309d2384d9f358c6940f4e647ae267a866b', name: "bottom" }))))));
97
101
  }
98
102
  get hostElement() { return this; }
99
103
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"ix-application.js","mappings":"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","names":[],"sources":["src/components/application/application.scss?tag=ix-application&encapsulation=shadow","src/components/application/application.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 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n flex-direction: column;\n\n ix-application-header {\n z-index: calc(var(--theme-z-index-sticky) + 1);\n }\n\n .logo-wrapper {\n display: contents;\n }\n\n .application {\n display: flex;\n position: relative;\n flex-direction: row;\n height: 100%;\n width: 100%;\n overflow: hidden;\n }\n\n .content-area {\n display: flex;\n position: relative;\n flex-direction: column;\n flex-wrap: nowrap;\n height: calc(100% - var(--ix-safe-area-inset-bottom, 0px));\n width: 100%;\n margin-left: var(--ix-application-menu-margin-left);\n }\n\n main {\n display: block;\n position: relative;\n flex-grow: 1;\n\n width: 100%;\n padding-bottom: var(--ix-safe-area-inset-bottom);\n overflow: auto;\n }\n\n footer {\n display: block;\n position: relative;\n width: 100%;\n }\n}\n\n:host(.breakpoint-md) {\n --ix-application-menu-margin-left: calc(\n 3.25rem + var(--ix-application-menu-safe-area-left, 0rem)\n );\n\n aside.slotted {\n margin-left: var(--ix-application-menu-margin-left);\n }\n\n aside.slotted + .content-area {\n margin-left: 0;\n }\n\n aside:not(.slotted) + .content-area {\n margin-left: var(--ix-application-menu-margin-left);\n }\n}\n\n:host(.breakpoint-lg) {\n --ix-application-menu-margin-left: 0;\n}\n\n:host(.breakpoint-sm) {\n --ix-application-menu-margin-left: var(\n --ix-application-menu-safe-area-left,\n 0rem\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 { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport {\n ApplicationLayoutContext,\n AppSwitchConfiguration,\n} from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextProvider, useContextProvider } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { hasSlottedElements } from '../utils/shadow-dom';\nimport { IxTheme, themeSwitcher } from '../utils/theme-switcher';\nimport { Disposable } from '../utils/typed-event';\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-application',\n styleUrl: 'application.scss',\n shadow: true,\n})\nexport class Application {\n @Element() hostElement: HTMLIxApplicationElement;\n\n /**\n * Application theme\n */\n @Prop() theme: IxTheme;\n\n /**\n * Use the system appearance dark or light\n */\n @Prop() themeSystemAppearance = false;\n\n /**\n * Change the responsive layout of the menu structure\n */\n @Prop() forceBreakpoint: Breakpoint | undefined;\n forceLayoutChange(newMode: Breakpoint | undefined) {\n if (!newMode) {\n applicationLayoutService.enableBreakpointDetection();\n return;\n }\n\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint(newMode);\n }\n\n /**\n * Supported layouts\n */\n @Prop() breakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n @Watch('breakpoints')\n onBreakpointsChange(breakpoints: Breakpoint[]) {\n applicationLayoutService.setBreakpoints(breakpoints);\n }\n\n /**\n * Define application switch configuration\n */\n @Prop() appSwitchConfig: AppSwitchConfiguration;\n\n @State() breakpoint: Breakpoint = 'lg';\n @State() applicationSidebarSlotted = false;\n\n private contextProvider: ContextProvider<typeof ApplicationLayoutContext>;\n\n get menu(): HTMLIxMenuElement | null {\n return this.hostElement.querySelector('ix-menu');\n }\n\n get applicationSidebarSlot() {\n return this.hostElement.shadowRoot.querySelector(\n '.application-sidebar slot'\n ) as HTMLSlotElement;\n }\n\n private modeDisposable: Disposable;\n\n private onContentClick() {\n if (menuController.isPinned) {\n return;\n }\n this.menu?.toggleMenu(false);\n }\n\n componentWillLoad() {\n applicationLayoutService.setBreakpoints(this.breakpoints);\n\n this.contextProvider = useContextProvider(\n this.hostElement,\n ApplicationLayoutContext,\n {\n hideHeader: false,\n host: 'basic-navigation',\n sidebar: this.applicationSidebarSlotted,\n appSwitchConfig: this.appSwitchConfig,\n }\n );\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n this.breakpoint = mode;\n });\n this.breakpoint = applicationLayoutService.breakpoint;\n\n if (this.forceBreakpoint) {\n this.forceLayoutChange(this.forceBreakpoint);\n }\n\n this.changeTheme();\n }\n\n disconnectedCallback() {\n this.modeDisposable?.dispose();\n }\n\n @Watch('theme')\n @Watch('themeSystemAppearance')\n private changeTheme() {\n if (!this.theme) {\n if (this.themeSystemAppearance) {\n themeSwitcher.setVariant();\n }\n\n return;\n }\n\n if (themeSwitcher.hasVariantSuffix(this.theme)) {\n themeSwitcher.setTheme(`theme-${this.theme}`);\n return;\n }\n\n themeSwitcher.setTheme(\n `theme-${this.theme}-dark`,\n this.themeSystemAppearance\n );\n }\n\n @Watch('appSwitchConfig')\n @Watch('applicationSidebarSlotted')\n onApplicationSidebarChange() {\n this.contextProvider.emit({\n hideHeader: false,\n host: 'basic-navigation',\n sidebar: this.applicationSidebarSlotted,\n appSwitchConfig: this.appSwitchConfig,\n });\n }\n\n render() {\n return (\n <Host\n data-role=\"\"\n class={{\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n >\n <slot name=\"application-header\"></slot>\n <div class=\"application\">\n <slot name=\"menu\"></slot>\n <aside\n class={{\n 'application-sidebar': true,\n slotted: this.applicationSidebarSlotted,\n }}\n onClick={() => this.onContentClick()}\n >\n <slot\n name=\"application-sidebar\"\n onSlotchange={() =>\n (this.applicationSidebarSlotted = hasSlottedElements(\n this.applicationSidebarSlot\n ))\n }\n ></slot>\n </aside>\n <div class=\"content-area\">\n <main class=\"content\" onClick={() => this.onContentClick()}>\n <slot></slot>\n </main>\n <footer class=\"footer\">\n <slot name=\"bottom\"></slot>\n </footer>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-application.js","mappings":"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","names":[],"sources":["src/components/application/application.scss?tag=ix-application&encapsulation=shadow","src/components/application/application.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 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n flex-direction: column;\n\n ix-application-header {\n z-index: calc(var(--theme-z-index-sticky) + 1);\n }\n\n .logo-wrapper {\n display: contents;\n }\n\n .application {\n display: flex;\n position: relative;\n flex-direction: row;\n height: 100%;\n width: 100%;\n overflow: hidden;\n }\n\n .content-area {\n display: flex;\n position: relative;\n flex-direction: column;\n flex-wrap: nowrap;\n height: calc(100% - var(--ix-safe-area-inset-bottom, 0px));\n width: 100%;\n margin-left: var(--ix-application-menu-margin-left);\n }\n\n main {\n display: block;\n position: relative;\n flex-grow: 1;\n\n width: 100%;\n padding-bottom: var(--ix-safe-area-inset-bottom);\n overflow: auto;\n }\n\n footer {\n display: block;\n position: relative;\n width: 100%;\n }\n}\n\n:host(.breakpoint-md) {\n --ix-application-menu-margin-left: calc(\n 3.25rem + var(--ix-application-menu-safe-area-left, 0rem)\n );\n\n aside.slotted {\n margin-left: var(--ix-application-menu-margin-left);\n }\n\n aside.slotted + .content-area {\n margin-left: 0;\n }\n\n aside:not(.slotted) + .content-area {\n margin-left: var(--ix-application-menu-margin-left);\n }\n}\n\n:host(.breakpoint-lg) {\n --ix-application-menu-margin-left: 0;\n}\n\n:host(.breakpoint-sm) {\n --ix-application-menu-margin-left: var(\n --ix-application-menu-safe-area-left,\n 0rem\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 { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport {\n ApplicationLayoutContext,\n AppSwitchConfiguration,\n} from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextProvider, useContextProvider } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { hasSlottedElements } from '../utils/shadow-dom';\nimport { IxTheme, themeSwitcher } from '../utils/theme-switcher';\nimport { Disposable } from '../utils/typed-event';\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-application',\n styleUrl: 'application.scss',\n shadow: true,\n})\nexport class Application {\n @Element() hostElement!: HTMLIxApplicationElement;\n\n /**\n * Application theme\n */\n @Prop() theme?: IxTheme;\n\n /**\n * Use the system appearance dark or light\n */\n @Prop() themeSystemAppearance = false;\n\n /**\n * Change the responsive layout of the menu structure\n */\n @Prop() forceBreakpoint: Breakpoint | undefined;\n forceLayoutChange(newMode: Breakpoint | undefined) {\n if (!newMode) {\n applicationLayoutService.enableBreakpointDetection();\n return;\n }\n\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint(newMode);\n }\n\n /**\n * Supported layouts\n */\n @Prop() breakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n @Watch('breakpoints')\n onBreakpointsChange(breakpoints: Breakpoint[]) {\n applicationLayoutService.setBreakpoints(breakpoints);\n }\n\n /**\n * Define application switch configuration\n */\n @Prop() appSwitchConfig?: AppSwitchConfiguration;\n\n @State() breakpoint: Breakpoint = 'lg';\n @State() applicationSidebarSlotted = false;\n\n private contextProvider?: ContextProvider<typeof ApplicationLayoutContext>;\n\n get menu(): HTMLIxMenuElement | null {\n return this.hostElement.querySelector('ix-menu');\n }\n\n get applicationSidebarSlot() {\n return this.hostElement.shadowRoot!.querySelector(\n '.application-sidebar slot'\n ) as HTMLSlotElement;\n }\n\n private modeDisposable?: Disposable;\n\n private onContentClick() {\n if (menuController.isPinned) {\n return;\n }\n this.menu?.toggleMenu(false);\n }\n\n componentWillLoad() {\n applicationLayoutService.setBreakpoints(this.breakpoints);\n\n this.contextProvider = useContextProvider(\n this.hostElement,\n ApplicationLayoutContext,\n {\n hideHeader: false,\n host: 'basic-navigation',\n sidebar: this.applicationSidebarSlotted,\n appSwitchConfig: this.appSwitchConfig,\n }\n );\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n this.breakpoint = mode;\n });\n this.breakpoint = applicationLayoutService.breakpoint;\n\n if (this.forceBreakpoint) {\n this.forceLayoutChange(this.forceBreakpoint);\n }\n\n this.changeTheme();\n }\n\n disconnectedCallback() {\n this.modeDisposable?.dispose();\n }\n\n @Watch('theme')\n @Watch('themeSystemAppearance')\n private changeTheme() {\n if (!this.theme) {\n if (this.themeSystemAppearance) {\n themeSwitcher.setVariant();\n }\n\n return;\n }\n\n if (themeSwitcher.hasVariantSuffix(this.theme)) {\n themeSwitcher.setTheme(`theme-${this.theme}`);\n return;\n }\n\n themeSwitcher.setTheme(\n `theme-${this.theme}-dark`,\n this.themeSystemAppearance\n );\n }\n\n @Watch('appSwitchConfig')\n @Watch('applicationSidebarSlotted')\n onApplicationSidebarChange() {\n if (!this.contextProvider) {\n console.error('Context provider not available');\n return;\n }\n this.contextProvider.emit({\n hideHeader: false,\n host: 'basic-navigation',\n sidebar: this.applicationSidebarSlotted,\n appSwitchConfig: this.appSwitchConfig,\n });\n }\n\n render() {\n return (\n <Host\n data-role=\"\"\n class={{\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n >\n <slot name=\"application-header\"></slot>\n <div class=\"application\">\n <slot name=\"menu\"></slot>\n <aside\n class={{\n 'application-sidebar': true,\n slotted: this.applicationSidebarSlotted,\n }}\n onClick={() => this.onContentClick()}\n >\n <slot\n name=\"application-sidebar\"\n onSlotchange={() =>\n (this.applicationSidebarSlotted = hasSlottedElements(\n this.applicationSidebarSlot\n ))\n }\n ></slot>\n </aside>\n <div class=\"content-area\">\n <main class=\"content\" onClick={() => this.onContentClick()}>\n <slot></slot>\n </main>\n <footer class=\"footer\">\n <slot name=\"bottom\"></slot>\n </footer>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -76,10 +76,10 @@ const BasicNavigation = /*@__PURE__*/ proxyCustomElement(class BasicNavigation e
76
76
  (_a = this.modeDisposable) === null || _a === void 0 ? void 0 : _a.dispose();
77
77
  }
78
78
  render() {
79
- return (h(Host, { key: '72bc2871bd83daef65255c91c205f3f56566dd49', "data-role": "", class: {
79
+ return (h(Host, { key: '9fc90b3779ab68ca24264543cac8229857da780b', "data-role": "", class: {
80
80
  'hide-header': this.hideHeader,
81
81
  [`breakpoint-${this.breakpoint}`]: true,
82
- } }, !this.hideHeader ? (h("ix-application-header", { name: this.applicationName }, h("slot", { name: "logo", slot: "logo" }))) : null, h("div", { key: 'd495335a1b4ccc8c237b409eec6ed43740f6b47b', class: "navigation-content" }, h("slot", { key: '7aa73127e49e60612f9a65cd28eaf50d85cc2e6d', name: "menu" }), h("div", { key: '40886717ca1d36a952c6d2ed1597a5a8495dad2e', class: "content", onClick: () => this.onContentClick() }, h("slot", { key: '4c7f0ebbc86a84207f788b5aafd94114ffe4daae' })))));
82
+ } }, !this.hideHeader ? (h("ix-application-header", { name: this.applicationName }, h("slot", { name: "logo", slot: "logo" }))) : null, h("div", { key: 'd95cb1125f5087059726bfa6d1f7762b2eed666d', class: "navigation-content" }, h("slot", { key: '944934592f09029948d138b57b412261fc194b39', name: "menu" }), h("div", { key: 'b7740bd510330201cd79f8ffa420ecd98fb65018', class: "content", onClick: () => this.onContentClick() }, h("slot", { key: '919a58fb4a835848a0ffec81ad215372fbc6a007' })))));
83
83
  }
84
84
  get hostElement() { return this; }
85
85
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"ix-basic-navigation.js","mappings":";;;;;;;;;;;AAAA,MAAM,kBAAkB,GAAG,g1CAAg1C,CAAC;AAC52C,gCAAe,kBAAkB;;MCqBpB,eAAe;;;;;;0BAWL,KAAK;;2BA6BU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;0BAMpB,IAAI;;IAjCtC,kBAAkB;;QAChB,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC;KACvD;IAMD,iBAAiB,CAAC,OAA+B;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,wBAAwB,CAAC,yBAAyB,EAAE,CAAC;YACrD,OAAO;SACR;QAED,wBAAwB,CAAC,0BAA0B,EAAE,CAAC;QACtD,wBAAwB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KACjD;IAQD,mBAAmB,CAAC,WAAyB;QAC3C,wBAAwB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACtD;IAID,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;KAClD;IAKO,cAAc;;QACpB,IAAI,cAAc,CAAC,QAAQ,EAAE;YAC3B,OAAO;SACR;QACD,MAAA,IAAI,CAAC,IAAI,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;KAC9B;IAED,iBAAiB;QACf,wBAAwB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,eAAe,GAAG,kBAAkB,CACvC,IAAI,CAAC,WAAW,EAChB,wBAAwB,EACxB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,kBAAkB;SACzB,CACF,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI;YAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC;QAEtD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC9C;KACF;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;SAClD;KACF;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,EAAE,CAAC;KAChC;IAED,MAAM;QACJ,QACE,EAAC,IAAI,kEACO,EAAE,EACZ,KAAK,EAAE;gBACL,aAAa,EAAE,IAAI,CAAC,UAAU;gBAC9B,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI;aACxC,IAEA,CAAC,IAAI,CAAC,UAAU,IACf,6BAAuB,IAAI,EAAE,IAAI,CAAC,eAAe,IAC/C,YAAM,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,GAAQ,CACf,IACtB,IAAI,EACR,4DAAK,KAAK,EAAC,oBAAoB,IAC7B,6DAAM,IAAI,EAAC,MAAM,GAAQ,EACzB,4DAAK,KAAK,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,IACvD,8DAAa,CACT,CACF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/basic-navigation/basic-navigation.scss?tag=ix-basic-navigation&encapsulation=shadow","src/components/basic-navigation/basic-navigation.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 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n flex-direction: column;\n\n ix-application-header {\n z-index: calc(var(--theme-z-index-sticky) + 1);\n }\n\n .logo-wrapper {\n display: contents;\n }\n\n .content {\n display: flex;\n height: 100%;\n width: 100%;\n position: relative;\n margin-left: 3.25rem;\n overflow: auto;\n }\n\n .navigation-content {\n display: flex;\n position: relative;\n\n flex-direction: row;\n\n height: calc(100% - 2.75rem);\n width: 100%;\n }\n}\n\n:host(.hide-header) {\n .navigation-content,\n .content {\n height: 100%;\n }\n}\n\n:host(.breakpoint-lg) {\n .content {\n margin-left: 0rem;\n }\n}\n\n:host(.breakpoint-sm) {\n .content {\n margin-left: 0px;\n width: 100%;\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 { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { ApplicationLayoutContext } from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextProvider, useContextProvider } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { Disposable } from '../utils/typed-event';\n\n@Component({\n tag: 'ix-basic-navigation',\n styleUrl: 'basic-navigation.scss',\n shadow: true,\n})\nexport class BasicNavigation {\n @Element() hostElement: HTMLIxBasicNavigationElement;\n\n /**\n * Application name\n */\n @Prop() applicationName: string;\n\n /**\n * Hide application header. Will disable responsive feature of basic navigation.\n */\n @Prop() hideHeader = false;\n @Watch('hideHeader')\n onHideHeaderChange() {\n this.contextProvider?.emit({\n hideHeader: this.hideHeader,\n host: 'basic-navigation',\n });\n\n this.breakpoint = applicationLayoutService.breakpoint;\n }\n\n /**\n * Change the responsive layout of the menu structure\n */\n @Prop() forceBreakpoint: Breakpoint | undefined;\n forceLayoutChange(newMode: Breakpoint | undefined) {\n if (!newMode) {\n applicationLayoutService.enableBreakpointDetection();\n return;\n }\n\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint(newMode);\n }\n\n /**\n * Supported layouts\n * @example ['sm', 'md']\n */\n @Prop() breakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n @Watch('breakpoints')\n onBreakpointsChange(breakpoints: Breakpoint[]) {\n applicationLayoutService.setBreakpoints(breakpoints);\n }\n\n @State() breakpoint: Breakpoint = 'lg';\n\n get menu(): HTMLIxMenuElement | null {\n return this.hostElement.querySelector('ix-menu');\n }\n\n private modeDisposable: Disposable;\n private contextProvider: ContextProvider<typeof ApplicationLayoutContext>;\n\n private onContentClick() {\n if (menuController.isPinned) {\n return;\n }\n this.menu?.toggleMenu(false);\n }\n\n componentWillLoad() {\n applicationLayoutService.setBreakpoints(this.breakpoints);\n\n this.contextProvider = useContextProvider(\n this.hostElement,\n ApplicationLayoutContext,\n {\n hideHeader: this.hideHeader,\n host: 'basic-navigation',\n }\n );\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n this.breakpoint = mode;\n });\n this.breakpoint = applicationLayoutService.breakpoint;\n\n if (this.forceBreakpoint) {\n this.forceLayoutChange(this.forceBreakpoint);\n }\n }\n\n componentDidRender() {\n if (this.menu) {\n this.menu.applicationName = this.applicationName;\n }\n }\n\n disconnectedCallback() {\n this.modeDisposable?.dispose();\n }\n\n render() {\n return (\n <Host\n data-role=\"\"\n class={{\n 'hide-header': this.hideHeader,\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n >\n {!this.hideHeader ? (\n <ix-application-header name={this.applicationName}>\n <slot name=\"logo\" slot=\"logo\"></slot>\n </ix-application-header>\n ) : null}\n <div class=\"navigation-content\">\n <slot name=\"menu\"></slot>\n <div class=\"content\" onClick={() => this.onContentClick()}>\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-basic-navigation.js","mappings":";;;;;;;;;;;AAAA,MAAM,kBAAkB,GAAG,g1CAAg1C,CAAC;AAC52C,gCAAe,kBAAkB;;MCqBpB,eAAe;;;;;;0BAWL,KAAK;;2BA6BU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;0BAMpB,IAAI;;IAjCtC,kBAAkB;;QAChB,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC;KACvD;IAMD,iBAAiB,CAAC,OAA+B;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,wBAAwB,CAAC,yBAAyB,EAAE,CAAC;YACrD,OAAO;SACR;QAED,wBAAwB,CAAC,0BAA0B,EAAE,CAAC;QACtD,wBAAwB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KACjD;IAQD,mBAAmB,CAAC,WAAyB;QAC3C,wBAAwB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACtD;IAID,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;KAClD;IAKO,cAAc;;QACpB,IAAI,cAAc,CAAC,QAAQ,EAAE;YAC3B,OAAO;SACR;QACD,MAAA,IAAI,CAAC,IAAI,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;KAC9B;IAED,iBAAiB;QACf,wBAAwB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,CAAC,eAAe,GAAG,kBAAkB,CACvC,IAAI,CAAC,WAAW,EAChB,wBAAwB,EACxB;YACE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,kBAAkB;SACzB,CACF,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI;YAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC;QAEtD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC9C;KACF;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;SAClD;KACF;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,EAAE,CAAC;KAChC;IAED,MAAM;QACJ,QACE,EAAC,IAAI,kEACO,EAAE,EACZ,KAAK,EAAE;gBACL,aAAa,EAAE,IAAI,CAAC,UAAU;gBAC9B,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI;aACxC,IAEA,CAAC,IAAI,CAAC,UAAU,IACf,6BAAuB,IAAI,EAAE,IAAI,CAAC,eAAe,IAC/C,YAAM,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,GAAQ,CACf,IACtB,IAAI,EACR,4DAAK,KAAK,EAAC,oBAAoB,IAC7B,6DAAM,IAAI,EAAC,MAAM,GAAQ,EACzB,4DAAK,KAAK,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,IACvD,8DAAa,CACT,CACF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/basic-navigation/basic-navigation.scss?tag=ix-basic-navigation&encapsulation=shadow","src/components/basic-navigation/basic-navigation.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 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n flex-direction: column;\n\n ix-application-header {\n z-index: calc(var(--theme-z-index-sticky) + 1);\n }\n\n .logo-wrapper {\n display: contents;\n }\n\n .content {\n display: flex;\n height: 100%;\n width: 100%;\n position: relative;\n margin-left: 3.25rem;\n overflow: auto;\n }\n\n .navigation-content {\n display: flex;\n position: relative;\n\n flex-direction: row;\n\n height: calc(100% - 2.75rem);\n width: 100%;\n }\n}\n\n:host(.hide-header) {\n .navigation-content,\n .content {\n height: 100%;\n }\n}\n\n:host(.breakpoint-lg) {\n .content {\n margin-left: 0rem;\n }\n}\n\n:host(.breakpoint-sm) {\n .content {\n margin-left: 0px;\n width: 100%;\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 { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { ApplicationLayoutContext } from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextProvider, useContextProvider } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { Disposable } from '../utils/typed-event';\n\n@Component({\n tag: 'ix-basic-navigation',\n styleUrl: 'basic-navigation.scss',\n shadow: true,\n})\nexport class BasicNavigation {\n @Element() hostElement!: HTMLIxBasicNavigationElement;\n\n /**\n * Application name\n */\n @Prop() applicationName?: string;\n\n /**\n * Hide application header. Will disable responsive feature of basic navigation.\n */\n @Prop() hideHeader = false;\n @Watch('hideHeader')\n onHideHeaderChange() {\n this.contextProvider?.emit({\n hideHeader: this.hideHeader,\n host: 'basic-navigation',\n });\n\n this.breakpoint = applicationLayoutService.breakpoint;\n }\n\n /**\n * Change the responsive layout of the menu structure\n */\n @Prop() forceBreakpoint: Breakpoint | undefined;\n forceLayoutChange(newMode: Breakpoint | undefined) {\n if (!newMode) {\n applicationLayoutService.enableBreakpointDetection();\n return;\n }\n\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint(newMode);\n }\n\n /**\n * Supported layouts\n * @example ['sm', 'md']\n */\n @Prop() breakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n @Watch('breakpoints')\n onBreakpointsChange(breakpoints: Breakpoint[]) {\n applicationLayoutService.setBreakpoints(breakpoints);\n }\n\n @State() breakpoint: Breakpoint = 'lg';\n\n get menu(): HTMLIxMenuElement | null {\n return this.hostElement.querySelector('ix-menu');\n }\n\n private modeDisposable?: Disposable;\n private contextProvider?: ContextProvider<typeof ApplicationLayoutContext>;\n\n private onContentClick() {\n if (menuController.isPinned) {\n return;\n }\n this.menu?.toggleMenu(false);\n }\n\n componentWillLoad() {\n applicationLayoutService.setBreakpoints(this.breakpoints);\n\n this.contextProvider = useContextProvider(\n this.hostElement,\n ApplicationLayoutContext,\n {\n hideHeader: this.hideHeader,\n host: 'basic-navigation',\n }\n );\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n this.breakpoint = mode;\n });\n this.breakpoint = applicationLayoutService.breakpoint;\n\n if (this.forceBreakpoint) {\n this.forceLayoutChange(this.forceBreakpoint);\n }\n }\n\n componentDidRender() {\n if (this.menu) {\n this.menu.applicationName = this.applicationName;\n }\n }\n\n disconnectedCallback() {\n this.modeDisposable?.dispose();\n }\n\n render() {\n return (\n <Host\n data-role=\"\"\n class={{\n 'hide-header': this.hideHeader,\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n >\n {!this.hideHeader ? (\n <ix-application-header name={this.applicationName}>\n <slot name=\"logo\" slot=\"logo\"></slot>\n </ix-application-header>\n ) : null}\n <div class=\"navigation-content\">\n <slot name=\"menu\"></slot>\n <div class=\"content\" onClick={() => this.onContentClick()}>\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -7,7 +7,7 @@ import { d as defineCustomElement$4 } from './icon-button.js';
7
7
  import { d as defineCustomElement$3 } from './spinner.js';
8
8
  import { d as defineCustomElement$2 } from './typography.js';
9
9
 
10
- const cardListCss = ":host{display:flex;position:relative;flex-direction:column;align-items:flex-start;margin:0.5rem}: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 .CardList_Title{display:flex;position:relative;height:1.5rem;align-items:center;width:100%;margin-bottom:1rem}:host .CardList_Title__Label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .CardList__Title__Button{margin-right:1rem;transition:var(--theme-default-time) transform ease-in-out}:host .CardList__Title__Button__Collapsed{transform:rotate(-90deg)}:host .CardList__Title__Show__All{align-self:center;margin-left:auto;margin-right:0px;flex-shrink:0}:host .CardList__Content{display:flex;position:relative;height:calc(100% - 1.5rem);width:100%;gap:1.5rem;transition:var(--theme-default-time) ease-in-out;overflow:auto}:host .CardList__Content__Collapsed{min-height:0px;max-height:0px;overflow:hidden;opacity:0}:host .CardList__Style__Flexbox__Scroll{flex-wrap:wrap}:host .CardList__Style__Infinite__Scroll{flex-wrap:nowrap;-ms-overflow-style:none;scrollbar-width:none}:host .CardList__Style__Infinite__Scroll::-webkit-scrollbar{display:none}:host .CardList__Overflow{display:block;position:relative;height:100%;width:100%;pointer-events:all;-webkit-mask-image:var(--ix-card-list-overflow, none);mask-image:var(--ix-card-list-overflow, none)}:host .Show__All__Card{display:flex;position:relative;align-self:flex-start;justify-self:center;max-width:11.25rem;min-width:11.25rem;width:11.25rem;min-height:11.25rem;max-height:11.25rem;height:11.25rem;--ix-card-border-color:var(--theme-color-primary);color:var(--theme-color-primary)}:host .CardList__Style__Infinite__Scroll .Show__All__Card{margin-top:2.375rem}:host .CardList__Style__Flexbox__Scroll .Show__All__Card{margin-bottom:2.375rem}:host .Show__All__Card:hover{background-color:var(--theme-color-ghost--hover)}:host .Show__All__Card:active{background-color:var(--theme-color-ghost--active)}:host .Show__All__Card__Content{display:flex;justify-content:center;align-items:center}:host .Show__All__Card__Icon{display:flex;position:absolute;height:4rem;width:4rem;justify-content:center;align-items:center}:host .Show__All__Card__Text{margin-bottom:0px;margin-top:auto}";
10
+ const cardListCss = ":host{display:flex;position:relative;flex-direction:column;align-items:flex-start;margin:0.5rem}: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 .CardList_Title{display:flex;position:relative;height:1.5rem;align-items:center;width:100%;margin-bottom:1rem}:host .CardList_Title__Label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .CardList__Title__Button{margin-right:1rem;transition:var(--theme-default-time) transform ease-in-out}:host .CardList__Title__Button__Collapsed{transform:rotate(-90deg)}:host .CardList__Title__Show__All{align-self:center;margin-left:auto;margin-right:0px;flex-shrink:0}:host .CardList__Content{display:flex;position:relative;height:calc(100% - 1.5rem);width:100%;gap:1.5rem;transition:var(--theme-default-time) ease-in-out;overflow:auto}:host .CardList__Content__Collapsed{min-height:0px;max-height:0px;overflow:hidden;opacity:0}:host .CardList__Style__Flexbox__Scroll{flex-wrap:wrap}:host .CardList__Style__Infinite__Scroll{flex-wrap:nowrap;-ms-overflow-style:none;scrollbar-width:none}:host .CardList__Style__Infinite__Scroll::-webkit-scrollbar{display:none}:host .CardList__Overflow{display:block;position:relative;height:100%;width:100%;pointer-events:all;-webkit-mask-image:var(--ix-card-list-overflow, none);mask-image:var(--ix-card-list-overflow, none)}:host .Show__All__Card{display:flex;position:relative;align-self:flex-start;justify-self:center;max-width:11.25rem;min-width:11.25rem;width:11.25rem;min-height:11.25rem;max-height:11.25rem;height:11.25rem;--ix-card-border-color:var(--theme-color-primary);color:var(--theme-color-primary)}:host .CardList__Style__Infinite__Scroll .Show__All__Card{margin-top:2.375rem}:host .CardList__Style__Flexbox__Scroll .Show__All__Card{margin-bottom:2.375rem}:host .Show__All__Card:hover{background-color:var(--theme-color-ghost--hover)}:host .Show__All__Card:active{background-color:var(--theme-color-ghost--active)}:host .Show__All__Card__Content{display:flex;justify-content:center;align-items:center;height:100%}:host .Show__All__Card__Icon{display:flex;position:absolute;height:4rem;width:4rem;justify-content:center;align-items:center}:host .Show__All__Card__Text{margin-bottom:0px;margin-top:auto}";
11
11
  const IxCardListStyle0 = cardListCss;
12
12
 
13
13
  function CardListTitle(props) {
@@ -149,20 +149,20 @@ const CardList = /*@__PURE__*/ proxyCustomElement(class CardList extends HTMLEle
149
149
  }
150
150
  }
151
151
  render() {
152
- return (h(Host, { key: '64883990dc81fbb760b407acf886c74ec0d7ec55' }, h(CardListTitle, { key: '3c31997a5f05e8f0a03c384576333b638fb35176', isCollapsed: this.collapse, label: this.label, showAllLabel: this.i18nShowAll, showAllCounter: this.showAllCount === undefined
152
+ return (h(Host, { key: '317a088e7cf0ac2ff01d46fabe293b6dafa55d49' }, h(CardListTitle, { key: '1eb6e1e6c43432737bd9d1718c89539ae9dce42b', isCollapsed: this.collapse, label: this.label, showAllLabel: this.i18nShowAll, showAllCounter: this.showAllCount === undefined
153
153
  ? this.numberOfAllChildElements
154
- : this.showAllCount, onClick: () => this.onCardListVisibilityToggle(), onShowAllClick: (e) => this.onShowAllClick(e), hideShowAll: this.hideShowAll }), h("div", { key: '1dce56bb96d98b521968a638ef85bf08239f7c40', class: {
154
+ : this.showAllCount, onClick: () => this.onCardListVisibilityToggle(), onShowAllClick: (e) => this.onShowAllClick(e), hideShowAll: this.hideShowAll }), h("div", { key: '0c47be401efa5bd5dec00ad948b15d9d46a1a29f', class: {
155
155
  CardList__Overflow: true,
156
- }, style: this.computeMaskLayer() }, h("div", { key: '180f78aea31192e7b93d973640928a68e628a2fd', class: {
156
+ }, style: this.computeMaskLayer() }, h("div", { key: '32cd8526bf44cef7249b08c8fc68d446ff6962af', class: {
157
157
  CardList__Content: true,
158
158
  CardList__Content__Collapsed: this.collapse,
159
159
  CardList__Style__Flexbox__Scroll: this.listStyle === 'stack',
160
160
  CardList__Style__Infinite__Scroll: this.listStyle === 'scroll',
161
- }, onScroll: () => this.onCardListScroll() }, h("slot", { key: 'e8b077edebf94df6b740bf2634549f7a7dd40f17', onSlotchange: () => this.changeVisibilityOfSlotChildren() }), this.isShowMoreCardVisible() ? (h("ix-card", { class: {
161
+ }, onScroll: () => this.onCardListScroll() }, h("slot", { key: 'a75fd0e0d1a4abd96d00db8bbbe78cc4f9b1c100', onSlotchange: () => this.changeVisibilityOfSlotChildren() }), this.isShowMoreCardVisible() ? (h("ix-card", { class: {
162
162
  Show__All__Card: true,
163
163
  }, onClick: (event) => this.showMoreCardClick.emit({
164
164
  nativeEvent: event,
165
- }) }, h("ix-card-content", { class: "Show__All__Card__Content" }, h("ix-icon", { name: 'more-menu', size: '32', class: 'Show__All__Card__Icon' }), h("span", { class: "Show__All__Card__Text" }, this.i18nMoreCards, " (", this.numberOfOverflowingElements, ")")))) : null))));
165
+ }) }, h("ix-card-content", null, h("div", { class: "Show__All__Card__Content" }, h("ix-icon", { name: 'more-menu', size: '32', class: 'Show__All__Card__Icon' }), h("span", { class: "Show__All__Card__Text" }, this.i18nMoreCards, " (", this.numberOfOverflowingElements, ")"))))) : null))));
166
166
  }
167
167
  get hostElement() { return this; }
168
168
  static get style() { return IxCardListStyle0; }
@@ -1 +1 @@
1
- {"file":"ix-card-list.js","mappings":"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","names":[],"sources":["src/components/card-list/card-list.scss?tag=ix-card-list&encapsulation=shadow","src/components/card-list/card-list.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\n$CardList__Title__Height: 1.5rem;\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n margin: 0.5rem;\n\n .CardList_Title {\n display: flex;\n position: relative;\n height: $CardList__Title__Height;\n align-items: center;\n width: 100%;\n margin-bottom: 1rem;\n\n &__Label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n\n .CardList__Title__Button {\n margin-right: 1rem;\n transition: var(--theme-default-time) transform ease-in-out;\n }\n\n .CardList__Title__Button__Collapsed {\n transform: rotate(-90deg);\n }\n\n .CardList__Title__Show__All {\n align-self: center;\n margin-left: auto;\n margin-right: 0px;\n flex-shrink: 0;\n }\n\n .CardList__Content {\n display: flex;\n position: relative;\n height: calc(100% - #{$CardList__Title__Height});\n width: 100%;\n gap: 1.5rem;\n transition: var(--theme-default-time) ease-in-out;\n overflow: auto;\n }\n\n .CardList__Content__Collapsed {\n min-height: 0px;\n max-height: 0px;\n overflow: hidden;\n opacity: 0;\n }\n\n .CardList__Style__Flexbox__Scroll {\n flex-wrap: wrap;\n }\n\n .CardList__Style__Infinite__Scroll {\n flex-wrap: nowrap;\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .CardList__Overflow {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n pointer-events: all;\n mask-image: var(--ix-card-list-overflow, none);\n }\n\n .Show__All__Card {\n display: flex;\n position: relative;\n\n align-self: flex-start;\n justify-self: center;\n\n max-width: 11.25rem;\n min-width: 11.25rem;\n width: 11.25rem;\n\n min-height: 11.25rem;\n max-height: 11.25rem;\n height: 11.25rem;\n\n --ix-card-border-color: var(--theme-color-primary);\n color: var(--theme-color-primary);\n }\n\n .CardList__Style__Infinite__Scroll .Show__All__Card {\n margin-top: 2.375rem;\n }\n\n .CardList__Style__Flexbox__Scroll .Show__All__Card {\n margin-bottom: 2.375rem;\n }\n\n .Show__All__Card:hover {\n background-color: var(--theme-color-ghost--hover);\n }\n\n .Show__All__Card:active {\n background-color: var(--theme-color-ghost--active);\n }\n\n .Show__All__Card__Content {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .Show__All__Card__Icon {\n display: flex;\n position: absolute;\n height: 4rem;\n width: 4rem;\n justify-content: center;\n align-items: center;\n }\n\n .Show__All__Card__Text {\n margin-bottom: 0px;\n margin-top: auto;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\nfunction CardListTitle(props: {\n label?: string;\n isCollapsed: boolean;\n onClick: (e: MouseEvent) => void;\n onShowAllClick: (e: MouseEvent) => void;\n showAllLabel: string;\n showAllCounter: number;\n hideShowAll: boolean;\n}) {\n if (!props.label) {\n return null;\n }\n\n return (\n <div class=\"CardList_Title\">\n <ix-icon-button\n ghost\n icon={'chevron-down'}\n onClick={props.onClick}\n color=\"color-primary\"\n class={{\n CardList__Title__Button: true,\n CardList__Title__Button__Collapsed: props.isCollapsed,\n }}\n ></ix-icon-button>\n <ix-typography class=\"CardList_Title__Label\" format=\"body-lg\">\n {props.label}\n </ix-typography>\n {!props.hideShowAll && (\n <ix-button\n class=\"CardList__Title__Show__All\"\n ghost\n onClick={props.onShowAllClick}\n >\n <span>{props.showAllLabel}</span>\n <span>\n {!isNaN(props.showAllCounter) ? ` (${props.showAllCounter})` : null}\n </span>\n </ix-button>\n )}\n </div>\n );\n}\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-card-list',\n styleUrl: 'card-list.scss',\n shadow: true,\n})\nexport class CardList {\n /**\n * Name the card list\n */\n @Prop() label?: string;\n\n /**\n * Collapse the list\n */\n @Prop({ mutable: true }) collapse = false;\n\n /**\n * List style\n */\n @Prop() listStyle: 'stack' | 'scroll' = 'stack';\n\n /**\n * Maximal visible cards\n *\n * @internal\n */\n @Prop() maxVisibleCards = 12;\n\n /**\n * Overwrite the default show all count.\n * */\n @Prop() showAllCount?: number;\n\n /**\n * Suppress the overflow handling of child elements\n */\n @Prop() suppressOverflowHandling = false;\n\n /**\n * Hide the show all button\n *\n * @since 2.2.0\n */\n @Prop() hideShowAll = false;\n\n /**\n * i18n Show all button\n */\n @Prop() i18nShowAll = 'Show all';\n\n /**\n * i18n More cards available\n */\n @Prop() i18nMoreCards = 'There are more cards available';\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() collapseChanged!: EventEmitter<boolean>;\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() showAllClick!: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n /**\n * Fire event when the show more card is clicked.\n */\n @Event() showMoreCardClick!: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n @Element() hostElement!: HTMLIxCardListElement;\n\n @State() private hasOverflowingElements = false;\n @State() private numberOfOverflowingElements = 0;\n @State() private numberOfAllChildElements = 0;\n @State() private leftScrollDistance = 0;\n @State() private rightScrollDistance = 0;\n\n private observer?: MutationObserver;\n\n private onCardListVisibilityToggle() {\n this.collapse = !this.collapse;\n this.collapseChanged.emit(this.collapse);\n }\n\n private onShowAllClick(event: MouseEvent) {\n this.showAllClick.emit({\n nativeEvent: event,\n });\n }\n\n private getListChildren() {\n const slot = this.hostElement.shadowRoot!.querySelector(\n '.CardList__Content > slot'\n ) as HTMLSlotElement;\n return slot.assignedElements({ flatten: true });\n }\n\n private changeVisibilityOfSlotChildren() {\n const childElements = this.getListChildren();\n childElements.forEach((element, index) => {\n if (element instanceof HTMLElement) {\n if (index > this.maxVisibleCards - 1) {\n element.classList.add('d-none');\n return;\n }\n element.classList.remove('d-none');\n }\n });\n this.hasOverflowingElements = childElements.length > this.maxVisibleCards;\n this.numberOfOverflowingElements =\n childElements.length - this.maxVisibleCards;\n\n this.numberOfAllChildElements = childElements.length;\n this.detectOverflow();\n }\n\n private registerOverflowHandler() {\n this.observer = createMutationObserver(() => {\n this.changeVisibilityOfSlotChildren();\n });\n\n this.observer.observe(\n this.hostElement.shadowRoot!.querySelector('.CardList__Content')!,\n {\n childList: true,\n subtree: true,\n }\n );\n\n requestAnimationFrame(() => {\n this.changeVisibilityOfSlotChildren();\n });\n }\n\n private shouldHandleOverflow() {\n if (this.suppressOverflowHandling) {\n return false;\n }\n if (this.listStyle === 'stack' || this.listStyle === 'scroll') {\n return true;\n }\n }\n\n private get listElement() {\n return this.hostElement.shadowRoot!.querySelector('.CardList__Content');\n }\n\n private onCardListScroll() {\n this.detectOverflow();\n }\n\n private isShowMoreCardVisible() {\n return (\n this.suppressOverflowHandling === false && this.hasOverflowingElements\n );\n }\n\n private getOpacityFromScrollDistance(distance: number) {\n if (!this.listElement) {\n return 0;\n }\n\n if (distance === 0) {\n return 0;\n }\n\n if (distance > 100) {\n return 1;\n }\n\n return distance / 100;\n }\n\n private computeMaskLayer() {\n const maxOverflowWidth = 80;\n const maskLayer = `linear-gradient(\n 90deg,\n transparent 0px,\n black ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.leftScrollDistance) > 0 ? 1 : 0)\n }px,\n black calc(100% - ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.rightScrollDistance) > 0\n ? 1\n : 0)\n }px),\n transparent 100%\n )`;\n return {\n '--ix-card-list-overflow': maskLayer,\n };\n }\n\n @Listen('resize', { target: 'window' })\n private detectOverflow() {\n if (!this.listElement) {\n return;\n }\n const { clientWidth, scrollWidth, scrollLeft } = this.listElement;\n\n this.leftScrollDistance = scrollLeft;\n this.rightScrollDistance = scrollWidth - scrollLeft - clientWidth;\n }\n\n componentDidLoad() {\n if (this.shouldHandleOverflow()) {\n this.registerOverflowHandler();\n }\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <CardListTitle\n isCollapsed={this.collapse}\n label={this.label}\n showAllLabel={this.i18nShowAll}\n showAllCounter={\n this.showAllCount === undefined\n ? this.numberOfAllChildElements\n : this.showAllCount\n }\n onClick={() => this.onCardListVisibilityToggle()}\n onShowAllClick={(e) => this.onShowAllClick(e)}\n hideShowAll={this.hideShowAll}\n ></CardListTitle>\n <div\n class={{\n CardList__Overflow: true,\n }}\n style={this.computeMaskLayer()}\n >\n <div\n class={{\n CardList__Content: true,\n CardList__Content__Collapsed: this.collapse,\n CardList__Style__Flexbox__Scroll: this.listStyle === 'stack',\n CardList__Style__Infinite__Scroll: this.listStyle === 'scroll',\n }}\n onScroll={() => this.onCardListScroll()}\n >\n <slot\n onSlotchange={() => this.changeVisibilityOfSlotChildren()}\n ></slot>\n {this.isShowMoreCardVisible() ? (\n <ix-card\n class={{\n Show__All__Card: true,\n }}\n onClick={(event) =>\n this.showMoreCardClick.emit({\n nativeEvent: event,\n })\n }\n >\n <ix-card-content class=\"Show__All__Card__Content\">\n <ix-icon\n name={'more-menu'}\n size={'32'}\n class={'Show__All__Card__Icon'}\n ></ix-icon>\n <span class=\"Show__All__Card__Text\">\n {this.i18nMoreCards} ({this.numberOfOverflowingElements})\n </span>\n </ix-card-content>\n </ix-card>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-card-list.js","mappings":"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","names":[],"sources":["src/components/card-list/card-list.scss?tag=ix-card-list&encapsulation=shadow","src/components/card-list/card-list.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\n$CardList__Title__Height: 1.5rem;\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n margin: 0.5rem;\n\n .CardList_Title {\n display: flex;\n position: relative;\n height: $CardList__Title__Height;\n align-items: center;\n width: 100%;\n margin-bottom: 1rem;\n\n &__Label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n\n .CardList__Title__Button {\n margin-right: 1rem;\n transition: var(--theme-default-time) transform ease-in-out;\n }\n\n .CardList__Title__Button__Collapsed {\n transform: rotate(-90deg);\n }\n\n .CardList__Title__Show__All {\n align-self: center;\n margin-left: auto;\n margin-right: 0px;\n flex-shrink: 0;\n }\n\n .CardList__Content {\n display: flex;\n position: relative;\n height: calc(100% - #{$CardList__Title__Height});\n width: 100%;\n gap: 1.5rem;\n transition: var(--theme-default-time) ease-in-out;\n overflow: auto;\n }\n\n .CardList__Content__Collapsed {\n min-height: 0px;\n max-height: 0px;\n overflow: hidden;\n opacity: 0;\n }\n\n .CardList__Style__Flexbox__Scroll {\n flex-wrap: wrap;\n }\n\n .CardList__Style__Infinite__Scroll {\n flex-wrap: nowrap;\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .CardList__Overflow {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n pointer-events: all;\n mask-image: var(--ix-card-list-overflow, none);\n }\n\n .Show__All__Card {\n display: flex;\n position: relative;\n\n align-self: flex-start;\n justify-self: center;\n\n max-width: 11.25rem;\n min-width: 11.25rem;\n width: 11.25rem;\n\n min-height: 11.25rem;\n max-height: 11.25rem;\n height: 11.25rem;\n\n --ix-card-border-color: var(--theme-color-primary);\n color: var(--theme-color-primary);\n }\n\n .CardList__Style__Infinite__Scroll .Show__All__Card {\n margin-top: 2.375rem;\n }\n\n .CardList__Style__Flexbox__Scroll .Show__All__Card {\n margin-bottom: 2.375rem;\n }\n\n .Show__All__Card:hover {\n background-color: var(--theme-color-ghost--hover);\n }\n\n .Show__All__Card:active {\n background-color: var(--theme-color-ghost--active);\n }\n\n .Show__All__Card__Content {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n }\n\n .Show__All__Card__Icon {\n display: flex;\n position: absolute;\n height: 4rem;\n width: 4rem;\n justify-content: center;\n align-items: center;\n }\n\n .Show__All__Card__Text {\n margin-bottom: 0px;\n margin-top: auto;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\nfunction CardListTitle(props: {\n label?: string;\n isCollapsed: boolean;\n onClick: (e: MouseEvent) => void;\n onShowAllClick: (e: MouseEvent) => void;\n showAllLabel: string;\n showAllCounter: number;\n hideShowAll: boolean;\n}) {\n if (!props.label) {\n return null;\n }\n\n return (\n <div class=\"CardList_Title\">\n <ix-icon-button\n ghost\n icon={'chevron-down'}\n onClick={props.onClick}\n color=\"color-primary\"\n class={{\n CardList__Title__Button: true,\n CardList__Title__Button__Collapsed: props.isCollapsed,\n }}\n ></ix-icon-button>\n <ix-typography class=\"CardList_Title__Label\" format=\"body-lg\">\n {props.label}\n </ix-typography>\n {!props.hideShowAll && (\n <ix-button\n class=\"CardList__Title__Show__All\"\n ghost\n onClick={props.onShowAllClick}\n >\n <span>{props.showAllLabel}</span>\n <span>\n {!isNaN(props.showAllCounter) ? ` (${props.showAllCounter})` : null}\n </span>\n </ix-button>\n )}\n </div>\n );\n}\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-card-list',\n styleUrl: 'card-list.scss',\n shadow: true,\n})\nexport class CardList {\n /**\n * Name the card list\n */\n @Prop() label?: string;\n\n /**\n * Collapse the list\n */\n @Prop({ mutable: true }) collapse = false;\n\n /**\n * List style\n */\n @Prop() listStyle: 'stack' | 'scroll' = 'stack';\n\n /**\n * Maximal visible cards\n *\n * @internal\n */\n @Prop() maxVisibleCards = 12;\n\n /**\n * Overwrite the default show all count.\n * */\n @Prop() showAllCount?: number;\n\n /**\n * Suppress the overflow handling of child elements\n */\n @Prop() suppressOverflowHandling = false;\n\n /**\n * Hide the show all button\n *\n * @since 2.2.0\n */\n @Prop() hideShowAll = false;\n\n /**\n * i18n Show all button\n */\n @Prop() i18nShowAll = 'Show all';\n\n /**\n * i18n More cards available\n */\n @Prop() i18nMoreCards = 'There are more cards available';\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() collapseChanged!: EventEmitter<boolean>;\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() showAllClick!: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n /**\n * Fire event when the show more card is clicked.\n */\n @Event() showMoreCardClick!: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n @Element() hostElement!: HTMLIxCardListElement;\n\n @State() private hasOverflowingElements = false;\n @State() private numberOfOverflowingElements = 0;\n @State() private numberOfAllChildElements = 0;\n @State() private leftScrollDistance = 0;\n @State() private rightScrollDistance = 0;\n\n private observer?: MutationObserver;\n\n private onCardListVisibilityToggle() {\n this.collapse = !this.collapse;\n this.collapseChanged.emit(this.collapse);\n }\n\n private onShowAllClick(event: MouseEvent) {\n this.showAllClick.emit({\n nativeEvent: event,\n });\n }\n\n private getListChildren() {\n const slot = this.hostElement.shadowRoot!.querySelector(\n '.CardList__Content > slot'\n ) as HTMLSlotElement;\n return slot.assignedElements({ flatten: true });\n }\n\n private changeVisibilityOfSlotChildren() {\n const childElements = this.getListChildren();\n childElements.forEach((element, index) => {\n if (element instanceof HTMLElement) {\n if (index > this.maxVisibleCards - 1) {\n element.classList.add('d-none');\n return;\n }\n element.classList.remove('d-none');\n }\n });\n this.hasOverflowingElements = childElements.length > this.maxVisibleCards;\n this.numberOfOverflowingElements =\n childElements.length - this.maxVisibleCards;\n\n this.numberOfAllChildElements = childElements.length;\n this.detectOverflow();\n }\n\n private registerOverflowHandler() {\n this.observer = createMutationObserver(() => {\n this.changeVisibilityOfSlotChildren();\n });\n\n this.observer.observe(\n this.hostElement.shadowRoot!.querySelector('.CardList__Content')!,\n {\n childList: true,\n subtree: true,\n }\n );\n\n requestAnimationFrame(() => {\n this.changeVisibilityOfSlotChildren();\n });\n }\n\n private shouldHandleOverflow() {\n if (this.suppressOverflowHandling) {\n return false;\n }\n if (this.listStyle === 'stack' || this.listStyle === 'scroll') {\n return true;\n }\n }\n\n private get listElement() {\n return this.hostElement.shadowRoot!.querySelector('.CardList__Content');\n }\n\n private onCardListScroll() {\n this.detectOverflow();\n }\n\n private isShowMoreCardVisible() {\n return (\n this.suppressOverflowHandling === false && this.hasOverflowingElements\n );\n }\n\n private getOpacityFromScrollDistance(distance: number) {\n if (!this.listElement) {\n return 0;\n }\n\n if (distance === 0) {\n return 0;\n }\n\n if (distance > 100) {\n return 1;\n }\n\n return distance / 100;\n }\n\n private computeMaskLayer() {\n const maxOverflowWidth = 80;\n const maskLayer = `linear-gradient(\n 90deg,\n transparent 0px,\n black ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.leftScrollDistance) > 0 ? 1 : 0)\n }px,\n black calc(100% - ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.rightScrollDistance) > 0\n ? 1\n : 0)\n }px),\n transparent 100%\n )`;\n return {\n '--ix-card-list-overflow': maskLayer,\n };\n }\n\n @Listen('resize', { target: 'window' })\n private detectOverflow() {\n if (!this.listElement) {\n return;\n }\n const { clientWidth, scrollWidth, scrollLeft } = this.listElement;\n\n this.leftScrollDistance = scrollLeft;\n this.rightScrollDistance = scrollWidth - scrollLeft - clientWidth;\n }\n\n componentDidLoad() {\n if (this.shouldHandleOverflow()) {\n this.registerOverflowHandler();\n }\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <CardListTitle\n isCollapsed={this.collapse}\n label={this.label}\n showAllLabel={this.i18nShowAll}\n showAllCounter={\n this.showAllCount === undefined\n ? this.numberOfAllChildElements\n : this.showAllCount\n }\n onClick={() => this.onCardListVisibilityToggle()}\n onShowAllClick={(e) => this.onShowAllClick(e)}\n hideShowAll={this.hideShowAll}\n ></CardListTitle>\n <div\n class={{\n CardList__Overflow: true,\n }}\n style={this.computeMaskLayer()}\n >\n <div\n class={{\n CardList__Content: true,\n CardList__Content__Collapsed: this.collapse,\n CardList__Style__Flexbox__Scroll: this.listStyle === 'stack',\n CardList__Style__Infinite__Scroll: this.listStyle === 'scroll',\n }}\n onScroll={() => this.onCardListScroll()}\n >\n <slot\n onSlotchange={() => this.changeVisibilityOfSlotChildren()}\n ></slot>\n {this.isShowMoreCardVisible() ? (\n <ix-card\n class={{\n Show__All__Card: true,\n }}\n onClick={(event) =>\n this.showMoreCardClick.emit({\n nativeEvent: event,\n })\n }\n >\n <ix-card-content>\n <div class=\"Show__All__Card__Content\">\n <ix-icon\n name={'more-menu'}\n size={'32'}\n class={'Show__All__Card__Icon'}\n ></ix-icon>\n <span class=\"Show__All__Card__Text\">\n {this.i18nMoreCards} ({this.numberOfOverflowingElements})\n </span>\n </div>\n </ix-card-content>\n </ix-card>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}