@siemens/ix 0.0.0-pr-2166-20251001134702 → 0.0.0-pr-2214-20251017134939

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 (911) hide show
  1. package/READMEOSS.html +20 -20
  2. package/components/index.js +4 -4
  3. package/components/index.js.map +1 -1
  4. package/components/ix-action-card.js +3 -3
  5. package/components/ix-action-card.js.map +1 -1
  6. package/components/ix-application-header.js +1 -1
  7. package/components/ix-application-switch-modal.js +6 -6
  8. package/components/ix-application.js +2 -2
  9. package/components/ix-avatar.js +1 -1
  10. package/components/ix-basic-navigation.js +7 -7
  11. package/components/ix-blind.js +1 -1
  12. package/components/ix-breadcrumb-item.js +1 -1
  13. package/components/ix-breadcrumb.js +10 -10
  14. package/components/ix-breadcrumb.js.map +1 -1
  15. package/components/ix-button.js +1 -1
  16. package/components/ix-card-list.js +4 -4
  17. package/components/ix-category-filter.js +22 -13
  18. package/components/ix-category-filter.js.map +1 -1
  19. package/components/ix-checkbox-group.js +4 -4
  20. package/components/ix-checkbox.js +1 -1
  21. package/components/ix-chip.js +15 -14
  22. package/components/ix-chip.js.map +1 -1
  23. package/components/ix-content-header.js +3 -3
  24. package/components/ix-custom-field.js +4 -4
  25. package/components/ix-date-dropdown.js +20 -20
  26. package/components/ix-date-dropdown.js.map +1 -1
  27. package/components/ix-date-input.js +14 -14
  28. package/components/ix-date-input.js.map +1 -1
  29. package/components/ix-date-picker.js +1 -1
  30. package/components/ix-date-time-card.js +1 -1
  31. package/components/ix-datetime-picker.js +34 -13
  32. package/components/ix-datetime-picker.js.map +1 -1
  33. package/components/ix-drawer.js +7 -8
  34. package/components/ix-drawer.js.map +1 -1
  35. package/components/ix-dropdown-button.js +4 -4
  36. package/components/ix-dropdown-header.js +1 -1
  37. package/components/ix-dropdown.js +1 -1
  38. package/components/ix-empty-state.js +3 -3
  39. package/components/ix-event-list.js +4 -4
  40. package/components/ix-event-list.js.map +1 -1
  41. package/components/ix-expanding-search.js +2 -2
  42. package/components/ix-field-label.js +1 -1
  43. package/components/ix-field-wrapper.js +1 -1
  44. package/components/ix-filter-chip.js +1 -1
  45. package/components/ix-flip-tile.js +2 -2
  46. package/components/ix-group-context-menu.js +1 -1
  47. package/components/ix-group-item.js +1 -1
  48. package/components/ix-group.js +24 -24
  49. package/components/ix-group.js.map +1 -1
  50. package/components/ix-helper-text.js +2 -2
  51. package/components/ix-icon-button.js +1 -1
  52. package/components/ix-icon-toggle-button.js +2 -2
  53. package/components/ix-input-group.d.ts +11 -0
  54. package/components/ix-input-group.js +154 -0
  55. package/components/ix-input-group.js.map +1 -0
  56. package/components/ix-input.js +11 -11
  57. package/components/ix-input.js.map +1 -1
  58. package/components/ix-key-value-list.js +1 -1
  59. package/components/ix-key-value.js +1 -1
  60. package/components/ix-kpi.js +3 -3
  61. package/components/ix-layout-auto.js +1 -1
  62. package/components/ix-layout-grid.js +1 -1
  63. package/components/ix-link-button.js +3 -3
  64. package/components/ix-map-navigation-overlay.js +1 -1
  65. package/components/ix-map-navigation.js +9 -10
  66. package/components/ix-map-navigation.js.map +1 -1
  67. package/components/ix-menu-about-item.js +1 -1
  68. package/components/ix-menu-about-news.js +8 -8
  69. package/components/ix-menu-about.js +4 -4
  70. package/components/ix-menu-avatar-item.js +1 -1
  71. package/components/ix-menu-avatar.js +11 -11
  72. package/components/ix-menu-avatar.js.map +1 -1
  73. package/components/ix-menu-category.js +9 -9
  74. package/components/ix-menu-expand-icon.js +1 -1
  75. package/components/ix-menu-item.js +1 -1
  76. package/components/ix-menu-settings-item.js +1 -1
  77. package/components/ix-menu-settings.js +1 -1
  78. package/components/ix-menu.js +26 -21
  79. package/components/ix-menu.js.map +1 -1
  80. package/components/ix-message-bar.js +11 -8
  81. package/components/ix-message-bar.js.map +1 -1
  82. package/components/ix-modal-content.js +1 -1
  83. package/components/ix-modal-footer.js +1 -1
  84. package/components/ix-modal-header.js +1 -1
  85. package/components/ix-modal-loading.js +2 -2
  86. package/components/ix-modal.js +17 -17
  87. package/components/ix-modal.js.map +1 -1
  88. package/components/ix-number-input.js +12 -12
  89. package/components/ix-pagination.js +15 -15
  90. package/components/ix-pagination.js.map +1 -1
  91. package/components/ix-pane-layout.js +1 -1
  92. package/components/ix-pane.js +4 -4
  93. package/components/ix-pill.js +3 -3
  94. package/components/ix-pill.js.map +1 -1
  95. package/components/ix-progress-indicator.js +2 -2
  96. package/components/ix-push-card.js +5 -5
  97. package/components/ix-push-card.js.map +1 -1
  98. package/components/ix-radio-group.js +4 -4
  99. package/components/ix-radio.js +1 -1
  100. package/components/ix-select.js +1 -1
  101. package/components/ix-slider.js +2 -2
  102. package/components/ix-spinner.js +1 -1
  103. package/components/ix-split-button.js +4 -4
  104. package/components/ix-tab-item.js +1 -1
  105. package/components/ix-textarea.js +6 -6
  106. package/components/ix-time-input.js +20 -13
  107. package/components/ix-time-input.js.map +1 -1
  108. package/components/ix-time-picker.js +1 -1
  109. package/components/ix-toast-container.js +9 -9
  110. package/components/ix-toast-container.js.map +1 -1
  111. package/components/ix-toast.js +1 -1
  112. package/components/ix-toggle-button.js +1 -1
  113. package/components/ix-toggle.js +5 -5
  114. package/components/ix-toggle.js.map +1 -1
  115. package/components/ix-tooltip.js +1 -1
  116. package/components/ix-tree-item.js +1 -1
  117. package/components/ix-tree.js +2 -2
  118. package/components/ix-typography.js +1 -1
  119. package/components/ix-upload.js +5 -5
  120. package/components/ix-validation-tooltip.d.ts +11 -0
  121. package/components/ix-validation-tooltip.js +184 -0
  122. package/components/ix-validation-tooltip.js.map +1 -0
  123. package/components/ix-workflow-step.js +5 -4
  124. package/components/ix-workflow-step.js.map +1 -1
  125. package/components/ix-workflow-steps.js +1 -1
  126. package/components/{p-COHP8TmU.js → p-4zrYEasX.js} +3 -3
  127. package/components/p-4zrYEasX.js.map +1 -0
  128. package/components/{p-DklPCkRW.js → p-8MS-omi7.js} +3 -3
  129. package/components/{p-DklPCkRW.js.map → p-8MS-omi7.js.map} +1 -1
  130. package/components/{p-7-Wnr7e5.js → p-BFuOBAQB.js} +12 -6
  131. package/components/p-BFuOBAQB.js.map +1 -0
  132. package/components/{p-Baga5bu5.js → p-BSiqAMAr.js} +6 -6
  133. package/components/{p-Baga5bu5.js.map → p-BSiqAMAr.js.map} +1 -1
  134. package/components/{p-DE74-VWH.js → p-BYRT3Z1w.js} +12 -11
  135. package/components/p-BYRT3Z1w.js.map +1 -0
  136. package/components/{p-ts3VxLYi.js → p-BYvKfy9G.js} +6 -6
  137. package/components/{p-ts3VxLYi.js.map → p-BYvKfy9G.js.map} +1 -1
  138. package/components/{p-DOGuJxKg.js → p-BnT1mAuX.js} +6 -6
  139. package/components/{p-DOGuJxKg.js.map → p-BnT1mAuX.js.map} +1 -1
  140. package/components/{p-C4MK63gz.js → p-BrgHqrnH.js} +3 -3
  141. package/components/{p-C4MK63gz.js.map → p-BrgHqrnH.js.map} +1 -1
  142. package/components/{p-DaR6pX8w.js → p-C-7UhkWz.js} +8 -8
  143. package/components/{p-DaR6pX8w.js.map → p-C-7UhkWz.js.map} +1 -1
  144. package/components/{p-D3ZlTDAF.js → p-C3irznVN.js} +3 -3
  145. package/components/{p-D3ZlTDAF.js.map → p-C3irznVN.js.map} +1 -1
  146. package/components/{p-CiSM2A9Q.js → p-CAqtPJ4-.js} +3 -102
  147. package/components/p-CAqtPJ4-.js.map +1 -0
  148. package/components/p-CFRrPFxi.js +103 -0
  149. package/components/p-CFRrPFxi.js.map +1 -0
  150. package/components/{p-BmLRwuMH.js → p-CGPMGyof.js} +6 -5
  151. package/components/p-CGPMGyof.js.map +1 -0
  152. package/components/{p-DlNAQJQO.js → p-CMNpJTDF.js} +3 -3
  153. package/components/{p-DlNAQJQO.js.map → p-CMNpJTDF.js.map} +1 -1
  154. package/components/{p-uiKHewyI.js → p-CMk-tLmg.js} +4 -4
  155. package/components/{p-uiKHewyI.js.map → p-CMk-tLmg.js.map} +1 -1
  156. package/components/{p-CCyj6Nhd.js → p-CO2zhw6V.js} +3 -3
  157. package/components/{p-CCyj6Nhd.js.map → p-CO2zhw6V.js.map} +1 -1
  158. package/components/{p-C8wXJCK3.js → p-C_x_G0ux.js} +5 -5
  159. package/components/{p-C8wXJCK3.js.map → p-C_x_G0ux.js.map} +1 -1
  160. package/components/{p-BruPthTZ.js → p-CbQqqTKK.js} +71 -17
  161. package/components/p-CbQqqTKK.js.map +1 -0
  162. package/components/{p-w319yPRv.js → p-Cl420PSP.js} +6 -6
  163. package/components/{p-w319yPRv.js.map → p-Cl420PSP.js.map} +1 -1
  164. package/components/{p-C9yPT68I.js → p-CsHYWHE6.js} +25 -37
  165. package/components/p-CsHYWHE6.js.map +1 -0
  166. package/components/p-Ctze1Bh6.js +64 -0
  167. package/components/p-Ctze1Bh6.js.map +1 -0
  168. package/components/{p-BU9xngEb.js → p-CyJWaxhg.js} +9 -9
  169. package/components/{p-BU9xngEb.js.map → p-CyJWaxhg.js.map} +1 -1
  170. package/components/{p-gkooEHol.js → p-CzzcLSmV.js} +4 -4
  171. package/components/p-CzzcLSmV.js.map +1 -0
  172. package/components/{p-Cx5H0GeI.js → p-D5QNBS-J.js} +18 -21
  173. package/components/p-D5QNBS-J.js.map +1 -0
  174. package/components/{p-bBkFZC8X.js → p-D99ntB9D.js} +4 -4
  175. package/components/{p-bBkFZC8X.js.map → p-D99ntB9D.js.map} +1 -1
  176. package/components/{p-BLcKiU45.js → p-DAWZ76L0.js} +4 -4
  177. package/components/{p-BLcKiU45.js.map → p-DAWZ76L0.js.map} +1 -1
  178. package/components/{p-Ba6JlSP8.js → p-DRlGkOeX.js} +5 -5
  179. package/components/{p-Ba6JlSP8.js.map → p-DRlGkOeX.js.map} +1 -1
  180. package/components/{p-DSF854K6.js → p-DZNnQyWO.js} +4 -3
  181. package/components/p-DZNnQyWO.js.map +1 -0
  182. package/components/{p-DLcItN6d.js → p-DmTyQW2E.js} +5 -5
  183. package/components/p-DmTyQW2E.js.map +1 -0
  184. package/components/{p-Bc15ecXv.js → p-DyW_A5Tq.js} +13 -13
  185. package/components/p-DyW_A5Tq.js.map +1 -0
  186. package/components/{p-4dm0FrTr.js → p-FnN74Elm.js} +4 -3
  187. package/components/p-FnN74Elm.js.map +1 -0
  188. package/components/{p-CfOUCcs9.js → p-GkRC08qs.js} +3 -3
  189. package/components/{p-CfOUCcs9.js.map → p-GkRC08qs.js.map} +1 -1
  190. package/components/p-fef9-zXA.js +56 -0
  191. package/components/{p-R9YNQy08.js.map → p-fef9-zXA.js.map} +1 -1
  192. package/components/{p-BNYHD56q.js → p-j4BMT-Rr.js} +25 -25
  193. package/components/p-j4BMT-Rr.js.map +1 -0
  194. package/components/{p-Fbu6eUjk.js → p-s3E9saxz.js} +5 -5
  195. package/components/{p-Fbu6eUjk.js.map → p-s3E9saxz.js.map} +1 -1
  196. package/components/p-taILGXkr.js.map +1 -1
  197. package/dist/cjs/find-element-D7yD1Ukn.js +106 -0
  198. package/dist/cjs/find-element-D7yD1Ukn.js.map +1 -0
  199. package/dist/cjs/{find-element-BNZJcvT8.js → floating-ui.dom-CMzYsRR7.js} +2 -103
  200. package/dist/cjs/floating-ui.dom-CMzYsRR7.js.map +1 -0
  201. package/dist/cjs/{index-BJkiBUu0.js → index-B7AMgiIZ.js} +3 -3
  202. package/dist/cjs/{index-BJkiBUu0.js.map → index-B7AMgiIZ.js.map} +1 -1
  203. package/dist/cjs/index-DuDLgBnw.js +8 -0
  204. package/dist/cjs/index-Dyz3z1FD.js.map +1 -1
  205. package/dist/cjs/index.cjs.js +3 -3
  206. package/dist/cjs/index.cjs.js.map +1 -1
  207. package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
  208. package/dist/cjs/ix-action-card.entry.cjs.js.map +1 -1
  209. package/dist/cjs/ix-application-header.cjs.entry.js +3 -3
  210. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
  211. package/dist/cjs/ix-application.cjs.entry.js +2 -2
  212. package/dist/cjs/ix-avatar.ix-menu-avatar-item.entry.cjs.js.map +1 -1
  213. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  214. package/dist/cjs/ix-basic-navigation.cjs.entry.js +1 -1
  215. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +7 -7
  216. package/dist/cjs/ix-breadcrumb-item.entry.cjs.js.map +1 -1
  217. package/dist/cjs/ix-breadcrumb.cjs.entry.js +6 -6
  218. package/dist/cjs/ix-breadcrumb.entry.cjs.js.map +1 -1
  219. package/dist/cjs/ix-category-filter.cjs.entry.js +16 -8
  220. package/dist/cjs/ix-category-filter.entry.cjs.js.map +1 -1
  221. package/dist/cjs/ix-chip.cjs.entry.js +10 -9
  222. package/dist/cjs/ix-chip.entry.cjs.js.map +1 -1
  223. package/dist/cjs/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.cjs.js.map +1 -1
  224. package/dist/cjs/ix-col_4.cjs.entry.js +18 -18
  225. package/dist/cjs/ix-date-dropdown.cjs.entry.js +11 -11
  226. package/dist/cjs/ix-date-dropdown.entry.cjs.js.map +1 -1
  227. package/dist/cjs/ix-date-input.cjs.entry.js +4 -4
  228. package/dist/cjs/ix-date-input.entry.cjs.js.map +1 -1
  229. package/dist/cjs/ix-date-time-card.cjs.entry.js +8 -3
  230. package/dist/cjs/ix-date-time-card.entry.cjs.js.map +1 -1
  231. package/dist/cjs/ix-datetime-picker.cjs.entry.js +21 -3
  232. package/dist/cjs/ix-datetime-picker.entry.cjs.js.map +1 -1
  233. package/dist/cjs/ix-drawer.cjs.entry.js +5 -6
  234. package/dist/cjs/ix-drawer.entry.cjs.js.map +1 -1
  235. package/dist/cjs/ix-dropdown.cjs.entry.js +8 -7
  236. package/dist/cjs/ix-dropdown.entry.cjs.js.map +1 -1
  237. package/dist/cjs/ix-event-list.cjs.entry.js +4 -4
  238. package/dist/cjs/ix-event-list.entry.cjs.js.map +1 -1
  239. package/dist/cjs/ix-filter-chip.ix-select-item.entry.cjs.js.map +1 -1
  240. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +1 -1
  241. package/dist/cjs/ix-group-context-menu.ix-group-item.entry.cjs.js.map +1 -1
  242. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +5 -18
  243. package/dist/cjs/ix-group.cjs.entry.js +18 -18
  244. package/dist/cjs/ix-group.entry.cjs.js.map +1 -1
  245. package/dist/cjs/ix-helper-text.cjs.entry.js +1 -1
  246. package/dist/cjs/ix-icon-button.ix-spinner.entry.cjs.js.map +1 -1
  247. package/dist/cjs/ix-icon-button_2.cjs.entry.js +2 -2
  248. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
  249. package/dist/cjs/ix-input-group.cjs.entry.js +130 -0
  250. package/dist/cjs/ix-input-group.entry.cjs.js.map +1 -0
  251. package/dist/cjs/ix-input.cjs.entry.js +5 -5
  252. package/dist/cjs/ix-input.entry.cjs.js.map +1 -1
  253. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  254. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  255. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  256. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  257. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  258. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  259. package/dist/cjs/ix-map-navigation.cjs.entry.js +2 -3
  260. package/dist/cjs/ix-map-navigation.entry.cjs.js.map +1 -1
  261. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  262. package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
  263. package/dist/cjs/ix-menu-avatar.cjs.entry.js +4 -4
  264. package/dist/cjs/ix-menu-avatar.entry.cjs.js.map +1 -1
  265. package/dist/cjs/ix-menu-category.cjs.entry.js +5 -5
  266. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  267. package/dist/cjs/ix-menu-item.cjs.entry.js +4 -4
  268. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  269. package/dist/cjs/ix-menu.cjs.entry.js +20 -16
  270. package/dist/cjs/ix-menu.entry.cjs.js.map +1 -1
  271. package/dist/cjs/ix-message-bar.cjs.entry.js +8 -5
  272. package/dist/cjs/ix-message-bar.entry.cjs.js.map +1 -1
  273. package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
  274. package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
  275. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  276. package/dist/cjs/ix-modal.cjs.entry.js +14 -14
  277. package/dist/cjs/ix-modal.entry.cjs.js.map +1 -1
  278. package/dist/cjs/ix-number-input.cjs.entry.js +6 -6
  279. package/dist/cjs/ix-pagination.cjs.entry.js +5 -5
  280. package/dist/cjs/ix-pagination.entry.cjs.js.map +1 -1
  281. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  282. package/dist/cjs/ix-pane.cjs.entry.js +1 -1
  283. package/dist/cjs/ix-pill.cjs.entry.js +1 -1
  284. package/dist/cjs/ix-pill.entry.cjs.js.map +1 -1
  285. package/dist/cjs/ix-push-card.cjs.entry.js +3 -3
  286. package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
  287. package/dist/cjs/ix-select.cjs.entry.js +8 -11
  288. package/dist/cjs/ix-select.entry.cjs.js.map +1 -1
  289. package/dist/cjs/ix-tab-item.ix-tabs.entry.cjs.js.map +1 -1
  290. package/dist/cjs/ix-tab-item_2.cjs.entry.js +1 -1
  291. package/dist/cjs/ix-textarea.cjs.entry.js +2 -2
  292. package/dist/cjs/ix-time-input.cjs.entry.js +9 -3
  293. package/dist/cjs/ix-time-input.entry.cjs.js.map +1 -1
  294. package/dist/cjs/ix-time-picker.cjs.entry.js +58 -10
  295. package/dist/cjs/ix-time-picker.entry.cjs.js.map +1 -1
  296. package/dist/cjs/ix-toast-container.cjs.entry.js +5 -5
  297. package/dist/cjs/ix-toast-container.entry.cjs.js.map +1 -1
  298. package/dist/cjs/ix-toast.cjs.entry.js +6 -5
  299. package/dist/cjs/ix-toast.entry.cjs.js.map +1 -1
  300. package/dist/cjs/ix-toggle.cjs.entry.js +4 -4
  301. package/dist/cjs/ix-toggle.entry.cjs.js.map +1 -1
  302. package/dist/cjs/ix-tooltip.cjs.entry.js +10 -9
  303. package/dist/cjs/ix-tooltip.entry.cjs.js.map +1 -1
  304. package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
  305. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  306. package/dist/cjs/ix-typography.cjs.entry.js +1 -1
  307. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  308. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +155 -0
  309. package/dist/cjs/ix-validation-tooltip.entry.cjs.js.map +1 -0
  310. package/dist/cjs/ix-workflow-step.cjs.entry.js +5 -4
  311. package/dist/cjs/ix-workflow-step.entry.cjs.js.map +1 -1
  312. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  313. package/dist/cjs/loader.cjs.js +1 -1
  314. package/dist/cjs/{modal-BdSf3C6f.js → modal-CsEGB0kd.js} +4 -3
  315. package/dist/cjs/modal-CsEGB0kd.js.map +1 -0
  316. package/dist/cjs/{service-DuiJmf7R.js → service-FGbUpQQM.js} +4 -4
  317. package/dist/cjs/service-FGbUpQQM.js.map +1 -0
  318. package/dist/cjs/siemens-ix.cjs.js +1 -1
  319. package/dist/cjs/{theme-switcher-Do9dkNUv.js → theme-switcher-76Td30il.js} +25 -37
  320. package/dist/cjs/theme-switcher-76Td30il.js.map +1 -0
  321. package/dist/collection/collection-manifest.json +2 -0
  322. package/dist/collection/components/action-card/action-card.js +2 -2
  323. package/dist/collection/components/action-card/action-card.js.map +1 -1
  324. package/dist/collection/components/avatar/avatar.js +1 -1
  325. package/dist/collection/components/avatar/avatar.js.map +1 -1
  326. package/dist/collection/components/breadcrumb/breadcrumb.js +9 -9
  327. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  328. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +16 -16
  329. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  330. package/dist/collection/components/category-filter/category-filter.js +43 -12
  331. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  332. package/dist/collection/components/chip/chip.css +1 -1
  333. package/dist/collection/components/chip/chip.js +13 -12
  334. package/dist/collection/components/chip/chip.js.map +1 -1
  335. package/dist/collection/components/date-dropdown/date-dropdown.js +19 -19
  336. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  337. package/dist/collection/components/date-input/date-input.js +5 -5
  338. package/dist/collection/components/date-input/date-input.js.map +1 -1
  339. package/dist/collection/components/date-picker/date-picker-component.js.map +1 -1
  340. package/dist/collection/components/date-picker/date-picker.js +31 -26
  341. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  342. package/dist/collection/components/date-time-card/date-time-card.js +30 -5
  343. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  344. package/dist/collection/components/datetime-picker/datetime-picker.js +94 -7
  345. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  346. package/dist/collection/components/drawer/drawer.js +5 -6
  347. package/dist/collection/components/drawer/drawer.js.map +1 -1
  348. package/dist/collection/components/event-list/event-list.js +6 -6
  349. package/dist/collection/components/event-list/event-list.js.map +1 -1
  350. package/dist/collection/components/filter-chip/filter-chip.css +1 -0
  351. package/dist/collection/components/group/group.css +0 -12
  352. package/dist/collection/components/group/group.js +23 -23
  353. package/dist/collection/components/group/group.js.map +1 -1
  354. package/dist/collection/components/group-item/group-item.css +6 -22
  355. package/dist/collection/components/group-item/group-item.js +8 -44
  356. package/dist/collection/components/group-item/group-item.js.map +1 -1
  357. package/dist/collection/components/helper-text/helper-text.js +1 -1
  358. package/dist/collection/components/icon-button/icon-button.js +2 -2
  359. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  360. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  361. package/dist/collection/components/input/input.js +5 -5
  362. package/dist/collection/components/input/input.js.map +1 -1
  363. package/dist/collection/components/input/number-input.js +6 -6
  364. package/dist/collection/components/input/textarea.js +2 -2
  365. package/dist/collection/components/input-group/input-group.css +115 -0
  366. package/dist/collection/components/input-group/input-group.js +152 -0
  367. package/dist/collection/components/input-group/input-group.js.map +1 -0
  368. package/dist/collection/components/key-value/key-value.js +1 -1
  369. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  370. package/dist/collection/components/kpi/kpi.js +3 -3
  371. package/dist/collection/components/layout-auto/layout-auto.js +1 -1
  372. package/dist/collection/components/layout-grid/layout-grid.js +2 -2
  373. package/dist/collection/components/link-button/link-button.js +3 -3
  374. package/dist/collection/components/map-navigation/map-navigation.js +2 -3
  375. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  376. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  377. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  378. package/dist/collection/components/menu/menu.js +36 -12
  379. package/dist/collection/components/menu/menu.js.map +1 -1
  380. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  381. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  382. package/dist/collection/components/menu-avatar/menu-avatar.js +7 -7
  383. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  384. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  385. package/dist/collection/components/menu-category/menu-category.js +5 -5
  386. package/dist/collection/components/menu-item/menu-item.js +4 -4
  387. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  388. package/dist/collection/components/message-bar/message-bar.js +18 -12
  389. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  390. package/dist/collection/components/modal/modal.css +1 -1
  391. package/dist/collection/components/modal/modal.js +29 -29
  392. package/dist/collection/components/modal/modal.js.map +1 -1
  393. package/dist/collection/components/modal-content/modal-content.js +1 -1
  394. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  395. package/dist/collection/components/modal-header/modal-header.js +1 -1
  396. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  397. package/dist/collection/components/pagination/pagination.js +9 -9
  398. package/dist/collection/components/pagination/pagination.js.map +1 -1
  399. package/dist/collection/components/pill/pill.css +1 -1
  400. package/dist/collection/components/push-card/push-card.js +7 -7
  401. package/dist/collection/components/push-card/push-card.js.map +1 -1
  402. package/dist/collection/components/select/select.js +8 -11
  403. package/dist/collection/components/select/select.js.map +1 -1
  404. package/dist/collection/components/spinner/spinner.css +5 -5
  405. package/dist/collection/components/tab-item/tab-item.css +1 -1
  406. package/dist/collection/components/time-input/time-input.js +32 -3
  407. package/dist/collection/components/time-input/time-input.js.map +1 -1
  408. package/dist/collection/components/time-picker/time-picker.js +199 -14
  409. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  410. package/dist/collection/components/toast/toast-container.js +5 -5
  411. package/dist/collection/components/toast/toast-container.js.map +1 -1
  412. package/dist/collection/components/toast/toast.js +9 -8
  413. package/dist/collection/components/toast/toast.js.map +1 -1
  414. package/dist/collection/components/toggle/toggle.css +227 -0
  415. package/dist/collection/components/toggle/toggle.js +3 -3
  416. package/dist/collection/components/tooltip/tooltip.js +1 -1
  417. package/dist/collection/components/tree/tree.js +1 -1
  418. package/dist/collection/components/tree-item/tree-item.js +4 -4
  419. package/dist/collection/components/typography/typography.js +1 -1
  420. package/dist/collection/components/upload/upload.js +3 -3
  421. package/dist/collection/components/utils/application-layout/service.js +2 -2
  422. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  423. package/dist/collection/components/utils/modal/loading.js +1 -1
  424. package/dist/collection/components/utils/modal/loading.js.map +1 -1
  425. package/dist/collection/components/utils/modal/message.js +2 -1
  426. package/dist/collection/components/utils/modal/message.js.map +1 -1
  427. package/dist/collection/components/utils/notification-color.js.map +1 -1
  428. package/dist/collection/components/utils/theme-switcher.js +23 -35
  429. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  430. package/dist/collection/components/validation-tooltip/validation-tooltip.css +225 -0
  431. package/dist/collection/components/validation-tooltip/validation-tooltip.js +250 -0
  432. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -0
  433. package/dist/collection/components/workflow-step/workflow-step.js +5 -4
  434. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  435. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  436. package/dist/collection/tests/utils/test/page.js +2 -2
  437. package/dist/collection/tests/utils/test/page.js.map +1 -1
  438. package/dist/esm/find-element-CFRrPFxi.js +103 -0
  439. package/dist/esm/find-element-CFRrPFxi.js.map +1 -0
  440. package/dist/esm/{find-element-CiSM2A9Q.js → floating-ui.dom-CAqtPJ4-.js} +3 -102
  441. package/dist/esm/floating-ui.dom-CAqtPJ4-.js.map +1 -0
  442. package/dist/esm/{index-D4tQ_iTq.js → index--ZIr3Aqz.js} +3 -3
  443. package/dist/esm/{index-D4tQ_iTq.js.map → index--ZIr3Aqz.js.map} +1 -1
  444. package/dist/esm/index-Cz75KU1f.js.map +1 -1
  445. package/dist/esm/index-DGODjp4O.js +8 -0
  446. package/dist/esm/index.js +4 -4
  447. package/dist/esm/index.js.map +1 -1
  448. package/dist/esm/ix-action-card.entry.js +2 -2
  449. package/dist/esm/ix-action-card.entry.js.map +1 -1
  450. package/dist/esm/ix-application-header.entry.js +3 -3
  451. package/dist/esm/ix-application-switch-modal.entry.js +1 -1
  452. package/dist/esm/ix-application.entry.js +2 -2
  453. package/dist/esm/ix-avatar.ix-menu-avatar-item.entry.js.map +1 -1
  454. package/dist/esm/ix-avatar_2.entry.js +1 -1
  455. package/dist/esm/ix-basic-navigation.entry.js +1 -1
  456. package/dist/esm/ix-breadcrumb-item.entry.js +7 -7
  457. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  458. package/dist/esm/ix-breadcrumb.entry.js +6 -6
  459. package/dist/esm/ix-breadcrumb.entry.js.map +1 -1
  460. package/dist/esm/ix-category-filter.entry.js +16 -8
  461. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  462. package/dist/esm/ix-chip.entry.js +10 -9
  463. package/dist/esm/ix-chip.entry.js.map +1 -1
  464. package/dist/esm/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js.map +1 -1
  465. package/dist/esm/ix-col_4.entry.js +18 -18
  466. package/dist/esm/ix-date-dropdown.entry.js +11 -11
  467. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  468. package/dist/esm/ix-date-input.entry.js +4 -4
  469. package/dist/esm/ix-date-input.entry.js.map +1 -1
  470. package/dist/esm/ix-date-time-card.entry.js +8 -3
  471. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  472. package/dist/esm/ix-datetime-picker.entry.js +21 -3
  473. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  474. package/dist/esm/ix-drawer.entry.js +5 -6
  475. package/dist/esm/ix-drawer.entry.js.map +1 -1
  476. package/dist/esm/ix-dropdown.entry.js +2 -1
  477. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  478. package/dist/esm/ix-event-list.entry.js +4 -4
  479. package/dist/esm/ix-event-list.entry.js.map +1 -1
  480. package/dist/esm/ix-filter-chip.ix-select-item.entry.js.map +1 -1
  481. package/dist/esm/ix-filter-chip_2.entry.js +1 -1
  482. package/dist/esm/ix-group-context-menu.ix-group-item.entry.js.map +1 -1
  483. package/dist/esm/ix-group-context-menu_2.entry.js +5 -18
  484. package/dist/esm/ix-group.entry.js +19 -19
  485. package/dist/esm/ix-group.entry.js.map +1 -1
  486. package/dist/esm/ix-helper-text.entry.js +1 -1
  487. package/dist/esm/ix-icon-button.ix-spinner.entry.js.map +1 -1
  488. package/dist/esm/ix-icon-button_2.entry.js +2 -2
  489. package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
  490. package/dist/esm/ix-input-group.entry.js +128 -0
  491. package/dist/esm/ix-input-group.entry.js.map +1 -0
  492. package/dist/esm/ix-input.entry.js +5 -5
  493. package/dist/esm/ix-input.entry.js.map +1 -1
  494. package/dist/esm/ix-key-value-list.entry.js +1 -1
  495. package/dist/esm/ix-key-value.entry.js +1 -1
  496. package/dist/esm/ix-kpi.entry.js +3 -3
  497. package/dist/esm/ix-layout-auto.entry.js +1 -1
  498. package/dist/esm/ix-link-button.entry.js +3 -3
  499. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  500. package/dist/esm/ix-map-navigation.entry.js +2 -3
  501. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  502. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  503. package/dist/esm/ix-menu-about-news.entry.js +4 -4
  504. package/dist/esm/ix-menu-avatar.entry.js +4 -4
  505. package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
  506. package/dist/esm/ix-menu-category.entry.js +5 -5
  507. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  508. package/dist/esm/ix-menu-item.entry.js +4 -4
  509. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  510. package/dist/esm/ix-menu.entry.js +20 -16
  511. package/dist/esm/ix-menu.entry.js.map +1 -1
  512. package/dist/esm/ix-message-bar.entry.js +8 -5
  513. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  514. package/dist/esm/ix-modal-content_2.entry.js +2 -2
  515. package/dist/esm/ix-modal-footer.entry.js +1 -1
  516. package/dist/esm/ix-modal-loading.entry.js +1 -1
  517. package/dist/esm/ix-modal.entry.js +14 -14
  518. package/dist/esm/ix-modal.entry.js.map +1 -1
  519. package/dist/esm/ix-number-input.entry.js +6 -6
  520. package/dist/esm/ix-pagination.entry.js +5 -5
  521. package/dist/esm/ix-pagination.entry.js.map +1 -1
  522. package/dist/esm/ix-pane-layout.entry.js +1 -1
  523. package/dist/esm/ix-pane.entry.js +1 -1
  524. package/dist/esm/ix-pill.entry.js +1 -1
  525. package/dist/esm/ix-pill.entry.js.map +1 -1
  526. package/dist/esm/ix-push-card.entry.js +3 -3
  527. package/dist/esm/ix-push-card.entry.js.map +1 -1
  528. package/dist/esm/ix-select.entry.js +8 -11
  529. package/dist/esm/ix-select.entry.js.map +1 -1
  530. package/dist/esm/ix-tab-item.ix-tabs.entry.js.map +1 -1
  531. package/dist/esm/ix-tab-item_2.entry.js +1 -1
  532. package/dist/esm/ix-textarea.entry.js +2 -2
  533. package/dist/esm/ix-time-input.entry.js +9 -3
  534. package/dist/esm/ix-time-input.entry.js.map +1 -1
  535. package/dist/esm/ix-time-picker.entry.js +58 -10
  536. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  537. package/dist/esm/ix-toast-container.entry.js +5 -5
  538. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  539. package/dist/esm/ix-toast.entry.js +6 -5
  540. package/dist/esm/ix-toast.entry.js.map +1 -1
  541. package/dist/esm/ix-toggle.entry.js +4 -4
  542. package/dist/esm/ix-toggle.entry.js.map +1 -1
  543. package/dist/esm/ix-tooltip.entry.js +3 -2
  544. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  545. package/dist/esm/ix-tree-item.entry.js +4 -4
  546. package/dist/esm/ix-tree.entry.js +1 -1
  547. package/dist/esm/ix-typography.entry.js +1 -1
  548. package/dist/esm/ix-upload.entry.js +3 -3
  549. package/dist/esm/ix-validation-tooltip.entry.js +153 -0
  550. package/dist/esm/ix-validation-tooltip.entry.js.map +1 -0
  551. package/dist/esm/ix-workflow-step.entry.js +5 -4
  552. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  553. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  554. package/dist/esm/loader.js +1 -1
  555. package/dist/esm/{modal-BQcyFJfE.js → modal-D9BaTrTa.js} +4 -3
  556. package/dist/esm/modal-D9BaTrTa.js.map +1 -0
  557. package/dist/esm/{service-Da0kv8hS.js → service-ktcE7NzB.js} +4 -4
  558. package/dist/esm/service-ktcE7NzB.js.map +1 -0
  559. package/dist/esm/siemens-ix.js +1 -1
  560. package/dist/esm/{theme-switcher-Bg6wsOIn.js → theme-switcher-DRqJGlG2.js} +25 -37
  561. package/dist/esm/theme-switcher-DRqJGlG2.js.map +1 -0
  562. package/dist/siemens-ix/index.esm.js +1 -1
  563. package/dist/siemens-ix/index.esm.js.map +1 -1
  564. package/dist/siemens-ix/ix-action-card.entry.esm.js.map +1 -1
  565. package/dist/siemens-ix/ix-avatar.ix-menu-avatar-item.entry.esm.js.map +1 -1
  566. package/dist/siemens-ix/ix-breadcrumb-item.entry.esm.js.map +1 -1
  567. package/dist/siemens-ix/ix-breadcrumb.entry.esm.js.map +1 -1
  568. package/dist/siemens-ix/ix-category-filter.entry.esm.js.map +1 -1
  569. package/dist/siemens-ix/ix-chip.entry.esm.js.map +1 -1
  570. package/dist/siemens-ix/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.esm.js.map +1 -1
  571. package/dist/siemens-ix/ix-date-dropdown.entry.esm.js.map +1 -1
  572. package/dist/siemens-ix/ix-date-input.entry.esm.js.map +1 -1
  573. package/dist/siemens-ix/ix-date-time-card.entry.esm.js.map +1 -1
  574. package/dist/siemens-ix/ix-datetime-picker.entry.esm.js.map +1 -1
  575. package/dist/siemens-ix/ix-drawer.entry.esm.js.map +1 -1
  576. package/dist/siemens-ix/ix-dropdown.entry.esm.js.map +1 -1
  577. package/dist/siemens-ix/ix-event-list.entry.esm.js.map +1 -1
  578. package/dist/siemens-ix/ix-filter-chip.ix-select-item.entry.esm.js.map +1 -1
  579. package/dist/siemens-ix/ix-group-context-menu.ix-group-item.entry.esm.js.map +1 -1
  580. package/dist/siemens-ix/ix-group.entry.esm.js.map +1 -1
  581. package/dist/siemens-ix/ix-icon-button.ix-spinner.entry.esm.js.map +1 -1
  582. package/dist/siemens-ix/ix-input-group.entry.esm.js.map +1 -0
  583. package/dist/siemens-ix/ix-input.entry.esm.js.map +1 -1
  584. package/dist/siemens-ix/ix-map-navigation.entry.esm.js.map +1 -1
  585. package/dist/siemens-ix/ix-menu-avatar.entry.esm.js.map +1 -1
  586. package/dist/siemens-ix/ix-menu.entry.esm.js.map +1 -1
  587. package/dist/siemens-ix/ix-message-bar.entry.esm.js.map +1 -1
  588. package/dist/siemens-ix/ix-modal.entry.esm.js.map +1 -1
  589. package/dist/siemens-ix/ix-pagination.entry.esm.js.map +1 -1
  590. package/dist/siemens-ix/ix-pill.entry.esm.js.map +1 -1
  591. package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
  592. package/dist/siemens-ix/ix-select.entry.esm.js.map +1 -1
  593. package/dist/siemens-ix/ix-tab-item.ix-tabs.entry.esm.js.map +1 -1
  594. package/dist/siemens-ix/ix-time-input.entry.esm.js.map +1 -1
  595. package/dist/siemens-ix/ix-time-picker.entry.esm.js.map +1 -1
  596. package/dist/siemens-ix/ix-toast-container.entry.esm.js.map +1 -1
  597. package/dist/siemens-ix/ix-toast.entry.esm.js.map +1 -1
  598. package/dist/siemens-ix/ix-toggle.entry.esm.js.map +1 -1
  599. package/dist/siemens-ix/ix-tooltip.entry.esm.js.map +1 -1
  600. package/dist/siemens-ix/ix-validation-tooltip.entry.esm.js.map +1 -0
  601. package/dist/siemens-ix/ix-workflow-step.entry.esm.js.map +1 -1
  602. package/dist/siemens-ix/{p-639d0d7f.entry.js → p-02621eb8.entry.js} +2 -2
  603. package/dist/siemens-ix/p-02621eb8.entry.js.map +1 -0
  604. package/dist/siemens-ix/{p-bf2374a0.entry.js → p-0469aec7.entry.js} +2 -2
  605. package/dist/siemens-ix/{p-800f59a7.entry.js → p-09cce59e.entry.js} +2 -2
  606. package/dist/siemens-ix/p-09cce59e.entry.js.map +1 -0
  607. package/dist/siemens-ix/{p-f14790b4.entry.js → p-14fca48a.entry.js} +2 -2
  608. package/dist/siemens-ix/{p-111687a2.entry.js → p-19c2cb50.entry.js} +2 -2
  609. package/dist/siemens-ix/{p-111687a2.entry.js.map → p-19c2cb50.entry.js.map} +1 -1
  610. package/dist/siemens-ix/{p-c31b2027.entry.js → p-1ca58d8b.entry.js} +2 -2
  611. package/dist/siemens-ix/p-1d0ae43f.entry.js +2 -0
  612. package/dist/siemens-ix/p-1d0ae43f.entry.js.map +1 -0
  613. package/dist/siemens-ix/p-1fa5a3e4.entry.js +2 -0
  614. package/dist/siemens-ix/p-1fa5a3e4.entry.js.map +1 -0
  615. package/dist/siemens-ix/{p-1ac88556.entry.js → p-223c9d79.entry.js} +2 -2
  616. package/dist/siemens-ix/{p-1ac88556.entry.js.map → p-223c9d79.entry.js.map} +1 -1
  617. package/dist/siemens-ix/p-27f1d6c9.entry.js +2 -0
  618. package/dist/siemens-ix/p-27f1d6c9.entry.js.map +1 -0
  619. package/dist/siemens-ix/p-2d01c802.entry.js +2 -0
  620. package/dist/siemens-ix/p-2d01c802.entry.js.map +1 -0
  621. package/dist/siemens-ix/p-2d3f7bb5.entry.js +2 -0
  622. package/dist/siemens-ix/p-2d3f7bb5.entry.js.map +1 -0
  623. package/dist/siemens-ix/p-2d9b7dbd.entry.js +2 -0
  624. package/dist/siemens-ix/p-2d9b7dbd.entry.js.map +1 -0
  625. package/dist/siemens-ix/p-30545ef9.entry.js +2 -0
  626. package/dist/siemens-ix/{p-13fb0104.entry.js → p-3522b3af.entry.js} +2 -2
  627. package/dist/siemens-ix/{p-13fb0104.entry.js.map → p-3522b3af.entry.js.map} +1 -1
  628. package/dist/siemens-ix/{p-6645d4ee.entry.js → p-404dffde.entry.js} +2 -2
  629. package/dist/siemens-ix/{p-3f06687e.entry.js → p-42a70164.entry.js} +2 -2
  630. package/dist/siemens-ix/p-42a70164.entry.js.map +1 -0
  631. package/dist/siemens-ix/{p-2041357d.entry.js → p-48b0fef4.entry.js} +2 -2
  632. package/dist/siemens-ix/{p-ae2e5e0c.entry.js → p-4b88c430.entry.js} +2 -2
  633. package/dist/siemens-ix/{p-ae2e5e0c.entry.js.map → p-4b88c430.entry.js.map} +1 -1
  634. package/dist/siemens-ix/{p-91fa3ab0.entry.js → p-5140e6e6.entry.js} +2 -2
  635. package/dist/siemens-ix/{p-28fe8512.entry.js → p-52dc3ba0.entry.js} +2 -2
  636. package/dist/siemens-ix/{p-fbd0973d.entry.js → p-53e82da9.entry.js} +2 -2
  637. package/dist/siemens-ix/p-53e82da9.entry.js.map +1 -0
  638. package/dist/siemens-ix/p-53e9e280.entry.js +2 -0
  639. package/dist/siemens-ix/p-53e9e280.entry.js.map +1 -0
  640. package/dist/siemens-ix/p-5bed04ac.entry.js +2 -0
  641. package/dist/siemens-ix/p-5bed04ac.entry.js.map +1 -0
  642. package/dist/siemens-ix/{p-c248940f.entry.js → p-5c109476.entry.js} +2 -2
  643. package/dist/siemens-ix/p-5f72640f.entry.js +2 -0
  644. package/dist/siemens-ix/p-5f72640f.entry.js.map +1 -0
  645. package/dist/siemens-ix/{p-e3a219e3.entry.js → p-6a39d630.entry.js} +2 -2
  646. package/dist/siemens-ix/p-6c873cc5.entry.js +2 -0
  647. package/dist/siemens-ix/p-6d8e725c.entry.js +2 -0
  648. package/dist/siemens-ix/p-6d8e725c.entry.js.map +1 -0
  649. package/dist/siemens-ix/{p-e201fa04.entry.js → p-71550396.entry.js} +2 -2
  650. package/dist/siemens-ix/{p-e201fa04.entry.js.map → p-71550396.entry.js.map} +1 -1
  651. package/dist/siemens-ix/{p-32203c19.entry.js → p-71e94914.entry.js} +2 -2
  652. package/dist/siemens-ix/p-71e94914.entry.js.map +1 -0
  653. package/dist/siemens-ix/p-740420eb.entry.js +2 -0
  654. package/dist/siemens-ix/p-740420eb.entry.js.map +1 -0
  655. package/dist/siemens-ix/{p-c6ecc2e3.entry.js → p-746b04cb.entry.js} +2 -2
  656. package/dist/siemens-ix/p-78ddd5f5.entry.js +2 -0
  657. package/dist/siemens-ix/p-78ddd5f5.entry.js.map +1 -0
  658. package/dist/siemens-ix/{p-75edf091.entry.js → p-7989235e.entry.js} +2 -2
  659. package/dist/siemens-ix/p-7989235e.entry.js.map +1 -0
  660. package/dist/siemens-ix/{p-9dbfd7cd.entry.js → p-7a108b0d.entry.js} +2 -2
  661. package/dist/siemens-ix/{p-1cd4280f.entry.js → p-7d95ae34.entry.js} +2 -2
  662. package/dist/siemens-ix/{p-75f4bbb1.entry.js → p-81c8d542.entry.js} +2 -2
  663. package/dist/siemens-ix/{p-d7c7d38b.entry.js → p-8dcc6456.entry.js} +2 -2
  664. package/dist/siemens-ix/{p-d1254b5b.entry.js → p-8e48a7a1.entry.js} +2 -2
  665. package/dist/siemens-ix/{p-c413e3c4.entry.js → p-8eee6a03.entry.js} +2 -2
  666. package/dist/siemens-ix/p-90089ce1.entry.js +2 -0
  667. package/dist/siemens-ix/{p-0ba7d263.entry.js → p-90bd8d7b.entry.js} +2 -2
  668. package/dist/siemens-ix/{p-1bd1380b.entry.js → p-95d4d849.entry.js} +2 -2
  669. package/dist/siemens-ix/{p-a7cb47ca.entry.js → p-9638c57b.entry.js} +2 -2
  670. package/dist/siemens-ix/p-9638c57b.entry.js.map +1 -0
  671. package/dist/siemens-ix/p-96a20067.entry.js +2 -0
  672. package/dist/siemens-ix/{p-2355f27d.entry.js.map → p-96a20067.entry.js.map} +1 -1
  673. package/dist/siemens-ix/{p-38f9b6e2.entry.js → p-99ad8022.entry.js} +2 -2
  674. package/dist/siemens-ix/p-99ad8022.entry.js.map +1 -0
  675. package/dist/siemens-ix/p-9bd4c682.entry.js +2 -0
  676. package/dist/siemens-ix/{p-b895b3db.entry.js → p-9d7a2428.entry.js} +2 -2
  677. package/dist/siemens-ix/p-9d7a2428.entry.js.map +1 -0
  678. package/dist/siemens-ix/p-CAqtPJ4-.js +2 -0
  679. package/dist/siemens-ix/p-CAqtPJ4-.js.map +1 -0
  680. package/dist/siemens-ix/p-CFRrPFxi.js +2 -0
  681. package/dist/siemens-ix/p-CFRrPFxi.js.map +1 -0
  682. package/dist/siemens-ix/p-CpVbQsUI.js +2 -0
  683. package/dist/siemens-ix/p-CpVbQsUI.js.map +1 -0
  684. package/dist/siemens-ix/p-CsHYWHE6.js +2 -0
  685. package/dist/siemens-ix/p-CsHYWHE6.js.map +1 -0
  686. package/dist/siemens-ix/p-Cz75KU1f.js.map +1 -1
  687. package/dist/siemens-ix/{p-gkooEHol.js → p-CzzcLSmV.js} +2 -2
  688. package/dist/siemens-ix/p-CzzcLSmV.js.map +1 -0
  689. package/dist/siemens-ix/{p-CNToWy_R.js → p-DRnSC9aV.js} +2 -2
  690. package/dist/siemens-ix/{p-CNToWy_R.js.map → p-DRnSC9aV.js.map} +1 -1
  691. package/dist/siemens-ix/p-a25ebeb2.entry.js +2 -0
  692. package/dist/siemens-ix/{p-f55c3bed.entry.js.map → p-a25ebeb2.entry.js.map} +1 -1
  693. package/dist/siemens-ix/p-b11b63ca.entry.js +2 -0
  694. package/dist/siemens-ix/p-b11b63ca.entry.js.map +1 -0
  695. package/dist/siemens-ix/p-b59285eb.entry.js +2 -0
  696. package/dist/siemens-ix/{p-d9766334.entry.js.map → p-b59285eb.entry.js.map} +1 -1
  697. package/dist/siemens-ix/{p-c949686e.entry.js → p-b6d9c16c.entry.js} +2 -2
  698. package/dist/siemens-ix/{p-c949686e.entry.js.map → p-b6d9c16c.entry.js.map} +1 -1
  699. package/dist/siemens-ix/{p-d0213ff0.entry.js → p-b6dad40c.entry.js} +2 -2
  700. package/dist/siemens-ix/{p-331f1b60.entry.js → p-bb28a2d6.entry.js} +2 -2
  701. package/dist/siemens-ix/{p-e55cd52b.entry.js → p-bd369344.entry.js} +2 -2
  702. package/dist/siemens-ix/{p-db02f4c2.entry.js → p-c446ffdb.entry.js} +2 -2
  703. package/dist/siemens-ix/{p-96533ffc.entry.js → p-c8cf26c5.entry.js} +2 -2
  704. package/dist/siemens-ix/p-c8cf26c5.entry.js.map +1 -0
  705. package/dist/siemens-ix/{p-bb878ea4.entry.js → p-cd11dfa8.entry.js} +2 -2
  706. package/dist/siemens-ix/p-d0d972c2.entry.js +2 -0
  707. package/dist/siemens-ix/{p-5f7943f2.entry.js.map → p-d0d972c2.entry.js.map} +1 -1
  708. package/dist/siemens-ix/{p-a67bc456.entry.js → p-dc5b5c0c.entry.js} +2 -2
  709. package/dist/siemens-ix/p-ddaf98b6.entry.js +2 -0
  710. package/dist/siemens-ix/p-ddaf98b6.entry.js.map +1 -0
  711. package/dist/siemens-ix/{p-7060645f.entry.js → p-eba51393.entry.js} +2 -2
  712. package/dist/siemens-ix/p-ec8f67b0.entry.js +2 -0
  713. package/dist/siemens-ix/p-ec8f67b0.entry.js.map +1 -0
  714. package/dist/siemens-ix/{p-d585e581.entry.js → p-f112fabd.entry.js} +2 -2
  715. package/dist/siemens-ix/{p-d585e581.entry.js.map → p-f112fabd.entry.js.map} +1 -1
  716. package/dist/siemens-ix/{p-9272ae83.entry.js → p-f29eaee8.entry.js} +2 -2
  717. package/dist/siemens-ix/p-f55eef69.entry.js +2 -0
  718. package/dist/siemens-ix/p-f55eef69.entry.js.map +1 -0
  719. package/dist/siemens-ix/{p-9b88a932.entry.js → p-f6d678a6.entry.js} +2 -2
  720. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  721. package/dist/siemens-ix/siemens-ix.css +2312 -2248
  722. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  723. package/dist/siemens-ix/theme/classic-dark.css +1 -1
  724. package/dist/siemens-ix/theme/classic-light.css +1 -1
  725. package/dist/types/components/avatar/avatar.d.ts +1 -1
  726. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -1
  727. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +3 -3
  728. package/dist/types/components/category-filter/category-filter.d.ts +9 -3
  729. package/dist/types/components/chip/chip.d.ts +2 -2
  730. package/dist/types/components/date-dropdown/date-dropdown.d.ts +6 -6
  731. package/dist/types/components/date-input/date-input.d.ts +4 -0
  732. package/dist/types/components/date-picker/date-picker-component.d.ts +1 -1
  733. package/dist/types/components/date-picker/date-picker.d.ts +5 -7
  734. package/dist/types/components/date-time-card/date-time-card.d.ts +5 -1
  735. package/dist/types/components/datetime-picker/datetime-picker.d.ts +20 -2
  736. package/dist/types/components/event-list/event-list.d.ts +1 -1
  737. package/dist/types/components/group/group.d.ts +4 -4
  738. package/dist/types/components/group-item/group-item.d.ts +2 -9
  739. package/dist/types/components/icon-button/icon-button.d.ts +1 -1
  740. package/dist/types/components/input-group/input-group.d.ts +24 -0
  741. package/dist/types/components/menu/menu.d.ts +4 -0
  742. package/dist/types/components/menu-avatar/menu-avatar.d.ts +1 -1
  743. package/dist/types/components/message-bar/message-bar.d.ts +4 -3
  744. package/dist/types/components/modal/modal.d.ts +9 -9
  745. package/dist/types/components/pagination/pagination.d.ts +2 -2
  746. package/dist/types/components/push-card/push-card.d.ts +2 -2
  747. package/dist/types/components/time-input/time-input.d.ts +6 -0
  748. package/dist/types/components/time-picker/time-picker.d.ts +40 -2
  749. package/dist/types/components/toast/toast.d.ts +1 -1
  750. package/dist/types/components/utils/notification-color.d.ts +1 -1
  751. package/dist/types/components/utils/theme-switcher.d.ts +4 -11
  752. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +45 -0
  753. package/dist/types/components.d.ts +421 -197
  754. package/hydrate/index.js +715 -329
  755. package/hydrate/index.mjs +715 -329
  756. package/package.json +3 -3
  757. package/scss/_core.scss +1 -0
  758. package/scss/components/_input-group.scss +32 -0
  759. package/scss/theme/classic/dark/_variables.scss +185 -185
  760. package/scss/theme/classic/light/_variables.scss +185 -185
  761. package/scss/theme/core/_common.scss +123 -123
  762. package/scss/theme/core/components/action-card.scss +65 -65
  763. package/scss/theme/core/components/app-header.scss +3 -3
  764. package/scss/theme/core/components/avatar.scss +5 -5
  765. package/scss/theme/core/components/blind.scss +16 -16
  766. package/scss/theme/core/components/button.scss +124 -124
  767. package/scss/theme/core/components/card.scss +61 -61
  768. package/scss/theme/core/components/checkbox.scss +61 -61
  769. package/scss/theme/core/components/chip.scss +21 -21
  770. package/scss/theme/core/components/datepicker.scss +54 -54
  771. package/scss/theme/core/components/event-list.scss +14 -14
  772. package/scss/theme/core/components/flip.scss +23 -23
  773. package/scss/theme/core/components/ghost.scss +1 -1
  774. package/scss/theme/core/components/group.scss +16 -16
  775. package/scss/theme/core/components/input-helper.scss +2 -2
  776. package/scss/theme/core/components/input.scss +28 -28
  777. package/scss/theme/core/components/kpi.scss +5 -5
  778. package/scss/theme/core/components/label.scss +2 -2
  779. package/scss/theme/core/components/link.scss +6 -6
  780. package/scss/theme/core/components/map-navigation.scss +2 -2
  781. package/scss/theme/core/components/menu.scss +19 -19
  782. package/scss/theme/core/components/message-bar.scss +3 -3
  783. package/scss/theme/core/components/modal-dialog.scss +1 -1
  784. package/scss/theme/core/components/navigation.scss +11 -11
  785. package/scss/theme/core/components/pagination.scss +6 -6
  786. package/scss/theme/core/components/pane.scss +5 -5
  787. package/scss/theme/core/components/pill.scss +1 -1
  788. package/scss/theme/core/components/progress-indicator.scss +22 -22
  789. package/scss/theme/core/components/push-card.scss +124 -124
  790. package/scss/theme/core/components/radiobutton.scss +44 -44
  791. package/scss/theme/core/components/scrollbar.scss +3 -3
  792. package/scss/theme/core/components/select-list.scss +11 -11
  793. package/scss/theme/core/components/slider.scss +12 -12
  794. package/scss/theme/core/components/switch.scss +145 -109
  795. package/scss/theme/core/components/tab.scss +33 -33
  796. package/scss/theme/core/components/table.scss +30 -30
  797. package/scss/theme/core/components/tile.scss +1 -1
  798. package/scss/theme/core/components/toast.scss +5 -5
  799. package/scss/theme/core/components/tooltip.scss +2 -2
  800. package/scss/theme/core/components/tree.scss +7 -7
  801. package/scss/theme/core/components/upload.scss +4 -4
  802. package/scss/theme/core/components/workflow.scss +7 -7
  803. package/components/p-4dm0FrTr.js.map +0 -1
  804. package/components/p-7-Wnr7e5.js.map +0 -1
  805. package/components/p-BNYHD56q.js.map +0 -1
  806. package/components/p-Bc15ecXv.js.map +0 -1
  807. package/components/p-BmLRwuMH.js.map +0 -1
  808. package/components/p-BruPthTZ.js.map +0 -1
  809. package/components/p-C9yPT68I.js.map +0 -1
  810. package/components/p-COHP8TmU.js.map +0 -1
  811. package/components/p-CiSM2A9Q.js.map +0 -1
  812. package/components/p-Cx5H0GeI.js.map +0 -1
  813. package/components/p-DE74-VWH.js.map +0 -1
  814. package/components/p-DLcItN6d.js.map +0 -1
  815. package/components/p-DSF854K6.js.map +0 -1
  816. package/components/p-DVPJHakC.js +0 -78
  817. package/components/p-DVPJHakC.js.map +0 -1
  818. package/components/p-R9YNQy08.js +0 -56
  819. package/components/p-gkooEHol.js.map +0 -1
  820. package/dist/cjs/find-element-BNZJcvT8.js.map +0 -1
  821. package/dist/cjs/modal-BdSf3C6f.js.map +0 -1
  822. package/dist/cjs/service-DuiJmf7R.js.map +0 -1
  823. package/dist/cjs/theme-switcher-Do9dkNUv.js.map +0 -1
  824. package/dist/esm/find-element-CiSM2A9Q.js.map +0 -1
  825. package/dist/esm/modal-BQcyFJfE.js.map +0 -1
  826. package/dist/esm/service-Da0kv8hS.js.map +0 -1
  827. package/dist/esm/theme-switcher-Bg6wsOIn.js.map +0 -1
  828. package/dist/siemens-ix/p-21106fcd.entry.js +0 -2
  829. package/dist/siemens-ix/p-21106fcd.entry.js.map +0 -1
  830. package/dist/siemens-ix/p-2355f27d.entry.js +0 -2
  831. package/dist/siemens-ix/p-2b046df5.entry.js +0 -2
  832. package/dist/siemens-ix/p-2b046df5.entry.js.map +0 -1
  833. package/dist/siemens-ix/p-32200cc4.entry.js +0 -2
  834. package/dist/siemens-ix/p-32200cc4.entry.js.map +0 -1
  835. package/dist/siemens-ix/p-32203c19.entry.js.map +0 -1
  836. package/dist/siemens-ix/p-38f9b6e2.entry.js.map +0 -1
  837. package/dist/siemens-ix/p-3f06687e.entry.js.map +0 -1
  838. package/dist/siemens-ix/p-566a58f4.entry.js +0 -2
  839. package/dist/siemens-ix/p-566a58f4.entry.js.map +0 -1
  840. package/dist/siemens-ix/p-5d48f9cb.entry.js +0 -2
  841. package/dist/siemens-ix/p-5d48f9cb.entry.js.map +0 -1
  842. package/dist/siemens-ix/p-5f7943f2.entry.js +0 -2
  843. package/dist/siemens-ix/p-639d0d7f.entry.js.map +0 -1
  844. package/dist/siemens-ix/p-670d5b84.entry.js +0 -2
  845. package/dist/siemens-ix/p-670d5b84.entry.js.map +0 -1
  846. package/dist/siemens-ix/p-71a38f35.entry.js +0 -2
  847. package/dist/siemens-ix/p-75edf091.entry.js.map +0 -1
  848. package/dist/siemens-ix/p-78797f4b.entry.js +0 -2
  849. package/dist/siemens-ix/p-78797f4b.entry.js.map +0 -1
  850. package/dist/siemens-ix/p-800f59a7.entry.js.map +0 -1
  851. package/dist/siemens-ix/p-86ac2254.entry.js +0 -2
  852. package/dist/siemens-ix/p-86ac2254.entry.js.map +0 -1
  853. package/dist/siemens-ix/p-8bd3f89a.entry.js +0 -2
  854. package/dist/siemens-ix/p-8bd3f89a.entry.js.map +0 -1
  855. package/dist/siemens-ix/p-96533ffc.entry.js.map +0 -1
  856. package/dist/siemens-ix/p-98ab64dc.entry.js +0 -2
  857. package/dist/siemens-ix/p-98ab64dc.entry.js.map +0 -1
  858. package/dist/siemens-ix/p-9a8188a7.entry.js +0 -2
  859. package/dist/siemens-ix/p-9a8188a7.entry.js.map +0 -1
  860. package/dist/siemens-ix/p-C9yPT68I.js +0 -2
  861. package/dist/siemens-ix/p-C9yPT68I.js.map +0 -1
  862. package/dist/siemens-ix/p-CiSM2A9Q.js +0 -2
  863. package/dist/siemens-ix/p-CiSM2A9Q.js.map +0 -1
  864. package/dist/siemens-ix/p-DxCNpXRB.js +0 -2
  865. package/dist/siemens-ix/p-DxCNpXRB.js.map +0 -1
  866. package/dist/siemens-ix/p-a6612a5b.entry.js +0 -2
  867. package/dist/siemens-ix/p-a7cb47ca.entry.js.map +0 -1
  868. package/dist/siemens-ix/p-ac1f35ad.entry.js +0 -2
  869. package/dist/siemens-ix/p-ac1f35ad.entry.js.map +0 -1
  870. package/dist/siemens-ix/p-b895b3db.entry.js.map +0 -1
  871. package/dist/siemens-ix/p-c10b2e40.entry.js +0 -2
  872. package/dist/siemens-ix/p-d4b0b3d1.entry.js +0 -2
  873. package/dist/siemens-ix/p-d4b0b3d1.entry.js.map +0 -1
  874. package/dist/siemens-ix/p-d9766334.entry.js +0 -2
  875. package/dist/siemens-ix/p-ea435816.entry.js +0 -2
  876. package/dist/siemens-ix/p-ea435816.entry.js.map +0 -1
  877. package/dist/siemens-ix/p-f55c3bed.entry.js +0 -2
  878. package/dist/siemens-ix/p-fbd0973d.entry.js.map +0 -1
  879. package/dist/siemens-ix/p-fbedad11.entry.js +0 -2
  880. package/dist/siemens-ix/p-gkooEHol.js.map +0 -1
  881. /package/dist/siemens-ix/{p-bf2374a0.entry.js.map → p-0469aec7.entry.js.map} +0 -0
  882. /package/dist/siemens-ix/{p-f14790b4.entry.js.map → p-14fca48a.entry.js.map} +0 -0
  883. /package/dist/siemens-ix/{p-c31b2027.entry.js.map → p-1ca58d8b.entry.js.map} +0 -0
  884. /package/dist/siemens-ix/{p-c10b2e40.entry.js.map → p-30545ef9.entry.js.map} +0 -0
  885. /package/dist/siemens-ix/{p-6645d4ee.entry.js.map → p-404dffde.entry.js.map} +0 -0
  886. /package/dist/siemens-ix/{p-2041357d.entry.js.map → p-48b0fef4.entry.js.map} +0 -0
  887. /package/dist/siemens-ix/{p-91fa3ab0.entry.js.map → p-5140e6e6.entry.js.map} +0 -0
  888. /package/dist/siemens-ix/{p-28fe8512.entry.js.map → p-52dc3ba0.entry.js.map} +0 -0
  889. /package/dist/siemens-ix/{p-c248940f.entry.js.map → p-5c109476.entry.js.map} +0 -0
  890. /package/dist/siemens-ix/{p-e3a219e3.entry.js.map → p-6a39d630.entry.js.map} +0 -0
  891. /package/dist/siemens-ix/{p-71a38f35.entry.js.map → p-6c873cc5.entry.js.map} +0 -0
  892. /package/dist/siemens-ix/{p-c6ecc2e3.entry.js.map → p-746b04cb.entry.js.map} +0 -0
  893. /package/dist/siemens-ix/{p-9dbfd7cd.entry.js.map → p-7a108b0d.entry.js.map} +0 -0
  894. /package/dist/siemens-ix/{p-1cd4280f.entry.js.map → p-7d95ae34.entry.js.map} +0 -0
  895. /package/dist/siemens-ix/{p-75f4bbb1.entry.js.map → p-81c8d542.entry.js.map} +0 -0
  896. /package/dist/siemens-ix/{p-d7c7d38b.entry.js.map → p-8dcc6456.entry.js.map} +0 -0
  897. /package/dist/siemens-ix/{p-d1254b5b.entry.js.map → p-8e48a7a1.entry.js.map} +0 -0
  898. /package/dist/siemens-ix/{p-c413e3c4.entry.js.map → p-8eee6a03.entry.js.map} +0 -0
  899. /package/dist/siemens-ix/{p-fbedad11.entry.js.map → p-90089ce1.entry.js.map} +0 -0
  900. /package/dist/siemens-ix/{p-0ba7d263.entry.js.map → p-90bd8d7b.entry.js.map} +0 -0
  901. /package/dist/siemens-ix/{p-1bd1380b.entry.js.map → p-95d4d849.entry.js.map} +0 -0
  902. /package/dist/siemens-ix/{p-a6612a5b.entry.js.map → p-9bd4c682.entry.js.map} +0 -0
  903. /package/dist/siemens-ix/{p-d0213ff0.entry.js.map → p-b6dad40c.entry.js.map} +0 -0
  904. /package/dist/siemens-ix/{p-331f1b60.entry.js.map → p-bb28a2d6.entry.js.map} +0 -0
  905. /package/dist/siemens-ix/{p-e55cd52b.entry.js.map → p-bd369344.entry.js.map} +0 -0
  906. /package/dist/siemens-ix/{p-db02f4c2.entry.js.map → p-c446ffdb.entry.js.map} +0 -0
  907. /package/dist/siemens-ix/{p-bb878ea4.entry.js.map → p-cd11dfa8.entry.js.map} +0 -0
  908. /package/dist/siemens-ix/{p-a67bc456.entry.js.map → p-dc5b5c0c.entry.js.map} +0 -0
  909. /package/dist/siemens-ix/{p-7060645f.entry.js.map → p-eba51393.entry.js.map} +0 -0
  910. /package/dist/siemens-ix/{p-9272ae83.entry.js.map → p-f29eaee8.entry.js.map} +0 -0
  911. /package/dist/siemens-ix/{p-9b88a932.entry.js.map → p-f6d678a6.entry.js.map} +0 -0
@@ -232,15 +232,15 @@ export class DateInput {
232
232
  const invalidText = this.isInputInvalid
233
233
  ? this.i18nErrorDateUnparsable
234
234
  : this.invalidText;
235
- return (h(Host, { key: '00644497cf3410dff8025cd84e012617d88c4bad', class: {
235
+ return (h(Host, { key: '5c7284b0afd8b3ee906370beb4b7e872a849f5cb', class: {
236
236
  disabled: this.disabled,
237
237
  readonly: this.readonly,
238
- } }, h("ix-field-wrapper", { key: '73aa5675f617a35479465eacc2959391f57e78e9', label: this.label, helperText: this.helperText, isInvalid: this.isInvalid, invalidText: invalidText, infoText: this.infoText, isInfo: this.isInfo, isWarning: this.isWarning, warningText: this.warningText, isValid: this.isValid, validText: this.validText, showTextAsTooltip: this.showTextAsTooltip, required: this.required, controlRef: this.inputElementRef }, this.renderInput()), h("ix-dropdown", { key: '6b219ac0027370f8c140feb9c438750259f93ef8', "data-testid": "date-dropdown", trigger: this.inputElementRef.waitForCurrent(), ref: this.dropdownElementRef, closeBehavior: "outside", suppressOverflowBehavior: true, show: this.show, onShowChanged: (event) => {
238
+ } }, h("ix-field-wrapper", { key: '5e8c3a6dd37625cb818438fd8e0c7bef6daa46a1', label: this.label, helperText: this.helperText, isInvalid: this.isInvalid, invalidText: invalidText, infoText: this.infoText, isInfo: this.isInfo, isWarning: this.isWarning, warningText: this.warningText, isValid: this.isValid, validText: this.validText, showTextAsTooltip: this.showTextAsTooltip, required: this.required, controlRef: this.inputElementRef }, this.renderInput()), h("ix-dropdown", { key: '5bffd40d906d1e1e929b4a6041ff2cec6f857d34', "data-testid": "date-dropdown", trigger: this.inputElementRef.waitForCurrent(), ref: this.dropdownElementRef, closeBehavior: "outside", suppressOverflowBehavior: true, show: this.show, onShowChanged: (event) => {
239
239
  this.show = event.detail;
240
- } }, h("ix-date-picker", { key: '17919c46d19510dbf091683c3d5de81f0bbbb591', ref: this.datepickerRef, format: this.format, locale: this.locale, singleSelection: true, from: (_a = this.from) !== null && _a !== void 0 ? _a : '', minDate: this.minDate, maxDate: this.maxDate, onDateChange: (event) => {
240
+ } }, h("ix-date-picker", { key: '56b7f9d28a733952ee5ea0e1555f88295f10f50e', ref: this.datepickerRef, format: this.format, locale: this.locale, range: false, from: (_a = this.from) !== null && _a !== void 0 ? _a : '', minDate: this.minDate, maxDate: this.maxDate, onDateChange: (event) => {
241
241
  const { from } = event.detail;
242
242
  this.onInput(from);
243
- }, showWeekNumbers: this.showWeekNumbers, ariaLabelNextMonthButton: this.ariaLabelNextMonthButton, ariaLabelPreviousMonthButton: this.ariaLabelPreviousMonthButton, embedded: true }))));
243
+ }, showWeekNumbers: this.showWeekNumbers, ariaLabelNextMonthButton: this.ariaLabelNextMonthButton, ariaLabelPreviousMonthButton: this.ariaLabelPreviousMonthButton, standaloneAppearance: false }))));
244
244
  }
245
245
  static get is() { return "ix-date-input"; }
246
246
  static get encapsulation() { return "shadow"; }
@@ -368,7 +368,7 @@ export class DateInput {
368
368
  "optional": true,
369
369
  "docs": {
370
370
  "tags": [],
371
- "text": "Locale identifier (e.g. 'en' or 'de')."
371
+ "text": "Locale identifier (e.g. 'en' or 'de').\nThe locale is used to translate the labels for weekdays and months.\nIt also determines the default order of weekdays based on the locale's conventions.\nWhen the locale changes, the weekday labels are rotated according to the `weekStartIndex`.\nIt does not affect the values returned by methods and events."
372
372
  },
373
373
  "getter": false,
374
374
  "setter": false,
@@ -1 +1 @@
1
- {"version":3,"file":"date-input.js","sourceRoot":"","sources":["../../../src/components/date-input/date-input.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconCalendar } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport type { DateInputValidityState } from './date-input.types';\nimport {\n closeDropdown as closeDropdownUtil,\n createValidityState,\n handleIconClick,\n openDropdown as openDropdownUtil,\n} from '../utils/input/picker-input.util';\n\n/**\n * @form-ready\n *\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-date-input',\n styleUrl: 'date-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DateInput implements IxInputFieldComponent<string | undefined> {\n @Element() hostElement!: HTMLIxDateInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * Name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * Value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value?: string = '';\n\n @Watch('value') watchValuePropHandler(newValue: string) {\n this.onInput(newValue);\n }\n\n /**\n * The earliest date that can be selected by the date input/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 input/picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\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 * Required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * Helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * Label of the input field\n */\n @Prop() label?: string;\n\n /**\n * ARIA label for the calendar icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelCalendarButton?: string;\n\n /**\n * Error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * Readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * Show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * I18n string for the error message when the date is not parsable\n */\n @Prop({ attribute: 'i18n-error-date-unparsable' }) i18nErrorDateUnparsable =\n 'Date is not valid';\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 * 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 * 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 * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string | undefined>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<DateInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() from?: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly datepickerRef = makeRef<HTMLIxDatePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string | undefined): void {\n if (value) {\n this.formInternals.setFormValue(value);\n } else {\n this.formInternals.setFormValue(null);\n }\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.from = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.from = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string | undefined) {\n this.value = value;\n if (!value) {\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const date = DateTime.fromFormat(value, this.format);\n const minDate = DateTime.fromFormat(this.minDate, this.format);\n const maxDate = DateTime.fromFormat(this.maxDate, this.format);\n\n this.isInputInvalid = !date.isValid || date < minDate || date > maxDate;\n\n if (this.isInputInvalid) {\n this.invalidReason = date.invalidReason || undefined;\n this.from = undefined;\n } else {\n this.updateFormInternalValue(value);\n this.closeDropdown();\n }\n\n this.valueChange.emit(value);\n }\n\n onCalenderClick(event: Event) {\n handleIconClick(\n event,\n this.show,\n () => this.openDropdown(),\n this.inputElementRef\n );\n }\n\n async openDropdown() {\n return openDropdownUtil(this.dropdownElementRef);\n }\n\n async closeDropdown() {\n return closeDropdownUtil(this.dropdownElementRef);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n readonly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value ?? ''}\n placeholder={this.placeholder}\n name={this.name}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-calendar\"\n class={{ 'calendar-hidden': this.disabled || this.readonly }}\n variant=\"subtle-tertiary\"\n icon={iconCalendar}\n onClick={(event) => this.onCalenderClick(event)}\n aria-label={this.ariaLabelCalendarButton}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve(\n createValidityState(this.isInputInvalid, !!this.required, this.value)\n );\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorDateUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-date-picker\n ref={this.datepickerRef}\n format={this.format}\n locale={this.locale}\n singleSelection\n from={this.from ?? ''}\n minDate={this.minDate}\n maxDate={this.maxDate}\n onDateChange={(event) => {\n const { from } = event.detail;\n this.onInput(from);\n }}\n showWeekNumbers={this.showWeekNumbers}\n ariaLabelNextMonthButton={this.ariaLabelNextMonthButton}\n ariaLabelPreviousMonthButton={this.ariaLabelPreviousMonthButton}\n embedded\n ></ix-date-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"date-input.js","sourceRoot":"","sources":["../../../src/components/date-input/date-input.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconCalendar } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport type { DateInputValidityState } from './date-input.types';\nimport {\n closeDropdown as closeDropdownUtil,\n createValidityState,\n handleIconClick,\n openDropdown as openDropdownUtil,\n} from '../utils/input/picker-input.util';\n\n/**\n * @form-ready\n *\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-date-input',\n styleUrl: 'date-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DateInput implements IxInputFieldComponent<string | undefined> {\n @Element() hostElement!: HTMLIxDateInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * Name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * Value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value?: string = '';\n\n @Watch('value') watchValuePropHandler(newValue: string) {\n this.onInput(newValue);\n }\n\n /**\n * The earliest date that can be selected by the date input/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 input/picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n * The locale is used to translate the labels for weekdays and months.\n * It also determines the default order of weekdays based on the locale's conventions.\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 /**\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 * Required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * Helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * Label of the input field\n */\n @Prop() label?: string;\n\n /**\n * ARIA label for the calendar icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelCalendarButton?: string;\n\n /**\n * Error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * Readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * Show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * I18n string for the error message when the date is not parsable\n */\n @Prop({ attribute: 'i18n-error-date-unparsable' }) i18nErrorDateUnparsable =\n 'Date is not valid';\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 * 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 * 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 * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string | undefined>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<DateInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() from?: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly datepickerRef = makeRef<HTMLIxDatePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string | undefined): void {\n if (value) {\n this.formInternals.setFormValue(value);\n } else {\n this.formInternals.setFormValue(null);\n }\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.from = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.from = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string | undefined) {\n this.value = value;\n if (!value) {\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const date = DateTime.fromFormat(value, this.format);\n const minDate = DateTime.fromFormat(this.minDate, this.format);\n const maxDate = DateTime.fromFormat(this.maxDate, this.format);\n\n this.isInputInvalid = !date.isValid || date < minDate || date > maxDate;\n\n if (this.isInputInvalid) {\n this.invalidReason = date.invalidReason || undefined;\n this.from = undefined;\n } else {\n this.updateFormInternalValue(value);\n this.closeDropdown();\n }\n\n this.valueChange.emit(value);\n }\n\n onCalenderClick(event: Event) {\n handleIconClick(\n event,\n this.show,\n () => this.openDropdown(),\n this.inputElementRef\n );\n }\n\n async openDropdown() {\n return openDropdownUtil(this.dropdownElementRef);\n }\n\n async closeDropdown() {\n return closeDropdownUtil(this.dropdownElementRef);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n readonly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value ?? ''}\n placeholder={this.placeholder}\n name={this.name}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-calendar\"\n class={{ 'calendar-hidden': this.disabled || this.readonly }}\n variant=\"subtle-tertiary\"\n icon={iconCalendar}\n onClick={(event) => this.onCalenderClick(event)}\n aria-label={this.ariaLabelCalendarButton}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve(\n createValidityState(this.isInputInvalid, !!this.required, this.value)\n );\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorDateUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-date-picker\n ref={this.datepickerRef}\n format={this.format}\n locale={this.locale}\n range={false}\n from={this.from ?? ''}\n minDate={this.minDate}\n maxDate={this.maxDate}\n onDateChange={(event) => {\n const { from } = event.detail;\n this.onInput(from);\n }}\n showWeekNumbers={this.showWeekNumbers}\n ariaLabelNextMonthButton={this.ariaLabelNextMonthButton}\n ariaLabelPreviousMonthButton={this.ariaLabelPreviousMonthButton}\n standaloneAppearance={false}\n ></ix-date-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker-component.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker-component.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport type { DateTimeCardCorners } from '../date-time-card/date-time-card.types';\n\nexport interface IxDatePickerComponent {\n /**\n * Annotate with @Prop() decorator\n */\n format: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n singleSelection: boolean;\n\n /**\n * Annotate with @Prop() decorator\n */\n corners: DateTimeCardCorners;\n\n /**\n * Annotate with @Prop() decorator\n */\n from?: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n to?: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n minDate?: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n maxDate?: string;\n\n /**\n * Annotate with @Prop({ attribute: 'i18n-done' }) decorator\n */\n i18nDone: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n weekStartIndex: number;\n\n /**\n * Annotate with @Prop() decorator\n */\n locale?: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n showWeekNumbers: boolean;\n}\n"]}
1
+ {"version":3,"file":"date-picker-component.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker-component.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport type { DateTimeCardCorners } from '../date-time-card/date-time-card.types';\n\nexport interface IxDatePickerComponent {\n /**\n * Annotate with @Prop() decorator\n */\n format: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n range: boolean;\n\n /**\n * Annotate with @Prop() decorator\n */\n corners: DateTimeCardCorners;\n\n /**\n * Annotate with @Prop() decorator\n */\n from?: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n to?: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n minDate?: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n maxDate?: string;\n\n /**\n * Annotate with @Prop({ attribute: 'i18n-done' }) decorator\n */\n i18nDone: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n weekStartIndex: number;\n\n /**\n * Annotate with @Prop() decorator\n */\n locale?: string;\n\n /**\n * Annotate with @Prop() decorator\n */\n showWeekNumbers: boolean;\n}\n"]}
@@ -29,9 +29,9 @@ export class DatePicker {
29
29
  */
30
30
  this.format = 'yyyy/LL/dd';
31
31
  /**
32
- * If true disables date range selection (from/to).
32
+ * If true a date-range can be selected (from/to).
33
33
  */
34
- this.singleSelection = false;
34
+ this.range = true;
35
35
  /**
36
36
  * Corner style
37
37
  */
@@ -62,7 +62,7 @@ export class DatePicker {
62
62
  */
63
63
  this.showWeekNumbers = false;
64
64
  /** @internal */
65
- this.embedded = false;
65
+ this.standaloneAppearance = true;
66
66
  /** @internal */
67
67
  this.today = DateTime.now().toISO();
68
68
  this.selectedYear = 0;
@@ -118,7 +118,7 @@ export class DatePicker {
118
118
  const _to = ((_c = this.currToDate) === null || _c === void 0 ? void 0 : _c.isValid)
119
119
  ? (_d = this.currToDate) === null || _d === void 0 ? void 0 : _d.toFormat(this.format)
120
120
  : undefined;
121
- if (!this.singleSelection) {
121
+ if (this.range) {
122
122
  return {
123
123
  from: _from,
124
124
  to: _to,
@@ -368,7 +368,7 @@ export class DatePicker {
368
368
  return;
369
369
  }
370
370
  const date = DateTime.fromJSDate(new Date(this.selectedYear, this.selectedMonth, selectedDay));
371
- if (this.singleSelection || this.currFromDate === undefined) {
371
+ if (!this.range || this.currFromDate === undefined) {
372
372
  this.currFromDate = date;
373
373
  this.onDateChange();
374
374
  return;
@@ -394,7 +394,7 @@ export class DatePicker {
394
394
  onDateChange() {
395
395
  this.getCurrentDate().then((date) => {
396
396
  this.dateChange.emit(date);
397
- if (!this.singleSelection) {
397
+ if (this.range) {
398
398
  this.dateRangeChange.emit(date);
399
399
  }
400
400
  });
@@ -407,12 +407,12 @@ export class DatePicker {
407
407
  'calendar-item': true,
408
408
  'empty-day': day === undefined,
409
409
  today: todayObj.hasSame(selectedDayObj, 'day'),
410
- selected: !!(((_a = this.currFromDate) === null || _a === void 0 ? void 0 : _a.hasSame(selectedDayObj, 'day')) ||
411
- ((_b = this.currToDate) === null || _b === void 0 ? void 0 : _b.hasSame(selectedDayObj, 'day'))),
412
- range: !!(this.currFromDate &&
410
+ selected: ((_a = this.currFromDate) === null || _a === void 0 ? void 0 : _a.hasSame(selectedDayObj, 'day')) ||
411
+ ((_b = this.currToDate) === null || _b === void 0 ? void 0 : _b.hasSame(selectedDayObj, 'day')),
412
+ range: this.currFromDate &&
413
413
  selectedDayObj.startOf('day') > this.currFromDate.startOf('day') &&
414
414
  this.currToDate !== undefined &&
415
- selectedDayObj.startOf('day') < ((_c = this.currToDate) === null || _c === void 0 ? void 0 : _c.startOf('day'))),
415
+ selectedDayObj.startOf('day') < ((_c = this.currToDate) === null || _c === void 0 ? void 0 : _c.startOf('day')),
416
416
  disabled: !this.isWithinMinMaxDate(selectedDayObj),
417
417
  };
418
418
  }
@@ -479,7 +479,7 @@ export class DatePicker {
479
479
  return rows;
480
480
  }
481
481
  render() {
482
- 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) => {
482
+ return (h(Host, { key: '3b20ed51203020978076dedd30ac649d16d7fd80' }, h("ix-date-time-card", { key: 'a005b3d5e293d1985d0130b343e260f0c5eb9451', corners: this.corners, standaloneAppearance: this.standaloneAppearance }, h("div", { key: '93646df15f3c696b994a5bf70d69c37514aaebd4', class: "header", slot: "header" }, h("ix-icon-button", { key: 'f523e9357c8584bd244138964b2a04364d4937c2', onClick: () => this.changeToAdjacentMonth(-1), icon: iconChevronLeftSmall, variant: "tertiary", class: "arrows", "aria-label": this.ariaLabelPreviousMonthButton }), h("div", { key: '038c847b675c52204e25af48175b260ae1fb0ae2', class: "selector" }, h("ix-button", { key: 'e6c55b9c49452e03c9c5810d4e6a8a6363dfbc24', variant: "tertiary", ref: this.dropdownButtonRef, "data-testid": "year-month-button" }, h("span", { key: 'a1a1a13112a61835a766ecbc64088d8b6f4bf4b2', class: "fontSize capitalize" }, this.monthNames[this.selectedMonth], " ", this.selectedYear)), h("ix-dropdown", { key: '6b769eb21fb7effecc71f169e43155ae2b71055e', "data-testid": "year-month-dropdown", class: "dropdown", trigger: this.dropdownButtonRef.waitForCurrent(), ignoreRelatedSubmenu: true, placement: "bottom-start" }, h("div", { key: '40403e97d28c97fd1da57968051e7ee4381ce307', class: "wrapper" }, h("div", { key: '930ab7db24ffe11d38fd01c01599d8b8b4c9bb66', "data-testid": "year-container", class: "overflow", onScroll: () => this.infiniteScrollYears(), ref: this.yearContainerRef }, this.renderYears()), h("div", { key: '4204d51c76c8420673966c9f98270dafdf78aebd', class: "overflow", "data-testid": "month-container" }, this.monthNames.map((month, index) => (h("div", { key: month, ref: (ref) => {
483
483
  if (month === this.monthNames[0]) {
484
484
  this.firstMonthRef(ref);
485
485
  }
@@ -493,10 +493,10 @@ export class DatePicker {
493
493
  hidden: this.tempYear !== this.selectedYear ||
494
494
  this.tempMonth !== index,
495
495
  checkPosition: true,
496
- }, 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: {
496
+ }, name: iconSingleCheck, size: "16" }), h("div", null, h("span", { class: "capitalize monthMargin" }, `${month} ${this.tempYear}`))))))))), h("ix-icon-button", { key: '2a36d2b492c6f3761d6538945ebdc627bc082efc', onClick: () => this.changeToAdjacentMonth(1), icon: iconChevronRightSmall, variant: "tertiary", class: "arrows", "aria-label": this.ariaLabelNextMonthButton })), h("div", { key: '09fee287b15f21b7f615f52d1bbfd3baea3d2356', class: {
497
497
  grid: true,
498
498
  'grid--show-week-numbers': this.showWeekNumbers,
499
- } }, 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) => {
499
+ } }, this.showWeekNumbers && h("div", { key: 'b07745571edb138152eba523bea081ce49c3637e', 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) => {
500
500
  return (h(Fragment, null, this.showWeekNumbers && (h("div", { class: "calendar-item week-number" }, week.weekNumber)), week.dayNumbers.map((day) => {
501
501
  return day ? (h("div", { key: day, id: `day-cell-${day}`, "date-calender-day": true, class: this.getDayClasses(day), onClick: (e) => {
502
502
  const target = e.currentTarget;
@@ -508,10 +508,10 @@ export class DatePicker {
508
508
  }
509
509
  }, tabIndex: day === this.focusedDay ? 0 : -1, onFocus: () => this.onDayFocus(), onBlur: () => this.onDayBlur(), "aria-label": `${this.selectedMonth}: ${day}` }, day)) : (h("div", null));
510
510
  })));
511
- })), h("div", { key: 'e23666d293faa6b8b47cb274c31e29a6c91b3ba9', class: {
511
+ })), h("div", { key: '5dc8efc666c7568ec2a3f59d5fa862e6a128c9e9', class: {
512
512
  button: true,
513
- hidden: this.singleSelection || this.embedded,
514
- } }, h("ix-button", { key: '7b3acc93968e06769d451c06f3b63544af09d3ee', onClick: () => this.onDone() }, this.i18nDone)))));
513
+ hidden: !this.range || !this.standaloneAppearance,
514
+ } }, h("ix-button", { key: 'e42f6039dc5e3fb17dc105208c6028953281feff', onClick: () => this.onDone() }, this.i18nDone)))));
515
515
  }
516
516
  static get is() { return "ix-date-picker"; }
517
517
  static get encapsulation() { return "shadow"; }
@@ -547,9 +547,9 @@ export class DatePicker {
547
547
  "reflect": false,
548
548
  "defaultValue": "'yyyy/LL/dd'"
549
549
  },
550
- "singleSelection": {
550
+ "range": {
551
551
  "type": "boolean",
552
- "attribute": "single-selection",
552
+ "attribute": "range",
553
553
  "mutable": false,
554
554
  "complexType": {
555
555
  "original": "boolean",
@@ -560,12 +560,12 @@ export class DatePicker {
560
560
  "optional": false,
561
561
  "docs": {
562
562
  "tags": [],
563
- "text": "If true disables date range selection (from/to)."
563
+ "text": "If true a date-range can be selected (from/to)."
564
564
  },
565
565
  "getter": false,
566
566
  "setter": false,
567
567
  "reflect": false,
568
- "defaultValue": "false"
568
+ "defaultValue": "true"
569
569
  },
570
570
  "corners": {
571
571
  "type": "string",
@@ -762,7 +762,7 @@ export class DatePicker {
762
762
  "optional": true,
763
763
  "docs": {
764
764
  "tags": [],
765
- "text": "Locale identifier (e.g. 'en' or 'de').\nThe locale is used to translate the labels for weekdays and months.\nWhen the locale changes, the weekday labels are rotated according to the `weekStartIndex`.\nIt does not affect the values returned by methods and events."
765
+ "text": "Locale identifier (e.g. 'en' or 'de').\nThe locale is used to translate the labels for weekdays and months.\nIt also determines the default order of weekdays based on the locale's conventions.\nWhen the locale changes, the weekday labels are rotated according to the `weekStartIndex`.\nIt does not affect the values returned by methods and events."
766
766
  },
767
767
  "getter": false,
768
768
  "setter": false,
@@ -791,9 +791,9 @@ export class DatePicker {
791
791
  "reflect": false,
792
792
  "defaultValue": "false"
793
793
  },
794
- "embedded": {
794
+ "standaloneAppearance": {
795
795
  "type": "boolean",
796
- "attribute": "embedded",
796
+ "attribute": "standalone-appearance",
797
797
  "mutable": false,
798
798
  "complexType": {
799
799
  "original": "boolean",
@@ -812,7 +812,7 @@ export class DatePicker {
812
812
  "getter": false,
813
813
  "setter": false,
814
814
  "reflect": false,
815
- "defaultValue": "false"
815
+ "defaultValue": "true"
816
816
  },
817
817
  "today": {
818
818
  "type": "string",
@@ -924,15 +924,20 @@ export class DatePicker {
924
924
  return {
925
925
  "getCurrentDate": {
926
926
  "complexType": {
927
- "signature": "() => Promise<{ from: string | undefined; to: string | undefined; }>",
927
+ "signature": "() => Promise<DateChangeEvent>",
928
928
  "parameters": [],
929
929
  "references": {
930
930
  "Promise": {
931
931
  "location": "global",
932
932
  "id": "global::Promise"
933
+ },
934
+ "DateChangeEvent": {
935
+ "location": "import",
936
+ "path": "./date-picker.events",
937
+ "id": "src/components/date-picker/date-picker.events.ts::DateChangeEvent"
933
938
  }
934
939
  },
935
- "return": "Promise<{ from: string | undefined; to: string | undefined; }>"
940
+ "return": "Promise<DateChangeEvent>"
936
941
  },
937
942
  "docs": {
938
943
  "text": "Get the currently selected date or range. The object returned contains `from` and `to` properties.\nThe property strings are formatted according to the `format` property and not affected by the `locale` property.\nThe locale applied is always `en-US`.",
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\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"]}
1
+ {"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;AAEH,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,QAAQ,EACR,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAc5C,MAAM,OAAO,UAAU;IALvB;QAQE;;;WAGG;QACK,WAAM,GAAW,YAAY,CAAC;QAEtC;;WAEG;QACK,UAAK,GAAY,IAAI,CAAC;QAE9B;;WAEG;QACK,YAAO,GAAwB,SAAS,CAAC;QA8CjD;;;WAGG;QACK,YAAO,GAAG,EAAE,CAAC;QAErB;;;WAGG;QACK,YAAO,GAAG,EAAE,CAAC;QAErB;;WAEG;QAC+B,aAAQ,GAAG,MAAM,CAAC;QAcpD;;;WAGG;QACK,mBAAc,GAAG,CAAC,CAAC;QAgB3B;;;;WAIG;QACK,oBAAe,GAAG,KAAK,CAAC;QAEhC,gBAAgB;QACR,yBAAoB,GAAG,IAAI,CAAC;QAEpC,gBAAgB;QACR,UAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;QAsD9B,iBAAY,GAAG,CAAC,CAAC;QACjB,aAAQ,GAAG,CAAC,CAAC;QACb,cAAS,GAAG,CAAC,CAAC;QACd,YAAO,GAAG,CAAC,CAAC;QACZ,kBAAa,GAAG,CAAC,CAAC;QAClB,cAAS,GAAG,CAAC,CAAC;QAEN,sBAAiB,GAAG,OAAO,EAAe,CAAC;QAC3C,qBAAgB,GAAG,OAAO,EAAe,CAAC;QAC1C,kBAAa,GAAG,OAAO,EAAe,CAAC;QAI/C,eAAU,GAAW,CAAC,CAAC;QAExB,eAAU,GAAG,KAAK,CAAC;QACnB,0BAAqB,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,CAAC,CAAC;QAC1B,aAAQ,GAAmB,EAAE,CAAC;KAgmBvC;IAzwBC,oBAAoB,CAAC,QAAgB;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAE9B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IASD,kBAAkB,CAAC,QAAgB;QACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAE5B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IA+CD,cAAc;QACZ,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAqCD;;;;OAIG;IAEH,KAAK,CAAC,cAAc;;QAClB,MAAM,KAAK,GAAG,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO;YACtC,CAAC,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,GAAG,GAAG,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO;YAClC,CAAC,CAAC,MAAA,IAAI,CAAC,UAAU,0CAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,EAAE,EAAE,GAAG;aACR,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,SAAS;SACd,CAAC;IACJ,CAAC;IA0BD,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,WAAW;gBACd,WAAW,EAAE,CAAC;gBACd,MAAM;YACR,KAAK,YAAY;gBACf,WAAW,EAAE,CAAC;gBACd,MAAM;YACR,KAAK,SAAS;gBACZ,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,WAAW;gBACd,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR;gBACE,OAAO;QACX,CAAC;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YAC/C,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzD,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;aAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;IAChC,CAAC;IAEO,qBAAqB;QAC3B,OAAO,CACL,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CACzE,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAEO,eAAe,CAAC,UAAkB;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,uBAAuB,CAAC,IAAc;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,iBAAiB;;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI;YAC3B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE;YACvB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,mCAAI,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC;QACnE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC,aAAa;YAChB,CAAC,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,mCAAI,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;IACpC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CACxD,gBAAgB,IAAI,CAAC,UAAU,GAAG,CACpB,CAAC;QACjB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,EACF,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,QAAkB,EAAE,KAAa;QAC1D,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAE5B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,GAAG,CAAC,KAAK,CAAC;QACf,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE5B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEO,iBAAiB;QACvB,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC;QACtC,IAAI,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC;QAClC,IAAI,sBAAsB,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;QACpD,IAAI,oBAAoB,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;YAC9B,qGAAqG;YACrG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE3D,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,qBAAqB,CACnC,CAAC;YACF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvD,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,mBAAmB,CACjC,CAAC;QACJ,CAAC;QAED,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,GAAG,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC;YACvC,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,SAAS,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;YAC7C,SAAS,GAAG,CAAC,CAAC;YACd,OAAO,EAAE,CAAC;YAEV,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KACE,IAAI,SAAS,GAAG,SAAS,EACzB,SAAS,IAAI,OAAO,IAAI,aAAa,IAAI,EAAE,EAC3C,SAAS,EAAE,EACX,CAAC;YACD,MAAM,OAAO,GAA2B,EAAE,CAAC;YAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClE,0DAA0D;gBAC1D,IACE,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,GAAG,sBAAsB,CAAC;oBACvD,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,GAAG,oBAAoB,CAAC,EACnD,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,gBAAgB,IAAI,eAAe,EAAE,CAAC;gBACxC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,QAAQ,CAAC,IAAI,CAAC;wBACZ,UAAU,EAAE,UAAU,CAAC,eAAe;wBACtC,UAAU,EAAE,OAAO;qBACpB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,SAAS,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;oBAC7C,QAAQ,CAAC,IAAI,CAAC;wBACZ,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,OAAO;qBACpB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC;wBACZ,UAAU,EAAE,SAAS,GAAG,CAAC;wBACzB,UAAU,EAAE,OAAO;qBACpB,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS;YACX,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC;gBACZ,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,cAAc,CAAC,KAAiB,EAAE,IAAY;QACpD,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEO,UAAU;;QAChB,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAEO,mBAAmB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAEpD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;QACvC,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,CAAC;QAC3B,MAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;QAC/D,MAAM,KAAK,GAAG,GAAG,CAAC;QAElB,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK;YAAE,OAAO;QAElD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,aAAa,CAAC,iBAAgC,CAAC;YAC7D,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;YACpB,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAE3C,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,aAAa,CAAC,gBAA+B,CAAC;YAC3D,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAClB,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,MAAc;QAC1C,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,WAAmB,EAAE,MAAe;QACpD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAC7D,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,OAAO;QACT,CAAC;QAED,6DAA6D;QAC7D,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,GAAW;;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CACxC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CACrD,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,GAAG,KAAK,SAAS;YAC9B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC;YAC9C,QAAQ,EACN,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC;iBACjD,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;YACjD,KAAK,EACH,IAAI,CAAC,YAAY;gBACjB,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChE,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC7B,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAA;YACjE,QAAQ,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC;SACnD,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO;YAC9B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO;YAC9B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAEzD,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAAC,KAAa;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO;YAC7B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO;YAC7B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,YAAY,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC;QACvC,MAAM,YAAY,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC;QACvC,MAAM,QAAQ,GAAG,YAAY;YAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,IAAI,IAAI,KAAK,GAAG,YAAY;YAC3D,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,OAAO,GAAG,YAAY;YAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,IAAI,IAAI,KAAK,GAAG,YAAY;YAC3D,CAAC,CAAC,KAAK,CAAC;QAEV,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEO,kBAAkB,CAAC,IAAc;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO;YAC3B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO;YAC3B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,QAAQ,GAAG,QAAQ;YACvB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,KAAK,CAAC;QAEV,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CACP,WACE,GAAG,EAAE,IAAI,EACT,KAAK,EAAE;oBACL,SAAS,EAAE,IAAI;oBACf,qBAAqB,EAAE,IAAI;oBAC3B,eAAe,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;iBAChD,EACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EACpD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACrB,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,CAAC;gBACH,CAAC,EACD,QAAQ,EAAE,CAAC;gBAEX,eACE,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;wBAC9B,aAAa,EAAE,IAAI;qBACpB,EACD,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAC,IAAI,GACA;gBACX,WAAK,KAAK,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,IAAG,GAAG,IAAI,EAAE,CAAO,CACzD,CACP,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,0EACE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAE/C,4DAAK,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ;oBAC/B,uEACE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAC7C,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,QAAQ,gBACF,IAAI,CAAC,4BAA4B,GAC7B;oBAClB,4DAAK,KAAK,EAAC,UAAU;wBACnB,kEACE,OAAO,EAAC,UAAU,EAClB,GAAG,EAAE,IAAI,CAAC,iBAAiB,iBACf,mBAAmB;4BAE/B,6DAAM,KAAK,EAAC,qBAAqB;gCAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;;gCAAG,IAAI,CAAC,YAAY,CACnD,CACG;wBACZ,mFACc,qBAAqB,EACjC,KAAK,EAAC,UAAU,EAChB,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAChD,oBAAoB,QACpB,SAAS,EAAC,cAAc;4BAExB,4DAAK,KAAK,EAAC,SAAS;gCAClB,2EACc,gBAAgB,EAC5B,KAAK,EAAC,UAAU,EAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAC1C,GAAG,EAAE,IAAI,CAAC,gBAAgB,IAEzB,IAAI,CAAC,WAAW,EAAE,CACf;gCACN,4DAAK,KAAK,EAAC,UAAU,iBAAa,iBAAiB,IAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACrC,WACE,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;wCACX,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;4CACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wCAC1B,CAAC;oCACH,CAAC,EACD,KAAK,EAAE;wCACL,SAAS,EAAE,IAAI;wCACf,qBAAqB,EAAE,IAAI;wCAC3B,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;4CACnC,IAAI,CAAC,SAAS,KAAK,KAAK;wCAC1B,eAAe,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;qCAClD,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACtC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAElD,QAAQ,EAAE,CAAC;oCAEX,eACE,KAAK,EAAE;4CACL,MAAM,EACJ,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;gDACnC,IAAI,CAAC,SAAS,KAAK,KAAK;4CAC1B,aAAa,EAAE,IAAI;yCACpB,EACD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAC,IAAI,GACA;oCACX;wCACE,YAAM,KAAK,EAAC,wBAAwB,IAAE,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAQ,CACrE,CACF,CACP,CAAC,CACE,CACF,CACM,CACV;oBACN,uEACE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAC5C,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,QAAQ,gBACF,IAAI,CAAC,wBAAwB,GACzB,CACd;gBACN,4DACE,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,yBAAyB,EAAE,IAAI,CAAC,eAAe;qBAChD;oBAEA,IAAI,CAAC,eAAe,IAAI,4DAAK,KAAK,EAAC,wBAAwB,GAAO;oBAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,WAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAC,wBAAwB;wBAC5C,WAAK,KAAK,EAAC,UAAU,IAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAO,CAC1C,CACP,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC1B,OAAO,CACL,EAAC,QAAQ;4BACN,IAAI,CAAC,eAAe,IAAI,CACvB,WAAK,KAAK,EAAC,2BAA2B,IACnC,IAAI,CAAC,UAAU,CACZ,CACP;4BACA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gCAC3B,OAAO,GAAG,CAAC,CAAC,CAAC,CACX,WACE,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,YAAY,GAAG,EAAE,6BAErB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wCACb,MAAM,MAAM,GAAG,CAAC,CAAC,aAA4B,CAAC;wCAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oCAC9B,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wCACb,MAAM,MAAM,GAAG,CAAC,CAAC,aAA4B,CAAC;wCAC9C,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;4CACtB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;wCAC9B,CAAC;oCACH,CAAC,EACD,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAChC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,gBAClB,GAAG,IAAI,CAAC,aAAa,KAAK,GAAG,EAAE,IAE1C,GAAG,CACA,CACP,CAAC,CAAC,CAAC,CACF,cAAW,CACZ,CAAC;4BACJ,CAAC,CAAC,CACO,CACZ,CAAC;oBACJ,CAAC,CAAC,CACE;gBACN,4DACE,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,oBAAoB;qBAClD;oBAED,kEAAW,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAG,IAAI,CAAC,QAAQ,CAAa,CAChE,CACY,CACf,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AA7lBC;IADC,UAAU,CAAa,SAAS,CAAC;6CAoCjC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\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 * It also determines the default order of weekdays based on the locale's conventions.\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(): Promise<DateChangeEvent> {\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"]}