@siemens/ix 0.0.0-20240508065324 → 0.0.0-20240522073858

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/components/base-button.js +26 -3
  2. package/components/base-button.js.map +1 -1
  3. package/components/breadcrumb-item.js +1 -1
  4. package/components/breadcrumb-item.js.map +1 -1
  5. package/components/button.js +3 -3
  6. package/components/button.js.map +1 -1
  7. package/components/date-picker.js +4 -4
  8. package/components/date-picker.js.map +1 -1
  9. package/components/dropdown.js +29 -12
  10. package/components/dropdown.js.map +1 -1
  11. package/components/icon-button.js +2 -2
  12. package/components/icon-button.js.map +1 -1
  13. package/components/ix-blind.js +1 -1
  14. package/components/ix-blind.js.map +1 -1
  15. package/components/ix-category-filter.js +1 -1
  16. package/components/ix-category-filter.js.map +1 -1
  17. package/components/ix-date-dropdown.js +14 -5
  18. package/components/ix-date-dropdown.js.map +1 -1
  19. package/components/ix-icon-toggle-button.js +1 -1
  20. package/components/ix-icon-toggle-button.js.map +1 -1
  21. package/components/ix-menu.js +3 -3
  22. package/components/ix-menu.js.map +1 -1
  23. package/components/ix-pagination.js +1 -1
  24. package/components/ix-pagination.js.map +1 -1
  25. package/components/ix-workflow-step.js +4 -4
  26. package/components/ix-workflow-step.js.map +1 -1
  27. package/components/ix-workflow-steps.js +1 -1
  28. package/components/ix-workflow-steps.js.map +1 -1
  29. package/components/tooltip.js +5 -2
  30. package/components/tooltip.js.map +1 -1
  31. package/dist/cjs/{app-globals-7ea20f68.js → app-globals-5cfdf2a0.js} +2 -2
  32. package/dist/cjs/{app-globals-7ea20f68.js.map → app-globals-5cfdf2a0.js.map} +1 -1
  33. package/dist/cjs/{base-button-2f74b19d.js → base-button-7c45a6c4.js} +27 -4
  34. package/dist/cjs/base-button-7c45a6c4.js.map +1 -0
  35. package/dist/cjs/{base-icon-button-848c77f2.js → base-icon-button-ac2fcf4b.js} +2 -2
  36. package/dist/cjs/{base-icon-button-848c77f2.js.map → base-icon-button-ac2fcf4b.js.map} +1 -1
  37. package/dist/cjs/{core-js-a890bac8.js → core-js-2fc351ee.js} +1 -1
  38. package/dist/cjs/{core-js-a890bac8.js.map → core-js-2fc351ee.js.map} +1 -1
  39. package/dist/cjs/dom-83fb07d8.js.map +1 -1
  40. package/dist/cjs/{index.es2017-0db94b91.js → index.es2017-0c2b80b6.js} +3 -3
  41. package/dist/cjs/{index.es2017-0db94b91.js.map → index.es2017-0c2b80b6.js.map} +1 -1
  42. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  43. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  44. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  46. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ix-button.cjs.entry.js +4 -4
  48. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ix-category-filter.cjs.entry.js +2 -2
  50. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ix-col_4.cjs.entry.js +4 -4
  52. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ix-date-dropdown.cjs.entry.js +11 -4
  54. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ix-dropdown.cjs.entry.js +28 -12
  56. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ix-icon-button_2.cjs.entry.js +4 -4
  58. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +3 -3
  60. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ix-icon.entry-e95ddded.js +1533 -0
  62. package/dist/cjs/ix-icon.entry-e95ddded.js.map +1 -0
  63. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  64. package/dist/cjs/ix-menu.cjs.entry.js +3 -3
  65. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
  67. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ix-toggle-button.cjs.entry.js +1 -1
  69. package/dist/cjs/ix-tooltip.cjs.entry.js +5 -2
  70. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
  72. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  74. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  75. package/dist/cjs/loader.cjs.js +2 -2
  76. package/dist/cjs/siemens-ix.cjs.js +2 -2
  77. package/dist/collection/components/action-card/action-card.js.map +1 -1
  78. package/dist/collection/components/application/application.js.map +1 -1
  79. package/dist/collection/components/application-header/application-header.js.map +1 -1
  80. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  81. package/dist/collection/components/application-header/test/application-header.ct.js.map +1 -1
  82. package/dist/collection/components/application-sidebar/application-sidebar.js.map +1 -1
  83. package/dist/collection/components/application-sidebar/events.js.map +1 -1
  84. package/dist/collection/components/avatar/avatar.js.map +1 -1
  85. package/dist/collection/components/avatar/test/avatar.ct.js.map +1 -1
  86. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  87. package/dist/collection/components/blind/blind.css +1 -1
  88. package/dist/collection/components/blind/blind.js.map +1 -1
  89. package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
  90. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  91. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +1 -1
  92. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +181 -0
  93. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  94. package/dist/collection/components/button/base-button.js +25 -2
  95. package/dist/collection/components/button/base-button.js.map +1 -1
  96. package/dist/collection/components/button/button.css +181 -0
  97. package/dist/collection/components/button/button.js +7 -4
  98. package/dist/collection/components/button/button.js.map +1 -1
  99. package/dist/collection/components/button/test/button.ct.js +11 -0
  100. package/dist/collection/components/button/test/button.ct.js.map +1 -1
  101. package/dist/collection/components/button/test/button.spec.js.map +1 -1
  102. package/dist/collection/components/card/card.js.map +1 -1
  103. package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
  104. package/dist/collection/components/card-content/card-content.js.map +1 -1
  105. package/dist/collection/components/card-list/card-list.js.map +1 -1
  106. package/dist/collection/components/card-title/card-title.js.map +1 -1
  107. package/dist/collection/components/category-filter/category-filter.css +181 -0
  108. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  109. package/dist/collection/components/category-filter/filter-state.js.map +1 -1
  110. package/dist/collection/components/category-filter/input-state.js.map +1 -1
  111. package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
  112. package/dist/collection/components/chip/chip.js.map +1 -1
  113. package/dist/collection/components/col/col.js.map +1 -1
  114. package/dist/collection/components/content/content.js.map +1 -1
  115. package/dist/collection/components/content-header/content-header.js.map +1 -1
  116. package/dist/collection/components/css-grid/builder.js.map +1 -1
  117. package/dist/collection/components/css-grid/css-grid-item.js.map +1 -1
  118. package/dist/collection/components/css-grid/css-grid.js.map +1 -1
  119. package/dist/collection/components/date-dropdown/date-dropdown.js +33 -3
  120. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  121. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js +43 -0
  122. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +1 -1
  123. package/dist/collection/components/date-picker/date-picker.js +4 -4
  124. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  125. package/dist/collection/components/date-picker/test/date-picker.ct.js.map +1 -1
  126. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  127. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  128. package/dist/collection/components/datetime-picker/test/datetime-picker.ct.js.map +1 -1
  129. package/dist/collection/components/divider/divider.js.map +1 -1
  130. package/dist/collection/components/drawer/drawer.js.map +1 -1
  131. package/dist/collection/components/drawer/test/drawer.ct.js.map +1 -1
  132. package/dist/collection/components/drawer/test/drawer.spec.js.map +1 -1
  133. package/dist/collection/components/dropdown/dropdown-controller.js +19 -6
  134. package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
  135. package/dist/collection/components/dropdown/dropdown.js +30 -6
  136. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  137. package/dist/collection/components/dropdown/placement.js.map +1 -1
  138. package/dist/collection/components/dropdown/test/dropdown-controller.spec.js.map +1 -1
  139. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
  140. package/dist/collection/components/dropdown-button/dropdown-button.js +1 -1
  141. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  142. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  143. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  144. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js.map +1 -1
  145. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  146. package/dist/collection/components/event-list/event-list.js.map +1 -1
  147. package/dist/collection/components/event-list/test/event-list.ct.js.map +1 -1
  148. package/dist/collection/components/event-list/test/event-list.spec.js.map +1 -1
  149. package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
  150. package/dist/collection/components/event-list-item/test/event-list-item.spec.js.map +1 -1
  151. package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
  152. package/dist/collection/components/expanding-search/test/expanding-search.ct.js.map +1 -1
  153. package/dist/collection/components/expanding-search/test/expanding-search.spec.js.map +1 -1
  154. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  155. package/dist/collection/components/flip-tile/flip-tile-state.js.map +1 -1
  156. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  157. package/dist/collection/components/flip-tile/test/flip-tile.ct.js.map +1 -1
  158. package/dist/collection/components/flip-tile-content/flip-tile-content.js.map +1 -1
  159. package/dist/collection/components/form-field/form-field.js.map +1 -1
  160. package/dist/collection/components/grid/layout-grid.js.map +1 -1
  161. package/dist/collection/components/group/group-context-menu.js.map +1 -1
  162. package/dist/collection/components/group/group.js.map +1 -1
  163. package/dist/collection/components/group/test/group.ct.js.map +1 -1
  164. package/dist/collection/components/group-item/group-item.js.map +1 -1
  165. package/dist/collection/components/icon-button/base-icon-button.js.map +1 -1
  166. package/dist/collection/components/icon-button/icon-button.css +181 -0
  167. package/dist/collection/components/icon-button/icon-button.js +6 -3
  168. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  169. package/dist/collection/components/icon-button/test/icon-button.ct.js.map +1 -1
  170. package/dist/collection/components/icon-button/test/icon-button.spec.js.map +1 -1
  171. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +181 -0
  172. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  173. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
  174. package/dist/collection/components/input-group/input-group.js.map +1 -1
  175. package/dist/collection/components/input-group/tests/input-group.ct.js.map +1 -1
  176. package/dist/collection/components/key-value/key-value.js.map +1 -1
  177. package/dist/collection/components/key-value-list/key-value-list.js.map +1 -1
  178. package/dist/collection/components/kpi/kpi.js.map +1 -1
  179. package/dist/collection/components/link-button/link-button.js.map +1 -1
  180. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  181. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js.map +1 -1
  182. package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
  183. package/dist/collection/components/menu/menu.js +3 -3
  184. package/dist/collection/components/menu/menu.js.map +1 -1
  185. package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
  186. package/dist/collection/components/menu-about/menu-about.js.map +1 -1
  187. package/dist/collection/components/menu-about-item/menu-about-item.js.map +1 -1
  188. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  189. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  190. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js.map +1 -1
  191. package/dist/collection/components/menu-avatar-item/test/menu-avatar-item.ct.js.map +1 -1
  192. package/dist/collection/components/menu-category/enter-leave.js.map +1 -1
  193. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  194. package/dist/collection/components/menu-category/test/menu-category.ct.js.map +1 -1
  195. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  196. package/dist/collection/components/menu-item/test/menu-item.ct.js.map +1 -1
  197. package/dist/collection/components/menu-settings/menu-settings.js.map +1 -1
  198. package/dist/collection/components/menu-settings-item/menu-settings-item.js.map +1 -1
  199. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  200. package/dist/collection/components/message-bar/test/message-bar.spec.js.map +1 -1
  201. package/dist/collection/components/modal/modal.js.map +1 -1
  202. package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
  203. package/dist/collection/components/modal-content/modal-content.js.map +1 -1
  204. package/dist/collection/components/modal-footer/modal-footer.js.map +1 -1
  205. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  206. package/dist/collection/components/modal-loading/modal-loading.js.map +1 -1
  207. package/dist/collection/components/pagination/pagination.css +181 -0
  208. package/dist/collection/components/pagination/pagination.js.map +1 -1
  209. package/dist/collection/components/pagination/test/pagination.ct.js.map +1 -1
  210. package/dist/collection/components/pagination/test/pagination.spec.js.map +1 -1
  211. package/dist/collection/components/pane/pane.js.map +1 -1
  212. package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
  213. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  214. package/dist/collection/components/pane-layout/test/pane-layout.ct.js.map +1 -1
  215. package/dist/collection/components/pill/pill.js.map +1 -1
  216. package/dist/collection/components/playground/example-modal.js.map +1 -1
  217. package/dist/collection/components/playground/playground.js.map +1 -1
  218. package/dist/collection/components/push-card/push-card.js.map +1 -1
  219. package/dist/collection/components/row/row.js.map +1 -1
  220. package/dist/collection/components/select/select.js.map +1 -1
  221. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  222. package/dist/collection/components/select-item/events.js.map +1 -1
  223. package/dist/collection/components/select-item/select-item.js.map +1 -1
  224. package/dist/collection/components/select-item/test/select-item.spec.js.map +1 -1
  225. package/dist/collection/components/slider/slider.js.map +1 -1
  226. package/dist/collection/components/slider/test/slider.ct.js.map +1 -1
  227. package/dist/collection/components/spinner/spinner.js.map +1 -1
  228. package/dist/collection/components/split-button/split-button.js +1 -1
  229. package/dist/collection/components/split-button/split-button.js.map +1 -1
  230. package/dist/collection/components/split-button-item/split-button-item.js.map +1 -1
  231. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  232. package/dist/collection/components/tabs/tabs.js.map +1 -1
  233. package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -1
  234. package/dist/collection/components/tile/tile.js.map +1 -1
  235. package/dist/collection/components/time-picker/test/time-picker.ct.js.map +1 -1
  236. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  237. package/dist/collection/components/toast/toast-container.js.map +1 -1
  238. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  239. package/dist/collection/components/toast/toast.js.map +1 -1
  240. package/dist/collection/components/toggle/test/toggle.ct.js.map +1 -1
  241. package/dist/collection/components/toggle/toggle.js.map +1 -1
  242. package/dist/collection/components/toggle-button/toggle-button.js +1 -1
  243. package/dist/collection/components/toggle-button/toggle-button.js.map +1 -1
  244. package/dist/collection/components/tooltip/test/tooltip.ct.js.map +1 -1
  245. package/dist/collection/components/tooltip/tooltip-controller.js.map +1 -1
  246. package/dist/collection/components/tooltip/tooltip.js +5 -2
  247. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  248. package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
  249. package/dist/collection/components/tree/tree-model.js.map +1 -1
  250. package/dist/collection/components/tree/tree.js.map +1 -1
  251. package/dist/collection/components/tree-item/default-tree-item.js.map +1 -1
  252. package/dist/collection/components/tree-item/tree-item.js.map +1 -1
  253. package/dist/collection/components/typography/test/ix-typography.spec.js.map +1 -1
  254. package/dist/collection/components/typography/type-mapping.js.map +1 -1
  255. package/dist/collection/components/typography/typography.js.map +1 -1
  256. package/dist/collection/components/upload/upload-file-state.js.map +1 -1
  257. package/dist/collection/components/upload/upload.js.map +1 -1
  258. package/dist/collection/components/utils/a11y.js.map +1 -1
  259. package/dist/collection/components/utils/animation.js.map +1 -1
  260. package/dist/collection/components/utils/app-switch/index.js.map +1 -1
  261. package/dist/collection/components/utils/application-layout/context.js.map +1 -1
  262. package/dist/collection/components/utils/application-layout/index.js.map +1 -1
  263. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  264. package/dist/collection/components/utils/breakpoints.js.map +1 -1
  265. package/dist/collection/components/utils/condition-checks.js.map +1 -1
  266. package/dist/collection/components/utils/context.js.map +1 -1
  267. package/dist/collection/components/utils/debounce.js.map +1 -1
  268. package/dist/collection/components/utils/delegate.js.map +1 -1
  269. package/dist/collection/components/utils/focus.js.map +1 -1
  270. package/dist/collection/components/utils/internal/component.js.map +1 -1
  271. package/dist/collection/components/utils/internal/index.js.map +1 -1
  272. package/dist/collection/components/utils/listener.js.map +1 -1
  273. package/dist/collection/components/utils/make-ref.js.map +1 -1
  274. package/dist/collection/components/utils/menu-service/menu-service.js.map +1 -1
  275. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
  276. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js.map +1 -1
  277. package/dist/collection/components/utils/modal/index.js.map +1 -1
  278. package/dist/collection/components/utils/modal/loading.js.map +1 -1
  279. package/dist/collection/components/utils/modal/message.js.map +1 -1
  280. package/dist/collection/components/utils/modal/modal.js.map +1 -1
  281. package/dist/collection/components/utils/mutation-observer.js.map +1 -1
  282. package/dist/collection/components/utils/notification-color.js.map +1 -1
  283. package/dist/collection/components/utils/overlay.js.map +1 -1
  284. package/dist/collection/components/utils/requestAnimationFrame.js.map +1 -1
  285. package/dist/collection/components/utils/rwd.util.js.map +1 -1
  286. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  287. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  288. package/dist/collection/components/utils/typed-event.js.map +1 -1
  289. package/dist/collection/components/utils/waitForElement.js.map +1 -1
  290. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -1
  291. package/dist/collection/components/workflow-step/workflow-step.css +27 -7
  292. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  293. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  294. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
  295. package/dist/collection/components/workflow-steps/test/workflow-steps.spec.js.map +1 -1
  296. package/dist/collection/components/workflow-steps/workflow-steps.css +9 -1
  297. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  298. package/dist/collection/index.js.map +1 -1
  299. package/dist/collection/setup.js.map +1 -1
  300. package/dist/collection/tests/action-card/action-card.e2e.js.map +1 -1
  301. package/dist/collection/tests/application/application.e2e.js.map +1 -1
  302. package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
  303. package/dist/collection/tests/avatar/avatar.e2e.js.map +1 -1
  304. package/dist/collection/tests/basic-navigation/basic-navigation.e2e.js.map +1 -1
  305. package/dist/collection/tests/blind/blind.e2e.js.map +1 -1
  306. package/dist/collection/tests/breadcrumb/breadcrumb.e2e.js.map +1 -1
  307. package/dist/collection/tests/button/button.e2e.js.map +1 -1
  308. package/dist/collection/tests/card/card.e2e.js.map +1 -1
  309. package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
  310. package/dist/collection/tests/category-filter/category-filter.e2e.js.map +1 -1
  311. package/dist/collection/tests/checkbox/checkbox.e2e.js.map +1 -1
  312. package/dist/collection/tests/chip/chip.e2e.js.map +1 -1
  313. package/dist/collection/tests/content-header/content-header.e2e.js.map +1 -1
  314. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js.map +1 -1
  315. package/dist/collection/tests/date-picker/date-picker.e2e.js.map +1 -1
  316. package/dist/collection/tests/date-picker-rework/date-picker-rework.e2e.js.map +1 -1
  317. package/dist/collection/tests/datetime-picker/datetime-picker.e2e.js.map +1 -1
  318. package/dist/collection/tests/datetime-picker-rework/datetime-picker-rework.e2e.js.map +1 -1
  319. package/dist/collection/tests/divider/divider.e2e.js.map +1 -1
  320. package/dist/collection/tests/drawer/drawer.e2e.js.map +1 -1
  321. package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
  322. package/dist/collection/tests/dropdown-button/dropdown-button.e2e.js.map +1 -1
  323. package/dist/collection/tests/dropdown-quick-actions/dropdown-quick-actions.e2e.js.map +1 -1
  324. package/dist/collection/tests/empty-state/empty-state.e2e.js.map +1 -1
  325. package/dist/collection/tests/event-list/event-list.e2e.js.map +1 -1
  326. package/dist/collection/tests/expanding-search/expanding-search.e2e.js.map +1 -1
  327. package/dist/collection/tests/flip-tile/flip-tile.e2e.js.map +1 -1
  328. package/dist/collection/tests/fonts/fonts.e2e.js.map +1 -1
  329. package/dist/collection/tests/group/group.e2e.js.map +1 -1
  330. package/dist/collection/tests/html-table/html-table.e2e.js.map +1 -1
  331. package/dist/collection/tests/icon/icon.e2e.js.map +1 -1
  332. package/dist/collection/tests/icon-button/icon-button.e2e.js +34 -2
  333. package/dist/collection/tests/icon-button/icon-button.e2e.js.map +1 -1
  334. package/dist/collection/tests/icon-toggle-button/toggle-button.e2e.js.map +1 -1
  335. package/dist/collection/tests/input/input.e2e.js.map +1 -1
  336. package/dist/collection/tests/input-group/input-group.e2e.js.map +1 -1
  337. package/dist/collection/tests/key-value/key-value.e2e.js.map +1 -1
  338. package/dist/collection/tests/key-value-list/key-value-list.e2e.js.map +1 -1
  339. package/dist/collection/tests/kpi/kpi.e2e.js.map +1 -1
  340. package/dist/collection/tests/layout-grid/layout-grid.e2e.js.map +1 -1
  341. package/dist/collection/tests/link-button/link-button.e2e.js.map +1 -1
  342. package/dist/collection/tests/map-navigation/map-navigation.e2e.js.map +1 -1
  343. package/dist/collection/tests/map-navigation-overlay/map-navigation.e2e.js.map +1 -1
  344. package/dist/collection/tests/menu/menu.e2e.js.map +1 -1
  345. package/dist/collection/tests/menu-about/menu-about.e2e.js.map +1 -1
  346. package/dist/collection/tests/menu-about-news/menu-about-news.e2e.js.map +1 -1
  347. package/dist/collection/tests/menu-avatar/menu-avatar.e2e.js.map +1 -1
  348. package/dist/collection/tests/menu-settings/menu-settings.e2e.js.map +1 -1
  349. package/dist/collection/tests/message-bar/message-bar.e2e.js.map +1 -1
  350. package/dist/collection/tests/modal/modal.e2e.js.map +1 -1
  351. package/dist/collection/tests/pagination/pagination.e2e.js.map +1 -1
  352. package/dist/collection/tests/panes/panes.e2e.js.map +1 -1
  353. package/dist/collection/tests/pill/pill.e2e.js.map +1 -1
  354. package/dist/collection/tests/push-card/push-card.e2e.js.map +1 -1
  355. package/dist/collection/tests/radiobutton/radiobutton.e2e.js.map +1 -1
  356. package/dist/collection/tests/select/select.e2e.js.map +1 -1
  357. package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
  358. package/dist/collection/tests/spinner/spinner.e2e.js.map +1 -1
  359. package/dist/collection/tests/split-button/split-button.e2e.js.map +1 -1
  360. package/dist/collection/tests/tabs/tabs.e2e.js.map +1 -1
  361. package/dist/collection/tests/textarea/textarea.e2e.js.map +1 -1
  362. package/dist/collection/tests/tile/tile.e2e.js.map +1 -1
  363. package/dist/collection/tests/time-picker-rework/time-picker-rework.e2e.js.map +1 -1
  364. package/dist/collection/tests/toast/toast.e2e.js.map +1 -1
  365. package/dist/collection/tests/toggle/toggle.e2e.js.map +1 -1
  366. package/dist/collection/tests/toggle-button/toggle-button.e2e.js.map +1 -1
  367. package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
  368. package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
  369. package/dist/collection/tests/typography/typography.e2e.js.map +1 -1
  370. package/dist/collection/tests/upload/upload.e2e.js.map +1 -1
  371. package/dist/collection/tests/utils/test/index.js.map +1 -1
  372. package/dist/collection/tests/utils/test/page.js.map +1 -1
  373. package/dist/collection/tests/workflow-steps/workflow-steps.e2e.js.map +1 -1
  374. package/dist/esm/{app-globals-bdfc5499.js → app-globals-0cd07cd9.js} +2 -2
  375. package/dist/esm/{app-globals-bdfc5499.js.map → app-globals-0cd07cd9.js.map} +1 -1
  376. package/dist/esm/{base-button-37b915d6.js → base-button-3ac703a7.js} +27 -4
  377. package/dist/esm/base-button-3ac703a7.js.map +1 -0
  378. package/dist/esm/{base-icon-button-976ef0f6.js → base-icon-button-59eb1fe5.js} +2 -2
  379. package/dist/esm/{base-icon-button-976ef0f6.js.map → base-icon-button-59eb1fe5.js.map} +1 -1
  380. package/dist/esm/{core-js-1c33b685.js → core-js-78b486a8.js} +1 -1
  381. package/dist/esm/{core-js-1c33b685.js.map → core-js-78b486a8.js.map} +1 -1
  382. package/dist/esm/dom-64ac48b5.js.map +1 -1
  383. package/dist/esm/{index.es2017-45304832.js → index.es2017-93ac816c.js} +3 -3
  384. package/dist/esm/{index.es2017-45304832.js.map → index.es2017-93ac816c.js.map} +1 -1
  385. package/dist/esm/ix-avatar_2.entry.js +1 -1
  386. package/dist/esm/ix-blind.entry.js +1 -1
  387. package/dist/esm/ix-blind.entry.js.map +1 -1
  388. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  389. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  390. package/dist/esm/ix-button.entry.js +4 -4
  391. package/dist/esm/ix-button.entry.js.map +1 -1
  392. package/dist/esm/ix-category-filter.entry.js +2 -2
  393. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  394. package/dist/esm/ix-col_4.entry.js +4 -4
  395. package/dist/esm/ix-col_4.entry.js.map +1 -1
  396. package/dist/esm/ix-date-dropdown.entry.js +11 -4
  397. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  398. package/dist/esm/ix-dropdown.entry.js +28 -12
  399. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  400. package/dist/esm/ix-icon-button_2.entry.js +4 -4
  401. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  402. package/dist/esm/ix-icon-toggle-button.entry.js +3 -3
  403. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  404. package/dist/esm/ix-icon.entry-621b700a.js +1531 -0
  405. package/dist/esm/ix-icon.entry-621b700a.js.map +1 -0
  406. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  407. package/dist/esm/ix-menu.entry.js +3 -3
  408. package/dist/esm/ix-menu.entry.js.map +1 -1
  409. package/dist/esm/ix-pagination.entry.js +2 -2
  410. package/dist/esm/ix-pagination.entry.js.map +1 -1
  411. package/dist/esm/ix-toggle-button.entry.js +1 -1
  412. package/dist/esm/ix-tooltip.entry.js +5 -2
  413. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  414. package/dist/esm/ix-workflow-step.entry.js +4 -4
  415. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  416. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  417. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  418. package/dist/esm/loader.js +2 -2
  419. package/dist/esm/siemens-ix.js +2 -2
  420. package/dist/siemens-ix/p-01b8b98c.entry.js +2 -0
  421. package/dist/siemens-ix/{p-8d161202.entry.js.map → p-01b8b98c.entry.js.map} +1 -1
  422. package/dist/siemens-ix/p-0fee2dd5.entry.js +2 -0
  423. package/dist/siemens-ix/p-0fee2dd5.entry.js.map +1 -0
  424. package/dist/siemens-ix/p-18a1c4dd.entry.js +2 -0
  425. package/dist/siemens-ix/p-18a1c4dd.entry.js.map +1 -0
  426. package/dist/siemens-ix/p-18a27007.entry.js +2 -0
  427. package/dist/siemens-ix/p-18a27007.entry.js.map +1 -0
  428. package/dist/siemens-ix/{p-84430d2c.js → p-1f6df0c6.js} +2 -2
  429. package/dist/siemens-ix/{p-84430d2c.js.map → p-1f6df0c6.js.map} +1 -1
  430. package/dist/siemens-ix/p-213f16d5.entry.js +2 -0
  431. package/dist/siemens-ix/{p-64c895ac.entry.js.map → p-213f16d5.entry.js.map} +1 -1
  432. package/dist/siemens-ix/{p-7702a8c2.js → p-235c14ca.js} +2 -2
  433. package/dist/siemens-ix/p-2459f98f.entry.js +2 -0
  434. package/dist/siemens-ix/p-2459f98f.entry.js.map +1 -0
  435. package/dist/siemens-ix/p-2c14670e.entry.js +2 -0
  436. package/dist/siemens-ix/p-2c14670e.entry.js.map +1 -0
  437. package/dist/siemens-ix/{p-af74fc62.entry.js → p-306c5ab2.entry.js} +2 -2
  438. package/dist/siemens-ix/{p-0b7741b7.entry.js → p-493cb880.entry.js} +2 -2
  439. package/dist/siemens-ix/p-493cb880.entry.js.map +1 -0
  440. package/dist/siemens-ix/{p-bd310180.entry.js → p-4cf6e817.entry.js} +2 -2
  441. package/dist/siemens-ix/p-5d43cae8.js.map +1 -1
  442. package/dist/siemens-ix/p-8362e966.js +2 -0
  443. package/dist/siemens-ix/p-8362e966.js.map +1 -0
  444. package/dist/siemens-ix/p-a147b152.entry.js +2 -0
  445. package/dist/siemens-ix/p-a147b152.entry.js.map +1 -0
  446. package/dist/siemens-ix/{p-b5c53faf.js → p-a2200306.js} +1 -1
  447. package/dist/siemens-ix/{p-b5c53faf.js.map → p-a2200306.js.map} +1 -1
  448. package/dist/siemens-ix/p-a8838a77.js +2 -0
  449. package/dist/siemens-ix/p-bd576793.entry.js +2 -0
  450. package/dist/siemens-ix/p-bd576793.entry.js.map +1 -0
  451. package/dist/siemens-ix/p-bdc57334.entry.js +2 -0
  452. package/dist/siemens-ix/{p-f7e82b50.entry.js.map → p-bdc57334.entry.js.map} +1 -1
  453. package/dist/siemens-ix/{p-262026ab.entry.js → p-cf546284.entry.js} +2 -2
  454. package/dist/siemens-ix/p-cf546284.entry.js.map +1 -0
  455. package/dist/siemens-ix/{p-ac1d46d6.entry.js → p-def8b3a4.entry.js} +2 -2
  456. package/dist/siemens-ix/{p-ac1d46d6.entry.js.map → p-def8b3a4.entry.js.map} +1 -1
  457. package/dist/siemens-ix/p-e4e24f59.entry.js +2 -0
  458. package/dist/siemens-ix/{p-c29aff68.entry.js.map → p-e4e24f59.entry.js.map} +1 -1
  459. package/dist/siemens-ix/{p-b02fd2c5.entry.js → p-fb55854a.entry.js} +2 -2
  460. package/dist/siemens-ix/p-fe87443e.js +2 -0
  461. package/dist/siemens-ix/p-fe87443e.js.map +1 -0
  462. package/dist/siemens-ix/siemens-ix.css +72 -0
  463. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  464. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  465. package/dist/siemens-ix/theme/classic-dark.css +1 -1
  466. package/dist/siemens-ix/theme/classic-light.css +1 -1
  467. package/dist/types/components/button/base-button.d.ts +3 -0
  468. package/dist/types/components/button/button.d.ts +2 -1
  469. package/dist/types/components/date-dropdown/date-dropdown.d.ts +7 -0
  470. package/dist/types/components/dropdown/dropdown-controller.d.ts +2 -2
  471. package/dist/types/components/dropdown/dropdown.d.ts +2 -0
  472. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  473. package/dist/types/components.d.ts +15 -0
  474. package/package.json +1 -1
  475. package/scss/theme/classic-dark/_color.scss +36 -0
  476. package/scss/theme/classic-light/_color.scss +36 -0
  477. package/dist/cjs/base-button-2f74b19d.js.map +0 -1
  478. package/dist/cjs/ix-icon.entry-01b3822b.js +0 -1487
  479. package/dist/cjs/ix-icon.entry-01b3822b.js.map +0 -1
  480. package/dist/esm/base-button-37b915d6.js.map +0 -1
  481. package/dist/esm/ix-icon.entry-9fafcf35.js +0 -1485
  482. package/dist/esm/ix-icon.entry-9fafcf35.js.map +0 -1
  483. package/dist/playwright-ct.config.js +0 -23
  484. package/dist/playwright-ct.config.js.map +0 -1
  485. package/dist/playwright.config.js +0 -75
  486. package/dist/playwright.config.js.map +0 -1
  487. package/dist/siemens-ix/p-0b7741b7.entry.js.map +0 -1
  488. package/dist/siemens-ix/p-16826ff7.js +0 -2
  489. package/dist/siemens-ix/p-16d378f3.js +0 -2
  490. package/dist/siemens-ix/p-16d378f3.js.map +0 -1
  491. package/dist/siemens-ix/p-262026ab.entry.js.map +0 -1
  492. package/dist/siemens-ix/p-29b0bef3.entry.js +0 -2
  493. package/dist/siemens-ix/p-29b0bef3.entry.js.map +0 -1
  494. package/dist/siemens-ix/p-64c895ac.entry.js +0 -2
  495. package/dist/siemens-ix/p-6f097cae.entry.js +0 -2
  496. package/dist/siemens-ix/p-6f097cae.entry.js.map +0 -1
  497. package/dist/siemens-ix/p-8d161202.entry.js +0 -2
  498. package/dist/siemens-ix/p-a039faa9.entry.js +0 -2
  499. package/dist/siemens-ix/p-a039faa9.entry.js.map +0 -1
  500. package/dist/siemens-ix/p-a4e489ea.js +0 -2
  501. package/dist/siemens-ix/p-a4e489ea.js.map +0 -1
  502. package/dist/siemens-ix/p-acdeb192.entry.js +0 -2
  503. package/dist/siemens-ix/p-acdeb192.entry.js.map +0 -1
  504. package/dist/siemens-ix/p-c29aff68.entry.js +0 -2
  505. package/dist/siemens-ix/p-c4d3f089.entry.js +0 -2
  506. package/dist/siemens-ix/p-c4d3f089.entry.js.map +0 -1
  507. package/dist/siemens-ix/p-dbf234e5.entry.js +0 -2
  508. package/dist/siemens-ix/p-dbf234e5.entry.js.map +0 -1
  509. package/dist/siemens-ix/p-f7e82b50.entry.js +0 -2
  510. package/dist/siemens-ix/p-fe273de4.entry.js +0 -2
  511. package/dist/siemens-ix/p-fe273de4.entry.js.map +0 -1
  512. package/dist/types/Users/daniel/dev/oss/ix/packages/core/.stencil/playwright-ct.config.d.ts +0 -7
  513. package/dist/types/Users/daniel/dev/oss/ix/packages/core/.stencil/playwright.config.d.ts +0 -7
  514. /package/dist/siemens-ix/{p-7702a8c2.js.map → p-235c14ca.js.map} +0 -0
  515. /package/dist/siemens-ix/{p-af74fc62.entry.js.map → p-306c5ab2.entry.js.map} +0 -0
  516. /package/dist/siemens-ix/{p-bd310180.entry.js.map → p-4cf6e817.entry.js.map} +0 -0
  517. /package/dist/siemens-ix/{p-16826ff7.js.map → p-a8838a77.js.map} +0 -0
  518. /package/dist/siemens-ix/{p-b02fd2c5.entry.js.map → p-fb55854a.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js","mappings":"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","names":["DateTime","Info"],"sources":["src/components/col/col.scss?tag=ix-col&encapsulation=shadow","src/components/col/col.tsx","src/components/date-picker/date-picker.scss?tag=ix-date-picker&encapsulation=shadow","src/components/date-picker/date-picker.tsx","src/components/grid/layout-grid.scss?tag=ix-layout-grid&encapsulation=shadow","src/components/grid/layout-grid.tsx","src/components/row/row.scss?tag=ix-row&encapsulation=shadow","src/components/row/row.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n position: relative;\n flex-basis: 0;\n flex-grow: 1;\n width: 100%;\n max-width: 100%;\n min-height: 1px;\n\n padding: calc(var(--ix-layout-grid-gutter) * 0.5);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, forceUpdate, h, Host, Listen, Prop } from '@stencil/core';\nimport { Breakpoint, matchBreakpoint } from '../utils/breakpoints';\n\ntype GridBreakpoint = Breakpoint | '';\n\nexport type ColumnSize =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | '7'\n | '8'\n | '9'\n | '10'\n | '11'\n | '12'\n | 'auto';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-col',\n styleUrl: 'col.scss',\n shadow: true,\n})\nexport class Col {\n static Breakpoints: GridBreakpoint[] = ['', 'sm', 'md', 'lg'];\n\n /**\n * Size of the column\n */\n @Prop() size?: ColumnSize;\n\n /**\n * Size of the column for sm screens\n */\n @Prop() sizeSm?: ColumnSize;\n\n /**\n * Size of the column for md screens\n */\n @Prop() sizeMd?: ColumnSize;\n\n /**\n * Size of the column for lg screens\n */\n @Prop() sizeLg?: ColumnSize;\n\n @Listen('resize', { target: 'window' })\n onResize() {\n forceUpdate(this);\n }\n\n private getSize(breakpoint: GridBreakpoint) {\n if (breakpoint === '') {\n return this.size;\n }\n\n if (breakpoint === 'sm') {\n return this.sizeSm;\n }\n\n if (breakpoint === 'md') {\n return this.sizeMd;\n }\n\n if (breakpoint === 'lg') {\n return this.sizeLg;\n }\n }\n\n private getColumnSize() {\n let size: ColumnSize;\n Col.Breakpoints.forEach((breakpoint) => {\n const isMediaQueryActive =\n breakpoint !== '' ? matchBreakpoint(breakpoint) : true;\n\n if (!isMediaQueryActive) {\n return;\n }\n\n const currentSize = this.getSize(breakpoint);\n\n if (currentSize) {\n size = currentSize;\n }\n });\n\n return size;\n }\n\n private getColumnSizeStyling() {\n const size = this.getColumnSize();\n\n if (!size) {\n return;\n }\n\n if (size === 'auto') {\n return {\n flex: '0 0 auto',\n width: 'auto',\n 'max-width': 'auto',\n };\n }\n\n const colSize = `calc(calc(${size} / var(--ix-layout-grid-columns)) * 100%)`;\n\n return {\n flex: `0 0 ${colSize}`,\n width: `${colSize}`,\n 'max-width': `${colSize}`,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n ...this.getColumnSizeStyling(),\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: block;\n position: relative;\n width: 22rem;\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .disabled-item {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n cursor: default;\n }\n\n .selector {\n flex-basis: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $tiny-space $default-space;\n\n .dropdown {\n color: var(--theme-menu-item--color);\n font-size: 14px;\n line-height: 20px;\n }\n\n .fontSize {\n font-size: 16px;\n }\n\n .capitalize {\n text-transform: capitalize;\n }\n\n .month-dropdown-item {\n margin-left: 4px;\n margin-right: 4px;\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n }\n }\n\n .arrowYear {\n display: flex;\n position: relative;\n padding: $medium-space $x-large-space;\n align-items: center;\n cursor: pointer;\n\n &:hover {\n background-color: var(--theme-select-list-item--background--hover);\n }\n\n &.selected {\n background-color: var(--theme-select-list-item--background--selected);\n }\n\n .arrowPosition {\n position: absolute;\n left: calc(($x-large-space / 2) - 6px);\n top: calc(50% - 6px);\n }\n\n .checkPosition {\n position: absolute;\n left: calc(($x-large-space / 2) - 6px);\n top: calc(50% - 8px);\n }\n\n .monthMargin {\n margin-left: 10px;\n }\n }\n }\n\n .wrapper {\n display: flex;\n\n .overflow {\n overflow-y: scroll;\n max-height: 250px;\n }\n }\n\n .grid {\n display: grid;\n grid-template-columns: repeat(8, 40px);\n grid-template-rows: repeat(7, 40px);\n align-items: center;\n justify-items: center;\n justify-content: center;\n color: var(--theme-datepicker-today--color);\n\n .calendar-item {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--theme-datepicker-day--background);\n border: 1px solid var(--theme-datepicker-day--background);\n width: 40px;\n height: 40px;\n cursor: pointer;\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n }\n\n &.today {\n border: 1px solid var(--theme-datepicker-today--border-color);\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:active {\n background-color: var(--theme-datepicker-day--background--active);\n }\n\n &.selected {\n box-shadow: inset 0 0 0 1px white;\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--selected-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--selected-disabled\n );\n border: 1px solid\n var(--theme-datepicker-day--background--selected-disabled);\n color: var(--theme-datepicker-day--color--selected-disabled);\n }\n }\n\n &.range {\n background-color: var(--theme-datepicker-day--background--range);\n color: var(--theme-datepicker-day--color--range);\n border: 1px solid var(--theme-datepicker-today--border-color--range);\n box-shadow: inset 0 0 0 1px white;\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--range-hover\n );\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-hover);\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--range-active\n );\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-active);\n }\n\n &.disabled {\n background-color: var(\n --theme-datepicker-day--background--range-disabled\n );\n color: var(--theme-datepicker-day--color--range-disabled);\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-disabled);\n }\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n cursor: default;\n }\n }\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:active {\n background-color: var(--theme-datepicker-day--background--active);\n }\n\n &.selected {\n background-color: var(--theme-datepicker-day--background--selected);\n color: var(--theme-datepicker-day--color--selected);\n border: 1px solid var(--theme-datepicker-day--background--selected);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--selected-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--selected-disabled\n );\n color: var(--theme-datepicker-day--color--selected-disabled);\n }\n }\n\n &.range {\n background-color: var(--theme-datepicker-day--background--range);\n color: var(--theme-datepicker-day--color--range);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--range-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--range-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--range-disabled\n );\n color: var(--theme-datepicker-day--color--range-disabled);\n }\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n }\n\n &.week-day {\n color: var(--theme-datepicker-weekday--color);\n font-size: 12px;\n line-height: 20px;\n border: none;\n background: none;\n cursor: initial;\n }\n\n &.empty-day {\n border: none;\n background: none;\n cursor: initial;\n }\n\n &.week-number {\n font-size: 10px;\n line-height: 14px;\n color: var(--theme-datepicker-weekday--color);\n border: none;\n background: none;\n cursor: initial;\n }\n\n &:focus-visible {\n background-color: var(--theme-datepicker-day--background--selected);\n border: inset 1px solid\n var(--theme-datepicker-day--border-color--selected);\n color: var(--theme-datepicker-day--color--selected);\n font-size: 14px;\n line-height: 20px;\n letter-spacing: 0;\n }\n }\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n }\n\n .hidden {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTimeCardCorners } from '../date-time-card/date-time-card';\n\nimport { DateTime, Info } from 'luxon';\nimport { OnListener } from '../utils/listener';\n\nexport type DateChangeEvent = {\n from: string;\n to: string;\n};\n\nexport type DateTimeCorners = DateTimeCardCorners;\n\ninterface CalendarWeek {\n weekNumber: number;\n dayNumbers: number[];\n}\n\n@Component({\n tag: 'ix-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n})\nexport class DatePicker {\n @Element() hostElement: HTMLIxDatePickerElement;\n\n /**\n * Date format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * If true a date-range can be selected (from/to).\n */\n @Prop() range: boolean = true;\n\n /**\n * Corner style\n */\n @Prop() corners: DateTimeCardCorners = 'rounded';\n\n /**\n * The selected starting date. If the date-picker-rework is not in range mode this is the selected date.\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() from: string | undefined;\n\n @Watch('from')\n watchFromPropHandler(newValue: string) {\n this.currFromDate = newValue\n ? DateTime.fromFormat(newValue, this.format)\n : undefined;\n\n if (this.currFromDate?.isValid) {\n this.selectedYear = this.currFromDate.year;\n this.selectedMonth = this.currFromDate.month - 1;\n }\n }\n\n /**\n * The selected end date. If the the date-picker-rework is not in range mode this property has no impact.\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() to: string | undefined;\n\n @Watch('to')\n watchToPropHandler(newValue: string) {\n this.currToDate = newValue\n ? DateTime.fromFormat(newValue, this.format)\n : undefined;\n\n if (this.currToDate?.isValid) {\n this.selectedYear = this.currToDate.year;\n this.selectedMonth = this.currToDate.month - 1;\n }\n }\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n *\n * @since 1.1.0\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n *\n * @since 1.1.0\n */\n @Prop() maxDate: string;\n\n /**\n * Text of the button that confirms date selection.\n *\n * @since 1.1.0\n * @deprecated since 2.1.0. Use `i18nDone`\n */\n @Prop() textSelectDate: string;\n\n /**\n * Text of date select button\n *\n * @since 2.1.0\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n *\n * @since 2.1.0\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Format of time string\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n *\n * @since 2.1.0\n */\n @Prop() locale: string = undefined;\n @Watch('locale')\n onLocaleChange() {\n this.setTranslations();\n }\n\n /**\n * @deprecated Not supported since 2.0.0.\n */\n @Prop() individual: boolean = true;\n\n /**\n * Default behavior of the done event is to join the two events (date and time) into one combined string output.\n * This combination can be configured over the delimiter\n *\n * @since 1.1.0\n * @deprecated Not used anymore see `this.dateChange`\n */\n @Prop() eventDelimiter = ' - ';\n\n /** @internal */\n @Prop() standaloneAppearance = true;\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * Triggers if the date selection changes.\n * Note: Since 2.0.0 `dateChange` does not dispatch detail property as `string`\n *\n * @since 2.1.0\n */\n @Event() dateChange: EventEmitter<DateChangeEvent>;\n\n /**\n * Triggers if the date selection changes.\n * Only triggered if date-picker-rework is in range mode.\n *\n * @since 2.1.0\n */\n @Event() dateRangeChange: EventEmitter<DateChangeEvent>;\n\n /**\n * Date selection confirmed via button action\n *\n * @since 1.1.0\n */\n @Event() dateSelect: EventEmitter<DateChangeEvent>;\n\n /**\n * Date selection confirmed via button action\n *\n * @deprecated NOT getting dispatched after 2.0.0. Use `dateSelect`.\n */\n @Event() done: EventEmitter<string>;\n\n /**\n * Get the currently selected date-range.\n */\n @Method()\n async getCurrentDate() {\n const _from = this.currFromDate?.isValid\n ? this.currFromDate?.toFormat(this.format)\n : undefined;\n const _to = this.currToDate?.isValid\n ? this.currToDate?.toFormat(this.format)\n : undefined;\n\n if (this.range) {\n return {\n from: _from,\n to: _to,\n };\n }\n\n return {\n from: _from,\n to: undefined,\n };\n }\n\n @State() currFromDate: DateTime;\n @State() currToDate: DateTime;\n\n @State() selectedYear: number;\n @State() tempYear: number;\n @State() startYear: number;\n @State() endYear: number;\n @State() selectedMonth: number;\n @State() tempMonth: number;\n\n @State() dropdownButtonRef: HTMLElement;\n @State() yearContainerRef: HTMLElement;\n\n @State() dayNames: string[];\n @State() monthNames: string[];\n @State() firstMonthRef: HTMLElement;\n @State() focusedDay: number = 1;\n @State() focusedDayElem: HTMLElement;\n\n private isDayFocus: boolean;\n private monthChangedFromFocus: boolean;\n private readonly DAYS_IN_WEEK = 7;\n private calendar: CalendarWeek[];\n\n @OnListener<DatePicker>('keydown')\n handleKeyUp(event: KeyboardEvent) {\n if (!this.isDayFocus) {\n return;\n }\n\n let _focusedDay = this.focusedDay;\n\n switch (event.key) {\n case 'ArrowLeft':\n _focusedDay--;\n break;\n case 'ArrowRight':\n _focusedDay++;\n break;\n case 'ArrowUp':\n _focusedDay = _focusedDay - 7;\n break;\n case 'ArrowDown':\n _focusedDay = _focusedDay + 7;\n break;\n default:\n return;\n }\n\n if (_focusedDay > this.getDaysInCurrentMonth()) {\n _focusedDay = _focusedDay - this.getDaysInCurrentMonth();\n this.changeToAdjacentMonth(1);\n this.monthChangedFromFocus = true;\n } else if (_focusedDay < 1) {\n this.changeToAdjacentMonth(-1);\n _focusedDay = _focusedDay + this.getDaysInCurrentMonth();\n this.monthChangedFromFocus = true;\n }\n\n this.focusedDay = _focusedDay;\n }\n\n private getDaysInCurrentMonth(): number {\n return DateTime.utc(this.selectedYear, this.selectedMonth + 1).daysInMonth;\n }\n\n private getDateTimeNow() {\n return DateTime.fromISO(this.today);\n }\n\n onDayBlur() {\n this.isDayFocus = false;\n }\n\n onDayFocus() {\n this.isDayFocus = true;\n }\n\n componentWillLoad() {\n this.setTranslations();\n\n this.currFromDate = this.from\n ? DateTime.fromFormat(this.from, this.format)\n : undefined;\n this.currToDate = this.to\n ? DateTime.fromFormat(this.to, this.format)\n : undefined;\n\n const year = this.currFromDate?.year ?? this.getDateTimeNow().year;\n this.startYear = year - 5;\n this.endYear = year + 5;\n\n this.selectedMonth =\n (this.currFromDate?.month ?? this.getDateTimeNow().month) - 1;\n this.selectedYear = year;\n this.tempMonth = this.selectedMonth;\n this.tempYear = this.selectedYear;\n }\n\n componentWillRender() {\n this.calculateCalendar();\n }\n\n componentDidRender() {\n if (!this.monthChangedFromFocus && !this.isDayFocus) {\n return;\n }\n\n const dayElem = this.hostElement.shadowRoot.querySelector(\n `[id=day-cell-${this.focusedDay}]`\n ) as HTMLElement;\n dayElem.focus();\n }\n\n private setTranslations() {\n this.dayNames = this.rotateWeekDayNames(\n Info.weekdays('long', {\n locale: this.locale,\n }),\n this.weekStartIndex\n );\n\n this.monthNames = Info.months('long', {\n locale: this.locale,\n });\n }\n\n /**\n * Rotate the WeekdayNames array.\n * Based on the position that should be the new 0-index.\n */\n private rotateWeekDayNames(weekdays: string[], index: number): string[] {\n const clone = [...weekdays];\n\n if (index === 0) {\n return clone;\n }\n\n index = -index;\n const len = weekdays.length;\n\n clone.push(...clone.splice(0, ((-index % len) + len) % len));\n return clone;\n }\n\n private async onDone() {\n const date = await this.getCurrentDate();\n this.dateSelect.emit(date);\n }\n\n private calculateCalendar() {\n const calendar: CalendarWeek[] = [];\n const month = DateTime.utc(this.selectedYear, this.selectedMonth + 1);\n const monthStart = month.startOf('month');\n const monthEnd = month.endOf('month');\n let startWeek = monthStart.weekNumber;\n let endWeek = monthEnd.weekNumber;\n let monthStartWeekDayIndex = monthStart.weekday - 1;\n let monthEndWeekDayIndex = monthEnd.weekday - 1;\n\n if (this.weekStartIndex !== 0) {\n // Find the positions where to start/stop counting the day-numbers based on which day the week starts\n const weekdays = Info.weekdays();\n const monthStartWeekDayName = weekdays[monthStart.weekday];\n\n monthStartWeekDayIndex = this.dayNames.findIndex(\n (d) => d === monthStartWeekDayName\n );\n const monthEndWeekDayName = weekdays[monthEnd.weekday];\n monthEndWeekDayIndex = this.dayNames.findIndex(\n (d) => d === monthEndWeekDayName\n );\n }\n\n let correctLastWeek = false;\n if (endWeek === 1) {\n endWeek = monthEnd.weeksInWeekYear + 1;\n correctLastWeek = true;\n }\n\n let correctFirstWeek = false;\n if (startWeek === monthStart.weeksInWeekYear) {\n startWeek = 1;\n endWeek++;\n\n correctFirstWeek = true;\n }\n\n let currDayNumber = 1;\n for (\n let weekIndex = startWeek;\n weekIndex <= endWeek && currDayNumber <= 31;\n weekIndex++\n ) {\n const daysArr: number[] = [];\n\n for (let j = 0; j < this.DAYS_IN_WEEK && currDayNumber <= 31; j++) {\n // Display empty cells until the calender starts/has ended\n if (\n (weekIndex === startWeek && j < monthStartWeekDayIndex) ||\n (weekIndex === endWeek && j > monthEndWeekDayIndex)\n ) {\n daysArr.push(undefined);\n } else {\n daysArr.push(currDayNumber++);\n }\n }\n\n if (correctFirstWeek || correctLastWeek) {\n if (weekIndex === 1) {\n calendar.push({\n weekNumber: monthStart.weeksInWeekYear,\n dayNumbers: daysArr,\n });\n } else if (weekIndex === monthEnd.weekNumber) {\n calendar.push({\n weekNumber: 1,\n dayNumbers: daysArr,\n });\n } else {\n calendar.push({\n weekNumber: weekIndex - 1,\n dayNumbers: daysArr,\n });\n }\n continue;\n }\n\n calendar.push({\n weekNumber: weekIndex,\n dayNumbers: daysArr,\n });\n }\n\n this.calendar = calendar;\n }\n\n private selectTempYear(event: MouseEvent, year: number) {\n event?.stopPropagation();\n this.tempYear = year;\n }\n\n private focusMonth() {\n this.firstMonthRef.focus();\n }\n\n private infiniteScrollYears() {\n const scroll = this.yearContainerRef.scrollTop;\n const maxScroll = this.yearContainerRef.scrollHeight;\n const atTop = scroll === 0;\n const atBottom =\n Math.round(scroll + this.yearContainerRef.offsetHeight) >= maxScroll;\n const limit = 200;\n\n if (this.endYear - this.startYear > limit) return;\n\n if (atTop) {\n const first = this.yearContainerRef.firstElementChild as HTMLElement;\n this.startYear -= 5;\n this.yearContainerRef.scrollTo(0, first.offsetTop);\n\n return;\n }\n\n if (atBottom) {\n const last = this.yearContainerRef.lastElementChild as HTMLElement;\n this.endYear += 5;\n this.yearContainerRef.scrollTo(0, last.offsetTop);\n }\n }\n\n private selectMonth(month: number) {\n this.selectedMonth = month;\n this.selectedYear = this.tempYear;\n this.tempMonth = month;\n\n this.hostElement.shadowRoot.querySelector('ix-dropdown').show = false;\n }\n\n private changeToAdjacentMonth(number: -1 | 1) {\n if (this.selectedMonth + number < 0) {\n this.selectedYear--;\n this.selectedMonth = 11;\n } else if (this.selectedMonth + number > 11) {\n this.selectedYear++;\n this.selectedMonth = 0;\n } else {\n this.selectedMonth += number;\n }\n }\n\n private selectDay(selectedDay: number) {\n const date = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, selectedDay)\n );\n\n if (!this.range || this.currFromDate === undefined) {\n this.currFromDate = date;\n this.onDateChange();\n\n return;\n }\n\n // Reset the range selection\n if (this.currToDate !== undefined) {\n this.currFromDate = date;\n this.currToDate = undefined;\n this.onDateChange();\n\n return;\n }\n\n // Swap from/to if the second date is before the current date\n if (date < this.currFromDate) {\n this.currToDate = this.currFromDate;\n this.currFromDate = date;\n this.onDateChange();\n\n return;\n }\n\n // Set the range normally\n this.currToDate = date;\n this.onDateChange();\n }\n\n private onDateChange() {\n this.getCurrentDate().then((date) => {\n this.dateChange.emit(date);\n if (this.range) {\n this.dateRangeChange.emit(date);\n }\n });\n }\n\n private getDayClasses(day: number): any {\n if (!day) {\n return;\n }\n\n const todayObj = this.getDateTimeNow();\n const selectedDayObj = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, day)\n );\n\n return {\n 'calendar-item': true,\n 'empty-day': day === undefined,\n today: todayObj.hasSame(selectedDayObj, 'day'),\n selected:\n this.currFromDate?.hasSame(selectedDayObj, 'day') ||\n this.currToDate?.hasSame(selectedDayObj, 'day'),\n range:\n selectedDayObj.startOf('day') > this.currFromDate?.startOf('day') &&\n this.currToDate !== undefined &&\n selectedDayObj.startOf('day') < this.currToDate?.startOf('day'),\n disabled: !this.isWithinMinMaxDate(selectedDayObj),\n };\n }\n\n private isWithinMinMaxYear(year: number): boolean {\n const minDateYear = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format).year\n : undefined;\n const maxDateYear = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format).year\n : undefined;\n const isBefore = minDateYear ? year < minDateYear : false;\n const isAfter = maxDateYear ? year > maxDateYear : false;\n\n return !isBefore && !isAfter;\n }\n\n private isWithinMinMaxMonth(month: number): boolean {\n const minDateObj = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format)\n : undefined;\n const maxDateObj = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format)\n : undefined;\n const minDateMonth = minDateObj?.month;\n const maxDateMonth = maxDateObj?.month;\n const isBefore = minDateMonth\n ? this.tempYear === minDateObj.year && month < minDateMonth\n : false;\n const isAfter = maxDateMonth\n ? this.tempYear === maxDateObj.year && month > maxDateMonth\n : false;\n\n return !isBefore && !isAfter;\n }\n\n private isWithinMinMaxDate(date: DateTime): boolean {\n const _minDate = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format)\n : undefined;\n const _maxDate = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format)\n : undefined;\n const isBefore = _minDate\n ? date.startOf('day') < _minDate.startOf('day')\n : false;\n const isAfter = _maxDate\n ? date.startOf('day') > _maxDate.startOf('day')\n : false;\n\n return !isBefore && !isAfter;\n }\n\n private renderYears(): any[] {\n const rows = [];\n\n for (let year = this.startYear; year <= this.endYear; year++) {\n rows.push(\n <div\n key={year}\n class={{\n arrowYear: true,\n 'month-dropdown-item': true,\n 'disabled-item': !this.isWithinMinMaxYear(year),\n }}\n onClick={(event) => this.selectTempYear(event, year)}\n onKeyUp={(event) => {\n if (event.key === 'Enter') {\n this.selectTempYear(null, year);\n this.focusMonth();\n }\n }}\n tabIndex={0}\n >\n <ix-icon\n class={{\n hidden: this.tempYear !== year,\n arrowPosition: true,\n }}\n name=\"chevron-right\"\n size=\"12\"\n ></ix-icon>\n <div style={{ 'min-width': 'max-content' }}>{`${year}`}</div>\n </div>\n );\n }\n\n return rows;\n }\n\n render() {\n return (\n <Host>\n <ix-date-time-card\n corners={this.corners}\n standaloneAppearance={this.standaloneAppearance}\n >\n <div class=\"header\" slot=\"header\">\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(-1)}\n ghost\n icon=\"chevron-left\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <div class=\"selector\">\n <ix-button ghost ref={(ref) => (this.dropdownButtonRef = ref)}>\n <span class=\"fontSize capitalize\">\n {this.monthNames[this.selectedMonth]} {this.selectedYear}\n </span>\n </ix-button>\n <ix-dropdown\n class=\"dropdown\"\n trigger={this.dropdownButtonRef}\n placement=\"bottom-start\"\n >\n <div class=\"wrapper\">\n <div\n class=\"overflow\"\n onScroll={() => this.infiniteScrollYears()}\n ref={(ref) => (this.yearContainerRef = ref)}\n >\n {this.renderYears()}\n </div>\n <div class=\"overflow\">\n {this.monthNames.map((month, index) => (\n <div\n key={month}\n ref={(ref) => {\n if (month === this.monthNames[0]) {\n this.firstMonthRef = ref as HTMLElement;\n }\n }}\n class={{\n arrowYear: true,\n 'month-dropdown-item': true,\n selected:\n this.tempYear === this.selectedYear &&\n this.tempMonth === index,\n 'disabled-item': !this.isWithinMinMaxMonth(index),\n }}\n onClick={() => this.selectMonth(index)}\n onKeyUp={(event) =>\n event.key === 'Enter' && this.selectMonth(index)\n }\n tabIndex={0}\n >\n <ix-icon\n class={{\n hidden:\n this.tempYear !== this.selectedYear ||\n this.tempMonth !== index,\n checkPosition: true,\n }}\n name=\"single-check\"\n size=\"16\"\n ></ix-icon>\n <div>\n <span class=\"capitalize monthMargin\">{`${month} ${this.tempYear}`}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n </ix-dropdown>\n </div>\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(1)}\n ghost\n icon=\"chevron-right\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n <div class=\"grid\">\n <div class=\"calendar-item week-day\"></div>\n {this.dayNames.map((name) => (\n <div key={name} class=\"calendar-item week-day\">\n {name.slice(0, 3)}\n </div>\n ))}\n {this.calendar.map((week) => {\n return (\n <Fragment>\n <div class=\"calendar-item week-number\">{week.weekNumber}</div>\n {week.dayNumbers.map((day) => (\n <div\n key={day}\n id={`day-cell-${day}`}\n date-calender-day\n class={this.getDayClasses(day)}\n onClick={() => this.selectDay(day)}\n onKeyUp={(e) => e.key === 'Enter' && this.selectDay(day)}\n tabIndex={day === this.focusedDay ? 0 : -1}\n onFocus={() => this.onDayFocus()}\n onBlur={() => this.onDayBlur()}\n >\n {day}\n </div>\n ))}\n </Fragment>\n );\n })}\n </div>\n <div\n class={{\n button: true,\n hidden: !this.range || !this.standaloneAppearance,\n }}\n >\n <ix-button onClick={() => this.onDone()}>\n {this.textSelectDate || this.i18nDone}\n </ix-button>\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n:host {\n --ix-layout-grid-gutter: 24px;\n\n display: block;\n flex: 1 1 0%;\n width: 100%;\n\n padding-left: calc(var(--ix-layout-grid-gutter) * 0.5);\n padding-right: calc(var(--ix-layout-grid-gutter) * 0.5);\n}\n\n:host(.no-margin) {\n padding-left: 0;\n padding-right: 0;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-layout-grid',\n styleUrl: 'layout-grid.scss',\n shadow: true,\n})\nexport class LayoutGrid {\n /**\n * The grid will not have any horizontal padding\n */\n @Prop() noMargin = false;\n\n /**\n * Grid gap\n */\n @Prop() gap: '8' | '12' | '16' | '24' = '24';\n\n /**\n * Overwrite the default number of columns. Choose between 2 and 12 columns.\n */\n @Prop() columns = 12;\n\n render() {\n return (\n <Host\n class={{\n 'no-margin': this.noMargin,\n }}\n style={{\n '--ix-layout-grid-columns': `${this.columns}`,\n '--ix-layout-grid-gutter': `${this.gap}px`,\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: flex;\n flex-wrap: wrap;\n}\n\n:host(:not(:first-of-type)) {\n margin-block-start: var(--ix-layout-grid-row-margin, 0);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host } from '@stencil/core';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-row',\n styleUrl: 'row.scss',\n shadow: true,\n})\nexport class Row {\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js","mappings":"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","names":["DateTime","Info"],"sources":["src/components/col/col.scss?tag=ix-col&encapsulation=shadow","src/components/col/col.tsx","src/components/date-picker/date-picker.scss?tag=ix-date-picker&encapsulation=shadow","src/components/date-picker/date-picker.tsx","src/components/grid/layout-grid.scss?tag=ix-layout-grid&encapsulation=shadow","src/components/grid/layout-grid.tsx","src/components/row/row.scss?tag=ix-row&encapsulation=shadow","src/components/row/row.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n position: relative;\n flex-basis: 0;\n flex-grow: 1;\n width: 100%;\n max-width: 100%;\n min-height: 1px;\n\n padding: calc(var(--ix-layout-grid-gutter) * 0.5);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, forceUpdate, h, Host, Listen, Prop } from '@stencil/core';\nimport { Breakpoint, matchBreakpoint } from '../utils/breakpoints';\n\ntype GridBreakpoint = Breakpoint | '';\n\nexport type ColumnSize =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | '7'\n | '8'\n | '9'\n | '10'\n | '11'\n | '12'\n | 'auto';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-col',\n styleUrl: 'col.scss',\n shadow: true,\n})\nexport class Col {\n static Breakpoints: GridBreakpoint[] = ['', 'sm', 'md', 'lg'];\n\n /**\n * Size of the column\n */\n @Prop() size?: ColumnSize;\n\n /**\n * Size of the column for sm screens\n */\n @Prop() sizeSm?: ColumnSize;\n\n /**\n * Size of the column for md screens\n */\n @Prop() sizeMd?: ColumnSize;\n\n /**\n * Size of the column for lg screens\n */\n @Prop() sizeLg?: ColumnSize;\n\n @Listen('resize', { target: 'window' })\n onResize() {\n forceUpdate(this);\n }\n\n private getSize(breakpoint: GridBreakpoint) {\n if (breakpoint === '') {\n return this.size;\n }\n\n if (breakpoint === 'sm') {\n return this.sizeSm;\n }\n\n if (breakpoint === 'md') {\n return this.sizeMd;\n }\n\n if (breakpoint === 'lg') {\n return this.sizeLg;\n }\n }\n\n private getColumnSize() {\n let size: ColumnSize;\n Col.Breakpoints.forEach((breakpoint) => {\n const isMediaQueryActive =\n breakpoint !== '' ? matchBreakpoint(breakpoint) : true;\n\n if (!isMediaQueryActive) {\n return;\n }\n\n const currentSize = this.getSize(breakpoint);\n\n if (currentSize) {\n size = currentSize;\n }\n });\n\n return size;\n }\n\n private getColumnSizeStyling() {\n const size = this.getColumnSize();\n\n if (!size) {\n return;\n }\n\n if (size === 'auto') {\n return {\n flex: '0 0 auto',\n width: 'auto',\n 'max-width': 'auto',\n };\n }\n\n const colSize = `calc(calc(${size} / var(--ix-layout-grid-columns)) * 100%)`;\n\n return {\n flex: `0 0 ${colSize}`,\n width: `${colSize}`,\n 'max-width': `${colSize}`,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n ...this.getColumnSizeStyling(),\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: block;\n position: relative;\n width: 22rem;\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .disabled-item {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n cursor: default;\n }\n\n .selector {\n flex-basis: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $tiny-space $default-space;\n\n .dropdown {\n color: var(--theme-menu-item--color);\n font-size: 14px;\n line-height: 20px;\n }\n\n .fontSize {\n font-size: 16px;\n }\n\n .capitalize {\n text-transform: capitalize;\n }\n\n .month-dropdown-item {\n margin-left: 4px;\n margin-right: 4px;\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n }\n }\n\n .arrowYear {\n display: flex;\n position: relative;\n padding: $medium-space $x-large-space;\n align-items: center;\n cursor: pointer;\n\n &:hover {\n background-color: var(--theme-select-list-item--background--hover);\n }\n\n &.selected {\n background-color: var(--theme-select-list-item--background--selected);\n }\n\n .arrowPosition {\n position: absolute;\n left: calc(($x-large-space / 2) - 6px);\n top: calc(50% - 6px);\n }\n\n .checkPosition {\n position: absolute;\n left: calc(($x-large-space / 2) - 6px);\n top: calc(50% - 8px);\n }\n\n .monthMargin {\n margin-left: 10px;\n }\n }\n }\n\n .wrapper {\n display: flex;\n\n .overflow {\n overflow-y: scroll;\n max-height: 250px;\n }\n }\n\n .grid {\n display: grid;\n grid-template-columns: repeat(8, 40px);\n grid-template-rows: repeat(7, 40px);\n align-items: center;\n justify-items: center;\n justify-content: center;\n color: var(--theme-datepicker-today--color);\n\n .calendar-item {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--theme-datepicker-day--background);\n border: 1px solid var(--theme-datepicker-day--background);\n width: 40px;\n height: 40px;\n cursor: pointer;\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n }\n\n &.today {\n border: 1px solid var(--theme-datepicker-today--border-color);\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:active {\n background-color: var(--theme-datepicker-day--background--active);\n }\n\n &.selected {\n box-shadow: inset 0 0 0 1px white;\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--selected-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--selected-disabled\n );\n border: 1px solid\n var(--theme-datepicker-day--background--selected-disabled);\n color: var(--theme-datepicker-day--color--selected-disabled);\n }\n }\n\n &.range {\n background-color: var(--theme-datepicker-day--background--range);\n color: var(--theme-datepicker-day--color--range);\n border: 1px solid var(--theme-datepicker-today--border-color--range);\n box-shadow: inset 0 0 0 1px white;\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--range-hover\n );\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-hover);\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--range-active\n );\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-active);\n }\n\n &.disabled {\n background-color: var(\n --theme-datepicker-day--background--range-disabled\n );\n color: var(--theme-datepicker-day--color--range-disabled);\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-disabled);\n }\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n cursor: default;\n }\n }\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:active {\n background-color: var(--theme-datepicker-day--background--active);\n }\n\n &.selected {\n background-color: var(--theme-datepicker-day--background--selected);\n color: var(--theme-datepicker-day--color--selected);\n border: 1px solid var(--theme-datepicker-day--background--selected);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--selected-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--selected-disabled\n );\n color: var(--theme-datepicker-day--color--selected-disabled);\n }\n }\n\n &.range {\n background-color: var(--theme-datepicker-day--background--range);\n color: var(--theme-datepicker-day--color--range);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--range-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--range-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--range-disabled\n );\n color: var(--theme-datepicker-day--color--range-disabled);\n }\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n }\n\n &.week-day {\n color: var(--theme-datepicker-weekday--color);\n font-size: 12px;\n line-height: 20px;\n border: none;\n background: none;\n cursor: initial;\n }\n\n &.empty-day {\n border: none;\n background: none;\n cursor: initial;\n }\n\n &.week-number {\n font-size: 10px;\n line-height: 14px;\n color: var(--theme-datepicker-weekday--color);\n border: none;\n background: none;\n cursor: initial;\n }\n\n &:focus-visible {\n background-color: var(--theme-datepicker-day--background--selected);\n border: inset 1px solid\n var(--theme-datepicker-day--border-color--selected);\n color: var(--theme-datepicker-day--color--selected);\n font-size: 14px;\n line-height: 20px;\n letter-spacing: 0;\n }\n }\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n }\n\n .hidden {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTimeCardCorners } from '../date-time-card/date-time-card';\n\nimport { DateTime, Info } from 'luxon';\nimport { OnListener } from '../utils/listener';\n\nexport type DateChangeEvent = {\n from: string;\n to: string;\n};\n\nexport type DateTimeCorners = DateTimeCardCorners;\n\ninterface CalendarWeek {\n weekNumber: number;\n dayNumbers: number[];\n}\n\n@Component({\n tag: 'ix-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n})\nexport class DatePicker {\n @Element() hostElement: HTMLIxDatePickerElement;\n\n /**\n * Date format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * If true a date-range can be selected (from/to).\n */\n @Prop() range: boolean = true;\n\n /**\n * Corner style\n */\n @Prop() corners: DateTimeCardCorners = 'rounded';\n\n /**\n * The selected starting date. If the date-picker-rework is not in range mode this is the selected date.\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() from: string | undefined;\n\n @Watch('from')\n watchFromPropHandler(newValue: string) {\n this.currFromDate = newValue\n ? DateTime.fromFormat(newValue, this.format)\n : undefined;\n\n if (this.currFromDate?.isValid) {\n this.selectedYear = this.currFromDate.year;\n this.selectedMonth = this.currFromDate.month - 1;\n }\n }\n\n /**\n * The selected end date. If the the date-picker-rework is not in range mode this property has no impact.\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() to: string | undefined;\n\n @Watch('to')\n watchToPropHandler(newValue: string) {\n this.currToDate = newValue\n ? DateTime.fromFormat(newValue, this.format)\n : undefined;\n\n if (this.currToDate?.isValid) {\n this.selectedYear = this.currToDate.year;\n this.selectedMonth = this.currToDate.month - 1;\n }\n }\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n *\n * @since 1.1.0\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n *\n * @since 1.1.0\n */\n @Prop() maxDate: string;\n\n /**\n * Text of the button that confirms date selection.\n *\n * @since 1.1.0\n * @deprecated since 2.1.0. Use `i18nDone`\n */\n @Prop() textSelectDate: string;\n\n /**\n * Text of date select button\n *\n * @since 2.1.0\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n *\n * @since 2.1.0\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Format of time string\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n *\n * @since 2.1.0\n */\n @Prop() locale: string = undefined;\n @Watch('locale')\n onLocaleChange() {\n this.setTranslations();\n }\n\n /**\n * @deprecated Not supported since 2.0.0.\n */\n @Prop() individual: boolean = true;\n\n /**\n * Default behavior of the done event is to join the two events (date and time) into one combined string output.\n * This combination can be configured over the delimiter\n *\n * @since 1.1.0\n * @deprecated Not used anymore see `this.dateChange`\n */\n @Prop() eventDelimiter = ' - ';\n\n /** @internal */\n @Prop() standaloneAppearance = true;\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * Triggers if the date selection changes.\n * Note: Since 2.0.0 `dateChange` does not dispatch detail property as `string`\n *\n * @since 2.1.0\n */\n @Event() dateChange: EventEmitter<DateChangeEvent>;\n\n /**\n * Triggers if the date selection changes.\n * Only triggered if date-picker-rework is in range mode.\n *\n * @since 2.1.0\n */\n @Event() dateRangeChange: EventEmitter<DateChangeEvent>;\n\n /**\n * Date selection confirmed via button action\n *\n * @since 1.1.0\n */\n @Event() dateSelect: EventEmitter<DateChangeEvent>;\n\n /**\n * Date selection confirmed via button action\n *\n * @deprecated NOT getting dispatched after 2.0.0. Use `dateSelect`.\n */\n @Event() done: EventEmitter<string>;\n\n /**\n * Get the currently selected date-range.\n */\n @Method()\n async getCurrentDate() {\n const _from = this.currFromDate?.isValid\n ? this.currFromDate?.toFormat(this.format)\n : undefined;\n const _to = this.currToDate?.isValid\n ? this.currToDate?.toFormat(this.format)\n : undefined;\n\n if (this.range) {\n return {\n from: _from,\n to: _to,\n };\n }\n\n return {\n from: _from,\n to: undefined,\n };\n }\n\n @State() currFromDate: DateTime;\n @State() currToDate: DateTime;\n\n @State() selectedYear: number;\n @State() tempYear: number;\n @State() startYear: number;\n @State() endYear: number;\n @State() selectedMonth: number;\n @State() tempMonth: number;\n\n @State() dropdownButtonRef: HTMLElement;\n @State() yearContainerRef: HTMLElement;\n\n @State() dayNames: string[];\n @State() monthNames: string[];\n @State() firstMonthRef: HTMLElement;\n @State() focusedDay: number = 1;\n @State() focusedDayElem: HTMLElement;\n\n private isDayFocus: boolean;\n private monthChangedFromFocus: boolean;\n private readonly DAYS_IN_WEEK = 7;\n private calendar: CalendarWeek[];\n\n @OnListener<DatePicker>('keydown')\n handleKeyUp(event: KeyboardEvent) {\n if (!this.isDayFocus) {\n return;\n }\n\n let _focusedDay = this.focusedDay;\n\n switch (event.key) {\n case 'ArrowLeft':\n _focusedDay--;\n break;\n case 'ArrowRight':\n _focusedDay++;\n break;\n case 'ArrowUp':\n _focusedDay = _focusedDay - 7;\n break;\n case 'ArrowDown':\n _focusedDay = _focusedDay + 7;\n break;\n default:\n return;\n }\n\n if (_focusedDay > this.getDaysInCurrentMonth()) {\n _focusedDay = _focusedDay - this.getDaysInCurrentMonth();\n this.changeToAdjacentMonth(1);\n this.monthChangedFromFocus = true;\n } else if (_focusedDay < 1) {\n this.changeToAdjacentMonth(-1);\n _focusedDay = _focusedDay + this.getDaysInCurrentMonth();\n this.monthChangedFromFocus = true;\n }\n\n this.focusedDay = _focusedDay;\n }\n\n private getDaysInCurrentMonth(): number {\n return DateTime.utc(this.selectedYear, this.selectedMonth + 1).daysInMonth;\n }\n\n private getDateTimeNow() {\n return DateTime.fromISO(this.today);\n }\n\n onDayBlur() {\n this.isDayFocus = false;\n }\n\n onDayFocus() {\n this.isDayFocus = true;\n }\n\n componentWillLoad() {\n this.setTranslations();\n\n this.currFromDate = this.from\n ? DateTime.fromFormat(this.from, this.format)\n : undefined;\n this.currToDate = this.to\n ? DateTime.fromFormat(this.to, this.format)\n : undefined;\n\n const year = this.currFromDate?.year ?? this.getDateTimeNow().year;\n this.startYear = year - 5;\n this.endYear = year + 5;\n\n this.selectedMonth =\n (this.currFromDate?.month ?? this.getDateTimeNow().month) - 1;\n this.selectedYear = year;\n this.tempMonth = this.selectedMonth;\n this.tempYear = this.selectedYear;\n }\n\n componentWillRender() {\n this.calculateCalendar();\n }\n\n componentDidRender() {\n if (!this.monthChangedFromFocus && !this.isDayFocus) {\n return;\n }\n\n const dayElem = this.hostElement.shadowRoot.querySelector(\n `[id=day-cell-${this.focusedDay}]`\n ) as HTMLElement;\n dayElem.focus();\n }\n\n private setTranslations() {\n this.dayNames = this.rotateWeekDayNames(\n Info.weekdays('long', {\n locale: this.locale,\n }),\n this.weekStartIndex\n );\n\n this.monthNames = Info.months('long', {\n locale: this.locale,\n });\n }\n\n /**\n * Rotate the WeekdayNames array.\n * Based on the position that should be the new 0-index.\n */\n private rotateWeekDayNames(weekdays: string[], index: number): string[] {\n const clone = [...weekdays];\n\n if (index === 0) {\n return clone;\n }\n\n index = -index;\n const len = weekdays.length;\n\n clone.push(...clone.splice(0, ((-index % len) + len) % len));\n return clone;\n }\n\n private async onDone() {\n const date = await this.getCurrentDate();\n this.dateSelect.emit(date);\n }\n\n private calculateCalendar() {\n const calendar: CalendarWeek[] = [];\n const month = DateTime.utc(this.selectedYear, this.selectedMonth + 1);\n const monthStart = month.startOf('month');\n const monthEnd = month.endOf('month');\n let startWeek = monthStart.weekNumber;\n let endWeek = monthEnd.weekNumber;\n let monthStartWeekDayIndex = monthStart.weekday - 1;\n let monthEndWeekDayIndex = monthEnd.weekday - 1;\n\n if (this.weekStartIndex !== 0) {\n // Find the positions where to start/stop counting the day-numbers based on which day the week starts\n const weekdays = Info.weekdays();\n const monthStartWeekDayName = weekdays[monthStart.weekday];\n\n monthStartWeekDayIndex = this.dayNames.findIndex(\n (d) => d === monthStartWeekDayName\n );\n const monthEndWeekDayName = weekdays[monthEnd.weekday];\n monthEndWeekDayIndex = this.dayNames.findIndex(\n (d) => d === monthEndWeekDayName\n );\n }\n\n let correctLastWeek = false;\n if (endWeek === 1) {\n endWeek = monthEnd.weeksInWeekYear + 1;\n correctLastWeek = true;\n }\n\n let correctFirstWeek = false;\n if (startWeek === monthStart.weeksInWeekYear) {\n startWeek = 1;\n endWeek++;\n\n correctFirstWeek = true;\n }\n\n let currDayNumber = 1;\n for (\n let weekIndex = startWeek;\n weekIndex <= endWeek && currDayNumber <= 31;\n weekIndex++\n ) {\n const daysArr: number[] = [];\n\n for (let j = 0; j < this.DAYS_IN_WEEK && currDayNumber <= 31; j++) {\n // Display empty cells until the calender starts/has ended\n if (\n (weekIndex === startWeek && j < monthStartWeekDayIndex) ||\n (weekIndex === endWeek && j > monthEndWeekDayIndex)\n ) {\n daysArr.push(undefined);\n } else {\n daysArr.push(currDayNumber++);\n }\n }\n\n if (correctFirstWeek || correctLastWeek) {\n if (weekIndex === 1) {\n calendar.push({\n weekNumber: monthStart.weeksInWeekYear,\n dayNumbers: daysArr,\n });\n } else if (weekIndex === monthEnd.weekNumber) {\n calendar.push({\n weekNumber: 1,\n dayNumbers: daysArr,\n });\n } else {\n calendar.push({\n weekNumber: weekIndex - 1,\n dayNumbers: daysArr,\n });\n }\n continue;\n }\n\n calendar.push({\n weekNumber: weekIndex,\n dayNumbers: daysArr,\n });\n }\n\n this.calendar = calendar;\n }\n\n private selectTempYear(event: MouseEvent, year: number) {\n event?.stopPropagation();\n this.tempYear = year;\n }\n\n private focusMonth() {\n this.firstMonthRef.focus();\n }\n\n private infiniteScrollYears() {\n const scroll = this.yearContainerRef.scrollTop;\n const maxScroll = this.yearContainerRef.scrollHeight;\n const atTop = scroll === 0;\n const atBottom =\n Math.round(scroll + this.yearContainerRef.offsetHeight) >= maxScroll;\n const limit = 200;\n\n if (this.endYear - this.startYear > limit) return;\n\n if (atTop) {\n const first = this.yearContainerRef.firstElementChild as HTMLElement;\n this.startYear -= 5;\n this.yearContainerRef.scrollTo(0, first.offsetTop);\n\n return;\n }\n\n if (atBottom) {\n const last = this.yearContainerRef.lastElementChild as HTMLElement;\n this.endYear += 5;\n this.yearContainerRef.scrollTo(0, last.offsetTop);\n }\n }\n\n private selectMonth(month: number) {\n this.selectedMonth = month;\n this.selectedYear = this.tempYear;\n this.tempMonth = month;\n\n this.hostElement.shadowRoot.querySelector('ix-dropdown').show = false;\n }\n\n private changeToAdjacentMonth(number: -1 | 1) {\n if (this.selectedMonth + number < 0) {\n this.selectedYear--;\n this.selectedMonth = 11;\n } else if (this.selectedMonth + number > 11) {\n this.selectedYear++;\n this.selectedMonth = 0;\n } else {\n this.selectedMonth += number;\n }\n }\n\n private selectDay(selectedDay: number) {\n const date = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, selectedDay)\n );\n\n if (!this.range || this.currFromDate === undefined) {\n this.currFromDate = date;\n this.onDateChange();\n\n return;\n }\n\n // Reset the range selection\n if (this.currToDate !== undefined) {\n this.currFromDate = date;\n this.currToDate = undefined;\n this.onDateChange();\n\n return;\n }\n\n // Swap from/to if the second date is before the current date\n if (date < this.currFromDate) {\n this.currToDate = this.currFromDate;\n this.currFromDate = date;\n this.onDateChange();\n\n return;\n }\n\n // Set the range normally\n this.currToDate = date;\n this.onDateChange();\n }\n\n private onDateChange() {\n this.getCurrentDate().then((date) => {\n this.dateChange.emit(date);\n if (this.range) {\n this.dateRangeChange.emit(date);\n }\n });\n }\n\n private getDayClasses(day: number): any {\n if (!day) {\n return;\n }\n\n const todayObj = this.getDateTimeNow();\n const selectedDayObj = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, day)\n );\n\n return {\n 'calendar-item': true,\n 'empty-day': day === undefined,\n today: todayObj.hasSame(selectedDayObj, 'day'),\n selected:\n this.currFromDate?.hasSame(selectedDayObj, 'day') ||\n this.currToDate?.hasSame(selectedDayObj, 'day'),\n range:\n selectedDayObj.startOf('day') > this.currFromDate?.startOf('day') &&\n this.currToDate !== undefined &&\n selectedDayObj.startOf('day') < this.currToDate?.startOf('day'),\n disabled: !this.isWithinMinMaxDate(selectedDayObj),\n };\n }\n\n private isWithinMinMaxYear(year: number): boolean {\n const minDateYear = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format).year\n : undefined;\n const maxDateYear = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format).year\n : undefined;\n const isBefore = minDateYear ? year < minDateYear : false;\n const isAfter = maxDateYear ? year > maxDateYear : false;\n\n return !isBefore && !isAfter;\n }\n\n private isWithinMinMaxMonth(month: number): boolean {\n const minDateObj = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format)\n : undefined;\n const maxDateObj = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format)\n : undefined;\n const minDateMonth = minDateObj?.month;\n const maxDateMonth = maxDateObj?.month;\n const isBefore = minDateMonth\n ? this.tempYear === minDateObj.year && month < minDateMonth\n : false;\n const isAfter = maxDateMonth\n ? this.tempYear === maxDateObj.year && month > maxDateMonth\n : false;\n\n return !isBefore && !isAfter;\n }\n\n private isWithinMinMaxDate(date: DateTime): boolean {\n const _minDate = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format)\n : undefined;\n const _maxDate = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format)\n : undefined;\n const isBefore = _minDate\n ? date.startOf('day') < _minDate.startOf('day')\n : false;\n const isAfter = _maxDate\n ? date.startOf('day') > _maxDate.startOf('day')\n : false;\n\n return !isBefore && !isAfter;\n }\n\n private renderYears(): any[] {\n const rows = [];\n\n for (let year = this.startYear; year <= this.endYear; year++) {\n rows.push(\n <div\n key={year}\n class={{\n arrowYear: true,\n 'month-dropdown-item': true,\n 'disabled-item': !this.isWithinMinMaxYear(year),\n }}\n onClick={(event) => this.selectTempYear(event, year)}\n onKeyUp={(event) => {\n if (event.key === 'Enter') {\n this.selectTempYear(null, year);\n this.focusMonth();\n }\n }}\n tabIndex={0}\n >\n <ix-icon\n class={{\n hidden: this.tempYear !== year,\n arrowPosition: true,\n }}\n name=\"chevron-right\"\n size=\"12\"\n ></ix-icon>\n <div style={{ 'min-width': 'max-content' }}>{`${year}`}</div>\n </div>\n );\n }\n\n return rows;\n }\n\n render() {\n return (\n <Host>\n <ix-date-time-card\n corners={this.corners}\n standaloneAppearance={this.standaloneAppearance}\n >\n <div class=\"header\" slot=\"header\">\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(-1)}\n ghost\n icon=\"chevron-left\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <div class=\"selector\">\n <ix-button\n ghost\n ref={(ref) => (this.dropdownButtonRef = ref)}\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}\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={(ref) => (this.yearContainerRef = ref)}\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 as HTMLElement;\n }\n }}\n class={{\n arrowYear: true,\n 'month-dropdown-item': true,\n selected:\n this.tempYear === this.selectedYear &&\n this.tempMonth === index,\n 'disabled-item': !this.isWithinMinMaxMonth(index),\n }}\n onClick={() => this.selectMonth(index)}\n onKeyUp={(event) =>\n event.key === 'Enter' && this.selectMonth(index)\n }\n tabIndex={0}\n >\n <ix-icon\n class={{\n hidden:\n this.tempYear !== this.selectedYear ||\n this.tempMonth !== index,\n checkPosition: true,\n }}\n name=\"single-check\"\n size=\"16\"\n ></ix-icon>\n <div>\n <span class=\"capitalize monthMargin\">{`${month} ${this.tempYear}`}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n </ix-dropdown>\n </div>\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(1)}\n ghost\n icon=\"chevron-right\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n <div class=\"grid\">\n <div class=\"calendar-item week-day\"></div>\n {this.dayNames.map((name) => (\n <div key={name} class=\"calendar-item week-day\">\n {name.slice(0, 3)}\n </div>\n ))}\n {this.calendar.map((week) => {\n return (\n <Fragment>\n <div class=\"calendar-item week-number\">{week.weekNumber}</div>\n {week.dayNumbers.map((day) => (\n <div\n key={day}\n id={`day-cell-${day}`}\n date-calender-day\n class={this.getDayClasses(day)}\n onClick={() => this.selectDay(day)}\n onKeyUp={(e) => e.key === 'Enter' && this.selectDay(day)}\n tabIndex={day === this.focusedDay ? 0 : -1}\n onFocus={() => this.onDayFocus()}\n onBlur={() => this.onDayBlur()}\n >\n {day}\n </div>\n ))}\n </Fragment>\n );\n })}\n </div>\n <div\n class={{\n button: true,\n hidden: !this.range || !this.standaloneAppearance,\n }}\n >\n <ix-button onClick={() => this.onDone()}>\n {this.textSelectDate || this.i18nDone}\n </ix-button>\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n:host {\n --ix-layout-grid-gutter: 24px;\n\n display: block;\n flex: 1 1 0%;\n width: 100%;\n\n padding-left: calc(var(--ix-layout-grid-gutter) * 0.5);\n padding-right: calc(var(--ix-layout-grid-gutter) * 0.5);\n}\n\n:host(.no-margin) {\n padding-left: 0;\n padding-right: 0;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-layout-grid',\n styleUrl: 'layout-grid.scss',\n shadow: true,\n})\nexport class LayoutGrid {\n /**\n * The grid will not have any horizontal padding\n */\n @Prop() noMargin = false;\n\n /**\n * Grid gap\n */\n @Prop() gap: '8' | '12' | '16' | '24' = '24';\n\n /**\n * Overwrite the default number of columns. Choose between 2 and 12 columns.\n */\n @Prop() columns = 12;\n\n render() {\n return (\n <Host\n class={{\n 'no-margin': this.noMargin,\n }}\n style={{\n '--ix-layout-grid-columns': `${this.columns}`,\n '--ix-layout-grid-gutter': `${this.gap}px`,\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: flex;\n flex-wrap: wrap;\n}\n\n:host(:not(:first-of-type)) {\n margin-block-start: var(--ix-layout-grid-row-margin, 0);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host } from '@stencil/core';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-row',\n styleUrl: 'row.scss',\n shadow: true,\n})\nexport class Row {\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -9,6 +9,7 @@ const DateDropdown = class {
9
9
  registerInstance(this, hostRef);
10
10
  this.dateRangeChange = createEvent(this, "dateRangeChange", 7);
11
11
  this.datePickerTouched = false;
12
+ this.disabled = false;
12
13
  this.format = 'yyyy/LL/dd';
13
14
  this.range = true;
14
15
  this.from = undefined;
@@ -40,6 +41,11 @@ const DateDropdown = class {
40
41
  this.initialize();
41
42
  this.onDateRangeIdChange();
42
43
  }
44
+ onDisabledChange() {
45
+ if (this.disabled) {
46
+ this.closeDropdown();
47
+ }
48
+ }
43
49
  componentWillLoad() {
44
50
  this.initialize();
45
51
  this.setDateRangeSelection(this.dateRangeId);
@@ -121,16 +127,16 @@ const DateDropdown = class {
121
127
  }
122
128
  render() {
123
129
  var _a, _b, _c;
124
- return (h(Host, { key: 'c1460a1ff367334dd5dccd26ddfdb8dbe333d1f9' }, h("ix-button", { key: '5cfaf26928ec4afd00986e9c2d9c912776d208fb', "data-date-dropdown-trigger": true, variant: "primary", icon: "history", ref: (ref) => (this.triggerRef = ref) }, this.getButtonLabel()), h("ix-dropdown", { key: '55678d235dae3f2171863921b67943e15f555f9d', "data-date-dropdown": true, class: "min-width max-height", trigger: this.triggerRef, "close-behavior": "outside", placement: "bottom-start", onShowChanged: ({ detail: show }) => {
130
+ return (h(Host, { key: 'd66ef545b12f469b74a6693942a4fdbd7eb60382' }, h("ix-button", { key: '8b6c5227aaf9d39fa6b8aa209170f10d9f4e46e8', "data-testid": "date-dropdown-trigger", "data-date-dropdown-trigger": true, variant: "primary", icon: "history", ref: (ref) => (this.triggerRef = ref), disabled: this.disabled }, this.getButtonLabel()), h("ix-dropdown", { key: '909f713bc65e1371143ce50b438d5222319b794e', "data-testid": "date-dropdown", "data-date-dropdown": true, class: "min-width max-height", trigger: this.triggerRef, closeBehavior: "outside", placement: "bottom-start", onShowChanged: ({ detail: show }) => {
125
131
  if (!show &&
126
132
  this.selectedDateRangeId === 'custom' &&
127
133
  this.datePickerTouched) {
128
134
  this.onDateSelect(this.currentRangeValue);
129
135
  }
130
- } }, h("ix-layout-grid", { key: '8c278991b47f5feeff74df783f37dfae99027a3a', "no-margin": "true" }, h("ix-row", { key: 'f7b9d0cbae4cae970df394aaa17a1e2907c3c661' }, ((_a = this.dateRangeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (h("ix-col", { class: {
136
+ } }, h("ix-layout-grid", { key: 'b8d09d4ddac4960ee2ea23ed9ec6bf5ecb59c5ae', "no-margin": "true" }, h("ix-row", { key: 'fa9099679383056a268265eec7316ced4cd0085a' }, ((_a = this.dateRangeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (h("ix-col", { class: {
131
137
  'no-margin': true,
132
138
  'border-right': this.selectedDateRangeId === 'custom',
133
- } }, this.dateRangeOptions.map((dateRangeOption) => (h("ix-dropdown-item", { label: dateRangeOption.label, onClick: () => this.onRangeListSelect(dateRangeOption.id), checked: this.selectedDateRangeId === dateRangeOption.id }))), h("div", { hidden: !this.customRangeAllowed }, h("ix-dropdown-item", { label: this.i18nCustomItem, checked: this.selectedDateRangeId === 'custom', onClick: () => this.onRangeListSelect('custom') })))), h("ix-col", { key: '7a5b3ed06d888f5b90f34901e83dfbbda898e7a8', class: "no-margin" }, this.selectedDateRangeId === 'custom' && (h(Fragment, null, h("ix-date-picker", { standaloneAppearance: false, onDateChange: (e) => {
139
+ } }, this.dateRangeOptions.map((dateRangeOption) => (h("ix-dropdown-item", { label: dateRangeOption.label, onClick: () => this.onRangeListSelect(dateRangeOption.id), checked: this.selectedDateRangeId === dateRangeOption.id }))), h("div", { hidden: !this.customRangeAllowed }, h("ix-dropdown-item", { label: this.i18nCustomItem, checked: this.selectedDateRangeId === 'custom', onClick: () => this.onRangeListSelect('custom') })))), h("ix-col", { key: '614659cb9511b4bf5267e9ecb3c5a122d91e103a', class: "no-margin" }, this.selectedDateRangeId === 'custom' && (h(Fragment, null, h("ix-date-picker", { standaloneAppearance: false, onDateChange: (e) => {
134
140
  e.stopPropagation();
135
141
  this.currentRangeValue = Object.assign(Object.assign({}, e.detail), { id: 'custom' });
136
142
  this.datePickerTouched = true;
@@ -143,7 +149,8 @@ const DateDropdown = class {
143
149
  "dateRangeId": ["onDateRangeIdChange"],
144
150
  "to": ["onDateRangeIdChange"],
145
151
  "from": ["onDateRangeIdChange"],
146
- "dateRangeOptions": ["onDateRangeOptionsChange"]
152
+ "dateRangeOptions": ["onDateRangeOptionsChange"],
153
+ "disabled": ["onDisabledChange"]
147
154
  }; }
148
155
  };
149
156
  DateDropdown.style = IxDateDropdownStyle0;
@@ -1 +1 @@
1
- {"file":"ix-date-dropdown.entry.js","mappings":"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","names":["DateTime"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: $tiny-space $default-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\n\nexport type DateDropdownOption = {\n id: string;\n label: string;\n from: string;\n to: string;\n};\n\nexport type DateRangeChangeEvent = {\n id: string;\n from: string;\n to: string;\n};\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown {\n @Element() hostElement: HTMLIxDateDropdownElement;\n\n /**\n * Date format string.\n * See @link https://moment.github.io/luxon/#/formatting?id=table-of-tokens for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true a range of dates can be selected.\n */\n @Prop() range = true;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from: string;\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to: string;\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate: string;\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.updateCurrentDate();\n this.setDateRangeSelection(this.dateRangeId);\n\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether the user is allowed to pick custom date ranges in the component.\n * When set to 'true', the user can select a custom date range using the date picker.\n * When set to 'false', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeAllowed = true;\n\n /**\n * An array of predefined date range options for the date picker.\n * Each option is an object with a label describing the range and a function\n * that returns the start and end dates of the range as a DateRangeOption object.\n *\n * Example format:\n * {\n * id: 'some unique id',\n * label: 'Name of the range',\n * from: undefined, to: '2023/03/29'\n * },\n * // ... other predefined date range options ...\n */\n @Prop() dateRangeOptions: DateDropdownOption[] = [];\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * Text for custom dropdown item. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-custom-item' }) i18nCustomItem = 'Custom...';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-no-range' }) i18nNoRange = 'No range set';\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * EventEmitter for date range change events.\n *\n * This event is emitted when the date range changes within the component.\n * The event payload contains information about the selected date range.\n */\n @Event() private dateRangeChange: EventEmitter<DateRangeChangeEvent>;\n\n @State() private selectedDateRangeId: 'custom' | (string & {});\n @State() private currentRangeValue: {\n from: string;\n to: string;\n id: string;\n };\n @State() private triggerRef: HTMLElement;\n\n private datePickerTouched = false;\n\n componentWillLoad() {\n this.initialize();\n this.setDateRangeSelection(this.dateRangeId);\n }\n\n /**\n * Retrieves the currently selected date range from the component.\n * This method returns the selected date range as a `DateChangeEvent` object.\n */\n @Method()\n public async getDateRange(): Promise<DateRangeChangeEvent> {\n return this.currentRangeValue;\n }\n\n private initialize() {\n const isCustomRange =\n this.dateRangeId === 'custom' ||\n (!this.dateRangeId && !!this.from && !!this.to);\n\n if (isCustomRange && this.customRangeAllowed) {\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n }\n\n private updateCurrentDate() {\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n }\n\n private onDateSelect(\n rangeValue: { from: string; to: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id)) {\n this.onDateSelect(this.currentRangeValue);\n }\n }\n\n private setDateRangeSelection(id: string) {\n this.selectedDateRangeId = id;\n const option = this.dateRangeOptions.find((range) => range.id === id);\n\n if (option) {\n this.currentRangeValue = option;\n }\n\n return option;\n }\n\n private closeDropdown() {\n this.hostElement.shadowRoot.querySelector('ix-dropdown').show = false;\n }\n\n private getButtonLabel() {\n if (this.selectedDateRangeId === 'custom' && this.currentRangeValue?.from) {\n let range = this.currentRangeValue.from;\n\n if (this.currentRangeValue.to) {\n range += ` - ${this.currentRangeValue.to}`;\n }\n\n return range;\n }\n\n if (!this.selectedDateRangeId) {\n return this.i18nNoRange;\n }\n\n if (!this.dateRangeOptions || this.dateRangeOptions?.length === 0) {\n return this.i18nNoRange;\n }\n\n const option = this.dateRangeOptions.find(\n (option) => option.id === this.selectedDateRangeId\n );\n\n if (!option) {\n console.error(\n `Cannot find range option with id ${this.selectedDateRangeId}`\n );\n return this.i18nNoRange;\n }\n\n return option.label;\n }\n\n render() {\n return (\n <Host>\n <ix-button\n data-date-dropdown-trigger\n variant=\"primary\"\n icon=\"history\"\n ref={(ref) => (this.triggerRef = ref)}\n >\n {this.getButtonLabel()}\n </ix-button>\n <ix-dropdown\n data-date-dropdown\n class=\"min-width max-height\"\n trigger={this.triggerRef}\n close-behavior=\"outside\"\n placement=\"bottom-start\"\n onShowChanged={({ detail: show }) => {\n if (\n !show &&\n this.selectedDateRangeId === 'custom' &&\n this.datePickerTouched\n ) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n <ix-layout-grid no-margin=\"true\">\n <ix-row>\n {this.dateRangeOptions?.length > 1 && (\n <ix-col\n class={{\n 'no-margin': true,\n 'border-right': this.selectedDateRangeId === 'custom',\n }}\n >\n {this.dateRangeOptions.map((dateRangeOption) => (\n <ix-dropdown-item\n label={dateRangeOption.label}\n onClick={() => this.onRangeListSelect(dateRangeOption.id)}\n checked={this.selectedDateRangeId === dateRangeOption.id}\n ></ix-dropdown-item>\n ))}\n <div hidden={!this.customRangeAllowed}>\n <ix-dropdown-item\n label={this.i18nCustomItem}\n checked={this.selectedDateRangeId === 'custom'}\n onClick={() => this.onRangeListSelect('custom')}\n ></ix-dropdown-item>\n </div>\n </ix-col>\n )}\n <ix-col class=\"no-margin\">\n {this.selectedDateRangeId === 'custom' && (\n <Fragment>\n <ix-date-picker\n standaloneAppearance={false}\n onDateChange={(e) => {\n e.stopPropagation();\n this.currentRangeValue = {\n ...e.detail,\n id: 'custom',\n };\n this.datePickerTouched = true;\n }}\n onDateRangeChange={(e) => e.stopPropagation()}\n format={this.format}\n range={this.range}\n from={this.from || this.currentRangeValue?.from}\n to={this.to || this.currentRangeValue?.to}\n minDate={this.minDate}\n maxDate={this.maxDate}\n today={this.today}\n ></ix-date-picker>\n <div class=\"pull-right\">\n <ix-button\n onClick={() => {\n this.onDateSelect(this.currentRangeValue);\n }}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </Fragment>\n )}\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ix-date-dropdown.entry.js","mappings":"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","names":["DateTime"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: $tiny-space $default-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\n\nexport type DateDropdownOption = {\n id: string;\n label: string;\n from: string;\n to: string;\n};\n\nexport type DateRangeChangeEvent = {\n id: string;\n from: string;\n to: string;\n};\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown {\n @Element() hostElement: HTMLIxDateDropdownElement;\n\n /**\n * Disable the button that opens the dropdown containing the date picker.\n *\n * @since 2.3.0\n */\n @Prop() disabled = false;\n\n /**\n * Date format string.\n * See @link https://moment.github.io/luxon/#/formatting?id=table-of-tokens for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true a range of dates can be selected.\n */\n @Prop() range = true;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from: string;\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to: string;\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate: string;\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.updateCurrentDate();\n this.setDateRangeSelection(this.dateRangeId);\n\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether the user is allowed to pick custom date ranges in the component.\n * When set to 'true', the user can select a custom date range using the date picker.\n * When set to 'false', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeAllowed = true;\n\n /**\n * An array of predefined date range options for the date picker.\n * Each option is an object with a label describing the range and a function\n * that returns the start and end dates of the range as a DateRangeOption object.\n *\n * Example format:\n * {\n * id: 'some unique id',\n * label: 'Name of the range',\n * from: undefined, to: '2023/03/29'\n * },\n * // ... other predefined date range options ...\n */\n @Prop() dateRangeOptions: DateDropdownOption[] = [];\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * Text for custom dropdown item. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-custom-item' }) i18nCustomItem = 'Custom...';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-no-range' }) i18nNoRange = 'No range set';\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * EventEmitter for date range change events.\n *\n * This event is emitted when the date range changes within the component.\n * The event payload contains information about the selected date range.\n */\n @Event() private dateRangeChange: EventEmitter<DateRangeChangeEvent>;\n\n @State() private selectedDateRangeId: 'custom' | (string & {});\n @State() private currentRangeValue: {\n from: string;\n to: string;\n id: string;\n };\n @State() private triggerRef: HTMLElement;\n\n @Watch('disabled')\n onDisabledChange() {\n if (this.disabled) {\n this.closeDropdown();\n }\n }\n private datePickerTouched = false;\n\n componentWillLoad() {\n this.initialize();\n this.setDateRangeSelection(this.dateRangeId);\n }\n\n /**\n * Retrieves the currently selected date range from the component.\n * This method returns the selected date range as a `DateChangeEvent` object.\n */\n @Method()\n public async getDateRange(): Promise<DateRangeChangeEvent> {\n return this.currentRangeValue;\n }\n\n private initialize() {\n const isCustomRange =\n this.dateRangeId === 'custom' ||\n (!this.dateRangeId && !!this.from && !!this.to);\n\n if (isCustomRange && this.customRangeAllowed) {\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n }\n\n private updateCurrentDate() {\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n }\n\n private onDateSelect(\n rangeValue: { from: string; to: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id)) {\n this.onDateSelect(this.currentRangeValue);\n }\n }\n\n private setDateRangeSelection(id: string) {\n this.selectedDateRangeId = id;\n const option = this.dateRangeOptions.find((range) => range.id === id);\n\n if (option) {\n this.currentRangeValue = option;\n }\n\n return option;\n }\n\n private closeDropdown() {\n this.hostElement.shadowRoot.querySelector('ix-dropdown').show = false;\n }\n\n private getButtonLabel() {\n if (this.selectedDateRangeId === 'custom' && this.currentRangeValue?.from) {\n let range = this.currentRangeValue.from;\n\n if (this.currentRangeValue.to) {\n range += ` - ${this.currentRangeValue.to}`;\n }\n\n return range;\n }\n\n if (!this.selectedDateRangeId) {\n return this.i18nNoRange;\n }\n\n if (!this.dateRangeOptions || this.dateRangeOptions?.length === 0) {\n return this.i18nNoRange;\n }\n\n const option = this.dateRangeOptions.find(\n (option) => option.id === this.selectedDateRangeId\n );\n\n if (!option) {\n console.error(\n `Cannot find range option with id ${this.selectedDateRangeId}`\n );\n return this.i18nNoRange;\n }\n\n return option.label;\n }\n\n render() {\n return (\n <Host>\n <ix-button\n data-testid=\"date-dropdown-trigger\"\n data-date-dropdown-trigger\n variant=\"primary\"\n icon=\"history\"\n ref={(ref) => (this.triggerRef = ref)}\n disabled={this.disabled}\n >\n {this.getButtonLabel()}\n </ix-button>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n data-date-dropdown\n class=\"min-width max-height\"\n trigger={this.triggerRef}\n closeBehavior=\"outside\"\n placement=\"bottom-start\"\n onShowChanged={({ detail: show }) => {\n if (\n !show &&\n this.selectedDateRangeId === 'custom' &&\n this.datePickerTouched\n ) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n <ix-layout-grid no-margin=\"true\">\n <ix-row>\n {this.dateRangeOptions?.length > 1 && (\n <ix-col\n class={{\n 'no-margin': true,\n 'border-right': this.selectedDateRangeId === 'custom',\n }}\n >\n {this.dateRangeOptions.map((dateRangeOption) => (\n <ix-dropdown-item\n label={dateRangeOption.label}\n onClick={() => this.onRangeListSelect(dateRangeOption.id)}\n checked={this.selectedDateRangeId === dateRangeOption.id}\n ></ix-dropdown-item>\n ))}\n <div hidden={!this.customRangeAllowed}>\n <ix-dropdown-item\n label={this.i18nCustomItem}\n checked={this.selectedDateRangeId === 'custom'}\n onClick={() => this.onRangeListSelect('custom')}\n ></ix-dropdown-item>\n </div>\n </ix-col>\n )}\n <ix-col class=\"no-margin\">\n {this.selectedDateRangeId === 'custom' && (\n <Fragment>\n <ix-date-picker\n standaloneAppearance={false}\n onDateChange={(e) => {\n e.stopPropagation();\n this.currentRangeValue = {\n ...e.detail,\n id: 'custom',\n };\n this.datePickerTouched = true;\n }}\n onDateRangeChange={(e) => e.stopPropagation()}\n format={this.format}\n range={this.range}\n from={this.from || this.currentRangeValue?.from}\n to={this.to || this.currentRangeValue?.to}\n minDate={this.minDate}\n maxDate={this.maxDate}\n today={this.today}\n ></ix-date-picker>\n <div class=\"pull-right\">\n <ix-button\n onClick={() => {\n this.onDateSelect(this.currentRangeValue);\n }}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </Fragment>\n )}\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -57,11 +57,24 @@ class DropdownController {
57
57
  delete this.submenuIds[dropdown.getId()];
58
58
  }
59
59
  }
60
- dismissAll(ignoreBehaviorForIds = []) {
60
+ dismissAll(ignoreBehaviorForIds = [], ignoreRelatedDropdowns = false) {
61
61
  this.dropdowns.forEach((dropdown) => {
62
- if (!ignoreBehaviorForIds.includes(dropdown.getId()) &&
63
- (dropdown.closeBehavior === 'inside' ||
64
- dropdown.closeBehavior === false)) {
62
+ const preventClosing = dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;
63
+ const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());
64
+ const path = this.buildComposedPath(dropdown.getId(), new Set());
65
+ if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {
66
+ let skipRelatedDropdown = false;
67
+ ignoreBehaviorForIds.forEach((id) => {
68
+ if (path.has(id)) {
69
+ skipRelatedDropdown = true;
70
+ return;
71
+ }
72
+ });
73
+ if (!skipRelatedDropdown) {
74
+ return;
75
+ }
76
+ }
77
+ if (!shouldIgnore && preventClosing) {
65
78
  return;
66
79
  }
67
80
  this.dismiss(dropdown);
@@ -81,11 +94,11 @@ class DropdownController {
81
94
  for (let eventTarget of eventTargets) {
82
95
  if (eventTarget instanceof HTMLElement) {
83
96
  if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {
84
- return true;
97
+ return eventTarget;
85
98
  }
86
99
  }
87
100
  }
88
- return false;
101
+ return;
89
102
  }
90
103
  pathIncludesDropdown(eventTargets) {
91
104
  return !!eventTargets.find((element) => element.tagName === 'IX-DROPDOWN');
@@ -151,6 +164,7 @@ const Dropdown = class {
151
164
  this.offset = undefined;
152
165
  this.overwriteDropdownStyle = undefined;
153
166
  this.discoverAllSubmenus = false;
167
+ this.ignoreRelatedSubmenu = false;
154
168
  }
155
169
  connectedCallback() {
156
170
  dropdownController.connected(this);
@@ -233,7 +247,7 @@ const Dropdown = class {
233
247
  var _a;
234
248
  (_a = this.triggerElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent('ix-assign-sub-menu', {
235
249
  bubbles: true,
236
- composed: false,
250
+ composed: true,
237
251
  cancelable: true,
238
252
  detail: this.localUId,
239
253
  }));
@@ -413,14 +427,16 @@ const Dropdown = class {
413
427
  return trigger;
414
428
  }
415
429
  onDropdownClick(event) {
416
- if (dropdownController.pathIncludesTrigger(event.composedPath())) {
430
+ const target = dropdownController.pathIncludesTrigger(event.composedPath());
431
+ if (target) {
417
432
  event.preventDefault();
418
- if (this.isTriggerElement(event.target)) {
433
+ if (this.isTriggerElement(target)) {
419
434
  return;
420
435
  }
421
436
  }
422
437
  if (this.closeBehavior === 'inside' || this.closeBehavior === 'both') {
423
- dropdownController.dismissAll([this.getId()]);
438
+ dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);
439
+ return;
424
440
  }
425
441
  dropdownController.dismissOthers(this.getId());
426
442
  }
@@ -431,7 +447,7 @@ const Dropdown = class {
431
447
  this.applyDropdownPosition();
432
448
  }
433
449
  render() {
434
- return (h(Host, { key: 'afb0bd3099fd4e5363c4b48f9a718d6b58a29570', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
450
+ return (h(Host, { key: 'd235024aac5f2ef9d849b6ec73b2cfe69d4bf902', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
435
451
  'dropdown-menu': true,
436
452
  show: this.show,
437
453
  overflow: true,
@@ -439,7 +455,7 @@ const Dropdown = class {
439
455
  margin: '0',
440
456
  minWidth: '0px',
441
457
  position: this.positioningStrategy,
442
- }, role: "list", onClick: (event) => this.onDropdownClick(event) }, h("div", { key: '19fd27ae702d808e76cf7484c2bca3a7cab38b53', style: { display: 'contents' } }, this.header && h("div", { class: "dropdown-header" }, this.header), h("slot", { key: 'cfaf1630739aba4c96fabf38a7d59780ba7b7a7c' }))));
458
+ }, role: "list", onClick: (event) => this.onDropdownClick(event) }, h("div", { key: '9502d259b770f3badcc56d3132d8c02b00cca30a', style: { display: 'contents' } }, this.header && h("div", { class: "dropdown-header" }, this.header), h("slot", { key: '73be2831a06b820a4284a44ed0d128ddffca38a2' }))));
443
459
  }
444
460
  get hostElement() { return getElement(this); }
445
461
  static get watchers() { return {