@siemens/ix 0.0.0-pr-2155-20250929074944 → 0.0.0-pr-2166-20251001083917

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 (771) hide show
  1. package/components/index.js +1 -1
  2. package/components/index.js.map +1 -1
  3. package/components/ix-action-card.js +1 -1
  4. package/components/ix-application-header.js +1 -1
  5. package/components/ix-application-switch-modal.js +4 -4
  6. package/components/ix-application.js +1 -1
  7. package/components/ix-avatar.js +1 -1
  8. package/components/ix-basic-navigation.js +6 -6
  9. package/components/ix-blind.js +1 -1
  10. package/components/ix-breadcrumb-item.js +1 -1
  11. package/components/ix-breadcrumb.js +9 -9
  12. package/components/ix-breadcrumb.js.map +1 -1
  13. package/components/ix-card-list.js +8 -8
  14. package/components/ix-card-list.js.map +1 -1
  15. package/components/ix-category-filter.js +14 -23
  16. package/components/ix-category-filter.js.map +1 -1
  17. package/components/ix-checkbox-group.js +4 -4
  18. package/components/ix-checkbox.js +1 -1
  19. package/components/ix-chip.js +12 -13
  20. package/components/ix-chip.js.map +1 -1
  21. package/components/ix-content-header.js +2 -2
  22. package/components/ix-custom-field.js +4 -4
  23. package/components/ix-date-dropdown.js +18 -18
  24. package/components/ix-date-dropdown.js.map +1 -1
  25. package/components/ix-date-input.js +10 -10
  26. package/components/ix-date-input.js.map +1 -1
  27. package/components/ix-date-picker.js +1 -1
  28. package/components/ix-date-time-card.js +1 -1
  29. package/components/ix-datetime-picker.js +12 -33
  30. package/components/ix-datetime-picker.js.map +1 -1
  31. package/components/ix-drawer.js +7 -6
  32. package/components/ix-drawer.js.map +1 -1
  33. package/components/ix-dropdown-button.js +2 -2
  34. package/components/ix-dropdown-header.js +1 -1
  35. package/components/ix-dropdown.js +1 -1
  36. package/components/ix-empty-state.js +1 -1
  37. package/components/ix-event-list.js +4 -4
  38. package/components/ix-event-list.js.map +1 -1
  39. package/components/ix-expanding-search.js +1 -1
  40. package/components/ix-field-label.js +1 -1
  41. package/components/ix-field-wrapper.js +1 -1
  42. package/components/ix-filter-chip.js +1 -1
  43. package/components/ix-flip-tile.js +1 -1
  44. package/components/ix-group-context-menu.js +1 -1
  45. package/components/ix-group-item.js +1 -1
  46. package/components/ix-group.js +23 -23
  47. package/components/ix-group.js.map +1 -1
  48. package/components/ix-helper-text.js +2 -2
  49. package/components/ix-icon-button.js +1 -1
  50. package/components/ix-icon-toggle-button.js +1 -1
  51. package/components/ix-input.js +9 -9
  52. package/components/ix-key-value-list.js +1 -1
  53. package/components/ix-key-value.js +1 -1
  54. package/components/ix-kpi.js +3 -3
  55. package/components/ix-layout-auto.js +1 -1
  56. package/components/ix-layout-grid.js +1 -1
  57. package/components/ix-link-button.js +3 -3
  58. package/components/ix-map-navigation-overlay.js +1 -1
  59. package/components/ix-map-navigation.js +9 -8
  60. package/components/ix-map-navigation.js.map +1 -1
  61. package/components/ix-menu-about-item.js +1 -1
  62. package/components/ix-menu-about-news.js +8 -8
  63. package/components/ix-menu-about-news.js.map +1 -1
  64. package/components/ix-menu-about.js +2 -2
  65. package/components/ix-menu-avatar-item.js +1 -1
  66. package/components/ix-menu-avatar.js +12 -12
  67. package/components/ix-menu-avatar.js.map +1 -1
  68. package/components/ix-menu-category.js +9 -9
  69. package/components/ix-menu-expand-icon.js +1 -1
  70. package/components/ix-menu-item.js +1 -1
  71. package/components/ix-menu-settings-item.js +1 -1
  72. package/components/ix-menu-settings.js +1 -1
  73. package/components/ix-menu.js +29 -29
  74. package/components/ix-menu.js.map +1 -1
  75. package/components/ix-message-bar.js +6 -8
  76. package/components/ix-message-bar.js.map +1 -1
  77. package/components/ix-modal-content.js +1 -1
  78. package/components/ix-modal-footer.js +1 -1
  79. package/components/ix-modal-header.js +1 -1
  80. package/components/ix-modal-loading.js +1 -1
  81. package/components/ix-modal.js +16 -16
  82. package/components/ix-modal.js.map +1 -1
  83. package/components/ix-number-input.js +11 -11
  84. package/components/ix-pagination.js +20 -21
  85. package/components/ix-pagination.js.map +1 -1
  86. package/components/ix-pane-layout.js +1 -1
  87. package/components/ix-pane.js +3 -3
  88. package/components/ix-pill.js +2 -2
  89. package/components/ix-progress-indicator.js +2 -2
  90. package/components/ix-push-card.js +5 -5
  91. package/components/ix-push-card.js.map +1 -1
  92. package/components/ix-radio-group.js +4 -4
  93. package/components/ix-radio.js +1 -1
  94. package/components/ix-select.js +1 -1
  95. package/components/ix-slider.js +3 -3
  96. package/components/ix-slider.js.map +1 -1
  97. package/components/ix-split-button.js +2 -2
  98. package/components/ix-textarea.js +6 -6
  99. package/components/ix-time-input.js +9 -9
  100. package/components/ix-time-input.js.map +1 -1
  101. package/components/ix-time-picker.js +1 -1
  102. package/components/ix-toast-container.js +8 -8
  103. package/components/ix-toast-container.js.map +1 -1
  104. package/components/ix-toast.js +1 -1
  105. package/components/ix-toggle.js +4 -4
  106. package/components/ix-tooltip.js +1 -1
  107. package/components/ix-tree-item.js +1 -1
  108. package/components/ix-tree.js +2 -2
  109. package/components/ix-typography.js +1 -1
  110. package/components/ix-upload.js +5 -5
  111. package/components/ix-upload.js.map +1 -1
  112. package/components/ix-workflow-step.js +3 -3
  113. package/components/ix-workflow-steps.js +1 -1
  114. package/components/{p-BFuOBAQB.js → p-7-Wnr7e5.js} +6 -12
  115. package/components/p-7-Wnr7e5.js.map +1 -0
  116. package/components/{p-DG42PUVX.js → p-BLcKiU45.js} +3 -3
  117. package/components/{p-DG42PUVX.js.map → p-BLcKiU45.js.map} +1 -1
  118. package/components/{p-DJ6v85WG.js → p-BNYHD56q.js} +23 -23
  119. package/components/p-BNYHD56q.js.map +1 -0
  120. package/components/{p-Dauav1c7.js → p-BU9xngEb.js} +7 -7
  121. package/components/{p-Dauav1c7.js.map → p-BU9xngEb.js.map} +1 -1
  122. package/components/{p-DRlGkOeX.js → p-Ba6JlSP8.js} +5 -5
  123. package/components/{p-DRlGkOeX.js.map → p-Ba6JlSP8.js.map} +1 -1
  124. package/components/{p-BSiqAMAr.js → p-Baga5bu5.js} +6 -6
  125. package/components/{p-BSiqAMAr.js.map → p-Baga5bu5.js.map} +1 -1
  126. package/components/{p-B3IsQckh.js → p-Bc15ecXv.js} +12 -12
  127. package/components/p-Bc15ecXv.js.map +1 -0
  128. package/components/{p-CGPMGyof.js → p-BmLRwuMH.js} +5 -6
  129. package/components/p-BmLRwuMH.js.map +1 -0
  130. package/components/{p-B5cVFUyk.js → p-BruPthTZ.js} +15 -69
  131. package/components/p-BruPthTZ.js.map +1 -0
  132. package/components/{p-BrgHqrnH.js → p-C4MK63gz.js} +3 -3
  133. package/components/{p-BrgHqrnH.js.map → p-C4MK63gz.js.map} +1 -1
  134. package/components/{p-CrIOsOo-.js → p-C8wXJCK3.js} +3 -3
  135. package/components/{p-CrIOsOo-.js.map → p-C8wXJCK3.js.map} +1 -1
  136. package/components/{p-GkRC08qs.js → p-CfOUCcs9.js} +3 -3
  137. package/components/{p-GkRC08qs.js.map → p-CfOUCcs9.js.map} +1 -1
  138. package/{dist/esm/floating-ui.dom-CAqtPJ4-.js → components/p-CiSM2A9Q.js} +102 -3
  139. package/components/p-CiSM2A9Q.js.map +1 -0
  140. package/components/{p-BpW9tS2k.js → p-Cx5H0GeI.js} +21 -21
  141. package/components/p-Cx5H0GeI.js.map +1 -0
  142. package/components/{p-C3irznVN.js → p-D3ZlTDAF.js} +3 -3
  143. package/components/{p-C3irznVN.js.map → p-D3ZlTDAF.js.map} +1 -1
  144. package/components/{p-CwwKrs4u.js → p-DE74-VWH.js} +9 -9
  145. package/components/p-DE74-VWH.js.map +1 -0
  146. package/components/{p-Bquk45CV.js → p-DLcItN6d.js} +3 -3
  147. package/components/{p-Bquk45CV.js.map → p-DLcItN6d.js.map} +1 -1
  148. package/components/{p-BybP_RcT.js → p-DOGuJxKg.js} +5 -5
  149. package/components/{p-BybP_RcT.js.map → p-DOGuJxKg.js.map} +1 -1
  150. package/components/{p-DZNnQyWO.js → p-DSF854K6.js} +3 -4
  151. package/components/p-DSF854K6.js.map +1 -0
  152. package/components/p-DVPJHakC.js +78 -0
  153. package/components/p-DVPJHakC.js.map +1 -0
  154. package/components/{p-C-7UhkWz.js → p-DaR6pX8w.js} +8 -8
  155. package/components/{p-C-7UhkWz.js.map → p-DaR6pX8w.js.map} +1 -1
  156. package/components/{p-8MS-omi7.js → p-DklPCkRW.js} +3 -3
  157. package/components/{p-8MS-omi7.js.map → p-DklPCkRW.js.map} +1 -1
  158. package/components/{p-BeegOhta.js → p-Fbu6eUjk.js} +4 -4
  159. package/components/{p-BeegOhta.js.map → p-Fbu6eUjk.js.map} +1 -1
  160. package/components/{p-ma_KYqKk.js → p-bBkFZC8X.js} +3 -3
  161. package/components/{p-ma_KYqKk.js.map → p-bBkFZC8X.js.map} +1 -1
  162. package/components/{p-CzzcLSmV.js → p-gkooEHol.js} +4 -4
  163. package/components/p-gkooEHol.js.map +1 -0
  164. package/components/{p-ClGItuSn.js → p-ts3VxLYi.js} +5 -5
  165. package/components/{p-ClGItuSn.js.map → p-ts3VxLYi.js.map} +1 -1
  166. package/components/{p-CMk-tLmg.js → p-uiKHewyI.js} +4 -4
  167. package/components/{p-CMk-tLmg.js.map → p-uiKHewyI.js.map} +1 -1
  168. package/components/{p-fDEynhA5.js → p-w319yPRv.js} +5 -5
  169. package/components/{p-fDEynhA5.js.map → p-w319yPRv.js.map} +1 -1
  170. package/dist/cjs/{floating-ui.dom-CMzYsRR7.js → find-element-BNZJcvT8.js} +103 -2
  171. package/dist/cjs/find-element-BNZJcvT8.js.map +1 -0
  172. package/dist/cjs/index-DuDLgBnw.js +0 -8
  173. package/dist/cjs/index.cjs.js +1 -1
  174. package/dist/cjs/index.cjs.js.map +1 -1
  175. package/dist/cjs/ix-application-header.cjs.entry.js +1 -1
  176. package/dist/cjs/ix-application.cjs.entry.js +1 -1
  177. package/dist/cjs/ix-avatar.ix-menu-avatar-item.entry.cjs.js.map +1 -1
  178. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  179. package/dist/cjs/ix-basic-navigation.cjs.entry.js +1 -1
  180. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +7 -7
  181. package/dist/cjs/ix-breadcrumb-item.entry.cjs.js.map +1 -1
  182. package/dist/cjs/ix-breadcrumb.cjs.entry.js +6 -6
  183. package/dist/cjs/ix-breadcrumb.entry.cjs.js.map +1 -1
  184. package/dist/cjs/ix-card-list.cjs.entry.js +4 -4
  185. package/dist/cjs/ix-card-list.entry.cjs.js.map +1 -1
  186. package/dist/cjs/ix-category-filter.cjs.entry.js +9 -17
  187. package/dist/cjs/ix-category-filter.entry.cjs.js.map +1 -1
  188. package/dist/cjs/ix-chip.cjs.entry.js +8 -9
  189. package/dist/cjs/ix-chip.entry.cjs.js.map +1 -1
  190. package/dist/cjs/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.cjs.js.map +1 -1
  191. package/dist/cjs/ix-col_4.cjs.entry.js +18 -18
  192. package/dist/cjs/ix-date-dropdown.cjs.entry.js +11 -11
  193. package/dist/cjs/ix-date-dropdown.entry.cjs.js.map +1 -1
  194. package/dist/cjs/ix-date-input.cjs.entry.js +2 -2
  195. package/dist/cjs/ix-date-input.entry.cjs.js.map +1 -1
  196. package/dist/cjs/ix-date-time-card.cjs.entry.js +3 -8
  197. package/dist/cjs/ix-date-time-card.entry.cjs.js.map +1 -1
  198. package/dist/cjs/ix-datetime-picker.cjs.entry.js +3 -21
  199. package/dist/cjs/ix-datetime-picker.entry.cjs.js.map +1 -1
  200. package/dist/cjs/ix-drawer.cjs.entry.js +6 -5
  201. package/dist/cjs/ix-drawer.entry.cjs.js.map +1 -1
  202. package/dist/cjs/ix-dropdown.cjs.entry.js +7 -8
  203. package/dist/cjs/ix-dropdown.entry.cjs.js.map +1 -1
  204. package/dist/cjs/ix-event-list.cjs.entry.js +4 -4
  205. package/dist/cjs/ix-event-list.entry.cjs.js.map +1 -1
  206. package/dist/cjs/ix-group-context-menu.ix-group-item.entry.cjs.js.map +1 -1
  207. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +18 -5
  208. package/dist/cjs/ix-group.cjs.entry.js +18 -18
  209. package/dist/cjs/ix-group.entry.cjs.js.map +1 -1
  210. package/dist/cjs/ix-helper-text.cjs.entry.js +1 -1
  211. package/dist/cjs/ix-icon-button.ix-spinner.entry.cjs.js.map +1 -1
  212. package/dist/cjs/ix-icon-button_2.cjs.entry.js +1 -1
  213. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
  214. package/dist/cjs/ix-input.cjs.entry.js +4 -4
  215. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  216. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  217. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  218. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  219. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  220. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  221. package/dist/cjs/ix-map-navigation.cjs.entry.js +3 -2
  222. package/dist/cjs/ix-map-navigation.entry.cjs.js.map +1 -1
  223. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  224. package/dist/cjs/ix-menu-about-news.cjs.entry.js +5 -5
  225. package/dist/cjs/ix-menu-about-news.entry.cjs.js.map +1 -1
  226. package/dist/cjs/ix-menu-avatar.cjs.entry.js +5 -5
  227. package/dist/cjs/ix-menu-avatar.entry.cjs.js.map +1 -1
  228. package/dist/cjs/ix-menu-category.cjs.entry.js +5 -5
  229. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  230. package/dist/cjs/ix-menu-item.cjs.entry.js +4 -4
  231. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  232. package/dist/cjs/ix-menu.cjs.entry.js +18 -17
  233. package/dist/cjs/ix-menu.entry.cjs.js.map +1 -1
  234. package/dist/cjs/ix-message-bar.cjs.entry.js +4 -6
  235. package/dist/cjs/ix-message-bar.entry.cjs.js.map +1 -1
  236. package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
  237. package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
  238. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  239. package/dist/cjs/ix-modal.cjs.entry.js +13 -13
  240. package/dist/cjs/ix-modal.entry.cjs.js.map +1 -1
  241. package/dist/cjs/ix-number-input.cjs.entry.js +6 -6
  242. package/dist/cjs/ix-pagination.cjs.entry.js +8 -9
  243. package/dist/cjs/ix-pagination.entry.cjs.js.map +1 -1
  244. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  245. package/dist/cjs/ix-pane.cjs.entry.js +1 -1
  246. package/dist/cjs/ix-push-card.cjs.entry.js +3 -3
  247. package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
  248. package/dist/cjs/ix-select.cjs.entry.js +8 -8
  249. package/dist/cjs/ix-select.entry.cjs.js.map +1 -1
  250. package/dist/cjs/ix-slider.cjs.entry.js +1 -1
  251. package/dist/cjs/ix-slider.entry.cjs.js.map +1 -1
  252. package/dist/cjs/ix-textarea.cjs.entry.js +2 -2
  253. package/dist/cjs/ix-time-input.cjs.entry.js +1 -1
  254. package/dist/cjs/ix-time-input.entry.cjs.js.map +1 -1
  255. package/dist/cjs/ix-time-picker.cjs.entry.js +10 -58
  256. package/dist/cjs/ix-time-picker.entry.cjs.js.map +1 -1
  257. package/dist/cjs/ix-toast-container.cjs.entry.js +5 -5
  258. package/dist/cjs/ix-toast-container.entry.cjs.js.map +1 -1
  259. package/dist/cjs/ix-toast.cjs.entry.js +4 -4
  260. package/dist/cjs/ix-toast.entry.cjs.js.map +1 -1
  261. package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
  262. package/dist/cjs/ix-tooltip.cjs.entry.js +9 -10
  263. package/dist/cjs/ix-tooltip.entry.cjs.js.map +1 -1
  264. package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
  265. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  266. package/dist/cjs/ix-typography.cjs.entry.js +1 -1
  267. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  268. package/dist/cjs/ix-upload.entry.cjs.js.map +1 -1
  269. package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
  270. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  271. package/dist/cjs/loader.cjs.js +1 -1
  272. package/dist/cjs/{service-FGbUpQQM.js → service-DuiJmf7R.js} +4 -4
  273. package/dist/cjs/service-DuiJmf7R.js.map +1 -0
  274. package/dist/cjs/siemens-ix.cjs.js +1 -1
  275. package/dist/collection/collection-manifest.json +0 -2
  276. package/dist/collection/components/avatar/avatar.js +1 -1
  277. package/dist/collection/components/avatar/avatar.js.map +1 -1
  278. package/dist/collection/components/breadcrumb/breadcrumb.js +9 -9
  279. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  280. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +16 -16
  281. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  282. package/dist/collection/components/card-list/card-list.js +6 -6
  283. package/dist/collection/components/card-list/card-list.js.map +1 -1
  284. package/dist/collection/components/category-filter/category-filter.js +15 -46
  285. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  286. package/dist/collection/components/chip/chip.js +12 -13
  287. package/dist/collection/components/chip/chip.js.map +1 -1
  288. package/dist/collection/components/date-dropdown/date-dropdown.js +19 -19
  289. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  290. package/dist/collection/components/date-input/date-input.js +2 -2
  291. package/dist/collection/components/date-input/date-input.js.map +1 -1
  292. package/dist/collection/components/date-picker/date-picker-component.js.map +1 -1
  293. package/dist/collection/components/date-picker/date-picker.js +23 -23
  294. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  295. package/dist/collection/components/date-time-card/date-time-card.js +5 -30
  296. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  297. package/dist/collection/components/datetime-picker/datetime-picker.js +8 -95
  298. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  299. package/dist/collection/components/drawer/drawer.js +6 -5
  300. package/dist/collection/components/drawer/drawer.js.map +1 -1
  301. package/dist/collection/components/event-list/event-list.js +6 -6
  302. package/dist/collection/components/event-list/event-list.js.map +1 -1
  303. package/dist/collection/components/group/group.css +12 -0
  304. package/dist/collection/components/group/group.js +23 -23
  305. package/dist/collection/components/group/group.js.map +1 -1
  306. package/dist/collection/components/group-item/group-item.css +22 -6
  307. package/dist/collection/components/group-item/group-item.js +44 -8
  308. package/dist/collection/components/group-item/group-item.js.map +1 -1
  309. package/dist/collection/components/helper-text/helper-text.js +1 -1
  310. package/dist/collection/components/icon-button/icon-button.js +2 -2
  311. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  312. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  313. package/dist/collection/components/input/input.js +4 -4
  314. package/dist/collection/components/input/number-input.js +6 -6
  315. package/dist/collection/components/input/textarea.js +2 -2
  316. package/dist/collection/components/key-value/key-value.js +1 -1
  317. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  318. package/dist/collection/components/kpi/kpi.js +3 -3
  319. package/dist/collection/components/layout-auto/layout-auto.js +1 -1
  320. package/dist/collection/components/layout-grid/layout-grid.js +2 -2
  321. package/dist/collection/components/link-button/link-button.js +3 -3
  322. package/dist/collection/components/map-navigation/map-navigation.js +3 -2
  323. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  324. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  325. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  326. package/dist/collection/components/menu/menu.js +28 -47
  327. package/dist/collection/components/menu/menu.js.map +1 -1
  328. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  329. package/dist/collection/components/menu-about-news/menu-about-news.js +7 -7
  330. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  331. package/dist/collection/components/menu-avatar/menu-avatar.js +10 -10
  332. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  333. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  334. package/dist/collection/components/menu-category/menu-category.js +5 -5
  335. package/dist/collection/components/menu-item/menu-item.js +4 -4
  336. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  337. package/dist/collection/components/message-bar/message-bar.js +11 -16
  338. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  339. package/dist/collection/components/modal/modal.js +29 -29
  340. package/dist/collection/components/modal/modal.js.map +1 -1
  341. package/dist/collection/components/modal-content/modal-content.js +1 -1
  342. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  343. package/dist/collection/components/modal-header/modal-header.js +1 -1
  344. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  345. package/dist/collection/components/pagination/pagination.js +18 -19
  346. package/dist/collection/components/pagination/pagination.js.map +1 -1
  347. package/dist/collection/components/push-card/push-card.js +7 -7
  348. package/dist/collection/components/push-card/push-card.js.map +1 -1
  349. package/dist/collection/components/select/select.js +12 -12
  350. package/dist/collection/components/select/select.js.map +1 -1
  351. package/dist/collection/components/slider/slider.css +1 -3
  352. package/dist/collection/components/time-input/time-input.js +1 -1
  353. package/dist/collection/components/time-input/time-input.js.map +1 -1
  354. package/dist/collection/components/time-picker/time-picker.js +14 -199
  355. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  356. package/dist/collection/components/toast/toast-container.js +5 -5
  357. package/dist/collection/components/toast/toast-container.js.map +1 -1
  358. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  359. package/dist/collection/components/toast/toast.js +7 -7
  360. package/dist/collection/components/toast/toast.js.map +1 -1
  361. package/dist/collection/components/toggle/toggle.js +3 -3
  362. package/dist/collection/components/tooltip/tooltip.js +1 -1
  363. package/dist/collection/components/tree/tree.js +1 -1
  364. package/dist/collection/components/tree-item/tree-item.js +4 -4
  365. package/dist/collection/components/typography/typography.js +1 -1
  366. package/dist/collection/components/upload/upload.js +5 -5
  367. package/dist/collection/components/upload/upload.js.map +1 -1
  368. package/dist/collection/components/utils/application-layout/service.js +2 -2
  369. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  370. package/dist/collection/components/utils/modal/loading.js +1 -1
  371. package/dist/collection/components/utils/modal/loading.js.map +1 -1
  372. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  373. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  374. package/dist/collection/tests/utils/test/page.js +2 -2
  375. package/dist/collection/tests/utils/test/page.js.map +1 -1
  376. package/{components/p-CAqtPJ4-.js → dist/esm/find-element-CiSM2A9Q.js} +102 -3
  377. package/dist/esm/find-element-CiSM2A9Q.js.map +1 -0
  378. package/dist/esm/index-DGODjp4O.js +0 -8
  379. package/dist/esm/index.js +1 -1
  380. package/dist/esm/index.js.map +1 -1
  381. package/dist/esm/ix-application-header.entry.js +1 -1
  382. package/dist/esm/ix-application.entry.js +1 -1
  383. package/dist/esm/ix-avatar.ix-menu-avatar-item.entry.js.map +1 -1
  384. package/dist/esm/ix-avatar_2.entry.js +1 -1
  385. package/dist/esm/ix-basic-navigation.entry.js +1 -1
  386. package/dist/esm/ix-breadcrumb-item.entry.js +7 -7
  387. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  388. package/dist/esm/ix-breadcrumb.entry.js +6 -6
  389. package/dist/esm/ix-breadcrumb.entry.js.map +1 -1
  390. package/dist/esm/ix-card-list.entry.js +4 -4
  391. package/dist/esm/ix-card-list.entry.js.map +1 -1
  392. package/dist/esm/ix-category-filter.entry.js +9 -17
  393. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  394. package/dist/esm/ix-chip.entry.js +8 -9
  395. package/dist/esm/ix-chip.entry.js.map +1 -1
  396. package/dist/esm/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js.map +1 -1
  397. package/dist/esm/ix-col_4.entry.js +18 -18
  398. package/dist/esm/ix-date-dropdown.entry.js +11 -11
  399. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  400. package/dist/esm/ix-date-input.entry.js +2 -2
  401. package/dist/esm/ix-date-input.entry.js.map +1 -1
  402. package/dist/esm/ix-date-time-card.entry.js +3 -8
  403. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  404. package/dist/esm/ix-datetime-picker.entry.js +3 -21
  405. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  406. package/dist/esm/ix-drawer.entry.js +6 -5
  407. package/dist/esm/ix-drawer.entry.js.map +1 -1
  408. package/dist/esm/ix-dropdown.entry.js +1 -2
  409. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  410. package/dist/esm/ix-event-list.entry.js +4 -4
  411. package/dist/esm/ix-event-list.entry.js.map +1 -1
  412. package/dist/esm/ix-group-context-menu.ix-group-item.entry.js.map +1 -1
  413. package/dist/esm/ix-group-context-menu_2.entry.js +18 -5
  414. package/dist/esm/ix-group.entry.js +19 -19
  415. package/dist/esm/ix-group.entry.js.map +1 -1
  416. package/dist/esm/ix-helper-text.entry.js +1 -1
  417. package/dist/esm/ix-icon-button.ix-spinner.entry.js.map +1 -1
  418. package/dist/esm/ix-icon-button_2.entry.js +1 -1
  419. package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
  420. package/dist/esm/ix-input.entry.js +4 -4
  421. package/dist/esm/ix-key-value-list.entry.js +1 -1
  422. package/dist/esm/ix-key-value.entry.js +1 -1
  423. package/dist/esm/ix-kpi.entry.js +3 -3
  424. package/dist/esm/ix-layout-auto.entry.js +1 -1
  425. package/dist/esm/ix-link-button.entry.js +3 -3
  426. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  427. package/dist/esm/ix-map-navigation.entry.js +3 -2
  428. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  429. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  430. package/dist/esm/ix-menu-about-news.entry.js +5 -5
  431. package/dist/esm/ix-menu-about-news.entry.js.map +1 -1
  432. package/dist/esm/ix-menu-avatar.entry.js +5 -5
  433. package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
  434. package/dist/esm/ix-menu-category.entry.js +5 -5
  435. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  436. package/dist/esm/ix-menu-item.entry.js +4 -4
  437. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  438. package/dist/esm/ix-menu.entry.js +18 -17
  439. package/dist/esm/ix-menu.entry.js.map +1 -1
  440. package/dist/esm/ix-message-bar.entry.js +4 -6
  441. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  442. package/dist/esm/ix-modal-content_2.entry.js +2 -2
  443. package/dist/esm/ix-modal-footer.entry.js +1 -1
  444. package/dist/esm/ix-modal-loading.entry.js +1 -1
  445. package/dist/esm/ix-modal.entry.js +13 -13
  446. package/dist/esm/ix-modal.entry.js.map +1 -1
  447. package/dist/esm/ix-number-input.entry.js +6 -6
  448. package/dist/esm/ix-pagination.entry.js +8 -9
  449. package/dist/esm/ix-pagination.entry.js.map +1 -1
  450. package/dist/esm/ix-pane-layout.entry.js +1 -1
  451. package/dist/esm/ix-pane.entry.js +1 -1
  452. package/dist/esm/ix-push-card.entry.js +3 -3
  453. package/dist/esm/ix-push-card.entry.js.map +1 -1
  454. package/dist/esm/ix-select.entry.js +8 -8
  455. package/dist/esm/ix-select.entry.js.map +1 -1
  456. package/dist/esm/ix-slider.entry.js +1 -1
  457. package/dist/esm/ix-slider.entry.js.map +1 -1
  458. package/dist/esm/ix-textarea.entry.js +2 -2
  459. package/dist/esm/ix-time-input.entry.js +1 -1
  460. package/dist/esm/ix-time-input.entry.js.map +1 -1
  461. package/dist/esm/ix-time-picker.entry.js +10 -58
  462. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  463. package/dist/esm/ix-toast-container.entry.js +5 -5
  464. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  465. package/dist/esm/ix-toast.entry.js +4 -4
  466. package/dist/esm/ix-toast.entry.js.map +1 -1
  467. package/dist/esm/ix-toggle.entry.js +3 -3
  468. package/dist/esm/ix-tooltip.entry.js +2 -3
  469. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  470. package/dist/esm/ix-tree-item.entry.js +4 -4
  471. package/dist/esm/ix-tree.entry.js +1 -1
  472. package/dist/esm/ix-typography.entry.js +1 -1
  473. package/dist/esm/ix-upload.entry.js +3 -3
  474. package/dist/esm/ix-upload.entry.js.map +1 -1
  475. package/dist/esm/ix-workflow-step.entry.js +3 -3
  476. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  477. package/dist/esm/loader.js +1 -1
  478. package/dist/esm/{service-ktcE7NzB.js → service-Da0kv8hS.js} +4 -4
  479. package/dist/esm/service-Da0kv8hS.js.map +1 -0
  480. package/dist/esm/siemens-ix.js +1 -1
  481. package/dist/siemens-ix/index.esm.js +1 -1
  482. package/dist/siemens-ix/index.esm.js.map +1 -1
  483. package/dist/siemens-ix/ix-avatar.ix-menu-avatar-item.entry.esm.js.map +1 -1
  484. package/dist/siemens-ix/ix-breadcrumb-item.entry.esm.js.map +1 -1
  485. package/dist/siemens-ix/ix-breadcrumb.entry.esm.js.map +1 -1
  486. package/dist/siemens-ix/ix-card-list.entry.esm.js.map +1 -1
  487. package/dist/siemens-ix/ix-category-filter.entry.esm.js.map +1 -1
  488. package/dist/siemens-ix/ix-chip.entry.esm.js.map +1 -1
  489. package/dist/siemens-ix/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.esm.js.map +1 -1
  490. package/dist/siemens-ix/ix-date-dropdown.entry.esm.js.map +1 -1
  491. package/dist/siemens-ix/ix-date-input.entry.esm.js.map +1 -1
  492. package/dist/siemens-ix/ix-date-time-card.entry.esm.js.map +1 -1
  493. package/dist/siemens-ix/ix-datetime-picker.entry.esm.js.map +1 -1
  494. package/dist/siemens-ix/ix-drawer.entry.esm.js.map +1 -1
  495. package/dist/siemens-ix/ix-dropdown.entry.esm.js.map +1 -1
  496. package/dist/siemens-ix/ix-event-list.entry.esm.js.map +1 -1
  497. package/dist/siemens-ix/ix-group-context-menu.ix-group-item.entry.esm.js.map +1 -1
  498. package/dist/siemens-ix/ix-group.entry.esm.js.map +1 -1
  499. package/dist/siemens-ix/ix-icon-button.ix-spinner.entry.esm.js.map +1 -1
  500. package/dist/siemens-ix/ix-map-navigation.entry.esm.js.map +1 -1
  501. package/dist/siemens-ix/ix-menu-about-news.entry.esm.js.map +1 -1
  502. package/dist/siemens-ix/ix-menu-avatar.entry.esm.js.map +1 -1
  503. package/dist/siemens-ix/ix-menu.entry.esm.js.map +1 -1
  504. package/dist/siemens-ix/ix-message-bar.entry.esm.js.map +1 -1
  505. package/dist/siemens-ix/ix-modal.entry.esm.js.map +1 -1
  506. package/dist/siemens-ix/ix-pagination.entry.esm.js.map +1 -1
  507. package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
  508. package/dist/siemens-ix/ix-select.entry.esm.js.map +1 -1
  509. package/dist/siemens-ix/ix-slider.entry.esm.js.map +1 -1
  510. package/dist/siemens-ix/ix-time-input.entry.esm.js.map +1 -1
  511. package/dist/siemens-ix/ix-time-picker.entry.esm.js.map +1 -1
  512. package/dist/siemens-ix/ix-toast-container.entry.esm.js.map +1 -1
  513. package/dist/siemens-ix/ix-toast.entry.esm.js.map +1 -1
  514. package/dist/siemens-ix/ix-tooltip.entry.esm.js.map +1 -1
  515. package/dist/siemens-ix/ix-upload.entry.esm.js.map +1 -1
  516. package/dist/siemens-ix/{p-90bd8d7b.entry.js → p-0ba7d263.entry.js} +2 -2
  517. package/dist/siemens-ix/{p-f455c56a.entry.js → p-111687a2.entry.js} +2 -2
  518. package/dist/siemens-ix/{p-c418674c.entry.js → p-13fb0104.entry.js} +2 -2
  519. package/dist/siemens-ix/{p-c418674c.entry.js.map → p-13fb0104.entry.js.map} +1 -1
  520. package/dist/siemens-ix/{p-8b3cfb2d.entry.js → p-1ac88556.entry.js} +2 -2
  521. package/dist/siemens-ix/{p-95d4d849.entry.js → p-1bd1380b.entry.js} +2 -2
  522. package/dist/siemens-ix/{p-5849a210.entry.js → p-1cd4280f.entry.js} +2 -2
  523. package/dist/siemens-ix/{p-48b0fef4.entry.js → p-2041357d.entry.js} +2 -2
  524. package/dist/siemens-ix/{p-fbd896c5.entry.js → p-21106fcd.entry.js} +2 -2
  525. package/dist/siemens-ix/p-21106fcd.entry.js.map +1 -0
  526. package/dist/siemens-ix/{p-52dc3ba0.entry.js → p-28fe8512.entry.js} +2 -2
  527. package/dist/siemens-ix/{p-4263f3b6.entry.js → p-2b046df5.entry.js} +2 -2
  528. package/dist/siemens-ix/{p-71e94914.entry.js → p-32203c19.entry.js} +2 -2
  529. package/dist/siemens-ix/p-32203c19.entry.js.map +1 -0
  530. package/dist/siemens-ix/{p-1b2e4b8f.entry.js → p-331f1b60.entry.js} +2 -2
  531. package/dist/siemens-ix/{p-99ad8022.entry.js → p-38f9b6e2.entry.js} +2 -2
  532. package/dist/siemens-ix/p-38f9b6e2.entry.js.map +1 -0
  533. package/dist/siemens-ix/p-3f06687e.entry.js +2 -0
  534. package/dist/siemens-ix/p-3f06687e.entry.js.map +1 -0
  535. package/dist/siemens-ix/{p-92032674.entry.js → p-566a58f4.entry.js} +2 -2
  536. package/dist/siemens-ix/p-566a58f4.entry.js.map +1 -0
  537. package/dist/siemens-ix/p-5d48f9cb.entry.js +2 -0
  538. package/dist/siemens-ix/p-5d48f9cb.entry.js.map +1 -0
  539. package/dist/siemens-ix/p-5f7943f2.entry.js +2 -0
  540. package/dist/siemens-ix/{p-d0d972c2.entry.js.map → p-5f7943f2.entry.js.map} +1 -1
  541. package/dist/siemens-ix/{p-85727880.entry.js → p-639d0d7f.entry.js} +2 -2
  542. package/dist/siemens-ix/p-639d0d7f.entry.js.map +1 -0
  543. package/dist/siemens-ix/{p-faa47c0e.entry.js → p-6645d4ee.entry.js} +2 -2
  544. package/dist/siemens-ix/p-670d5b84.entry.js +2 -0
  545. package/dist/siemens-ix/p-670d5b84.entry.js.map +1 -0
  546. package/dist/siemens-ix/{p-eba51393.entry.js → p-7060645f.entry.js} +2 -2
  547. package/dist/siemens-ix/p-71a38f35.entry.js +2 -0
  548. package/dist/siemens-ix/{p-416886d6.entry.js → p-75edf091.entry.js} +2 -2
  549. package/dist/siemens-ix/p-75edf091.entry.js.map +1 -0
  550. package/dist/siemens-ix/{p-81c8d542.entry.js → p-75f4bbb1.entry.js} +2 -2
  551. package/dist/siemens-ix/{p-03c6893a.entry.js → p-78797f4b.entry.js} +2 -2
  552. package/dist/siemens-ix/p-78797f4b.entry.js.map +1 -0
  553. package/dist/siemens-ix/{p-09cce59e.entry.js → p-800f59a7.entry.js} +2 -2
  554. package/dist/siemens-ix/p-800f59a7.entry.js.map +1 -0
  555. package/dist/siemens-ix/p-86ac2254.entry.js +2 -0
  556. package/dist/siemens-ix/p-86ac2254.entry.js.map +1 -0
  557. package/dist/siemens-ix/p-8bd3f89a.entry.js +2 -0
  558. package/dist/siemens-ix/p-8bd3f89a.entry.js.map +1 -0
  559. package/dist/siemens-ix/{p-a76a69fb.entry.js → p-8c612656.entry.js} +2 -2
  560. package/dist/siemens-ix/{p-5140e6e6.entry.js → p-91fa3ab0.entry.js} +2 -2
  561. package/dist/siemens-ix/{p-f29eaee8.entry.js → p-9272ae83.entry.js} +2 -2
  562. package/dist/siemens-ix/{p-c8cf26c5.entry.js → p-96533ffc.entry.js} +2 -2
  563. package/dist/siemens-ix/p-96533ffc.entry.js.map +1 -0
  564. package/dist/siemens-ix/p-98ab64dc.entry.js +2 -0
  565. package/dist/siemens-ix/p-98ab64dc.entry.js.map +1 -0
  566. package/dist/siemens-ix/p-9a8188a7.entry.js +2 -0
  567. package/dist/siemens-ix/p-9a8188a7.entry.js.map +1 -0
  568. package/dist/siemens-ix/{p-f6d678a6.entry.js → p-9b88a932.entry.js} +2 -2
  569. package/dist/siemens-ix/{p-7a108b0d.entry.js → p-9dbfd7cd.entry.js} +2 -2
  570. package/dist/siemens-ix/p-CiSM2A9Q.js +2 -0
  571. package/dist/siemens-ix/p-CiSM2A9Q.js.map +1 -0
  572. package/dist/siemens-ix/p-a6612a5b.entry.js +2 -0
  573. package/dist/siemens-ix/{p-00a10004.entry.js → p-a7cb47ca.entry.js} +2 -2
  574. package/dist/siemens-ix/p-a7cb47ca.entry.js.map +1 -0
  575. package/dist/siemens-ix/p-ac1f35ad.entry.js +2 -0
  576. package/dist/siemens-ix/p-ac1f35ad.entry.js.map +1 -0
  577. package/dist/siemens-ix/{p-4b88c430.entry.js → p-ae2e5e0c.entry.js} +2 -2
  578. package/dist/siemens-ix/{p-4b88c430.entry.js.map → p-ae2e5e0c.entry.js.map} +1 -1
  579. package/dist/siemens-ix/{p-6c2818da.entry.js → p-b895b3db.entry.js} +2 -2
  580. package/dist/siemens-ix/p-b895b3db.entry.js.map +1 -0
  581. package/dist/siemens-ix/{p-cd11dfa8.entry.js → p-bb878ea4.entry.js} +2 -2
  582. package/dist/siemens-ix/p-bc7fc8b2.entry.js +2 -0
  583. package/dist/siemens-ix/p-bc7fc8b2.entry.js.map +1 -0
  584. package/dist/siemens-ix/{p-0469aec7.entry.js → p-bf2374a0.entry.js} +2 -2
  585. package/dist/siemens-ix/p-c10b2e40.entry.js +2 -0
  586. package/dist/siemens-ix/{p-5c109476.entry.js → p-c248940f.entry.js} +2 -2
  587. package/dist/siemens-ix/{p-1ca58d8b.entry.js → p-c31b2027.entry.js} +2 -2
  588. package/dist/siemens-ix/{p-8eee6a03.entry.js → p-c413e3c4.entry.js} +2 -2
  589. package/dist/siemens-ix/{p-746b04cb.entry.js → p-c6ecc2e3.entry.js} +2 -2
  590. package/dist/siemens-ix/{p-01656234.entry.js → p-c949686e.entry.js} +2 -2
  591. package/dist/siemens-ix/{p-b6dad40c.entry.js → p-d0213ff0.entry.js} +2 -2
  592. package/dist/siemens-ix/{p-8e48a7a1.entry.js → p-d1254b5b.entry.js} +2 -2
  593. package/dist/siemens-ix/{p-a0d7af11.entry.js → p-d585e581.entry.js} +2 -2
  594. package/dist/siemens-ix/p-d6b9e253.entry.js +2 -0
  595. package/dist/siemens-ix/{p-c8ad32c5.entry.js.map → p-d6b9e253.entry.js.map} +1 -1
  596. package/dist/siemens-ix/{p-dd82ebbc.entry.js → p-d7c7d38b.entry.js} +2 -2
  597. package/dist/siemens-ix/{p-c446ffdb.entry.js → p-db02f4c2.entry.js} +2 -2
  598. package/dist/siemens-ix/{p-4573a8de.entry.js → p-e201fa04.entry.js} +2 -2
  599. package/dist/siemens-ix/{p-4573a8de.entry.js.map → p-e201fa04.entry.js.map} +1 -1
  600. package/dist/siemens-ix/{p-6a39d630.entry.js → p-e3a219e3.entry.js} +2 -2
  601. package/dist/siemens-ix/{p-bd369344.entry.js → p-e55cd52b.entry.js} +2 -2
  602. package/dist/siemens-ix/p-ea435816.entry.js +2 -0
  603. package/dist/siemens-ix/p-ea435816.entry.js.map +1 -0
  604. package/dist/siemens-ix/{p-14fca48a.entry.js → p-f14790b4.entry.js} +2 -2
  605. package/dist/siemens-ix/{p-53e82da9.entry.js → p-fbd0973d.entry.js} +2 -2
  606. package/dist/siemens-ix/p-fbd0973d.entry.js.map +1 -0
  607. package/dist/siemens-ix/p-fbedad11.entry.js +2 -0
  608. package/dist/siemens-ix/{p-CzzcLSmV.js → p-gkooEHol.js} +2 -2
  609. package/dist/siemens-ix/p-gkooEHol.js.map +1 -0
  610. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  611. package/dist/siemens-ix/siemens-ix.css +0 -28
  612. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  613. package/dist/types/components/avatar/avatar.d.ts +1 -1
  614. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -1
  615. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +3 -3
  616. package/dist/types/components/category-filter/category-filter.d.ts +4 -10
  617. package/dist/types/components/chip/chip.d.ts +2 -2
  618. package/dist/types/components/date-dropdown/date-dropdown.d.ts +6 -6
  619. package/dist/types/components/date-picker/date-picker-component.d.ts +1 -1
  620. package/dist/types/components/date-picker/date-picker.d.ts +3 -3
  621. package/dist/types/components/date-time-card/date-time-card.d.ts +1 -5
  622. package/dist/types/components/datetime-picker/datetime-picker.d.ts +2 -20
  623. package/dist/types/components/event-list/event-list.d.ts +1 -1
  624. package/dist/types/components/group/group.d.ts +4 -4
  625. package/dist/types/components/group-item/group-item.d.ts +9 -2
  626. package/dist/types/components/icon-button/icon-button.d.ts +1 -1
  627. package/dist/types/components/menu/menu.d.ts +5 -4
  628. package/dist/types/components/menu-about-news/menu-about-news.d.ts +1 -1
  629. package/dist/types/components/menu-avatar/menu-avatar.d.ts +2 -2
  630. package/dist/types/components/message-bar/message-bar.d.ts +3 -4
  631. package/dist/types/components/modal/modal.d.ts +9 -9
  632. package/dist/types/components/pagination/pagination.d.ts +5 -6
  633. package/dist/types/components/push-card/push-card.d.ts +2 -2
  634. package/dist/types/components/time-picker/time-picker.d.ts +2 -40
  635. package/dist/types/components/toast/toast-utils.d.ts +24 -0
  636. package/dist/types/components/toast/toast.d.ts +1 -1
  637. package/dist/types/components.d.ts +214 -414
  638. package/hydrate/index.js +312 -699
  639. package/hydrate/index.mjs +312 -699
  640. package/package.json +1 -1
  641. package/scss/_core.scss +0 -1
  642. package/components/ix-input-group.d.ts +0 -11
  643. package/components/ix-input-group.js +0 -154
  644. package/components/ix-input-group.js.map +0 -1
  645. package/components/ix-validation-tooltip.d.ts +0 -11
  646. package/components/ix-validation-tooltip.js +0 -184
  647. package/components/ix-validation-tooltip.js.map +0 -1
  648. package/components/p-B3IsQckh.js.map +0 -1
  649. package/components/p-B5cVFUyk.js.map +0 -1
  650. package/components/p-BFuOBAQB.js.map +0 -1
  651. package/components/p-BpW9tS2k.js.map +0 -1
  652. package/components/p-CAqtPJ4-.js.map +0 -1
  653. package/components/p-CFRrPFxi.js +0 -103
  654. package/components/p-CFRrPFxi.js.map +0 -1
  655. package/components/p-CGPMGyof.js.map +0 -1
  656. package/components/p-Ctze1Bh6.js +0 -64
  657. package/components/p-Ctze1Bh6.js.map +0 -1
  658. package/components/p-CwwKrs4u.js.map +0 -1
  659. package/components/p-CzzcLSmV.js.map +0 -1
  660. package/components/p-DJ6v85WG.js.map +0 -1
  661. package/components/p-DZNnQyWO.js.map +0 -1
  662. package/dist/cjs/find-element-D7yD1Ukn.js +0 -106
  663. package/dist/cjs/find-element-D7yD1Ukn.js.map +0 -1
  664. package/dist/cjs/floating-ui.dom-CMzYsRR7.js.map +0 -1
  665. package/dist/cjs/ix-input-group.cjs.entry.js +0 -130
  666. package/dist/cjs/ix-input-group.entry.cjs.js.map +0 -1
  667. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +0 -155
  668. package/dist/cjs/ix-validation-tooltip.entry.cjs.js.map +0 -1
  669. package/dist/cjs/service-FGbUpQQM.js.map +0 -1
  670. package/dist/collection/components/input-group/input-group.css +0 -115
  671. package/dist/collection/components/input-group/input-group.js +0 -152
  672. package/dist/collection/components/input-group/input-group.js.map +0 -1
  673. package/dist/collection/components/validation-tooltip/validation-tooltip.css +0 -225
  674. package/dist/collection/components/validation-tooltip/validation-tooltip.js +0 -250
  675. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +0 -1
  676. package/dist/esm/find-element-CFRrPFxi.js +0 -103
  677. package/dist/esm/find-element-CFRrPFxi.js.map +0 -1
  678. package/dist/esm/floating-ui.dom-CAqtPJ4-.js.map +0 -1
  679. package/dist/esm/ix-input-group.entry.js +0 -128
  680. package/dist/esm/ix-input-group.entry.js.map +0 -1
  681. package/dist/esm/ix-validation-tooltip.entry.js +0 -153
  682. package/dist/esm/ix-validation-tooltip.entry.js.map +0 -1
  683. package/dist/esm/service-ktcE7NzB.js.map +0 -1
  684. package/dist/siemens-ix/ix-input-group.entry.esm.js.map +0 -1
  685. package/dist/siemens-ix/ix-validation-tooltip.entry.esm.js.map +0 -1
  686. package/dist/siemens-ix/p-00a10004.entry.js.map +0 -1
  687. package/dist/siemens-ix/p-03c6893a.entry.js.map +0 -1
  688. package/dist/siemens-ix/p-09cce59e.entry.js.map +0 -1
  689. package/dist/siemens-ix/p-1d0ae43f.entry.js +0 -2
  690. package/dist/siemens-ix/p-1d0ae43f.entry.js.map +0 -1
  691. package/dist/siemens-ix/p-2d3f7bb5.entry.js +0 -2
  692. package/dist/siemens-ix/p-2d3f7bb5.entry.js.map +0 -1
  693. package/dist/siemens-ix/p-2d9b7dbd.entry.js +0 -2
  694. package/dist/siemens-ix/p-2d9b7dbd.entry.js.map +0 -1
  695. package/dist/siemens-ix/p-30545ef9.entry.js +0 -2
  696. package/dist/siemens-ix/p-30728d2c.entry.js +0 -2
  697. package/dist/siemens-ix/p-30728d2c.entry.js.map +0 -1
  698. package/dist/siemens-ix/p-3dc1d85b.entry.js +0 -2
  699. package/dist/siemens-ix/p-3dc1d85b.entry.js.map +0 -1
  700. package/dist/siemens-ix/p-416886d6.entry.js.map +0 -1
  701. package/dist/siemens-ix/p-48f01149.entry.js +0 -2
  702. package/dist/siemens-ix/p-48f01149.entry.js.map +0 -1
  703. package/dist/siemens-ix/p-53e82da9.entry.js.map +0 -1
  704. package/dist/siemens-ix/p-5bed04ac.entry.js +0 -2
  705. package/dist/siemens-ix/p-5bed04ac.entry.js.map +0 -1
  706. package/dist/siemens-ix/p-5f72640f.entry.js +0 -2
  707. package/dist/siemens-ix/p-5f72640f.entry.js.map +0 -1
  708. package/dist/siemens-ix/p-6c2818da.entry.js.map +0 -1
  709. package/dist/siemens-ix/p-6c873cc5.entry.js +0 -2
  710. package/dist/siemens-ix/p-71e94914.entry.js.map +0 -1
  711. package/dist/siemens-ix/p-740420eb.entry.js +0 -2
  712. package/dist/siemens-ix/p-740420eb.entry.js.map +0 -1
  713. package/dist/siemens-ix/p-85727880.entry.js.map +0 -1
  714. package/dist/siemens-ix/p-90089ce1.entry.js +0 -2
  715. package/dist/siemens-ix/p-92032674.entry.js.map +0 -1
  716. package/dist/siemens-ix/p-99ad8022.entry.js.map +0 -1
  717. package/dist/siemens-ix/p-9bd4c682.entry.js +0 -2
  718. package/dist/siemens-ix/p-CAqtPJ4-.js +0 -2
  719. package/dist/siemens-ix/p-CAqtPJ4-.js.map +0 -1
  720. package/dist/siemens-ix/p-CFRrPFxi.js +0 -2
  721. package/dist/siemens-ix/p-CFRrPFxi.js.map +0 -1
  722. package/dist/siemens-ix/p-CzzcLSmV.js.map +0 -1
  723. package/dist/siemens-ix/p-c8ad32c5.entry.js +0 -2
  724. package/dist/siemens-ix/p-c8cf26c5.entry.js.map +0 -1
  725. package/dist/siemens-ix/p-d0d972c2.entry.js +0 -2
  726. package/dist/siemens-ix/p-ddaf98b6.entry.js +0 -2
  727. package/dist/siemens-ix/p-ddaf98b6.entry.js.map +0 -1
  728. package/dist/siemens-ix/p-e9de8dd5.entry.js +0 -2
  729. package/dist/siemens-ix/p-e9de8dd5.entry.js.map +0 -1
  730. package/dist/siemens-ix/p-f55eef69.entry.js +0 -2
  731. package/dist/siemens-ix/p-f55eef69.entry.js.map +0 -1
  732. package/dist/siemens-ix/p-fbd896c5.entry.js.map +0 -1
  733. package/dist/types/components/input-group/input-group.d.ts +0 -24
  734. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +0 -45
  735. package/scss/components/_input-group.scss +0 -32
  736. /package/dist/siemens-ix/{p-90bd8d7b.entry.js.map → p-0ba7d263.entry.js.map} +0 -0
  737. /package/dist/siemens-ix/{p-f455c56a.entry.js.map → p-111687a2.entry.js.map} +0 -0
  738. /package/dist/siemens-ix/{p-8b3cfb2d.entry.js.map → p-1ac88556.entry.js.map} +0 -0
  739. /package/dist/siemens-ix/{p-95d4d849.entry.js.map → p-1bd1380b.entry.js.map} +0 -0
  740. /package/dist/siemens-ix/{p-5849a210.entry.js.map → p-1cd4280f.entry.js.map} +0 -0
  741. /package/dist/siemens-ix/{p-48b0fef4.entry.js.map → p-2041357d.entry.js.map} +0 -0
  742. /package/dist/siemens-ix/{p-52dc3ba0.entry.js.map → p-28fe8512.entry.js.map} +0 -0
  743. /package/dist/siemens-ix/{p-4263f3b6.entry.js.map → p-2b046df5.entry.js.map} +0 -0
  744. /package/dist/siemens-ix/{p-1b2e4b8f.entry.js.map → p-331f1b60.entry.js.map} +0 -0
  745. /package/dist/siemens-ix/{p-faa47c0e.entry.js.map → p-6645d4ee.entry.js.map} +0 -0
  746. /package/dist/siemens-ix/{p-eba51393.entry.js.map → p-7060645f.entry.js.map} +0 -0
  747. /package/dist/siemens-ix/{p-6c873cc5.entry.js.map → p-71a38f35.entry.js.map} +0 -0
  748. /package/dist/siemens-ix/{p-81c8d542.entry.js.map → p-75f4bbb1.entry.js.map} +0 -0
  749. /package/dist/siemens-ix/{p-a76a69fb.entry.js.map → p-8c612656.entry.js.map} +0 -0
  750. /package/dist/siemens-ix/{p-5140e6e6.entry.js.map → p-91fa3ab0.entry.js.map} +0 -0
  751. /package/dist/siemens-ix/{p-f29eaee8.entry.js.map → p-9272ae83.entry.js.map} +0 -0
  752. /package/dist/siemens-ix/{p-f6d678a6.entry.js.map → p-9b88a932.entry.js.map} +0 -0
  753. /package/dist/siemens-ix/{p-7a108b0d.entry.js.map → p-9dbfd7cd.entry.js.map} +0 -0
  754. /package/dist/siemens-ix/{p-9bd4c682.entry.js.map → p-a6612a5b.entry.js.map} +0 -0
  755. /package/dist/siemens-ix/{p-cd11dfa8.entry.js.map → p-bb878ea4.entry.js.map} +0 -0
  756. /package/dist/siemens-ix/{p-0469aec7.entry.js.map → p-bf2374a0.entry.js.map} +0 -0
  757. /package/dist/siemens-ix/{p-30545ef9.entry.js.map → p-c10b2e40.entry.js.map} +0 -0
  758. /package/dist/siemens-ix/{p-5c109476.entry.js.map → p-c248940f.entry.js.map} +0 -0
  759. /package/dist/siemens-ix/{p-1ca58d8b.entry.js.map → p-c31b2027.entry.js.map} +0 -0
  760. /package/dist/siemens-ix/{p-8eee6a03.entry.js.map → p-c413e3c4.entry.js.map} +0 -0
  761. /package/dist/siemens-ix/{p-746b04cb.entry.js.map → p-c6ecc2e3.entry.js.map} +0 -0
  762. /package/dist/siemens-ix/{p-01656234.entry.js.map → p-c949686e.entry.js.map} +0 -0
  763. /package/dist/siemens-ix/{p-b6dad40c.entry.js.map → p-d0213ff0.entry.js.map} +0 -0
  764. /package/dist/siemens-ix/{p-8e48a7a1.entry.js.map → p-d1254b5b.entry.js.map} +0 -0
  765. /package/dist/siemens-ix/{p-a0d7af11.entry.js.map → p-d585e581.entry.js.map} +0 -0
  766. /package/dist/siemens-ix/{p-dd82ebbc.entry.js.map → p-d7c7d38b.entry.js.map} +0 -0
  767. /package/dist/siemens-ix/{p-c446ffdb.entry.js.map → p-db02f4c2.entry.js.map} +0 -0
  768. /package/dist/siemens-ix/{p-6a39d630.entry.js.map → p-e3a219e3.entry.js.map} +0 -0
  769. /package/dist/siemens-ix/{p-bd369344.entry.js.map → p-e55cd52b.entry.js.map} +0 -0
  770. /package/dist/siemens-ix/{p-14fca48a.entry.js.map → p-f14790b4.entry.js.map} +0 -0
  771. /package/dist/siemens-ix/{p-90089ce1.entry.js.map → p-fbedad11.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js","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/layout-grid/layout-grid.scss?tag=ix-layout-grid&encapsulation=shadow","src/components/layout-grid/layout-grid.tsx","src/components/row/row.scss?tag=ix-row&encapsulation=shadow","src/components/row/row.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@use 'mixins/shadow-dom/component';\n\n:host {\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 @include component.ix-component;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, forceUpdate, h, Host, Listen, Prop } from '@stencil/core';\nimport { Breakpoint, matchBreakpoint } from '../utils/breakpoints';\nimport type { ColumnSize } from './col.types';\n\ntype GridBreakpoint = Breakpoint | '';\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(): ColumnSize | undefined {\n let size: ColumnSize | undefined;\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@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n@use 'mixins/text-truncation';\n\n:host {\n display: block;\n position: relative;\n width: 21rem;\n\n @include component.ix-component;\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: vars.$tiny-space vars.$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: vars.$medium-space vars.$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((vars.$x-large-space / 2) - 6px);\n top: calc(50% - 6px);\n }\n\n .checkPosition {\n position: absolute;\n left: calc((vars.$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(7, 40px);\n grid-template-rows: repeat(7, 40px);\n\n align-items: center;\n justify-items: center;\n justify-content: center;\n color: var(--theme-datepicker-today--color);\n\n &--show-week-numbers {\n grid-template-columns: 24px repeat(7, 40px);\n }\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 &:first-child {\n width: 24px;\n }\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n\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 &.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 .overflow {\n @include text-truncation.ellipsis;\n }\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 width: 1.5rem;\n }\n }\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n margin-top: vars.$default-space;\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 iconChevronLeftSmall,\n iconChevronRightSmall,\n iconSingleCheck,\n} from '@siemens/ix-icons/icons';\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, Info } from 'luxon';\nimport type { DateTimeCardCorners } from '../date-time-card/date-time-card.types';\nimport { OnListener } from '../utils/listener';\nimport { makeRef } from '../utils/make-ref';\nimport { IxDatePickerComponent } from './date-picker-component';\nimport type { DateChangeEvent } from './date-picker.events';\n\ninterface CalendarWeek {\n weekNumber: number;\n dayNumbers: (number | undefined)[];\n}\n\n@Component({\n tag: 'ix-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n})\nexport class DatePicker implements IxDatePickerComponent {\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 @Prop() from: string | undefined;\n\n @Watch('from')\n watchFromPropHandler(newValue: string) {\n if (!newValue) {\n this.currFromDate = undefined;\n\n return;\n }\n\n const date = this.parseDateString(newValue);\n\n if (date) {\n this.currFromDate = date;\n this.updateSelectedYearMonth(date);\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 @Prop() to: string | undefined;\n\n @Watch('to')\n watchToPropHandler(newValue: string) {\n if (!newValue) {\n this.currToDate = undefined;\n\n return;\n }\n\n const date = this.parseDateString(newValue);\n\n if (date) {\n this.currToDate = date;\n this.updateSelectedYearMonth(date);\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 @Prop() minDate = '';\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Text of date select button\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * ARIA label for the previous month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelPreviousMonthButton?: string;\n\n /**\n * ARIA label for the next month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelNextMonthButton?: string;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n * The locale is used to translate the labels for weekdays and months.\n * When the locale changes, the weekday labels are rotated according to the `weekStartIndex`.\n * It does not affect the values returned by methods and events.\n */\n @Prop() locale?: string;\n\n @Watch('locale')\n onLocaleChange() {\n this.setTranslations();\n }\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /** @internal */\n @Prop() standaloneAppearance = true;\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * Emitted when the date selection changes. The `DateChangeEvent` contains `from` and `to` properties.\n * The property strings are formatted according to the `format` property and not affected by the `locale` property.\n * The locale applied is always `en-US`.\n * Note: Since 2.0.0 `dateChange` does not dispatch detail property as `string`\n */\n @Event() dateChange!: EventEmitter<DateChangeEvent>;\n\n /**\n * Emitted when the date range selection changes and the component is in range mode. The `DateChangeEvent` contains `from` and `to` properties.\n * The property strings are formatted according to the `format` property and not affected by the `locale` property.\n * The locale applied is always `en-US`.\n */\n @Event() dateRangeChange!: EventEmitter<DateChangeEvent>;\n\n /**\n * Emitted when the selection is confirmed via the date select button. The `DateChangeEvent` contains `from` and `to` properties.\n * The property strings are formatted according to the `format` property and not affected by the `locale` property.\n * The locale applied is always `en-US`.\n */\n @Event() dateSelect!: EventEmitter<DateChangeEvent>;\n\n /**\n * Get the currently selected date or range. The object returned contains `from` and `to` properties.\n * The property strings are formatted according to the `format` property and not affected by the `locale` property.\n * The locale applied is always `en-US`.\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 = 0;\n @State() tempYear = 0;\n @State() startYear = 0;\n @State() endYear = 0;\n @State() selectedMonth = 0;\n @State() tempMonth = 0;\n\n private readonly dropdownButtonRef = makeRef<HTMLElement>();\n private readonly yearContainerRef = makeRef<HTMLElement>();\n private readonly firstMonthRef = makeRef<HTMLElement>();\n\n @State() dayNames!: string[];\n @State() monthNames!: string[];\n @State() focusedDay: number = 1;\n\n private isDayFocus = false;\n private monthChangedFromFocus = false;\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 (\n DateTime.utc(this.selectedYear, this.selectedMonth + 1).daysInMonth || 0\n );\n }\n\n private getDateTimeNow() {\n return DateTime.fromISO(this.today);\n }\n\n private parseDateString(dateString: string): DateTime | undefined {\n const date = DateTime.fromFormat(dateString, this.format);\n\n if (!date.isValid) {\n console.error(date.invalidExplanation);\n\n return undefined;\n }\n\n return date;\n }\n\n private updateSelectedYearMonth(date: DateTime) {\n this.selectedYear = date.year;\n this.selectedMonth = date.month - 1;\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 | undefined)[] = [];\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.current?.focus();\n }\n\n private infiniteScrollYears() {\n const yearContainer = this.yearContainerRef.current;\n\n if (!yearContainer) {\n return;\n }\n\n const scroll = yearContainer.scrollTop;\n const maxScroll = yearContainer.scrollHeight;\n const atTop = scroll === 0;\n const atBottom =\n Math.round(scroll + yearContainer.offsetHeight) >= maxScroll;\n const limit = 200;\n\n if (this.endYear - this.startYear > limit) return;\n\n if (atTop) {\n const first = yearContainer.firstElementChild as HTMLElement;\n this.startYear -= 5;\n yearContainer.scrollTo(0, first.offsetTop);\n\n return;\n }\n\n if (atBottom) {\n const last = yearContainer.lastElementChild as HTMLElement;\n this.endYear += 5;\n yearContainer.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 const dropdown = this.hostElement.shadowRoot!.querySelector('ix-dropdown');\n if (dropdown) {\n dropdown.show = false;\n }\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, target: Element) {\n if (target.classList.contains('disabled')) {\n return;\n }\n\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 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 this.currFromDate &&\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.tempYear = 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={iconChevronRightSmall}\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 icon={iconChevronLeftSmall}\n variant=\"tertiary\"\n class=\"arrows\"\n aria-label={this.ariaLabelPreviousMonthButton}\n ></ix-icon-button>\n <div class=\"selector\">\n <ix-button\n variant=\"tertiary\"\n ref={this.dropdownButtonRef}\n data-testid=\"year-month-button\"\n >\n <span class=\"fontSize capitalize\">\n {this.monthNames[this.selectedMonth]} {this.selectedYear}\n </span>\n </ix-button>\n <ix-dropdown\n data-testid=\"year-month-dropdown\"\n class=\"dropdown\"\n trigger={this.dropdownButtonRef.waitForCurrent()}\n ignoreRelatedSubmenu\n placement=\"bottom-start\"\n >\n <div class=\"wrapper\">\n <div\n data-testid=\"year-container\"\n class=\"overflow\"\n onScroll={() => this.infiniteScrollYears()}\n ref={this.yearContainerRef}\n >\n {this.renderYears()}\n </div>\n <div class=\"overflow\" data-testid=\"month-container\">\n {this.monthNames.map((month, index) => (\n <div\n key={month}\n ref={(ref) => {\n if (month === this.monthNames[0]) {\n this.firstMonthRef(ref);\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={iconSingleCheck}\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 icon={iconChevronRightSmall}\n variant=\"tertiary\"\n class=\"arrows\"\n aria-label={this.ariaLabelNextMonthButton}\n ></ix-icon-button>\n </div>\n <div\n class={{\n grid: true,\n 'grid--show-week-numbers': this.showWeekNumbers,\n }}\n >\n {this.showWeekNumbers && <div class=\"calendar-item week-day\"></div>}\n {this.dayNames.map((name) => (\n <div key={name} class=\"calendar-item week-day\">\n <div class=\"overflow\">{name.slice(0, 3)}</div>\n </div>\n ))}\n {this.calendar.map((week) => {\n return (\n <Fragment>\n {this.showWeekNumbers && (\n <div class=\"calendar-item week-number\">\n {week.weekNumber}\n </div>\n )}\n {week.dayNumbers.map((day) => {\n return day ? (\n <div\n key={day}\n id={`day-cell-${day}`}\n date-calender-day\n class={this.getDayClasses(day)}\n onClick={(e) => {\n const target = e.currentTarget as HTMLElement;\n this.selectDay(day, target);\n }}\n onKeyUp={(e) => {\n const target = e.currentTarget as HTMLElement;\n if (e.key === 'Enter') {\n this.selectDay(day, target);\n }\n }}\n tabIndex={day === this.focusedDay ? 0 : -1}\n onFocus={() => this.onDayFocus()}\n onBlur={() => this.onDayBlur()}\n aria-label={`${this.selectedMonth}: ${day}`}\n >\n {day}\n </div>\n ) : (\n <div></div>\n );\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()}>{this.i18nDone}</ix-button>\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n: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: 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 { Component, h, Host, Prop } from '@stencil/core';\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: 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\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: 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 { Component, h, Host } from '@stencil/core';\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"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js","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/layout-grid/layout-grid.scss?tag=ix-layout-grid&encapsulation=shadow","src/components/layout-grid/layout-grid.tsx","src/components/row/row.scss?tag=ix-row&encapsulation=shadow","src/components/row/row.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@use 'mixins/shadow-dom/component';\n\n:host {\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 @include component.ix-component;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, forceUpdate, h, Host, Listen, Prop } from '@stencil/core';\nimport { Breakpoint, matchBreakpoint } from '../utils/breakpoints';\nimport type { ColumnSize } from './col.types';\n\ntype GridBreakpoint = Breakpoint | '';\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(): ColumnSize | undefined {\n let size: ColumnSize | undefined;\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@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n@use 'mixins/text-truncation';\n\n:host {\n display: block;\n position: relative;\n width: 21rem;\n\n @include component.ix-component;\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: vars.$tiny-space vars.$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: vars.$medium-space vars.$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((vars.$x-large-space / 2) - 6px);\n top: calc(50% - 6px);\n }\n\n .checkPosition {\n position: absolute;\n left: calc((vars.$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(7, 40px);\n grid-template-rows: repeat(7, 40px);\n\n align-items: center;\n justify-items: center;\n justify-content: center;\n color: var(--theme-datepicker-today--color);\n\n &--show-week-numbers {\n grid-template-columns: 24px repeat(7, 40px);\n }\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 &:first-child {\n width: 24px;\n }\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n\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 &.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 .overflow {\n @include text-truncation.ellipsis;\n }\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 width: 1.5rem;\n }\n }\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n margin-top: vars.$default-space;\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 iconChevronLeftSmall,\n iconChevronRightSmall,\n iconSingleCheck,\n} from '@siemens/ix-icons/icons';\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, Info } from 'luxon';\nimport type { DateTimeCardCorners } from '../date-time-card/date-time-card.types';\nimport { OnListener } from '../utils/listener';\nimport { makeRef } from '../utils/make-ref';\nimport { IxDatePickerComponent } from './date-picker-component';\nimport type { DateChangeEvent } from './date-picker.events';\n\ninterface CalendarWeek {\n weekNumber: number;\n dayNumbers: (number | undefined)[];\n}\n\n@Component({\n tag: 'ix-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n})\nexport class DatePicker implements IxDatePickerComponent {\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 disables date range selection (from/to).\n */\n @Prop() singleSelection: boolean = false;\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 @Prop() from: string | undefined;\n\n @Watch('from')\n watchFromPropHandler(newValue: string) {\n if (!newValue) {\n this.currFromDate = undefined;\n\n return;\n }\n\n const date = this.parseDateString(newValue);\n\n if (date) {\n this.currFromDate = date;\n this.updateSelectedYearMonth(date);\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 @Prop() to: string | undefined;\n\n @Watch('to')\n watchToPropHandler(newValue: string) {\n if (!newValue) {\n this.currToDate = undefined;\n\n return;\n }\n\n const date = this.parseDateString(newValue);\n\n if (date) {\n this.currToDate = date;\n this.updateSelectedYearMonth(date);\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 @Prop() minDate = '';\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Text of date select button\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * ARIA label for the previous month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelPreviousMonthButton?: string;\n\n /**\n * ARIA label for the next month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelNextMonthButton?: string;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n * The locale is used to translate the labels for weekdays and months.\n * When the locale changes, the weekday labels are rotated according to the `weekStartIndex`.\n * It does not affect the values returned by methods and events.\n */\n @Prop() locale?: string;\n\n @Watch('locale')\n onLocaleChange() {\n this.setTranslations();\n }\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /** @internal */\n @Prop() embedded = false;\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * Emitted when the date selection changes. The `DateChangeEvent` contains `from` and `to` properties.\n * The property strings are formatted according to the `format` property and not affected by the `locale` property.\n * The locale applied is always `en-US`.\n * Note: Since 2.0.0 `dateChange` does not dispatch detail property as `string`\n */\n @Event() dateChange!: EventEmitter<DateChangeEvent>;\n\n /**\n * Emitted when the date range selection changes and the component is in range mode. The `DateChangeEvent` contains `from` and `to` properties.\n * The property strings are formatted according to the `format` property and not affected by the `locale` property.\n * The locale applied is always `en-US`.\n */\n @Event() dateRangeChange!: EventEmitter<DateChangeEvent>;\n\n /**\n * Emitted when the selection is confirmed via the date select button. The `DateChangeEvent` contains `from` and `to` properties.\n * The property strings are formatted according to the `format` property and not affected by the `locale` property.\n * The locale applied is always `en-US`.\n */\n @Event() dateSelect!: EventEmitter<DateChangeEvent>;\n\n /**\n * Get the currently selected date or range. The object returned contains `from` and `to` properties.\n * The property strings are formatted according to the `format` property and not affected by the `locale` property.\n * The locale applied is always `en-US`.\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.singleSelection) {\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 = 0;\n @State() tempYear = 0;\n @State() startYear = 0;\n @State() endYear = 0;\n @State() selectedMonth = 0;\n @State() tempMonth = 0;\n\n private readonly dropdownButtonRef = makeRef<HTMLElement>();\n private readonly yearContainerRef = makeRef<HTMLElement>();\n private readonly firstMonthRef = makeRef<HTMLElement>();\n\n @State() dayNames!: string[];\n @State() monthNames!: string[];\n @State() focusedDay: number = 1;\n\n private isDayFocus = false;\n private monthChangedFromFocus = false;\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 (\n DateTime.utc(this.selectedYear, this.selectedMonth + 1).daysInMonth || 0\n );\n }\n\n private getDateTimeNow() {\n return DateTime.fromISO(this.today);\n }\n\n private parseDateString(dateString: string): DateTime | undefined {\n const date = DateTime.fromFormat(dateString, this.format);\n\n if (!date.isValid) {\n console.error(date.invalidExplanation);\n\n return undefined;\n }\n\n return date;\n }\n\n private updateSelectedYearMonth(date: DateTime) {\n this.selectedYear = date.year;\n this.selectedMonth = date.month - 1;\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 | undefined)[] = [];\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.current?.focus();\n }\n\n private infiniteScrollYears() {\n const yearContainer = this.yearContainerRef.current;\n\n if (!yearContainer) {\n return;\n }\n\n const scroll = yearContainer.scrollTop;\n const maxScroll = yearContainer.scrollHeight;\n const atTop = scroll === 0;\n const atBottom =\n Math.round(scroll + yearContainer.offsetHeight) >= maxScroll;\n const limit = 200;\n\n if (this.endYear - this.startYear > limit) return;\n\n if (atTop) {\n const first = yearContainer.firstElementChild as HTMLElement;\n this.startYear -= 5;\n yearContainer.scrollTo(0, first.offsetTop);\n\n return;\n }\n\n if (atBottom) {\n const last = yearContainer.lastElementChild as HTMLElement;\n this.endYear += 5;\n yearContainer.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 const dropdown = this.hostElement.shadowRoot!.querySelector('ix-dropdown');\n if (dropdown) {\n dropdown.show = false;\n }\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, target: Element) {\n if (target.classList.contains('disabled')) {\n return;\n }\n\n const date = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, selectedDay)\n );\n\n if (this.singleSelection || 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.singleSelection) {\n this.dateRangeChange.emit(date);\n }\n });\n }\n\n private getDayClasses(day: number): Record<string, boolean> {\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 ),\n range: !!(\n this.currFromDate &&\n selectedDayObj.startOf('day') > this.currFromDate.startOf('day') &&\n this.currToDate !== undefined &&\n selectedDayObj.startOf('day') < this.currToDate?.startOf('day')\n ),\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() {\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.tempYear = 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={iconChevronRightSmall}\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 corners={this.corners} embedded={this.embedded}>\n <div class=\"header\" slot=\"header\">\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(-1)}\n icon={iconChevronLeftSmall}\n variant=\"tertiary\"\n class=\"arrows\"\n aria-label={this.ariaLabelPreviousMonthButton}\n ></ix-icon-button>\n <div class=\"selector\">\n <ix-button\n variant=\"tertiary\"\n ref={this.dropdownButtonRef}\n data-testid=\"year-month-button\"\n >\n <span class=\"fontSize capitalize\">\n {this.monthNames[this.selectedMonth]} {this.selectedYear}\n </span>\n </ix-button>\n <ix-dropdown\n data-testid=\"year-month-dropdown\"\n class=\"dropdown\"\n trigger={this.dropdownButtonRef.waitForCurrent()}\n ignoreRelatedSubmenu\n placement=\"bottom-start\"\n >\n <div class=\"wrapper\">\n <div\n data-testid=\"year-container\"\n class=\"overflow\"\n onScroll={() => this.infiniteScrollYears()}\n ref={this.yearContainerRef}\n >\n {this.renderYears()}\n </div>\n <div class=\"overflow\" data-testid=\"month-container\">\n {this.monthNames.map((month, index) => (\n <div\n key={month}\n ref={(ref) => {\n if (month === this.monthNames[0]) {\n this.firstMonthRef(ref);\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={iconSingleCheck}\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 icon={iconChevronRightSmall}\n variant=\"tertiary\"\n class=\"arrows\"\n aria-label={this.ariaLabelNextMonthButton}\n ></ix-icon-button>\n </div>\n <div\n class={{\n grid: true,\n 'grid--show-week-numbers': this.showWeekNumbers,\n }}\n >\n {this.showWeekNumbers && <div class=\"calendar-item week-day\"></div>}\n {this.dayNames.map((name) => (\n <div key={name} class=\"calendar-item week-day\">\n <div class=\"overflow\">{name.slice(0, 3)}</div>\n </div>\n ))}\n {this.calendar.map((week) => {\n return (\n <Fragment>\n {this.showWeekNumbers && (\n <div class=\"calendar-item week-number\">\n {week.weekNumber}\n </div>\n )}\n {week.dayNumbers.map((day) => {\n return day ? (\n <div\n key={day}\n id={`day-cell-${day}`}\n date-calender-day\n class={this.getDayClasses(day)}\n onClick={(e) => {\n const target = e.currentTarget as HTMLElement;\n this.selectDay(day, target);\n }}\n onKeyUp={(e) => {\n const target = e.currentTarget as HTMLElement;\n if (e.key === 'Enter') {\n this.selectDay(day, target);\n }\n }}\n tabIndex={day === this.focusedDay ? 0 : -1}\n onFocus={() => this.onDayFocus()}\n onBlur={() => this.onDayBlur()}\n aria-label={`${this.selectedMonth}: ${day}`}\n >\n {day}\n </div>\n ) : (\n <div></div>\n );\n })}\n </Fragment>\n );\n })}\n </div>\n <div\n class={{\n button: true,\n hidden: this.singleSelection || this.embedded,\n }}\n >\n <ix-button onClick={() => this.onDone()}>{this.i18nDone}</ix-button>\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n: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: 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 { Component, h, Host, Prop } from '@stencil/core';\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: 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\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: 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 { Component, h, Host } from '@stencil/core';\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"],"names":[],"mappings":"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"}
@@ -100,9 +100,9 @@ const DatePicker = class {
100
100
  */
101
101
  this.format = 'yyyy/LL/dd';
102
102
  /**
103
- * If true a date-range can be selected (from/to).
103
+ * If true disables date range selection (from/to).
104
104
  */
105
- this.range = true;
105
+ this.singleSelection = false;
106
106
  /**
107
107
  * Corner style
108
108
  */
@@ -133,7 +133,7 @@ const DatePicker = class {
133
133
  */
134
134
  this.showWeekNumbers = false;
135
135
  /** @internal */
136
- this.standaloneAppearance = true;
136
+ this.embedded = false;
137
137
  /** @internal */
138
138
  this.today = DateTime.now().toISO();
139
139
  this.selectedYear = 0;
@@ -189,7 +189,7 @@ const DatePicker = class {
189
189
  const _to = ((_c = this.currToDate) === null || _c === void 0 ? void 0 : _c.isValid)
190
190
  ? (_d = this.currToDate) === null || _d === void 0 ? void 0 : _d.toFormat(this.format)
191
191
  : undefined;
192
- if (this.range) {
192
+ if (!this.singleSelection) {
193
193
  return {
194
194
  from: _from,
195
195
  to: _to,
@@ -439,7 +439,7 @@ const DatePicker = class {
439
439
  return;
440
440
  }
441
441
  const date = DateTime.fromJSDate(new Date(this.selectedYear, this.selectedMonth, selectedDay));
442
- if (!this.range || this.currFromDate === undefined) {
442
+ if (this.singleSelection || this.currFromDate === undefined) {
443
443
  this.currFromDate = date;
444
444
  this.onDateChange();
445
445
  return;
@@ -465,7 +465,7 @@ const DatePicker = class {
465
465
  onDateChange() {
466
466
  this.getCurrentDate().then((date) => {
467
467
  this.dateChange.emit(date);
468
- if (this.range) {
468
+ if (!this.singleSelection) {
469
469
  this.dateRangeChange.emit(date);
470
470
  }
471
471
  });
@@ -478,12 +478,12 @@ const DatePicker = class {
478
478
  'calendar-item': true,
479
479
  'empty-day': day === undefined,
480
480
  today: todayObj.hasSame(selectedDayObj, 'day'),
481
- selected: ((_a = this.currFromDate) === null || _a === void 0 ? void 0 : _a.hasSame(selectedDayObj, 'day')) ||
482
- ((_b = this.currToDate) === null || _b === void 0 ? void 0 : _b.hasSame(selectedDayObj, 'day')),
483
- range: this.currFromDate &&
481
+ selected: !!(((_a = this.currFromDate) === null || _a === void 0 ? void 0 : _a.hasSame(selectedDayObj, 'day')) ||
482
+ ((_b = this.currToDate) === null || _b === void 0 ? void 0 : _b.hasSame(selectedDayObj, 'day'))),
483
+ range: !!(this.currFromDate &&
484
484
  selectedDayObj.startOf('day') > this.currFromDate.startOf('day') &&
485
485
  this.currToDate !== undefined &&
486
- selectedDayObj.startOf('day') < ((_c = this.currToDate) === null || _c === void 0 ? void 0 : _c.startOf('day')),
486
+ selectedDayObj.startOf('day') < ((_c = this.currToDate) === null || _c === void 0 ? void 0 : _c.startOf('day'))),
487
487
  disabled: !this.isWithinMinMaxDate(selectedDayObj),
488
488
  };
489
489
  }
@@ -550,7 +550,7 @@ const DatePicker = class {
550
550
  return rows;
551
551
  }
552
552
  render() {
553
- return (h(Host, { key: '975fb147a2e9f2752199791804b9ea69e40bfff3' }, h("ix-date-time-card", { key: '5ffd6210644679e39b1f836d17af315b507814d4', corners: this.corners, standaloneAppearance: this.standaloneAppearance }, h("div", { key: '09ac296549f7a5f8f4b2f2ecd4bf114fb3756072', class: "header", slot: "header" }, h("ix-icon-button", { key: '10c413f54aaf109e30dfef6b520701d3f4e2260c', onClick: () => this.changeToAdjacentMonth(-1), icon: iconChevronLeftSmall, variant: "tertiary", class: "arrows", "aria-label": this.ariaLabelPreviousMonthButton }), h("div", { key: 'f724f1591b6f55bbed459db1cde01849e80532e3', class: "selector" }, h("ix-button", { key: 'fe8920851cd29e3a82ec4db028f851789b97d2ed', variant: "tertiary", ref: this.dropdownButtonRef, "data-testid": "year-month-button" }, h("span", { key: 'bfba53e439f706ce78c6c2f6b558fe5e0f8cb56d', class: "fontSize capitalize" }, this.monthNames[this.selectedMonth], " ", this.selectedYear)), h("ix-dropdown", { key: 'ee3ee120dc36d979179c47e2c6cd88975f1c304b', "data-testid": "year-month-dropdown", class: "dropdown", trigger: this.dropdownButtonRef.waitForCurrent(), ignoreRelatedSubmenu: true, placement: "bottom-start" }, h("div", { key: '647082563320b63a7af68a6c55a0cf60bc570b87', class: "wrapper" }, h("div", { key: 'a33071bb2dcc27e1932f675663f3c93a9ceac842', "data-testid": "year-container", class: "overflow", onScroll: () => this.infiniteScrollYears(), ref: this.yearContainerRef }, this.renderYears()), h("div", { key: 'c06c111bd3981a698f49a352551186615e963dbe', class: "overflow", "data-testid": "month-container" }, this.monthNames.map((month, index) => (h("div", { key: month, ref: (ref) => {
553
+ return (h(Host, { key: 'd727f1c1934317b469131c5166c8577a2f1f59c9' }, h("ix-date-time-card", { key: '7cd812f351930d12fd4a8ca1862414b25559844a', corners: this.corners, embedded: this.embedded }, h("div", { key: '40a266a3cc994f81fa272a7fbe77825d55577a12', class: "header", slot: "header" }, h("ix-icon-button", { key: '9700361e0dc914242fbe5fed38eae0e4d4f428eb', onClick: () => this.changeToAdjacentMonth(-1), icon: iconChevronLeftSmall, variant: "tertiary", class: "arrows", "aria-label": this.ariaLabelPreviousMonthButton }), h("div", { key: '731ae8fda3b949093f68cd8eb70467f083e75a2f', class: "selector" }, h("ix-button", { key: '7c4f782cdbcfbf7ab621256acd21f1aec818bf11', variant: "tertiary", ref: this.dropdownButtonRef, "data-testid": "year-month-button" }, h("span", { key: '31802a1b2cafdf865c74ab6a1ed6131fba9cd801', class: "fontSize capitalize" }, this.monthNames[this.selectedMonth], " ", this.selectedYear)), h("ix-dropdown", { key: '5587ea0df4d233aceb16bb0597613924dffeae22', "data-testid": "year-month-dropdown", class: "dropdown", trigger: this.dropdownButtonRef.waitForCurrent(), ignoreRelatedSubmenu: true, placement: "bottom-start" }, h("div", { key: 'ce87c3e8db04f3832c4f7a6bfdaa9313d7b588b5', class: "wrapper" }, h("div", { key: '35b2e7d378e53692c6f59e01653456ecf512d524', "data-testid": "year-container", class: "overflow", onScroll: () => this.infiniteScrollYears(), ref: this.yearContainerRef }, this.renderYears()), h("div", { key: '77028f922e3f68711ebef26d16fa2fb1b163c6a7', class: "overflow", "data-testid": "month-container" }, this.monthNames.map((month, index) => (h("div", { key: month, ref: (ref) => {
554
554
  if (month === this.monthNames[0]) {
555
555
  this.firstMonthRef(ref);
556
556
  }
@@ -564,10 +564,10 @@ const DatePicker = class {
564
564
  hidden: this.tempYear !== this.selectedYear ||
565
565
  this.tempMonth !== index,
566
566
  checkPosition: true,
567
- }, name: iconSingleCheck, size: "16" }), h("div", null, h("span", { class: "capitalize monthMargin" }, `${month} ${this.tempYear}`))))))))), h("ix-icon-button", { key: 'fa52a159878c21efdd07e70715869c19543761eb', onClick: () => this.changeToAdjacentMonth(1), icon: iconChevronRightSmall, variant: "tertiary", class: "arrows", "aria-label": this.ariaLabelNextMonthButton })), h("div", { key: '15b80a79336357653e270527e270db642f708062', class: {
567
+ }, name: iconSingleCheck, size: "16" }), h("div", null, h("span", { class: "capitalize monthMargin" }, `${month} ${this.tempYear}`))))))))), h("ix-icon-button", { key: 'b99ec1b3e4945ee45ed04c863464b1dbc294a278', onClick: () => this.changeToAdjacentMonth(1), icon: iconChevronRightSmall, variant: "tertiary", class: "arrows", "aria-label": this.ariaLabelNextMonthButton })), h("div", { key: 'c2b7f963615d5c5f14d4e6bf17ccf1cbc35c43e0', class: {
568
568
  grid: true,
569
569
  'grid--show-week-numbers': this.showWeekNumbers,
570
- } }, this.showWeekNumbers && h("div", { key: '2b457bd79d5c84c786aa0eb633f7d94190ab9a55', class: "calendar-item week-day" }), this.dayNames.map((name) => (h("div", { key: name, class: "calendar-item week-day" }, h("div", { class: "overflow" }, name.slice(0, 3))))), this.calendar.map((week) => {
570
+ } }, this.showWeekNumbers && h("div", { key: '20b70eccd88974f3ce79be65136d130a77ebf62c', class: "calendar-item week-day" }), this.dayNames.map((name) => (h("div", { key: name, class: "calendar-item week-day" }, h("div", { class: "overflow" }, name.slice(0, 3))))), this.calendar.map((week) => {
571
571
  return (h(Fragment, null, this.showWeekNumbers && (h("div", { class: "calendar-item week-number" }, week.weekNumber)), week.dayNumbers.map((day) => {
572
572
  return day ? (h("div", { key: day, id: `day-cell-${day}`, "date-calender-day": true, class: this.getDayClasses(day), onClick: (e) => {
573
573
  const target = e.currentTarget;
@@ -579,10 +579,10 @@ const DatePicker = class {
579
579
  }
580
580
  }, tabIndex: day === this.focusedDay ? 0 : -1, onFocus: () => this.onDayFocus(), onBlur: () => this.onDayBlur(), "aria-label": `${this.selectedMonth}: ${day}` }, day)) : (h("div", null));
581
581
  })));
582
- })), h("div", { key: 'a6a2f628600653041dfdfd48019a64b13d30d7ae', class: {
582
+ })), h("div", { key: 'e23666d293faa6b8b47cb274c31e29a6c91b3ba9', class: {
583
583
  button: true,
584
- hidden: !this.range || !this.standaloneAppearance,
585
- } }, h("ix-button", { key: '185f2c6cec57d002ac22ce0a4b9f765faf00e5f7', onClick: () => this.onDone() }, this.i18nDone)))));
584
+ hidden: this.singleSelection || this.embedded,
585
+ } }, h("ix-button", { key: '7b3acc93968e06769d451c06f3b63544af09d3ee', onClick: () => this.onDone() }, this.i18nDone)))));
586
586
  }
587
587
  get hostElement() { return getElement(this); }
588
588
  static get watchers() { return {
@@ -615,12 +615,12 @@ const LayoutGrid = class {
615
615
  this.columns = 12;
616
616
  }
617
617
  render() {
618
- return (h(Host, { key: '2772dd5c20d1b6e5da3fee9bbb1453ee6183755a', class: {
618
+ return (h(Host, { key: 'c54fe6b0890e4fa4d85c540149401c61f1cb1520', class: {
619
619
  'no-margin': this.noMargin,
620
620
  }, style: {
621
621
  '--ix-layout-grid-columns': `${this.columns}`,
622
622
  '--ix-layout-grid-gutter': `${this.gap}px`,
623
- } }, h("slot", { key: '0d3f8dad0571cf5b43762bf60657fbbf4f1a96b6' })));
623
+ } }, h("slot", { key: 'd556c7af6538057033dfdaffb8de409749c17639' })));
624
624
  }
625
625
  };
626
626
  LayoutGrid.style = layoutGridCss;
@@ -19,9 +19,9 @@ const DateDropdown = class {
19
19
  */
20
20
  this.format = 'yyyy/LL/dd';
21
21
  /**
22
- * If true a range of dates can be selected.
22
+ * If true disables date range selection (from/to).
23
23
  */
24
- this.range = true;
24
+ this.singleSelection = false;
25
25
  /**
26
26
  * Picker date. If the picker is in range mode this property is the start date.
27
27
  * If set to `null` no default start date will be pre-selected.
@@ -66,11 +66,11 @@ const DateDropdown = class {
66
66
  */
67
67
  this.showWeekNumbers = false;
68
68
  /**
69
- * Controls whether the user is allowed to pick custom date ranges in the component.
70
- * When set to 'true', the user can select a custom date range using the date picker.
71
- * When set to 'false', only predefined time date ranges are available for selection.
69
+ * Controls whether custom date range selection is disabled in the component.
70
+ * When set to 'false', the user can select a custom date range using the date picker.
71
+ * When set to 'true', only predefined time date ranges are available for selection.
72
72
  */
73
- this.customRangeAllowed = true;
73
+ this.customRangeDisabled = false;
74
74
  /**
75
75
  * An array of predefined date range options for the date picker.
76
76
  * Each option is an object with a label describing the range and a function
@@ -144,7 +144,7 @@ const DateDropdown = class {
144
144
  initialize() {
145
145
  const isCustomRange = this.dateRangeId === 'custom' ||
146
146
  (!this.dateRangeId && !!this.from && !!this.to);
147
- if (isCustomRange && this.customRangeAllowed) {
147
+ if (isCustomRange && !this.customRangeDisabled) {
148
148
  this.selectedDateRangeId = 'custom';
149
149
  this.updateCurrentDate();
150
150
  return;
@@ -214,21 +214,21 @@ const DateDropdown = class {
214
214
  }
215
215
  render() {
216
216
  var _a, _b, _c;
217
- return (h(Host, { key: 'b977b971c393e2decb1ee6b5d9a0f289b97a9d49' }, h("ix-button", { key: 'bb9b321daff499f439d555a5bdaca1beac6d945c', "data-testid": "date-dropdown-trigger", "data-date-dropdown-trigger": true, variant: this.variant, loading: this.loading, icon: iconHistory, ref: this.triggerRef, disabled: this.disabled, ariaLabel: this.ariaLabelDropdownButton }, this.getButtonLabel()), h("ix-dropdown", { key: 'a9b816ca1356acaf7de353b30bfd0b248adddb67', "data-testid": "date-dropdown", "data-date-dropdown": true, class: "min-width max-height", trigger: this.triggerRef.waitForCurrent(), closeBehavior: "outside", placement: "bottom-start", onShowChanged: ({ detail: show }) => {
217
+ return (h(Host, { key: 'b0c80bf0c01f34eccf3ffd03cab8cb4598122b8e' }, h("ix-button", { key: '19fc20d03477850083cc6274ea8b4269fb827365', "data-testid": "date-dropdown-trigger", "data-date-dropdown-trigger": true, variant: this.variant, loading: this.loading, icon: iconHistory, ref: this.triggerRef, disabled: this.disabled, ariaLabel: this.ariaLabelDropdownButton }, this.getButtonLabel()), h("ix-dropdown", { key: '8b0260dd47fd1e6267b539ef0f12a544f3817c93', "data-testid": "date-dropdown", "data-date-dropdown": true, class: "min-width max-height", trigger: this.triggerRef.waitForCurrent(), closeBehavior: "outside", placement: "bottom-start", onShowChanged: ({ detail: show }) => {
218
218
  if (!show &&
219
219
  this.selectedDateRangeId === 'custom' &&
220
220
  this.datePickerTouched &&
221
221
  this.currentRangeValue) {
222
222
  this.onDateSelect(this.currentRangeValue);
223
223
  }
224
- } }, h("ix-layout-grid", { key: '506cb9851836d4afd5cd3389392134711dbf6d06', noMargin: true }, h("ix-row", { key: '3535f191761b9eba9acce33a00cfb0e57fb8dfcf' }, ((_a = this.dateRangeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (h("ix-col", { key: '18aa27777967221e10c5e64463b2f06d00f5cb86', class: {
224
+ } }, h("ix-layout-grid", { key: '827aa5f75b7351f7194800e5d08e99be05550674', noMargin: true }, h("ix-row", { key: '31a94fc990f9f4a30f3259e1148e897d512b3408' }, ((_a = this.dateRangeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (h("ix-col", { key: '4c6222ffde5a8f8644f7e4030f5942e148014e2f', class: {
225
225
  'no-margin': true,
226
226
  'border-right': this.selectedDateRangeId === 'custom',
227
- } }, this.dateRangeOptions.map((dateRangeOption) => (h("ix-dropdown-item", { label: dateRangeOption.label, onClick: () => this.onRangeListSelect(dateRangeOption.id), checked: this.selectedDateRangeId === dateRangeOption.id }))), h("div", { key: '99819aa2022de83a79f9a405e875dd0749ce7e8c', hidden: !this.customRangeAllowed }, h("ix-dropdown-item", { key: 'd60f7d8ada6b1a8835289b39f70c4a2082c3bddc', label: this.i18nCustomItem, checked: this.selectedDateRangeId === 'custom', onClick: () => this.onRangeListSelect('custom') })))), h("ix-col", { key: 'b20fd6accb39f3f91450c9474b726ec5cd80a7e7', class: "no-margin" }, this.selectedDateRangeId === 'custom' && (h(Fragment, { key: '69fe830b8d426b735274ada9e2d600dd0b402f42' }, h("ix-date-picker", { key: 'bcfd9bcfa0517dfd8947ce39668bfd2a9e732708', standaloneAppearance: false, locale: this.locale, onDateChange: (e) => {
227
+ } }, this.dateRangeOptions.map((dateRangeOption) => (h("ix-dropdown-item", { label: dateRangeOption.label, onClick: () => this.onRangeListSelect(dateRangeOption.id), checked: this.selectedDateRangeId === dateRangeOption.id }))), h("div", { key: '7c6e52ce4e81ba257925eaf9dae155d1fff0bcf1', hidden: this.customRangeDisabled }, h("ix-dropdown-item", { key: '6be7c3b1b827a75c51f82edd8971b3cc53f8167c', label: this.i18nCustomItem, checked: this.selectedDateRangeId === 'custom', onClick: () => this.onRangeListSelect('custom') })))), h("ix-col", { key: 'a8119f9199cb8e4e162688bfdcf4f91242fbd5b7', class: "no-margin" }, this.selectedDateRangeId === 'custom' && (h(Fragment, { key: 'bd24f234a02cc55ed73df93ca6d6791d11d9ad77' }, h("ix-date-picker", { key: '0aaf7e9c3ee79d9d232eed14fb840e246caddd20', embedded: true, locale: this.locale, onDateChange: (e) => {
228
228
  e.stopPropagation();
229
229
  this.currentRangeValue = Object.assign(Object.assign({}, e.detail), { id: 'custom' });
230
230
  this.datePickerTouched = true;
231
- }, onDateRangeChange: (e) => e.stopPropagation(), format: this.format, range: this.range, from: this.from || ((_b = this.currentRangeValue) === null || _b === void 0 ? void 0 : _b.from), to: this.to || ((_c = this.currentRangeValue) === null || _c === void 0 ? void 0 : _c.to), minDate: this.minDate, maxDate: this.maxDate, today: this.today, weekStartIndex: this.weekStartIndex, showWeekNumbers: this.showWeekNumbers }), h("div", { key: '08f452db2c829fbb0e6e25e0c3ea38bb0c4a5361', class: "pull-right" }, h("ix-button", { key: '33b0f283488347219afb840cfcdf92e308da58de', onClick: () => {
231
+ }, onDateRangeChange: (e) => e.stopPropagation(), format: this.format, singleSelection: this.singleSelection, from: this.from || ((_b = this.currentRangeValue) === null || _b === void 0 ? void 0 : _b.from), to: this.to || ((_c = this.currentRangeValue) === null || _c === void 0 ? void 0 : _c.to), minDate: this.minDate, maxDate: this.maxDate, today: this.today, weekStartIndex: this.weekStartIndex, showWeekNumbers: this.showWeekNumbers }), h("div", { key: 'f2bd49f4ca5012eb32fc4e859bb6e9da2cd25f3d', class: "pull-right" }, h("ix-button", { key: '18cb506d16700b59884660c4d8afb63c6e66400b', onClick: () => {
232
232
  if (this.currentRangeValue) {
233
233
  this.onDateSelect(this.currentRangeValue);
234
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ix-date-dropdown.entry.js","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@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n display: inline-block;\n position: relative;\n\n @include component.ix-component;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: 0 vars.$default-space vars.$medium-space vars.$default-space; }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { type LiteralStringUnion } from '../utils/type-helper';\nimport { IxDatePickerComponent } from '../date-picker/date-picker-component';\nimport { makeRef } from '../utils/make-ref';\nimport { ButtonVariant } from '../button/button';\nimport { IxButtonComponent } from '../button/button-component';\nimport { iconHistory } from '@siemens/ix-icons/icons';\nimport type {\n DateDropdownOption,\n DateRangeChangeEvent,\n} from './date-dropdown.types';\n\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown\n implements\n Omit<IxDatePickerComponent, 'corners'>,\n Omit<IxButtonComponent, 'type' | 'icon'>\n{\n @Element() hostElement!: HTMLIxDateDropdownElement;\n\n /**\n * Disable the button that opens the dropdown containing the date picker.\n */\n @Prop() disabled = false;\n\n /**\n * Date format string.\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true a range of dates can be selected.\n */\n @Prop() range = true;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from = '';\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to = '';\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate = '';\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n\n /**\n * Button variant\n */\n @Prop() variant: ButtonVariant = 'primary';\n\n /**\n * Loading button\n */\n @Prop() loading: boolean = false;\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * ARIA label for the dropdown\n * Will be set as aria-label on the nested HTML button element that will trigger the dropdown\n */\n @Prop() ariaLabelDropdownButton?: string;\n\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.updateCurrentDate();\n this.setDateRangeSelection(this.dateRangeId);\n\n if (!this.currentRangeValue) {\n return;\n }\n\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether the user is allowed to pick custom date ranges in the component.\n * When set to 'true', the user can select a custom date range using the date picker.\n * When set to 'false', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeAllowed = true;\n\n /**\n * An array of predefined date range options for the date picker.\n * Each option is an object with a label describing the range and a function\n * that returns the start and end dates of the range as a DateRangeOption object.\n *\n * Example format:\n * {\n * id: 'some unique id',\n * label: 'Name of the range',\n * from: undefined, to: '2023/03/29'\n * },\n * // ... other predefined date range options ...\n */\n @Prop() dateRangeOptions: DateDropdownOption[] = [];\n\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Text for custom dropdown item. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-custom-item' }) i18nCustomItem = 'Custom...';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-no-range' }) i18nNoRange = 'No range set';\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * EventEmitter for date range change events.\n *\n * This event is emitted when the date range changes within the component.\n * The event payload contains information about the selected date range.\n */\n @Event()\n private readonly dateRangeChange!: EventEmitter<DateRangeChangeEvent>;\n\n @State() private selectedDateRangeId: LiteralStringUnion<'custom'> = '';\n @State() private currentRangeValue?: {\n from?: string;\n to?: string;\n id: string;\n };\n private readonly triggerRef = makeRef<HTMLElement>();\n\n @Watch('disabled')\n onDisabledChange() {\n if (this.disabled) {\n this.closeDropdown();\n }\n }\n\n private datePickerTouched = false;\n\n componentWillLoad() {\n this.initialize();\n this.setDateRangeSelection(this.dateRangeId);\n }\n\n /**\n * Retrieves the currently selected date range from the component.\n * This method returns the selected date range as a `DateChangeEvent` object.\n */\n @Method()\n public async getDateRange(): Promise<DateRangeChangeEvent> {\n return this.currentRangeValue || { id: '', from: '', to: '' };\n }\n\n private initialize() {\n const isCustomRange =\n this.dateRangeId === 'custom' ||\n (!this.dateRangeId && !!this.from && !!this.to);\n\n if (isCustomRange && this.customRangeAllowed) {\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n }\n\n private updateCurrentDate() {\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n }\n\n private onDateSelect(\n rangeValue: { from?: string; to?: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id) && this.currentRangeValue) {\n this.onDateSelect(this.currentRangeValue);\n }\n }\n\n private setDateRangeSelection(id: string) {\n this.selectedDateRangeId = id;\n const option = this.dateRangeOptions.find((range) => range.id === id);\n\n if (option) {\n this.currentRangeValue = option;\n }\n\n return option;\n }\n\n private closeDropdown() {\n const dropdown = this.hostElement.shadowRoot!.querySelector('ix-dropdown');\n\n if (dropdown) {\n dropdown.show = false;\n }\n }\n\n private getButtonLabel() {\n if (this.selectedDateRangeId === 'custom' && this.currentRangeValue?.from) {\n let range = this.currentRangeValue.from;\n\n if (this.currentRangeValue.to) {\n range += ` - ${this.currentRangeValue.to}`;\n }\n\n return range;\n }\n\n if (!this.selectedDateRangeId) {\n return this.i18nNoRange;\n }\n\n if (!this.dateRangeOptions || this.dateRangeOptions?.length === 0) {\n return this.i18nNoRange;\n }\n\n const option = this.dateRangeOptions.find(\n (option) => option.id === this.selectedDateRangeId\n );\n\n if (!option) {\n console.error(\n `Cannot find range option with id ${this.selectedDateRangeId}`\n );\n return this.i18nNoRange;\n }\n\n return option.label;\n }\n\n render() {\n return (\n <Host>\n <ix-button\n data-testid=\"date-dropdown-trigger\"\n data-date-dropdown-trigger\n variant={this.variant}\n loading={this.loading}\n icon={iconHistory}\n ref={this.triggerRef}\n disabled={this.disabled}\n ariaLabel={this.ariaLabelDropdownButton}\n >\n {this.getButtonLabel()}\n </ix-button>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n data-date-dropdown\n class=\"min-width max-height\"\n trigger={this.triggerRef.waitForCurrent()}\n closeBehavior=\"outside\"\n placement=\"bottom-start\"\n onShowChanged={({ detail: show }) => {\n if (\n !show &&\n this.selectedDateRangeId === 'custom' &&\n this.datePickerTouched &&\n this.currentRangeValue\n ) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n <ix-layout-grid noMargin>\n <ix-row>\n {this.dateRangeOptions?.length > 1 && (\n <ix-col\n class={{\n 'no-margin': true,\n 'border-right': this.selectedDateRangeId === 'custom',\n }}\n >\n {this.dateRangeOptions.map((dateRangeOption) => (\n <ix-dropdown-item\n label={dateRangeOption.label}\n onClick={() => this.onRangeListSelect(dateRangeOption.id)}\n checked={this.selectedDateRangeId === dateRangeOption.id}\n ></ix-dropdown-item>\n ))}\n <div hidden={!this.customRangeAllowed}>\n <ix-dropdown-item\n label={this.i18nCustomItem}\n checked={this.selectedDateRangeId === 'custom'}\n onClick={() => this.onRangeListSelect('custom')}\n ></ix-dropdown-item>\n </div>\n </ix-col>\n )}\n <ix-col class=\"no-margin\">\n {this.selectedDateRangeId === 'custom' && (\n <Fragment>\n <ix-date-picker\n standaloneAppearance={false}\n locale={this.locale}\n onDateChange={(e) => {\n e.stopPropagation();\n this.currentRangeValue = {\n ...e.detail,\n id: 'custom',\n };\n this.datePickerTouched = true;\n }}\n onDateRangeChange={(e) => e.stopPropagation()}\n format={this.format}\n range={this.range}\n from={this.from || this.currentRangeValue?.from}\n to={this.to || this.currentRangeValue?.to}\n minDate={this.minDate}\n maxDate={this.maxDate}\n today={this.today}\n weekStartIndex={this.weekStartIndex}\n showWeekNumbers={this.showWeekNumbers}\n ></ix-date-picker>\n <div class=\"pull-right\">\n <ix-button\n onClick={() => {\n if (this.currentRangeValue) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </Fragment>\n )}\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-date-dropdown.entry.js","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@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n display: inline-block;\n position: relative;\n\n @include component.ix-component;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: 0 vars.$default-space vars.$medium-space vars.$default-space; }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { type LiteralStringUnion } from '../utils/type-helper';\nimport { IxDatePickerComponent } from '../date-picker/date-picker-component';\nimport { makeRef } from '../utils/make-ref';\nimport { ButtonVariant } from '../button/button';\nimport { IxButtonComponent } from '../button/button-component';\nimport { iconHistory } from '@siemens/ix-icons/icons';\nimport type {\n DateDropdownOption,\n DateRangeChangeEvent,\n} from './date-dropdown.types';\n\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown\n implements\n Omit<IxDatePickerComponent, 'corners'>,\n Omit<IxButtonComponent, 'type' | 'icon'>\n{\n @Element() hostElement!: HTMLIxDateDropdownElement;\n\n /**\n * Disable the button that opens the dropdown containing the date picker.\n */\n @Prop() disabled = false;\n\n /**\n * Date format string.\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true disables date range selection (from/to).\n */\n @Prop() singleSelection = false;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from = '';\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to = '';\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate = '';\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n\n /**\n * Button variant\n */\n @Prop() variant: ButtonVariant = 'primary';\n\n /**\n * Loading button\n */\n @Prop() loading: boolean = false;\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * ARIA label for the dropdown\n * Will be set as aria-label on the nested HTML button element that will trigger the dropdown\n */\n @Prop() ariaLabelDropdownButton?: string;\n\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.updateCurrentDate();\n this.setDateRangeSelection(this.dateRangeId);\n\n if (!this.currentRangeValue) {\n return;\n }\n\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether custom date range selection is disabled in the component.\n * When set to 'false', the user can select a custom date range using the date picker.\n * When set to 'true', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeDisabled = false;\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\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Text for custom dropdown item. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-custom-item' }) i18nCustomItem = 'Custom...';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-no-range' }) i18nNoRange = 'No range set';\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * EventEmitter for date range change events.\n *\n * This event is emitted when the date range changes within the component.\n * The event payload contains information about the selected date range.\n */\n @Event()\n private readonly dateRangeChange!: EventEmitter<DateRangeChangeEvent>;\n\n @State() private selectedDateRangeId: LiteralStringUnion<'custom'> = '';\n @State() private currentRangeValue?: {\n from?: string;\n to?: string;\n id: string;\n };\n private readonly triggerRef = makeRef<HTMLElement>();\n\n @Watch('disabled')\n onDisabledChange() {\n if (this.disabled) {\n this.closeDropdown();\n }\n }\n\n private datePickerTouched = false;\n\n componentWillLoad() {\n this.initialize();\n this.setDateRangeSelection(this.dateRangeId);\n }\n\n /**\n * Retrieves the currently selected date range from the component.\n * This method returns the selected date range as a `DateChangeEvent` object.\n */\n @Method()\n public async getDateRange(): Promise<DateRangeChangeEvent> {\n return this.currentRangeValue || { id: '', from: '', to: '' };\n }\n\n private initialize() {\n const isCustomRange =\n this.dateRangeId === 'custom' ||\n (!this.dateRangeId && !!this.from && !!this.to);\n\n if (isCustomRange && !this.customRangeDisabled) {\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n }\n\n private updateCurrentDate() {\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n }\n\n private onDateSelect(\n rangeValue: { from?: string; to?: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id) && this.currentRangeValue) {\n this.onDateSelect(this.currentRangeValue);\n }\n }\n\n private setDateRangeSelection(id: string) {\n this.selectedDateRangeId = id;\n const option = this.dateRangeOptions.find((range) => range.id === id);\n\n if (option) {\n this.currentRangeValue = option;\n }\n\n return option;\n }\n\n private closeDropdown() {\n const dropdown = this.hostElement.shadowRoot!.querySelector('ix-dropdown');\n\n if (dropdown) {\n dropdown.show = false;\n }\n }\n\n private getButtonLabel() {\n if (this.selectedDateRangeId === 'custom' && this.currentRangeValue?.from) {\n let range = this.currentRangeValue.from;\n\n if (this.currentRangeValue.to) {\n range += ` - ${this.currentRangeValue.to}`;\n }\n\n return range;\n }\n\n if (!this.selectedDateRangeId) {\n return this.i18nNoRange;\n }\n\n if (!this.dateRangeOptions || this.dateRangeOptions?.length === 0) {\n return this.i18nNoRange;\n }\n\n const option = this.dateRangeOptions.find(\n (option) => option.id === this.selectedDateRangeId\n );\n\n if (!option) {\n console.error(\n `Cannot find range option with id ${this.selectedDateRangeId}`\n );\n return this.i18nNoRange;\n }\n\n return option.label;\n }\n\n render() {\n return (\n <Host>\n <ix-button\n data-testid=\"date-dropdown-trigger\"\n data-date-dropdown-trigger\n variant={this.variant}\n loading={this.loading}\n icon={iconHistory}\n ref={this.triggerRef}\n disabled={this.disabled}\n ariaLabel={this.ariaLabelDropdownButton}\n >\n {this.getButtonLabel()}\n </ix-button>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n data-date-dropdown\n class=\"min-width max-height\"\n trigger={this.triggerRef.waitForCurrent()}\n closeBehavior=\"outside\"\n placement=\"bottom-start\"\n onShowChanged={({ detail: show }) => {\n if (\n !show &&\n this.selectedDateRangeId === 'custom' &&\n this.datePickerTouched &&\n this.currentRangeValue\n ) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n <ix-layout-grid noMargin>\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.customRangeDisabled}>\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 embedded\n locale={this.locale}\n onDateChange={(e) => {\n e.stopPropagation();\n this.currentRangeValue = {\n ...e.detail,\n id: 'custom',\n };\n this.datePickerTouched = true;\n }}\n onDateRangeChange={(e) => e.stopPropagation()}\n format={this.format}\n singleSelection={this.singleSelection}\n from={this.from || this.currentRangeValue?.from}\n to={this.to || this.currentRangeValue?.to}\n minDate={this.minDate}\n maxDate={this.maxDate}\n today={this.today}\n weekStartIndex={this.weekStartIndex}\n showWeekNumbers={this.showWeekNumbers}\n ></ix-date-picker>\n <div class=\"pull-right\">\n <ix-button\n onClick={() => {\n if (this.currentRangeValue) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </Fragment>\n )}\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}