@siemens/ix 2.1.1 → 2.1.2

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 (623) hide show
  1. package/components/application-header.js +3 -3
  2. package/components/avatar.js +1 -1
  3. package/components/avatar.js.map +1 -1
  4. package/components/burger-menu.js +1 -1
  5. package/components/card-content.js +1 -1
  6. package/components/card-title.js +1 -1
  7. package/components/date-picker.js +4 -4
  8. package/components/date-time-card.js +1 -1
  9. package/components/divider.js +1 -1
  10. package/components/dropdown-item.js +3 -3
  11. package/components/dropdown.js +5 -3
  12. package/components/dropdown.js.map +1 -1
  13. package/components/filter-chip.js +1 -1
  14. package/components/group-context-menu.js +1 -1
  15. package/components/group-item.js +2 -2
  16. package/components/icon-button.js +1 -1
  17. package/components/ix-application-sidebar.js +1 -1
  18. package/components/ix-application-switch-modal.js +1 -1
  19. package/components/ix-application.js +3 -3
  20. package/components/ix-basic-navigation.js +2 -2
  21. package/components/ix-breadcrumb.js +2 -2
  22. package/components/ix-card-list.js +4 -4
  23. package/components/ix-category-filter.js +3 -3
  24. package/components/ix-chip.js +4 -4
  25. package/components/ix-content.js +3 -3
  26. package/components/ix-css-grid-item.js +1 -1
  27. package/components/ix-date-dropdown.js +6 -6
  28. package/components/ix-date-dropdown.js.map +1 -1
  29. package/components/ix-datetime-picker.js +1 -1
  30. package/components/ix-drawer.js +2 -2
  31. package/components/ix-dropdown-button.js +2 -2
  32. package/components/ix-dropdown-header.js +1 -1
  33. package/components/ix-dropdown-quick-actions.js +1 -1
  34. package/components/ix-empty-state.js +1 -1
  35. package/components/ix-event-list-item.js +4 -4
  36. package/components/ix-event-list.js +2 -2
  37. package/components/ix-expanding-search.js +4 -4
  38. package/components/ix-flip-tile-content.js +1 -1
  39. package/components/ix-flip-tile.js +4 -4
  40. package/components/ix-form-field.js +1 -1
  41. package/components/ix-group.js +4 -4
  42. package/components/ix-icon-toggle-button.js +1 -1
  43. package/components/ix-input-group.js +1 -1
  44. package/components/ix-key-value-list.js +1 -1
  45. package/components/ix-key-value.js +1 -1
  46. package/components/ix-kpi.js +3 -3
  47. package/components/ix-link-button.js +3 -3
  48. package/components/ix-map-navigation.js +2 -2
  49. package/components/ix-menu-about-item.js +1 -1
  50. package/components/ix-menu-about-news.js +5 -5
  51. package/components/ix-menu-about-news.js.map +1 -1
  52. package/components/ix-menu-about.js +1 -1
  53. package/components/ix-menu-avatar.js +3 -3
  54. package/components/ix-menu-avatar.js.map +1 -1
  55. package/components/ix-menu-category.js +5 -5
  56. package/components/ix-menu-settings-item.js +1 -1
  57. package/components/ix-menu.js +19 -11
  58. package/components/ix-menu.js.map +1 -1
  59. package/components/ix-message-bar.js +1 -1
  60. package/components/ix-modal-example.js +1 -1
  61. package/components/ix-modal-footer.js +2 -2
  62. package/components/ix-modal-footer.js.map +1 -1
  63. package/components/ix-modal-loading.js +1 -1
  64. package/components/ix-modal.js +4 -4
  65. package/components/ix-modal.js.map +1 -1
  66. package/components/ix-pagination.js +2 -2
  67. package/components/ix-pane-layout.js +1 -1
  68. package/components/ix-pane.js +6 -6
  69. package/components/ix-pill.js +4 -4
  70. package/components/ix-playground-internal.js +1 -1
  71. package/components/ix-push-card.js +1 -1
  72. package/components/ix-slider.js +6 -6
  73. package/components/ix-split-button-item.js +1 -1
  74. package/components/ix-split-button.js +1 -1
  75. package/components/ix-tile.js +4 -4
  76. package/components/ix-toast-container.js +1 -1
  77. package/components/ix-toggle-button.js +2 -2
  78. package/components/ix-toggle.js +2 -2
  79. package/components/ix-tree.js +1 -1
  80. package/components/ix-upload.js +3 -3
  81. package/components/ix-validation-tooltip.js +2 -2
  82. package/components/ix-workflow-step.js +3 -3
  83. package/components/ix-workflow-steps.js +1 -1
  84. package/components/layout-grid.js +2 -2
  85. package/components/map-navigation-overlay.js +2 -2
  86. package/components/menu-avatar-item.js +1 -1
  87. package/components/menu-item.js +3 -3
  88. package/components/menu-item.js.map +1 -1
  89. package/components/menu-tabs-fc.js +1 -1
  90. package/components/modal-content.js +2 -2
  91. package/components/modal-content.js.map +1 -1
  92. package/components/modal-header.js +2 -2
  93. package/components/modal-header.js.map +1 -1
  94. package/components/row.js +1 -1
  95. package/components/select-item.js +2 -2
  96. package/components/select-item.js.map +1 -1
  97. package/components/select.js +6 -6
  98. package/components/spinner.js +1 -1
  99. package/components/tab-item.js +3 -3
  100. package/components/tabs.js +2 -2
  101. package/components/time-picker.js +3 -3
  102. package/components/toast.js +2 -2
  103. package/components/tooltip.js +2 -2
  104. package/components/tree-item.js +4 -4
  105. package/components/typography.js +2 -2
  106. package/components/typography.js.map +1 -1
  107. package/dist/cjs/ix-application-header.cjs.entry.js +3 -3
  108. package/dist/cjs/ix-application-sidebar.cjs.entry.js +1 -1
  109. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
  110. package/dist/cjs/ix-application.cjs.entry.js +3 -3
  111. package/dist/cjs/ix-avatar_2.cjs.entry.js +2 -2
  112. package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ix-basic-navigation.cjs.entry.js +2 -2
  114. package/dist/cjs/ix-breadcrumb.cjs.entry.js +2 -2
  115. package/dist/cjs/ix-burger-menu.cjs.entry.js +1 -1
  116. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +1 -1
  117. package/dist/cjs/ix-card-list.cjs.entry.js +4 -4
  118. package/dist/cjs/ix-card_2.cjs.entry.js +1 -1
  119. package/dist/cjs/ix-category-filter.cjs.entry.js +3 -3
  120. package/dist/cjs/ix-chip.cjs.entry.js +4 -4
  121. package/dist/cjs/ix-col_4.cjs.entry.js +7 -7
  122. package/dist/cjs/ix-content.cjs.entry.js +3 -3
  123. package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
  124. package/dist/cjs/ix-date-dropdown.cjs.entry.js +6 -6
  125. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
  127. package/dist/cjs/ix-datetime-picker.cjs.entry.js +1 -1
  128. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  129. package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
  130. package/dist/cjs/ix-dropdown-button.cjs.entry.js +2 -2
  131. package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
  132. package/dist/cjs/ix-dropdown-item.cjs.entry.js +3 -3
  133. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  134. package/dist/cjs/ix-dropdown.cjs.entry.js +5 -3
  135. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  136. package/dist/cjs/ix-empty-state.cjs.entry.js +1 -1
  137. package/dist/cjs/ix-event-list-item.cjs.entry.js +4 -4
  138. package/dist/cjs/ix-event-list.cjs.entry.js +2 -2
  139. package/dist/cjs/ix-expanding-search.cjs.entry.js +4 -4
  140. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +3 -3
  141. package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
  142. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
  143. package/dist/cjs/ix-flip-tile.cjs.entry.js +4 -4
  144. package/dist/cjs/ix-form-field.cjs.entry.js +1 -1
  145. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +3 -3
  146. package/dist/cjs/ix-group.cjs.entry.js +4 -4
  147. package/dist/cjs/ix-icon-button_2.cjs.entry.js +2 -2
  148. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
  149. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  150. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  151. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  152. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  153. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  154. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  155. package/dist/cjs/ix-map-navigation.cjs.entry.js +2 -2
  156. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  157. package/dist/cjs/ix-menu-about-news.cjs.entry.js +5 -5
  158. package/dist/cjs/ix-menu-about-news.cjs.entry.js.map +1 -1
  159. package/dist/cjs/ix-menu-about.cjs.entry.js +2 -2
  160. package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
  161. package/dist/cjs/ix-menu-avatar.cjs.entry.js.map +1 -1
  162. package/dist/cjs/ix-menu-category.cjs.entry.js +5 -5
  163. package/dist/cjs/ix-menu-item.cjs.entry.js +3 -3
  164. package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
  165. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  166. package/dist/cjs/ix-menu-settings.cjs.entry.js +1 -1
  167. package/dist/cjs/ix-menu.cjs.entry.js +19 -11
  168. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  169. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  170. package/dist/cjs/ix-modal-content_2.cjs.entry.js +4 -4
  171. package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
  172. package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
  173. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  174. package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
  175. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  176. package/dist/cjs/ix-modal.cjs.entry.js +4 -4
  177. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  178. package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
  179. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  180. package/dist/cjs/ix-pane.cjs.entry.js +6 -6
  181. package/dist/cjs/ix-pill.cjs.entry.js +4 -4
  182. package/dist/cjs/ix-playground-internal.cjs.entry.js +1 -1
  183. package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
  184. package/dist/cjs/ix-select.cjs.entry.js +6 -6
  185. package/dist/cjs/ix-slider.cjs.entry.js +6 -6
  186. package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
  187. package/dist/cjs/ix-split-button.cjs.entry.js +1 -1
  188. package/dist/cjs/ix-tab-item_2.cjs.entry.js +5 -5
  189. package/dist/cjs/ix-tile.cjs.entry.js +4 -4
  190. package/dist/cjs/ix-time-picker.cjs.entry.js +3 -3
  191. package/dist/cjs/ix-toast-container.cjs.entry.js +1 -1
  192. package/dist/cjs/ix-toast.cjs.entry.js +2 -2
  193. package/dist/cjs/ix-toggle-button.cjs.entry.js +2 -2
  194. package/dist/cjs/ix-toggle.cjs.entry.js +2 -2
  195. package/dist/cjs/ix-tooltip.cjs.entry.js +2 -2
  196. package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
  197. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  198. package/dist/cjs/ix-typography.cjs.entry.js +2 -2
  199. package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
  200. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  201. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +2 -2
  202. package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
  203. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  204. package/dist/cjs/{menu-tabs-fc-b6a9af97.js → menu-tabs-fc-30a1b06b.js} +2 -2
  205. package/dist/cjs/{menu-tabs-fc-b6a9af97.js.map → menu-tabs-fc-30a1b06b.js.map} +1 -1
  206. package/dist/collection/components/application/application.js +3 -3
  207. package/dist/collection/components/application-header/application-header.js +3 -3
  208. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
  209. package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
  210. package/dist/collection/components/avatar/avatar.css +3 -3
  211. package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
  212. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  213. package/dist/collection/components/card-content/card-content.js +1 -1
  214. package/dist/collection/components/card-list/card-list.js +4 -4
  215. package/dist/collection/components/card-title/card-title.js +1 -1
  216. package/dist/collection/components/category-filter/category-filter.js +3 -3
  217. package/dist/collection/components/chip/chip.js +4 -4
  218. package/dist/collection/components/content/content.js +3 -3
  219. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  220. package/dist/collection/components/date-dropdown/date-dropdown.css +3 -0
  221. package/dist/collection/components/date-dropdown/date-dropdown.js +5 -5
  222. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  223. package/dist/collection/components/date-picker/date-picker.js +4 -4
  224. package/dist/collection/components/date-time-card/date-time-card.js +1 -1
  225. package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
  226. package/dist/collection/components/divider/divider.js +1 -1
  227. package/dist/collection/components/drawer/drawer.js +2 -2
  228. package/dist/collection/components/dropdown/dropdown.js +5 -3
  229. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  230. package/dist/collection/components/dropdown-button/dropdown-button.js +2 -2
  231. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  232. package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
  233. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  234. package/dist/collection/components/empty-state/empty-state.js +1 -1
  235. package/dist/collection/components/event-list/event-list.js +2 -2
  236. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  237. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  238. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  239. package/dist/collection/components/flip-tile/flip-tile.js +4 -4
  240. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  241. package/dist/collection/components/form-field/form-field.js +1 -1
  242. package/dist/collection/components/grid/layout-grid.js +2 -2
  243. package/dist/collection/components/group/group-context-menu.js +1 -1
  244. package/dist/collection/components/group/group.js +4 -4
  245. package/dist/collection/components/group-item/group-item.js +2 -2
  246. package/dist/collection/components/icon-button/icon-button.js +1 -1
  247. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  248. package/dist/collection/components/input-group/input-group.js +1 -1
  249. package/dist/collection/components/key-value/key-value.js +1 -1
  250. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  251. package/dist/collection/components/kpi/kpi.js +3 -3
  252. package/dist/collection/components/link-button/link-button.js +3 -3
  253. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  254. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  255. package/dist/collection/components/menu/burger-menu.js +1 -1
  256. package/dist/collection/components/menu/menu.css +16 -9
  257. package/dist/collection/components/menu/menu.js +18 -10
  258. package/dist/collection/components/menu/menu.js.map +1 -1
  259. package/dist/collection/components/menu-about/menu-about.js +1 -1
  260. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  261. package/dist/collection/components/menu-about-news/menu-about-news.css +2 -5
  262. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  263. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  264. package/dist/collection/components/menu-avatar/menu-avatar.css +1 -24
  265. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  266. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  267. package/dist/collection/components/menu-category/menu-category.js +5 -5
  268. package/dist/collection/components/menu-item/menu-item.css +1 -2
  269. package/dist/collection/components/menu-item/menu-item.js +2 -2
  270. package/dist/collection/components/menu-settings/menu-settings.js +1 -1
  271. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  272. package/dist/collection/components/message-bar/message-bar.js +1 -1
  273. package/dist/collection/components/modal/modal.css +5 -4
  274. package/dist/collection/components/modal/modal.js +3 -3
  275. package/dist/collection/components/modal-content/modal-content.css +1 -1
  276. package/dist/collection/components/modal-content/modal-content.js +1 -1
  277. package/dist/collection/components/modal-footer/modal-footer.css +1 -2
  278. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  279. package/dist/collection/components/modal-header/modal-header.css +2 -2
  280. package/dist/collection/components/modal-header/modal-header.js +1 -1
  281. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  282. package/dist/collection/components/pagination/pagination.js +2 -2
  283. package/dist/collection/components/pane/pane.js +6 -6
  284. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  285. package/dist/collection/components/pill/pill.js +4 -4
  286. package/dist/collection/components/playground/example-modal.js +1 -1
  287. package/dist/collection/components/playground/playground.js +1 -1
  288. package/dist/collection/components/push-card/push-card.js +1 -1
  289. package/dist/collection/components/row/row.js +1 -1
  290. package/dist/collection/components/select/select.js +6 -6
  291. package/dist/collection/components/select-item/select-item.css +3 -0
  292. package/dist/collection/components/select-item/select-item.js +1 -1
  293. package/dist/collection/components/slider/slider.js +6 -6
  294. package/dist/collection/components/spinner/spinner.js +1 -1
  295. package/dist/collection/components/split-button/split-button.js +1 -1
  296. package/dist/collection/components/split-button-item/split-button-item.js +1 -1
  297. package/dist/collection/components/tab-item/tab-item.js +3 -3
  298. package/dist/collection/components/tabs/tabs.js +2 -2
  299. package/dist/collection/components/tile/tile.js +4 -4
  300. package/dist/collection/components/time-picker/time-picker.js +3 -3
  301. package/dist/collection/components/toast/toast-container.js +1 -1
  302. package/dist/collection/components/toast/toast.js +2 -2
  303. package/dist/collection/components/toggle/toggle.js +2 -2
  304. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  305. package/dist/collection/components/tooltip/tooltip.js +2 -2
  306. package/dist/collection/components/tree/tree.js +1 -1
  307. package/dist/collection/components/tree-item/tree-item.js +4 -4
  308. package/dist/collection/components/typography/typography.js +2 -2
  309. package/dist/collection/components/typography/typography.js.map +1 -1
  310. package/dist/collection/components/upload/upload.js +3 -3
  311. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  312. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  313. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  314. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js +22 -0
  315. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js.map +1 -1
  316. package/dist/collection/tests/menu/menu.e2e.js +52 -0
  317. package/dist/collection/tests/menu/menu.e2e.js.map +1 -1
  318. package/dist/collection/tests/typography/typography.e2e.js +29 -0
  319. package/dist/collection/tests/typography/typography.e2e.js.map +1 -0
  320. package/dist/esm/ix-application-header.entry.js +3 -3
  321. package/dist/esm/ix-application-sidebar.entry.js +1 -1
  322. package/dist/esm/ix-application-switch-modal.entry.js +1 -1
  323. package/dist/esm/ix-application.entry.js +3 -3
  324. package/dist/esm/ix-avatar_2.entry.js +2 -2
  325. package/dist/esm/ix-avatar_2.entry.js.map +1 -1
  326. package/dist/esm/ix-basic-navigation.entry.js +2 -2
  327. package/dist/esm/ix-breadcrumb.entry.js +2 -2
  328. package/dist/esm/ix-burger-menu.entry.js +1 -1
  329. package/dist/esm/ix-card-accordion_2.entry.js +1 -1
  330. package/dist/esm/ix-card-list.entry.js +4 -4
  331. package/dist/esm/ix-card_2.entry.js +1 -1
  332. package/dist/esm/ix-category-filter.entry.js +3 -3
  333. package/dist/esm/ix-chip.entry.js +4 -4
  334. package/dist/esm/ix-col_4.entry.js +7 -7
  335. package/dist/esm/ix-content.entry.js +3 -3
  336. package/dist/esm/ix-css-grid-item.entry.js +1 -1
  337. package/dist/esm/ix-date-dropdown.entry.js +6 -6
  338. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  339. package/dist/esm/ix-date-time-card.entry.js +1 -1
  340. package/dist/esm/ix-datetime-picker.entry.js +1 -1
  341. package/dist/esm/ix-divider.entry.js +1 -1
  342. package/dist/esm/ix-drawer.entry.js +2 -2
  343. package/dist/esm/ix-dropdown-button.entry.js +2 -2
  344. package/dist/esm/ix-dropdown-header.entry.js +1 -1
  345. package/dist/esm/ix-dropdown-item.entry.js +3 -3
  346. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  347. package/dist/esm/ix-dropdown.entry.js +5 -3
  348. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  349. package/dist/esm/ix-empty-state.entry.js +1 -1
  350. package/dist/esm/ix-event-list-item.entry.js +4 -4
  351. package/dist/esm/ix-event-list.entry.js +2 -2
  352. package/dist/esm/ix-expanding-search.entry.js +4 -4
  353. package/dist/esm/ix-filter-chip_2.entry.js +3 -3
  354. package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
  355. package/dist/esm/ix-flip-tile-content.entry.js +1 -1
  356. package/dist/esm/ix-flip-tile.entry.js +4 -4
  357. package/dist/esm/ix-form-field.entry.js +1 -1
  358. package/dist/esm/ix-group-context-menu_2.entry.js +3 -3
  359. package/dist/esm/ix-group.entry.js +4 -4
  360. package/dist/esm/ix-icon-button_2.entry.js +2 -2
  361. package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
  362. package/dist/esm/ix-input-group.entry.js +1 -1
  363. package/dist/esm/ix-key-value-list.entry.js +1 -1
  364. package/dist/esm/ix-key-value.entry.js +1 -1
  365. package/dist/esm/ix-kpi.entry.js +3 -3
  366. package/dist/esm/ix-link-button.entry.js +3 -3
  367. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  368. package/dist/esm/ix-map-navigation.entry.js +2 -2
  369. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  370. package/dist/esm/ix-menu-about-news.entry.js +5 -5
  371. package/dist/esm/ix-menu-about-news.entry.js.map +1 -1
  372. package/dist/esm/ix-menu-about.entry.js +2 -2
  373. package/dist/esm/ix-menu-avatar.entry.js +3 -3
  374. package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
  375. package/dist/esm/ix-menu-category.entry.js +5 -5
  376. package/dist/esm/ix-menu-item.entry.js +3 -3
  377. package/dist/esm/ix-menu-item.entry.js.map +1 -1
  378. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  379. package/dist/esm/ix-menu-settings.entry.js +1 -1
  380. package/dist/esm/ix-menu.entry.js +19 -11
  381. package/dist/esm/ix-menu.entry.js.map +1 -1
  382. package/dist/esm/ix-message-bar.entry.js +1 -1
  383. package/dist/esm/ix-modal-content_2.entry.js +4 -4
  384. package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
  385. package/dist/esm/ix-modal-example.entry.js +1 -1
  386. package/dist/esm/ix-modal-footer.entry.js +2 -2
  387. package/dist/esm/ix-modal-footer.entry.js.map +1 -1
  388. package/dist/esm/ix-modal-loading.entry.js +1 -1
  389. package/dist/esm/ix-modal.entry.js +4 -4
  390. package/dist/esm/ix-modal.entry.js.map +1 -1
  391. package/dist/esm/ix-pagination.entry.js +2 -2
  392. package/dist/esm/ix-pane-layout.entry.js +1 -1
  393. package/dist/esm/ix-pane.entry.js +6 -6
  394. package/dist/esm/ix-pill.entry.js +4 -4
  395. package/dist/esm/ix-playground-internal.entry.js +1 -1
  396. package/dist/esm/ix-push-card.entry.js +1 -1
  397. package/dist/esm/ix-select.entry.js +6 -6
  398. package/dist/esm/ix-slider.entry.js +6 -6
  399. package/dist/esm/ix-split-button-item.entry.js +1 -1
  400. package/dist/esm/ix-split-button.entry.js +1 -1
  401. package/dist/esm/ix-tab-item_2.entry.js +5 -5
  402. package/dist/esm/ix-tile.entry.js +4 -4
  403. package/dist/esm/ix-time-picker.entry.js +3 -3
  404. package/dist/esm/ix-toast-container.entry.js +1 -1
  405. package/dist/esm/ix-toast.entry.js +2 -2
  406. package/dist/esm/ix-toggle-button.entry.js +2 -2
  407. package/dist/esm/ix-toggle.entry.js +2 -2
  408. package/dist/esm/ix-tooltip.entry.js +2 -2
  409. package/dist/esm/ix-tree-item.entry.js +4 -4
  410. package/dist/esm/ix-tree.entry.js +1 -1
  411. package/dist/esm/ix-typography.entry.js +2 -2
  412. package/dist/esm/ix-typography.entry.js.map +1 -1
  413. package/dist/esm/ix-upload.entry.js +3 -3
  414. package/dist/esm/ix-validation-tooltip.entry.js +2 -2
  415. package/dist/esm/ix-workflow-step.entry.js +3 -3
  416. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  417. package/dist/esm/{menu-tabs-fc-7b7acc8b.js → menu-tabs-fc-67d86171.js} +2 -2
  418. package/dist/esm/{menu-tabs-fc-7b7acc8b.js.map → menu-tabs-fc-67d86171.js.map} +1 -1
  419. package/dist/siemens-ix/p-0052cdd7.entry.js +2 -0
  420. package/dist/siemens-ix/{p-050f482a.entry.js.map → p-0052cdd7.entry.js.map} +1 -1
  421. package/dist/siemens-ix/{p-5ca2ef74.entry.js → p-010d7fb9.entry.js} +2 -2
  422. package/dist/siemens-ix/{p-fcbe42c4.entry.js → p-035a5a5d.entry.js} +2 -2
  423. package/dist/siemens-ix/{p-8be3bc6d.entry.js → p-073a5bf5.entry.js} +2 -2
  424. package/dist/siemens-ix/{p-d277e7e2.entry.js → p-09611138.entry.js} +2 -2
  425. package/dist/siemens-ix/{p-535ee46b.entry.js → p-11483cf6.entry.js} +2 -2
  426. package/dist/siemens-ix/{p-f8169051.entry.js → p-1215edb5.entry.js} +2 -2
  427. package/dist/siemens-ix/{p-f1e94d25.entry.js → p-127ca9ce.entry.js} +2 -2
  428. package/dist/siemens-ix/{p-f0e7e035.js → p-1587fdab.js} +2 -2
  429. package/dist/siemens-ix/{p-f2ee640a.entry.js → p-15c0c3d0.entry.js} +2 -2
  430. package/dist/siemens-ix/{p-ca8407f5.entry.js → p-196f25fc.entry.js} +2 -2
  431. package/dist/siemens-ix/{p-4c29feb5.entry.js → p-1e620fab.entry.js} +2 -2
  432. package/dist/siemens-ix/p-1f06e7b5.entry.js +2 -0
  433. package/dist/siemens-ix/p-1f06e7b5.entry.js.map +1 -0
  434. package/dist/siemens-ix/{p-3ead4fed.entry.js → p-233282c1.entry.js} +2 -2
  435. package/dist/siemens-ix/{p-8b51637c.entry.js → p-245eff21.entry.js} +2 -2
  436. package/dist/siemens-ix/{p-c0bf9382.entry.js → p-2630b802.entry.js} +2 -2
  437. package/dist/siemens-ix/{p-27118d3b.entry.js → p-2a469532.entry.js} +2 -2
  438. package/dist/siemens-ix/p-2b0329ee.entry.js +2 -0
  439. package/dist/siemens-ix/{p-6a8d50c3.entry.js → p-2f466e2d.entry.js} +2 -2
  440. package/dist/siemens-ix/p-2f466e2d.entry.js.map +1 -0
  441. package/dist/siemens-ix/{p-75943110.entry.js → p-2ff3da3c.entry.js} +2 -2
  442. package/dist/siemens-ix/{p-50f12507.entry.js → p-327cf179.entry.js} +2 -2
  443. package/dist/siemens-ix/{p-f10824af.entry.js → p-3497cff4.entry.js} +2 -2
  444. package/dist/siemens-ix/p-3cc7e05e.entry.js +2 -0
  445. package/dist/siemens-ix/p-3cc7e05e.entry.js.map +1 -0
  446. package/dist/siemens-ix/{p-26355e12.entry.js → p-3d1a831a.entry.js} +2 -2
  447. package/dist/siemens-ix/p-425fd2c3.entry.js +2 -0
  448. package/dist/siemens-ix/{p-40335e7c.entry.js → p-46fa1780.entry.js} +2 -2
  449. package/dist/siemens-ix/{p-fdccc402.entry.js → p-4a8698ca.entry.js} +2 -2
  450. package/dist/siemens-ix/{p-e1d7c7fa.entry.js → p-56738f8c.entry.js} +2 -2
  451. package/dist/siemens-ix/p-570d20b9.entry.js +2 -0
  452. package/dist/siemens-ix/p-597d346d.entry.js +2 -0
  453. package/dist/siemens-ix/p-597d346d.entry.js.map +1 -0
  454. package/dist/siemens-ix/{p-db47293b.entry.js → p-5c2b6399.entry.js} +2 -2
  455. package/dist/siemens-ix/{p-06b783a7.entry.js → p-5c4c579d.entry.js} +2 -2
  456. package/dist/siemens-ix/{p-a643ad05.entry.js → p-5cf8f2b2.entry.js} +2 -2
  457. package/dist/siemens-ix/p-5e3c6d92.entry.js +2 -0
  458. package/dist/siemens-ix/{p-34ccbe57.entry.js → p-690130d1.entry.js} +2 -2
  459. package/dist/siemens-ix/p-6b14ca75.entry.js +2 -0
  460. package/dist/siemens-ix/{p-3214478e.entry.js → p-715fc314.entry.js} +2 -2
  461. package/dist/siemens-ix/{p-0e0e5f67.entry.js → p-73ca81fa.entry.js} +2 -2
  462. package/dist/siemens-ix/{p-353e2dd5.entry.js → p-76a113cd.entry.js} +2 -2
  463. package/dist/siemens-ix/{p-f5af5a9f.entry.js → p-7b915c46.entry.js} +2 -2
  464. package/dist/siemens-ix/p-7e28d26c.entry.js +2 -0
  465. package/dist/siemens-ix/{p-f56686c9.entry.js → p-828ed4cc.entry.js} +2 -2
  466. package/dist/siemens-ix/{p-42f7289e.entry.js → p-8572cee0.entry.js} +2 -2
  467. package/dist/siemens-ix/{p-75050430.entry.js → p-89d4a3c4.entry.js} +2 -2
  468. package/dist/siemens-ix/p-8a8f7bd3.entry.js +2 -0
  469. package/dist/siemens-ix/p-8e751da8.entry.js +2 -0
  470. package/dist/siemens-ix/{p-5d3975c8.entry.js → p-93f8a994.entry.js} +2 -2
  471. package/dist/siemens-ix/{p-b62e2edf.entry.js → p-95e8f88b.entry.js} +2 -2
  472. package/dist/siemens-ix/{p-da9f8709.entry.js → p-9ba43990.entry.js} +2 -2
  473. package/dist/siemens-ix/{p-782b33d3.entry.js → p-a4f58920.entry.js} +2 -2
  474. package/dist/siemens-ix/p-a9fcccaf.entry.js +2 -0
  475. package/dist/siemens-ix/p-a9fcccaf.entry.js.map +1 -0
  476. package/dist/siemens-ix/p-ad08daa9.entry.js +2 -0
  477. package/dist/siemens-ix/{p-81b570f5.entry.js → p-ae1d5e65.entry.js} +2 -2
  478. package/dist/siemens-ix/p-b38ce971.entry.js +2 -0
  479. package/dist/siemens-ix/p-b38ce971.entry.js.map +1 -0
  480. package/dist/siemens-ix/p-b3ffcdef.entry.js +2 -0
  481. package/dist/siemens-ix/{p-ca53ecd8.entry.js → p-b5842e13.entry.js} +2 -2
  482. package/dist/siemens-ix/{p-1aa9c005.entry.js → p-b58b68cb.entry.js} +2 -2
  483. package/dist/siemens-ix/{p-1aa9c005.entry.js.map → p-b58b68cb.entry.js.map} +1 -1
  484. package/dist/siemens-ix/{p-4bb08459.entry.js → p-bc88ecb1.entry.js} +2 -2
  485. package/dist/siemens-ix/p-bde45bbd.entry.js +2 -0
  486. package/dist/siemens-ix/p-bde45bbd.entry.js.map +1 -0
  487. package/dist/siemens-ix/{p-31bfd5ff.entry.js → p-c42e4e81.entry.js} +2 -2
  488. package/dist/siemens-ix/{p-f5a108d5.entry.js → p-c46f55ec.entry.js} +2 -2
  489. package/dist/siemens-ix/{p-8c01fea2.entry.js → p-c7686e47.entry.js} +2 -2
  490. package/dist/siemens-ix/{p-d445b333.entry.js → p-c88d73da.entry.js} +2 -2
  491. package/dist/siemens-ix/{p-4dad31fa.entry.js → p-cabc62fd.entry.js} +2 -2
  492. package/dist/siemens-ix/{p-73d5ea4a.entry.js → p-ce60f35c.entry.js} +2 -2
  493. package/dist/siemens-ix/{p-6cd2b4d4.entry.js → p-d6db8257.entry.js} +2 -2
  494. package/dist/siemens-ix/p-d71bdcfb.entry.js +2 -0
  495. package/dist/siemens-ix/{p-ddf93bce.entry.js → p-d779f396.entry.js} +2 -2
  496. package/dist/siemens-ix/{p-ab282d03.entry.js → p-dab7059f.entry.js} +2 -2
  497. package/dist/siemens-ix/p-df2d9a30.entry.js +2 -0
  498. package/dist/siemens-ix/{p-92fc6ba1.entry.js → p-e0c645be.entry.js} +2 -2
  499. package/dist/siemens-ix/{p-0e51828d.entry.js → p-e111ffb2.entry.js} +2 -2
  500. package/dist/siemens-ix/{p-988d23ac.entry.js → p-e1c428d2.entry.js} +2 -2
  501. package/dist/siemens-ix/{p-fc5fd951.entry.js → p-e2ae8b88.entry.js} +2 -2
  502. package/dist/siemens-ix/{p-fc5fd951.entry.js.map → p-e2ae8b88.entry.js.map} +1 -1
  503. package/dist/siemens-ix/{p-14d2576e.entry.js → p-e4890017.entry.js} +2 -2
  504. package/dist/siemens-ix/{p-3bc095f3.entry.js → p-e5e0688c.entry.js} +2 -2
  505. package/dist/siemens-ix/{p-3bc095f3.entry.js.map → p-e5e0688c.entry.js.map} +1 -1
  506. package/dist/siemens-ix/{p-1e5e042b.entry.js → p-e8ac3fac.entry.js} +2 -2
  507. package/dist/siemens-ix/{p-47919d43.entry.js → p-eb02e8bf.entry.js} +2 -2
  508. package/dist/siemens-ix/{p-d464b60e.entry.js → p-ec3bf78f.entry.js} +2 -2
  509. package/dist/siemens-ix/{p-9ceabb5f.entry.js → p-f2acf280.entry.js} +2 -2
  510. package/dist/siemens-ix/p-f499aeb3.entry.js +2 -0
  511. package/dist/siemens-ix/p-f499aeb3.entry.js.map +1 -0
  512. package/dist/siemens-ix/{p-a3431d63.entry.js → p-f9e7b4cf.entry.js} +2 -2
  513. package/dist/siemens-ix/{p-2462fc76.entry.js → p-fc3a3f5a.entry.js} +2 -2
  514. package/dist/siemens-ix/p-fd45e8f5.entry.js +2 -0
  515. package/dist/siemens-ix/p-fd45e8f5.entry.js.map +1 -0
  516. package/dist/siemens-ix/p-fe3f3411.entry.js +2 -0
  517. package/dist/siemens-ix/{p-2deed888.entry.js.map → p-fe3f3411.entry.js.map} +1 -1
  518. package/dist/siemens-ix/{p-cfc7a9ac.entry.js → p-ffe299a6.entry.js} +2 -2
  519. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  520. package/package.json +1 -1
  521. package/dist/siemens-ix/p-050f482a.entry.js +0 -2
  522. package/dist/siemens-ix/p-196d2cef.entry.js +0 -2
  523. package/dist/siemens-ix/p-232bee46.entry.js +0 -2
  524. package/dist/siemens-ix/p-2deed888.entry.js +0 -2
  525. package/dist/siemens-ix/p-3c0425f3.entry.js +0 -2
  526. package/dist/siemens-ix/p-3c6e6130.entry.js +0 -2
  527. package/dist/siemens-ix/p-572455df.entry.js +0 -2
  528. package/dist/siemens-ix/p-58f51cce.entry.js +0 -2
  529. package/dist/siemens-ix/p-58f51cce.entry.js.map +0 -1
  530. package/dist/siemens-ix/p-5dd97d39.entry.js +0 -2
  531. package/dist/siemens-ix/p-5dd97d39.entry.js.map +0 -1
  532. package/dist/siemens-ix/p-6a8d50c3.entry.js.map +0 -1
  533. package/dist/siemens-ix/p-78e332f4.entry.js +0 -2
  534. package/dist/siemens-ix/p-8493da96.entry.js +0 -2
  535. package/dist/siemens-ix/p-8efe88e8.entry.js +0 -2
  536. package/dist/siemens-ix/p-8efe88e8.entry.js.map +0 -1
  537. package/dist/siemens-ix/p-975cb736.entry.js +0 -2
  538. package/dist/siemens-ix/p-b4e3a4fd.entry.js +0 -2
  539. package/dist/siemens-ix/p-b4e3a4fd.entry.js.map +0 -1
  540. package/dist/siemens-ix/p-d59b3f31.entry.js +0 -2
  541. package/dist/siemens-ix/p-d6e7e5da.entry.js +0 -2
  542. package/dist/siemens-ix/p-d6e7e5da.entry.js.map +0 -1
  543. package/dist/siemens-ix/p-e1b790d3.entry.js +0 -2
  544. package/dist/siemens-ix/p-e23cd82e.entry.js +0 -2
  545. package/dist/siemens-ix/p-e23cd82e.entry.js.map +0 -1
  546. package/dist/siemens-ix/p-e345d0d2.entry.js +0 -2
  547. package/dist/siemens-ix/p-e345d0d2.entry.js.map +0 -1
  548. package/dist/siemens-ix/p-eb6ea42d.entry.js +0 -2
  549. package/dist/siemens-ix/p-f6691728.entry.js +0 -2
  550. package/dist/siemens-ix/p-f6691728.entry.js.map +0 -1
  551. package/dist/siemens-ix/p-fe760d17.entry.js +0 -2
  552. /package/dist/siemens-ix/{p-5ca2ef74.entry.js.map → p-010d7fb9.entry.js.map} +0 -0
  553. /package/dist/siemens-ix/{p-fcbe42c4.entry.js.map → p-035a5a5d.entry.js.map} +0 -0
  554. /package/dist/siemens-ix/{p-8be3bc6d.entry.js.map → p-073a5bf5.entry.js.map} +0 -0
  555. /package/dist/siemens-ix/{p-d277e7e2.entry.js.map → p-09611138.entry.js.map} +0 -0
  556. /package/dist/siemens-ix/{p-535ee46b.entry.js.map → p-11483cf6.entry.js.map} +0 -0
  557. /package/dist/siemens-ix/{p-f8169051.entry.js.map → p-1215edb5.entry.js.map} +0 -0
  558. /package/dist/siemens-ix/{p-f1e94d25.entry.js.map → p-127ca9ce.entry.js.map} +0 -0
  559. /package/dist/siemens-ix/{p-f0e7e035.js.map → p-1587fdab.js.map} +0 -0
  560. /package/dist/siemens-ix/{p-f2ee640a.entry.js.map → p-15c0c3d0.entry.js.map} +0 -0
  561. /package/dist/siemens-ix/{p-ca8407f5.entry.js.map → p-196f25fc.entry.js.map} +0 -0
  562. /package/dist/siemens-ix/{p-4c29feb5.entry.js.map → p-1e620fab.entry.js.map} +0 -0
  563. /package/dist/siemens-ix/{p-3ead4fed.entry.js.map → p-233282c1.entry.js.map} +0 -0
  564. /package/dist/siemens-ix/{p-8b51637c.entry.js.map → p-245eff21.entry.js.map} +0 -0
  565. /package/dist/siemens-ix/{p-c0bf9382.entry.js.map → p-2630b802.entry.js.map} +0 -0
  566. /package/dist/siemens-ix/{p-27118d3b.entry.js.map → p-2a469532.entry.js.map} +0 -0
  567. /package/dist/siemens-ix/{p-975cb736.entry.js.map → p-2b0329ee.entry.js.map} +0 -0
  568. /package/dist/siemens-ix/{p-75943110.entry.js.map → p-2ff3da3c.entry.js.map} +0 -0
  569. /package/dist/siemens-ix/{p-50f12507.entry.js.map → p-327cf179.entry.js.map} +0 -0
  570. /package/dist/siemens-ix/{p-f10824af.entry.js.map → p-3497cff4.entry.js.map} +0 -0
  571. /package/dist/siemens-ix/{p-26355e12.entry.js.map → p-3d1a831a.entry.js.map} +0 -0
  572. /package/dist/siemens-ix/{p-d59b3f31.entry.js.map → p-425fd2c3.entry.js.map} +0 -0
  573. /package/dist/siemens-ix/{p-40335e7c.entry.js.map → p-46fa1780.entry.js.map} +0 -0
  574. /package/dist/siemens-ix/{p-fdccc402.entry.js.map → p-4a8698ca.entry.js.map} +0 -0
  575. /package/dist/siemens-ix/{p-e1d7c7fa.entry.js.map → p-56738f8c.entry.js.map} +0 -0
  576. /package/dist/siemens-ix/{p-232bee46.entry.js.map → p-570d20b9.entry.js.map} +0 -0
  577. /package/dist/siemens-ix/{p-db47293b.entry.js.map → p-5c2b6399.entry.js.map} +0 -0
  578. /package/dist/siemens-ix/{p-06b783a7.entry.js.map → p-5c4c579d.entry.js.map} +0 -0
  579. /package/dist/siemens-ix/{p-a643ad05.entry.js.map → p-5cf8f2b2.entry.js.map} +0 -0
  580. /package/dist/siemens-ix/{p-8493da96.entry.js.map → p-5e3c6d92.entry.js.map} +0 -0
  581. /package/dist/siemens-ix/{p-34ccbe57.entry.js.map → p-690130d1.entry.js.map} +0 -0
  582. /package/dist/siemens-ix/{p-fe760d17.entry.js.map → p-6b14ca75.entry.js.map} +0 -0
  583. /package/dist/siemens-ix/{p-3214478e.entry.js.map → p-715fc314.entry.js.map} +0 -0
  584. /package/dist/siemens-ix/{p-0e0e5f67.entry.js.map → p-73ca81fa.entry.js.map} +0 -0
  585. /package/dist/siemens-ix/{p-353e2dd5.entry.js.map → p-76a113cd.entry.js.map} +0 -0
  586. /package/dist/siemens-ix/{p-f5af5a9f.entry.js.map → p-7b915c46.entry.js.map} +0 -0
  587. /package/dist/siemens-ix/{p-e1b790d3.entry.js.map → p-7e28d26c.entry.js.map} +0 -0
  588. /package/dist/siemens-ix/{p-f56686c9.entry.js.map → p-828ed4cc.entry.js.map} +0 -0
  589. /package/dist/siemens-ix/{p-42f7289e.entry.js.map → p-8572cee0.entry.js.map} +0 -0
  590. /package/dist/siemens-ix/{p-75050430.entry.js.map → p-89d4a3c4.entry.js.map} +0 -0
  591. /package/dist/siemens-ix/{p-3c0425f3.entry.js.map → p-8a8f7bd3.entry.js.map} +0 -0
  592. /package/dist/siemens-ix/{p-eb6ea42d.entry.js.map → p-8e751da8.entry.js.map} +0 -0
  593. /package/dist/siemens-ix/{p-5d3975c8.entry.js.map → p-93f8a994.entry.js.map} +0 -0
  594. /package/dist/siemens-ix/{p-b62e2edf.entry.js.map → p-95e8f88b.entry.js.map} +0 -0
  595. /package/dist/siemens-ix/{p-da9f8709.entry.js.map → p-9ba43990.entry.js.map} +0 -0
  596. /package/dist/siemens-ix/{p-782b33d3.entry.js.map → p-a4f58920.entry.js.map} +0 -0
  597. /package/dist/siemens-ix/{p-78e332f4.entry.js.map → p-ad08daa9.entry.js.map} +0 -0
  598. /package/dist/siemens-ix/{p-81b570f5.entry.js.map → p-ae1d5e65.entry.js.map} +0 -0
  599. /package/dist/siemens-ix/{p-572455df.entry.js.map → p-b3ffcdef.entry.js.map} +0 -0
  600. /package/dist/siemens-ix/{p-ca53ecd8.entry.js.map → p-b5842e13.entry.js.map} +0 -0
  601. /package/dist/siemens-ix/{p-4bb08459.entry.js.map → p-bc88ecb1.entry.js.map} +0 -0
  602. /package/dist/siemens-ix/{p-31bfd5ff.entry.js.map → p-c42e4e81.entry.js.map} +0 -0
  603. /package/dist/siemens-ix/{p-f5a108d5.entry.js.map → p-c46f55ec.entry.js.map} +0 -0
  604. /package/dist/siemens-ix/{p-8c01fea2.entry.js.map → p-c7686e47.entry.js.map} +0 -0
  605. /package/dist/siemens-ix/{p-d445b333.entry.js.map → p-c88d73da.entry.js.map} +0 -0
  606. /package/dist/siemens-ix/{p-4dad31fa.entry.js.map → p-cabc62fd.entry.js.map} +0 -0
  607. /package/dist/siemens-ix/{p-73d5ea4a.entry.js.map → p-ce60f35c.entry.js.map} +0 -0
  608. /package/dist/siemens-ix/{p-6cd2b4d4.entry.js.map → p-d6db8257.entry.js.map} +0 -0
  609. /package/dist/siemens-ix/{p-3c6e6130.entry.js.map → p-d71bdcfb.entry.js.map} +0 -0
  610. /package/dist/siemens-ix/{p-ddf93bce.entry.js.map → p-d779f396.entry.js.map} +0 -0
  611. /package/dist/siemens-ix/{p-ab282d03.entry.js.map → p-dab7059f.entry.js.map} +0 -0
  612. /package/dist/siemens-ix/{p-196d2cef.entry.js.map → p-df2d9a30.entry.js.map} +0 -0
  613. /package/dist/siemens-ix/{p-92fc6ba1.entry.js.map → p-e0c645be.entry.js.map} +0 -0
  614. /package/dist/siemens-ix/{p-0e51828d.entry.js.map → p-e111ffb2.entry.js.map} +0 -0
  615. /package/dist/siemens-ix/{p-988d23ac.entry.js.map → p-e1c428d2.entry.js.map} +0 -0
  616. /package/dist/siemens-ix/{p-14d2576e.entry.js.map → p-e4890017.entry.js.map} +0 -0
  617. /package/dist/siemens-ix/{p-1e5e042b.entry.js.map → p-e8ac3fac.entry.js.map} +0 -0
  618. /package/dist/siemens-ix/{p-47919d43.entry.js.map → p-eb02e8bf.entry.js.map} +0 -0
  619. /package/dist/siemens-ix/{p-d464b60e.entry.js.map → p-ec3bf78f.entry.js.map} +0 -0
  620. /package/dist/siemens-ix/{p-9ceabb5f.entry.js.map → p-f2acf280.entry.js.map} +0 -0
  621. /package/dist/siemens-ix/{p-a3431d63.entry.js.map → p-f9e7b4cf.entry.js.map} +0 -0
  622. /package/dist/siemens-ix/{p-2462fc76.entry.js.map → p-fc3a3f5a.entry.js.map} +0 -0
  623. /package/dist/siemens-ix/{p-cfc7a9ac.entry.js.map → p-ffe299a6.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"ix-date-dropdown.entry.cjs.js","mappings":"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","names":["DateTime","h","Host","Fragment"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: $tiny-space $default-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\n\nexport type DateDropdownOption = {\n id: string;\n label: string;\n from: string;\n to: string;\n};\n\nexport type DateRangeChangeEvent = {\n id: string;\n from: string;\n to: string;\n};\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown {\n @Element() hostElement: HTMLIxDateDropdownElement;\n\n /**\n * Date format string.\n * See @link https://moment.github.io/luxon/#/formatting?id=table-of-tokens for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true a range of dates can be selected.\n */\n @Prop() range = true;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from: string;\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to: string;\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate: string;\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether the user is allowed to pick custom date ranges in the component.\n * When set to 'true', the user can select a custom date range using the date picker.\n * When set to 'false', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeAllowed = true;\n\n /**\n * An array of predefined date range options for the date picker.\n * Each option is an object with a label describing the range and a function\n * that returns the start and end dates of the range as a DateRangeOption object.\n *\n * Example format:\n * {\n * id: 'some unique id',\n * label: 'Name of the range',\n * from: undefined, to: '2023/03/29'\n * },\n * // ... other predefined date range options ...\n */\n @Prop() dateRangeOptions: DateDropdownOption[] = [];\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * Text for custom dropdown item. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-custom-item' }) i18nCustomItem = 'Custom...';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-no-range' }) i18nNoRange = 'No range set';\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * EventEmitter for date range change events.\n *\n * This event is emitted when the date range changes within the component.\n * The event payload contains information about the selected date range.\n */\n @Event() private dateRangeChange: EventEmitter<DateRangeChangeEvent>;\n\n @State() private selectedDateRangeId: 'custom' | (string & {});\n @State() private currentRangeValue: {\n from: string;\n to: string;\n id: string;\n };\n @State() private triggerRef: HTMLElement;\n\n private datePickerTouched = false;\n\n componentWillLoad() {\n this.initialize();\n this.setDateRangeSelection(this.dateRangeId);\n }\n\n /**\n * Retrieves the currently selected date range from the component.\n * This method returns the selected date range as a `DateChangeEvent` object.\n */\n @Method()\n public async getDateRange(): Promise<DateRangeChangeEvent> {\n return this.currentRangeValue;\n }\n\n private initialize() {\n const isCustomRange =\n this.dateRangeId === 'custom' ||\n (!this.dateRangeId && !!this.from && !!this.to);\n\n if (isCustomRange && this.customRangeAllowed) {\n this.selectedDateRangeId = 'custom';\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n\n return;\n }\n }\n\n private onDateSelect(\n rangeValue: { from: string; to: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id)) {\n this.onDateSelect(this.currentRangeValue);\n }\n }\n\n private setDateRangeSelection(id: string) {\n this.selectedDateRangeId = id;\n const option = this.dateRangeOptions.find((range) => range.id === id);\n\n if (option) {\n this.currentRangeValue = option;\n }\n\n return option;\n }\n\n private closeDropdown() {\n this.hostElement.shadowRoot.querySelector('ix-dropdown').show = false;\n }\n\n private getButtonLabel() {\n if (this.selectedDateRangeId === 'custom' && this.currentRangeValue?.from) {\n let range = this.currentRangeValue.from;\n\n if (this.currentRangeValue.to) {\n range += ` - ${this.currentRangeValue.to}`;\n }\n\n return range;\n }\n\n if (!this.selectedDateRangeId) {\n return this.i18nNoRange;\n }\n\n if (!this.dateRangeOptions || this.dateRangeOptions?.length === 0) {\n return this.i18nNoRange;\n }\n\n const option = this.dateRangeOptions.find(\n (option) => option.id === this.selectedDateRangeId\n );\n\n if (!option) {\n console.error(\n `Cannot find range option with id ${this.selectedDateRangeId}`\n );\n return this.i18nNoRange;\n }\n\n return option.label;\n }\n\n render() {\n return (\n <Host>\n <ix-button\n data-date-dropdown-trigger\n variant=\"primary\"\n icon=\"history\"\n ref={(ref) => (this.triggerRef = ref)}\n class=\"button-width\"\n >\n {this.getButtonLabel()}\n </ix-button>\n <ix-dropdown\n data-date-dropdown\n class=\"min-width max-height\"\n trigger={this.triggerRef}\n close-behavior=\"outside\"\n placement=\"bottom-start\"\n onShowChanged={({ detail: show }) => {\n if (\n !show &&\n this.selectedDateRangeId === 'custom' &&\n this.datePickerTouched\n ) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n <ix-layout-grid no-margin=\"true\">\n <ix-row>\n <ix-col\n class={{\n 'no-margin': true,\n 'border-right': this.selectedDateRangeId === 'custom',\n }}\n >\n {this.dateRangeOptions.map((dateRangeOption) => (\n <ix-dropdown-item\n label={dateRangeOption.label}\n onClick={() => this.onRangeListSelect(dateRangeOption.id)}\n checked={this.selectedDateRangeId === dateRangeOption.id}\n ></ix-dropdown-item>\n ))}\n <div hidden={!this.customRangeAllowed}>\n <ix-dropdown-item\n label={this.i18nCustomItem}\n checked={this.selectedDateRangeId === 'custom'}\n onClick={() => this.onRangeListSelect('custom')}\n ></ix-dropdown-item>\n </div>\n </ix-col>\n <ix-col class=\"no-margin\">\n {this.selectedDateRangeId === 'custom' && (\n <Fragment>\n <ix-date-picker\n standaloneAppearance={false}\n onDateChange={(e) => {\n e.stopPropagation();\n this.currentRangeValue = {\n ...e.detail,\n id: 'custom',\n };\n this.datePickerTouched = true;\n }}\n onDateRangeChange={(e) => e.stopPropagation()}\n format={this.format}\n range={this.range}\n from={this.from || this.currentRangeValue?.from}\n to={this.to || this.currentRangeValue?.to}\n minDate={this.minDate}\n maxDate={this.maxDate}\n today={this.today}\n ></ix-date-picker>\n <div class=\"pull-right\">\n <ix-button\n onClick={() => {\n this.onDateSelect(this.currentRangeValue);\n }}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </Fragment>\n )}\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-date-dropdown.entry.cjs.js","mappings":"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","names":["DateTime","h","Host","Fragment"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: $tiny-space $default-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\n\nexport type DateDropdownOption = {\n id: string;\n label: string;\n from: string;\n to: string;\n};\n\nexport type DateRangeChangeEvent = {\n id: string;\n from: string;\n to: string;\n};\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown {\n @Element() hostElement: HTMLIxDateDropdownElement;\n\n /**\n * Date format string.\n * See @link https://moment.github.io/luxon/#/formatting?id=table-of-tokens for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true a range of dates can be selected.\n */\n @Prop() range = true;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from: string;\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to: string;\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate: string;\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether the user is allowed to pick custom date ranges in the component.\n * When set to 'true', the user can select a custom date range using the date picker.\n * When set to 'false', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeAllowed = true;\n\n /**\n * An array of predefined date range options for the date picker.\n * Each option is an object with a label describing the range and a function\n * that returns the start and end dates of the range as a DateRangeOption object.\n *\n * Example format:\n * {\n * id: 'some unique id',\n * label: 'Name of the range',\n * from: undefined, to: '2023/03/29'\n * },\n * // ... other predefined date range options ...\n */\n @Prop() dateRangeOptions: DateDropdownOption[] = [];\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * Text for custom dropdown item. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-custom-item' }) i18nCustomItem = 'Custom...';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-no-range' }) i18nNoRange = 'No range set';\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * EventEmitter for date range change events.\n *\n * This event is emitted when the date range changes within the component.\n * The event payload contains information about the selected date range.\n */\n @Event() private dateRangeChange: EventEmitter<DateRangeChangeEvent>;\n\n @State() private selectedDateRangeId: 'custom' | (string & {});\n @State() private currentRangeValue: {\n from: string;\n to: string;\n id: string;\n };\n @State() private triggerRef: HTMLElement;\n\n private datePickerTouched = false;\n\n componentWillLoad() {\n this.initialize();\n this.setDateRangeSelection(this.dateRangeId);\n }\n\n /**\n * Retrieves the currently selected date range from the component.\n * This method returns the selected date range as a `DateChangeEvent` object.\n */\n @Method()\n public async getDateRange(): Promise<DateRangeChangeEvent> {\n return this.currentRangeValue;\n }\n\n private initialize() {\n const isCustomRange =\n this.dateRangeId === 'custom' ||\n (!this.dateRangeId && !!this.from && !!this.to);\n\n if (isCustomRange && this.customRangeAllowed) {\n this.selectedDateRangeId = 'custom';\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n\n return;\n }\n }\n\n private onDateSelect(\n rangeValue: { from: string; to: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id)) {\n this.onDateSelect(this.currentRangeValue);\n }\n }\n\n private setDateRangeSelection(id: string) {\n this.selectedDateRangeId = id;\n const option = this.dateRangeOptions.find((range) => range.id === id);\n\n if (option) {\n this.currentRangeValue = option;\n }\n\n return option;\n }\n\n private closeDropdown() {\n this.hostElement.shadowRoot.querySelector('ix-dropdown').show = false;\n }\n\n private getButtonLabel() {\n if (this.selectedDateRangeId === 'custom' && this.currentRangeValue?.from) {\n let range = this.currentRangeValue.from;\n\n if (this.currentRangeValue.to) {\n range += ` - ${this.currentRangeValue.to}`;\n }\n\n return range;\n }\n\n if (!this.selectedDateRangeId) {\n return this.i18nNoRange;\n }\n\n if (!this.dateRangeOptions || this.dateRangeOptions?.length === 0) {\n return this.i18nNoRange;\n }\n\n const option = this.dateRangeOptions.find(\n (option) => option.id === this.selectedDateRangeId\n );\n\n if (!option) {\n console.error(\n `Cannot find range option with id ${this.selectedDateRangeId}`\n );\n return this.i18nNoRange;\n }\n\n return option.label;\n }\n\n render() {\n return (\n <Host>\n <ix-button\n data-date-dropdown-trigger\n variant=\"primary\"\n icon=\"history\"\n ref={(ref) => (this.triggerRef = ref)}\n >\n {this.getButtonLabel()}\n </ix-button>\n <ix-dropdown\n data-date-dropdown\n class=\"min-width max-height\"\n trigger={this.triggerRef}\n close-behavior=\"outside\"\n placement=\"bottom-start\"\n onShowChanged={({ detail: show }) => {\n if (\n !show &&\n this.selectedDateRangeId === 'custom' &&\n this.datePickerTouched\n ) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n <ix-layout-grid no-margin=\"true\">\n <ix-row>\n {this.dateRangeOptions?.length > 1 && (\n <ix-col\n class={{\n 'no-margin': true,\n 'border-right': this.selectedDateRangeId === 'custom',\n }}\n >\n {this.dateRangeOptions.map((dateRangeOption) => (\n <ix-dropdown-item\n label={dateRangeOption.label}\n onClick={() => this.onRangeListSelect(dateRangeOption.id)}\n checked={this.selectedDateRangeId === dateRangeOption.id}\n ></ix-dropdown-item>\n ))}\n <div hidden={!this.customRangeAllowed}>\n <ix-dropdown-item\n label={this.i18nCustomItem}\n checked={this.selectedDateRangeId === 'custom'}\n onClick={() => this.onRangeListSelect('custom')}\n ></ix-dropdown-item>\n </div>\n </ix-col>\n )}\n <ix-col class=\"no-margin\">\n {this.selectedDateRangeId === 'custom' && (\n <Fragment>\n <ix-date-picker\n standaloneAppearance={false}\n onDateChange={(e) => {\n e.stopPropagation();\n this.currentRangeValue = {\n ...e.detail,\n id: 'custom',\n };\n this.datePickerTouched = true;\n }}\n onDateRangeChange={(e) => e.stopPropagation()}\n format={this.format}\n range={this.range}\n from={this.from || this.currentRangeValue?.from}\n to={this.to || this.currentRangeValue?.to}\n minDate={this.minDate}\n maxDate={this.maxDate}\n today={this.today}\n ></ix-date-picker>\n <div class=\"pull-right\">\n <ix-button\n onClick={() => {\n this.onDateSelect(this.currentRangeValue);\n }}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </Fragment>\n )}\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -26,7 +26,7 @@ const DateTimeCard = class {
26
26
  };
27
27
  }
28
28
  render() {
29
- return (index.h(index.Host, { key: 'be249cc33523ab05fcea91c285a828d42803530c' }, index.h("div", { key: '3a4389a7bf5e5ec46622ddae68a14d121a1cad97', class: this.cardClasses() }, index.h("div", { key: '711acb2cd8a3a78046bc800e7c6ead60a0ad1b1f', class: "header" }, index.h("slot", { key: '72dd5f1b4c27869449729395a2dd9fe73b81d2b8', name: "header" })), index.h("div", { key: 'cc763fd99e776b0e8fa4b5615d92c51a556e0ee8', class: "separator" }), index.h("div", { key: '3654550d4f9fa01bbd79d0c8666116ed645ae495', class: "content" }, index.h("slot", { key: 'b2e03f699d22bedc7a586ec2f1be3bce3497d82f' })))));
29
+ return (index.h(index.Host, { key: 'f8ed1e43427e1723f5015a550c2cc9a110bee2b2' }, index.h("div", { key: 'f29905676e209d12e851fb8991e60d28cf7153bb', class: this.cardClasses() }, index.h("div", { key: '4e34b58cb52dddd372fda6713bdd41d612612f96', class: "header" }, index.h("slot", { key: 'c31d602a45866159181c20a3674cd18c5679052f', name: "header" })), index.h("div", { key: '5d86be7a1b70d75246bf07cda2898bc3ee768ca5', class: "separator" }), index.h("div", { key: '3d3e38bff5d56f06e88ef654e6f621ee3ffc8b9c', class: "content" }, index.h("slot", { key: 'c8a3b2a6ef2f7260ee0a8a16f5ee8c5eda1d9db6' })))));
30
30
  }
31
31
  };
32
32
  DateTimeCard.style = IxDateTimeCardStyle0;
@@ -57,7 +57,7 @@ const DatetimePicker = class {
57
57
  this.timeChange.emit(time);
58
58
  }
59
59
  render() {
60
- return (index.h(index.Host, { key: '7aa5e453963c62a4c168f2897f5408363f5c3d20' }, index.h("ix-layout-grid", { key: '5f47e5e23adb80a89591a1a2aeaa59531b963f1c', class: "no-padding" }, index.h("ix-row", { key: '8bd9fc26a2ccfae88142350ca76a0ef203ffaaa9' }, index.h("ix-col", { key: 'f2dc175c68cfaa2659680ca0c57af20f727aee2b', class: "no-padding" }, index.h("ix-date-picker", { key: 'a8712aad46e1c4f642ad0d0f1c1da865c1b111b1', ref: (ref) => (this.datePickerElement = ref), corners: "left", range: this.range, onDateChange: (event) => this.onDateChange(event), from: this.from, to: this.to, format: this.dateFormat, minDate: this.minDate, maxDate: this.maxDate, weekStartIndex: this.weekStartIndex, standaloneAppearance: false, locale: this.locale })), index.h("ix-col", { key: 'ad944278fd9b15feeec3f3cb87b159c02a9e3ea1', class: "no-padding" }, index.h("ix-time-picker", { key: 'aea360fe3436838190a32722498b4085a7cc2014', class: "min-width", ref: (ref) => (this.timePickerElement = ref), corners: "right", standaloneAppearance: false, showHour: this.showHour, showMinutes: this.showMinutes, showSeconds: this.showSeconds, onTimeChange: (event) => this.onTimeChange(event), format: this.timeFormat, time: this.time }))), index.h("ix-row", { key: 'cdfc9c5611a06d928503e1c97a32eabca8db1c91' }, index.h("ix-col", { key: 'f1d139a978e450241f14a6907f708404c44f2596' }, index.h("ix-button", { key: 'd79116b7084cffcde9705908d0ed174fc988f829', class: "btn-select-date btn-md-width", onClick: () => this.onDone() }, this.textSelectDate || this.i18nDone))))));
60
+ return (index.h(index.Host, { key: '83ee67741b982fbf3a6191c04fa3edbbdb6e6f44' }, index.h("ix-layout-grid", { key: 'f5f2c66badc930b769638f8f087058b51e44aca7', class: "no-padding" }, index.h("ix-row", { key: '15361bfa7b0cba0688507273601701160016d69b' }, index.h("ix-col", { key: 'c4d1d8a41b939e7970277d7a8d9a1c68db7bfa91', class: "no-padding" }, index.h("ix-date-picker", { key: '77bc6717428ef6fd131cd364b15b5e62a79e8f7f', ref: (ref) => (this.datePickerElement = ref), corners: "left", range: this.range, onDateChange: (event) => this.onDateChange(event), from: this.from, to: this.to, format: this.dateFormat, minDate: this.minDate, maxDate: this.maxDate, weekStartIndex: this.weekStartIndex, standaloneAppearance: false, locale: this.locale })), index.h("ix-col", { key: '52d25a39e84d6e0bc35bfe2159c368d2611570c3', class: "no-padding" }, index.h("ix-time-picker", { key: 'c19954e799ec9a0f5afb7df35472e58911ea7209', class: "min-width", ref: (ref) => (this.timePickerElement = ref), corners: "right", standaloneAppearance: false, showHour: this.showHour, showMinutes: this.showMinutes, showSeconds: this.showSeconds, onTimeChange: (event) => this.onTimeChange(event), format: this.timeFormat, time: this.time }))), index.h("ix-row", { key: 'cc6b061a09a9e3b8e06d7acd6bfe801dc884cc92' }, index.h("ix-col", { key: '86d98b8b9d25f0d77707c7104ed3b53efed3fd04' }, index.h("ix-button", { key: '5e843ec14cc32176420a8304779e7563117af40d', class: "btn-select-date btn-md-width", onClick: () => this.onDone() }, this.textSelectDate || this.i18nDone))))));
61
61
  }
62
62
  };
63
63
  DatetimePicker.style = IxDatetimePickerStyle0;
@@ -12,7 +12,7 @@ const Divider = class {
12
12
  index.registerInstance(this, hostRef);
13
13
  }
14
14
  render() {
15
- return index.h(index.Host, { key: 'a12f752ef0fa741ad16068b425293e9ba39d21c8' });
15
+ return index.h(index.Host, { key: '77aba5256230ceae62d44788f8b3c5e882fe5e80' });
16
16
  }
17
17
  };
18
18
  Divider.style = IxDividerStyle0;
@@ -89,7 +89,7 @@ const Drawer = class {
89
89
  this.onShowChanged(this.show);
90
90
  }
91
91
  render() {
92
- return (index.h(index.Host, { key: '91fc9415b70a8ee79f85dcf40fef3ccb9cbb20c9', class: {
92
+ return (index.h(index.Host, { key: 'e62222323c1b4c58abef1702618873c3856405de', class: {
93
93
  'drawer-container': true,
94
94
  toggle: this.show,
95
95
  'full-height': this.fullHeight,
@@ -98,7 +98,7 @@ const Drawer = class {
98
98
  width: this.width === 'auto' ? this.width : `${this.width}rem`,
99
99
  'min-width': `${this.minWidth}rem`,
100
100
  'max-width': `${this.maxWidth}rem`,
101
- }, ref: (el) => (this.divElement = el), "data-testid": "container", id: "div-container" }, index.h("div", { key: 'b773ea537ab6410433b6af3f7d57f96070a8f462', class: "header" }, index.h("div", { key: 'd032e1d8af587f872f61aaae3630aa0b03a99993', class: "header-content" }, index.h("slot", { key: '8d1c3b9819ed60666dff64386bd87d60d880bb13', name: "header" })), index.h("ix-icon-button", { key: 'b73baa2dea5c23cab77fc05e9506faf0424135c6', class: "close-button", icon: 'close', size: "24", ghost: true, onClick: () => this.onCloseClicked(), "data-testid": "close-button" })), index.h("div", { key: '8b838c388ca39c900245896b5912ed769b63bae6', class: "content" }, index.h("slot", { key: '08ba8b51e00558a0063430d32d300e347b09a310' }))));
101
+ }, ref: (el) => (this.divElement = el), "data-testid": "container", id: "div-container" }, index.h("div", { key: 'add6dc645923e78ea4aab5a5119900ffb77f84e2', class: "header" }, index.h("div", { key: 'e173f66d20de86d73957e68ba58049d9fd5694f2', class: "header-content" }, index.h("slot", { key: '8c3fcccd355f8648ef1bd2367c764d3360805ffb', name: "header" })), index.h("ix-icon-button", { key: '4ca6c7513df414120a6f7f4164cb8cfed84992fe', class: "close-button", icon: 'close', size: "24", ghost: true, onClick: () => this.onCloseClicked(), "data-testid": "close-button" })), index.h("div", { key: '95fb535fc3fe56ff7731d00d849fd4d93b61d31a', class: "content" }, index.h("slot", { key: '44f5d0a2b5d4c876c67c4db047653d63550e5ac2' }))));
102
102
  }
103
103
  static get watchers() { return {
104
104
  "show": ["onShowChanged"]
@@ -32,11 +32,11 @@ const DropdownButton = class {
32
32
  } }));
33
33
  }
34
34
  render() {
35
- return (index.h(index.Host, { key: '8930487c4b37d245f7fb9828c5028136e50ac81b', class: {
35
+ return (index.h(index.Host, { key: '4a18eaa51a9defa9a50aa2d4008176640d94fd5a', class: {
36
36
  disabled: this.disabled,
37
37
  }, ref: (ref) => {
38
38
  this.dropdownAnchor = ref;
39
- } }, index.h("div", { key: 'ea5caa3aac82f89ece0f569345f10b8afe995e44', class: "dropdown-button" }, this.label ? (index.h("ix-button", { variant: this.variant, outline: this.outline, ghost: this.ghost, disabled: this.disabled, alignment: "start" }, index.h("div", { class: 'content' }, this.icon ? (index.h("ix-icon", { name: this.icon, size: "24", class: 'dropdown-icon' })) : null, index.h("div", { class: 'button-label' }, this.label), index.h("ix-icon", { name: 'chevron-down-small', size: "24" })))) : (index.h("div", null, index.h("ix-icon-button", { icon: this.icon, variant: this.variant, outline: this.outline, ghost: this.ghost, disabled: this.disabled }), this.getTriangle()))), index.h("ix-dropdown", { key: '744ebec47c4658921d5a57f0165f6a7c95ed32e8', class: "dropdown", trigger: this.dropdownAnchor, placement: this.placement, closeBehavior: this.closeBehavior }, index.h("slot", { key: '438133ed750034c6a94cab0921c06cdf74c7b79e' }))));
39
+ } }, index.h("div", { key: '2e967b92d073f88609f31d90cafd6b5455930560', class: "dropdown-button" }, this.label ? (index.h("ix-button", { variant: this.variant, outline: this.outline, ghost: this.ghost, disabled: this.disabled, alignment: "start" }, index.h("div", { class: 'content' }, this.icon ? (index.h("ix-icon", { name: this.icon, size: "24", class: 'dropdown-icon' })) : null, index.h("div", { class: 'button-label' }, this.label), index.h("ix-icon", { name: 'chevron-down-small', size: "24" })))) : (index.h("div", null, index.h("ix-icon-button", { icon: this.icon, variant: this.variant, outline: this.outline, ghost: this.ghost, disabled: this.disabled }), this.getTriangle()))), index.h("ix-dropdown", { key: '1477ef9b47c696f1ab705f0973b6ba20228975b2', class: "dropdown", trigger: this.dropdownAnchor, placement: this.placement, closeBehavior: this.closeBehavior }, index.h("slot", { key: '137db0e0b45d8e5f370346620782007c3b28f7f7' }))));
40
40
  }
41
41
  get hostElement() { return index.getElement(this); }
42
42
  };
@@ -13,7 +13,7 @@ const DropdownHeader = class {
13
13
  this.label = undefined;
14
14
  }
15
15
  render() {
16
- return (index.h(index.Host, { key: '9b48e23d908cf0cc9f47822f9e25adacc878165d' }, index.h("ix-typography", { key: 'd89842c74ad80c00e696b0ca5d5a02d4eb646c3c', class: 'category-text', variant: 'default-title' }, this.label)));
16
+ return (index.h(index.Host, { key: 'fa3daed3c42026d56472617e8011daf26a6a0143' }, index.h("ix-typography", { key: 'd5b713244e69d78221498344e435c0fe08c06b26', class: 'category-text', variant: 'default-title' }, this.label)));
17
17
  }
18
18
  };
19
19
  DropdownHeader.style = IxDropdownHeaderStyle0;
@@ -35,15 +35,15 @@ const DropdownItem = class {
35
35
  this.icon !== undefined);
36
36
  }
37
37
  render() {
38
- return (index.h(index.Host, { key: 'd0961e924032ae68a9413214e4d1ab295c938507', class: {
38
+ return (index.h(index.Host, { key: '3882c42ff856b85402ec8fbcd366832993a2d50b', class: {
39
39
  hover: this.hover,
40
40
  'icon-only': this.isIconOnly(),
41
41
  disabled: this.disabled,
42
42
  submenu: this.isSubMenu,
43
- }, role: "listitem" }, index.h("button", { key: '798221fee0673bad5791f7823a0316217890d744', type: "button", tabIndex: 0, class: {
43
+ }, role: "listitem" }, index.h("button", { key: '18957e0107f55aed30e6cecfa6bfbe02c456a850', type: "button", tabIndex: 0, class: {
44
44
  'dropdown-item': true,
45
45
  'no-checked-field': this.suppressChecked,
46
- }, onClick: () => this.emitItemClick() }, !this.suppressChecked ? (index.h("div", { class: "dropdown-item-checked" }, this.checked ? (index.h("ix-icon", { class: "checkmark", name: 'single-check', size: "16" })) : null)) : null, this.icon ? (index.h("ix-icon", { class: "dropdown-item-icon", name: this.icon })) : null, index.h("div", { key: '590a12e0a50264cb5367a94c23d2641f4adc2b82', class: "dropdown-item-text" }, this.label, index.h("slot", { key: 'dcbeb64fc42ff9ef4a21e2dbec9eb843e09f658c' })), this.isSubMenu ? (index.h("ix-icon", { name: 'chevron-right-small', class: 'submenu-icon' })) : null)));
46
+ }, onClick: () => this.emitItemClick() }, !this.suppressChecked ? (index.h("div", { class: "dropdown-item-checked" }, this.checked ? (index.h("ix-icon", { class: "checkmark", name: 'single-check', size: "16" })) : null)) : null, this.icon ? (index.h("ix-icon", { class: "dropdown-item-icon", name: this.icon })) : null, index.h("div", { key: '94d506721e5e4b776e447bdfc678bce32811081c', class: "dropdown-item-text" }, this.label, index.h("slot", { key: 'ca6d981217740a41bce4bf024ed1f4c1bed2d915' })), this.isSubMenu ? (index.h("ix-icon", { name: 'chevron-right-small', class: 'submenu-icon' })) : null)));
47
47
  }
48
48
  get hostElement() { return index.getElement(this); }
49
49
  };
@@ -12,7 +12,7 @@ const DropdownQuickActions = class {
12
12
  index.registerInstance(this, hostRef);
13
13
  }
14
14
  render() {
15
- return (index.h(index.Host, { key: '6fc1f482e9e43fd2e70535c7f2bb7786fc59e305' }, index.h("slot", { key: 'd8a06e975f6498b7735159e09a29e8d715a1ff99' })));
15
+ return (index.h(index.Host, { key: '4276b052d998fa436597a67bc7df4b5f4dac79e7' }, index.h("slot", { key: 'fe99c816c933c10d45fdb93acfadf23938ffa1ae' })));
16
16
  }
17
17
  };
18
18
  DropdownQuickActions.style = IxDropdownQuickActionsStyle0;
@@ -240,6 +240,9 @@ const Dropdown = class {
240
240
  return this.checkForSubmenuAnchor(el);
241
241
  }
242
242
  async checkForSubmenuAnchor(element) {
243
+ if (!element) {
244
+ return null;
245
+ }
243
246
  if (hasDropdownItemWrapperImplemented(element)) {
244
247
  const dropdownItem = await element.getDropdownItemElement();
245
248
  dropdownItem.isSubMenu = true;
@@ -282,7 +285,6 @@ const Dropdown = class {
282
285
  : this.resolveElement(this.trigger));
283
286
  if (this.anchorElement) {
284
287
  this.applyDropdownPosition();
285
- // await this.checkForSubmenuAnchor();
286
288
  }
287
289
  }
288
290
  }
@@ -378,7 +380,7 @@ const Dropdown = class {
378
380
  this.applyDropdownPosition();
379
381
  }
380
382
  render() {
381
- return (index.h(index.Host, { key: '01a39d73f0427606652393f7344e740bd9ee4a98', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
383
+ return (index.h(index.Host, { key: '238292e4c3d58cb76a31d55701e12768e6dac3e7', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
382
384
  'dropdown-menu': true,
383
385
  show: this.show,
384
386
  overflow: true,
@@ -386,7 +388,7 @@ const Dropdown = class {
386
388
  margin: '0',
387
389
  minWidth: '0px',
388
390
  position: this.positioningStrategy,
389
- }, role: "list", onClick: (event) => this.onDropdownClick(event) }, index.h("div", { key: 'd87f8961f4319f6748685479ccaed5b450868b57', style: { display: 'contents' } }, this.header && index.h("div", { class: "dropdown-header" }, this.header), index.h("slot", { key: '274f8d9f89f4b4d92d5d32a32fbbc485964d0e3b' }))));
391
+ }, role: "list", onClick: (event) => this.onDropdownClick(event) }, index.h("div", { key: 'c7ae3b8f704c5b80742920d9375267f77813330f', style: { display: 'contents' } }, this.header && index.h("div", { class: "dropdown-header" }, this.header), index.h("slot", { key: '982197ccab46e37c8651eb6937f93b6441880fe2' }))));
390
392
  }
391
393
  get hostElement() { return index.getElement(this); }
392
394
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"ix-dropdown.entry.cjs.js","mappings":"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","names":["flip","inline","shift","offset","autoUpdate","computePosition","h","Host"],"sources":["src/components/dropdown/dropdown-controller.ts","src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(ignoreBehaviorForIds: string[] = []) {\n this.dropdowns.forEach((dropdown) => {\n if (\n !ignoreBehaviorForIds.includes(dropdown.getId()) &&\n (dropdown.closeBehavior === 'inside' ||\n dropdown.closeBehavior === false)\n ) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\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\n@import 'common-variables';\n\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n connectedCallback(): void {\n dropdownController.connected(this);\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n this.disposeListener?.();\n dropdownController.disconnected(this);\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeListener?: Function;\n\n private addEventListenersFor() {\n this.disposeListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: false,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n // await this.checkForSubmenuAnchor();\n }\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n if (dropdownController.pathIncludesTrigger(event.composedPath())) {\n event.preventDefault();\n\n if (this.isTriggerElement(event.target as HTMLElement)) {\n return;\n }\n }\n\n if (this.closeBehavior === 'inside' || this.closeBehavior === 'both') {\n dropdownController.dismissAll([this.getId()]);\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-dropdown.entry.cjs.js","mappings":"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","names":["flip","inline","shift","offset","autoUpdate","computePosition","h","Host"],"sources":["src/components/dropdown/dropdown-controller.ts","src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(ignoreBehaviorForIds: string[] = []) {\n this.dropdowns.forEach((dropdown) => {\n if (\n !ignoreBehaviorForIds.includes(dropdown.getId()) &&\n (dropdown.closeBehavior === 'inside' ||\n dropdown.closeBehavior === false)\n ) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\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\n@import 'common-variables';\n\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n connectedCallback(): void {\n dropdownController.connected(this);\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n this.disposeListener?.();\n dropdownController.disconnected(this);\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeListener?: Function;\n\n private addEventListenersFor() {\n this.disposeListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: false,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (!element) {\n return null;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n if (dropdownController.pathIncludesTrigger(event.composedPath())) {\n event.preventDefault();\n\n if (this.isTriggerElement(event.target as HTMLElement)) {\n return;\n }\n }\n\n if (this.closeBehavior === 'inside' || this.closeBehavior === 'both') {\n dropdownController.dismissAll([this.getId()]);\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -18,7 +18,7 @@ const EmptyState = class {
18
18
  this.action = undefined;
19
19
  }
20
20
  render() {
21
- return (index.h(index.Host, { key: '79259f06912559cfdc060adbd8af1841b6743d5d', class: `emptyState emptyState--${this.layout}` }, this.icon && (index.h("div", { class: "emptyState__icon" }, index.h("ix-icon", { name: this.icon, size: this.layout === 'large' ? '32' : '32', color: "color-soft-text" }))), index.h("div", { key: 'f9665e695a8d12c6ed0c07f66a1a9e46c87ee99e', class: "emptyState__content" }, index.h("div", { key: '073f23f872bc5c761679e29951824b1b5123991d', class: "content__label" }, index.h("ix-typography", { key: 'a3dd46861fe229b04905c4bb1be31f549e3d4c3b', variant: this.layout === 'large' ? 'display-large' : 'default' }, this.header), this.subHeader && (index.h("div", { class: "label__subHeader" }, this.subHeader))), this.action && (index.h("div", { class: "content__action" }, index.h("ix-button", { onClick: () => this.actionClick.emit() }, this.action))))));
21
+ return (index.h(index.Host, { key: '05758725d4d8effa0b61ae90189bea0556576bf5', class: `emptyState emptyState--${this.layout}` }, this.icon && (index.h("div", { class: "emptyState__icon" }, index.h("ix-icon", { name: this.icon, size: this.layout === 'large' ? '32' : '32', color: "color-soft-text" }))), index.h("div", { key: '443bdba623c0a05f224a113e27de4fa281c27563', class: "emptyState__content" }, index.h("div", { key: 'df17e2f2ca3c227bde9af9bbfbd25c8593b93472', class: "content__label" }, index.h("ix-typography", { key: '9a9d096c9676dd62d8ccf78f67e05f98d4abd761', variant: this.layout === 'large' ? 'display-large' : 'default' }, this.header), this.subHeader && (index.h("div", { class: "label__subHeader" }, this.subHeader))), this.action && (index.h("div", { class: "content__action" }, index.h("ix-button", { onClick: () => this.actionClick.emit() }, this.action))))));
22
22
  }
23
23
  };
24
24
  EmptyState.style = IxEmptyStateStyle0;
@@ -30,16 +30,16 @@ const EventListItem = class {
30
30
  ? `var(${this.color})`
31
31
  : `var(--theme-${this.color})`;
32
32
  }
33
- return (index.h(index.Host, { key: 'ed92a7e8394856c074b51ebed8189e99fe1e29a2', class: {
33
+ return (index.h(index.Host, { key: '3e25c77fbee09f5cbd02c5ad5e449ea4eb63ddbb', class: {
34
34
  disabled: this.disabled,
35
- } }, index.h("div", { key: 'b4a23c2bc24a9589b019c5f27db2c66e3becf6ef', class: {
35
+ } }, index.h("div", { key: 'ef165d8f55102f0c3f308782389e5c2cccae782e', class: {
36
36
  'event-list-item': true,
37
37
  selected: this.selected,
38
38
  disabled: this.disabled,
39
- } }, index.h("div", { key: '1d04c7f035c233c2d9076626cc5a117404d6a135', class: `indicator ${!((_c = this.itemColor) !== null && _c !== void 0 ? _c : this.color) ? 'indicator-empty' : ''}`, style: {
39
+ } }, index.h("div", { key: '5a9f0d1af17820bab17fb8d1cefffdcd0ee1b02a', class: `indicator ${!((_c = this.itemColor) !== null && _c !== void 0 ? _c : this.color) ? 'indicator-empty' : ''}`, style: {
40
40
  'background-color': ((_d = this.itemColor) !== null && _d !== void 0 ? _d : this.color) ? color : 'inherit',
41
41
  opacity: `${this.disabled ? 0.4 : 1}`,
42
- } }), index.h("div", { key: '930d5297013c14fff5494f70b5679fd63240ccb8', class: "event-list-item-container" }, index.h("div", { key: 'bf5e074f3beb0ac61df18aa15efd62baa8320aba', class: "event-content" }, index.h("slot", { key: 'ce0730f3c2cbb9d89a36abe041c6a3e5780434a1' })), this.chevron && (index.h("ix-icon", { name: 'chevron-right', size: "16", class: "chevron-icon" }))))));
42
+ } }), index.h("div", { key: '0bc498d396328ac8e7a4543339d1ff6c362fd19e', class: "event-list-item-container" }, index.h("div", { key: '6f57320d0c1c43222527a455bdea9193b53524fb', class: "event-content" }, index.h("slot", { key: '15cee1c7afade0bb0fe0112bfba54c7fe70d8e1e' })), this.chevron && (index.h("ix-icon", { name: 'chevron-right', size: "16", class: "chevron-icon" }))))));
43
43
  }
44
44
  };
45
45
  EventListItem.style = IxEventListItemStyle0;
@@ -105,11 +105,11 @@ const EventList = class {
105
105
  });
106
106
  }
107
107
  render() {
108
- return (index.h(index.Host, { key: '6bc5d62a320af1a618b976d7a745dd1da08d5e0b', class: {
108
+ return (index.h(index.Host, { key: '89be0fbb595cea7d39e50feedb367108c2a206bb', class: {
109
109
  'item-size-s': this.itemHeight === 'S',
110
110
  'item-size-l': this.itemHeight === 'L',
111
111
  compact: this.compact,
112
- } }, index.h("ul", { key: 'ae28f0ca948651a677b6eff296043d9fe68f84f6' }, index.h("slot", { key: '3e5aaa7d87e8c72a2e83a8b086060ec86ab4fa30' }))));
112
+ } }, index.h("ul", { key: '1e14d4602a221795448e7216c0952b29af06c522' }, index.h("slot", { key: '5c55793caf21fb2f76f7019b7813a75b9746b180' }))));
113
113
  }
114
114
  get hostElement() { return index.getElement(this); }
115
115
  static get watchers() { return {
@@ -54,20 +54,20 @@ const ExpandingSearch = class {
54
54
  this.valueChange.emit(this.value);
55
55
  }
56
56
  render() {
57
- return (index.h(index.Host, { key: 'd354ef216d5dc5f80ce2a7a4a7ab9130afe94c0e', class: {
57
+ return (index.h(index.Host, { key: '4c4ad028a6843aa48f111eab03289f05093ff0c4', class: {
58
58
  expanded: this.expanded,
59
59
  'right-position': this.expanded,
60
60
  fullWidth: this.fullWidth,
61
- } }, index.h("ix-icon-button", { key: '960286296bba24fa10228927d446f23c542e3404', size: this.expanded ? '16' : '24', icon: this.icon, ghost: true, variant: "primary", "data-testid": "button", onClick: () => this.expandInput(), tabindex: this.expanded ? -1 : 0, color: this.hasFocus ? 'input-search-icon--color--focus' : undefined, class: {
61
+ } }, index.h("ix-icon-button", { key: 'c919f410191cb51957c1d00938cfde61193ebdd5', size: this.expanded ? '16' : '24', icon: this.icon, ghost: true, variant: "primary", "data-testid": "button", onClick: () => this.expandInput(), tabindex: this.expanded ? -1 : 0, color: this.hasFocus ? 'input-search-icon--color--focus' : undefined, class: {
62
62
  'btn-search': true,
63
63
  'btn-search--expanded': this.expanded,
64
- } }), index.h("div", { key: '08c1c9975d18d21a1a2f0331ac72fd44e5ed1fb2', class: {
64
+ } }), index.h("div", { key: 'e3c42bb3f8940113d4da24d8d235240fce59fa91', class: {
65
65
  expanded: this.expanded,
66
66
  fullWidth: this.fullWidth,
67
67
  collapsed: !this.expanded,
68
68
  'disable-pointer': !this.expanded,
69
69
  'input-container': true,
70
- }, "data-testid": "input-wrapper" }, index.h("input", { key: 'f2bafc86d72957c20343fbde76664c70ad1a4dc6', class: {
70
+ }, "data-testid": "input-wrapper" }, index.h("input", { key: 'ec9dabd6711e59f9675b3c961abdae17ea0da703', class: {
71
71
  'form-control': true,
72
72
  input: this.expanded,
73
73
  'disable-pointer': !this.expanded,
@@ -20,7 +20,7 @@ const FilterChip = class {
20
20
  this.closeClick.emit();
21
21
  }
22
22
  render() {
23
- return (index.h(index.Host, { key: '828da5a62ec5accc6b74cff38e4bfcf51de94c98', class: { disabled: this.disabled, readonly: this.readonly }, title: this.el.textContent }, index.h("div", { key: '8aba552ef0dee8349ab558d77db21a2c22f76f8f', class: "slot-container" }, index.h("slot", { key: 'a81343d2a06faf7bd6c5ca2522d40af99ee589ca' })), !this.disabled && !this.readonly ? (index.h("ix-icon-button", { ghost: true, oval: true, icon: 'close-small', size: "16", tabindex: this.disabled ? -1 : 0, variant: "primary", disabled: this.disabled, onClick: (e) => this.onCloseClick(e) })) : null));
23
+ return (index.h(index.Host, { key: '10df51e34656ed3b7b18e9f2a07a59c18784a3d1', class: { disabled: this.disabled, readonly: this.readonly }, title: this.el.textContent }, index.h("div", { key: '5a94912e2c22cbddb984b28ba0126f31c1e20165', class: "slot-container" }, index.h("slot", { key: '0fdc94729908b9c3a040667318dcc18d300e4176' })), !this.disabled && !this.readonly ? (index.h("ix-icon-button", { ghost: true, oval: true, icon: 'close-small', size: "16", tabindex: this.disabled ? -1 : 0, variant: "primary", disabled: this.disabled, onClick: (e) => this.onCloseClick(e) })) : null));
24
24
  }
25
25
  get el() { return index.getElement(this); }
26
26
  };
@@ -43,7 +43,7 @@ class IxSelectItemLabelChangeEvent extends CustomEvent {
43
43
  }
44
44
  }
45
45
 
46
- const selectItemCss = ":host{display:block;position:relative}:host>ix-dropdown-item{width:100%}:host .select-item-checked{background-color:var(--theme-select-list-item--background--selected);--ix-dropdown-item-checked-color:var(--theme-color-std-text)}:host(.d-none){display:none}";
46
+ const selectItemCss = ":host{display:block;position:relative}:host>ix-dropdown-item{width:100%}:host ix-dropdown-item{color:var(--theme-color-std-text)}:host .select-item-checked{background-color:var(--theme-select-list-item--background--selected);--ix-dropdown-item-checked-color:var(--theme-color-std-text)}:host(.d-none){display:none}";
47
47
  const IxSelectItemStyle0 = selectItemCss;
48
48
 
49
49
  const SelectItem = class {
@@ -76,7 +76,7 @@ const SelectItem = class {
76
76
  }));
77
77
  }
78
78
  render() {
79
- return (index.h(index.Host, { key: 'c56aa1ee5e174f9de7905bcaef381e0a8fd212a2' }, index.h("ix-dropdown-item", { key: '00ec7a1e52a6b17cf94ce702239fef06df0cb936', class: {
79
+ return (index.h(index.Host, { key: '3d43f9c4cc86b5820ebe0fe15c3ccd2a6a4f0f95' }, index.h("ix-dropdown-item", { key: 'a169c7bf3533f5203ad557b6ef52edd6ddf9c547', class: {
80
80
  'select-item-checked': this.selected,
81
81
  }, checked: this.selected, label: this.label ? this.label : this.value, onItemClick: (e) => this.onItemClick(e) })));
82
82
  }
@@ -1 +1 @@
1
- {"file":"ix-filter-chip.ix-select-item.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,aAAa,GAAG,8qEAA8qE,CAAC;AACrsE,2BAAe,aAAa;;MCuBf,UAAU;;;;wBAMF,KAAK;wBAML,KAAK;;IAOhB,YAAY,CAAC,KAAY;QAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM;QACJ,QACEA,QAACC,UAAI,qDACH,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAC3D,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,IAE1BD,kEAAK,KAAK,EAAC,gBAAgB,IACzBA,oEAAa,CACT,EACL,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAC/BA,4BACE,KAAK,QACL,IAAI,QACJ,IAAI,EAAE,aAAa,EACnB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GACpB,IAChB,IAAI,CACH,EACP;KACH;;;;;ACxEH;;;;;;;;MAQa,4BAA6B,SAAQ,WAGhD;IACA,YAAY,MAA8C;QACxD,KAAK,CAAC,4BAA4B,EAAE;YAClC,OAAO,EAAE,IAAI;YACb,MAAM;SACP,CAAC,CAAC;KACJ;;;ACjBH,MAAM,aAAa,GAAG,mQAAmQ,CAAC;AAC1R,2BAAe,aAAa;;MC0Bf,UAAU;;;;;;wBAgBF,KAAK;qBAKR,KAAK;;;;;;IAYrB,MAAM,WAAW,CAAC,KAA8C;QAC9D,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;QACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAC5D;KACF;IAGD,WAAW,CAAC,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,WAAW,CAAC,aAAa,CAC5B,IAAI,4BAA4B,CAAC;YAC/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACnB,CAAC,CACH,CAAC;KACH;IAED,MAAM;QACJ,QACEA,QAACC,UAAI,uDACHD,+EACE,KAAK,EAAE;gBACL,qBAAqB,EAAE,IAAI,CAAC,QAAQ;aACrC,EACD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAC3C,WAAW,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GACrB,CACf,EACP;KACH;;;;;;;;;;;","names":["h","Host"],"sources":["src/components/filter-chip/filter-chip.scss?tag=ix-filter-chip&encapsulation=shadow","src/components/filter-chip/filter-chip.tsx","src/components/select-item/events.ts","src/components/select-item/select-item.scss?tag=ix-select-item&encapsulation=shadow","src/components/select-item/select-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n height: $large-space;\n padding-left: $small-space;\n border: var(--theme-focus--border-thickness) solid\n var(--theme-chip-primary-outline--border-color);\n border-radius: $x-large-space;\n background-color: var(--theme-color-ghost);\n color: var(--theme-chip-primary-outline--color);\n\n .slot-container {\n @include ellipsis;\n\n :host-context(.disabled) {\n background-color: var(--theme-color-ghost);\n border-color: var(--theme-color-component-4);\n color: var(--theme-color-weak-text);\n }\n }\n\n ix-icon-button {\n height: $large-space;\n margin-left: 0.25rem;\n\n @include focus-visible {\n outline: none;\n }\n }\n}\n\n:host(.disabled) {\n border: var(--theme-focus--border-thickness) solid\n var(--theme-color-component-4);\n color: var(--theme-color-weak-text);\n padding-right: $small-space;\n\n cursor: default;\n}\n\n:host(.readonly) {\n padding-right: $small-space;\n}\n\n@include host-hover {\n background-color: var(--theme-color-ghost-primary--hover);\n border-color: var(--theme-chip-primary-outline--border-color--hover);\n color: var(--theme-chip-primary-outline--color--hover);\n}\n\n@include host-active {\n background-color: var(--theme-color-ghost-primary--active);\n border-color: var(--theme-chip-primary-outline--border-color--active);\n color: var(--theme-chip-primary-outline--color--active);\n}\n\n@include host-focus-visible {\n outline: var(--theme-color-focus-bdr) solid\n var(--theme-focus--border-thickness);\n outline-offset: -0.125rem;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-filter-chip',\n styleUrl: 'filter-chip.scss',\n shadow: true,\n})\nexport class FilterChip {\n @Element() el: HTMLIxFilterChipElement;\n\n /**\n * If true the filter chip will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the filter chip will be in readonly mode\n * @since 2.0.0\n */\n @Prop() readonly = false;\n\n /**\n * Close clicked\n */\n @Event() closeClick: EventEmitter<void>;\n\n private onCloseClick(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.closeClick.emit();\n }\n\n render() {\n return (\n <Host\n class={{ disabled: this.disabled, readonly: this.readonly }}\n title={this.el.textContent}\n >\n <div class=\"slot-container\">\n <slot></slot>\n </div>\n {!this.disabled && !this.readonly ? (\n <ix-icon-button\n ghost\n oval\n icon={'close-small'}\n size=\"16\"\n tabindex={this.disabled ? -1 : 0}\n variant=\"primary\"\n disabled={this.disabled}\n onClick={(e) => this.onCloseClick(e)}\n ></ix-icon-button>\n ) : null}\n </Host>\n );\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 */\nexport class IxSelectItemLabelChangeEvent extends CustomEvent<{\n oldValue: string;\n newValue: string;\n}> {\n constructor(detail: { oldValue: string; newValue: string }) {\n super('ix-select-item:labelChange', {\n bubbles: true,\n detail,\n });\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\n:host {\n display: block;\n position: relative;\n\n > ix-dropdown-item {\n width: 100%;\n }\n\n .select-item-checked {\n background-color: var(--theme-select-list-item--background--selected);\n --ix-dropdown-item-checked-color: var(--theme-color-std-text);\n }\n}\n\n:host(.d-none) {\n display: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from './events';\n\n@Component({\n tag: 'ix-select-item',\n styleUrl: 'select-item.scss',\n shadow: true,\n})\nexport class SelectItem {\n @Element() hostElement: HTMLIxSelectItemElement;\n\n /**\n * Displayed name of the item\n */\n @Prop({ reflect: true }) label: string;\n\n /**\n * Item value\n */\n @Prop({ reflect: true }) value!: any;\n\n /**\n * Whether the item is selected.\n */\n @Prop() selected = false;\n\n /**\n * @internal\n */\n @Prop() hover = false;\n\n /**\n * Item clicked\n */\n @Event() itemClick: EventEmitter<string>;\n\n /**\n * @internal\n * @param event\n */\n @Method()\n async onItemClick(event?: CustomEvent<HTMLIxDropdownItemElement>) {\n event?.preventDefault();\n event?.stopPropagation();\n\n this.itemClick.emit(this.value);\n }\n\n componentDidRender() {\n if (!this.value) {\n throw Error('ix-select-item must have a `value` property');\n }\n }\n\n @Watch('label')\n labelChange(newValue: string, oldValue: string) {\n this.hostElement.dispatchEvent(\n new IxSelectItemLabelChangeEvent({\n newValue: newValue,\n oldValue: oldValue,\n })\n );\n }\n\n render() {\n return (\n <Host>\n <ix-dropdown-item\n class={{\n 'select-item-checked': this.selected,\n }}\n checked={this.selected}\n label={this.label ? this.label : this.value}\n onItemClick={(e) => this.onItemClick(e)}\n ></ix-dropdown-item>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-filter-chip.ix-select-item.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,aAAa,GAAG,8qEAA8qE,CAAC;AACrsE,2BAAe,aAAa;;MCuBf,UAAU;;;;wBAMF,KAAK;wBAML,KAAK;;IAOhB,YAAY,CAAC,KAAY;QAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;IAED,MAAM;QACJ,QACEA,QAACC,UAAI,qDACH,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAC3D,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,IAE1BD,kEAAK,KAAK,EAAC,gBAAgB,IACzBA,oEAAa,CACT,EACL,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAC/BA,4BACE,KAAK,QACL,IAAI,QACJ,IAAI,EAAE,aAAa,EACnB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GACpB,IAChB,IAAI,CACH,EACP;KACH;;;;;ACxEH;;;;;;;;MAQa,4BAA6B,SAAQ,WAGhD;IACA,YAAY,MAA8C;QACxD,KAAK,CAAC,4BAA4B,EAAE;YAClC,OAAO,EAAE,IAAI;YACb,MAAM;SACP,CAAC,CAAC;KACJ;;;ACjBH,MAAM,aAAa,GAAG,4TAA4T,CAAC;AACnV,2BAAe,aAAa;;MC0Bf,UAAU;;;;;;wBAgBF,KAAK;qBAKR,KAAK;;;;;;IAYrB,MAAM,WAAW,CAAC,KAA8C;QAC9D,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;QACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAC5D;KACF;IAGD,WAAW,CAAC,QAAgB,EAAE,QAAgB;QAC5C,IAAI,CAAC,WAAW,CAAC,aAAa,CAC5B,IAAI,4BAA4B,CAAC;YAC/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACnB,CAAC,CACH,CAAC;KACH;IAED,MAAM;QACJ,QACEA,QAACC,UAAI,uDACHD,+EACE,KAAK,EAAE;gBACL,qBAAqB,EAAE,IAAI,CAAC,QAAQ;aACrC,EACD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAC3C,WAAW,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GACrB,CACf,EACP;KACH;;;;;;;;;;;","names":["h","Host"],"sources":["src/components/filter-chip/filter-chip.scss?tag=ix-filter-chip&encapsulation=shadow","src/components/filter-chip/filter-chip.tsx","src/components/select-item/events.ts","src/components/select-item/select-item.scss?tag=ix-select-item&encapsulation=shadow","src/components/select-item/select-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n height: $large-space;\n padding-left: $small-space;\n border: var(--theme-focus--border-thickness) solid\n var(--theme-chip-primary-outline--border-color);\n border-radius: $x-large-space;\n background-color: var(--theme-color-ghost);\n color: var(--theme-chip-primary-outline--color);\n\n .slot-container {\n @include ellipsis;\n\n :host-context(.disabled) {\n background-color: var(--theme-color-ghost);\n border-color: var(--theme-color-component-4);\n color: var(--theme-color-weak-text);\n }\n }\n\n ix-icon-button {\n height: $large-space;\n margin-left: 0.25rem;\n\n @include focus-visible {\n outline: none;\n }\n }\n}\n\n:host(.disabled) {\n border: var(--theme-focus--border-thickness) solid\n var(--theme-color-component-4);\n color: var(--theme-color-weak-text);\n padding-right: $small-space;\n\n cursor: default;\n}\n\n:host(.readonly) {\n padding-right: $small-space;\n}\n\n@include host-hover {\n background-color: var(--theme-color-ghost-primary--hover);\n border-color: var(--theme-chip-primary-outline--border-color--hover);\n color: var(--theme-chip-primary-outline--color--hover);\n}\n\n@include host-active {\n background-color: var(--theme-color-ghost-primary--active);\n border-color: var(--theme-chip-primary-outline--border-color--active);\n color: var(--theme-chip-primary-outline--color--active);\n}\n\n@include host-focus-visible {\n outline: var(--theme-color-focus-bdr) solid\n var(--theme-focus--border-thickness);\n outline-offset: -0.125rem;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-filter-chip',\n styleUrl: 'filter-chip.scss',\n shadow: true,\n})\nexport class FilterChip {\n @Element() el: HTMLIxFilterChipElement;\n\n /**\n * If true the filter chip will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the filter chip will be in readonly mode\n * @since 2.0.0\n */\n @Prop() readonly = false;\n\n /**\n * Close clicked\n */\n @Event() closeClick: EventEmitter<void>;\n\n private onCloseClick(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.closeClick.emit();\n }\n\n render() {\n return (\n <Host\n class={{ disabled: this.disabled, readonly: this.readonly }}\n title={this.el.textContent}\n >\n <div class=\"slot-container\">\n <slot></slot>\n </div>\n {!this.disabled && !this.readonly ? (\n <ix-icon-button\n ghost\n oval\n icon={'close-small'}\n size=\"16\"\n tabindex={this.disabled ? -1 : 0}\n variant=\"primary\"\n disabled={this.disabled}\n onClick={(e) => this.onCloseClick(e)}\n ></ix-icon-button>\n ) : null}\n </Host>\n );\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 */\nexport class IxSelectItemLabelChangeEvent extends CustomEvent<{\n oldValue: string;\n newValue: string;\n}> {\n constructor(detail: { oldValue: string; newValue: string }) {\n super('ix-select-item:labelChange', {\n bubbles: true,\n detail,\n });\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\n:host {\n display: block;\n position: relative;\n\n > ix-dropdown-item {\n width: 100%;\n }\n\n ix-dropdown-item {\n color: var(--theme-color-std-text);\n }\n\n .select-item-checked {\n background-color: var(--theme-select-list-item--background--selected);\n --ix-dropdown-item-checked-color: var(--theme-color-std-text);\n }\n}\n\n:host(.d-none) {\n display: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from './events';\n\n@Component({\n tag: 'ix-select-item',\n styleUrl: 'select-item.scss',\n shadow: true,\n})\nexport class SelectItem {\n @Element() hostElement: HTMLIxSelectItemElement;\n\n /**\n * Displayed name of the item\n */\n @Prop({ reflect: true }) label: string;\n\n /**\n * Item value\n */\n @Prop({ reflect: true }) value!: any;\n\n /**\n * Whether the item is selected.\n */\n @Prop() selected = false;\n\n /**\n * @internal\n */\n @Prop() hover = false;\n\n /**\n * Item clicked\n */\n @Event() itemClick: EventEmitter<string>;\n\n /**\n * @internal\n * @param event\n */\n @Method()\n async onItemClick(event?: CustomEvent<HTMLIxDropdownItemElement>) {\n event?.preventDefault();\n event?.stopPropagation();\n\n this.itemClick.emit(this.value);\n }\n\n componentDidRender() {\n if (!this.value) {\n throw Error('ix-select-item must have a `value` property');\n }\n }\n\n @Watch('label')\n labelChange(newValue: string, oldValue: string) {\n this.hostElement.dispatchEvent(\n new IxSelectItemLabelChangeEvent({\n newValue: newValue,\n oldValue: oldValue,\n })\n );\n }\n\n render() {\n return (\n <Host>\n <ix-dropdown-item\n class={{\n 'select-item-checked': this.selected,\n }}\n checked={this.selected}\n label={this.label ? this.label : this.value}\n onItemClick={(e) => this.onItemClick(e)}\n ></ix-dropdown-item>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -13,7 +13,7 @@ const FlipTileContent = class {
13
13
  this.contentVisible = false;
14
14
  }
15
15
  render() {
16
- return index.h(index.Host, { key: '861c12c524efa42bdcf52922898ceb4fd367ffb0' }, this.contentVisible ? index.h("slot", null) : null);
16
+ return index.h(index.Host, { key: 'e92abcbb8b1cfdeb739ee4933f6ed66a6c2a7dc5' }, this.contentVisible ? index.h("slot", null) : null);
17
17
  }
18
18
  };
19
19
  FlipTileContent.style = IxFlipTileContentStyle0;
@@ -60,26 +60,26 @@ const FlipTile = class {
60
60
  }, 2 * this.ANIMATION_DURATION);
61
61
  }
62
62
  render() {
63
- return (index.h(index.Host, { key: 'ce09b1e9ed6bed31afff8feb5331bae2fd9c4206', style: {
63
+ return (index.h(index.Host, { key: 'f48c8fa439a5b38b06fbda02e4185aa4195dcba5', style: {
64
64
  height: `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
65
65
  'min-height': `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
66
66
  'max-height': `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
67
67
  width: `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
68
68
  'min-width': `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
69
69
  'max-width': `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
70
- } }, index.h("div", { key: '7b05701a4d284b7bf5df7506d05740ceeeee7721', class: {
70
+ } }, index.h("div", { key: 'fc676886cdf565c7cc121640b37c579eb1ea2f64', class: {
71
71
  'flip-tile-container': true,
72
72
  info: this.state === flipTileState.FlipTileState.Info,
73
73
  warning: this.state === flipTileState.FlipTileState.Warning,
74
74
  alarm: this.state === flipTileState.FlipTileState.Alarm,
75
75
  primary: this.state === flipTileState.FlipTileState.Primary,
76
76
  'flip-animation-active': this.isFlipAnimationActive,
77
- } }, index.h("div", { key: 'ce614d5f1fc065d74b6918cfa3f4f3299700ac4b', class: "flip-tile-header" }, index.h("div", { key: '0c21600adb7f402fe9930813148f924e87143bfe', class: "header-slot-container text-l-title" }, index.h("slot", { key: '7eca17dff980859c83891d7f2b90192e21dc25ec', name: "header" })), index.h("ix-icon-button", { key: '8940db181c5db54ccba409fd42d57f08a7dd665b', icon: 'eye', variant: "primary", ghost: true, onClick: () => this.toggleIndex() })), index.h("div", { key: 'c449e4aabde02243da7b5ab6b68ebd128708b929', class: "content-container" }, index.h("slot", { key: '7931ffd8b5428c865f5da4481d6641addd11928d' })), index.h("div", { key: '71061185c12c66f664b05775cf1c204bbfd273dc', class: {
77
+ } }, index.h("div", { key: '036a5f9b336796232c649a0c1718601ccd5c46b5', class: "flip-tile-header" }, index.h("div", { key: '3eb347f451cf27f614f855eee99f8562fc4aa785', class: "header-slot-container text-l-title" }, index.h("slot", { key: '563785f622191f0692f3790f3a908125e30e7276', name: "header" })), index.h("ix-icon-button", { key: '9a52873d2890f187d3a2c940688bbd000e676233', icon: 'eye', variant: "primary", ghost: true, onClick: () => this.toggleIndex() })), index.h("div", { key: '0efc4537aa97d3b79459141678dc180a140bd658', class: "content-container" }, index.h("slot", { key: '1c7035e6e29731a2f192a37f1d86985c3c219220' })), index.h("div", { key: '2d1f20e35490d7f87b1d70cb9783268c5f1dc270', class: {
78
78
  footer: true,
79
79
  'contrast-light': this.state === flipTileState.FlipTileState.Warning,
80
80
  'contrast-dark': this.state === flipTileState.FlipTileState.Info ||
81
81
  this.state === flipTileState.FlipTileState.Alarm,
82
- } }, index.h("slot", { key: 'b4ce29eae8a575c65a0d4fbb323f52ef6edff62d', name: "footer" })))));
82
+ } }, index.h("slot", { key: '074e8bcae63f134dab5623df0682c754e3212159', name: "footer" })))));
83
83
  }
84
84
  get hostElement() { return index.getElement(this); }
85
85
  };