@siemens/ix 0.0.0-20240508065324 → 0.0.0-20240522074328

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 (508) 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-pagination.js +1 -1
  22. package/components/ix-pagination.js.map +1 -1
  23. package/components/ix-workflow-step.js +4 -4
  24. package/components/ix-workflow-step.js.map +1 -1
  25. package/components/ix-workflow-steps.js +1 -1
  26. package/components/ix-workflow-steps.js.map +1 -1
  27. package/components/tooltip.js +5 -2
  28. package/components/tooltip.js.map +1 -1
  29. package/dist/cjs/{app-globals-7ea20f68.js → app-globals-5cfdf2a0.js} +2 -2
  30. package/dist/cjs/{app-globals-7ea20f68.js.map → app-globals-5cfdf2a0.js.map} +1 -1
  31. package/dist/cjs/{base-button-2f74b19d.js → base-button-7c45a6c4.js} +27 -4
  32. package/dist/cjs/base-button-7c45a6c4.js.map +1 -0
  33. package/dist/cjs/{base-icon-button-848c77f2.js → base-icon-button-ac2fcf4b.js} +2 -2
  34. package/dist/cjs/{base-icon-button-848c77f2.js.map → base-icon-button-ac2fcf4b.js.map} +1 -1
  35. package/dist/cjs/{core-js-a890bac8.js → core-js-2fc351ee.js} +1 -1
  36. package/dist/cjs/{core-js-a890bac8.js.map → core-js-2fc351ee.js.map} +1 -1
  37. package/dist/cjs/dom-83fb07d8.js.map +1 -1
  38. package/dist/cjs/{index.es2017-0db94b91.js → index.es2017-0c2b80b6.js} +3 -3
  39. package/dist/cjs/{index.es2017-0db94b91.js.map → index.es2017-0c2b80b6.js.map} +1 -1
  40. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  41. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  42. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  44. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ix-button.cjs.entry.js +4 -4
  46. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ix-category-filter.cjs.entry.js +2 -2
  48. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ix-col_4.cjs.entry.js +4 -4
  50. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ix-date-dropdown.cjs.entry.js +11 -4
  52. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ix-dropdown.cjs.entry.js +28 -12
  54. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ix-icon-button_2.cjs.entry.js +4 -4
  56. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +3 -3
  58. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ix-icon.entry-e95ddded.js +1533 -0
  60. package/dist/cjs/ix-icon.entry-e95ddded.js.map +1 -0
  61. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  62. package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
  63. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ix-toggle-button.cjs.entry.js +1 -1
  65. package/dist/cjs/ix-tooltip.cjs.entry.js +5 -2
  66. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
  68. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  70. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  71. package/dist/cjs/loader.cjs.js +2 -2
  72. package/dist/cjs/siemens-ix.cjs.js +2 -2
  73. package/dist/collection/components/action-card/action-card.js.map +1 -1
  74. package/dist/collection/components/application/application.js.map +1 -1
  75. package/dist/collection/components/application-header/application-header.js.map +1 -1
  76. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  77. package/dist/collection/components/application-header/test/application-header.ct.js.map +1 -1
  78. package/dist/collection/components/application-sidebar/application-sidebar.js.map +1 -1
  79. package/dist/collection/components/application-sidebar/events.js.map +1 -1
  80. package/dist/collection/components/avatar/avatar.js.map +1 -1
  81. package/dist/collection/components/avatar/test/avatar.ct.js.map +1 -1
  82. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  83. package/dist/collection/components/blind/blind.css +1 -1
  84. package/dist/collection/components/blind/blind.js.map +1 -1
  85. package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
  86. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  87. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +1 -1
  88. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +181 -0
  89. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  90. package/dist/collection/components/button/base-button.js +25 -2
  91. package/dist/collection/components/button/base-button.js.map +1 -1
  92. package/dist/collection/components/button/button.css +181 -0
  93. package/dist/collection/components/button/button.js +7 -4
  94. package/dist/collection/components/button/button.js.map +1 -1
  95. package/dist/collection/components/button/test/button.ct.js +11 -0
  96. package/dist/collection/components/button/test/button.ct.js.map +1 -1
  97. package/dist/collection/components/button/test/button.spec.js.map +1 -1
  98. package/dist/collection/components/card/card.js.map +1 -1
  99. package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
  100. package/dist/collection/components/card-content/card-content.js.map +1 -1
  101. package/dist/collection/components/card-list/card-list.js.map +1 -1
  102. package/dist/collection/components/card-title/card-title.js.map +1 -1
  103. package/dist/collection/components/category-filter/category-filter.css +181 -0
  104. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  105. package/dist/collection/components/category-filter/filter-state.js.map +1 -1
  106. package/dist/collection/components/category-filter/input-state.js.map +1 -1
  107. package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
  108. package/dist/collection/components/chip/chip.js.map +1 -1
  109. package/dist/collection/components/col/col.js.map +1 -1
  110. package/dist/collection/components/content/content.js.map +1 -1
  111. package/dist/collection/components/content-header/content-header.js.map +1 -1
  112. package/dist/collection/components/css-grid/builder.js.map +1 -1
  113. package/dist/collection/components/css-grid/css-grid-item.js.map +1 -1
  114. package/dist/collection/components/css-grid/css-grid.js.map +1 -1
  115. package/dist/collection/components/date-dropdown/date-dropdown.js +33 -3
  116. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  117. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js +43 -0
  118. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +1 -1
  119. package/dist/collection/components/date-picker/date-picker.js +4 -4
  120. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  121. package/dist/collection/components/date-picker/test/date-picker.ct.js.map +1 -1
  122. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  123. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  124. package/dist/collection/components/datetime-picker/test/datetime-picker.ct.js.map +1 -1
  125. package/dist/collection/components/divider/divider.js.map +1 -1
  126. package/dist/collection/components/drawer/drawer.js.map +1 -1
  127. package/dist/collection/components/drawer/test/drawer.ct.js.map +1 -1
  128. package/dist/collection/components/drawer/test/drawer.spec.js.map +1 -1
  129. package/dist/collection/components/dropdown/dropdown-controller.js +19 -6
  130. package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
  131. package/dist/collection/components/dropdown/dropdown.js +30 -6
  132. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  133. package/dist/collection/components/dropdown/placement.js.map +1 -1
  134. package/dist/collection/components/dropdown/test/dropdown-controller.spec.js.map +1 -1
  135. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
  136. package/dist/collection/components/dropdown-button/dropdown-button.js +1 -1
  137. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  138. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  139. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  140. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js.map +1 -1
  141. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  142. package/dist/collection/components/event-list/event-list.js.map +1 -1
  143. package/dist/collection/components/event-list/test/event-list.ct.js.map +1 -1
  144. package/dist/collection/components/event-list/test/event-list.spec.js.map +1 -1
  145. package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
  146. package/dist/collection/components/event-list-item/test/event-list-item.spec.js.map +1 -1
  147. package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
  148. package/dist/collection/components/expanding-search/test/expanding-search.ct.js.map +1 -1
  149. package/dist/collection/components/expanding-search/test/expanding-search.spec.js.map +1 -1
  150. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  151. package/dist/collection/components/flip-tile/flip-tile-state.js.map +1 -1
  152. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  153. package/dist/collection/components/flip-tile/test/flip-tile.ct.js.map +1 -1
  154. package/dist/collection/components/flip-tile-content/flip-tile-content.js.map +1 -1
  155. package/dist/collection/components/form-field/form-field.js.map +1 -1
  156. package/dist/collection/components/grid/layout-grid.js.map +1 -1
  157. package/dist/collection/components/group/group-context-menu.js.map +1 -1
  158. package/dist/collection/components/group/group.js.map +1 -1
  159. package/dist/collection/components/group/test/group.ct.js.map +1 -1
  160. package/dist/collection/components/group-item/group-item.js.map +1 -1
  161. package/dist/collection/components/icon-button/base-icon-button.js.map +1 -1
  162. package/dist/collection/components/icon-button/icon-button.css +181 -0
  163. package/dist/collection/components/icon-button/icon-button.js +6 -3
  164. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  165. package/dist/collection/components/icon-button/test/icon-button.ct.js.map +1 -1
  166. package/dist/collection/components/icon-button/test/icon-button.spec.js.map +1 -1
  167. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +181 -0
  168. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  169. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
  170. package/dist/collection/components/input-group/input-group.js.map +1 -1
  171. package/dist/collection/components/input-group/tests/input-group.ct.js.map +1 -1
  172. package/dist/collection/components/key-value/key-value.js.map +1 -1
  173. package/dist/collection/components/key-value-list/key-value-list.js.map +1 -1
  174. package/dist/collection/components/kpi/kpi.js.map +1 -1
  175. package/dist/collection/components/link-button/link-button.js.map +1 -1
  176. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  177. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js.map +1 -1
  178. package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
  179. package/dist/collection/components/menu/menu.js.map +1 -1
  180. package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
  181. package/dist/collection/components/menu-about/menu-about.js.map +1 -1
  182. package/dist/collection/components/menu-about-item/menu-about-item.js.map +1 -1
  183. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  184. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  185. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js.map +1 -1
  186. package/dist/collection/components/menu-avatar-item/test/menu-avatar-item.ct.js.map +1 -1
  187. package/dist/collection/components/menu-category/enter-leave.js.map +1 -1
  188. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  189. package/dist/collection/components/menu-category/test/menu-category.ct.js.map +1 -1
  190. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  191. package/dist/collection/components/menu-item/test/menu-item.ct.js.map +1 -1
  192. package/dist/collection/components/menu-settings/menu-settings.js.map +1 -1
  193. package/dist/collection/components/menu-settings-item/menu-settings-item.js.map +1 -1
  194. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  195. package/dist/collection/components/message-bar/test/message-bar.spec.js.map +1 -1
  196. package/dist/collection/components/modal/modal.js.map +1 -1
  197. package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
  198. package/dist/collection/components/modal-content/modal-content.js.map +1 -1
  199. package/dist/collection/components/modal-footer/modal-footer.js.map +1 -1
  200. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  201. package/dist/collection/components/modal-loading/modal-loading.js.map +1 -1
  202. package/dist/collection/components/pagination/pagination.css +181 -0
  203. package/dist/collection/components/pagination/pagination.js.map +1 -1
  204. package/dist/collection/components/pagination/test/pagination.ct.js.map +1 -1
  205. package/dist/collection/components/pagination/test/pagination.spec.js.map +1 -1
  206. package/dist/collection/components/pane/pane.js.map +1 -1
  207. package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
  208. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  209. package/dist/collection/components/pane-layout/test/pane-layout.ct.js.map +1 -1
  210. package/dist/collection/components/pill/pill.js.map +1 -1
  211. package/dist/collection/components/playground/example-modal.js.map +1 -1
  212. package/dist/collection/components/playground/playground.js.map +1 -1
  213. package/dist/collection/components/push-card/push-card.js.map +1 -1
  214. package/dist/collection/components/row/row.js.map +1 -1
  215. package/dist/collection/components/select/select.js.map +1 -1
  216. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  217. package/dist/collection/components/select-item/events.js.map +1 -1
  218. package/dist/collection/components/select-item/select-item.js.map +1 -1
  219. package/dist/collection/components/select-item/test/select-item.spec.js.map +1 -1
  220. package/dist/collection/components/slider/slider.js.map +1 -1
  221. package/dist/collection/components/slider/test/slider.ct.js.map +1 -1
  222. package/dist/collection/components/spinner/spinner.js.map +1 -1
  223. package/dist/collection/components/split-button/split-button.js +1 -1
  224. package/dist/collection/components/split-button/split-button.js.map +1 -1
  225. package/dist/collection/components/split-button-item/split-button-item.js.map +1 -1
  226. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  227. package/dist/collection/components/tabs/tabs.js.map +1 -1
  228. package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -1
  229. package/dist/collection/components/tile/tile.js.map +1 -1
  230. package/dist/collection/components/time-picker/test/time-picker.ct.js.map +1 -1
  231. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  232. package/dist/collection/components/toast/toast-container.js.map +1 -1
  233. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  234. package/dist/collection/components/toast/toast.js.map +1 -1
  235. package/dist/collection/components/toggle/test/toggle.ct.js.map +1 -1
  236. package/dist/collection/components/toggle/toggle.js.map +1 -1
  237. package/dist/collection/components/toggle-button/toggle-button.js +1 -1
  238. package/dist/collection/components/toggle-button/toggle-button.js.map +1 -1
  239. package/dist/collection/components/tooltip/test/tooltip.ct.js.map +1 -1
  240. package/dist/collection/components/tooltip/tooltip-controller.js.map +1 -1
  241. package/dist/collection/components/tooltip/tooltip.js +5 -2
  242. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  243. package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
  244. package/dist/collection/components/tree/tree-model.js.map +1 -1
  245. package/dist/collection/components/tree/tree.js.map +1 -1
  246. package/dist/collection/components/tree-item/default-tree-item.js.map +1 -1
  247. package/dist/collection/components/tree-item/tree-item.js.map +1 -1
  248. package/dist/collection/components/typography/test/ix-typography.spec.js.map +1 -1
  249. package/dist/collection/components/typography/type-mapping.js.map +1 -1
  250. package/dist/collection/components/typography/typography.js.map +1 -1
  251. package/dist/collection/components/upload/upload-file-state.js.map +1 -1
  252. package/dist/collection/components/upload/upload.js.map +1 -1
  253. package/dist/collection/components/utils/a11y.js.map +1 -1
  254. package/dist/collection/components/utils/animation.js.map +1 -1
  255. package/dist/collection/components/utils/app-switch/index.js.map +1 -1
  256. package/dist/collection/components/utils/application-layout/context.js.map +1 -1
  257. package/dist/collection/components/utils/application-layout/index.js.map +1 -1
  258. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  259. package/dist/collection/components/utils/breakpoints.js.map +1 -1
  260. package/dist/collection/components/utils/condition-checks.js.map +1 -1
  261. package/dist/collection/components/utils/context.js.map +1 -1
  262. package/dist/collection/components/utils/debounce.js.map +1 -1
  263. package/dist/collection/components/utils/delegate.js.map +1 -1
  264. package/dist/collection/components/utils/focus.js.map +1 -1
  265. package/dist/collection/components/utils/internal/component.js.map +1 -1
  266. package/dist/collection/components/utils/internal/index.js.map +1 -1
  267. package/dist/collection/components/utils/listener.js.map +1 -1
  268. package/dist/collection/components/utils/make-ref.js.map +1 -1
  269. package/dist/collection/components/utils/menu-service/menu-service.js.map +1 -1
  270. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
  271. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js.map +1 -1
  272. package/dist/collection/components/utils/modal/index.js.map +1 -1
  273. package/dist/collection/components/utils/modal/loading.js.map +1 -1
  274. package/dist/collection/components/utils/modal/message.js.map +1 -1
  275. package/dist/collection/components/utils/modal/modal.js.map +1 -1
  276. package/dist/collection/components/utils/mutation-observer.js.map +1 -1
  277. package/dist/collection/components/utils/notification-color.js.map +1 -1
  278. package/dist/collection/components/utils/overlay.js.map +1 -1
  279. package/dist/collection/components/utils/requestAnimationFrame.js.map +1 -1
  280. package/dist/collection/components/utils/rwd.util.js.map +1 -1
  281. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  282. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  283. package/dist/collection/components/utils/typed-event.js.map +1 -1
  284. package/dist/collection/components/utils/waitForElement.js.map +1 -1
  285. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -1
  286. package/dist/collection/components/workflow-step/workflow-step.css +27 -7
  287. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  288. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  289. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
  290. package/dist/collection/components/workflow-steps/test/workflow-steps.spec.js.map +1 -1
  291. package/dist/collection/components/workflow-steps/workflow-steps.css +9 -1
  292. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  293. package/dist/collection/index.js.map +1 -1
  294. package/dist/collection/setup.js.map +1 -1
  295. package/dist/collection/tests/action-card/action-card.e2e.js.map +1 -1
  296. package/dist/collection/tests/application/application.e2e.js.map +1 -1
  297. package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
  298. package/dist/collection/tests/avatar/avatar.e2e.js.map +1 -1
  299. package/dist/collection/tests/basic-navigation/basic-navigation.e2e.js.map +1 -1
  300. package/dist/collection/tests/blind/blind.e2e.js.map +1 -1
  301. package/dist/collection/tests/breadcrumb/breadcrumb.e2e.js.map +1 -1
  302. package/dist/collection/tests/button/button.e2e.js.map +1 -1
  303. package/dist/collection/tests/card/card.e2e.js.map +1 -1
  304. package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
  305. package/dist/collection/tests/category-filter/category-filter.e2e.js.map +1 -1
  306. package/dist/collection/tests/checkbox/checkbox.e2e.js.map +1 -1
  307. package/dist/collection/tests/chip/chip.e2e.js.map +1 -1
  308. package/dist/collection/tests/content-header/content-header.e2e.js.map +1 -1
  309. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js.map +1 -1
  310. package/dist/collection/tests/date-picker/date-picker.e2e.js.map +1 -1
  311. package/dist/collection/tests/date-picker-rework/date-picker-rework.e2e.js.map +1 -1
  312. package/dist/collection/tests/datetime-picker/datetime-picker.e2e.js.map +1 -1
  313. package/dist/collection/tests/datetime-picker-rework/datetime-picker-rework.e2e.js.map +1 -1
  314. package/dist/collection/tests/divider/divider.e2e.js.map +1 -1
  315. package/dist/collection/tests/drawer/drawer.e2e.js.map +1 -1
  316. package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
  317. package/dist/collection/tests/dropdown-button/dropdown-button.e2e.js.map +1 -1
  318. package/dist/collection/tests/dropdown-quick-actions/dropdown-quick-actions.e2e.js.map +1 -1
  319. package/dist/collection/tests/empty-state/empty-state.e2e.js.map +1 -1
  320. package/dist/collection/tests/event-list/event-list.e2e.js.map +1 -1
  321. package/dist/collection/tests/expanding-search/expanding-search.e2e.js.map +1 -1
  322. package/dist/collection/tests/flip-tile/flip-tile.e2e.js.map +1 -1
  323. package/dist/collection/tests/fonts/fonts.e2e.js.map +1 -1
  324. package/dist/collection/tests/group/group.e2e.js.map +1 -1
  325. package/dist/collection/tests/html-table/html-table.e2e.js.map +1 -1
  326. package/dist/collection/tests/icon/icon.e2e.js.map +1 -1
  327. package/dist/collection/tests/icon-button/icon-button.e2e.js +34 -2
  328. package/dist/collection/tests/icon-button/icon-button.e2e.js.map +1 -1
  329. package/dist/collection/tests/icon-toggle-button/toggle-button.e2e.js.map +1 -1
  330. package/dist/collection/tests/input/input.e2e.js.map +1 -1
  331. package/dist/collection/tests/input-group/input-group.e2e.js.map +1 -1
  332. package/dist/collection/tests/key-value/key-value.e2e.js.map +1 -1
  333. package/dist/collection/tests/key-value-list/key-value-list.e2e.js.map +1 -1
  334. package/dist/collection/tests/kpi/kpi.e2e.js.map +1 -1
  335. package/dist/collection/tests/layout-grid/layout-grid.e2e.js.map +1 -1
  336. package/dist/collection/tests/link-button/link-button.e2e.js.map +1 -1
  337. package/dist/collection/tests/map-navigation/map-navigation.e2e.js.map +1 -1
  338. package/dist/collection/tests/map-navigation-overlay/map-navigation.e2e.js.map +1 -1
  339. package/dist/collection/tests/menu/menu.e2e.js.map +1 -1
  340. package/dist/collection/tests/menu-about/menu-about.e2e.js.map +1 -1
  341. package/dist/collection/tests/menu-about-news/menu-about-news.e2e.js.map +1 -1
  342. package/dist/collection/tests/menu-avatar/menu-avatar.e2e.js.map +1 -1
  343. package/dist/collection/tests/menu-settings/menu-settings.e2e.js.map +1 -1
  344. package/dist/collection/tests/message-bar/message-bar.e2e.js.map +1 -1
  345. package/dist/collection/tests/modal/modal.e2e.js.map +1 -1
  346. package/dist/collection/tests/pagination/pagination.e2e.js.map +1 -1
  347. package/dist/collection/tests/panes/panes.e2e.js.map +1 -1
  348. package/dist/collection/tests/pill/pill.e2e.js.map +1 -1
  349. package/dist/collection/tests/push-card/push-card.e2e.js.map +1 -1
  350. package/dist/collection/tests/radiobutton/radiobutton.e2e.js.map +1 -1
  351. package/dist/collection/tests/select/select.e2e.js.map +1 -1
  352. package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
  353. package/dist/collection/tests/spinner/spinner.e2e.js.map +1 -1
  354. package/dist/collection/tests/split-button/split-button.e2e.js.map +1 -1
  355. package/dist/collection/tests/tabs/tabs.e2e.js.map +1 -1
  356. package/dist/collection/tests/textarea/textarea.e2e.js.map +1 -1
  357. package/dist/collection/tests/tile/tile.e2e.js.map +1 -1
  358. package/dist/collection/tests/time-picker-rework/time-picker-rework.e2e.js.map +1 -1
  359. package/dist/collection/tests/toast/toast.e2e.js.map +1 -1
  360. package/dist/collection/tests/toggle/toggle.e2e.js.map +1 -1
  361. package/dist/collection/tests/toggle-button/toggle-button.e2e.js.map +1 -1
  362. package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
  363. package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
  364. package/dist/collection/tests/typography/typography.e2e.js.map +1 -1
  365. package/dist/collection/tests/upload/upload.e2e.js.map +1 -1
  366. package/dist/collection/tests/utils/test/index.js.map +1 -1
  367. package/dist/collection/tests/utils/test/page.js.map +1 -1
  368. package/dist/collection/tests/workflow-steps/workflow-steps.e2e.js.map +1 -1
  369. package/dist/esm/{app-globals-bdfc5499.js → app-globals-0cd07cd9.js} +2 -2
  370. package/dist/esm/{app-globals-bdfc5499.js.map → app-globals-0cd07cd9.js.map} +1 -1
  371. package/dist/esm/{base-button-37b915d6.js → base-button-3ac703a7.js} +27 -4
  372. package/dist/esm/base-button-3ac703a7.js.map +1 -0
  373. package/dist/esm/{base-icon-button-976ef0f6.js → base-icon-button-59eb1fe5.js} +2 -2
  374. package/dist/esm/{base-icon-button-976ef0f6.js.map → base-icon-button-59eb1fe5.js.map} +1 -1
  375. package/dist/esm/{core-js-1c33b685.js → core-js-78b486a8.js} +1 -1
  376. package/dist/esm/{core-js-1c33b685.js.map → core-js-78b486a8.js.map} +1 -1
  377. package/dist/esm/dom-64ac48b5.js.map +1 -1
  378. package/dist/esm/{index.es2017-45304832.js → index.es2017-93ac816c.js} +3 -3
  379. package/dist/esm/{index.es2017-45304832.js.map → index.es2017-93ac816c.js.map} +1 -1
  380. package/dist/esm/ix-avatar_2.entry.js +1 -1
  381. package/dist/esm/ix-blind.entry.js +1 -1
  382. package/dist/esm/ix-blind.entry.js.map +1 -1
  383. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  384. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  385. package/dist/esm/ix-button.entry.js +4 -4
  386. package/dist/esm/ix-button.entry.js.map +1 -1
  387. package/dist/esm/ix-category-filter.entry.js +2 -2
  388. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  389. package/dist/esm/ix-col_4.entry.js +4 -4
  390. package/dist/esm/ix-col_4.entry.js.map +1 -1
  391. package/dist/esm/ix-date-dropdown.entry.js +11 -4
  392. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  393. package/dist/esm/ix-dropdown.entry.js +28 -12
  394. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  395. package/dist/esm/ix-icon-button_2.entry.js +4 -4
  396. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  397. package/dist/esm/ix-icon-toggle-button.entry.js +3 -3
  398. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  399. package/dist/esm/ix-icon.entry-621b700a.js +1531 -0
  400. package/dist/esm/ix-icon.entry-621b700a.js.map +1 -0
  401. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  402. package/dist/esm/ix-pagination.entry.js +2 -2
  403. package/dist/esm/ix-pagination.entry.js.map +1 -1
  404. package/dist/esm/ix-toggle-button.entry.js +1 -1
  405. package/dist/esm/ix-tooltip.entry.js +5 -2
  406. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  407. package/dist/esm/ix-workflow-step.entry.js +4 -4
  408. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  409. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  410. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  411. package/dist/esm/loader.js +2 -2
  412. package/dist/esm/siemens-ix.js +2 -2
  413. package/dist/siemens-ix/p-01b8b98c.entry.js +2 -0
  414. package/dist/siemens-ix/{p-8d161202.entry.js.map → p-01b8b98c.entry.js.map} +1 -1
  415. package/dist/siemens-ix/p-0fee2dd5.entry.js +2 -0
  416. package/dist/siemens-ix/p-0fee2dd5.entry.js.map +1 -0
  417. package/dist/siemens-ix/p-18a1c4dd.entry.js +2 -0
  418. package/dist/siemens-ix/p-18a1c4dd.entry.js.map +1 -0
  419. package/dist/siemens-ix/p-18a27007.entry.js +2 -0
  420. package/dist/siemens-ix/p-18a27007.entry.js.map +1 -0
  421. package/dist/siemens-ix/{p-84430d2c.js → p-1f6df0c6.js} +2 -2
  422. package/dist/siemens-ix/{p-84430d2c.js.map → p-1f6df0c6.js.map} +1 -1
  423. package/dist/siemens-ix/p-213f16d5.entry.js +2 -0
  424. package/dist/siemens-ix/{p-64c895ac.entry.js.map → p-213f16d5.entry.js.map} +1 -1
  425. package/dist/siemens-ix/{p-7702a8c2.js → p-235c14ca.js} +2 -2
  426. package/dist/siemens-ix/p-2459f98f.entry.js +2 -0
  427. package/dist/siemens-ix/p-2459f98f.entry.js.map +1 -0
  428. package/dist/siemens-ix/p-2c14670e.entry.js +2 -0
  429. package/dist/siemens-ix/p-2c14670e.entry.js.map +1 -0
  430. package/dist/siemens-ix/{p-af74fc62.entry.js → p-306c5ab2.entry.js} +2 -2
  431. package/dist/siemens-ix/{p-bd310180.entry.js → p-4cf6e817.entry.js} +2 -2
  432. package/dist/siemens-ix/p-5d43cae8.js.map +1 -1
  433. package/dist/siemens-ix/p-8362e966.js +2 -0
  434. package/dist/siemens-ix/p-8362e966.js.map +1 -0
  435. package/dist/siemens-ix/p-a147b152.entry.js +2 -0
  436. package/dist/siemens-ix/p-a147b152.entry.js.map +1 -0
  437. package/dist/siemens-ix/{p-b5c53faf.js → p-a2200306.js} +1 -1
  438. package/dist/siemens-ix/{p-b5c53faf.js.map → p-a2200306.js.map} +1 -1
  439. package/dist/siemens-ix/p-a8838a77.js +2 -0
  440. package/dist/siemens-ix/p-bd576793.entry.js +2 -0
  441. package/dist/siemens-ix/p-bd576793.entry.js.map +1 -0
  442. package/dist/siemens-ix/p-bdc57334.entry.js +2 -0
  443. package/dist/siemens-ix/{p-f7e82b50.entry.js.map → p-bdc57334.entry.js.map} +1 -1
  444. package/dist/siemens-ix/{p-262026ab.entry.js → p-cf546284.entry.js} +2 -2
  445. package/dist/siemens-ix/p-cf546284.entry.js.map +1 -0
  446. package/dist/siemens-ix/{p-ac1d46d6.entry.js → p-def8b3a4.entry.js} +2 -2
  447. package/dist/siemens-ix/{p-ac1d46d6.entry.js.map → p-def8b3a4.entry.js.map} +1 -1
  448. package/dist/siemens-ix/p-e4e24f59.entry.js +2 -0
  449. package/dist/siemens-ix/{p-c29aff68.entry.js.map → p-e4e24f59.entry.js.map} +1 -1
  450. package/dist/siemens-ix/{p-b02fd2c5.entry.js → p-fb55854a.entry.js} +2 -2
  451. package/dist/siemens-ix/p-fe87443e.js +2 -0
  452. package/dist/siemens-ix/p-fe87443e.js.map +1 -0
  453. package/dist/siemens-ix/siemens-ix.css +72 -0
  454. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  455. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  456. package/dist/siemens-ix/theme/classic-dark.css +1 -1
  457. package/dist/siemens-ix/theme/classic-light.css +1 -1
  458. package/dist/types/components/button/base-button.d.ts +3 -0
  459. package/dist/types/components/button/button.d.ts +2 -1
  460. package/dist/types/components/date-dropdown/date-dropdown.d.ts +7 -0
  461. package/dist/types/components/dropdown/dropdown-controller.d.ts +2 -2
  462. package/dist/types/components/dropdown/dropdown.d.ts +2 -0
  463. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  464. package/dist/types/components.d.ts +15 -0
  465. package/package.json +1 -1
  466. package/scss/theme/classic-dark/_color.scss +36 -0
  467. package/scss/theme/classic-light/_color.scss +36 -0
  468. package/dist/cjs/base-button-2f74b19d.js.map +0 -1
  469. package/dist/cjs/ix-icon.entry-01b3822b.js +0 -1487
  470. package/dist/cjs/ix-icon.entry-01b3822b.js.map +0 -1
  471. package/dist/esm/base-button-37b915d6.js.map +0 -1
  472. package/dist/esm/ix-icon.entry-9fafcf35.js +0 -1485
  473. package/dist/esm/ix-icon.entry-9fafcf35.js.map +0 -1
  474. package/dist/playwright-ct.config.js +0 -23
  475. package/dist/playwright-ct.config.js.map +0 -1
  476. package/dist/playwright.config.js +0 -75
  477. package/dist/playwright.config.js.map +0 -1
  478. package/dist/siemens-ix/p-16826ff7.js +0 -2
  479. package/dist/siemens-ix/p-16d378f3.js +0 -2
  480. package/dist/siemens-ix/p-16d378f3.js.map +0 -1
  481. package/dist/siemens-ix/p-262026ab.entry.js.map +0 -1
  482. package/dist/siemens-ix/p-29b0bef3.entry.js +0 -2
  483. package/dist/siemens-ix/p-29b0bef3.entry.js.map +0 -1
  484. package/dist/siemens-ix/p-64c895ac.entry.js +0 -2
  485. package/dist/siemens-ix/p-6f097cae.entry.js +0 -2
  486. package/dist/siemens-ix/p-6f097cae.entry.js.map +0 -1
  487. package/dist/siemens-ix/p-8d161202.entry.js +0 -2
  488. package/dist/siemens-ix/p-a039faa9.entry.js +0 -2
  489. package/dist/siemens-ix/p-a039faa9.entry.js.map +0 -1
  490. package/dist/siemens-ix/p-a4e489ea.js +0 -2
  491. package/dist/siemens-ix/p-a4e489ea.js.map +0 -1
  492. package/dist/siemens-ix/p-acdeb192.entry.js +0 -2
  493. package/dist/siemens-ix/p-acdeb192.entry.js.map +0 -1
  494. package/dist/siemens-ix/p-c29aff68.entry.js +0 -2
  495. package/dist/siemens-ix/p-c4d3f089.entry.js +0 -2
  496. package/dist/siemens-ix/p-c4d3f089.entry.js.map +0 -1
  497. package/dist/siemens-ix/p-dbf234e5.entry.js +0 -2
  498. package/dist/siemens-ix/p-dbf234e5.entry.js.map +0 -1
  499. package/dist/siemens-ix/p-f7e82b50.entry.js +0 -2
  500. package/dist/siemens-ix/p-fe273de4.entry.js +0 -2
  501. package/dist/siemens-ix/p-fe273de4.entry.js.map +0 -1
  502. package/dist/types/Users/daniel/dev/oss/ix/packages/core/.stencil/playwright-ct.config.d.ts +0 -7
  503. package/dist/types/Users/daniel/dev/oss/ix/packages/core/.stencil/playwright.config.d.ts +0 -7
  504. /package/dist/siemens-ix/{p-7702a8c2.js.map → p-235c14ca.js.map} +0 -0
  505. /package/dist/siemens-ix/{p-af74fc62.entry.js.map → p-306c5ab2.entry.js.map} +0 -0
  506. /package/dist/siemens-ix/{p-bd310180.entry.js.map → p-4cf6e817.entry.js.map} +0 -0
  507. /package/dist/siemens-ix/{p-16826ff7.js.map → p-a8838a77.js.map} +0 -0
  508. /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.cjs.js","mappings":"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","names":["forceUpdate","matchBreakpoint","h","Host","DateTime","Info","index","Fragment","OnListener"],"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.cjs.js","mappings":"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","names":["forceUpdate","matchBreakpoint","h","Host","DateTime","Info","index","Fragment","OnListener"],"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}
@@ -13,6 +13,7 @@ const DateDropdown = class {
13
13
  index.registerInstance(this, hostRef);
14
14
  this.dateRangeChange = index.createEvent(this, "dateRangeChange", 7);
15
15
  this.datePickerTouched = false;
16
+ this.disabled = false;
16
17
  this.format = 'yyyy/LL/dd';
17
18
  this.range = true;
18
19
  this.from = undefined;
@@ -44,6 +45,11 @@ const DateDropdown = class {
44
45
  this.initialize();
45
46
  this.onDateRangeIdChange();
46
47
  }
48
+ onDisabledChange() {
49
+ if (this.disabled) {
50
+ this.closeDropdown();
51
+ }
52
+ }
47
53
  componentWillLoad() {
48
54
  this.initialize();
49
55
  this.setDateRangeSelection(this.dateRangeId);
@@ -125,16 +131,16 @@ const DateDropdown = class {
125
131
  }
126
132
  render() {
127
133
  var _a, _b, _c;
128
- return (index.h(index.Host, { key: 'c1460a1ff367334dd5dccd26ddfdb8dbe333d1f9' }, index.h("ix-button", { key: '5cfaf26928ec4afd00986e9c2d9c912776d208fb', "data-date-dropdown-trigger": true, variant: "primary", icon: "history", ref: (ref) => (this.triggerRef = ref) }, this.getButtonLabel()), index.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 }) => {
134
+ return (index.h(index.Host, { key: 'd66ef545b12f469b74a6693942a4fdbd7eb60382' }, index.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()), index.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 }) => {
129
135
  if (!show &&
130
136
  this.selectedDateRangeId === 'custom' &&
131
137
  this.datePickerTouched) {
132
138
  this.onDateSelect(this.currentRangeValue);
133
139
  }
134
- } }, index.h("ix-layout-grid", { key: '8c278991b47f5feeff74df783f37dfae99027a3a', "no-margin": "true" }, index.h("ix-row", { key: 'f7b9d0cbae4cae970df394aaa17a1e2907c3c661' }, ((_a = this.dateRangeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (index.h("ix-col", { class: {
140
+ } }, index.h("ix-layout-grid", { key: 'b8d09d4ddac4960ee2ea23ed9ec6bf5ecb59c5ae', "no-margin": "true" }, index.h("ix-row", { key: 'fa9099679383056a268265eec7316ced4cd0085a' }, ((_a = this.dateRangeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (index.h("ix-col", { class: {
135
141
  'no-margin': true,
136
142
  'border-right': this.selectedDateRangeId === 'custom',
137
- } }, this.dateRangeOptions.map((dateRangeOption) => (index.h("ix-dropdown-item", { label: dateRangeOption.label, onClick: () => this.onRangeListSelect(dateRangeOption.id), checked: this.selectedDateRangeId === dateRangeOption.id }))), index.h("div", { hidden: !this.customRangeAllowed }, index.h("ix-dropdown-item", { label: this.i18nCustomItem, checked: this.selectedDateRangeId === 'custom', onClick: () => this.onRangeListSelect('custom') })))), index.h("ix-col", { key: '7a5b3ed06d888f5b90f34901e83dfbbda898e7a8', class: "no-margin" }, this.selectedDateRangeId === 'custom' && (index.h(index.Fragment, null, index.h("ix-date-picker", { standaloneAppearance: false, onDateChange: (e) => {
143
+ } }, this.dateRangeOptions.map((dateRangeOption) => (index.h("ix-dropdown-item", { label: dateRangeOption.label, onClick: () => this.onRangeListSelect(dateRangeOption.id), checked: this.selectedDateRangeId === dateRangeOption.id }))), index.h("div", { hidden: !this.customRangeAllowed }, index.h("ix-dropdown-item", { label: this.i18nCustomItem, checked: this.selectedDateRangeId === 'custom', onClick: () => this.onRangeListSelect('custom') })))), index.h("ix-col", { key: '614659cb9511b4bf5267e9ecb3c5a122d91e103a', class: "no-margin" }, this.selectedDateRangeId === 'custom' && (index.h(index.Fragment, null, index.h("ix-date-picker", { standaloneAppearance: false, onDateChange: (e) => {
138
144
  e.stopPropagation();
139
145
  this.currentRangeValue = Object.assign(Object.assign({}, e.detail), { id: 'custom' });
140
146
  this.datePickerTouched = true;
@@ -147,7 +153,8 @@ const DateDropdown = class {
147
153
  "dateRangeId": ["onDateRangeIdChange"],
148
154
  "to": ["onDateRangeIdChange"],
149
155
  "from": ["onDateRangeIdChange"],
150
- "dateRangeOptions": ["onDateRangeOptionsChange"]
156
+ "dateRangeOptions": ["onDateRangeOptionsChange"],
157
+ "disabled": ["onDisabledChange"]
151
158
  }; }
152
159
  };
153
160
  DateDropdown.style = IxDateDropdownStyle0;
@@ -1 +1 @@
1
- {"file":"ix-date-dropdown.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,eAAe,GAAG,2+BAA2+B,CAAC;AACpgC,6BAAe,eAAe;;MC4CjB,YAAY;;;;QA2Hf,sBAAiB,GAAG,KAAK,CAAC;sBApHjB,YAAY;qBAKb,IAAI;;;;;2BAkCE,QAAQ;kCAqBD,IAAI;gCAegB,EAAE;8BAUO,WAAW;wBAKxB,MAAM;2BAKC,cAAc;qBAGlDA,gBAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE;;;;;IAvDtC,mBAAmB;QACjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE7C,IAAI,CAAC,YAAY,CAAC;YAChB,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI;YACjC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE;YAC7B,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE;SAC9B,CAAC,CAAC;KACJ;IAwBD,wBAAwB;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAsCD,iBAAiB;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC9C;;;;;IAOM,MAAM,YAAY;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;IAEO,UAAU;QAChB,MAAM,aAAa,GACjB,IAAI,CAAC,WAAW,KAAK,QAAQ;aAC5B,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElD,IAAI,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC5C,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;YACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,OAAO;SACR;QACD,MAAM,oBAAoB,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1D,IAAI,CAAC,oBAAoB,EAAE;YACzB,OAAO,CAAC,IAAI,CACV,wFAAwF,CACzF,CAAC;YAEF,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;YACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,OAAO;SACR;KACF;IAEO,iBAAiB;QACvB,IAAI,CAAC,iBAAiB,GAAG;YACvB,EAAE,EAAE,IAAI,CAAC,mBAAmB;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC;KACH;IAEO,YAAY,CAClB,UAAoD,EACpD,gBAAgB,GAAG,IAAI;QAEvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;KAChC;IAEO,iBAAiB,CAAC,EAAU;QAClC,IAAI,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC3C;KACF;IAEO,qBAAqB,CAAC,EAAU;QACtC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtE,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;SACjC;QAED,OAAO,MAAM,CAAC;KACf;IAEO,aAAa;QACnB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;KACvE;IAEO,cAAc;;QACpB,IAAI,IAAI,CAAC,mBAAmB,KAAK,QAAQ,KAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,IAAI,CAAA,EAAE;YACzE,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAExC,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE;gBAC7B,KAAK,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;aAC5C;YAED,OAAO,KAAK,CAAC;SACd;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,MAAK,CAAC,EAAE;YACjE,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACvC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CACnD,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,KAAK,CACX,oCAAoC,IAAI,CAAC,mBAAmB,EAAE,CAC/D,CAAC;YACF,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;KACrB;IAED,MAAM;;QACJ,QACEC,QAACC,UAAI,uDACHD,4GAEE,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,SAAS,EACd,GAAG,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAEpC,IAAI,CAAC,cAAc,EAAE,CACZ,EACZA,sGAEE,KAAK,EAAC,sBAAsB,EAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,oBACT,SAAS,EACxB,SAAS,EAAC,cAAc,EACxB,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC9B,IACE,CAAC,IAAI;oBACL,IAAI,CAAC,mBAAmB,KAAK,QAAQ;oBACrC,IAAI,CAAC,iBAAiB,EACtB;oBACA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;iBAC3C;aACF,IAEDA,0FAA0B,MAAM,IAC9BA,uEACG,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,IAAG,CAAC,KAChCA,oBACE,KAAK,EAAE;gBACL,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,IAAI,CAAC,mBAAmB,KAAK,QAAQ;aACtD,IAEA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,MACzCA,8BACE,KAAK,EAAE,eAAe,CAAC,KAAK,EAC5B,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC,EACzD,OAAO,EAAE,IAAI,CAAC,mBAAmB,KAAK,eAAe,CAAC,EAAE,GACtC,CACrB,CAAC,EACFA,iBAAK,MAAM,EAAE,CAAC,IAAI,CAAC,kBAAkB,IACnCA,8BACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,OAAO,EAAE,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAC9C,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAC7B,CAChB,CACC,CACV,EACDA,qEAAQ,KAAK,EAAC,WAAW,IACtB,IAAI,CAAC,mBAAmB,KAAK,QAAQ,KACpCA,QAACE,cAAQ,QACPF,4BACE,oBAAoB,EAAE,KAAK,EAC3B,YAAY,EAAE,CAAC,CAAC;gBACd,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,iBAAiB,mCACjB,CAAC,CAAC,MAAM,KACX,EAAE,EAAE,QAAQ,GACb,CAAC;gBACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B,EACD,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EAC7C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,KAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,IAAI,CAAA,EAC/C,EAAE,EAAE,IAAI,CAAC,EAAE,KAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,EAAE,CAAA,EACzC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,GACD,EAClBA,iBAAK,KAAK,EAAC,YAAY,IACrBA,uBACE,OAAO,EAAE;gBACP,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAC3C,IAEA,IAAI,CAAC,QAAQ,CACJ,CACR,CACG,CACZ,CACM,CACF,CACM,CACL,CACT,EACP;KACH;;;;;;;;;;;;;","names":["DateTime","h","Host","Fragment"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: $tiny-space $default-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\n\nexport type DateDropdownOption = {\n id: string;\n label: string;\n from: string;\n to: string;\n};\n\nexport type DateRangeChangeEvent = {\n id: string;\n from: string;\n to: string;\n};\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown {\n @Element() hostElement: HTMLIxDateDropdownElement;\n\n /**\n * Date format string.\n * See @link https://moment.github.io/luxon/#/formatting?id=table-of-tokens for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true a range of dates can be selected.\n */\n @Prop() range = true;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from: string;\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to: string;\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate: string;\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.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.cjs.js","mappings":"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","names":["DateTime","h","Host","Fragment"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: $tiny-space $default-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\n\nexport type DateDropdownOption = {\n id: string;\n label: string;\n from: string;\n to: string;\n};\n\nexport type DateRangeChangeEvent = {\n id: string;\n from: string;\n to: string;\n};\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown {\n @Element() hostElement: HTMLIxDateDropdownElement;\n\n /**\n * 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}
@@ -61,11 +61,24 @@ class DropdownController {
61
61
  delete this.submenuIds[dropdown.getId()];
62
62
  }
63
63
  }
64
- dismissAll(ignoreBehaviorForIds = []) {
64
+ dismissAll(ignoreBehaviorForIds = [], ignoreRelatedDropdowns = false) {
65
65
  this.dropdowns.forEach((dropdown) => {
66
- if (!ignoreBehaviorForIds.includes(dropdown.getId()) &&
67
- (dropdown.closeBehavior === 'inside' ||
68
- dropdown.closeBehavior === false)) {
66
+ const preventClosing = dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;
67
+ const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());
68
+ const path = this.buildComposedPath(dropdown.getId(), new Set());
69
+ if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {
70
+ let skipRelatedDropdown = false;
71
+ ignoreBehaviorForIds.forEach((id) => {
72
+ if (path.has(id)) {
73
+ skipRelatedDropdown = true;
74
+ return;
75
+ }
76
+ });
77
+ if (!skipRelatedDropdown) {
78
+ return;
79
+ }
80
+ }
81
+ if (!shouldIgnore && preventClosing) {
69
82
  return;
70
83
  }
71
84
  this.dismiss(dropdown);
@@ -85,11 +98,11 @@ class DropdownController {
85
98
  for (let eventTarget of eventTargets) {
86
99
  if (eventTarget instanceof HTMLElement) {
87
100
  if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {
88
- return true;
101
+ return eventTarget;
89
102
  }
90
103
  }
91
104
  }
92
- return false;
105
+ return;
93
106
  }
94
107
  pathIncludesDropdown(eventTargets) {
95
108
  return !!eventTargets.find((element) => element.tagName === 'IX-DROPDOWN');
@@ -155,6 +168,7 @@ const Dropdown = class {
155
168
  this.offset = undefined;
156
169
  this.overwriteDropdownStyle = undefined;
157
170
  this.discoverAllSubmenus = false;
171
+ this.ignoreRelatedSubmenu = false;
158
172
  }
159
173
  connectedCallback() {
160
174
  dropdownController.connected(this);
@@ -237,7 +251,7 @@ const Dropdown = class {
237
251
  var _a;
238
252
  (_a = this.triggerElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent('ix-assign-sub-menu', {
239
253
  bubbles: true,
240
- composed: false,
254
+ composed: true,
241
255
  cancelable: true,
242
256
  detail: this.localUId,
243
257
  }));
@@ -417,14 +431,16 @@ const Dropdown = class {
417
431
  return trigger;
418
432
  }
419
433
  onDropdownClick(event) {
420
- if (dropdownController.pathIncludesTrigger(event.composedPath())) {
434
+ const target = dropdownController.pathIncludesTrigger(event.composedPath());
435
+ if (target) {
421
436
  event.preventDefault();
422
- if (this.isTriggerElement(event.target)) {
437
+ if (this.isTriggerElement(target)) {
423
438
  return;
424
439
  }
425
440
  }
426
441
  if (this.closeBehavior === 'inside' || this.closeBehavior === 'both') {
427
- dropdownController.dismissAll([this.getId()]);
442
+ dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);
443
+ return;
428
444
  }
429
445
  dropdownController.dismissOthers(this.getId());
430
446
  }
@@ -435,7 +451,7 @@ const Dropdown = class {
435
451
  this.applyDropdownPosition();
436
452
  }
437
453
  render() {
438
- return (index.h(index.Host, { key: 'afb0bd3099fd4e5363c4b48f9a718d6b58a29570', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
454
+ return (index.h(index.Host, { key: 'd235024aac5f2ef9d849b6ec73b2cfe69d4bf902', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
439
455
  'dropdown-menu': true,
440
456
  show: this.show,
441
457
  overflow: true,
@@ -443,7 +459,7 @@ const Dropdown = class {
443
459
  margin: '0',
444
460
  minWidth: '0px',
445
461
  position: this.positioningStrategy,
446
- }, role: "list", onClick: (event) => this.onDropdownClick(event) }, index.h("div", { key: '19fd27ae702d808e76cf7484c2bca3a7cab38b53', style: { display: 'contents' } }, this.header && index.h("div", { class: "dropdown-header" }, this.header), index.h("slot", { key: 'cfaf1630739aba4c96fabf38a7d59780ba7b7a7c' }))));
462
+ }, role: "list", onClick: (event) => this.onDropdownClick(event) }, index.h("div", { key: '9502d259b770f3badcc56d3132d8c02b00cca30a', style: { display: 'contents' } }, this.header && index.h("div", { class: "dropdown-header" }, this.header), index.h("slot", { key: '73be2831a06b820a4284a44ed0d128ddffca38a2' }))));
447
463
  }
448
464
  get hostElement() { return index.getElement(this); }
449
465
  static get watchers() { return {