@siemens/ix 0.0.0-20240419081748 → 0.0.0-20240522073858

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 (838) hide show
  1. package/components/base-button.js +26 -3
  2. package/components/base-button.js.map +1 -1
  3. package/components/breadcrumb-item.js +1 -1
  4. package/components/breadcrumb-item.js.map +1 -1
  5. package/components/button.js +3 -3
  6. package/components/button.js.map +1 -1
  7. package/components/date-picker.js +4 -4
  8. package/components/date-picker.js.map +1 -1
  9. package/components/dropdown.js +139 -19
  10. package/components/dropdown.js.map +1 -1
  11. package/components/group-context-menu.js +1 -1
  12. package/components/group-context-menu.js.map +1 -1
  13. package/components/group-item.js +3 -3
  14. package/components/group-item.js.map +1 -1
  15. package/components/icon-button.js +2 -2
  16. package/components/icon-button.js.map +1 -1
  17. package/components/ix-blind.js +1 -1
  18. package/components/ix-blind.js.map +1 -1
  19. package/components/ix-category-filter.js +34 -10
  20. package/components/ix-category-filter.js.map +1 -1
  21. package/components/ix-date-dropdown.js +14 -5
  22. package/components/ix-date-dropdown.js.map +1 -1
  23. package/components/ix-event-list-item.js +5 -4
  24. package/components/ix-event-list-item.js.map +1 -1
  25. package/components/ix-event-list.js +26 -25
  26. package/components/ix-event-list.js.map +1 -1
  27. package/components/ix-form-field.js +1 -1
  28. package/components/ix-form-field.js.map +1 -1
  29. package/components/ix-group.js +16 -9
  30. package/components/ix-group.js.map +1 -1
  31. package/components/ix-icon-toggle-button.js +2 -2
  32. package/components/ix-icon-toggle-button.js.map +1 -1
  33. package/components/ix-input-group.js +1 -1
  34. package/components/ix-key-value-list.js +1 -1
  35. package/components/ix-kpi.js +3 -3
  36. package/components/ix-link-button.js +3 -3
  37. package/components/ix-map-navigation.js +2 -2
  38. package/components/ix-menu-about-item.js +1 -1
  39. package/components/ix-menu-about-news.js +4 -4
  40. package/components/ix-menu-about.js +1 -1
  41. package/components/ix-menu-about.js.map +1 -1
  42. package/components/ix-menu-avatar.js +2 -2
  43. package/components/ix-menu-category.js +5 -5
  44. package/components/ix-menu-settings-item.js +1 -1
  45. package/components/ix-menu.js +11 -11
  46. package/components/ix-menu.js.map +1 -1
  47. package/components/ix-message-bar.js +1 -1
  48. package/components/ix-modal-example.js +1 -1
  49. package/components/ix-modal-footer.js +1 -1
  50. package/components/ix-modal-loading.js +1 -1
  51. package/components/ix-pagination.js +3 -3
  52. package/components/ix-pagination.js.map +1 -1
  53. package/components/ix-pane-layout.js +1 -1
  54. package/components/ix-pill.js +4 -4
  55. package/components/ix-playground-internal.js +1 -1
  56. package/components/ix-split-button-item.js +1 -1
  57. package/components/ix-tile.js +4 -4
  58. package/components/ix-toggle-button.js +2 -2
  59. package/components/ix-toggle.js +2 -2
  60. package/components/ix-tree.js +1 -1
  61. package/components/ix-upload.js +3 -3
  62. package/components/ix-validation-tooltip.js +2 -2
  63. package/components/ix-workflow-step.js +4 -4
  64. package/components/ix-workflow-step.js.map +1 -1
  65. package/components/ix-workflow-steps.js +2 -2
  66. package/components/ix-workflow-steps.js.map +1 -1
  67. package/components/map-navigation-overlay.js +2 -2
  68. package/components/menu-avatar-item.js +1 -1
  69. package/components/menu-expand-icon.js +1 -1
  70. package/components/menu-item.js +2 -2
  71. package/components/modal-content.js +1 -1
  72. package/components/modal-header.js +1 -1
  73. package/components/row.js +1 -1
  74. package/components/select-item.js +9 -1
  75. package/components/select-item.js.map +1 -1
  76. package/components/select.js +161 -42
  77. package/components/select.js.map +1 -1
  78. package/components/spinner.js +1 -1
  79. package/components/tabs.js +2 -2
  80. package/components/time-picker.js +1 -1
  81. package/components/time-picker.js.map +1 -1
  82. package/components/toast.js +2 -2
  83. package/components/tooltip.js +5 -2
  84. package/components/tooltip.js.map +1 -1
  85. package/components/tree-item.js +4 -4
  86. package/dist/cjs/{app-globals-7ea20f68.js → app-globals-5cfdf2a0.js} +2 -2
  87. package/dist/cjs/{app-globals-7ea20f68.js.map → app-globals-5cfdf2a0.js.map} +1 -1
  88. package/dist/cjs/{base-button-2f74b19d.js → base-button-7c45a6c4.js} +27 -4
  89. package/dist/cjs/base-button-7c45a6c4.js.map +1 -0
  90. package/dist/cjs/{base-icon-button-848c77f2.js → base-icon-button-ac2fcf4b.js} +2 -2
  91. package/dist/cjs/{base-icon-button-848c77f2.js.map → base-icon-button-ac2fcf4b.js.map} +1 -1
  92. package/dist/cjs/{core-js-a890bac8.js → core-js-2fc351ee.js} +1 -1
  93. package/dist/cjs/{core-js-a890bac8.js.map → core-js-2fc351ee.js.map} +1 -1
  94. package/dist/cjs/dom-83fb07d8.js.map +1 -1
  95. package/dist/cjs/focus-9c8ffbb0.js +65 -0
  96. package/dist/cjs/focus-9c8ffbb0.js.map +1 -0
  97. package/dist/cjs/{index.es2017-0db94b91.js → index.es2017-0c2b80b6.js} +3 -3
  98. package/dist/cjs/{index.es2017-0db94b91.js.map → index.es2017-0c2b80b6.js.map} +1 -1
  99. package/dist/cjs/ix-avatar_2.cjs.entry.js +2 -2
  100. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  101. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  103. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ix-button.cjs.entry.js +4 -4
  105. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ix-category-filter.cjs.entry.js +34 -11
  107. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ix-col_4.cjs.entry.js +5 -5
  109. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ix-date-dropdown.cjs.entry.js +11 -4
  111. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ix-dropdown.cjs.entry.js +78 -18
  113. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -4
  115. package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ix-event-list.cjs.entry.js +26 -25
  117. package/dist/cjs/ix-event-list.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +8 -1
  119. package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ix-form-field.cjs.entry.js +1 -1
  121. package/dist/cjs/ix-form-field.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
  123. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ix-group.cjs.entry.js +13 -7
  125. package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
  127. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  128. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +4 -4
  129. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  130. package/dist/cjs/ix-icon.entry-e95ddded.js +1533 -0
  131. package/dist/cjs/ix-icon.entry-e95ddded.js.map +1 -0
  132. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  133. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  134. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  135. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  136. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  137. package/dist/cjs/ix-map-navigation.cjs.entry.js +2 -2
  138. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  139. package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
  140. package/dist/cjs/ix-menu-about.cjs.entry.js +1 -1
  141. package/dist/cjs/ix-menu-about.cjs.entry.js.map +1 -1
  142. package/dist/cjs/ix-menu-avatar.cjs.entry.js +2 -2
  143. package/dist/cjs/ix-menu-category.cjs.entry.js +5 -5
  144. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +2 -2
  145. package/dist/cjs/ix-menu-item.cjs.entry.js +2 -2
  146. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  147. package/dist/cjs/ix-menu.cjs.entry.js +11 -11
  148. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  149. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  150. package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
  151. package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
  152. package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
  153. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  154. package/dist/cjs/ix-pagination.cjs.entry.js +4 -4
  155. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  156. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  157. package/dist/cjs/ix-pill.cjs.entry.js +4 -4
  158. package/dist/cjs/ix-playground-internal.cjs.entry.js +1 -1
  159. package/dist/cjs/ix-select.cjs.entry.js +159 -39
  160. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  161. package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
  162. package/dist/cjs/ix-tab-item_2.cjs.entry.js +2 -2
  163. package/dist/cjs/ix-tile.cjs.entry.js +4 -4
  164. package/dist/cjs/ix-time-picker.cjs.entry.js +1 -1
  165. package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
  166. package/dist/cjs/ix-toast.cjs.entry.js +2 -2
  167. package/dist/cjs/ix-toggle-button.cjs.entry.js +3 -3
  168. package/dist/cjs/ix-toggle.cjs.entry.js +2 -2
  169. package/dist/cjs/ix-tooltip.cjs.entry.js +5 -2
  170. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  171. package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
  172. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  173. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  174. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +2 -2
  175. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
  176. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  177. package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
  178. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  179. package/dist/cjs/loader.cjs.js +2 -2
  180. package/dist/cjs/siemens-ix.cjs.js +2 -2
  181. package/dist/collection/components/action-card/action-card.js.map +1 -1
  182. package/dist/collection/components/application/application.js.map +1 -1
  183. package/dist/collection/components/application-header/application-header.js.map +1 -1
  184. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  185. package/dist/collection/components/application-header/test/application-header.ct.js.map +1 -1
  186. package/dist/collection/components/application-sidebar/application-sidebar.js.map +1 -1
  187. package/dist/collection/components/application-sidebar/events.js.map +1 -1
  188. package/dist/collection/components/avatar/avatar.js.map +1 -1
  189. package/dist/collection/components/avatar/test/avatar.ct.js.map +1 -1
  190. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  191. package/dist/collection/components/blind/blind.css +1 -1
  192. package/dist/collection/components/blind/blind.js.map +1 -1
  193. package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
  194. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  195. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +1 -1
  196. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +181 -0
  197. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  198. package/dist/collection/components/button/base-button.js +25 -2
  199. package/dist/collection/components/button/base-button.js.map +1 -1
  200. package/dist/collection/components/button/button.css +181 -0
  201. package/dist/collection/components/button/button.js +7 -4
  202. package/dist/collection/components/button/button.js.map +1 -1
  203. package/dist/collection/components/button/test/button.ct.js +11 -0
  204. package/dist/collection/components/button/test/button.ct.js.map +1 -1
  205. package/dist/collection/components/button/test/button.spec.js.map +1 -1
  206. package/dist/collection/components/card/card.js.map +1 -1
  207. package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
  208. package/dist/collection/components/card-content/card-content.js.map +1 -1
  209. package/dist/collection/components/card-list/card-list.js.map +1 -1
  210. package/dist/collection/components/card-title/card-title.js.map +1 -1
  211. package/dist/collection/components/category-filter/category-filter.css +241 -24
  212. package/dist/collection/components/category-filter/category-filter.js +58 -9
  213. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  214. package/dist/collection/components/category-filter/filter-state.js.map +1 -1
  215. package/dist/collection/components/category-filter/input-state.js.map +1 -1
  216. package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
  217. package/dist/collection/components/chip/chip.js.map +1 -1
  218. package/dist/collection/components/col/col.js.map +1 -1
  219. package/dist/collection/components/content/content.js.map +1 -1
  220. package/dist/collection/components/content-header/content-header.js.map +1 -1
  221. package/dist/collection/components/css-grid/builder.js.map +1 -1
  222. package/dist/collection/components/css-grid/css-grid-item.js.map +1 -1
  223. package/dist/collection/components/css-grid/css-grid.js.map +1 -1
  224. package/dist/collection/components/date-dropdown/date-dropdown.js +33 -3
  225. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  226. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js +43 -0
  227. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +1 -1
  228. package/dist/collection/components/date-picker/date-picker.js +4 -4
  229. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  230. package/dist/collection/components/date-picker/test/date-picker.ct.js.map +1 -1
  231. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  232. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  233. package/dist/collection/components/datetime-picker/test/datetime-picker.ct.js.map +1 -1
  234. package/dist/collection/components/divider/divider.js.map +1 -1
  235. package/dist/collection/components/drawer/drawer.js.map +1 -1
  236. package/dist/collection/components/drawer/test/drawer.ct.js.map +1 -1
  237. package/dist/collection/components/drawer/test/drawer.spec.js.map +1 -1
  238. package/dist/collection/components/dropdown/dropdown-controller.js +19 -6
  239. package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
  240. package/dist/collection/components/dropdown/dropdown.js +80 -12
  241. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  242. package/dist/collection/components/dropdown/placement.js.map +1 -1
  243. package/dist/collection/components/dropdown/test/dropdown-controller.spec.js.map +1 -1
  244. package/dist/collection/components/dropdown/test/dropdown.ct.js +42 -0
  245. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
  246. package/dist/collection/components/dropdown-button/dropdown-button.js +1 -1
  247. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  248. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  249. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  250. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js.map +1 -1
  251. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  252. package/dist/collection/components/event-list/event-list.js +26 -25
  253. package/dist/collection/components/event-list/event-list.js.map +1 -1
  254. package/dist/collection/components/event-list/test/event-list.ct.js +61 -0
  255. package/dist/collection/components/event-list/test/event-list.ct.js.map +1 -0
  256. package/dist/collection/components/event-list/test/event-list.spec.js +0 -47
  257. package/dist/collection/components/event-list/test/event-list.spec.js.map +1 -1
  258. package/dist/collection/components/event-list-item/event-list-item.js +5 -4
  259. package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
  260. package/dist/collection/components/event-list-item/test/event-list-item.spec.js.map +1 -1
  261. package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
  262. package/dist/collection/components/expanding-search/test/expanding-search.ct.js.map +1 -1
  263. package/dist/collection/components/expanding-search/test/expanding-search.spec.js.map +1 -1
  264. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  265. package/dist/collection/components/flip-tile/flip-tile-state.js.map +1 -1
  266. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  267. package/dist/collection/components/flip-tile/test/flip-tile.ct.js.map +1 -1
  268. package/dist/collection/components/flip-tile-content/flip-tile-content.js.map +1 -1
  269. package/dist/collection/components/form-field/form-field.css +30 -12
  270. package/dist/collection/components/form-field/form-field.js.map +1 -1
  271. package/dist/collection/components/grid/layout-grid.js.map +1 -1
  272. package/dist/collection/components/group/group-context-menu.css +3 -0
  273. package/dist/collection/components/group/group-context-menu.js.map +1 -1
  274. package/dist/collection/components/group/group.js +16 -9
  275. package/dist/collection/components/group/group.js.map +1 -1
  276. package/dist/collection/components/group/test/group.ct.js +47 -0
  277. package/dist/collection/components/group/test/group.ct.js.map +1 -0
  278. package/dist/collection/components/group-item/group-item.css +9 -4
  279. package/dist/collection/components/group-item/group-item.js +2 -2
  280. package/dist/collection/components/group-item/group-item.js.map +1 -1
  281. package/dist/collection/components/icon-button/base-icon-button.js.map +1 -1
  282. package/dist/collection/components/icon-button/icon-button.css +181 -0
  283. package/dist/collection/components/icon-button/icon-button.js +6 -3
  284. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  285. package/dist/collection/components/icon-button/test/icon-button.ct.js.map +1 -1
  286. package/dist/collection/components/icon-button/test/icon-button.spec.js.map +1 -1
  287. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +181 -0
  288. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +2 -2
  289. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
  290. package/dist/collection/components/input-group/input-group.js +1 -1
  291. package/dist/collection/components/input-group/input-group.js.map +1 -1
  292. package/dist/collection/components/input-group/tests/input-group.ct.js.map +1 -1
  293. package/dist/collection/components/key-value/key-value.js.map +1 -1
  294. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  295. package/dist/collection/components/key-value-list/key-value-list.js.map +1 -1
  296. package/dist/collection/components/kpi/kpi.js +3 -3
  297. package/dist/collection/components/kpi/kpi.js.map +1 -1
  298. package/dist/collection/components/link-button/link-button.js +3 -3
  299. package/dist/collection/components/link-button/link-button.js.map +1 -1
  300. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  301. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  302. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  303. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js.map +1 -1
  304. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  305. package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
  306. package/dist/collection/components/menu/menu.js +11 -11
  307. package/dist/collection/components/menu/menu.js.map +1 -1
  308. package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
  309. package/dist/collection/components/menu-about/menu-about.js +2 -2
  310. package/dist/collection/components/menu-about/menu-about.js.map +1 -1
  311. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  312. package/dist/collection/components/menu-about-item/menu-about-item.js.map +1 -1
  313. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  314. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  315. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  316. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  317. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  318. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js.map +1 -1
  319. package/dist/collection/components/menu-avatar-item/test/menu-avatar-item.ct.js.map +1 -1
  320. package/dist/collection/components/menu-category/enter-leave.js.map +1 -1
  321. package/dist/collection/components/menu-category/menu-category.js +5 -5
  322. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  323. package/dist/collection/components/menu-category/test/menu-category.ct.js.map +1 -1
  324. package/dist/collection/components/menu-item/menu-item.js +2 -2
  325. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  326. package/dist/collection/components/menu-item/test/menu-item.ct.js.map +1 -1
  327. package/dist/collection/components/menu-settings/menu-settings.js.map +1 -1
  328. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  329. package/dist/collection/components/menu-settings-item/menu-settings-item.js.map +1 -1
  330. package/dist/collection/components/message-bar/message-bar.js +1 -1
  331. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  332. package/dist/collection/components/message-bar/test/message-bar.spec.js.map +1 -1
  333. package/dist/collection/components/modal/modal.js.map +1 -1
  334. package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
  335. package/dist/collection/components/modal-content/modal-content.js +1 -1
  336. package/dist/collection/components/modal-content/modal-content.js.map +1 -1
  337. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  338. package/dist/collection/components/modal-footer/modal-footer.js.map +1 -1
  339. package/dist/collection/components/modal-header/modal-header.js +1 -1
  340. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  341. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  342. package/dist/collection/components/modal-loading/modal-loading.js.map +1 -1
  343. package/dist/collection/components/pagination/pagination.css +181 -0
  344. package/dist/collection/components/pagination/pagination.js +2 -2
  345. package/dist/collection/components/pagination/pagination.js.map +1 -1
  346. package/dist/collection/components/pagination/test/pagination.ct.js.map +1 -1
  347. package/dist/collection/components/pagination/test/pagination.spec.js.map +1 -1
  348. package/dist/collection/components/pane/pane.js.map +1 -1
  349. package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
  350. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  351. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  352. package/dist/collection/components/pane-layout/test/pane-layout.ct.js.map +1 -1
  353. package/dist/collection/components/pill/pill.js +4 -4
  354. package/dist/collection/components/pill/pill.js.map +1 -1
  355. package/dist/collection/components/playground/example-modal.js +1 -1
  356. package/dist/collection/components/playground/example-modal.js.map +1 -1
  357. package/dist/collection/components/playground/playground.js +1 -1
  358. package/dist/collection/components/playground/playground.js.map +1 -1
  359. package/dist/collection/components/push-card/push-card.js.map +1 -1
  360. package/dist/collection/components/row/row.js +1 -1
  361. package/dist/collection/components/row/row.js.map +1 -1
  362. package/dist/collection/components/select/select.css +27 -9
  363. package/dist/collection/components/select/select.js +159 -38
  364. package/dist/collection/components/select/select.js.map +1 -1
  365. package/dist/collection/components/select/test/select.ct.js +342 -0
  366. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  367. package/dist/collection/components/select-item/events.js.map +1 -1
  368. package/dist/collection/components/select-item/select-item.js +32 -1
  369. package/dist/collection/components/select-item/select-item.js.map +1 -1
  370. package/dist/collection/components/select-item/test/select-item.spec.js.map +1 -1
  371. package/dist/collection/components/slider/slider.js.map +1 -1
  372. package/dist/collection/components/slider/test/slider.ct.js.map +1 -1
  373. package/dist/collection/components/spinner/spinner.js +1 -1
  374. package/dist/collection/components/spinner/spinner.js.map +1 -1
  375. package/dist/collection/components/split-button/split-button.js +1 -1
  376. package/dist/collection/components/split-button/split-button.js.map +1 -1
  377. package/dist/collection/components/split-button-item/split-button-item.js +1 -1
  378. package/dist/collection/components/split-button-item/split-button-item.js.map +1 -1
  379. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  380. package/dist/collection/components/tabs/tabs.js +2 -2
  381. package/dist/collection/components/tabs/tabs.js.map +1 -1
  382. package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -1
  383. package/dist/collection/components/tile/tile.js +4 -4
  384. package/dist/collection/components/tile/tile.js.map +1 -1
  385. package/dist/collection/components/time-picker/test/time-picker.ct.js.map +1 -1
  386. package/dist/collection/components/time-picker/time-picker.css +30 -12
  387. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  388. package/dist/collection/components/toast/toast-container.js.map +1 -1
  389. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  390. package/dist/collection/components/toast/toast.js +2 -2
  391. package/dist/collection/components/toast/toast.js.map +1 -1
  392. package/dist/collection/components/toggle/test/toggle.ct.js.map +1 -1
  393. package/dist/collection/components/toggle/toggle.js +2 -2
  394. package/dist/collection/components/toggle/toggle.js.map +1 -1
  395. package/dist/collection/components/toggle-button/toggle-button.js +3 -3
  396. package/dist/collection/components/toggle-button/toggle-button.js.map +1 -1
  397. package/dist/collection/components/tooltip/test/tooltip.ct.js.map +1 -1
  398. package/dist/collection/components/tooltip/tooltip-controller.js.map +1 -1
  399. package/dist/collection/components/tooltip/tooltip.js +5 -2
  400. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  401. package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
  402. package/dist/collection/components/tree/tree-model.js.map +1 -1
  403. package/dist/collection/components/tree/tree.js +1 -1
  404. package/dist/collection/components/tree/tree.js.map +1 -1
  405. package/dist/collection/components/tree-item/default-tree-item.js.map +1 -1
  406. package/dist/collection/components/tree-item/tree-item.js +4 -4
  407. package/dist/collection/components/tree-item/tree-item.js.map +1 -1
  408. package/dist/collection/components/typography/test/ix-typography.spec.js.map +1 -1
  409. package/dist/collection/components/typography/type-mapping.js.map +1 -1
  410. package/dist/collection/components/typography/typography.js.map +1 -1
  411. package/dist/collection/components/upload/upload-file-state.js.map +1 -1
  412. package/dist/collection/components/upload/upload.js +3 -3
  413. package/dist/collection/components/upload/upload.js.map +1 -1
  414. package/dist/collection/components/utils/a11y.js.map +1 -1
  415. package/dist/collection/components/utils/animation.js.map +1 -1
  416. package/dist/collection/components/utils/app-switch/index.js.map +1 -1
  417. package/dist/collection/components/utils/application-layout/context.js.map +1 -1
  418. package/dist/collection/components/utils/application-layout/index.js.map +1 -1
  419. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  420. package/dist/collection/components/utils/breakpoints.js.map +1 -1
  421. package/dist/collection/components/utils/condition-checks.js.map +1 -1
  422. package/dist/collection/components/utils/context.js.map +1 -1
  423. package/dist/collection/components/utils/debounce.js.map +1 -1
  424. package/dist/collection/components/utils/delegate.js.map +1 -1
  425. package/dist/collection/components/utils/focus.js +60 -0
  426. package/dist/collection/components/utils/focus.js.map +1 -0
  427. package/dist/collection/components/utils/internal/component.js.map +1 -1
  428. package/dist/collection/components/utils/internal/index.js.map +1 -1
  429. package/dist/collection/components/utils/listener.js.map +1 -1
  430. package/dist/collection/components/utils/make-ref.js.map +1 -1
  431. package/dist/collection/components/utils/menu-service/menu-service.js.map +1 -1
  432. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
  433. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js.map +1 -1
  434. package/dist/collection/components/utils/modal/index.js.map +1 -1
  435. package/dist/collection/components/utils/modal/loading.js.map +1 -1
  436. package/dist/collection/components/utils/modal/message.js.map +1 -1
  437. package/dist/collection/components/utils/modal/modal.js.map +1 -1
  438. package/dist/collection/components/utils/mutation-observer.js.map +1 -1
  439. package/dist/collection/components/utils/notification-color.js.map +1 -1
  440. package/dist/collection/components/utils/overlay.js.map +1 -1
  441. package/dist/collection/components/utils/requestAnimationFrame.js.map +1 -1
  442. package/dist/collection/components/utils/rwd.util.js.map +1 -1
  443. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  444. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  445. package/dist/collection/components/utils/typed-event.js.map +1 -1
  446. package/dist/collection/components/utils/waitForElement.js.map +1 -1
  447. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  448. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -1
  449. package/dist/collection/components/workflow-step/workflow-step.css +27 -7
  450. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  451. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  452. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
  453. package/dist/collection/components/workflow-steps/test/workflow-steps.spec.js.map +1 -1
  454. package/dist/collection/components/workflow-steps/workflow-steps.css +9 -1
  455. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  456. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  457. package/dist/collection/index.js.map +1 -1
  458. package/dist/collection/setup.js.map +1 -1
  459. package/dist/collection/tests/action-card/action-card.e2e.js.map +1 -1
  460. package/dist/collection/tests/application/application.e2e.js.map +1 -1
  461. package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
  462. package/dist/collection/tests/avatar/avatar.e2e.js.map +1 -1
  463. package/dist/collection/tests/basic-navigation/basic-navigation.e2e.js.map +1 -1
  464. package/dist/collection/tests/blind/blind.e2e.js.map +1 -1
  465. package/dist/collection/tests/breadcrumb/breadcrumb.e2e.js.map +1 -1
  466. package/dist/collection/tests/button/button.e2e.js.map +1 -1
  467. package/dist/collection/tests/card/card.e2e.js.map +1 -1
  468. package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
  469. package/dist/collection/tests/category-filter/category-filter.e2e.js +30 -0
  470. package/dist/collection/tests/category-filter/category-filter.e2e.js.map +1 -1
  471. package/dist/collection/tests/checkbox/checkbox.e2e.js.map +1 -1
  472. package/dist/collection/tests/chip/chip.e2e.js.map +1 -1
  473. package/dist/collection/tests/content-header/content-header.e2e.js.map +1 -1
  474. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js.map +1 -1
  475. package/dist/collection/tests/date-picker/date-picker.e2e.js.map +1 -1
  476. package/dist/collection/tests/date-picker-rework/date-picker-rework.e2e.js.map +1 -1
  477. package/dist/collection/tests/datetime-picker/datetime-picker.e2e.js.map +1 -1
  478. package/dist/collection/tests/datetime-picker-rework/datetime-picker-rework.e2e.js.map +1 -1
  479. package/dist/collection/tests/divider/divider.e2e.js.map +1 -1
  480. package/dist/collection/tests/drawer/drawer.e2e.js.map +1 -1
  481. package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
  482. package/dist/collection/tests/dropdown-button/dropdown-button.e2e.js.map +1 -1
  483. package/dist/collection/tests/dropdown-quick-actions/dropdown-quick-actions.e2e.js.map +1 -1
  484. package/dist/collection/tests/empty-state/empty-state.e2e.js.map +1 -1
  485. package/dist/collection/tests/event-list/event-list.e2e.js.map +1 -1
  486. package/dist/collection/tests/expanding-search/expanding-search.e2e.js.map +1 -1
  487. package/dist/collection/tests/flip-tile/flip-tile.e2e.js.map +1 -1
  488. package/dist/collection/tests/fonts/fonts.e2e.js.map +1 -1
  489. package/dist/collection/tests/group/group.e2e.js.map +1 -1
  490. package/dist/collection/tests/html-table/html-table.e2e.js.map +1 -1
  491. package/dist/collection/tests/icon/icon.e2e.js.map +1 -1
  492. package/dist/collection/tests/icon-button/icon-button.e2e.js +34 -2
  493. package/dist/collection/tests/icon-button/icon-button.e2e.js.map +1 -1
  494. package/dist/collection/tests/icon-toggle-button/toggle-button.e2e.js.map +1 -1
  495. package/dist/collection/tests/input/input.e2e.js.map +1 -1
  496. package/dist/collection/tests/input-group/input-group.e2e.js.map +1 -1
  497. package/dist/collection/tests/key-value/key-value.e2e.js.map +1 -1
  498. package/dist/collection/tests/key-value-list/key-value-list.e2e.js.map +1 -1
  499. package/dist/collection/tests/kpi/kpi.e2e.js.map +1 -1
  500. package/dist/collection/tests/layout-grid/layout-grid.e2e.js.map +1 -1
  501. package/dist/collection/tests/link-button/link-button.e2e.js.map +1 -1
  502. package/dist/collection/tests/map-navigation/map-navigation.e2e.js.map +1 -1
  503. package/dist/collection/tests/map-navigation-overlay/map-navigation.e2e.js.map +1 -1
  504. package/dist/collection/tests/menu/menu.e2e.js.map +1 -1
  505. package/dist/collection/tests/menu-about/menu-about.e2e.js.map +1 -1
  506. package/dist/collection/tests/menu-about-news/menu-about-news.e2e.js.map +1 -1
  507. package/dist/collection/tests/menu-avatar/menu-avatar.e2e.js.map +1 -1
  508. package/dist/collection/tests/menu-settings/menu-settings.e2e.js.map +1 -1
  509. package/dist/collection/tests/message-bar/message-bar.e2e.js.map +1 -1
  510. package/dist/collection/tests/modal/modal.e2e.js.map +1 -1
  511. package/dist/collection/tests/pagination/pagination.e2e.js.map +1 -1
  512. package/dist/collection/tests/panes/panes.e2e.js.map +1 -1
  513. package/dist/collection/tests/pill/pill.e2e.js.map +1 -1
  514. package/dist/collection/tests/push-card/push-card.e2e.js.map +1 -1
  515. package/dist/collection/tests/radiobutton/radiobutton.e2e.js.map +1 -1
  516. package/dist/collection/tests/select/select.e2e.js +21 -0
  517. package/dist/collection/tests/select/select.e2e.js.map +1 -1
  518. package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
  519. package/dist/collection/tests/spinner/spinner.e2e.js.map +1 -1
  520. package/dist/collection/tests/split-button/split-button.e2e.js.map +1 -1
  521. package/dist/collection/tests/tabs/tabs.e2e.js.map +1 -1
  522. package/dist/collection/tests/textarea/textarea.e2e.js.map +1 -1
  523. package/dist/collection/tests/tile/tile.e2e.js.map +1 -1
  524. package/dist/collection/tests/time-picker-rework/time-picker-rework.e2e.js.map +1 -1
  525. package/dist/collection/tests/toast/toast.e2e.js.map +1 -1
  526. package/dist/collection/tests/toggle/toggle.e2e.js.map +1 -1
  527. package/dist/collection/tests/toggle-button/toggle-button.e2e.js.map +1 -1
  528. package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
  529. package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
  530. package/dist/collection/tests/typography/typography.e2e.js.map +1 -1
  531. package/dist/collection/tests/upload/upload.e2e.js.map +1 -1
  532. package/dist/collection/tests/utils/test/index.js.map +1 -1
  533. package/dist/collection/tests/utils/test/page.js.map +1 -1
  534. package/dist/collection/tests/workflow-steps/workflow-steps.e2e.js.map +1 -1
  535. package/dist/esm/{app-globals-bdfc5499.js → app-globals-0cd07cd9.js} +2 -2
  536. package/dist/esm/{app-globals-bdfc5499.js.map → app-globals-0cd07cd9.js.map} +1 -1
  537. package/dist/esm/{base-button-37b915d6.js → base-button-3ac703a7.js} +27 -4
  538. package/dist/esm/base-button-3ac703a7.js.map +1 -0
  539. package/dist/esm/{base-icon-button-976ef0f6.js → base-icon-button-59eb1fe5.js} +2 -2
  540. package/dist/esm/{base-icon-button-976ef0f6.js.map → base-icon-button-59eb1fe5.js.map} +1 -1
  541. package/dist/esm/{core-js-1c33b685.js → core-js-78b486a8.js} +1 -1
  542. package/dist/esm/{core-js-1c33b685.js.map → core-js-78b486a8.js.map} +1 -1
  543. package/dist/esm/dom-64ac48b5.js.map +1 -1
  544. package/dist/esm/focus-d4d3abaf.js +63 -0
  545. package/dist/esm/focus-d4d3abaf.js.map +1 -0
  546. package/dist/esm/{index.es2017-45304832.js → index.es2017-93ac816c.js} +3 -3
  547. package/dist/esm/{index.es2017-45304832.js.map → index.es2017-93ac816c.js.map} +1 -1
  548. package/dist/esm/ix-avatar_2.entry.js +2 -2
  549. package/dist/esm/ix-blind.entry.js +1 -1
  550. package/dist/esm/ix-blind.entry.js.map +1 -1
  551. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  552. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  553. package/dist/esm/ix-button.entry.js +4 -4
  554. package/dist/esm/ix-button.entry.js.map +1 -1
  555. package/dist/esm/ix-category-filter.entry.js +34 -11
  556. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  557. package/dist/esm/ix-col_4.entry.js +5 -5
  558. package/dist/esm/ix-col_4.entry.js.map +1 -1
  559. package/dist/esm/ix-date-dropdown.entry.js +11 -4
  560. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  561. package/dist/esm/ix-dropdown.entry.js +78 -18
  562. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  563. package/dist/esm/ix-event-list-item.entry.js +5 -4
  564. package/dist/esm/ix-event-list-item.entry.js.map +1 -1
  565. package/dist/esm/ix-event-list.entry.js +26 -25
  566. package/dist/esm/ix-event-list.entry.js.map +1 -1
  567. package/dist/esm/ix-filter-chip_2.entry.js +8 -1
  568. package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
  569. package/dist/esm/ix-form-field.entry.js +1 -1
  570. package/dist/esm/ix-form-field.entry.js.map +1 -1
  571. package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
  572. package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
  573. package/dist/esm/ix-group.entry.js +14 -8
  574. package/dist/esm/ix-group.entry.js.map +1 -1
  575. package/dist/esm/ix-icon-button_2.entry.js +5 -5
  576. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  577. package/dist/esm/ix-icon-toggle-button.entry.js +4 -4
  578. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  579. package/dist/esm/ix-icon.entry-621b700a.js +1531 -0
  580. package/dist/esm/ix-icon.entry-621b700a.js.map +1 -0
  581. package/dist/esm/ix-input-group.entry.js +1 -1
  582. package/dist/esm/ix-key-value-list.entry.js +1 -1
  583. package/dist/esm/ix-kpi.entry.js +3 -3
  584. package/dist/esm/ix-link-button.entry.js +3 -3
  585. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  586. package/dist/esm/ix-map-navigation.entry.js +2 -2
  587. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  588. package/dist/esm/ix-menu-about-news.entry.js +4 -4
  589. package/dist/esm/ix-menu-about.entry.js +1 -1
  590. package/dist/esm/ix-menu-about.entry.js.map +1 -1
  591. package/dist/esm/ix-menu-avatar.entry.js +2 -2
  592. package/dist/esm/ix-menu-category.entry.js +5 -5
  593. package/dist/esm/ix-menu-expand-icon.entry.js +2 -2
  594. package/dist/esm/ix-menu-item.entry.js +2 -2
  595. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  596. package/dist/esm/ix-menu.entry.js +11 -11
  597. package/dist/esm/ix-menu.entry.js.map +1 -1
  598. package/dist/esm/ix-message-bar.entry.js +1 -1
  599. package/dist/esm/ix-modal-content_2.entry.js +2 -2
  600. package/dist/esm/ix-modal-example.entry.js +1 -1
  601. package/dist/esm/ix-modal-footer.entry.js +1 -1
  602. package/dist/esm/ix-modal-loading.entry.js +1 -1
  603. package/dist/esm/ix-pagination.entry.js +4 -4
  604. package/dist/esm/ix-pagination.entry.js.map +1 -1
  605. package/dist/esm/ix-pane-layout.entry.js +1 -1
  606. package/dist/esm/ix-pill.entry.js +4 -4
  607. package/dist/esm/ix-playground-internal.entry.js +1 -1
  608. package/dist/esm/ix-select.entry.js +159 -39
  609. package/dist/esm/ix-select.entry.js.map +1 -1
  610. package/dist/esm/ix-split-button-item.entry.js +1 -1
  611. package/dist/esm/ix-tab-item_2.entry.js +2 -2
  612. package/dist/esm/ix-tile.entry.js +4 -4
  613. package/dist/esm/ix-time-picker.entry.js +1 -1
  614. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  615. package/dist/esm/ix-toast.entry.js +2 -2
  616. package/dist/esm/ix-toggle-button.entry.js +3 -3
  617. package/dist/esm/ix-toggle.entry.js +2 -2
  618. package/dist/esm/ix-tooltip.entry.js +5 -2
  619. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  620. package/dist/esm/ix-tree-item.entry.js +4 -4
  621. package/dist/esm/ix-tree.entry.js +1 -1
  622. package/dist/esm/ix-upload.entry.js +3 -3
  623. package/dist/esm/ix-validation-tooltip.entry.js +2 -2
  624. package/dist/esm/ix-workflow-step.entry.js +4 -4
  625. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  626. package/dist/esm/ix-workflow-steps.entry.js +2 -2
  627. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  628. package/dist/esm/loader.js +2 -2
  629. package/dist/esm/siemens-ix.js +2 -2
  630. package/dist/siemens-ix/p-01b8b98c.entry.js +2 -0
  631. package/dist/siemens-ix/{p-9fcf9dcd.entry.js.map → p-01b8b98c.entry.js.map} +1 -1
  632. package/dist/siemens-ix/{p-d2ee87ae.entry.js → p-0a1bfcfc.entry.js} +2 -2
  633. package/dist/siemens-ix/p-0fee2dd5.entry.js +2 -0
  634. package/dist/siemens-ix/p-0fee2dd5.entry.js.map +1 -0
  635. package/dist/siemens-ix/{p-9c03b231.entry.js → p-114bb49b.entry.js} +2 -2
  636. package/dist/siemens-ix/p-18a1c4dd.entry.js +2 -0
  637. package/dist/siemens-ix/p-18a1c4dd.entry.js.map +1 -0
  638. package/dist/siemens-ix/p-18a27007.entry.js +2 -0
  639. package/dist/siemens-ix/p-18a27007.entry.js.map +1 -0
  640. package/dist/siemens-ix/{p-84430d2c.js → p-1f6df0c6.js} +2 -2
  641. package/dist/siemens-ix/{p-84430d2c.js.map → p-1f6df0c6.js.map} +1 -1
  642. package/dist/siemens-ix/p-213f16d5.entry.js +2 -0
  643. package/dist/siemens-ix/p-213f16d5.entry.js.map +1 -0
  644. package/dist/siemens-ix/{p-7702a8c2.js → p-235c14ca.js} +2 -2
  645. package/dist/siemens-ix/p-2459f98f.entry.js +2 -0
  646. package/dist/siemens-ix/p-2459f98f.entry.js.map +1 -0
  647. package/dist/siemens-ix/p-2c14670e.entry.js +2 -0
  648. package/dist/siemens-ix/p-2c14670e.entry.js.map +1 -0
  649. package/dist/siemens-ix/{p-d76ee9ff.entry.js → p-306c5ab2.entry.js} +2 -2
  650. package/dist/siemens-ix/{p-f2856faf.entry.js → p-30e8a26a.entry.js} +2 -2
  651. package/dist/siemens-ix/{p-1450ba99.entry.js → p-3b8e4fe5.entry.js} +2 -2
  652. package/dist/siemens-ix/{p-96615442.entry.js → p-418959d3.entry.js} +2 -2
  653. package/dist/siemens-ix/{p-96615442.entry.js.map → p-418959d3.entry.js.map} +1 -1
  654. package/dist/siemens-ix/p-4290098e.entry.js +2 -0
  655. package/dist/siemens-ix/{p-cb1c0d63.entry.js.map → p-4290098e.entry.js.map} +1 -1
  656. package/dist/siemens-ix/p-43a58a77.entry.js +2 -0
  657. package/dist/siemens-ix/{p-7289b0be.entry.js.map → p-43a58a77.entry.js.map} +1 -1
  658. package/dist/siemens-ix/{p-ca838b5c.entry.js → p-493cb880.entry.js} +2 -2
  659. package/dist/siemens-ix/p-493cb880.entry.js.map +1 -0
  660. package/dist/siemens-ix/{p-f17e4cce.entry.js → p-4cf6e817.entry.js} +2 -2
  661. package/dist/siemens-ix/p-4fd11865.entry.js +2 -0
  662. package/dist/siemens-ix/p-56bbdae4.entry.js +2 -0
  663. package/dist/siemens-ix/p-5d43cae8.js.map +1 -1
  664. package/dist/siemens-ix/{p-0d268489.entry.js → p-5f08da2c.entry.js} +2 -2
  665. package/dist/siemens-ix/{p-26789c86.entry.js → p-601cfc6a.entry.js} +2 -2
  666. package/dist/siemens-ix/p-678d821f.entry.js +2 -0
  667. package/dist/siemens-ix/{p-b1ec7f32.entry.js → p-6ea6396e.entry.js} +2 -2
  668. package/dist/siemens-ix/{p-7c1fd9a0.entry.js → p-6eb4eefc.entry.js} +2 -2
  669. package/dist/siemens-ix/{p-af46164c.entry.js → p-784fe260.entry.js} +2 -2
  670. package/dist/siemens-ix/p-8362e966.js +2 -0
  671. package/dist/siemens-ix/p-8362e966.js.map +1 -0
  672. package/dist/siemens-ix/{p-d77fa665.entry.js → p-90c55341.entry.js} +2 -2
  673. package/dist/siemens-ix/p-90c55341.entry.js.map +1 -0
  674. package/dist/siemens-ix/p-96d2d21f.entry.js +2 -0
  675. package/dist/siemens-ix/p-96d2d21f.entry.js.map +1 -0
  676. package/dist/siemens-ix/{p-c5762d6c.entry.js → p-9dabe2f7.entry.js} +2 -2
  677. package/dist/siemens-ix/p-a147b152.entry.js +2 -0
  678. package/dist/siemens-ix/p-a147b152.entry.js.map +1 -0
  679. package/dist/siemens-ix/{p-b5c53faf.js → p-a2200306.js} +1 -1
  680. package/dist/siemens-ix/{p-b5c53faf.js.map → p-a2200306.js.map} +1 -1
  681. package/dist/siemens-ix/p-a35d02ea.entry.js +2 -0
  682. package/dist/siemens-ix/{p-31cc5367.entry.js → p-a3ad98bc.entry.js} +2 -2
  683. package/dist/siemens-ix/p-a6fbea5b.entry.js +2 -0
  684. package/dist/siemens-ix/p-a6fbea5b.entry.js.map +1 -0
  685. package/dist/siemens-ix/p-a8838a77.js +2 -0
  686. package/dist/siemens-ix/p-a9d1ab94.entry.js +2 -0
  687. package/dist/siemens-ix/{p-080653aa.entry.js.map → p-a9d1ab94.entry.js.map} +1 -1
  688. package/dist/siemens-ix/p-aa58d9d7.entry.js +2 -0
  689. package/dist/siemens-ix/p-aa58d9d7.entry.js.map +1 -0
  690. package/dist/siemens-ix/p-abb29515.entry.js +2 -0
  691. package/dist/siemens-ix/p-abb29515.entry.js.map +1 -0
  692. package/dist/siemens-ix/p-add5b76c.entry.js +2 -0
  693. package/dist/siemens-ix/{p-33e903e1.entry.js.map → p-add5b76c.entry.js.map} +1 -1
  694. package/dist/siemens-ix/p-b32c2183.entry.js +2 -0
  695. package/dist/siemens-ix/{p-d0cf522c.entry.js.map → p-b32c2183.entry.js.map} +1 -1
  696. package/dist/siemens-ix/{p-6f056fc6.entry.js → p-bc5d33ce.entry.js} +2 -2
  697. package/dist/siemens-ix/p-bd576793.entry.js +2 -0
  698. package/dist/siemens-ix/p-bd576793.entry.js.map +1 -0
  699. package/dist/siemens-ix/p-bdc57334.entry.js +2 -0
  700. package/dist/siemens-ix/{p-f7e82b50.entry.js.map → p-bdc57334.entry.js.map} +1 -1
  701. package/dist/siemens-ix/p-c09553f3.js +2 -0
  702. package/dist/siemens-ix/p-c09553f3.js.map +1 -0
  703. package/dist/siemens-ix/{p-30f449bc.entry.js → p-ca65a043.entry.js} +2 -2
  704. package/dist/siemens-ix/{p-4bbae41b.entry.js → p-cbbe9dee.entry.js} +2 -2
  705. package/dist/siemens-ix/p-ccf1bd22.entry.js +2 -0
  706. package/dist/siemens-ix/{p-c2f6aaae.entry.js → p-cf546284.entry.js} +2 -2
  707. package/dist/siemens-ix/p-cf546284.entry.js.map +1 -0
  708. package/dist/siemens-ix/{p-47017ce7.entry.js → p-d08cbeaf.entry.js} +2 -2
  709. package/dist/siemens-ix/p-d600ea55.entry.js +2 -0
  710. package/dist/siemens-ix/p-d600ea55.entry.js.map +1 -0
  711. package/dist/siemens-ix/{p-1255e76b.entry.js → p-d6a094cf.entry.js} +2 -2
  712. package/dist/siemens-ix/{p-f6635bfc.entry.js → p-def8b3a4.entry.js} +2 -2
  713. package/dist/siemens-ix/{p-f6635bfc.entry.js.map → p-def8b3a4.entry.js.map} +1 -1
  714. package/dist/siemens-ix/{p-177f9a5c.entry.js → p-e2464e13.entry.js} +2 -2
  715. package/dist/siemens-ix/p-e4e24f59.entry.js +2 -0
  716. package/dist/siemens-ix/{p-c89a070a.entry.js.map → p-e4e24f59.entry.js.map} +1 -1
  717. package/dist/siemens-ix/{p-d9d5389b.entry.js → p-e678bfc5.entry.js} +2 -2
  718. package/dist/siemens-ix/{p-c8e0563a.entry.js → p-ec741c06.entry.js} +2 -2
  719. package/dist/siemens-ix/{p-ca658a19.entry.js → p-ed2ec72f.entry.js} +2 -2
  720. package/dist/siemens-ix/{p-d9370972.entry.js → p-f2a81e70.entry.js} +2 -2
  721. package/dist/siemens-ix/{p-32fa185a.entry.js → p-fb55854a.entry.js} +2 -2
  722. package/dist/siemens-ix/p-fe87443e.js +2 -0
  723. package/dist/siemens-ix/p-fe87443e.js.map +1 -0
  724. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  725. package/dist/siemens-ix/siemens-ix.css +102 -12
  726. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  727. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  728. package/dist/siemens-ix/theme/classic-dark.css +1 -1
  729. package/dist/siemens-ix/theme/classic-light.css +1 -1
  730. package/dist/types/components/button/base-button.d.ts +3 -0
  731. package/dist/types/components/button/button.d.ts +2 -1
  732. package/dist/types/components/category-filter/category-filter.d.ts +10 -0
  733. package/dist/types/components/date-dropdown/date-dropdown.d.ts +7 -0
  734. package/dist/types/components/dropdown/dropdown-controller.d.ts +2 -2
  735. package/dist/types/components/dropdown/dropdown.d.ts +9 -1
  736. package/dist/types/components/event-list/test/event-list.ct.d.ts +1 -0
  737. package/dist/types/components/group/group.d.ts +1 -0
  738. package/dist/types/components/group/test/group.ct.d.ts +1 -0
  739. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  740. package/dist/types/components/menu-about/menu-about.d.ts +1 -1
  741. package/dist/types/components/select/select.d.ts +15 -3
  742. package/dist/types/components/select-item/select-item.d.ts +5 -1
  743. package/dist/types/components/utils/focus.d.ts +10 -0
  744. package/dist/types/components.d.ts +30 -2
  745. package/package.json +1 -1
  746. package/scss/components/form/_input.scss +11 -8
  747. package/scss/theme/classic-dark/_color.scss +36 -0
  748. package/scss/theme/classic-light/_color.scss +36 -0
  749. package/dist/cjs/base-button-2f74b19d.js.map +0 -1
  750. package/dist/cjs/ix-icon.entry-01b3822b.js +0 -1487
  751. package/dist/cjs/ix-icon.entry-01b3822b.js.map +0 -1
  752. package/dist/esm/base-button-37b915d6.js.map +0 -1
  753. package/dist/esm/ix-icon.entry-9fafcf35.js +0 -1485
  754. package/dist/esm/ix-icon.entry-9fafcf35.js.map +0 -1
  755. package/dist/playwright-ct.config.js +0 -23
  756. package/dist/playwright-ct.config.js.map +0 -1
  757. package/dist/playwright.config.js +0 -75
  758. package/dist/playwright.config.js.map +0 -1
  759. package/dist/siemens-ix/p-080653aa.entry.js +0 -2
  760. package/dist/siemens-ix/p-08bedeaa.entry.js +0 -2
  761. package/dist/siemens-ix/p-16826ff7.js +0 -2
  762. package/dist/siemens-ix/p-16d378f3.js +0 -2
  763. package/dist/siemens-ix/p-16d378f3.js.map +0 -1
  764. package/dist/siemens-ix/p-1ad7fd83.entry.js +0 -2
  765. package/dist/siemens-ix/p-1ad7fd83.entry.js.map +0 -1
  766. package/dist/siemens-ix/p-2a9673f3.entry.js +0 -2
  767. package/dist/siemens-ix/p-2a9673f3.entry.js.map +0 -1
  768. package/dist/siemens-ix/p-33e903e1.entry.js +0 -2
  769. package/dist/siemens-ix/p-37e4df76.entry.js +0 -2
  770. package/dist/siemens-ix/p-37e4df76.entry.js.map +0 -1
  771. package/dist/siemens-ix/p-3e4e3b23.entry.js +0 -2
  772. package/dist/siemens-ix/p-3e4e3b23.entry.js.map +0 -1
  773. package/dist/siemens-ix/p-6f097cae.entry.js +0 -2
  774. package/dist/siemens-ix/p-6f097cae.entry.js.map +0 -1
  775. package/dist/siemens-ix/p-7289b0be.entry.js +0 -2
  776. package/dist/siemens-ix/p-7b5ed355.entry.js +0 -2
  777. package/dist/siemens-ix/p-87fe9d5f.entry.js +0 -2
  778. package/dist/siemens-ix/p-87fe9d5f.entry.js.map +0 -1
  779. package/dist/siemens-ix/p-8a06a632.entry.js +0 -2
  780. package/dist/siemens-ix/p-96f2c71a.entry.js +0 -2
  781. package/dist/siemens-ix/p-96f2c71a.entry.js.map +0 -1
  782. package/dist/siemens-ix/p-9fcf9dcd.entry.js +0 -2
  783. package/dist/siemens-ix/p-9fd3ae7f.entry.js +0 -2
  784. package/dist/siemens-ix/p-a4e489ea.js +0 -2
  785. package/dist/siemens-ix/p-a4e489ea.js.map +0 -1
  786. package/dist/siemens-ix/p-a93df5f2.entry.js +0 -2
  787. package/dist/siemens-ix/p-a93df5f2.entry.js.map +0 -1
  788. package/dist/siemens-ix/p-ab446f83.entry.js +0 -2
  789. package/dist/siemens-ix/p-ab446f83.entry.js.map +0 -1
  790. package/dist/siemens-ix/p-acdeb192.entry.js +0 -2
  791. package/dist/siemens-ix/p-acdeb192.entry.js.map +0 -1
  792. package/dist/siemens-ix/p-b78fd38b.entry.js +0 -2
  793. package/dist/siemens-ix/p-b78fd38b.entry.js.map +0 -1
  794. package/dist/siemens-ix/p-c2f6aaae.entry.js.map +0 -1
  795. package/dist/siemens-ix/p-c49701a0.entry.js +0 -2
  796. package/dist/siemens-ix/p-c4d3f089.entry.js +0 -2
  797. package/dist/siemens-ix/p-c4d3f089.entry.js.map +0 -1
  798. package/dist/siemens-ix/p-c89a070a.entry.js +0 -2
  799. package/dist/siemens-ix/p-ca838b5c.entry.js.map +0 -1
  800. package/dist/siemens-ix/p-cb1c0d63.entry.js +0 -2
  801. package/dist/siemens-ix/p-d0cf522c.entry.js +0 -2
  802. package/dist/siemens-ix/p-d48a746d.entry.js +0 -2
  803. package/dist/siemens-ix/p-d48a746d.entry.js.map +0 -1
  804. package/dist/siemens-ix/p-d77fa665.entry.js.map +0 -1
  805. package/dist/siemens-ix/p-f7e82b50.entry.js +0 -2
  806. package/dist/types/Users/daniel/dev/oss/ix/packages/core/.stencil/playwright-ct.config.d.ts +0 -7
  807. package/dist/types/Users/daniel/dev/oss/ix/packages/core/.stencil/playwright.config.d.ts +0 -7
  808. /package/dist/siemens-ix/{p-d2ee87ae.entry.js.map → p-0a1bfcfc.entry.js.map} +0 -0
  809. /package/dist/siemens-ix/{p-9c03b231.entry.js.map → p-114bb49b.entry.js.map} +0 -0
  810. /package/dist/siemens-ix/{p-7702a8c2.js.map → p-235c14ca.js.map} +0 -0
  811. /package/dist/siemens-ix/{p-d76ee9ff.entry.js.map → p-306c5ab2.entry.js.map} +0 -0
  812. /package/dist/siemens-ix/{p-f2856faf.entry.js.map → p-30e8a26a.entry.js.map} +0 -0
  813. /package/dist/siemens-ix/{p-1450ba99.entry.js.map → p-3b8e4fe5.entry.js.map} +0 -0
  814. /package/dist/siemens-ix/{p-f17e4cce.entry.js.map → p-4cf6e817.entry.js.map} +0 -0
  815. /package/dist/siemens-ix/{p-c49701a0.entry.js.map → p-4fd11865.entry.js.map} +0 -0
  816. /package/dist/siemens-ix/{p-9fd3ae7f.entry.js.map → p-56bbdae4.entry.js.map} +0 -0
  817. /package/dist/siemens-ix/{p-0d268489.entry.js.map → p-5f08da2c.entry.js.map} +0 -0
  818. /package/dist/siemens-ix/{p-26789c86.entry.js.map → p-601cfc6a.entry.js.map} +0 -0
  819. /package/dist/siemens-ix/{p-7b5ed355.entry.js.map → p-678d821f.entry.js.map} +0 -0
  820. /package/dist/siemens-ix/{p-b1ec7f32.entry.js.map → p-6ea6396e.entry.js.map} +0 -0
  821. /package/dist/siemens-ix/{p-7c1fd9a0.entry.js.map → p-6eb4eefc.entry.js.map} +0 -0
  822. /package/dist/siemens-ix/{p-af46164c.entry.js.map → p-784fe260.entry.js.map} +0 -0
  823. /package/dist/siemens-ix/{p-c5762d6c.entry.js.map → p-9dabe2f7.entry.js.map} +0 -0
  824. /package/dist/siemens-ix/{p-08bedeaa.entry.js.map → p-a35d02ea.entry.js.map} +0 -0
  825. /package/dist/siemens-ix/{p-31cc5367.entry.js.map → p-a3ad98bc.entry.js.map} +0 -0
  826. /package/dist/siemens-ix/{p-16826ff7.js.map → p-a8838a77.js.map} +0 -0
  827. /package/dist/siemens-ix/{p-6f056fc6.entry.js.map → p-bc5d33ce.entry.js.map} +0 -0
  828. /package/dist/siemens-ix/{p-30f449bc.entry.js.map → p-ca65a043.entry.js.map} +0 -0
  829. /package/dist/siemens-ix/{p-4bbae41b.entry.js.map → p-cbbe9dee.entry.js.map} +0 -0
  830. /package/dist/siemens-ix/{p-8a06a632.entry.js.map → p-ccf1bd22.entry.js.map} +0 -0
  831. /package/dist/siemens-ix/{p-47017ce7.entry.js.map → p-d08cbeaf.entry.js.map} +0 -0
  832. /package/dist/siemens-ix/{p-1255e76b.entry.js.map → p-d6a094cf.entry.js.map} +0 -0
  833. /package/dist/siemens-ix/{p-177f9a5c.entry.js.map → p-e2464e13.entry.js.map} +0 -0
  834. /package/dist/siemens-ix/{p-d9d5389b.entry.js.map → p-e678bfc5.entry.js.map} +0 -0
  835. /package/dist/siemens-ix/{p-c8e0563a.entry.js.map → p-ec741c06.entry.js.map} +0 -0
  836. /package/dist/siemens-ix/{p-ca658a19.entry.js.map → p-ed2ec72f.entry.js.map} +0 -0
  837. /package/dist/siemens-ix/{p-d9370972.entry.js.map → p-f2a81e70.entry.js.map} +0 -0
  838. /package/dist/siemens-ix/{p-32fa185a.entry.js.map → p-fb55854a.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,H as r}from"./p-26e9d40e.js";const o=":host{}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .event-list-item{display:flex;align-items:center;position:relative;height:var(--event-list-item-height, 2.5rem);max-height:var(--event-list-item-height, 2.5rem);border-radius:var(--event-list-item-border-radius, 0.25rem);background-color:var(--theme-event-item--background);overflow:hidden;transition:var(--theme-default-time);cursor:pointer;margin-bottom:var(--event-list-item-margin-bottom, 0.5rem)}:host .event-list-item .indicator{height:100%;width:0.5rem;max-width:0.5rem;min-width:0.5rem;border-top-left-radius:var(--event-list-item-border-radius, 0.25rem);border-bottom-left-radius:var(--event-list-item-border-radius, 0.25rem)}:host .event-list-item .indicator-empty{border:var(--theme-weak-bdr-1);border-right:none}:host .event-list-item .event-list-item-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-grow:1;width:calc(100% - (1rem + 0.5rem));height:100%;border:0.062rem solid;border-color:var(--theme-event-item--border);border-top-left-radius:0;border-top-right-radius:var(--event-list-item-border-radius, 0.25rem);border-bottom-left-radius:0;border-bottom-right-radius:var(--event-list-item-border-radius, 0.25rem);border-left:none;padding-left:1rem}:host .event-list-item .event-content{display:flex;align-items:center;width:100%;height:var(--event-list-item-height, 100%);max-height:var(--event-list-item-height, 100%);white-space:var(--event-list-item-content-white-space, inherit);overflow:hidden;padding-inline-end:0.5rem}:host .event-list-item .chevron-icon{margin-left:auto;margin-right:0.5rem;opacity:0.6;align-self:center}:host .event-list-item:not(.selected):not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected):not(.disabled):not(:disabled):hover{background-color:var(--theme-event-item--background--hover)}:host .event-list-item:not(.selected):not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected):not(.disabled):not(:disabled):active,:host .event-list-item:not(.selected):not(.disabled):not(:disabled).active{background-color:var(--theme-event-item--background--active)}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled):hover{border-color:var(--theme-event-item--border--hover)}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled){cursor:pointer}:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled):active,:host .event-list-item:not(.selected) .event-list-item-container:not(.disabled):not(:disabled).active{border-color:var(--theme-event-item--border--active)}:host .event-list-item.selected .event-list-item-container{background-color:var(--theme-event-item--background--selected);border-color:var(--theme-event-item--border--selected)}:host .event-list-item[disabled],:host .event-list-item.disabled{pointer-events:none}:host .event-list-item[disabled] .event-list-item-container,:host .event-list-item.disabled .event-list-item-container{background-color:var(--theme-event-item--background--disabled);border-color:var(--theme-event-item--border--disabled)}:host(.disabled){pointer-events:none}";const s=o;const n=class{constructor(i){e(this,i);this.itemClick=t(this,"itemClick",7);this.color=undefined;this.itemColor=undefined;this.selected=undefined;this.disabled=undefined;this.chevron=undefined}handleItemClick(){this.itemClick.emit()}render(){var e,t,o,s;let n=((e=this.itemColor)===null||e===void 0?void 0:e.startsWith("--theme"))?`var(${this.itemColor})`:`var(--theme-${this.itemColor})`;if(this.color){n=((t=this.color)===null||t===void 0?void 0:t.startsWith("--theme"))?`var(${this.color})`:`var(--theme-${this.color})`}return i(r,{key:"ea6803280e270d6b6c4dc0023de76812bc7e90ed",class:{disabled:this.disabled}},i("div",{key:"75efa47c7a119ea2d7aa659f5c2709fa34cfb3eb",class:{"event-list-item":true,selected:this.selected,disabled:this.disabled}},i("div",{key:"74d747f6b58ce8b56343983e3f4cc1c97e0623fc",class:`indicator ${!((o=this.itemColor)!==null&&o!==void 0?o:this.color)?"indicator-empty":""}`,style:{"background-color":((s=this.itemColor)!==null&&s!==void 0?s:this.color)?n:"inherit",opacity:`${this.disabled?.4:1}`}}),i("div",{key:"b32602b0c89701f487cf10b1600c2ed039e86498",class:"event-list-item-container"},i("div",{key:"d3298c260d4f74aa91a747a61b93203fab354432",class:"event-content"},i("slot",{key:"45c7a053766b5f7ce3dcae9d74bb22201c0dba9b"})),this.chevron&&i("ix-icon",{name:"chevron-right",size:"16",class:"chevron-icon"}))))}};n.style=s;export{n as ix_event_list_item};
2
- //# sourceMappingURL=p-a93df5f2.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["eventListItemCss","IxEventListItemStyle0","EventListItem","handleItemClick","this","itemClick","emit","render","color","_a","itemColor","startsWith","_b","h","Host","key","class","disabled","selected","_c","style","_d","opacity","chevron","name","size"],"sources":["src/components/event-list-item/event-list-item.scss?tag=ix-event-list-item&encapsulation=shadow","src/components/event-list-item/event-list-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 'mixins/text-truncation';\n@import 'mixins/hover';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/shadow-dom/host-disabled';\n@import 'common-variables';\n\n$default-event-list-item-height: 2.5rem;\n\n:host {\n @include ix-component;\n\n .event-list-item {\n display: flex;\n align-items: center;\n position: relative;\n height: var(--event-list-item-height, $default-event-list-item-height);\n max-height: var(--event-list-item-height, $default-event-list-item-height);\n border-radius: var(--event-list-item-border-radius, $default-border-radius);\n background-color: var(--theme-event-item--background);\n overflow: hidden;\n transition: var(--theme-default-time);\n cursor: pointer;\n margin-bottom: var(--event-list-item-margin-bottom, $small-space);\n\n .indicator {\n height: 100%;\n width: $small-space;\n max-width: $small-space;\n min-width: $small-space;\n border-top-left-radius: var(\n --event-list-item-border-radius,\n $default-border-radius\n );\n border-bottom-left-radius: var(\n --event-list-item-border-radius,\n $default-border-radius\n );\n }\n\n .indicator-empty {\n border: var(--theme-weak-bdr-1);\n border-right: none;\n }\n\n .event-list-item-container {\n @include ellipsis;\n\n display: flex;\n flex-grow: 1;\n width: calc(100% - (#{$default-space} + #{$small-space}));\n height: 100%;\n border: 0.062rem solid;\n border-color: var(--theme-event-item--border);\n border-top-left-radius: 0;\n border-top-right-radius: var(\n --event-list-item-border-radius,\n $default-border-radius\n );\n border-bottom-left-radius: 0;\n border-bottom-right-radius: var(\n --event-list-item-border-radius,\n $default-border-radius\n );\n border-left: none;\n padding-left: $default-space;\n }\n\n .event-content {\n display: flex;\n align-items: center;\n width: 100%;\n height: var(--event-list-item-height, 100%);\n max-height: var(--event-list-item-height, 100%);\n white-space: var(--event-list-item-content-white-space, inherit);\n overflow: hidden;\n padding-inline-end: $small-space;\n }\n\n .chevron-icon {\n margin-left: auto;\n margin-right: $small-space;\n opacity: 0.6;\n align-self: center;\n }\n\n &:not(.selected) {\n @include hover {\n background-color: var(--theme-event-item--background--hover);\n }\n\n @include active {\n background-color: var(--theme-event-item--background--active);\n }\n\n .event-list-item-container {\n @include hover {\n border-color: var(--theme-event-item--border--hover);\n }\n\n @include active {\n border-color: var(--theme-event-item--border--active);\n }\n }\n }\n\n &.selected .event-list-item-container {\n background-color: var(--theme-event-item--background--selected);\n border-color: var(--theme-event-item--border--selected);\n }\n\n &[disabled],\n &.disabled {\n pointer-events: none;\n\n .event-list-item-container {\n background-color: var(--theme-event-item--background--disabled);\n border-color: var(--theme-event-item--border--disabled);\n }\n }\n }\n}\n\n@include host-disabled;\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 Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-event-list-item',\n styleUrl: 'event-list-item.scss',\n shadow: true,\n})\nexport class EventListItem {\n /**\n * Color of the status indicator.\n * You can find a list of all available colors in our documentation.\n * Example values are `--theme-color-alarm` or `color-alarm`\n *\n * @link https://ix.siemens.io/docs/theming/colors/\n *\n * @deprecated since 2.1.0 use `item-color`\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() color: string;\n\n /**\n * Color of the status indicator.\n * You can find a list of all available colors in our documentation.\n * Example values are `--theme-color-alarm` or `color-alarm`\n *\n * @link https://ix.siemens.io/docs/theming/colors/\n */\n @Prop() itemColor: string;\n\n /**\n * Show event list item as selected\n */\n @Prop() selected: boolean;\n\n /**\n * Disable event list item\n */\n @Prop() disabled: boolean;\n\n /**\n * Show chevron on right side of the event list item\n */\n @Prop() chevron: boolean;\n\n /**\n * Event list item click\n */\n @Event() itemClick: EventEmitter;\n\n @Listen('click', { passive: true })\n handleItemClick() {\n this.itemClick.emit();\n }\n\n render() {\n let color = this.itemColor?.startsWith('--theme')\n ? `var(${this.itemColor})`\n : `var(--theme-${this.itemColor})`;\n\n if (this.color) {\n color = this.color?.startsWith('--theme')\n ? `var(${this.color})`\n : `var(--theme-${this.color})`;\n }\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n }}\n >\n <div\n class={{\n 'event-list-item': true,\n selected: this.selected,\n disabled: this.disabled,\n }}\n >\n <div\n class={`indicator ${\n !(this.itemColor ?? this.color) ? 'indicator-empty' : ''\n }`}\n style={{\n 'background-color':\n this.itemColor ?? this.color ? color : 'inherit',\n opacity: `${this.disabled ? 0.4 : 1}`,\n }}\n ></div>\n\n <div class=\"event-list-item-container\">\n <div class=\"event-content\">\n <slot></slot>\n </div>\n {this.chevron && (\n <ix-icon\n name={'chevron-right'}\n size=\"16\"\n class=\"chevron-icon\"\n ></ix-icon>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAmB,wyHACzB,MAAAC,EAAeD,E,MCuBFE,EAAa,M,mLA2CxB,eAAAC,GACEC,KAAKC,UAAUC,M,CAGjB,MAAAC,G,YACE,IAAIC,IAAQC,EAAAL,KAAKM,aAAS,MAAAD,SAAA,SAAAA,EAAEE,WAAW,YACnC,OAAOP,KAAKM,aACZ,eAAeN,KAAKM,aAExB,GAAIN,KAAKI,MAAO,CACdA,IAAQI,EAAAR,KAAKI,SAAK,MAAAI,SAAA,SAAAA,EAAED,WAAW,YAC3B,OAAOP,KAAKI,SACZ,eAAeJ,KAAKI,Q,CAG1B,OACEK,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLC,SAAUb,KAAKa,WAGjBJ,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,kBAAmB,KACnBE,SAAUd,KAAKc,SACfD,SAAUb,KAAKa,WAGjBJ,EAAA,OAAAE,IAAA,2CACEC,MAAO,gBACHG,EAAAf,KAAKM,aAAS,MAAAS,SAAA,EAAAA,EAAIf,KAAKI,OAAS,kBAAoB,KAExDY,MAAO,CACL,qBACEC,EAAAjB,KAAKM,aAAS,MAAAW,SAAA,EAAAA,EAAIjB,KAAKI,OAAQA,EAAQ,UACzCc,QAAS,GAAGlB,KAAKa,SAAW,GAAM,OAItCJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,6BACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,iBACTH,EAAA,QAAAE,IAAA,8CAEDX,KAAKmB,SACJV,EAAA,WACEW,KAAM,gBACNC,KAAK,KACLT,MAAM,mB"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as s,H as e,g as r}from"./p-26e9d40e.js";import{f as n,i as o,s as h,o as a,a as d,c}from"./p-b3f35666.js";function l(t){return t&&t.getDropdownItemElement!==undefined&&typeof t.getDropdownItemElement==="function"}class u{constructor(){this.dropdowns=new Map;this.submenuIds={};this.isWindowListenerActive=false}connected(t){if(!this.isWindowListenerActive){this.addOverlayListeners()}this.dropdowns.set(t.getId(),t);if(t.discoverAllSubmenus){this.discoverSubmenus()}}disconnected(t){this.dropdowns.delete(t.getId())}discoverSubmenus(){this.dropdowns.forEach((t=>{t.discoverSubmenu()}))}present(t){if(!t.isPresent()&&t.willPresent()){this.submenuIds[t.getId()]=t.getAssignedSubmenuIds();t.present()}}dismissChildren(t){const i=this.submenuIds[t]||[];for(const t of i){this.dismiss(this.dropdowns.get(t))}}dismiss(t){if(t.isPresent()&&t.willDismiss()){this.dismissChildren(t.getId());t.dismiss();delete this.submenuIds[t.getId()]}}dismissAll(t=[]){this.dropdowns.forEach((i=>{if(!t.includes(i.getId())&&(i.closeBehavior==="inside"||i.closeBehavior===false)){return}this.dismiss(i)}))}dismissOthers(t){let i=this.buildComposedPath(t,new Set);this.dropdowns.forEach((t=>{if(t.closeBehavior!=="inside"&&t.closeBehavior!==false&&!i.has(t.getId())){this.dismiss(t)}}))}pathIncludesTrigger(t){for(let i of t){if(i instanceof HTMLElement){if(i.hasAttribute("data-ix-dropdown-trigger")){return true}}}return false}pathIncludesDropdown(t){return!!t.find((t=>t.tagName==="IX-DROPDOWN"))}buildComposedPath(t,i){if(this.submenuIds[t]){i.add(t)}for(const s of Object.keys(this.submenuIds)){if(this.submenuIds[s].includes(t)){this.buildComposedPath(s,i).forEach((t=>i.add(t)))}}return i}addOverlayListeners(){this.isWindowListenerActive=true;window.addEventListener("click",(t=>{const i=this.pathIncludesTrigger(t.composedPath());const s=this.pathIncludesDropdown(t.composedPath());if(!i&&!s){this.dismissAll()}}));window.addEventListener("keydown",(t=>{if(t.key==="Escape"){this.dismissAll([...this.dropdowns.keys()])}}))}}const f=(t,i,s)=>{t.addEventListener(i,s);return()=>{t.removeEventListener(i,s)}};const b=new u;const m=":host{background-color:var(--theme-color-2);border-radius:var(--theme-default-border-radius);min-width:0px;z-index:var(--theme-z-index-dropdown);box-shadow:var(--theme-shadow-4);padding:0.25rem 0px}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .dropdown-header{display:flex;align-items:center;height:2.5rem;color:var(--theme-menu-header--color);padding:0 1rem}:host(.overflow){max-height:50vh;overflow-y:auto}:host(:not(.show)){display:none}";const w=m;let p=0;const g=class{constructor(s){t(this,s);this.showChanged=i(this,"showChanged",7);this.autoUpdateCleanup=null;this.localUId=`dropdown-${p++}`;this.assignedSubmenu=[];this.suppressAutomaticPlacement=false;this.show=false;this.trigger=undefined;this.anchor=undefined;this.closeBehavior="both";this.placement="bottom-start";this.positioningStrategy="fixed";this.header=undefined;this.offset=undefined;this.overwriteDropdownStyle=undefined;this.discoverAllSubmenus=false}connectedCallback(){b.connected(this);if(this.trigger!=undefined){this.registerListener(this.trigger)}}cacheSubmenuId(t){t.stopImmediatePropagation();t.preventDefault();const{detail:i}=t;if(this.assignedSubmenu.indexOf(i)===-1){this.assignedSubmenu.push(i)}}disconnectedCallback(){b.dismiss(this);b.disconnected(this);if(this.disposeListener){this.disposeListener()}if(this.autoUpdateCleanup){this.autoUpdateCleanup()}}getAssignedSubmenuIds(){return this.assignedSubmenu}isPresent(){return this.show}present(){this.show=true}dismiss(){this.show=false}getId(){return this.localUId}willDismiss(){const{defaultPrevented:t}=this.showChanged.emit(false);return!t}willPresent(){const{defaultPrevented:t}=this.showChanged.emit(true);return!t}get dropdownItems(){return Array.from(this.hostElement.querySelectorAll("ix-dropdown-item"))}get slotElement(){return this.hostElement.shadowRoot.querySelector("slot")}addEventListenersFor(){var t,i;(t=this.disposeListener)===null||t===void 0?void 0:t.call(this);const s=()=>{if(!this.isPresent()){b.present(this)}else{b.dismiss(this)}b.dismissOthers(this.getId())};this.disposeListener=f(this.triggerElement,"click",(t=>{if(!t.defaultPrevented){s()}}));(i=this.triggerElement)===null||i===void 0?void 0:i.setAttribute("data-ix-dropdown-trigger",this.localUId)}async discoverSubmenu(){var t;(t=this.triggerElement)===null||t===void 0?void 0:t.dispatchEvent(new CustomEvent("ix-assign-sub-menu",{bubbles:true,composed:false,cancelable:true,detail:this.localUId}))}async registerListener(t){this.triggerElement=await this.resolveElement(t);if(this.triggerElement){this.addEventListenersFor();this.discoverSubmenu()}}async resolveElement(t){const i=await this.findElement(t);return this.checkForSubmenuAnchor(i)}async checkForSubmenuAnchor(t){if(!t){return null}if(l(t)){const i=await t.getDropdownItemElement();i.isSubMenu=true;this.hostElement.style.zIndex=`var(--theme-z-index-dropdown)`}if(t.tagName==="IX-DROPDOWN-ITEM"){t.isSubMenu=true;this.hostElement.style.zIndex=`var(--theme-z-index-dropdown)`}return t}findElement(t){if(t instanceof Promise){return t}if(typeof t==="object"){return Promise.resolve(t)}if(typeof t!="string"){return}const i=`#${t}`;return new Promise((t=>{if(document.querySelector(i)){return t(document.querySelector(i))}const s=new MutationObserver((()=>{if(document.querySelector(i)){t(document.querySelector(i));s.disconnect()}}));s.observe(document.body,{childList:true,subtree:true})}))}async changedShow(t){if(t){this.anchorElement=await(this.anchor?this.resolveElement(this.anchor):this.resolveElement(this.trigger));if(this.anchorElement){this.applyDropdownPosition()}}}changedTrigger(t){this.registerListener(t)}isAnchorSubmenu(){var t;if(!l(this.anchorElement)){return!!((t=this.anchorElement)===null||t===void 0?void 0:t.closest("ix-dropdown-item"))}return true}async applyDropdownPosition(){if(!this.show){return}if(!this.anchorElement){return}if(!this.dropdownRef){return}const t=this.isAnchorSubmenu();let i={strategy:this.positioningStrategy,middleware:[]};if(!this.suppressAutomaticPlacement){i.middleware.push(n({fallbackStrategy:"initialPlacement"}))}i.placement=t?"right-start":this.placement;i.middleware=[...i.middleware,o(),h()];if(this.offset){i.middleware.push(a(this.offset))}if(this.autoUpdateCleanup){this.autoUpdateCleanup();this.autoUpdateCleanup=null}this.autoUpdateCleanup=d(this.anchorElement,this.dropdownRef,(async()=>{const t=await c(this.anchorElement,this.dropdownRef,i);Object.assign(this.dropdownRef.style,{top:"0",left:"0",transform:`translate(${Math.round(t.x)}px,${Math.round(t.y)}px)`});if(this.overwriteDropdownStyle){const t=await this.overwriteDropdownStyle({dropdownRef:this.dropdownRef,triggerRef:this.triggerElement});Object.assign(this.dropdownRef.style,t)}}),{ancestorResize:true,ancestorScroll:true,elementResize:true})}async componentDidLoad(){this.changedTrigger(this.trigger)}async componentDidRender(){await this.applyDropdownPosition();this.anchorElement=await(this.anchor?this.resolveElement(this.anchor):this.resolveElement(this.trigger))}isTriggerElement(t){const i=!!t.hasAttribute("data-ix-dropdown-trigger");return i}onDropdownClick(t){if(b.pathIncludesTrigger(t.composedPath())){t.preventDefault();if(this.isTriggerElement(t.target)){return}}if(this.closeBehavior==="inside"||this.closeBehavior==="both"){b.dismissAll([this.getId()])}b.dismissOthers(this.getId())}async updatePosition(){this.applyDropdownPosition()}render(){return s(e,{key:"dd1442ad0a56be081ff7ad7c3fb365aa9c8f1d54","data-ix-dropdown":this.localUId,ref:t=>this.dropdownRef=t,class:{"dropdown-menu":true,show:this.show,overflow:true},style:{margin:"0",minWidth:"0px",position:this.positioningStrategy},role:"list",onClick:t=>this.onDropdownClick(t)},s("div",{key:"2d1edb55fd1066a9634955cefc3aa86ade333781",style:{display:"contents"}},this.header&&s("div",{class:"dropdown-header"},this.header),s("slot",{key:"259991ab41fb0f70f363ac195d202c5673262b2f"})))}get hostElement(){return r(this)}static get watchers(){return{show:["changedShow"],trigger:["changedTrigger"]}}};g.style=w;export{g as ix_dropdown};
2
- //# sourceMappingURL=p-ab446f83.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["hasDropdownItemWrapperImplemented","item","getDropdownItemElement","undefined","DropdownController","constructor","this","dropdowns","Map","submenuIds","isWindowListenerActive","connected","dropdown","addOverlayListeners","set","getId","discoverAllSubmenus","discoverSubmenus","disconnected","delete","forEach","discoverSubmenu","present","isPresent","willPresent","getAssignedSubmenuIds","dismissChildren","uid","childIds","id","dismiss","get","willDismiss","dismissAll","ignoreBehaviorForIds","includes","closeBehavior","dismissOthers","path","buildComposedPath","Set","has","pathIncludesTrigger","eventTargets","eventTarget","HTMLElement","hasAttribute","pathIncludesDropdown","find","element","tagName","add","ruleKey","Object","keys","key","window","addEventListener","event","hasTrigger","composedPath","hasDropdown","addDisposableEventListener","eventType","callback","removeEventListener","dropdownController","dropdownCss","IxDropdownStyle0","sequenceId","Dropdown","autoUpdateCleanup","localUId","assignedSubmenu","connectedCallback","trigger","registerListener","cacheSubmenuId","stopImmediatePropagation","preventDefault","detail","indexOf","push","disconnectedCallback","disposeListener","show","defaultPrevented","showChanged","emit","dropdownItems","Array","from","hostElement","querySelectorAll","slotElement","shadowRoot","querySelector","addEventListenersFor","_a","call","toggleController","triggerElement","_b","setAttribute","dispatchEvent","CustomEvent","bubbles","composed","cancelable","resolveElement","el","findElement","checkForSubmenuAnchor","dropdownItem","isSubMenu","style","zIndex","Promise","resolve","selector","document","observer","MutationObserver","disconnect","observe","body","childList","subtree","changedShow","newShow","anchorElement","anchor","applyDropdownPosition","changedTrigger","newTriggerValue","isAnchorSubmenu","closest","dropdownRef","isSubmenu","positionConfig","strategy","positioningStrategy","middleware","suppressAutomaticPlacement","flip","fallbackStrategy","placement","inline","shift","offset","autoUpdate","async","computeResponse","computePosition","assign","top","left","transform","Math","round","x","y","overwriteDropdownStyle","overwriteStyle","triggerRef","ancestorResize","ancestorScroll","elementResize","componentDidLoad","componentDidRender","isTriggerElement","onDropdownClick","target","updatePosition","render","h","Host","ref","class","overflow","margin","minWidth","position","role","onClick","display","header"],"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 if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\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 dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.disposeListener) {\n this.disposeListener();\n }\n\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 if (typeof element != 'string') {\n return;\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.show) {\n return;\n }\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 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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,F as s,H as o,g as h}from"./p-26e9d40e.js";import{D as a}from"./p-f5e574da.js";const n=":host{display:inline-block;position:relative}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}@media (max-width: 48em){:host .min-width{width:-moz-min-content;width:min-content}}@media (min-width: 48em){:host .border-right{border-right:var(--theme-x-weak-bdr-2)}}:host ix-button{width:100%}:host .max-height{max-height:-moz-max-content;max-height:max-content}:host .no-margin{margin:0;padding:0}:host .pull-right{float:right;padding:0.25rem 1rem}";const r=n;const d=class{constructor(e){t(this,e);this.dateRangeChange=i(this,"dateRangeChange",7);this.datePickerTouched=false;this.format="yyyy/LL/dd";this.range=true;this.from=undefined;this.to=undefined;this.minDate=undefined;this.maxDate=undefined;this.dateRangeId="custom";this.customRangeAllowed=true;this.dateRangeOptions=[];this.i18nCustomItem="Custom...";this.i18nDone="Done";this.i18nNoRange="No range set";this.today=a.now().toISO();this.selectedDateRangeId=undefined;this.currentRangeValue=undefined;this.triggerRef=undefined}onDateRangeIdChange(){this.onRangeListSelect(this.dateRangeId);this.updateCurrentDate();this.setDateRangeSelection(this.dateRangeId);this.onDateSelect({from:this.currentRangeValue.from,to:this.currentRangeValue.to,id:this.currentRangeValue.id})}onDateRangeOptionsChange(){this.initialize();this.onDateRangeIdChange()}componentWillLoad(){this.initialize();this.setDateRangeSelection(this.dateRangeId)}async getDateRange(){return this.currentRangeValue}initialize(){const t=this.dateRangeId==="custom"||!this.dateRangeId&&!!this.from&&!!this.to;if(t&&this.customRangeAllowed){this.selectedDateRangeId="custom";this.updateCurrentDate();return}const i=!t&&!this.from;if(!i){console.warn('"from" and "range-date-id" is provided this is an invalid combination. Using "custom".');this.selectedDateRangeId="custom";this.updateCurrentDate();return}}updateCurrentDate(){this.currentRangeValue={id:this.selectedDateRangeId,from:this.from,to:this.to}}onDateSelect(t,i=true){this.dateRangeChange.emit(t);if(i){this.closeDropdown()}this.datePickerTouched=false}onRangeListSelect(t){if(this.setDateRangeSelection(t)){this.onDateSelect(this.currentRangeValue)}}setDateRangeSelection(t){this.selectedDateRangeId=t;const i=this.dateRangeOptions.find((i=>i.id===t));if(i){this.currentRangeValue=i}return i}closeDropdown(){this.hostElement.shadowRoot.querySelector("ix-dropdown").show=false}getButtonLabel(){var t,i;if(this.selectedDateRangeId==="custom"&&((t=this.currentRangeValue)===null||t===void 0?void 0:t.from)){let t=this.currentRangeValue.from;if(this.currentRangeValue.to){t+=` - ${this.currentRangeValue.to}`}return t}if(!this.selectedDateRangeId){return this.i18nNoRange}if(!this.dateRangeOptions||((i=this.dateRangeOptions)===null||i===void 0?void 0:i.length)===0){return this.i18nNoRange}const e=this.dateRangeOptions.find((t=>t.id===this.selectedDateRangeId));if(!e){console.error(`Cannot find range option with id ${this.selectedDateRangeId}`);return this.i18nNoRange}return e.label}render(){var t,i,h;return e(o,{key:"c1460a1ff367334dd5dccd26ddfdb8dbe333d1f9"},e("ix-button",{key:"5cfaf26928ec4afd00986e9c2d9c912776d208fb","data-date-dropdown-trigger":true,variant:"primary",icon:"history",ref:t=>this.triggerRef=t},this.getButtonLabel()),e("ix-dropdown",{key:"55678d235dae3f2171863921b67943e15f555f9d","data-date-dropdown":true,class:"min-width max-height",trigger:this.triggerRef,"close-behavior":"outside",placement:"bottom-start",onShowChanged:({detail:t})=>{if(!t&&this.selectedDateRangeId==="custom"&&this.datePickerTouched){this.onDateSelect(this.currentRangeValue)}}},e("ix-layout-grid",{key:"8c278991b47f5feeff74df783f37dfae99027a3a","no-margin":"true"},e("ix-row",{key:"f7b9d0cbae4cae970df394aaa17a1e2907c3c661"},((t=this.dateRangeOptions)===null||t===void 0?void 0:t.length)>1&&e("ix-col",{class:{"no-margin":true,"border-right":this.selectedDateRangeId==="custom"}},this.dateRangeOptions.map((t=>e("ix-dropdown-item",{label:t.label,onClick:()=>this.onRangeListSelect(t.id),checked:this.selectedDateRangeId===t.id}))),e("div",{hidden:!this.customRangeAllowed},e("ix-dropdown-item",{label:this.i18nCustomItem,checked:this.selectedDateRangeId==="custom",onClick:()=>this.onRangeListSelect("custom")}))),e("ix-col",{key:"7a5b3ed06d888f5b90f34901e83dfbbda898e7a8",class:"no-margin"},this.selectedDateRangeId==="custom"&&e(s,null,e("ix-date-picker",{standaloneAppearance:false,onDateChange:t=>{t.stopPropagation();this.currentRangeValue=Object.assign(Object.assign({},t.detail),{id:"custom"});this.datePickerTouched=true},onDateRangeChange:t=>t.stopPropagation(),format:this.format,range:this.range,from:this.from||((i=this.currentRangeValue)===null||i===void 0?void 0:i.from),to:this.to||((h=this.currentRangeValue)===null||h===void 0?void 0:h.to),minDate:this.minDate,maxDate:this.maxDate,today:this.today}),e("div",{class:"pull-right"},e("ix-button",{onClick:()=>{this.onDateSelect(this.currentRangeValue)}},this.i18nDone))))))))}get hostElement(){return h(this)}static get watchers(){return{dateRangeId:["onDateRangeIdChange"],to:["onDateRangeIdChange"],from:["onDateRangeIdChange"],dateRangeOptions:["onDateRangeOptionsChange"]}}};d.style=r;export{d as ix_date_dropdown};
2
- //# sourceMappingURL=p-acdeb192.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dateDropdownCss","IxDateDropdownStyle0","DateDropdown","this","datePickerTouched","DateTime","now","toISO","onDateRangeIdChange","onRangeListSelect","dateRangeId","updateCurrentDate","setDateRangeSelection","onDateSelect","from","currentRangeValue","to","id","onDateRangeOptionsChange","initialize","componentWillLoad","getDateRange","isCustomRange","customRangeAllowed","selectedDateRangeId","isValidConfiguration","console","warn","rangeValue","preserveDropdown","dateRangeChange","emit","closeDropdown","option","dateRangeOptions","find","range","hostElement","shadowRoot","querySelector","show","getButtonLabel","_a","i18nNoRange","_b","length","error","label","render","h","Host","key","variant","icon","ref","triggerRef","class","trigger","placement","onShowChanged","detail","map","dateRangeOption","onClick","checked","hidden","i18nCustomItem","Fragment","standaloneAppearance","onDateChange","e","stopPropagation","Object","assign","onDateRangeChange","format","_c","minDate","maxDate","today","i18nDone"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: $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.updateCurrentDate();\n this.setDateRangeSelection(this.dateRangeId);\n\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether the user is allowed to pick custom date ranges in the component.\n * When set to 'true', the user can select a custom date range using the date picker.\n * When set to 'false', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeAllowed = true;\n\n /**\n * An array of predefined date range options for the date picker.\n * Each option is an object with a label describing the range and a function\n * that returns the start and end dates of the range as a DateRangeOption object.\n *\n * Example format:\n * {\n * id: 'some unique id',\n * label: 'Name of the range',\n * from: undefined, to: '2023/03/29'\n * },\n * // ... other predefined date range options ...\n */\n @Prop() dateRangeOptions: DateDropdownOption[] = [];\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * 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.updateCurrentDate();\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n }\n\n private updateCurrentDate() {\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n }\n\n private onDateSelect(\n rangeValue: { from: string; to: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id)) {\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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,H as s,g as o}from"./p-26e9d40e.js";import{O as r}from"./p-ced10144.js";const n=":host{display:inline-block;position:relative;min-height:2rem;height:auto;border-radius:var(--theme-input--border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .d-none{display:none}:host .select{position:relative;display:flex;align-items:center;background-color:var(--theme-input--background);border:var(--theme-input--border-thickness) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);padding:0 0 0 0.5rem;box-shadow:var(--theme-inset-shadow-1) !important}:host .select:not(.disabled):not(:disabled){cursor:pointer}:host .select:not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover)}:host .select:focus-within{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline:1px solid #119fff;outline-offset:var(--theme-input--focus--outline-offset)}:host .select.readonly{box-shadow:none !important;border:none;border-radius:0px;border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-weak-bdr)}:host .select.readonly,:host .select.readonly:hover,:host .select.readonly:active{background-color:transparent !important}:host .select.readonly:focus,:host .select.readonly:focus-within,:host .select.readonly:focus-visible{outline:none}:host .select.readonly input{color:var(--theme-color-weak-text)}:host .select.readonly input:focus,:host .select.readonly input:focus-visible{outline:none}:host .hidden{display:none !important}:host .trigger{display:flex;align-items:center;flex-grow:1;height:100%}:host .input-container{display:flex;position:relative;align-items:flex-start;width:100%;height:100%}:host .input-container .chips{position:relative;display:flex;align-items:center;flex-wrap:wrap;height:100%;max-height:3.5rem;flex-grow:1;overflow-y:auto}:host .input-container .chips>ix-filter-chip{margin:0.1rem}:host .input-container input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text);background:transparent;height:1.75rem;width:100%}:host .input-container input,:host .input-container input:hover,:host .input-container input:focus-visible{border:none;outline:none}:host .input-container input::-moz-placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input::placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input.hide-placeholder::-moz-placeholder{opacity:0}:host .input-container input.hide-placeholder::placeholder{opacity:0}:host .dropdown-visible{--ix-icon-button-color:var(--theme-color-dynamic--hover)}:host .add-item{display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%}:host .select-list-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;height:2rem;color:var(--theme-select-list-item-hint--color);margin:0 0.5rem 0 1rem}";const h=n;var l=undefined&&undefined.__decorate||function(t,e,i,s){var o=arguments.length,r=o<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,i):s,n;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(t,e,i,s);else for(var h=t.length-1;h>=0;h--)if(n=t[h])r=(o<3?n(r):o>3?n(e,i,r):n(e,i))||r;return o>3&&r&&Object.defineProperty(e,i,r),r};const a=class{constructor(i){t(this,i);this.valueChange=e(this,"valueChange",7);this.itemSelectionChange=e(this,"itemSelectionChange",7);this.inputChange=e(this,"inputChange",7);this.addItem=e(this,"addItem",7);this.selectedIndices=undefined;this.value=undefined;this.allowClear=false;this.mode="single";this.editable=false;this.disabled=false;this.readonly=false;this.i18nPlaceholder="Select an option";this.i18nPlaceholderEditable="Type of select option";this.i18nSelectListHeader="Please select an option";this.i18nNoMatches="No matches";this.hideListHeader=false;this.dropdownShow=false;this.selectedLabels=undefined;this.dropdownWrapperRef=undefined;this.dropdownAnchor=undefined;this.isDropdownEmpty=false;this.hasFocus=false;this.navigationItem=undefined;this.inputFilterText=undefined;this.inputValue=undefined}get items(){return[...Array.from(this.hostElement.querySelectorAll("ix-select-item")),...Array.from(this.hostElement.shadowRoot.querySelectorAll("ix-select-item"))]}get selectedItems(){return this.items.filter((t=>t.selected))}get addItemButton(){return this.hostElement.shadowRoot.querySelector(".add-item")}get isSingleMode(){return this.mode==="single"}get isMultipleMode(){return this.mode==="multiple"}get isEveryDropdownItemHidden(){return this.items.every((t=>t.classList.contains("d-none")))}watchSelectedIndices(t){this.value=t;this.updateSelection()}watchValue(t){this.selectedIndices=t;this.updateSelection()}onItemClicked(t){const e=t.detail;this.itemClick(e)}itemClick(t){this.value=this.toggleValue(t);this.updateSelection();this.emitValueChange()}emitAddItem(t){if(t.trim()===""){return}const e=document.createElement("ix-select-item");e.value=t;e.label=t;this.addItemRef.appendChild(e);this.clearInput();this.itemClick(t);this.addItem.emit(t)}toggleValue(t){if(!this.isMultipleMode){return t}if(!this.value){return[t]}let e=this.value;if(!Array.isArray(e)){e=[e]}if(e.includes(t)){return e.filter((e=>e!==t))}else{return[...e,t]}}updateSelection(){var t;let e=[];if(this.value){e=Array.isArray(this.value)?[...this.value]:[this.value]}this.items.forEach((t=>{t.selected=e.some((e=>e===(t.value!==undefined&&t.value!==null?t.value.toString():"")))}));this.selectedLabels=this.selectedItems.map((t=>t.label));if(this.isSingleMode){this.inputValue=((t=this.selectedLabels)===null||t===void 0?void 0:t.length)?this.selectedLabels[0]:null;return}this.inputValue=null}emitValueChange(){this.valueChange.emit(this.value);if(!this.value){this.itemSelectionChange.emit(null)}else{this.itemSelectionChange.emit(Array.isArray(this.value)?this.value:[this.value])}}componentDidLoad(){this.inputRef.addEventListener("input",(()=>{this.dropdownShow=true;this.inputChange.emit(this.inputRef.value)}))}componentWillLoad(){if(this.selectedIndices&&!this.value){this.value=this.selectedIndices}this.updateSelection()}onLabelChange(t){t.preventDefault();t.stopImmediatePropagation();this.updateSelection()}disconnectedCallback(){if(this.labelMutationObserver){this.labelMutationObserver.disconnect()}}itemExists(t){return this.items.find((e=>e.label===t))}dropdownVisibilityChanged(t){this.dropdownShow=t.detail;this.hasFocus=t.detail;if(t.detail){this.inputRef.focus();this.inputRef.select();this.removeHiddenFromItems();this.isDropdownEmpty=this.isEveryDropdownItemHidden}else{this.navigationItem=undefined}}async onKeyDown(t){if(t.code==="ArrowDown"||t.code==="ArrowUp"){this.onArrowNavigation(t,t.code)}if(!this.dropdownShow){return}if(t.code==="Enter"||t.code==="NumpadEnter"){await this.onEnterNavigation()}if(t.code==="Escape"){this.dropdownShow=false}}async onEnterNavigation(){var t,e;if(this.isMultipleMode){return}if(this.editable&&!this.itemExists(this.inputFilterText)){this.emitAddItem(this.inputFilterText);this.navigationItem=this.items[this.items.length-1]}(t=this.navigationItem)===null||t===void 0?void 0:t.onItemClick();await((e=this.dropdownRef)===null||e===void 0?void 0:e.updatePosition());if(this.isSingleMode&&!this.editable){this.dropdownShow=false}}onArrowNavigation(t,e){t.preventDefault();t.stopPropagation();this.dropdownShow=true;const i=this.items.filter((t=>!t.classList.contains("d-none")));if(this.navigationItem===undefined){this.applyFocusTo(i[0]);return}let s=i.findIndex((t=>t===this.navigationItem));if(e==="ArrowDown"){s++}else{s--}const o=i[s];this.applyFocusTo(o)}applyFocusTo(t){if(!t){return}this.navigationItem=t;setTimeout((()=>{t.shadowRoot.querySelector("ix-dropdown-item").shadowRoot.querySelector("button").focus()}))}filterItemsWithTypeahead(){this.inputFilterText=this.inputRef.value;if(this.isSingleMode&&this.inputFilterText===this.selectedLabels[0]){return}if(this.inputFilterText){this.items.forEach((t=>{t.classList.remove("d-none");if(!t.label.toLowerCase().includes(this.inputFilterText.toLowerCase())){t.classList.add("d-none")}}))}else{this.removeHiddenFromItems()}this.isDropdownEmpty=this.isEveryDropdownItemHidden}removeHiddenFromItems(){this.items.forEach((t=>{t.classList.remove("d-none")}))}clearInput(){this.inputRef.value="";this.inputFilterText=""}clear(){this.clearInput();this.selectedLabels=[];this.value=[];this.valueChange.emit(null);this.dropdownShow=false}onInputBlur(t){if(this.editable){return}if(this.isSingleMode){return}if(!this.dropdownShow&&this.mode!=="multiple"){t.target["value"]=this.selectedLabels}}placeholderValue(){if(this.editable){return this.i18nPlaceholderEditable}if(this.readonly){return""}return this.i18nPlaceholder}isAddItemVisible(){return!this.itemExists(this.inputFilterText)&&this.editable&&this.inputFilterText}render(){var t,e,o;return i(s,{key:"c3436b72b89db710173be26ccc34d44eaef48096"},i("div",{key:"19b6245bdbd79faa3d4bbf25a4d106e2084875d9",class:{select:true,disabled:this.disabled,readonly:this.readonly},ref:t=>{this.dropdownAnchor=t;if(!this.editable)this.dropdownWrapperRef=t}},i("div",{key:"283b9918b77987f4a5c943eeba63679cb4cd979c",class:"input-container"},i("div",{key:"eb809d645c40ae085805d0ec3fcbbb48534cfb2c",class:"chips"},this.isMultipleMode?(t=this.selectedItems)===null||t===void 0?void 0:t.map((t=>i("ix-filter-chip",{disabled:this.disabled||this.readonly,key:t.value,onCloseClick:e=>{e.preventDefault();e.stopPropagation();this.itemClick(t.value)}},t.label))):"",i("div",{key:"e2faa64250d72d63afaf05139a0f6ed144097f69",class:"trigger"},i("input",{key:"3aa2890f133b801bb14f8cc9d568cbee3eb83d13",autocomplete:"off","data-testid":"input",disabled:this.disabled,readOnly:this.readonly,type:"text",class:{"allow-clear":this.allowClear&&!!((e=this.selectedLabels)===null||e===void 0?void 0:e.length)},placeholder:this.placeholderValue(),value:this.inputValue,ref:t=>this.inputRef=t,onBlur:t=>this.onInputBlur(t),onFocus:()=>{this.navigationItem=undefined},onInput:()=>this.filterItemsWithTypeahead(),onKeyDown:t=>this.onKeyDown(t)}),this.allowClear&&(((o=this.selectedLabels)===null||o===void 0?void 0:o.length)||this.inputFilterText)?i("ix-icon-button",{class:"clear",icon:"clear",ghost:true,oval:true,size:"16",onClick:t=>{t.preventDefault();t.stopPropagation();this.clear()}}):null,this.disabled||this.readonly?null:i("ix-icon-button",{"data-select-dropdown":true,class:{"dropdown-visible":this.dropdownShow},icon:"chevron-down-small",ghost:true,ref:t=>{if(this.editable)this.dropdownWrapperRef=t}}))))),i("ix-dropdown",{key:"571d47a09fb16445a94a304e9fae4a1a592d078b",ref:t=>this.dropdownRef=t,show:this.dropdownShow,closeBehavior:this.isMultipleMode?"outside":"both",class:{"d-none":this.disabled||this.readonly},anchor:this.dropdownAnchor,trigger:this.dropdownWrapperRef,onShowChanged:t=>this.dropdownVisibilityChanged(t),placement:"bottom-start",overwriteDropdownStyle:async()=>({minWidth:`${this.hostElement.clientWidth}px`})},i("div",{key:"2751511a275b502709f59e600eb494cf33085d80",class:{"select-list-header":true,hidden:this.hideListHeader||this.isDropdownEmpty},title:this.i18nSelectListHeader},this.i18nSelectListHeader),i("slot",{key:"8f894985df712df0f0b0d4527ee7b136d2c84a60"}),i("div",{key:"4edce84e19a13a67defc8de67ca1e23fb7319be7",ref:t=>this.addItemRef=t,class:"d-contents"}),this.isAddItemVisible()?i("ix-dropdown-item",{"data-testid":"add-item",icon:"plus",class:{"add-item":true},label:this.inputFilterText,onItemClick:t=>{t.preventDefault();t.stopPropagation();this.emitAddItem(this.inputFilterText)}}):null,this.isDropdownEmpty&&!this.editable?i("div",{class:"select-list-header"},this.i18nNoMatches):""))}get hostElement(){return o(this)}static get watchers(){return{selectedIndices:["watchSelectedIndices"],value:["watchValue"]}}};l([r("keydown",(t=>t.dropdownShow))],a.prototype,"onKeyDown",null);a.style=h;export{a as ix_select};
2
- //# sourceMappingURL=p-b78fd38b.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["selectCss","IxSelectStyle0","Select","items","Array","from","this","hostElement","querySelectorAll","shadowRoot","selectedItems","filter","item","selected","addItemButton","querySelector","isSingleMode","mode","isMultipleMode","isEveryDropdownItemHidden","every","classList","contains","watchSelectedIndices","value","updateSelection","watchValue","selectedIndices","onItemClicked","event","newId","detail","itemClick","toggleValue","emitValueChange","emitAddItem","trim","newItem","document","createElement","label","addItemRef","appendChild","clearInput","addItem","emit","itemValue","isArray","includes","ids","forEach","some","i","undefined","toString","selectedLabels","map","inputValue","_a","length","valueChange","itemSelectionChange","componentDidLoad","inputRef","addEventListener","dropdownShow","inputChange","componentWillLoad","onLabelChange","preventDefault","stopImmediatePropagation","disconnectedCallback","labelMutationObserver","disconnect","itemExists","find","dropdownVisibilityChanged","hasFocus","focus","select","removeHiddenFromItems","isDropdownEmpty","navigationItem","onKeyDown","code","onArrowNavigation","onEnterNavigation","editable","inputFilterText","onItemClick","_b","dropdownRef","updatePosition","key","stopPropagation","applyFocusTo","indexOfNavigationItem","findIndex","newFocusItem","element","setTimeout","filterItemsWithTypeahead","remove","toLowerCase","add","clear","onInputBlur","e","target","placeholderValue","i18nPlaceholderEditable","readonly","i18nPlaceholder","isAddItemVisible","render","h","Host","class","disabled","ref","dropdownAnchor","dropdownWrapperRef","onCloseClick","autocomplete","readOnly","type","allowClear","placeholder","onBlur","onFocus","onInput","_c","icon","ghost","oval","size","onClick","show","closeBehavior","anchor","trigger","onShowChanged","placement","overwriteDropdownStyle","async","minWidth","clientWidth","hidden","hideListHeader","title","i18nSelectListHeader","i18nNoMatches","__decorate","OnListener","self"],"sources":["src/components/select/select.scss?tag=ix-select&encapsulation=shadow","src/components/select/select.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n min-height: 2rem;\n height: auto;\n border-radius: var(--theme-input--border-radius);\n\n .d-none {\n display: none;\n }\n\n .select {\n position: relative;\n display: flex;\n align-items: center;\n background-color: var(--theme-input--background);\n border: var(--theme-input--border-thickness) solid\n var(--theme-input--border-color);\n border-radius: var(--theme-input--border-radius);\n padding: 0 0 0 $small-space;\n box-shadow: var(--theme-inset-shadow-1) !important;\n\n @include hover {\n background-color: var(--theme-input--background--hover);\n border-color: var(--theme-input--border-color--hover);\n }\n\n &:focus-within {\n background-color: var(--theme-input--background--focus);\n border-color: var(--theme-input--border-color--focus);\n outline: 1px solid #119fff;\n outline-offset: var(--theme-input--focus--outline-offset);\n }\n }\n\n .select.readonly {\n box-shadow: none !important;\n border: none;\n border-radius: 0px;\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-weak-bdr);\n\n &,\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n\n &:focus,\n &:focus-within,\n &:focus-visible {\n outline: none;\n }\n\n input {\n color: var(--theme-color-weak-text);\n }\n\n input:focus,\n input:focus-visible {\n outline: none;\n }\n }\n\n .hidden {\n display: none !important;\n }\n\n .trigger {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n }\n\n .input-container {\n display: flex;\n position: relative;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n\n .chips {\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n height: 100%;\n max-height: 3.5rem;\n flex-grow: 1;\n overflow-y: auto;\n\n > ix-filter-chip {\n margin: 0.1rem;\n }\n }\n\n input {\n @include ellipsis;\n @include text-default;\n background: transparent;\n height: 1.75rem;\n width: 100%;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &::placeholder {\n color: var(--theme-input-select-icon--color);\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n }\n\n .dropdown-visible {\n --ix-icon-button-color: var(--theme-color-dynamic--hover);\n }\n\n .add-item {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n width: 100%;\n }\n\n .select-list-header {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $default-control-height;\n color: var(--theme-select-list-item-hint--color);\n margin: 0 $small-space 0 1rem;\n }\n}\n","/*\n * 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 Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { OnListener } from '../utils/listener';\n\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n})\nexport class Select {\n @Element() hostElement!: HTMLIxSelectElement;\n\n /**\n * Indices of selected items.\n * This corresponds to the value property of ix-select-items and therefor not necessarily the indices of the items in the list.\n * @deprecated since 2.0.0. Use the `value` property instead.\n */\n @Prop({ mutable: true }) selectedIndices?: string | string[];\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Please select an option';\n\n /**\n * Hint inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange: EventEmitter<string | string[]>;\n\n /**\n * Item selection changed\n * @deprecated since 2.0.0. Use `valueChange` instead.\n */\n @Event() itemSelectionChange: EventEmitter<string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem: EventEmitter<string>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: string[];\n @State() dropdownWrapperRef!: HTMLElement;\n @State() dropdownAnchor!: HTMLElement;\n @State() isDropdownEmpty = false;\n @State() hasFocus = false;\n @State() navigationItem: HTMLIxSelectItemElement;\n @State() inputFilterText: string;\n @State() inputValue: string;\n\n private inputRef!: HTMLInputElement;\n private dropdownRef!: HTMLIxDropdownElement;\n private addItemRef!: HTMLDivElement;\n\n private labelMutationObserver: MutationObserver;\n\n get items() {\n return [\n ...Array.from(this.hostElement.querySelectorAll('ix-select-item')),\n ...Array.from(\n this.hostElement.shadowRoot.querySelectorAll('ix-select-item')\n ),\n ];\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('d-none'));\n }\n\n @Watch('selectedIndices')\n watchSelectedIndices(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.selectedIndices = value;\n this.updateSelection();\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n private itemClick(newId: string) {\n this.value = this.toggleValue(newId);\n this.updateSelection();\n this.emitValueChange();\n }\n\n private emitAddItem(value: string) {\n if (value.trim() === '') {\n return;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.addItemRef.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n this.addItem.emit(value);\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some(\n // Check can be removed if value is type of string in future releases\n (i) =>\n i ===\n (item.value !== undefined && item.value !== null\n ? item.value.toString()\n : '')\n );\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.isSingleMode) {\n this.inputValue = this.selectedLabels?.length\n ? this.selectedLabels[0]\n : null;\n return;\n }\n\n this.inputValue = null;\n }\n\n private emitValueChange() {\n this.valueChange.emit(this.value);\n\n if (!this.value) {\n this.itemSelectionChange.emit(null);\n } else {\n this.itemSelectionChange.emit(\n Array.isArray(this.value) ? this.value : [this.value]\n );\n }\n }\n\n componentDidLoad() {\n this.inputRef.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputRef.value);\n });\n }\n\n componentWillLoad() {\n if (this.selectedIndices && !this.value) {\n this.value = this.selectedIndices;\n }\n\n this.updateSelection();\n }\n\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n if (this.labelMutationObserver) {\n this.labelMutationObserver.disconnect();\n }\n }\n\n private itemExists(item: string) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n this.hasFocus = event.detail;\n\n if (event.detail) {\n this.inputRef.focus();\n this.inputRef.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation();\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation() {\n if (this.isMultipleMode) {\n return;\n }\n\n if (this.editable && !this.itemExists(this.inputFilterText)) {\n this.emitAddItem(this.inputFilterText);\n this.navigationItem = this.items[this.items.length - 1];\n }\n\n this.navigationItem?.onItemClick();\n await this.dropdownRef?.updatePosition();\n\n if (this.isSingleMode && !this.editable) {\n this.dropdownShow = false;\n }\n }\n\n private onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n const items = this.items.filter((i) => !i.classList.contains('d-none'));\n if (this.navigationItem === undefined) {\n this.applyFocusTo(items[0]);\n return;\n }\n\n let indexOfNavigationItem = items.findIndex(\n (item) => item === this.navigationItem\n );\n\n if (key === 'ArrowDown') {\n indexOfNavigationItem++;\n } else {\n indexOfNavigationItem--;\n }\n\n const newFocusItem = items[indexOfNavigationItem];\n this.applyFocusTo(newFocusItem);\n }\n\n private applyFocusTo(element: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n .querySelector('ix-dropdown-item')\n .shadowRoot.querySelector('button')\n .focus();\n });\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputRef.value;\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n if (\n !item.label.toLowerCase().includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('d-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n });\n }\n\n private clearInput() {\n this.inputRef.value = '';\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.valueChange.emit(null);\n this.dropdownShow = false;\n }\n\n private onInputBlur(e) {\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n e.target['value'] = this.selectedLabels;\n }\n }\n\n private placeholderValue() {\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n if (this.readonly) {\n return '';\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchor = ref;\n if (!this.editable) this.dropdownWrapperRef = ref;\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue}\n ref={(ref) => (this.inputRef = ref)}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={'clear'}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon=\"chevron-down-small\"\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef = ref;\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n <ix-dropdown\n ref={(ref) => (this.dropdownRef = ref)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'd-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchor}\n trigger={this.dropdownWrapperRef}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n return {\n minWidth: `${this.hostElement.clientWidth}px`,\n };\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot></slot>\n <div ref={(ref) => (this.addItemRef = ref)} class=\"d-contents\"></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={'plus'}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.emitAddItem(this.inputFilterText);\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["colCss","IxColStyle0","Col","onResize","forceUpdate","this","getSize","breakpoint","size","sizeSm","sizeMd","sizeLg","getColumnSize","Breakpoints","forEach","isMediaQueryActive","matchBreakpoint","currentSize","getColumnSizeStyling","flex","width","colSize","render","h","Host","key","style","Object","assign","datePickerCss","IxDatePickerStyle0","DatePicker","DAYS_IN_WEEK","undefined","DateTime","now","toISO","watchFromPropHandler","newValue","currFromDate","fromFormat","format","_a","isValid","selectedYear","year","selectedMonth","month","watchToPropHandler","currToDate","onLocaleChange","setTranslations","getCurrentDate","_from","_b","toFormat","_to","_c","_d","range","from","to","handleKeyUp","event","isDayFocus","_focusedDay","focusedDay","getDaysInCurrentMonth","changeToAdjacentMonth","monthChangedFromFocus","utc","daysInMonth","getDateTimeNow","fromISO","today","onDayBlur","onDayFocus","componentWillLoad","startYear","endYear","tempMonth","tempYear","componentWillRender","calculateCalendar","componentDidRender","dayElem","hostElement","shadowRoot","querySelector","focus","dayNames","rotateWeekDayNames","Info","weekdays","locale","weekStartIndex","monthNames","months","index","clone","len","length","push","splice","onDone","date","dateSelect","emit","calendar","monthStart","startOf","monthEnd","endOf","startWeek","weekNumber","endWeek","monthStartWeekDayIndex","weekday","monthEndWeekDayIndex","monthStartWeekDayName","findIndex","d","monthEndWeekDayName","correctLastWeek","weeksInWeekYear","correctFirstWeek","currDayNumber","weekIndex","daysArr","j","dayNumbers","selectTempYear","stopPropagation","focusMonth","firstMonthRef","infiniteScrollYears","scroll","yearContainerRef","scrollTop","maxScroll","scrollHeight","atTop","atBottom","Math","round","offsetHeight","limit","first","firstElementChild","scrollTo","offsetTop","last","lastElementChild","selectMonth","show","number","selectDay","selectedDay","fromJSDate","Date","onDateChange","then","dateChange","dateRangeChange","getDayClasses","day","todayObj","selectedDayObj","hasSame","selected","disabled","isWithinMinMaxDate","isWithinMinMaxYear","minDateYear","minDate","maxDateYear","maxDate","isBefore","isAfter","isWithinMinMaxMonth","minDateObj","maxDateObj","minDateMonth","maxDateMonth","_minDate","_maxDate","renderYears","rows","class","arrowYear","onClick","onKeyUp","tabIndex","hidden","arrowPosition","name","corners","standaloneAppearance","slot","ghost","icon","variant","ref","dropdownButtonRef","trigger","placement","onScroll","map","checkPosition","slice","week","Fragment","id","e","onFocus","onBlur","button","textSelectDate","i18nDone","__decorate","OnListener","layoutGridCss","IxLayoutGridStyle0","LayoutGrid","noMargin","columns","gap","rowCss","IxRowStyle0","Row"],"sources":["src/components/col/col.scss?tag=ix-col&encapsulation=shadow","src/components/col/col.tsx","src/components/date-picker/date-picker.scss?tag=ix-date-picker&encapsulation=shadow","src/components/date-picker/date-picker.tsx","src/components/grid/layout-grid.scss?tag=ix-layout-grid&encapsulation=shadow","src/components/grid/layout-grid.tsx","src/components/row/row.scss?tag=ix-row&encapsulation=shadow","src/components/row/row.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n position: relative;\n flex-basis: 0;\n flex-grow: 1;\n width: 100%;\n max-width: 100%;\n min-height: 1px;\n\n padding: calc(var(--ix-layout-grid-gutter) * 0.5);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, forceUpdate, h, Host, Listen, Prop } from '@stencil/core';\nimport { Breakpoint, matchBreakpoint } from '../utils/breakpoints';\n\ntype GridBreakpoint = Breakpoint | '';\n\nexport type ColumnSize =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | '7'\n | '8'\n | '9'\n | '10'\n | '11'\n | '12'\n | 'auto';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-col',\n styleUrl: 'col.scss',\n shadow: true,\n})\nexport class Col {\n static Breakpoints: GridBreakpoint[] = ['', 'sm', 'md', 'lg'];\n\n /**\n * Size of the column\n */\n @Prop() size?: ColumnSize;\n\n /**\n * Size of the column for sm screens\n */\n @Prop() sizeSm?: ColumnSize;\n\n /**\n * Size of the column for md screens\n */\n @Prop() sizeMd?: ColumnSize;\n\n /**\n * Size of the column for lg screens\n */\n @Prop() sizeLg?: ColumnSize;\n\n @Listen('resize', { target: 'window' })\n onResize() {\n forceUpdate(this);\n }\n\n private getSize(breakpoint: GridBreakpoint) {\n if (breakpoint === '') {\n return this.size;\n }\n\n if (breakpoint === 'sm') {\n return this.sizeSm;\n }\n\n if (breakpoint === 'md') {\n return this.sizeMd;\n }\n\n if (breakpoint === 'lg') {\n return this.sizeLg;\n }\n }\n\n private getColumnSize() {\n let size: ColumnSize;\n Col.Breakpoints.forEach((breakpoint) => {\n const isMediaQueryActive =\n breakpoint !== '' ? matchBreakpoint(breakpoint) : true;\n\n if (!isMediaQueryActive) {\n return;\n }\n\n const currentSize = this.getSize(breakpoint);\n\n if (currentSize) {\n size = currentSize;\n }\n });\n\n return size;\n }\n\n private getColumnSizeStyling() {\n const size = this.getColumnSize();\n\n if (!size) {\n return;\n }\n\n if (size === 'auto') {\n return {\n flex: '0 0 auto',\n width: 'auto',\n 'max-width': 'auto',\n };\n }\n\n const colSize = `calc(calc(${size} / var(--ix-layout-grid-columns)) * 100%)`;\n\n return {\n flex: `0 0 ${colSize}`,\n width: `${colSize}`,\n 'max-width': `${colSize}`,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n ...this.getColumnSizeStyling(),\n }}\n >\n <slot></slot>\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 */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: block;\n position: relative;\n width: 22rem;\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .disabled-item {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n cursor: default;\n }\n\n .selector {\n flex-basis: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $tiny-space $default-space;\n\n .dropdown {\n color: var(--theme-menu-item--color);\n font-size: 14px;\n line-height: 20px;\n }\n\n .fontSize {\n font-size: 16px;\n }\n\n .capitalize {\n text-transform: capitalize;\n }\n\n .month-dropdown-item {\n margin-left: 4px;\n margin-right: 4px;\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n }\n }\n\n .arrowYear {\n display: flex;\n position: relative;\n padding: $medium-space $x-large-space;\n align-items: center;\n cursor: pointer;\n\n &:hover {\n background-color: var(--theme-select-list-item--background--hover);\n }\n\n &.selected {\n background-color: var(--theme-select-list-item--background--selected);\n }\n\n .arrowPosition {\n position: absolute;\n left: calc(($x-large-space / 2) - 6px);\n top: calc(50% - 6px);\n }\n\n .checkPosition {\n position: absolute;\n left: calc(($x-large-space / 2) - 6px);\n top: calc(50% - 8px);\n }\n\n .monthMargin {\n margin-left: 10px;\n }\n }\n }\n\n .wrapper {\n display: flex;\n\n .overflow {\n overflow-y: scroll;\n max-height: 250px;\n }\n }\n\n .grid {\n display: grid;\n grid-template-columns: repeat(8, 40px);\n grid-template-rows: repeat(7, 40px);\n align-items: center;\n justify-items: center;\n justify-content: center;\n color: var(--theme-datepicker-today--color);\n\n .calendar-item {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--theme-datepicker-day--background);\n border: 1px solid var(--theme-datepicker-day--background);\n width: 40px;\n height: 40px;\n cursor: pointer;\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n }\n\n &.today {\n border: 1px solid var(--theme-datepicker-today--border-color);\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:active {\n background-color: var(--theme-datepicker-day--background--active);\n }\n\n &.selected {\n box-shadow: inset 0 0 0 1px white;\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--selected-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--selected-disabled\n );\n border: 1px solid\n var(--theme-datepicker-day--background--selected-disabled);\n color: var(--theme-datepicker-day--color--selected-disabled);\n }\n }\n\n &.range {\n background-color: var(--theme-datepicker-day--background--range);\n color: var(--theme-datepicker-day--color--range);\n border: 1px solid var(--theme-datepicker-today--border-color--range);\n box-shadow: inset 0 0 0 1px white;\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--range-hover\n );\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-hover);\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--range-active\n );\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-active);\n }\n\n &.disabled {\n background-color: var(\n --theme-datepicker-day--background--range-disabled\n );\n color: var(--theme-datepicker-day--color--range-disabled);\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-disabled);\n }\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n cursor: default;\n }\n }\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:active {\n background-color: var(--theme-datepicker-day--background--active);\n }\n\n &.selected {\n background-color: var(--theme-datepicker-day--background--selected);\n color: var(--theme-datepicker-day--color--selected);\n border: 1px solid var(--theme-datepicker-day--background--selected);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--selected-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--selected-disabled\n );\n color: var(--theme-datepicker-day--color--selected-disabled);\n }\n }\n\n &.range {\n background-color: var(--theme-datepicker-day--background--range);\n color: var(--theme-datepicker-day--color--range);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--range-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--range-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--range-disabled\n );\n color: var(--theme-datepicker-day--color--range-disabled);\n }\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n }\n\n &.week-day {\n color: var(--theme-datepicker-weekday--color);\n font-size: 12px;\n line-height: 20px;\n border: none;\n background: none;\n cursor: initial;\n }\n\n &.empty-day {\n border: none;\n background: none;\n cursor: initial;\n }\n\n &.week-number {\n font-size: 10px;\n line-height: 14px;\n color: var(--theme-datepicker-weekday--color);\n border: none;\n background: none;\n cursor: initial;\n }\n\n &:focus-visible {\n background-color: var(--theme-datepicker-day--background--selected);\n border: inset 1px solid\n var(--theme-datepicker-day--border-color--selected);\n color: var(--theme-datepicker-day--color--selected);\n font-size: 14px;\n line-height: 20px;\n letter-spacing: 0;\n }\n }\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n }\n\n .hidden {\n display: none;\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 { DateTimeCardCorners } from '../date-time-card/date-time-card';\n\nimport { DateTime, Info } from 'luxon';\nimport { OnListener } from '../utils/listener';\n\nexport type DateChangeEvent = {\n from: string;\n to: string;\n};\n\nexport type DateTimeCorners = DateTimeCardCorners;\n\ninterface CalendarWeek {\n weekNumber: number;\n dayNumbers: number[];\n}\n\n@Component({\n tag: 'ix-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n})\nexport class DatePicker {\n @Element() hostElement: HTMLIxDatePickerElement;\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: string = 'yyyy/LL/dd';\n\n /**\n * If true a date-range can be selected (from/to).\n */\n @Prop() range: boolean = true;\n\n /**\n * Corner style\n */\n @Prop() corners: DateTimeCardCorners = 'rounded';\n\n /**\n * The selected starting date. If the date-picker-rework is not in range mode this is the selected date.\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() from: string | undefined;\n\n @Watch('from')\n watchFromPropHandler(newValue: string) {\n this.currFromDate = newValue\n ? DateTime.fromFormat(newValue, this.format)\n : undefined;\n\n if (this.currFromDate?.isValid) {\n this.selectedYear = this.currFromDate.year;\n this.selectedMonth = this.currFromDate.month - 1;\n }\n }\n\n /**\n * The selected end date. If the the date-picker-rework is not in range mode this property has no impact.\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() to: string | undefined;\n\n @Watch('to')\n watchToPropHandler(newValue: string) {\n this.currToDate = newValue\n ? DateTime.fromFormat(newValue, this.format)\n : undefined;\n\n if (this.currToDate?.isValid) {\n this.selectedYear = this.currToDate.year;\n this.selectedMonth = this.currToDate.month - 1;\n }\n }\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 * @since 1.1.0\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 * @since 1.1.0\n */\n @Prop() maxDate: string;\n\n /**\n * Text of the button that confirms date selection.\n *\n * @since 1.1.0\n * @deprecated since 2.1.0. Use `i18nDone`\n */\n @Prop() textSelectDate: string;\n\n /**\n * Text of date select button\n *\n * @since 2.1.0\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n *\n * @since 2.1.0\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Format of time string\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n *\n * @since 2.1.0\n */\n @Prop() locale: string = undefined;\n @Watch('locale')\n onLocaleChange() {\n this.setTranslations();\n }\n\n /**\n * @deprecated Not supported since 2.0.0.\n */\n @Prop() individual: boolean = true;\n\n /**\n * Default behavior of the done event is to join the two events (date and time) into one combined string output.\n * This combination can be configured over the delimiter\n *\n * @since 1.1.0\n * @deprecated Not used anymore see `this.dateChange`\n */\n @Prop() eventDelimiter = ' - ';\n\n /** @internal */\n @Prop() standaloneAppearance = true;\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * Triggers if the date selection changes.\n * Note: Since 2.0.0 `dateChange` does not dispatch detail property as `string`\n *\n * @since 2.1.0\n */\n @Event() dateChange: EventEmitter<DateChangeEvent>;\n\n /**\n * Triggers if the date selection changes.\n * Only triggered if date-picker-rework is in range mode.\n *\n * @since 2.1.0\n */\n @Event() dateRangeChange: EventEmitter<DateChangeEvent>;\n\n /**\n * Date selection confirmed via button action\n *\n * @since 1.1.0\n */\n @Event() dateSelect: EventEmitter<DateChangeEvent>;\n\n /**\n * Date selection confirmed via button action\n *\n * @deprecated NOT getting dispatched after 2.0.0. Use `dateSelect`.\n */\n @Event() done: EventEmitter<string>;\n\n /**\n * Get the currently selected date-range.\n */\n @Method()\n async getCurrentDate() {\n const _from = this.currFromDate?.isValid\n ? this.currFromDate?.toFormat(this.format)\n : undefined;\n const _to = this.currToDate?.isValid\n ? this.currToDate?.toFormat(this.format)\n : undefined;\n\n if (this.range) {\n return {\n from: _from,\n to: _to,\n };\n }\n\n return {\n from: _from,\n to: undefined,\n };\n }\n\n @State() currFromDate: DateTime;\n @State() currToDate: DateTime;\n\n @State() selectedYear: number;\n @State() tempYear: number;\n @State() startYear: number;\n @State() endYear: number;\n @State() selectedMonth: number;\n @State() tempMonth: number;\n\n @State() dropdownButtonRef: HTMLElement;\n @State() yearContainerRef: HTMLElement;\n\n @State() dayNames: string[];\n @State() monthNames: string[];\n @State() firstMonthRef: HTMLElement;\n @State() focusedDay: number = 1;\n @State() focusedDayElem: HTMLElement;\n\n private isDayFocus: boolean;\n private monthChangedFromFocus: boolean;\n private readonly DAYS_IN_WEEK = 7;\n private calendar: CalendarWeek[];\n\n @OnListener<DatePicker>('keydown')\n handleKeyUp(event: KeyboardEvent) {\n if (!this.isDayFocus) {\n return;\n }\n\n let _focusedDay = this.focusedDay;\n\n switch (event.key) {\n case 'ArrowLeft':\n _focusedDay--;\n break;\n case 'ArrowRight':\n _focusedDay++;\n break;\n case 'ArrowUp':\n _focusedDay = _focusedDay - 7;\n break;\n case 'ArrowDown':\n _focusedDay = _focusedDay + 7;\n break;\n default:\n return;\n }\n\n if (_focusedDay > this.getDaysInCurrentMonth()) {\n _focusedDay = _focusedDay - this.getDaysInCurrentMonth();\n this.changeToAdjacentMonth(1);\n this.monthChangedFromFocus = true;\n } else if (_focusedDay < 1) {\n this.changeToAdjacentMonth(-1);\n _focusedDay = _focusedDay + this.getDaysInCurrentMonth();\n this.monthChangedFromFocus = true;\n }\n\n this.focusedDay = _focusedDay;\n }\n\n private getDaysInCurrentMonth(): number {\n return DateTime.utc(this.selectedYear, this.selectedMonth + 1).daysInMonth;\n }\n\n private getDateTimeNow() {\n return DateTime.fromISO(this.today);\n }\n\n onDayBlur() {\n this.isDayFocus = false;\n }\n\n onDayFocus() {\n this.isDayFocus = true;\n }\n\n componentWillLoad() {\n this.setTranslations();\n\n this.currFromDate = this.from\n ? DateTime.fromFormat(this.from, this.format)\n : undefined;\n this.currToDate = this.to\n ? DateTime.fromFormat(this.to, this.format)\n : undefined;\n\n const year = this.currFromDate?.year ?? this.getDateTimeNow().year;\n this.startYear = year - 5;\n this.endYear = year + 5;\n\n this.selectedMonth =\n (this.currFromDate?.month ?? this.getDateTimeNow().month) - 1;\n this.selectedYear = year;\n this.tempMonth = this.selectedMonth;\n this.tempYear = this.selectedYear;\n }\n\n componentWillRender() {\n this.calculateCalendar();\n }\n\n componentDidRender() {\n if (!this.monthChangedFromFocus && !this.isDayFocus) {\n return;\n }\n\n const dayElem = this.hostElement.shadowRoot.querySelector(\n `[id=day-cell-${this.focusedDay}]`\n ) as HTMLElement;\n dayElem.focus();\n }\n\n private setTranslations() {\n this.dayNames = this.rotateWeekDayNames(\n Info.weekdays('long', {\n locale: this.locale,\n }),\n this.weekStartIndex\n );\n\n this.monthNames = Info.months('long', {\n locale: this.locale,\n });\n }\n\n /**\n * Rotate the WeekdayNames array.\n * Based on the position that should be the new 0-index.\n */\n private rotateWeekDayNames(weekdays: string[], index: number): string[] {\n const clone = [...weekdays];\n\n if (index === 0) {\n return clone;\n }\n\n index = -index;\n const len = weekdays.length;\n\n clone.push(...clone.splice(0, ((-index % len) + len) % len));\n return clone;\n }\n\n private async onDone() {\n const date = await this.getCurrentDate();\n this.dateSelect.emit(date);\n }\n\n private calculateCalendar() {\n const calendar: CalendarWeek[] = [];\n const month = DateTime.utc(this.selectedYear, this.selectedMonth + 1);\n const monthStart = month.startOf('month');\n const monthEnd = month.endOf('month');\n let startWeek = monthStart.weekNumber;\n let endWeek = monthEnd.weekNumber;\n let monthStartWeekDayIndex = monthStart.weekday - 1;\n let monthEndWeekDayIndex = monthEnd.weekday - 1;\n\n if (this.weekStartIndex !== 0) {\n // Find the positions where to start/stop counting the day-numbers based on which day the week starts\n const weekdays = Info.weekdays();\n const monthStartWeekDayName = weekdays[monthStart.weekday];\n\n monthStartWeekDayIndex = this.dayNames.findIndex(\n (d) => d === monthStartWeekDayName\n );\n const monthEndWeekDayName = weekdays[monthEnd.weekday];\n monthEndWeekDayIndex = this.dayNames.findIndex(\n (d) => d === monthEndWeekDayName\n );\n }\n\n let correctLastWeek = false;\n if (endWeek === 1) {\n endWeek = monthEnd.weeksInWeekYear + 1;\n correctLastWeek = true;\n }\n\n let correctFirstWeek = false;\n if (startWeek === monthStart.weeksInWeekYear) {\n startWeek = 1;\n endWeek++;\n\n correctFirstWeek = true;\n }\n\n let currDayNumber = 1;\n for (\n let weekIndex = startWeek;\n weekIndex <= endWeek && currDayNumber <= 31;\n weekIndex++\n ) {\n const daysArr: number[] = [];\n\n for (let j = 0; j < this.DAYS_IN_WEEK && currDayNumber <= 31; j++) {\n // Display empty cells until the calender starts/has ended\n if (\n (weekIndex === startWeek && j < monthStartWeekDayIndex) ||\n (weekIndex === endWeek && j > monthEndWeekDayIndex)\n ) {\n daysArr.push(undefined);\n } else {\n daysArr.push(currDayNumber++);\n }\n }\n\n if (correctFirstWeek || correctLastWeek) {\n if (weekIndex === 1) {\n calendar.push({\n weekNumber: monthStart.weeksInWeekYear,\n dayNumbers: daysArr,\n });\n } else if (weekIndex === monthEnd.weekNumber) {\n calendar.push({\n weekNumber: 1,\n dayNumbers: daysArr,\n });\n } else {\n calendar.push({\n weekNumber: weekIndex - 1,\n dayNumbers: daysArr,\n });\n }\n continue;\n }\n\n calendar.push({\n weekNumber: weekIndex,\n dayNumbers: daysArr,\n });\n }\n\n this.calendar = calendar;\n }\n\n private selectTempYear(event: MouseEvent, year: number) {\n event?.stopPropagation();\n this.tempYear = year;\n }\n\n private focusMonth() {\n this.firstMonthRef.focus();\n }\n\n private infiniteScrollYears() {\n const scroll = this.yearContainerRef.scrollTop;\n const maxScroll = this.yearContainerRef.scrollHeight;\n const atTop = scroll === 0;\n const atBottom =\n Math.round(scroll + this.yearContainerRef.offsetHeight) >= maxScroll;\n const limit = 200;\n\n if (this.endYear - this.startYear > limit) return;\n\n if (atTop) {\n const first = this.yearContainerRef.firstElementChild as HTMLElement;\n this.startYear -= 5;\n this.yearContainerRef.scrollTo(0, first.offsetTop);\n\n return;\n }\n\n if (atBottom) {\n const last = this.yearContainerRef.lastElementChild as HTMLElement;\n this.endYear += 5;\n this.yearContainerRef.scrollTo(0, last.offsetTop);\n }\n }\n\n private selectMonth(month: number) {\n this.selectedMonth = month;\n this.selectedYear = this.tempYear;\n this.tempMonth = month;\n\n this.hostElement.shadowRoot.querySelector('ix-dropdown').show = false;\n }\n\n private changeToAdjacentMonth(number: -1 | 1) {\n if (this.selectedMonth + number < 0) {\n this.selectedYear--;\n this.selectedMonth = 11;\n } else if (this.selectedMonth + number > 11) {\n this.selectedYear++;\n this.selectedMonth = 0;\n } else {\n this.selectedMonth += number;\n }\n }\n\n private selectDay(selectedDay: number) {\n const date = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, selectedDay)\n );\n\n if (!this.range || this.currFromDate === undefined) {\n this.currFromDate = date;\n this.onDateChange();\n\n return;\n }\n\n // Reset the range selection\n if (this.currToDate !== undefined) {\n this.currFromDate = date;\n this.currToDate = undefined;\n this.onDateChange();\n\n return;\n }\n\n // Swap from/to if the second date is before the current date\n if (date < this.currFromDate) {\n this.currToDate = this.currFromDate;\n this.currFromDate = date;\n this.onDateChange();\n\n return;\n }\n\n // Set the range normally\n this.currToDate = date;\n this.onDateChange();\n }\n\n private onDateChange() {\n this.getCurrentDate().then((date) => {\n this.dateChange.emit(date);\n if (this.range) {\n this.dateRangeChange.emit(date);\n }\n });\n }\n\n private getDayClasses(day: number): any {\n if (!day) {\n return;\n }\n\n const todayObj = this.getDateTimeNow();\n const selectedDayObj = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, day)\n );\n\n return {\n 'calendar-item': true,\n 'empty-day': day === undefined,\n today: todayObj.hasSame(selectedDayObj, 'day'),\n selected:\n this.currFromDate?.hasSame(selectedDayObj, 'day') ||\n this.currToDate?.hasSame(selectedDayObj, 'day'),\n range:\n selectedDayObj.startOf('day') > this.currFromDate?.startOf('day') &&\n this.currToDate !== undefined &&\n selectedDayObj.startOf('day') < this.currToDate?.startOf('day'),\n disabled: !this.isWithinMinMaxDate(selectedDayObj),\n };\n }\n\n private isWithinMinMaxYear(year: number): boolean {\n const minDateYear = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format).year\n : undefined;\n const maxDateYear = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format).year\n : undefined;\n const isBefore = minDateYear ? year < minDateYear : false;\n const isAfter = maxDateYear ? year > maxDateYear : false;\n\n return !isBefore && !isAfter;\n }\n\n private isWithinMinMaxMonth(month: number): boolean {\n const minDateObj = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format)\n : undefined;\n const maxDateObj = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format)\n : undefined;\n const minDateMonth = minDateObj?.month;\n const maxDateMonth = maxDateObj?.month;\n const isBefore = minDateMonth\n ? this.tempYear === minDateObj.year && month < minDateMonth\n : false;\n const isAfter = maxDateMonth\n ? this.tempYear === maxDateObj.year && month > maxDateMonth\n : false;\n\n return !isBefore && !isAfter;\n }\n\n private isWithinMinMaxDate(date: DateTime): boolean {\n const _minDate = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format)\n : undefined;\n const _maxDate = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format)\n : undefined;\n const isBefore = _minDate\n ? date.startOf('day') < _minDate.startOf('day')\n : false;\n const isAfter = _maxDate\n ? date.startOf('day') > _maxDate.startOf('day')\n : false;\n\n return !isBefore && !isAfter;\n }\n\n private renderYears(): any[] {\n const rows = [];\n\n for (let year = this.startYear; year <= this.endYear; year++) {\n rows.push(\n <div\n key={year}\n class={{\n arrowYear: true,\n 'month-dropdown-item': true,\n 'disabled-item': !this.isWithinMinMaxYear(year),\n }}\n onClick={(event) => this.selectTempYear(event, year)}\n onKeyUp={(event) => {\n if (event.key === 'Enter') {\n this.selectTempYear(null, year);\n this.focusMonth();\n }\n }}\n tabIndex={0}\n >\n <ix-icon\n class={{\n hidden: this.tempYear !== year,\n arrowPosition: true,\n }}\n name=\"chevron-right\"\n size=\"12\"\n ></ix-icon>\n <div style={{ 'min-width': 'max-content' }}>{`${year}`}</div>\n </div>\n );\n }\n\n return rows;\n }\n\n render() {\n return (\n <Host>\n <ix-date-time-card\n corners={this.corners}\n standaloneAppearance={this.standaloneAppearance}\n >\n <div class=\"header\" slot=\"header\">\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(-1)}\n ghost\n icon=\"chevron-left\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <div class=\"selector\">\n <ix-button ghost ref={(ref) => (this.dropdownButtonRef = ref)}>\n <span class=\"fontSize capitalize\">\n {this.monthNames[this.selectedMonth]} {this.selectedYear}\n </span>\n </ix-button>\n <ix-dropdown\n class=\"dropdown\"\n trigger={this.dropdownButtonRef}\n placement=\"bottom-start\"\n >\n <div class=\"wrapper\">\n <div\n class=\"overflow\"\n onScroll={() => this.infiniteScrollYears()}\n ref={(ref) => (this.yearContainerRef = ref)}\n >\n {this.renderYears()}\n </div>\n <div class=\"overflow\">\n {this.monthNames.map((month, index) => (\n <div\n key={month}\n ref={(ref) => {\n if (month === this.monthNames[0]) {\n this.firstMonthRef = ref as HTMLElement;\n }\n }}\n class={{\n arrowYear: true,\n 'month-dropdown-item': true,\n selected:\n this.tempYear === this.selectedYear &&\n this.tempMonth === index,\n 'disabled-item': !this.isWithinMinMaxMonth(index),\n }}\n onClick={() => this.selectMonth(index)}\n onKeyUp={(event) =>\n event.key === 'Enter' && this.selectMonth(index)\n }\n tabIndex={0}\n >\n <ix-icon\n class={{\n hidden:\n this.tempYear !== this.selectedYear ||\n this.tempMonth !== index,\n checkPosition: true,\n }}\n name=\"single-check\"\n size=\"16\"\n ></ix-icon>\n <div>\n <span class=\"capitalize monthMargin\">{`${month} ${this.tempYear}`}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n </ix-dropdown>\n </div>\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(1)}\n ghost\n icon=\"chevron-right\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n <div class=\"grid\">\n <div class=\"calendar-item week-day\"></div>\n {this.dayNames.map((name) => (\n <div key={name} class=\"calendar-item week-day\">\n {name.slice(0, 3)}\n </div>\n ))}\n {this.calendar.map((week) => {\n return (\n <Fragment>\n <div class=\"calendar-item week-number\">{week.weekNumber}</div>\n {week.dayNumbers.map((day) => (\n <div\n key={day}\n id={`day-cell-${day}`}\n date-calender-day\n class={this.getDayClasses(day)}\n onClick={() => this.selectDay(day)}\n onKeyUp={(e) => e.key === 'Enter' && this.selectDay(day)}\n tabIndex={day === this.focusedDay ? 0 : -1}\n onFocus={() => this.onDayFocus()}\n onBlur={() => this.onDayBlur()}\n >\n {day}\n </div>\n ))}\n </Fragment>\n );\n })}\n </div>\n <div\n class={{\n button: true,\n hidden: !this.range || !this.standaloneAppearance,\n }}\n >\n <ix-button onClick={() => this.onDone()}>\n {this.textSelectDate || this.i18nDone}\n </ix-button>\n </div>\n </ix-date-time-card>\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 */\n:host {\n --ix-layout-grid-gutter: 24px;\n\n display: block;\n flex: 1 1 0%;\n width: 100%;\n\n padding-left: calc(var(--ix-layout-grid-gutter) * 0.5);\n padding-right: calc(var(--ix-layout-grid-gutter) * 0.5);\n}\n\n:host(.no-margin) {\n padding-left: 0;\n padding-right: 0;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-layout-grid',\n styleUrl: 'layout-grid.scss',\n shadow: true,\n})\nexport class LayoutGrid {\n /**\n * The grid will not have any horizontal padding\n */\n @Prop() noMargin = false;\n\n /**\n * Grid gap\n */\n @Prop() gap: '8' | '12' | '16' | '24' = '24';\n\n /**\n * Overwrite the default number of columns. Choose between 2 and 12 columns.\n */\n @Prop() columns = 12;\n\n render() {\n return (\n <Host\n class={{\n 'no-margin': this.noMargin,\n }}\n style={{\n '--ix-layout-grid-columns': `${this.columns}`,\n '--ix-layout-grid-gutter': `${this.gap}px`,\n }}\n >\n <slot></slot>\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 */\n\n:host {\n display: flex;\n flex-wrap: wrap;\n}\n\n:host(:not(:first-of-type)) {\n margin-block-start: var(--ix-layout-grid-row-margin, 0);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host } from '@stencil/core';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-row',\n styleUrl: 'row.scss',\n shadow: true,\n})\nexport class Row {\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t,H as s}from"./p-26e9d40e.js";const o=":host(.keyValueList) ::slotted(ix-key-value){border-bottom:1px solid var(--theme-color-weak-bdr)}:host(.keyValueList.keyValueList--striped) ::slotted(ix-key-value:nth-child(odd)){background:var(--theme-color-ghost-alt)}";const r=o;const a=class{constructor(t){e(this,t);this.striped=undefined}render(){return t(s,{key:"93f8b95ef19267858e92d059f1b2840ecf3a2e5c",class:{keyValueList:true,"keyValueList--striped":this.striped}},t("slot",{key:"7a41ec73e964e56550283fc740bb752e54e09882"}))}};a.style=r;export{a as ix_key_value_list};
2
- //# sourceMappingURL=p-c49701a0.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as o,F as t,H as d,g as l}from"./p-26e9d40e.js";import{a}from"./p-71206084.js";import{a as r}from"./p-4f8ac3bf.js";const n=":host{display:flex;flex-direction:column;border-radius:var(--theme-blind--border-radius);overflow:hidden}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .blind-header-wrapper{position:relative;min-height:3rem;height:3rem;overflow:hidden}:host .blind-header-content{display:flex;position:relative;align-items:center;justify-content:flex-start;width:100%;height:100%;pointer-events:none;padding-left:0.5rem}:host .blind-header-title{display:flex;position:relative;align-items:center;flex-grow:1;margin-right:0.5rem}:host .blind-header{all:unset;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;position:absolute;top:0px;left:0px;pointer-events:all;padding-left:2.5rem;min-height:3rem;height:3rem;width:calc(100% - 2 * var(--theme-blind--border-thickness));border:solid var(--theme-blind--border-thickness) transparent;border-radius:var(--theme-blind--border-radius) var(--theme-blind--border-radius) 0 0;cursor:pointer}:host .blind-header:not(.disabled):not(:disabled):focus-visible{border-color:var(--theme-color-focus-bdr);outline:none}:host .blind-header-title-icon,:host .collapse-icon{margin-right:0.5rem}:host .blind-header-title-row{display:flex;width:100%;overflow:hidden}:host .blind-header-title-col{display:inline-flex;align-items:center;width:calc(100% - 1rem);overflow:hidden}:host .blind-header-title-col:not(:first-of-type){justify-content:flex-end}:host ix-typography{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .blind-header-title-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline-end:0.5rem}:host .blind-header-title-sublabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:0.5rem}:host .blind-header-title{display:flex;align-items:center;flex-grow:1;height:100%;min-width:0}:host .blind-header-labels{display:inline-flex;flex-grow:1;min-width:0}:host .blind-content{display:block;padding:1rem;transition-property:padding;transition-duration:var(--theme-default-time);transition-timing-function:ease-in}:host .blind-content.hide{max-height:0;padding-top:0px;padding-bottom:0px}:host .header-actions{pointer-events:all;margin-left:auto}:host(.blind-alarm){background-color:var(--theme-blind-base--background)}:host(.blind-alarm) .blind-header{background-color:var(--theme-color-alarm)}:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-alarm--hover)}:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-alarm--active)}:host(.blind-alarm) .blind-header-title-label,:host(.blind-alarm) .blind-header-title-sublabel{color:var(--theme-color-alarm--contrast)}:host(.blind-critical){background-color:var(--theme-blind-base--background)}:host(.blind-critical) .blind-header{background-color:var(--theme-color-critical)}:host(.blind-critical) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-critical) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-critical--hover)}:host(.blind-critical) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-critical) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-critical) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-critical--active)}:host(.blind-critical) .blind-header-title-label,:host(.blind-critical) .blind-header-title-sublabel{color:var(--theme-color-critical--contrast)}:host(.blind-info){background-color:var(--theme-blind-base--background)}:host(.blind-info) .blind-header{background-color:var(--theme-color-info)}:host(.blind-info) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-info) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-info--hover)}:host(.blind-info) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-info) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-info) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-info--active)}:host(.blind-info) .blind-header-title-label,:host(.blind-info) .blind-header-title-sublabel{color:var(--theme-color-info--contrast)}:host(.blind-insight){background-color:var(--theme-blind-base--background)}:host(.blind-insight) .blind-header{background-color:var(--theme-color-insight)}:host(.blind-insight) .blind-header:not(.disabled):not(:disabled).hover,:host(.blind-insight) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-ghost--background--hover)}:host(.blind-insight) .blind-header:not(.disabled):not(:disabled).active,:host(.blind-insight) .blind-header:not(.disabled):not(:disabled):active{background-color:var(--theme-ghost--background--active)}:host(.blind-insight) .blind-header-title-label{color:var(--theme-color-std-text)}:host(.blind-insight) .blind-header-title-sublabel{color:var(--theme-color-soft-text)}:host(.blind-neutral){background-color:var(--theme-blind-base--background)}:host(.blind-neutral) .blind-header{background-color:var(--theme-color-neutral)}:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-neutral--hover)}:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-neutral--active)}:host(.blind-neutral) .blind-header-title-label,:host(.blind-neutral) .blind-header-title-sublabel{color:var(--theme-color-neutral--contrast)}:host(.blind-notification){background-color:var(--theme-blind-base--background)}:host(.blind-notification) .blind-header{background-color:var(--theme-color-notification)}:host(.blind-notification) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-notification) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-notification--hover)}:host(.blind-notification) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-notification) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-notification) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-notification--active)}:host(.blind-notification) .blind-header-title-label,:host(.blind-notification) .blind-header-title-sublabel{color:var(--theme-color-notification--contrast)}:host(.blind-success){background-color:var(--theme-blind-base--background)}:host(.blind-success) .blind-header{background-color:var(--theme-color-success)}:host(.blind-success) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-success) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-success--hover)}:host(.blind-success) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-success) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-success) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-success--active)}:host(.blind-success) .blind-header-title-label,:host(.blind-success) .blind-header-title-sublabel{color:var(--theme-color-success--contrast)}:host(.blind-warning){background-color:var(--theme-blind-base--background)}:host(.blind-warning) .blind-header{background-color:var(--theme-color-warning)}:host(.blind-warning) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-warning) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-warning--hover)}:host(.blind-warning) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-warning) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-warning) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-warning--active)}:host(.blind-warning) .blind-header-title-label,:host(.blind-warning) .blind-header-title-sublabel{color:var(--theme-color-warning--contrast)}:host(.blind-primary){background-color:var(--theme-blind-base--background)}:host(.blind-primary) .blind-header{background-color:var(--theme-color-primary)}:host(.blind-primary) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-primary) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-primary--hover)}:host(.blind-primary) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-primary) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-primary) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-primary--active)}:host(.blind-primary) .blind-header-title-label,:host(.blind-primary) .blind-header-title-sublabel{color:var(--theme-color-primary--contrast)}:host(.blind-outline){border:solid var(--theme-blind--border-thickness) var(--theme-blind-base--border-color);border-color:var(--theme-color-soft-bdr)}:host(.blind-outline) .blind-header{background-color:var(--theme-color-ghost)}:host(.blind-outline) .blind-header:not(.disabled):not(:disabled).hover,:host(.blind-outline) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-ghost--background--hover)}:host(.blind-outline) .blind-header:not(.disabled):not(:disabled).active,:host(.blind-outline) .blind-header:not(.disabled):not(:disabled):active{background-color:var(--theme-ghost--background--active)}:host(.blind-outline) .blind-header-title-label{color:var(--theme-color-std-text)}:host(.blind-outline) .blind-header-title-sublabel{color:var(--theme-color-soft-text)}";const s=n;let b=0;const h=class{constructor(o){e(this,o);this.collapsedChange=i(this,"collapsedChange",7);this.blindId=++b;this.collapsed=false;this.label=undefined;this.sublabel=undefined;this.icon=undefined;this.variant="insight"}onHeaderClick(){this.collapsed=!this.collapsed;this.collapsedChange.emit(this.collapsed)}componentDidLoad(){this.animateCollapse(this.collapsed)}get content(){return this.hostElement.shadowRoot.querySelector(".blind-content")}animation(e){this.animateCollapse(e)}animateCollapse(e){if(e){this.rotateChevronRight()}else{this.rotateChevronDown()}}rotateChevronDown(){a({targets:this.chevronRef,duration:150,easing:"easeInOutSine",rotateZ:90});a({targets:this.content,duration:150,easing:"easeInOutSine",opacity:1})}rotateChevronRight(){a({targets:this.chevronRef,duration:150,easing:"easeInOutSine",rotateZ:0});a({targets:this.content,duration:150,easing:"easeInOutSine",opacity:0})}render(){return o(d,{key:"5ec247be84e5612134ffec1e53730f61a214cd0b",class:{[`blind-${this.variant}`]:true}},o("div",{key:"abe3273f7a820cd6481d7f75a174e3c6c332b438",class:"blind-header-wrapper"},o("button",{key:"12a572e7145c435451a8a9cc89f66c50d58d3cca",class:{"blind-header":true,[`blind-${this.variant}`]:true,closed:this.collapsed},type:"button","aria-labelledby":`ix-blind-header-title-${this.blindId}`,"aria-controls":`ix-blind-content-section-${this.blindId}`,"aria-expanded":r(!this.collapsed),onClick:()=>this.onHeaderClick()},o("slot",{key:"11a9cc78537fac060310eeba7f57a147907e2a14",name:"custom-header"})),o("div",{key:"08abe64452f9841fc50951708ffdbb13f594e80b",class:"blind-header-content"},o("ix-icon",{key:"67a41dada571459470153b03247bc7f175c206de",class:"collapse-icon",name:"chevron-right-small",color:this.variant==="insight"||this.variant==="outline"?"color-primary":`color-${this.variant}--contrast`,ref:e=>this.chevronRef=e}),o("div",{key:"6a898defd05378868577745464956fd8ecc67472",class:"blind-header-title",id:`ix-blind-header-title-${this.blindId}`},this.label!==undefined?o(t,null,this.icon&&o("ix-icon",{class:"blind-header-title-icon",name:this.icon,color:this.variant==="insight"||this.variant==="outline"?"color-std-text":`color-${this.variant}--contrast`}),o("div",{class:"blind-header-title-row"},o("div",{class:"blind-header-title-col"},o("ix-typography",{title:this.label,format:"label-lg",bold:true},o("div",{class:"blind-header-title-label",title:this.label},this.label))),this.sublabel&&o("div",{class:"blind-header-title-col"},o("ix-typography",{title:this.sublabel},o("div",{class:"blind-header-title-sublabel"},this.sublabel)))),o("div",{class:"header-actions"},o("slot",{name:"header-actions"}))):null))),o("section",{key:"909fdaeec7732c55c81833e6f0212cea5b2174b0",id:`ix-blind-content-section-${this.blindId}`,"aria-labelledby":`ix-blind-header-title-${this.blindId}`},o("div",{key:"ace2f5a2269acc3d0c2c79a0cf31df6283038bec",class:{"blind-content":true,hide:this.collapsed}},!this.collapsed?o("slot",null):null)))}get hostElement(){return l(this)}static get watchers(){return{collapsed:["animation"]}}};h.style=s;export{h as ix_blind};
2
- //# sourceMappingURL=p-c4d3f089.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["blindCss","IxBlindStyle0","sequentialInstanceId","Blind","constructor","hostRef","this","blindId","onHeaderClick","collapsed","collapsedChange","emit","componentDidLoad","animateCollapse","content","hostElement","shadowRoot","querySelector","animation","isCollapsed","rotateChevronRight","rotateChevronDown","anime","targets","chevronRef","duration","easing","rotateZ","opacity","render","h","Host","key","class","variant","closed","type","a11yBoolean","onClick","name","color","ref","id","label","undefined","Fragment","icon","title","format","bold","sublabel","hide"],"sources":["src/components/blind/blind.scss?tag=ix-blind&encapsulation=shadow","src/components/blind/blind.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n@mixin blind($variant: 'insight') {\n :host(.blind-#{$variant}) {\n @if $variant == 'outline' {\n border: solid\n var(--theme-blind--border-thickness)\n var(--theme-blind-base--border-color);\n }\n\n .blind-header {\n @if $variant == 'outline' {\n background-color: var(--theme-color-ghost);\n } @else {\n background-color: var(--theme-color-#{$variant});\n }\n\n @if $variant == 'insight' or $variant == 'outline' {\n @include ghost-hover-pressed;\n } @else {\n @include hover {\n background-color: var(--theme-color-#{$variant}--hover);\n }\n\n @include active {\n background-color: var(--theme-color-#{$variant}--active);\n }\n }\n }\n\n @if $variant == 'insight' or $variant == 'outline' {\n .blind-header-title-label {\n color: var(--theme-color-std-text);\n }\n .blind-header-title-sublabel {\n color: var(--theme-color-soft-text);\n }\n } @else {\n .blind-header-title-label,\n .blind-header-title-sublabel {\n color: var(--theme-color-#{$variant}--contrast);\n }\n }\n\n @if $variant == 'outline' {\n border-color: var(--theme-color-soft-bdr);\n } @else {\n background-color: var(--theme-blind-base--background);\n }\n }\n}\n\n:host {\n @include ix-component;\n display: flex;\n flex-direction: column;\n border-radius: var(--theme-blind--border-radius);\n overflow: hidden;\n\n .blind-header-wrapper {\n position: relative;\n min-height: 3rem;\n height: 3rem;\n overflow: hidden;\n }\n\n .blind-header-content {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n\n width: 100%;\n height: 100%;\n\n pointer-events: none;\n padding-left: 0.5rem;\n }\n\n .blind-header-title {\n display: flex;\n position: relative;\n align-items: center;\n flex-grow: 1;\n margin-right: 0.5rem;\n }\n\n .blind-header {\n all: unset;\n @include ellipsis;\n\n display: block;\n position: absolute;\n\n top: 0px;\n left: 0px;\n\n pointer-events: all;\n\n padding-left: 2.5rem;\n min-height: 3rem;\n height: 3rem;\n width: calc(100% - 2 * var(--theme-blind--border-thickness));\n border: solid var(--theme-blind--border-thickness) transparent;\n border-radius: var(--theme-blind--border-radius)\n var(--theme-blind--border-radius) 0 0;\n cursor: pointer;\n\n @include focus-visible {\n border-color: var(--theme-color-focus-bdr);\n outline: none;\n }\n }\n\n .blind-header-title-icon,\n .collapse-icon {\n margin-right: $small-space;\n }\n\n .blind-header-title-row {\n display: flex;\n width: 100%;\n overflow: hidden;\n }\n\n .blind-header-title-col {\n display: inline-flex;\n align-items: center;\n width: calc(100% - 1rem);\n overflow: hidden;\n }\n\n .blind-header-title-col:not(:first-of-type) {\n justify-content: flex-end;\n }\n ix-typography {\n flex-grow: 1;\n @include ellipsis;\n }\n\n .blind-header-title-label {\n @include ellipsis;\n padding-inline-end: 0.5rem;\n }\n\n .blind-header-title-sublabel {\n @include ellipsis;\n padding-inline: 0.5rem;\n }\n\n .blind-header-title {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n min-width: 0;\n }\n\n .blind-header-labels {\n display: inline-flex;\n flex-grow: 1;\n min-width: 0;\n }\n\n .blind-content {\n display: block;\n padding: 1rem;\n transition-property: padding;\n transition-duration: var(--theme-default-time);\n transition-timing-function: ease-in;\n\n &.hide {\n max-height: 0;\n padding-top: 0px;\n padding-bottom: 0px;\n }\n }\n\n .header-actions {\n pointer-events: all;\n margin-left: auto;\n }\n}\n\n$blind-variants: (\n alarm,\n critical,\n info,\n insight,\n neutral,\n notification,\n success,\n warning,\n primary,\n outline\n);\n\n@each $variant in $blind-variants {\n @include blind($variant);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { CardVariant } from '../card/card';\nimport { a11yBoolean } from '../utils/a11y';\n\nexport type BlindVariant = CardVariant | 'outline';\n\nlet sequentialInstanceId = 0;\n\n@Component({\n tag: 'ix-blind',\n styleUrl: 'blind.scss',\n shadow: true,\n})\nexport class Blind {\n /**\n * Collapsed state\n */\n @Prop({ mutable: true, reflect: true }) collapsed = false;\n\n /**\n * Label of blind\n */\n @Prop() label: string;\n\n /**\n * Secondary label inside blind header\n * @since 2.0.0\n */\n @Prop() sublabel: string;\n\n /**\n * Optional icon to be displayed next to the header label\n * @since 1.5.0\n */\n @Prop() icon: string;\n\n /**\n * Blind variant\n * @since 2.0.0\n */\n @Prop() variant: BlindVariant = 'insight';\n\n /**\n * Collapsed state changed\n */\n @Event() collapsedChange: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxBlindElement;\n\n private chevronRef: HTMLElement;\n private blindId = ++sequentialInstanceId;\n\n constructor() {}\n\n private onHeaderClick() {\n this.collapsed = !this.collapsed;\n this.collapsedChange.emit(this.collapsed);\n }\n\n componentDidLoad() {\n this.animateCollapse(this.collapsed);\n }\n\n get content() {\n return this.hostElement.shadowRoot.querySelector('.blind-content');\n }\n\n @Watch('collapsed')\n animation(isCollapsed: boolean) {\n this.animateCollapse(isCollapsed);\n }\n\n private animateCollapse(isCollapsed: boolean) {\n if (isCollapsed) {\n this.rotateChevronRight();\n } else {\n this.rotateChevronDown();\n }\n }\n\n private rotateChevronDown() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 90,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 1,\n });\n }\n\n private rotateChevronRight() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 0,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 0,\n });\n }\n\n render() {\n return (\n <Host\n class={{\n [`blind-${this.variant}`]: true,\n }}\n >\n <div class={'blind-header-wrapper'}>\n <button\n class={{\n 'blind-header': true,\n [`blind-${this.variant}`]: true,\n closed: this.collapsed,\n }}\n type=\"button\"\n aria-labelledby={`ix-blind-header-title-${this.blindId}`}\n aria-controls={`ix-blind-content-section-${this.blindId}`}\n aria-expanded={a11yBoolean(!this.collapsed)}\n onClick={() => this.onHeaderClick()}\n >\n <slot name=\"custom-header\"></slot>\n </button>\n\n <div class={'blind-header-content'}>\n <ix-icon\n class=\"collapse-icon\"\n name={'chevron-right-small'}\n color={\n this.variant === 'insight' || this.variant === 'outline'\n ? 'color-primary'\n : `color-${this.variant}--contrast`\n }\n ref={(ref) => (this.chevronRef = ref)}\n ></ix-icon>\n <div\n class=\"blind-header-title\"\n id={`ix-blind-header-title-${this.blindId}`}\n >\n {this.label !== undefined ? (\n <Fragment>\n {this.icon && (\n <ix-icon\n class=\"blind-header-title-icon\"\n name={this.icon}\n color={\n this.variant === 'insight' || this.variant === 'outline'\n ? 'color-std-text'\n : `color-${this.variant}--contrast`\n }\n ></ix-icon>\n )}\n <div class={'blind-header-title-row'}>\n <div class=\"blind-header-title-col\">\n <ix-typography title={this.label} format=\"label-lg\" bold>\n <div\n class=\"blind-header-title-label\"\n title={this.label}\n >\n {this.label}\n </div>\n </ix-typography>\n </div>\n\n {this.sublabel && (\n <div class=\"blind-header-title-col\">\n <ix-typography title={this.sublabel}>\n <div class=\"blind-header-title-sublabel\">\n {this.sublabel}\n </div>\n </ix-typography>\n </div>\n )}\n </div>\n <div class=\"header-actions\">\n <slot name=\"header-actions\"></slot>\n </div>\n </Fragment>\n ) : null}\n </div>\n </div>\n </div>\n <section\n id={`ix-blind-content-section-${this.blindId}`}\n aria-labelledby={`ix-blind-header-title-${this.blindId}`}\n >\n <div\n class={{\n 'blind-content': true,\n hide: this.collapsed,\n }}\n >\n {!this.collapsed ? <slot></slot> : null}\n </div>\n </section>\n </Host>\n );\n }\n}\n"],"mappings":"0IAAA,MAAMA,EAAW,owUACjB,MAAAC,EAAeD,ECyBf,IAAIE,EAAuB,E,MAOdC,EAAK,MAuChB,WAAAC,CAAAC,G,2DAFQC,KAAAC,UAAYL,E,eAjCgC,M,8EAuBpB,S,CAcxB,aAAAM,GACNF,KAAKG,WAAaH,KAAKG,UACvBH,KAAKI,gBAAgBC,KAAKL,KAAKG,U,CAGjC,gBAAAG,GACEN,KAAKO,gBAAgBP,KAAKG,U,CAG5B,WAAIK,GACF,OAAOR,KAAKS,YAAYC,WAAWC,cAAc,iB,CAInD,SAAAC,CAAUC,GACRb,KAAKO,gBAAgBM,E,CAGf,eAAAN,CAAgBM,GACtB,GAAIA,EAAa,CACfb,KAAKc,oB,KACA,CACLd,KAAKe,mB,EAID,iBAAAA,GACNC,EAAM,CACJC,QAASjB,KAAKkB,WACdC,SAAU,IACVC,OAAQ,gBACRC,QAAS,KAEXL,EAAM,CACJC,QAASjB,KAAKQ,QACdW,SAAU,IACVC,OAAQ,gBACRE,QAAS,G,CAIL,kBAAAR,GACNE,EAAM,CACJC,QAASjB,KAAKkB,WACdC,SAAU,IACVC,OAAQ,gBACRC,QAAS,IAEXL,EAAM,CACJC,QAASjB,KAAKQ,QACdW,SAAU,IACVC,OAAQ,gBACRE,QAAS,G,CAIb,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,CAAC,SAAS3B,KAAK4B,WAAY,OAG7BJ,EAAA,OAAAE,IAAA,2CAAKC,MAAO,wBACVH,EAAA,UAAAE,IAAA,2CACEC,MAAO,CACL,eAAgB,KAChB,CAAC,SAAS3B,KAAK4B,WAAY,KAC3BC,OAAQ7B,KAAKG,WAEf2B,KAAK,SAAQ,kBACI,yBAAyB9B,KAAKC,UAAS,gBACzC,4BAA4BD,KAAKC,UAAS,gBAC1C8B,GAAa/B,KAAKG,WACjC6B,QAAS,IAAMhC,KAAKE,iBAEpBsB,EAAA,QAAAE,IAAA,2CAAMO,KAAK,mBAGbT,EAAA,OAAAE,IAAA,2CAAKC,MAAO,wBACVH,EAAA,WAAAE,IAAA,2CACEC,MAAM,gBACNM,KAAM,sBACNC,MACElC,KAAK4B,UAAY,WAAa5B,KAAK4B,UAAY,UAC3C,gBACA,SAAS5B,KAAK4B,oBAEpBO,IAAMA,GAASnC,KAAKkB,WAAaiB,IAEnCX,EAAA,OAAAE,IAAA,2CACEC,MAAM,qBACNS,GAAI,yBAAyBpC,KAAKC,WAEjCD,KAAKqC,QAAUC,UACdd,EAACe,EAAQ,KACNvC,KAAKwC,MACJhB,EAAA,WACEG,MAAM,0BACNM,KAAMjC,KAAKwC,KACXN,MACElC,KAAK4B,UAAY,WAAa5B,KAAK4B,UAAY,UAC3C,iBACA,SAAS5B,KAAK4B,sBAIxBJ,EAAA,OAAKG,MAAO,0BACVH,EAAA,OAAKG,MAAM,0BACTH,EAAA,iBAAeiB,MAAOzC,KAAKqC,MAAOK,OAAO,WAAWC,KAAI,MACtDnB,EAAA,OACEG,MAAM,2BACNc,MAAOzC,KAAKqC,OAEXrC,KAAKqC,SAKXrC,KAAK4C,UACJpB,EAAA,OAAKG,MAAM,0BACTH,EAAA,iBAAeiB,MAAOzC,KAAK4C,UACzBpB,EAAA,OAAKG,MAAM,+BACR3B,KAAK4C,aAMhBpB,EAAA,OAAKG,MAAM,kBACTH,EAAA,QAAMS,KAAK,qBAGb,QAIVT,EAAA,WAAAE,IAAA,2CACEU,GAAI,4BAA4BpC,KAAKC,UAAS,kBAC7B,yBAAyBD,KAAKC,WAE/CuB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,gBAAiB,KACjBkB,KAAM7C,KAAKG,aAGXH,KAAKG,UAAYqB,EAAA,aAAgB,O"}
@@ -1,2 +0,0 @@
1
- import{r as o,c as e,h as t,H as r,g as n}from"./p-26e9d40e.js";import{B as i}from"./p-16826ff7.js";import{a as s}from"./p-4f8ac3bf.js";import"./p-16d378f3.js";const a=":host{display:inline-block;height:2rem;vertical-align:middle;cursor:pointer;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.429em;color:var(--theme-color-std-text)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host button{all:unset;box-sizing:border-box;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;align-items:center;justify-content:center;width:100%;height:100%;padding:0 0.5rem}:host ix-spinner{margin-right:0.25rem}:host ix-icon{margin-right:0.25rem}:host .content{display:inline-block;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .content-start{width:100%}:host .icon{pointer-events:none}:host(.disabled){cursor:default}*,*::after,*::before{box-sizing:border-box}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar{width:0.5rem;height:0.5rem}::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}::-webkit-scrollbar-corner{display:none}:host .btn-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-primary,:host .btn-primary.focus,:host .btn-primary:focus-visible{background-color:var(--theme-btn-primary--background);color:var(--theme-btn-primary--color);--ix-button-color:var(--theme-btn-primary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-primary--border-color);border-style:solid}:host .btn-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary.selected:not(.disabled):not(:disabled):active,:host .btn-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-primary--border-color--hover);background-color:var(--theme-btn-primary--background--hover);color:var(--theme-btn-primary--color--hover)}:host .btn-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary:not(.disabled):not(:disabled):active,:host .btn-primary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-primary--border-color--active);background-color:var(--theme-btn-primary--background--active);color:var(--theme-btn-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-primary.disabled,:host(.disabled) .btn-primary:disabled{pointer-events:none;border-color:var(--theme-btn-primary--border-color--disabled);background-color:var(--theme-btn-primary--background--disabled);color:var(--theme-btn-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-primary--color--disabled)}:host .btn-outline-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-outline-primary,:host .btn-outline-primary.focus,:host .btn-outline-primary:focus-visible{background-color:var(--theme-btn-outline-primary--background);color:var(--theme-btn-outline-primary--color);--ix-button-color:var(--theme-btn-outline-primary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-outline-primary--border-color);border-style:solid}:host .btn-outline-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-outline-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-outline-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-outline-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary.selected:not(.disabled):not(:disabled):active,:host .btn-outline-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-outline-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-outline-primary--border-color--hover);background-color:var(--theme-btn-outline-primary--background--hover);color:var(--theme-btn-outline-primary--color--hover)}:host .btn-outline-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary:not(.disabled):not(:disabled):active,:host .btn-outline-primary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-outline-primary--border-color--active);background-color:var(--theme-btn-outline-primary--background--active);color:var(--theme-btn-outline-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-outline-primary.disabled,:host(.disabled) .btn-outline-primary:disabled{pointer-events:none;border-color:var(--theme-btn-outline-primary--border-color--disabled);background-color:var(--theme-btn-outline-primary--background--disabled);color:var(--theme-btn-outline-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-outline-primary--color--disabled)}:host .btn-invisible-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-invisible-primary,:host .btn-invisible-primary.focus,:host .btn-invisible-primary:focus-visible{background-color:var(--theme-btn-invisible-primary--background);color:var(--theme-btn-invisible-primary--color);--ix-button-color:var(--theme-btn-invisible-primary--color);border-color:transparent}:host .btn-invisible-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-invisible-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled):active,:host .btn-invisible-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-invisible-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary:not(.disabled):not(:disabled):hover{background-color:var(--theme-btn-invisible-primary--background--hover);color:var(--theme-btn-invisible-primary--color--hover)}:host .btn-invisible-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary:not(.disabled):not(:disabled):active,:host .btn-invisible-primary:not(.disabled):not(:disabled).active{background-color:var(--theme-btn-invisible-primary--background--active);color:var(--theme-btn-invisible-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-invisible-primary.disabled,:host(.disabled) .btn-invisible-primary:disabled{pointer-events:none;background-color:var(--theme-btn-invisible-primary--background--disabled);color:var(--theme-btn-invisible-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-invisible-primary--color--disabled)}:host .btn-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-secondary,:host .btn-secondary.focus,:host .btn-secondary:focus-visible{background-color:var(--theme-btn-secondary--background);color:var(--theme-btn-secondary--color);--ix-button-color:var(--theme-btn-secondary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-secondary--border-color);border-style:solid}:host .btn-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-secondary--border-color--hover);background-color:var(--theme-btn-secondary--background--hover);color:var(--theme-btn-secondary--color--hover)}:host .btn-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary:not(.disabled):not(:disabled):active,:host .btn-secondary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-secondary--border-color--active);background-color:var(--theme-btn-secondary--background--active);color:var(--theme-btn-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-secondary.disabled,:host(.disabled) .btn-secondary:disabled{pointer-events:none;border-color:var(--theme-btn-secondary--border-color--disabled);background-color:var(--theme-btn-secondary--background--disabled);color:var(--theme-btn-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-secondary--color--disabled)}:host .btn-outline-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-outline-secondary,:host .btn-outline-secondary.focus,:host .btn-outline-secondary:focus-visible{background-color:var(--theme-btn-outline-secondary--background);color:var(--theme-btn-outline-secondary--color);--ix-button-color:var(--theme-btn-outline-secondary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-outline-secondary--border-color);border-style:solid}:host .btn-outline-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-outline-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-outline-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-outline-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-outline-secondary--border-color--hover);background-color:var(--theme-btn-outline-secondary--background--hover);color:var(--theme-btn-outline-secondary--color--hover)}:host .btn-outline-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary:not(.disabled):not(:disabled):active,:host .btn-outline-secondary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-outline-secondary--border-color--active);background-color:var(--theme-btn-outline-secondary--background--active);color:var(--theme-btn-outline-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-outline-secondary.disabled,:host(.disabled) .btn-outline-secondary:disabled{pointer-events:none;border-color:var(--theme-btn-outline-secondary--border-color--disabled);background-color:var(--theme-btn-outline-secondary--background--disabled);color:var(--theme-btn-outline-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-outline-secondary--color--disabled)}:host .btn-invisible-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-invisible-secondary,:host .btn-invisible-secondary.focus,:host .btn-invisible-secondary:focus-visible{background-color:var(--theme-btn-invisible-secondary--background);color:var(--theme-btn-invisible-secondary--color);--ix-button-color:var(--theme-btn-invisible-secondary--color);border-color:transparent}:host .btn-invisible-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-invisible-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary:not(.disabled):not(:disabled):hover{background-color:var(--theme-btn-invisible-secondary--background--hover);color:var(--theme-btn-invisible-secondary--color--hover)}:host .btn-invisible-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary:not(.disabled):not(:disabled):active,:host .btn-invisible-secondary:not(.disabled):not(:disabled).active{background-color:var(--theme-btn-invisible-secondary--background--active);color:var(--theme-btn-invisible-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-invisible-secondary.disabled,:host(.disabled) .btn-invisible-secondary:disabled{pointer-events:none;background-color:var(--theme-btn-invisible-secondary--background--disabled);color:var(--theme-btn-invisible-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-invisible-secondary--color--disabled)}:host{display:inline-flex;justify-content:center;align-items:center}:host button{width:100%;height:100%;overflow:hidden;padding:0}:host button.btn-oval{border-radius:6.25rem}:host ix-icon{color:var(--ix-icon-button-color, currentColor);margin:0}:host ix-spinner{margin:0}:host(.btn-icon-12){height:1rem;width:1rem;min-width:1rem;min-height:1rem}:host(.btn-icon-16){height:1.5rem;width:1.5rem;min-width:1.5rem;min-height:1.5rem}:host(.btn-icon-32){height:2rem;width:2rem;min-width:2rem;min-height:2rem}:host(.btn-icon-12) ix-spinner{height:12px;width:12px}:host(.btn-icon-16) ix-spinner{height:16px;width:16px}:host(.btn-icon-32) ix-spinner{height:24px;width:24px}";const d=a;const l=class{constructor(t){o(this,t);this.pressedChange=e(this,"pressedChange",7);this.variant="secondary";this.outline=false;this.ghost=false;this.icon=undefined;this.pressed=false;this.size="24";this.disabled=false;this.loading=false}isIllegalToggleButtonConfig(){return this.variant==="primary"&&(this.outline||this.ghost)}logIllegalConfig(){console.warn('iX toggle button with illegal configuration detected. Variant "primary" can only be combined with "outline" or "ghost".')}onVariantChange(){if(this.isIllegalToggleButtonConfig()){this.logIllegalConfig()}}onGhostChange(){this.onVariantChange()}onOutlineChange(){this.onVariantChange()}componentDidLoad(){this.onVariantChange()}dispatchPressedChange(){this.pressedChange.emit(!this.pressed)}getIconSizeClass(){return{"btn-icon-12":this.size==="12","btn-icon-16":this.size==="16","btn-icon-32":this.size==="24"}}render(){const o={variant:this.variant,outline:this.outline,ghost:this.ghost,iconOnly:true,iconOval:false,selected:this.pressed,disabled:this.disabled||this.loading,icon:this.icon,iconSize:this.size,loading:this.loading,onClick:()=>this.dispatchPressedChange(),type:"button",ariaAttributes:{"aria-pressed":s(this.pressed)},extraClasses:Object.assign({"icon-button":true},this.getIconSizeClass())};console.log(o,this.disabled,this.loading);return t(r,{key:"d36e5f7e9bad1ea53f65d5b2b805f69e4e76e4b0",class:Object.assign(Object.assign({},this.getIconSizeClass()),{disabled:this.disabled||this.loading})},t(i,Object.assign({key:"1e19be2923cec5d80bb27cc96ef50caf267bcd70"},o)))}get hostElement(){return n(this)}static get watchers(){return{variant:["onVariantChange"],ghost:["onGhostChange"],outline:["onOutlineChange"]}}};l.style=d;export{l as ix_icon_toggle_button};
2
- //# sourceMappingURL=p-c89a070a.entry.js.map