@siemens/ix 0.0.0-pr-1974-20250627114851 → 0.0.0-pr-1974-20250627142646

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 (642) hide show
  1. package/components/custom-elements.d.ts +11 -0
  2. package/components/index.d.ts +33 -0
  3. package/components/index.js +122 -0
  4. package/components/index.js.map +1 -0
  5. package/components/ix-action-card.d.ts +11 -0
  6. package/components/ix-action-card.js +72 -0
  7. package/components/ix-action-card.js.map +1 -0
  8. package/components/ix-application-header.d.ts +11 -0
  9. package/components/ix-application-header.js +9 -0
  10. package/components/ix-application-header.js.map +1 -0
  11. package/components/ix-application-sidebar.d.ts +11 -0
  12. package/components/ix-application-sidebar.js +64 -0
  13. package/components/ix-application-sidebar.js.map +1 -0
  14. package/components/ix-application-switch-modal.d.ts +11 -0
  15. package/components/ix-application-switch-modal.js +106 -0
  16. package/components/ix-application-switch-modal.js.map +1 -0
  17. package/components/ix-application.d.ts +11 -0
  18. package/components/ix-application.js +148 -0
  19. package/components/ix-application.js.map +1 -0
  20. package/components/ix-avatar.d.ts +11 -0
  21. package/components/ix-avatar.js +9 -0
  22. package/components/ix-avatar.js.map +1 -0
  23. package/components/ix-basic-navigation.d.ts +11 -0
  24. package/components/ix-basic-navigation.js +154 -0
  25. package/components/ix-basic-navigation.js.map +1 -0
  26. package/components/ix-blind.d.ts +11 -0
  27. package/components/ix-blind.js +130 -0
  28. package/components/ix-blind.js.map +1 -0
  29. package/components/ix-breadcrumb-item.d.ts +11 -0
  30. package/components/ix-breadcrumb-item.js +9 -0
  31. package/components/ix-breadcrumb-item.js.map +1 -0
  32. package/components/ix-breadcrumb.d.ts +11 -0
  33. package/components/ix-breadcrumb.js +169 -0
  34. package/components/ix-breadcrumb.js.map +1 -0
  35. package/components/ix-button.d.ts +11 -0
  36. package/components/ix-button.js +9 -0
  37. package/components/ix-button.js.map +1 -0
  38. package/components/ix-card-accordion.d.ts +11 -0
  39. package/components/ix-card-accordion.js +9 -0
  40. package/components/ix-card-accordion.js.map +1 -0
  41. package/components/ix-card-content.d.ts +11 -0
  42. package/components/ix-card-content.js +9 -0
  43. package/components/ix-card-content.js.map +1 -0
  44. package/components/ix-card-list.d.ts +11 -0
  45. package/components/ix-card-list.js +256 -0
  46. package/components/ix-card-list.js.map +1 -0
  47. package/components/ix-card-title.d.ts +11 -0
  48. package/components/ix-card-title.js +9 -0
  49. package/components/ix-card-title.js.map +1 -0
  50. package/components/ix-card.d.ts +11 -0
  51. package/components/ix-card.js +9 -0
  52. package/components/ix-card.js.map +1 -0
  53. package/components/ix-category-filter.d.ts +11 -0
  54. package/components/ix-category-filter.js +600 -0
  55. package/components/ix-category-filter.js.map +1 -0
  56. package/components/ix-checkbox-group.d.ts +11 -0
  57. package/components/ix-checkbox-group.js +158 -0
  58. package/components/ix-checkbox-group.js.map +1 -0
  59. package/components/ix-checkbox.d.ts +11 -0
  60. package/components/ix-checkbox.js +163 -0
  61. package/components/ix-checkbox.js.map +1 -0
  62. package/components/ix-chip.d.ts +11 -0
  63. package/components/ix-chip.js +154 -0
  64. package/components/ix-chip.js.map +1 -0
  65. package/components/ix-col.d.ts +11 -0
  66. package/components/ix-col.js +9 -0
  67. package/components/ix-col.js.map +1 -0
  68. package/components/ix-content-header.d.ts +11 -0
  69. package/components/ix-content-header.js +73 -0
  70. package/components/ix-content-header.js.map +1 -0
  71. package/components/ix-content.d.ts +11 -0
  72. package/components/ix-content.js +49 -0
  73. package/components/ix-content.js.map +1 -0
  74. package/components/ix-css-grid-item.d.ts +11 -0
  75. package/components/ix-css-grid-item.js +40 -0
  76. package/components/ix-css-grid-item.js.map +1 -0
  77. package/components/ix-css-grid.d.ts +11 -0
  78. package/components/ix-css-grid.js +117 -0
  79. package/components/ix-css-grid.js.map +1 -0
  80. package/components/ix-custom-field.d.ts +11 -0
  81. package/components/ix-custom-field.js +112 -0
  82. package/components/ix-custom-field.js.map +1 -0
  83. package/components/ix-date-dropdown.d.ts +11 -0
  84. package/components/ix-date-dropdown.js +368 -0
  85. package/components/ix-date-dropdown.js.map +1 -0
  86. package/components/ix-date-input.d.ts +11 -0
  87. package/components/ix-date-input.js +393 -0
  88. package/components/ix-date-input.js.map +1 -0
  89. package/components/ix-date-picker.d.ts +11 -0
  90. package/components/ix-date-picker.js +9 -0
  91. package/components/ix-date-picker.js.map +1 -0
  92. package/components/ix-date-time-card.d.ts +11 -0
  93. package/components/ix-date-time-card.js +9 -0
  94. package/components/ix-date-time-card.js.map +1 -0
  95. package/components/ix-datetime-picker.d.ts +11 -0
  96. package/components/ix-datetime-picker.js +204 -0
  97. package/components/ix-datetime-picker.js.map +1 -0
  98. package/components/ix-divider.d.ts +11 -0
  99. package/components/ix-divider.js +9 -0
  100. package/components/ix-divider.js.map +1 -0
  101. package/components/ix-drawer.d.ts +11 -0
  102. package/components/ix-drawer.js +200 -0
  103. package/components/ix-drawer.js.map +1 -0
  104. package/components/ix-dropdown-button.d.ts +11 -0
  105. package/components/ix-dropdown-button.js +106 -0
  106. package/components/ix-dropdown-button.js.map +1 -0
  107. package/components/ix-dropdown-header.d.ts +11 -0
  108. package/components/ix-dropdown-header.js +44 -0
  109. package/components/ix-dropdown-header.js.map +1 -0
  110. package/components/ix-dropdown-item.d.ts +11 -0
  111. package/components/ix-dropdown-item.js +9 -0
  112. package/components/ix-dropdown-item.js.map +1 -0
  113. package/components/ix-dropdown-quick-actions.d.ts +11 -0
  114. package/components/ix-dropdown-quick-actions.js +36 -0
  115. package/components/ix-dropdown-quick-actions.js.map +1 -0
  116. package/components/ix-dropdown.d.ts +11 -0
  117. package/components/ix-dropdown.js +9 -0
  118. package/components/ix-dropdown.js.map +1 -0
  119. package/components/ix-empty-state.d.ts +11 -0
  120. package/components/ix-empty-state.js +65 -0
  121. package/components/ix-empty-state.js.map +1 -0
  122. package/components/ix-event-list-item.d.ts +11 -0
  123. package/components/ix-event-list-item.js +72 -0
  124. package/components/ix-event-list-item.js.map +1 -0
  125. package/components/ix-event-list.d.ts +11 -0
  126. package/components/ix-event-list.js +173 -0
  127. package/components/ix-event-list.js.map +1 -0
  128. package/components/ix-expanding-search.d.ts +11 -0
  129. package/components/ix-expanding-search.js +145 -0
  130. package/components/ix-expanding-search.js.map +1 -0
  131. package/components/ix-field-label.d.ts +11 -0
  132. package/components/ix-field-label.js +9 -0
  133. package/components/ix-field-label.js.map +1 -0
  134. package/components/ix-field-wrapper.d.ts +11 -0
  135. package/components/ix-field-wrapper.js +9 -0
  136. package/components/ix-field-wrapper.js.map +1 -0
  137. package/components/ix-filter-chip.d.ts +11 -0
  138. package/components/ix-filter-chip.js +9 -0
  139. package/components/ix-filter-chip.js.map +1 -0
  140. package/components/ix-flip-tile-content.d.ts +11 -0
  141. package/components/ix-flip-tile-content.js +44 -0
  142. package/components/ix-flip-tile-content.js.map +1 -0
  143. package/components/ix-flip-tile.d.ts +11 -0
  144. package/components/ix-flip-tile.js +153 -0
  145. package/components/ix-flip-tile.js.map +1 -0
  146. package/components/ix-group-context-menu.d.ts +11 -0
  147. package/components/ix-group-context-menu.js +9 -0
  148. package/components/ix-group-context-menu.js.map +1 -0
  149. package/components/ix-group-item.d.ts +11 -0
  150. package/components/ix-group-item.js +9 -0
  151. package/components/ix-group-item.js.map +1 -0
  152. package/components/ix-group.d.ts +11 -0
  153. package/components/ix-group.js +221 -0
  154. package/components/ix-group.js.map +1 -0
  155. package/components/ix-helper-text.d.ts +11 -0
  156. package/components/ix-helper-text.js +95 -0
  157. package/components/ix-helper-text.js.map +1 -0
  158. package/components/ix-icon-button.d.ts +11 -0
  159. package/components/ix-icon-button.js +9 -0
  160. package/components/ix-icon-button.js.map +1 -0
  161. package/components/ix-icon-toggle-button.d.ts +11 -0
  162. package/components/ix-icon-toggle-button.js +149 -0
  163. package/components/ix-icon-toggle-button.js.map +1 -0
  164. package/components/ix-input-group.d.ts +11 -0
  165. package/components/ix-input-group.js +152 -0
  166. package/components/ix-input-group.js.map +1 -0
  167. package/components/ix-input.d.ts +11 -0
  168. package/components/ix-input.js +248 -0
  169. package/components/ix-input.js.map +1 -0
  170. package/components/ix-key-value-list.d.ts +11 -0
  171. package/components/ix-key-value-list.js +42 -0
  172. package/components/ix-key-value-list.js.map +1 -0
  173. package/components/ix-key-value.d.ts +11 -0
  174. package/components/ix-key-value.js +48 -0
  175. package/components/ix-key-value.js.map +1 -0
  176. package/components/ix-kpi.d.ts +11 -0
  177. package/components/ix-kpi.js +74 -0
  178. package/components/ix-kpi.js.map +1 -0
  179. package/components/ix-layout-auto.d.ts +11 -0
  180. package/components/ix-layout-auto.js +113 -0
  181. package/components/ix-layout-auto.js.map +1 -0
  182. package/components/ix-layout-grid.d.ts +11 -0
  183. package/components/ix-layout-grid.js +9 -0
  184. package/components/ix-layout-grid.js.map +1 -0
  185. package/components/ix-link-button.d.ts +11 -0
  186. package/components/ix-link-button.js +57 -0
  187. package/components/ix-link-button.js.map +1 -0
  188. package/components/ix-map-navigation-overlay.d.ts +11 -0
  189. package/components/ix-map-navigation-overlay.js +9 -0
  190. package/components/ix-map-navigation-overlay.js.map +1 -0
  191. package/components/ix-map-navigation.d.ts +11 -0
  192. package/components/ix-map-navigation.js +240 -0
  193. package/components/ix-map-navigation.js.map +1 -0
  194. package/components/ix-menu-about-item.d.ts +11 -0
  195. package/components/ix-menu-about-item.js +51 -0
  196. package/components/ix-menu-about-item.js.map +1 -0
  197. package/components/ix-menu-about-news.d.ts +11 -0
  198. package/components/ix-menu-about-news.js +93 -0
  199. package/components/ix-menu-about-news.js.map +1 -0
  200. package/components/ix-menu-about.d.ts +11 -0
  201. package/components/ix-menu-about.js +89 -0
  202. package/components/ix-menu-about.js.map +1 -0
  203. package/components/ix-menu-avatar-item.d.ts +11 -0
  204. package/components/ix-menu-avatar-item.js +9 -0
  205. package/components/ix-menu-avatar-item.js.map +1 -0
  206. package/components/ix-menu-avatar.d.ts +11 -0
  207. package/components/ix-menu-avatar.js +115 -0
  208. package/components/ix-menu-avatar.js.map +1 -0
  209. package/components/ix-menu-category.d.ts +11 -0
  210. package/components/ix-menu-category.js +284 -0
  211. package/components/ix-menu-category.js.map +1 -0
  212. package/components/ix-menu-expand-icon.d.ts +11 -0
  213. package/components/ix-menu-expand-icon.js +9 -0
  214. package/components/ix-menu-expand-icon.js.map +1 -0
  215. package/components/ix-menu-item.d.ts +11 -0
  216. package/components/ix-menu-item.js +9 -0
  217. package/components/ix-menu-item.js.map +1 -0
  218. package/components/ix-menu-settings-item.d.ts +11 -0
  219. package/components/ix-menu-settings-item.js +51 -0
  220. package/components/ix-menu-settings-item.js.map +1 -0
  221. package/components/ix-menu-settings.d.ts +11 -0
  222. package/components/ix-menu-settings.js +9 -0
  223. package/components/ix-menu-settings.js.map +1 -0
  224. package/components/ix-menu.d.ts +11 -0
  225. package/components/ix-menu.js +590 -0
  226. package/components/ix-menu.js.map +1 -0
  227. package/components/ix-message-bar.d.ts +11 -0
  228. package/components/ix-message-bar.js +103 -0
  229. package/components/ix-message-bar.js.map +1 -0
  230. package/components/ix-modal-content.d.ts +11 -0
  231. package/components/ix-modal-content.js +9 -0
  232. package/components/ix-modal-content.js.map +1 -0
  233. package/components/ix-modal-footer.d.ts +11 -0
  234. package/components/ix-modal-footer.js +36 -0
  235. package/components/ix-modal-footer.js.map +1 -0
  236. package/components/ix-modal-header.d.ts +11 -0
  237. package/components/ix-modal-header.js +9 -0
  238. package/components/ix-modal-header.js.map +1 -0
  239. package/components/ix-modal-loading.d.ts +11 -0
  240. package/components/ix-modal-loading.js +42 -0
  241. package/components/ix-modal-loading.js.map +1 -0
  242. package/components/ix-modal.d.ts +11 -0
  243. package/components/ix-modal.js +241 -0
  244. package/components/ix-modal.js.map +1 -0
  245. package/components/ix-number-input.d.ts +11 -0
  246. package/components/ix-number-input.js +241 -0
  247. package/components/ix-number-input.js.map +1 -0
  248. package/components/ix-pagination.d.ts +11 -0
  249. package/components/ix-pagination.js +261 -0
  250. package/components/ix-pagination.js.map +1 -0
  251. package/components/ix-pane-layout.d.ts +11 -0
  252. package/components/ix-pane-layout.js +311 -0
  253. package/components/ix-pane-layout.js.map +1 -0
  254. package/components/ix-pane.d.ts +11 -0
  255. package/components/ix-pane.js +568 -0
  256. package/components/ix-pane.js.map +1 -0
  257. package/components/ix-pill.d.ts +11 -0
  258. package/components/ix-pill.js +127 -0
  259. package/components/ix-pill.js.map +1 -0
  260. package/components/ix-progress-indicator.d.ts +11 -0
  261. package/components/ix-progress-indicator.js +193 -0
  262. package/components/ix-progress-indicator.js.map +1 -0
  263. package/components/ix-push-card.d.ts +11 -0
  264. package/components/ix-push-card.js +82 -0
  265. package/components/ix-push-card.js.map +1 -0
  266. package/components/ix-radio-group.d.ts +11 -0
  267. package/components/ix-radio-group.js +195 -0
  268. package/components/ix-radio-group.js.map +1 -0
  269. package/components/ix-radio.d.ts +11 -0
  270. package/components/ix-radio.js +145 -0
  271. package/components/ix-radio.js.map +1 -0
  272. package/components/ix-row.d.ts +11 -0
  273. package/components/ix-row.js +9 -0
  274. package/components/ix-row.js.map +1 -0
  275. package/components/ix-select-item.d.ts +11 -0
  276. package/components/ix-select-item.js +9 -0
  277. package/components/ix-select-item.js.map +1 -0
  278. package/components/ix-select.d.ts +11 -0
  279. package/components/ix-select.js +9 -0
  280. package/components/ix-select.js.map +1 -0
  281. package/components/ix-slider.d.ts +11 -0
  282. package/components/ix-slider.js +255 -0
  283. package/components/ix-slider.js.map +1 -0
  284. package/components/ix-spinner.d.ts +11 -0
  285. package/components/ix-spinner.js +9 -0
  286. package/components/ix-spinner.js.map +1 -0
  287. package/components/ix-split-button.d.ts +11 -0
  288. package/components/ix-split-button.js +117 -0
  289. package/components/ix-split-button.js.map +1 -0
  290. package/components/ix-tab-item.d.ts +11 -0
  291. package/components/ix-tab-item.js +9 -0
  292. package/components/ix-tab-item.js.map +1 -0
  293. package/components/ix-tabs.d.ts +11 -0
  294. package/components/ix-tabs.js +9 -0
  295. package/components/ix-tabs.js.map +1 -0
  296. package/components/ix-textarea.d.ts +11 -0
  297. package/components/ix-textarea.js +192 -0
  298. package/components/ix-textarea.js.map +1 -0
  299. package/components/ix-tile.d.ts +11 -0
  300. package/components/ix-tile.js +63 -0
  301. package/components/ix-tile.js.map +1 -0
  302. package/components/ix-time-input.d.ts +11 -0
  303. package/components/ix-time-input.js +442 -0
  304. package/components/ix-time-input.js.map +1 -0
  305. package/components/ix-time-picker.d.ts +11 -0
  306. package/components/ix-time-picker.js +9 -0
  307. package/components/ix-time-picker.js.map +1 -0
  308. package/components/ix-toast-container.d.ts +11 -0
  309. package/components/ix-toast-container.js +143 -0
  310. package/components/ix-toast-container.js.map +1 -0
  311. package/components/ix-toast.d.ts +11 -0
  312. package/components/ix-toast.js +9 -0
  313. package/components/ix-toast.js.map +1 -0
  314. package/components/ix-toggle-button.d.ts +11 -0
  315. package/components/ix-toggle-button.js +128 -0
  316. package/components/ix-toggle-button.js.map +1 -0
  317. package/components/ix-toggle.d.ts +11 -0
  318. package/components/ix-toggle.js +188 -0
  319. package/components/ix-toggle.js.map +1 -0
  320. package/components/ix-tooltip.d.ts +11 -0
  321. package/components/ix-tooltip.js +9 -0
  322. package/components/ix-tooltip.js.map +1 -0
  323. package/components/ix-tree-item.d.ts +11 -0
  324. package/components/ix-tree-item.js +9 -0
  325. package/components/ix-tree-item.js.map +1 -0
  326. package/components/ix-tree.d.ts +11 -0
  327. package/components/ix-tree.js +610 -0
  328. package/components/ix-tree.js.map +1 -0
  329. package/components/ix-typography.d.ts +11 -0
  330. package/components/ix-typography.js +9 -0
  331. package/components/ix-typography.js.map +1 -0
  332. package/components/ix-upload.d.ts +11 -0
  333. package/components/ix-upload.js +234 -0
  334. package/components/ix-upload.js.map +1 -0
  335. package/components/ix-validation-tooltip.d.ts +11 -0
  336. package/components/ix-validation-tooltip.js +182 -0
  337. package/components/ix-validation-tooltip.js.map +1 -0
  338. package/components/ix-workflow-step.d.ts +11 -0
  339. package/components/ix-workflow-step.js +147 -0
  340. package/components/ix-workflow-step.js.map +1 -0
  341. package/components/ix-workflow-steps.d.ts +11 -0
  342. package/components/ix-workflow-steps.js +112 -0
  343. package/components/ix-workflow-steps.js.map +1 -0
  344. package/components/p--2LOMK-5.js +105 -0
  345. package/components/p--2LOMK-5.js.map +1 -0
  346. package/components/p-5uA5ifmT.js +72 -0
  347. package/components/p-5uA5ifmT.js.map +1 -0
  348. package/components/p-9dLpp1OQ.js +71 -0
  349. package/components/p-9dLpp1OQ.js.map +1 -0
  350. package/components/p-B1Gzt08S.js +51 -0
  351. package/components/p-B1Gzt08S.js.map +1 -0
  352. package/components/p-B3duqvjW.js +33 -0
  353. package/components/p-B3duqvjW.js.map +1 -0
  354. package/components/p-B6e7P4xT.js +42 -0
  355. package/components/p-B6e7P4xT.js.map +1 -0
  356. package/components/p-BGzrnl_l.js +21 -0
  357. package/components/p-BGzrnl_l.js.map +1 -0
  358. package/components/p-BH3f5fa3.js +37 -0
  359. package/components/p-BH3f5fa3.js.map +1 -0
  360. package/components/p-BJcX2_-N.js +110 -0
  361. package/components/p-BJcX2_-N.js.map +1 -0
  362. package/components/p-BMU8AlMD.js +107 -0
  363. package/components/p-BMU8AlMD.js.map +1 -0
  364. package/components/p-BNu7ac9R.js +79 -0
  365. package/components/p-BNu7ac9R.js.map +1 -0
  366. package/components/p-BP-8cvOJ.js +90 -0
  367. package/components/p-BP-8cvOJ.js.map +1 -0
  368. package/components/p-BQ6999e5.js +22 -0
  369. package/components/p-BQ6999e5.js.map +1 -0
  370. package/components/p-BXjBChze.js +130 -0
  371. package/components/p-BXjBChze.js.map +1 -0
  372. package/components/p-Bb7pDeaQ.js +144 -0
  373. package/components/p-Bb7pDeaQ.js.map +1 -0
  374. package/components/p-BcGAKMQ_.js +76 -0
  375. package/components/p-BcGAKMQ_.js.map +1 -0
  376. package/components/p-BdCnOrqW.js +47 -0
  377. package/components/p-BdCnOrqW.js.map +1 -0
  378. package/components/p-BedSAVZh.js +90 -0
  379. package/components/p-BedSAVZh.js.map +1 -0
  380. package/components/p-BhLbU_vK.js +129 -0
  381. package/components/p-BhLbU_vK.js.map +1 -0
  382. package/components/p-Bi1VyG64.js +46 -0
  383. package/components/p-Bi1VyG64.js.map +1 -0
  384. package/components/p-BkWbk29R.js +75 -0
  385. package/components/p-BkWbk29R.js.map +1 -0
  386. package/components/p-BmmgJGNd.js +64 -0
  387. package/components/p-BmmgJGNd.js.map +1 -0
  388. package/components/p-Bu-j8wxy.js +162 -0
  389. package/components/p-Bu-j8wxy.js.map +1 -0
  390. package/components/p-BuJ6BWIi.js +2042 -0
  391. package/components/p-BuJ6BWIi.js.map +1 -0
  392. package/components/p-Bvsx56zn.js +203 -0
  393. package/components/p-Bvsx56zn.js.map +1 -0
  394. package/components/p-BygLxZIM.js +54 -0
  395. package/components/p-BygLxZIM.js.map +1 -0
  396. package/components/p-Bzyt4nTL.js +110 -0
  397. package/components/p-Bzyt4nTL.js.map +1 -0
  398. package/components/p-C6o-AByw.js +33 -0
  399. package/components/p-C6o-AByw.js.map +1 -0
  400. package/components/p-CAqtPJ4-.js +1786 -0
  401. package/components/p-CAqtPJ4-.js.map +1 -0
  402. package/components/p-CGwHQeMX.js +54 -0
  403. package/components/p-CGwHQeMX.js.map +1 -0
  404. package/components/p-CKkTXQiw.js +164 -0
  405. package/components/p-CKkTXQiw.js.map +1 -0
  406. package/components/p-CX81WQtk.js +14 -0
  407. package/components/p-CX81WQtk.js.map +1 -0
  408. package/components/p-Cb-eBcUF.js +61 -0
  409. package/components/p-Cb-eBcUF.js.map +1 -0
  410. package/components/p-Cp5J1RZq.js +765 -0
  411. package/components/p-Cp5J1RZq.js.map +1 -0
  412. package/components/p-Cpxz1Kcs.js +19 -0
  413. package/components/p-Cpxz1Kcs.js.map +1 -0
  414. package/components/p-Cs8DEpjh.js +611 -0
  415. package/components/p-Cs8DEpjh.js.map +1 -0
  416. package/components/p-Cut5OrRw.js +461 -0
  417. package/components/p-Cut5OrRw.js.map +1 -0
  418. package/components/p-CvvOe8xV.js +151 -0
  419. package/components/p-CvvOe8xV.js.map +1 -0
  420. package/components/p-CyFFBc_G.js +100 -0
  421. package/components/p-CyFFBc_G.js.map +1 -0
  422. package/components/p-D3Aowo70.js +113 -0
  423. package/components/p-D3Aowo70.js.map +1 -0
  424. package/components/p-D3K9vmFp.js +157 -0
  425. package/components/p-D3K9vmFp.js.map +1 -0
  426. package/components/p-D6vSVaHq.js +26 -0
  427. package/components/p-D6vSVaHq.js.map +1 -0
  428. package/components/p-D9LaIICQ.js +118 -0
  429. package/components/p-D9LaIICQ.js.map +1 -0
  430. package/components/p-DCx3-1oU.js +310 -0
  431. package/components/p-DCx3-1oU.js.map +1 -0
  432. package/components/p-DDHkNPby.js +79 -0
  433. package/components/p-DDHkNPby.js.map +1 -0
  434. package/components/p-DJ7U7oUq.js +89 -0
  435. package/components/p-DJ7U7oUq.js.map +1 -0
  436. package/components/p-DMlmNp-B.js +33 -0
  437. package/components/p-DMlmNp-B.js.map +1 -0
  438. package/components/p-DWO4uklL.js +146 -0
  439. package/components/p-DWO4uklL.js.map +1 -0
  440. package/components/p-DaztMgDr.js +757 -0
  441. package/components/p-DaztMgDr.js.map +1 -0
  442. package/components/p-DbR-LZrk.js +33 -0
  443. package/components/p-DbR-LZrk.js.map +1 -0
  444. package/components/p-DfbCO042.js +207 -0
  445. package/components/p-DfbCO042.js.map +1 -0
  446. package/components/p-DkGdSI6e.js +103 -0
  447. package/components/p-DkGdSI6e.js.map +1 -0
  448. package/components/p-DojBQCbP.js +55 -0
  449. package/components/p-DojBQCbP.js.map +1 -0
  450. package/components/p-Dp15M30K.js +20 -0
  451. package/components/p-Dp15M30K.js.map +1 -0
  452. package/components/p-Dp4RJcgZ.js +125 -0
  453. package/components/p-Dp4RJcgZ.js.map +1 -0
  454. package/components/p-DyHdZRT0.js +359 -0
  455. package/components/p-DyHdZRT0.js.map +1 -0
  456. package/components/p-DyMgW0fR.js +65 -0
  457. package/components/p-DyMgW0fR.js.map +1 -0
  458. package/components/p-G0biE2Kx.js +33 -0
  459. package/components/p-G0biE2Kx.js.map +1 -0
  460. package/components/p-JJddxCCh.js +42 -0
  461. package/components/p-JJddxCCh.js.map +1 -0
  462. package/components/p-Ooq8eqJM.js +33 -0
  463. package/components/p-Ooq8eqJM.js.map +1 -0
  464. package/components/p-Ou74PMQs.js +1313 -0
  465. package/components/p-Ou74PMQs.js.map +1 -0
  466. package/components/p-PxA_udyJ.js +254 -0
  467. package/components/p-PxA_udyJ.js.map +1 -0
  468. package/components/p-TNoCM8Wi.js +83 -0
  469. package/components/p-TNoCM8Wi.js.map +1 -0
  470. package/components/p-UQa1aROL.js +23 -0
  471. package/components/p-UQa1aROL.js.map +1 -0
  472. package/components/p-bDicGJUN.js +7697 -0
  473. package/components/p-bDicGJUN.js.map +1 -0
  474. package/components/p-bcj7UEIC.js +24 -0
  475. package/components/p-bcj7UEIC.js.map +1 -0
  476. package/components/p-kY0vP3rC.js +122 -0
  477. package/components/p-kY0vP3rC.js.map +1 -0
  478. package/components/p-qauH9Ci4.js +54 -0
  479. package/components/p-qauH9Ci4.js.map +1 -0
  480. package/components/p-r63hglsv.js +90 -0
  481. package/components/p-r63hglsv.js.map +1 -0
  482. package/components/p-tH4n038Z.js +48 -0
  483. package/components/p-tH4n038Z.js.map +1 -0
  484. package/components/package.json +9 -0
  485. package/package.json +3 -2
  486. package/dist/collection/components/application-header/test/application-header.ct.js +0 -389
  487. package/dist/collection/components/application-header/test/application-header.ct.js.map +0 -1
  488. package/dist/collection/components/avatar/test/avatar.ct.js +0 -85
  489. package/dist/collection/components/avatar/test/avatar.ct.js.map +0 -1
  490. package/dist/collection/components/blind/test/blind.ct.js +0 -16
  491. package/dist/collection/components/blind/test/blind.ct.js.map +0 -1
  492. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js +0 -98
  493. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +0 -1
  494. package/dist/collection/components/button/test/button.ct.js +0 -153
  495. package/dist/collection/components/button/test/button.ct.js.map +0 -1
  496. package/dist/collection/components/category-filter/test/category-filter.ct.js +0 -62
  497. package/dist/collection/components/category-filter/test/category-filter.ct.js.map +0 -1
  498. package/dist/collection/components/checkbox/tests/checkbox.ct.js +0 -86
  499. package/dist/collection/components/checkbox/tests/checkbox.ct.js.map +0 -1
  500. package/dist/collection/components/checkbox-group/test/checkbox-group.ct.js +0 -48
  501. package/dist/collection/components/checkbox-group/test/checkbox-group.ct.js.map +0 -1
  502. package/dist/collection/components/chip/test/chip.ct.js +0 -76
  503. package/dist/collection/components/chip/test/chip.ct.js.map +0 -1
  504. package/dist/collection/components/custom-field/tests/custom-field.ct.js +0 -68
  505. package/dist/collection/components/custom-field/tests/custom-field.ct.js.map +0 -1
  506. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js +0 -215
  507. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +0 -1
  508. package/dist/collection/components/date-input/tests/date-input.ct.js +0 -117
  509. package/dist/collection/components/date-input/tests/date-input.ct.js.map +0 -1
  510. package/dist/collection/components/date-picker/test/date-picker.ct.js +0 -221
  511. package/dist/collection/components/date-picker/test/date-picker.ct.js.map +0 -1
  512. package/dist/collection/components/datetime-picker/test/datetime-picker.ct.js +0 -55
  513. package/dist/collection/components/datetime-picker/test/datetime-picker.ct.js.map +0 -1
  514. package/dist/collection/components/drawer/test/drawer.ct.js +0 -67
  515. package/dist/collection/components/drawer/test/drawer.ct.js.map +0 -1
  516. package/dist/collection/components/dropdown/test/dropdown.ct.js +0 -624
  517. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +0 -1
  518. package/dist/collection/components/dropdown-button/dropdown-button.ct.js +0 -51
  519. package/dist/collection/components/dropdown-button/dropdown-button.ct.js.map +0 -1
  520. package/dist/collection/components/event-list/test/event-list.ct.js +0 -88
  521. package/dist/collection/components/event-list/test/event-list.ct.js.map +0 -1
  522. package/dist/collection/components/expanding-search/test/expanding-search.ct.js +0 -56
  523. package/dist/collection/components/expanding-search/test/expanding-search.ct.js.map +0 -1
  524. package/dist/collection/components/field-label/tests/field-label.ct.js +0 -121
  525. package/dist/collection/components/field-label/tests/field-label.ct.js.map +0 -1
  526. package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js +0 -63
  527. package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js.map +0 -1
  528. package/dist/collection/components/flip-tile/test/flip-tile.ct.js +0 -89
  529. package/dist/collection/components/flip-tile/test/flip-tile.ct.js.map +0 -1
  530. package/dist/collection/components/group/test/group.ct.js +0 -115
  531. package/dist/collection/components/group/test/group.ct.js.map +0 -1
  532. package/dist/collection/components/icon-button/test/icon-button.ct.js +0 -30
  533. package/dist/collection/components/icon-button/test/icon-button.ct.js.map +0 -1
  534. package/dist/collection/components/input/tests/form-ready.ct.js +0 -73
  535. package/dist/collection/components/input/tests/form-ready.ct.js.map +0 -1
  536. package/dist/collection/components/input/tests/validation.ct.js +0 -84
  537. package/dist/collection/components/input/tests/validation.ct.js.map +0 -1
  538. package/dist/collection/components/input-group/tests/input-group.ct.js +0 -161
  539. package/dist/collection/components/input-group/tests/input-group.ct.js.map +0 -1
  540. package/dist/collection/components/menu/test/menu.ct.js +0 -256
  541. package/dist/collection/components/menu/test/menu.ct.js.map +0 -1
  542. package/dist/collection/components/menu-about/test/menu-about.ct.js +0 -65
  543. package/dist/collection/components/menu-about/test/menu-about.ct.js.map +0 -1
  544. package/dist/collection/components/menu-avatar-item/test/menu-avatar-item.ct.js +0 -47
  545. package/dist/collection/components/menu-avatar-item/test/menu-avatar-item.ct.js.map +0 -1
  546. package/dist/collection/components/menu-category/test/menu-category.ct.js +0 -274
  547. package/dist/collection/components/menu-category/test/menu-category.ct.js.map +0 -1
  548. package/dist/collection/components/menu-item/test/menu-item.ct.js +0 -67
  549. package/dist/collection/components/menu-item/test/menu-item.ct.js.map +0 -1
  550. package/dist/collection/components/menu-settings/test/menu-settings.ct.js +0 -32
  551. package/dist/collection/components/menu-settings/test/menu-settings.ct.js.map +0 -1
  552. package/dist/collection/components/message-bar/test/message-bar.ct.js +0 -28
  553. package/dist/collection/components/message-bar/test/message-bar.ct.js.map +0 -1
  554. package/dist/collection/components/modal/test/modal.ct.js +0 -204
  555. package/dist/collection/components/modal/test/modal.ct.js.map +0 -1
  556. package/dist/collection/components/pagination/test/pagination.ct.js +0 -68
  557. package/dist/collection/components/pagination/test/pagination.ct.js.map +0 -1
  558. package/dist/collection/components/pane/test/panes.ct.js +0 -59
  559. package/dist/collection/components/pane/test/panes.ct.js.map +0 -1
  560. package/dist/collection/components/pane-layout/test/pane-layout.ct.js +0 -60
  561. package/dist/collection/components/pane-layout/test/pane-layout.ct.js.map +0 -1
  562. package/dist/collection/components/pill/test/pill.ct.js +0 -63
  563. package/dist/collection/components/pill/test/pill.ct.js.map +0 -1
  564. package/dist/collection/components/radio/test/radio.ct.js +0 -77
  565. package/dist/collection/components/radio/test/radio.ct.js.map +0 -1
  566. package/dist/collection/components/radio-group/test/radio-group.ct.js +0 -117
  567. package/dist/collection/components/radio-group/test/radio-group.ct.js.map +0 -1
  568. package/dist/collection/components/select/test/select-keyboard.ct.js +0 -380
  569. package/dist/collection/components/select/test/select-keyboard.ct.js.map +0 -1
  570. package/dist/collection/components/select/test/select.ct.js +0 -594
  571. package/dist/collection/components/select/test/select.ct.js.map +0 -1
  572. package/dist/collection/components/slider/test/slider.ct.js +0 -65
  573. package/dist/collection/components/slider/test/slider.ct.js.map +0 -1
  574. package/dist/collection/components/tabs/test/tabs.ct.js +0 -134
  575. package/dist/collection/components/tabs/test/tabs.ct.js.map +0 -1
  576. package/dist/collection/components/time-input/test/time-input.ct.js +0 -62
  577. package/dist/collection/components/time-input/test/time-input.ct.js.map +0 -1
  578. package/dist/collection/components/time-picker/test/time-picker.ct.js +0 -172
  579. package/dist/collection/components/time-picker/test/time-picker.ct.js.map +0 -1
  580. package/dist/collection/components/toggle/test/toggle.ct.js +0 -84
  581. package/dist/collection/components/toggle/test/toggle.ct.js.map +0 -1
  582. package/dist/collection/components/tooltip/test/tooltip.ct.js +0 -243
  583. package/dist/collection/components/tooltip/test/tooltip.ct.js.map +0 -1
  584. package/dist/collection/components/tree/test/tree.ct.js +0 -355
  585. package/dist/collection/components/tree/test/tree.ct.js.map +0 -1
  586. package/dist/collection/components/upload/test/upload.ct.js +0 -17
  587. package/dist/collection/components/upload/test/upload.ct.js.map +0 -1
  588. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js +0 -74
  589. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +0 -1
  590. package/dist/collection/tests/utils/test/matchMedia.mock.js +0 -22
  591. package/dist/types/components/application-header/test/application-header.ct.d.ts +0 -1
  592. package/dist/types/components/avatar/test/avatar.ct.d.ts +0 -1
  593. package/dist/types/components/blind/test/blind.ct.d.ts +0 -1
  594. package/dist/types/components/breadcrumb/test/breadcrumb.ct.d.ts +0 -1
  595. package/dist/types/components/button/test/button.ct.d.ts +0 -7
  596. package/dist/types/components/category-filter/test/category-filter.ct.d.ts +0 -1
  597. package/dist/types/components/checkbox/tests/checkbox.ct.d.ts +0 -1
  598. package/dist/types/components/checkbox-group/test/checkbox-group.ct.d.ts +0 -1
  599. package/dist/types/components/chip/test/chip.ct.d.ts +0 -1
  600. package/dist/types/components/custom-field/tests/custom-field.ct.d.ts +0 -1
  601. package/dist/types/components/date-dropdown/test/date-dropdown.ct.d.ts +0 -1
  602. package/dist/types/components/date-input/tests/date-input.ct.d.ts +0 -1
  603. package/dist/types/components/date-picker/test/date-picker.ct.d.ts +0 -1
  604. package/dist/types/components/datetime-picker/test/datetime-picker.ct.d.ts +0 -1
  605. package/dist/types/components/drawer/test/drawer.ct.d.ts +0 -1
  606. package/dist/types/components/dropdown/test/dropdown.ct.d.ts +0 -1
  607. package/dist/types/components/dropdown-button/dropdown-button.ct.d.ts +0 -1
  608. package/dist/types/components/event-list/test/event-list.ct.d.ts +0 -1
  609. package/dist/types/components/expanding-search/test/expanding-search.ct.d.ts +0 -1
  610. package/dist/types/components/field-label/tests/field-label.ct.d.ts +0 -1
  611. package/dist/types/components/field-wrapper/tests/field-wrapper.ct.d.ts +0 -1
  612. package/dist/types/components/flip-tile/test/flip-tile.ct.d.ts +0 -1
  613. package/dist/types/components/group/test/group.ct.d.ts +0 -1
  614. package/dist/types/components/icon-button/test/icon-button.ct.d.ts +0 -1
  615. package/dist/types/components/input/tests/form-ready.ct.d.ts +0 -1
  616. package/dist/types/components/input/tests/validation.ct.d.ts +0 -1
  617. package/dist/types/components/input-group/tests/input-group.ct.d.ts +0 -1
  618. package/dist/types/components/menu/test/menu.ct.d.ts +0 -1
  619. package/dist/types/components/menu-about/test/menu-about.ct.d.ts +0 -1
  620. package/dist/types/components/menu-avatar-item/test/menu-avatar-item.ct.d.ts +0 -1
  621. package/dist/types/components/menu-category/test/menu-category.ct.d.ts +0 -1
  622. package/dist/types/components/menu-item/test/menu-item.ct.d.ts +0 -1
  623. package/dist/types/components/menu-settings/test/menu-settings.ct.d.ts +0 -1
  624. package/dist/types/components/message-bar/test/message-bar.ct.d.ts +0 -1
  625. package/dist/types/components/modal/test/modal.ct.d.ts +0 -8
  626. package/dist/types/components/pagination/test/pagination.ct.d.ts +0 -1
  627. package/dist/types/components/pane/test/panes.ct.d.ts +0 -1
  628. package/dist/types/components/pane-layout/test/pane-layout.ct.d.ts +0 -1
  629. package/dist/types/components/pill/test/pill.ct.d.ts +0 -1
  630. package/dist/types/components/radio/test/radio.ct.d.ts +0 -1
  631. package/dist/types/components/radio-group/test/radio-group.ct.d.ts +0 -1
  632. package/dist/types/components/select/test/select-keyboard.ct.d.ts +0 -1
  633. package/dist/types/components/select/test/select.ct.d.ts +0 -1
  634. package/dist/types/components/slider/test/slider.ct.d.ts +0 -1
  635. package/dist/types/components/tabs/test/tabs.ct.d.ts +0 -1
  636. package/dist/types/components/time-input/test/time-input.ct.d.ts +0 -1
  637. package/dist/types/components/time-picker/test/time-picker.ct.d.ts +0 -1
  638. package/dist/types/components/toggle/test/toggle.ct.d.ts +0 -1
  639. package/dist/types/components/tooltip/test/tooltip.ct.d.ts +0 -1
  640. package/dist/types/components/tree/test/tree.ct.d.ts +0 -1
  641. package/dist/types/components/upload/test/upload.ct.d.ts +0 -1
  642. package/dist/types/components/workflow-steps/test/workflow-steps.ct.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"file":"p-Cs8DEpjh.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/date-picker/date-picker.scss?tag=ix-date-picker&encapsulation=shadow","src/components/date-picker/date-picker.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@import 'mixins/text-truncation';\n\n:host {\n @include ix-component;\n display: block;\n position: relative;\n width: 21rem;\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(7, 40px);\n grid-template-rows: repeat(7, 40px);\n\n align-items: center;\n justify-items: center;\n justify-content: center;\n color: var(--theme-datepicker-today--color);\n\n &--show-week-numbers {\n grid-template-columns: 24px repeat(7, 40px);\n }\n\n .calendar-item {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--theme-datepicker-day--background);\n border: 1px solid var(--theme-datepicker-day--background);\n width: 40px;\n height: 40px;\n cursor: pointer;\n\n &:first-child {\n width: 24px;\n }\n\n &:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n\n background-color: var(--theme-datepicker-day--background--selected);\n border: inset 1px solid\n var(--theme-datepicker-day--border-color--selected);\n color: var(--theme-datepicker-day--color--selected);\n font-size: 14px;\n line-height: 20px;\n letter-spacing: 0;\n }\n\n &.today {\n border: 1px solid var(--theme-datepicker-today--border-color);\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:active {\n background-color: var(--theme-datepicker-day--background--active);\n }\n\n &.selected {\n box-shadow: inset 0 0 0 1px white;\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--selected-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--selected-disabled\n );\n border: 1px solid\n var(--theme-datepicker-day--background--selected-disabled);\n color: var(--theme-datepicker-day--color--selected-disabled);\n }\n }\n\n &.range {\n background-color: var(--theme-datepicker-day--background--range);\n color: var(--theme-datepicker-day--color--range);\n border: 1px solid var(--theme-datepicker-today--border-color--range);\n box-shadow: inset 0 0 0 1px white;\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--range-hover\n );\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-hover);\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--range-active\n );\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-active);\n }\n\n &.disabled {\n background-color: var(\n --theme-datepicker-day--background--range-disabled\n );\n color: var(--theme-datepicker-day--color--range-disabled);\n border: 1px solid\n var(--theme-datepicker-today--border-color--range-disabled);\n }\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n cursor: default;\n }\n }\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:active {\n background-color: var(--theme-datepicker-day--background--active);\n }\n\n &.selected {\n background-color: var(--theme-datepicker-day--background--selected);\n color: var(--theme-datepicker-day--color--selected);\n border: 1px solid var(--theme-datepicker-day--background--selected);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--selected-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--selected-disabled\n );\n color: var(--theme-datepicker-day--color--selected-disabled);\n }\n }\n\n &.range {\n background-color: var(--theme-datepicker-day--background--range);\n color: var(--theme-datepicker-day--color--range);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--range-hover\n );\n }\n\n &:active {\n background-color: var(\n --theme-datepicker-day--background--range-active\n );\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(\n --theme-datepicker-day--background--range-disabled\n );\n color: var(--theme-datepicker-day--color--range-disabled);\n }\n }\n\n &.disabled {\n pointer-events: none;\n background-color: var(--theme-datepicker-day--background--disabled);\n color: var(--theme-datepicker-day--color--disabled);\n }\n\n &.week-day {\n color: var(--theme-datepicker-weekday--color);\n font-size: 12px;\n line-height: 20px;\n border: none;\n background: none;\n cursor: initial;\n\n .overflow {\n @include ellipsis;\n }\n }\n\n &.empty-day {\n border: none;\n background: none;\n cursor: initial;\n }\n\n &.week-number {\n font-size: 10px;\n line-height: 14px;\n color: var(--theme-datepicker-weekday--color);\n border: none;\n background: none;\n cursor: initial;\n width: 1.5rem;\n }\n }\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n margin-top: $default-space;\n }\n\n .hidden {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n iconChevronLeftSmall,\n iconChevronRightSmall,\n iconSingleCheck,\n} from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime, Info } from 'luxon';\nimport type { DateTimeCardCorners } from '../date-time-card/date-time-card.types';\nimport { OnListener } from '../utils/listener';\nimport { makeRef } from '../utils/make-ref';\nimport { IxDatePickerComponent } from './date-picker-component';\nimport type { DateChangeEvent } from './date-picker.events';\n\ninterface CalendarWeek {\n weekNumber: number;\n dayNumbers: (number | undefined)[];\n}\n\n@Component({\n tag: 'ix-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n})\nexport class DatePicker implements IxDatePickerComponent {\n @Element() hostElement!: HTMLIxDatePickerElement;\n\n /**\n * Date format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * If true a date-range can be selected (from/to).\n */\n @Prop() range: boolean = true;\n\n /**\n * Corner style\n */\n @Prop() corners: DateTimeCardCorners = 'rounded';\n\n /**\n * The selected starting date. If the date-picker-rework is not in range mode this is the selected date.\n * Format has to match the `format` property.\n */\n @Prop() from: string | undefined;\n\n @Watch('from')\n watchFromPropHandler(newValue: string) {\n if (!newValue) {\n this.currFromDate = undefined;\n\n return;\n }\n\n const date = this.parseDateString(newValue);\n\n if (date) {\n this.currFromDate = date;\n this.updateSelectedYearMonth(date);\n }\n }\n\n /**\n * The selected end date. If the the date-picker-rework is not in range mode this property has no impact.\n * Format has to match the `format` property.\n */\n @Prop() to: string | undefined;\n\n @Watch('to')\n watchToPropHandler(newValue: string) {\n if (!newValue) {\n this.currToDate = undefined;\n\n return;\n }\n\n const date = this.parseDateString(newValue);\n\n if (date) {\n this.currToDate = date;\n this.updateSelectedYearMonth(date);\n }\n }\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate = '';\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Text of date select button\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\n @Watch('locale')\n onLocaleChange() {\n this.setTranslations();\n }\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /** @internal */\n @Prop() standaloneAppearance = true;\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * Triggers if the date selection changes.\n * Note: Since 2.0.0 `dateChange` does not dispatch detail property as `string`\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 @Event() dateRangeChange!: EventEmitter<DateChangeEvent>;\n\n /**\n * Date selection confirmed via button action\n */\n @Event() dateSelect!: EventEmitter<DateChangeEvent>;\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 = 0;\n @State() tempYear = 0;\n @State() startYear = 0;\n @State() endYear = 0;\n @State() selectedMonth = 0;\n @State() tempMonth = 0;\n\n private readonly dropdownButtonRef = makeRef<HTMLElement>();\n private readonly yearContainerRef = makeRef<HTMLElement>();\n private readonly firstMonthRef = makeRef<HTMLElement>();\n\n @State() dayNames!: string[];\n @State() monthNames!: string[];\n @State() focusedDay: number = 1;\n\n private isDayFocus = false;\n private monthChangedFromFocus = false;\n private readonly DAYS_IN_WEEK = 7;\n private calendar: CalendarWeek[] = [];\n\n @OnListener<DatePicker>('keydown')\n handleKeyUp(event: KeyboardEvent) {\n if (!this.isDayFocus) {\n return;\n }\n\n let _focusedDay = this.focusedDay;\n\n switch (event.key) {\n case 'ArrowLeft':\n _focusedDay--;\n break;\n case 'ArrowRight':\n _focusedDay++;\n break;\n case 'ArrowUp':\n _focusedDay = _focusedDay - 7;\n break;\n case 'ArrowDown':\n _focusedDay = _focusedDay + 7;\n break;\n default:\n return;\n }\n\n if (_focusedDay > this.getDaysInCurrentMonth()) {\n _focusedDay = _focusedDay - this.getDaysInCurrentMonth();\n this.changeToAdjacentMonth(1);\n this.monthChangedFromFocus = true;\n } else if (_focusedDay < 1) {\n this.changeToAdjacentMonth(-1);\n _focusedDay = _focusedDay + this.getDaysInCurrentMonth();\n this.monthChangedFromFocus = true;\n }\n\n this.focusedDay = _focusedDay;\n }\n\n private getDaysInCurrentMonth(): number {\n return (\n DateTime.utc(this.selectedYear, this.selectedMonth + 1).daysInMonth || 0\n );\n }\n\n private getDateTimeNow() {\n return DateTime.fromISO(this.today);\n }\n\n private parseDateString(dateString: string): DateTime | undefined {\n const date = DateTime.fromFormat(dateString, this.format);\n\n if (!date.isValid) {\n console.error(date.invalidExplanation);\n\n return undefined;\n }\n\n return date;\n }\n\n private updateSelectedYearMonth(date: DateTime) {\n this.selectedYear = date.year;\n this.selectedMonth = date.month - 1;\n }\n\n onDayBlur() {\n this.isDayFocus = false;\n }\n\n onDayFocus() {\n this.isDayFocus = true;\n }\n\n componentWillLoad() {\n this.setTranslations();\n\n this.currFromDate = this.from\n ? DateTime.fromFormat(this.from, this.format)\n : undefined;\n this.currToDate = this.to\n ? DateTime.fromFormat(this.to, this.format)\n : undefined;\n\n const year = this.currFromDate?.year ?? this.getDateTimeNow().year;\n this.startYear = year - 5;\n this.endYear = year + 5;\n\n this.selectedMonth =\n (this.currFromDate?.month ?? this.getDateTimeNow().month) - 1;\n this.selectedYear = year;\n this.tempMonth = this.selectedMonth;\n this.tempYear = this.selectedYear;\n }\n\n componentWillRender() {\n this.calculateCalendar();\n }\n\n componentDidRender() {\n if (!this.monthChangedFromFocus && !this.isDayFocus) {\n return;\n }\n\n const dayElem = this.hostElement.shadowRoot!.querySelector(\n `[id=day-cell-${this.focusedDay}]`\n ) as HTMLElement;\n dayElem.focus();\n }\n\n private setTranslations() {\n this.dayNames = this.rotateWeekDayNames(\n Info.weekdays('long', {\n locale: this.locale,\n }),\n this.weekStartIndex\n );\n\n this.monthNames = Info.months('long', {\n locale: this.locale,\n });\n }\n\n /**\n * Rotate the WeekdayNames array.\n * Based on the position that should be the new 0-index.\n */\n private rotateWeekDayNames(weekdays: string[], index: number): string[] {\n const clone = [...weekdays];\n\n if (index === 0) {\n return clone;\n }\n\n index = -index;\n const len = weekdays.length;\n\n clone.push(...clone.splice(0, ((-index % len) + len) % len));\n return clone;\n }\n\n private async onDone() {\n const date = await this.getCurrentDate();\n this.dateSelect.emit(date);\n }\n\n private calculateCalendar() {\n const calendar: CalendarWeek[] = [];\n const month = DateTime.utc(this.selectedYear, this.selectedMonth + 1);\n const monthStart = month.startOf('month');\n const monthEnd = month.endOf('month');\n let startWeek = monthStart.weekNumber;\n let endWeek = monthEnd.weekNumber;\n let monthStartWeekDayIndex = monthStart.weekday - 1;\n let monthEndWeekDayIndex = monthEnd.weekday - 1;\n\n if (this.weekStartIndex !== 0) {\n // Find the positions where to start/stop counting the day-numbers based on which day the week starts\n const weekdays = Info.weekdays();\n const monthStartWeekDayName = weekdays[monthStart.weekday];\n\n monthStartWeekDayIndex = this.dayNames.findIndex(\n (d) => d === monthStartWeekDayName\n );\n const monthEndWeekDayName = weekdays[monthEnd.weekday];\n monthEndWeekDayIndex = this.dayNames.findIndex(\n (d) => d === monthEndWeekDayName\n );\n }\n\n let correctLastWeek = false;\n if (endWeek === 1) {\n endWeek = monthEnd.weeksInWeekYear + 1;\n correctLastWeek = true;\n }\n\n let correctFirstWeek = false;\n if (startWeek === monthStart.weeksInWeekYear) {\n startWeek = 1;\n endWeek++;\n\n correctFirstWeek = true;\n }\n\n let currDayNumber = 1;\n for (\n let weekIndex = startWeek;\n weekIndex <= endWeek && currDayNumber <= 31;\n weekIndex++\n ) {\n const daysArr: (number | undefined)[] = [];\n\n for (let j = 0; j < this.DAYS_IN_WEEK && currDayNumber <= 31; j++) {\n // Display empty cells until the calender starts/has ended\n if (\n (weekIndex === startWeek && j < monthStartWeekDayIndex) ||\n (weekIndex === endWeek && j > monthEndWeekDayIndex)\n ) {\n daysArr.push(undefined);\n } else {\n daysArr.push(currDayNumber++);\n }\n }\n\n if (correctFirstWeek || correctLastWeek) {\n if (weekIndex === 1) {\n calendar.push({\n weekNumber: monthStart.weeksInWeekYear,\n dayNumbers: daysArr,\n });\n } else if (weekIndex === monthEnd.weekNumber) {\n calendar.push({\n weekNumber: 1,\n dayNumbers: daysArr,\n });\n } else {\n calendar.push({\n weekNumber: weekIndex - 1,\n dayNumbers: daysArr,\n });\n }\n continue;\n }\n\n calendar.push({\n weekNumber: weekIndex,\n dayNumbers: daysArr,\n });\n }\n\n this.calendar = calendar;\n }\n\n private selectTempYear(event: MouseEvent, year: number) {\n event?.stopPropagation();\n this.tempYear = year;\n }\n\n private focusMonth() {\n this.firstMonthRef.current?.focus();\n }\n\n private infiniteScrollYears() {\n const yearContainer = this.yearContainerRef.current;\n\n if (!yearContainer) {\n return;\n }\n\n const scroll = yearContainer.scrollTop;\n const maxScroll = yearContainer.scrollHeight;\n const atTop = scroll === 0;\n const atBottom =\n Math.round(scroll + yearContainer.offsetHeight) >= maxScroll;\n const limit = 200;\n\n if (this.endYear - this.startYear > limit) return;\n\n if (atTop) {\n const first = yearContainer.firstElementChild as HTMLElement;\n this.startYear -= 5;\n yearContainer.scrollTo(0, first.offsetTop);\n\n return;\n }\n\n if (atBottom) {\n const last = yearContainer.lastElementChild as HTMLElement;\n this.endYear += 5;\n yearContainer.scrollTo(0, last.offsetTop);\n }\n }\n\n private selectMonth(month: number) {\n this.selectedMonth = month;\n this.selectedYear = this.tempYear;\n this.tempMonth = month;\n\n const dropdown = this.hostElement.shadowRoot!.querySelector('ix-dropdown');\n if (dropdown) {\n dropdown.show = false;\n }\n }\n\n private changeToAdjacentMonth(number: -1 | 1) {\n if (this.selectedMonth + number < 0) {\n this.selectedYear--;\n this.selectedMonth = 11;\n } else if (this.selectedMonth + number > 11) {\n this.selectedYear++;\n this.selectedMonth = 0;\n } else {\n this.selectedMonth += number;\n }\n }\n\n private selectDay(selectedDay: number, target: Element) {\n if (target.classList.contains('disabled')) {\n return;\n }\n\n const date = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, selectedDay)\n );\n\n if (!this.range || this.currFromDate === undefined) {\n this.currFromDate = date;\n this.onDateChange();\n\n return;\n }\n\n // Reset the range selection\n if (this.currToDate !== undefined) {\n this.currFromDate = date;\n this.currToDate = undefined;\n this.onDateChange();\n\n return;\n }\n\n // Swap from/to if the second date is before the current date\n if (date < this.currFromDate) {\n this.currToDate = this.currFromDate;\n this.currFromDate = date;\n this.onDateChange();\n\n return;\n }\n\n // Set the range normally\n this.currToDate = date;\n this.onDateChange();\n }\n\n private onDateChange() {\n this.getCurrentDate().then((date) => {\n this.dateChange.emit(date);\n if (this.range) {\n this.dateRangeChange.emit(date);\n }\n });\n }\n\n private getDayClasses(day: number): any {\n const todayObj = this.getDateTimeNow();\n const selectedDayObj = DateTime.fromJSDate(\n new Date(this.selectedYear, this.selectedMonth, day)\n );\n\n return {\n 'calendar-item': true,\n 'empty-day': day === undefined,\n today: todayObj.hasSame(selectedDayObj, 'day'),\n selected:\n this.currFromDate?.hasSame(selectedDayObj, 'day') ||\n this.currToDate?.hasSame(selectedDayObj, 'day'),\n range:\n this.currFromDate &&\n selectedDayObj.startOf('day') > this.currFromDate.startOf('day') &&\n this.currToDate !== undefined &&\n selectedDayObj.startOf('day') < this.currToDate?.startOf('day'),\n disabled: !this.isWithinMinMaxDate(selectedDayObj),\n };\n }\n\n private isWithinMinMaxYear(year: number): boolean {\n const minDateYear = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format).year\n : undefined;\n const maxDateYear = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format).year\n : undefined;\n const isBefore = minDateYear ? year < minDateYear : false;\n const isAfter = maxDateYear ? year > maxDateYear : false;\n\n return !isBefore && !isAfter;\n }\n\n private isWithinMinMaxMonth(month: number): boolean {\n const minDateObj = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format)\n : undefined;\n const maxDateObj = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format)\n : undefined;\n const minDateMonth = minDateObj?.month;\n const maxDateMonth = maxDateObj?.month;\n const isBefore = minDateMonth\n ? this.tempYear === minDateObj.year && month < minDateMonth\n : false;\n const isAfter = maxDateMonth\n ? this.tempYear === maxDateObj.year && month > maxDateMonth\n : false;\n\n return !isBefore && !isAfter;\n }\n\n private isWithinMinMaxDate(date: DateTime): boolean {\n const _minDate = this.minDate\n ? DateTime.fromFormat(this.minDate, this.format)\n : undefined;\n const _maxDate = this.maxDate\n ? DateTime.fromFormat(this.maxDate, this.format)\n : undefined;\n const isBefore = _minDate\n ? date.startOf('day') < _minDate.startOf('day')\n : false;\n const isAfter = _maxDate\n ? date.startOf('day') > _maxDate.startOf('day')\n : false;\n\n return !isBefore && !isAfter;\n }\n\n private renderYears(): any[] {\n const rows = [];\n\n for (let year = this.startYear; year <= this.endYear; year++) {\n rows.push(\n <div\n key={year}\n class={{\n arrowYear: true,\n 'month-dropdown-item': true,\n 'disabled-item': !this.isWithinMinMaxYear(year),\n }}\n onClick={(event) => this.selectTempYear(event, year)}\n onKeyUp={(event) => {\n if (event.key === 'Enter') {\n this.tempYear = year;\n this.focusMonth();\n }\n }}\n tabIndex={0}\n >\n <ix-icon\n class={{\n hidden: this.tempYear !== year,\n arrowPosition: true,\n }}\n name={iconChevronRightSmall}\n size=\"12\"\n ></ix-icon>\n <div style={{ 'min-width': 'max-content' }}>{`${year}`}</div>\n </div>\n );\n }\n\n return rows;\n }\n\n render() {\n return (\n <Host>\n <ix-date-time-card\n corners={this.corners}\n standaloneAppearance={this.standaloneAppearance}\n >\n <div class=\"header\" slot=\"header\">\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(-1)}\n ghost\n icon={iconChevronLeftSmall}\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <div class=\"selector\">\n <ix-button\n ghost\n ref={this.dropdownButtonRef}\n data-testid=\"year-month-button\"\n >\n <span class=\"fontSize capitalize\">\n {this.monthNames[this.selectedMonth]} {this.selectedYear}\n </span>\n </ix-button>\n <ix-dropdown\n data-testid=\"year-month-dropdown\"\n class=\"dropdown\"\n trigger={this.dropdownButtonRef.waitForCurrent()}\n ignoreRelatedSubmenu\n placement=\"bottom-start\"\n >\n <div class=\"wrapper\">\n <div\n data-testid=\"year-container\"\n class=\"overflow\"\n onScroll={() => this.infiniteScrollYears()}\n ref={this.yearContainerRef}\n >\n {this.renderYears()}\n </div>\n <div class=\"overflow\" data-testid=\"month-container\">\n {this.monthNames.map((month, index) => (\n <div\n key={month}\n ref={(ref) => {\n if (month === this.monthNames[0]) {\n this.firstMonthRef(ref);\n }\n }}\n class={{\n arrowYear: true,\n 'month-dropdown-item': true,\n selected:\n this.tempYear === this.selectedYear &&\n this.tempMonth === index,\n 'disabled-item': !this.isWithinMinMaxMonth(index),\n }}\n onClick={() => this.selectMonth(index)}\n onKeyUp={(event) =>\n event.key === 'Enter' && this.selectMonth(index)\n }\n tabIndex={0}\n >\n <ix-icon\n class={{\n hidden:\n this.tempYear !== this.selectedYear ||\n this.tempMonth !== index,\n checkPosition: true,\n }}\n name={iconSingleCheck}\n size=\"16\"\n ></ix-icon>\n <div>\n <span class=\"capitalize monthMargin\">{`${month} ${this.tempYear}`}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n </ix-dropdown>\n </div>\n <ix-icon-button\n onClick={() => this.changeToAdjacentMonth(1)}\n ghost\n icon={iconChevronRightSmall}\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n <div\n class={{\n grid: true,\n 'grid--show-week-numbers': this.showWeekNumbers,\n }}\n >\n {this.showWeekNumbers && <div class=\"calendar-item week-day\"></div>}\n {this.dayNames.map((name) => (\n <div key={name} class=\"calendar-item week-day\">\n <div class=\"overflow\">{name.slice(0, 3)}</div>\n </div>\n ))}\n {this.calendar.map((week) => {\n return (\n <Fragment>\n {this.showWeekNumbers && (\n <div class=\"calendar-item week-number\">\n {week.weekNumber}\n </div>\n )}\n {week.dayNumbers.map((day) => {\n return day ? (\n <div\n key={day}\n id={`day-cell-${day}`}\n date-calender-day\n class={this.getDayClasses(day)}\n onClick={(e) => {\n const target = e.currentTarget as HTMLElement;\n this.selectDay(day, target);\n }}\n onKeyUp={(e) => {\n const target = e.currentTarget as HTMLElement;\n if (e.key === 'Enter') {\n this.selectDay(day, target);\n }\n }}\n tabIndex={day === this.focusedDay ? 0 : -1}\n onFocus={() => this.onDayFocus()}\n onBlur={() => this.onDayBlur()}\n >\n {day}\n </div>\n ) : (\n <div></div>\n );\n })}\n </Fragment>\n );\n })}\n </div>\n <div\n class={{\n button: true,\n hidden: !this.range || !this.standaloneAppearance,\n }}\n >\n <ix-button onClick={() => this.onDone()}>{this.i18nDone}</ix-button>\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,461 @@
1
+ import { p as proxyCustomElement, H, e as createEvent, h, d as Host } from './p-BuJ6BWIi.js';
2
+ import { f as flip, i as inline, s as shift, o as offset, a as autoUpdate, c as computePosition } from './p-CAqtPJ4-.js';
3
+ import { a as addDisposableEventListener, f as findElement } from './p-kY0vP3rC.js';
4
+ import { d as dropdownController, h as hasDropdownItemWrapperImplemented } from './p-D3K9vmFp.js';
5
+
6
+ /*
7
+ * SPDX-FileCopyrightText: 2023 Siemens AG
8
+ *
9
+ * SPDX-License-Identifier: MIT
10
+ *
11
+ * This source code is licensed under the MIT license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ */
14
+ class ArrowFocusController {
15
+ constructor(items, container, callback) {
16
+ this.wrap = false;
17
+ this.items = items;
18
+ this.container = container;
19
+ this.callback = callback;
20
+ this.keyListener = addDisposableEventListener(container, 'keydown', (e) => this.onKeyDown(e));
21
+ }
22
+ getActiveIndex() {
23
+ if (!document.activeElement) {
24
+ return -1;
25
+ }
26
+ return this.items.indexOf(document.activeElement);
27
+ }
28
+ onKeyDown(e) {
29
+ var _a, _b, _c, _d;
30
+ const activeIndex = this.getActiveIndex();
31
+ if (activeIndex < 0) {
32
+ return;
33
+ }
34
+ switch (e.key) {
35
+ case 'ArrowDown':
36
+ if (activeIndex < this.items.length - 1) {
37
+ e.preventDefault();
38
+ (_a = this.callback) === null || _a === void 0 ? void 0 : _a.call(this, activeIndex + 1);
39
+ }
40
+ else if (this.wrap) {
41
+ e.preventDefault();
42
+ (_b = this.callback) === null || _b === void 0 ? void 0 : _b.call(this, 0);
43
+ }
44
+ break;
45
+ case 'ArrowUp':
46
+ {
47
+ if (activeIndex > 0) {
48
+ e.preventDefault();
49
+ (_c = this.callback) === null || _c === void 0 ? void 0 : _c.call(this, activeIndex - 1);
50
+ }
51
+ else if (this.wrap && activeIndex === 0) {
52
+ e.preventDefault();
53
+ (_d = this.callback) === null || _d === void 0 ? void 0 : _d.call(this, this.items.length - 1);
54
+ }
55
+ }
56
+ break;
57
+ }
58
+ }
59
+ disconnect() {
60
+ if (this.keyListener) {
61
+ this.keyListener();
62
+ }
63
+ this.container = undefined;
64
+ this.callback = undefined;
65
+ }
66
+ }
67
+
68
+ const dropdownCss = ":host{background-color:var(--theme-color-2);border-radius:var(--theme-default-border-radius);min-width:0px;z-index:var(--theme-z-index-dropdown);box-shadow:var(--theme-shadow-4);padding:0.25rem 0px}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .dropdown-header{display:flex;align-items:center;height:2.5rem;color:var(--theme-menu-header--color);padding:0 1rem}:host(.overflow){max-height:calc(50vh - 3rem);overflow-y:auto}:host(:not(.show)){display:none}";
69
+
70
+ let sequenceId = 0;
71
+ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends H {
72
+ constructor() {
73
+ super();
74
+ this.__registerHost();
75
+ this.__attachShadow();
76
+ this.showChanged = createEvent(this, "showChanged", 7);
77
+ /**
78
+ * Suppress the automatic placement of the dropdown.
79
+ */
80
+ this.suppressAutomaticPlacement = false;
81
+ /**
82
+ * Show dropdown
83
+ */
84
+ this.show = false;
85
+ /**
86
+ * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.
87
+ * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.
88
+ */
89
+ this.closeBehavior = 'both';
90
+ /**
91
+ * Placement of the dropdown
92
+ */
93
+ this.placement = 'bottom-start';
94
+ /**
95
+ * Position strategy
96
+ */
97
+ this.positioningStrategy = 'fixed';
98
+ /**
99
+ * @internal
100
+ * If initialization of this dropdown is expected to be deferred submenu discovery will have to be re-run globally by the controller.
101
+ * This property indicates the need for that to the controller.
102
+ */
103
+ this.discoverAllSubmenus = false;
104
+ /** @internal */
105
+ this.ignoreRelatedSubmenu = false;
106
+ /** @internal */
107
+ this.suppressOverflowBehavior = false;
108
+ this.localUId = `dropdown-${sequenceId++}`;
109
+ this.assignedSubmenu = [];
110
+ this.itemObserver = new MutationObserver(() => {
111
+ if (this.arrowFocusController) {
112
+ this.arrowFocusController.items = this.dropdownItems;
113
+ }
114
+ });
115
+ }
116
+ connectedCallback() {
117
+ dropdownController.connected(this);
118
+ if (this.trigger != undefined) {
119
+ this.registerListener(this.trigger);
120
+ }
121
+ }
122
+ cacheSubmenuId(event) {
123
+ event.stopImmediatePropagation();
124
+ event.preventDefault();
125
+ const { detail } = event;
126
+ if (this.assignedSubmenu.indexOf(detail) === -1) {
127
+ this.assignedSubmenu.push(detail);
128
+ }
129
+ }
130
+ disconnectedCallback() {
131
+ var _a;
132
+ dropdownController.dismiss(this);
133
+ dropdownController.disconnected(this);
134
+ if (this.arrowFocusController) {
135
+ (_a = this.arrowFocusController) === null || _a === void 0 ? void 0 : _a.disconnect();
136
+ this.arrowFocusController = undefined;
137
+ }
138
+ if (this.itemObserver) {
139
+ this.itemObserver.disconnect();
140
+ this.itemObserver = undefined;
141
+ }
142
+ if (this.disposeClickListener) {
143
+ this.disposeClickListener();
144
+ this.disposeClickListener = undefined;
145
+ }
146
+ if (this.disposeKeyListener) {
147
+ this.disposeKeyListener();
148
+ this.disposeKeyListener = undefined;
149
+ }
150
+ if (this.autoUpdateCleanup) {
151
+ this.autoUpdateCleanup();
152
+ this.autoUpdateCleanup = undefined;
153
+ }
154
+ }
155
+ getAssignedSubmenuIds() {
156
+ return this.assignedSubmenu;
157
+ }
158
+ isPresent() {
159
+ return this.show;
160
+ }
161
+ present() {
162
+ this.show = true;
163
+ }
164
+ dismiss() {
165
+ this.show = false;
166
+ }
167
+ getId() {
168
+ return this.localUId;
169
+ }
170
+ willDismiss() {
171
+ const { defaultPrevented } = this.showChanged.emit(false);
172
+ return !defaultPrevented;
173
+ }
174
+ willPresent() {
175
+ const { defaultPrevented } = this.showChanged.emit(true);
176
+ return !defaultPrevented;
177
+ }
178
+ get dropdownItems() {
179
+ return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));
180
+ }
181
+ get slotElement() {
182
+ return this.hostElement.shadowRoot.querySelector('slot');
183
+ }
184
+ addEventListenersFor() {
185
+ var _a, _b, _c;
186
+ (_a = this.disposeClickListener) === null || _a === void 0 ? void 0 : _a.call(this);
187
+ (_b = this.disposeKeyListener) === null || _b === void 0 ? void 0 : _b.call(this);
188
+ const toggleController = () => {
189
+ if (!this.isPresent()) {
190
+ dropdownController.present(this);
191
+ }
192
+ else {
193
+ dropdownController.dismiss(this);
194
+ }
195
+ dropdownController.dismissOthers(this.getId());
196
+ };
197
+ if (!this.triggerElement) {
198
+ return;
199
+ }
200
+ this.disposeClickListener = addDisposableEventListener(this.triggerElement, 'click', (event) => {
201
+ if (!event.defaultPrevented) {
202
+ toggleController();
203
+ }
204
+ });
205
+ (_c = this.triggerElement) === null || _c === void 0 ? void 0 : _c.setAttribute('data-ix-dropdown-trigger', this.localUId);
206
+ }
207
+ /** @internal */
208
+ async discoverSubmenu() {
209
+ var _a;
210
+ (_a = this.triggerElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent('ix-assign-sub-menu', {
211
+ bubbles: true,
212
+ composed: true,
213
+ cancelable: true,
214
+ detail: this.localUId,
215
+ }));
216
+ }
217
+ registerKeyListener() {
218
+ if (!this.triggerElement) {
219
+ return;
220
+ }
221
+ this.disposeKeyListener = addDisposableEventListener(this.triggerElement, 'keydown', ((event) => {
222
+ if (event.key !== 'ArrowDown') {
223
+ return;
224
+ }
225
+ if (document.activeElement !== this.triggerElement) {
226
+ return;
227
+ }
228
+ dropdownController.present(this);
229
+ setTimeout(() => {
230
+ this.focusDropdownItem(0);
231
+ });
232
+ }));
233
+ }
234
+ async registerListener(element) {
235
+ this.triggerElement = await this.resolveElement(element);
236
+ if (this.triggerElement) {
237
+ this.addEventListenersFor();
238
+ this.discoverSubmenu();
239
+ }
240
+ }
241
+ async resolveElement(element) {
242
+ const el = await findElement(element);
243
+ return this.checkForSubmenuAnchor(el);
244
+ }
245
+ async checkForSubmenuAnchor(element) {
246
+ if (!element) {
247
+ return undefined;
248
+ }
249
+ if (hasDropdownItemWrapperImplemented(element)) {
250
+ const dropdownItem = await element.getDropdownItemElement();
251
+ dropdownItem.isSubMenu = true;
252
+ this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;
253
+ }
254
+ if (element.tagName === 'IX-DROPDOWN-ITEM') {
255
+ element.isSubMenu = true;
256
+ this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;
257
+ }
258
+ return element;
259
+ }
260
+ async resolveAnchorElement() {
261
+ if (this.anchor) {
262
+ this.anchorElement = await this.resolveElement(this.anchor);
263
+ }
264
+ else if (this.trigger) {
265
+ this.anchorElement = await this.resolveElement(this.trigger);
266
+ }
267
+ }
268
+ async changedShow(newShow) {
269
+ var _a, _b, _c, _d;
270
+ if (newShow) {
271
+ await this.resolveAnchorElement();
272
+ if (this.anchorElement) {
273
+ this.applyDropdownPosition();
274
+ }
275
+ this.arrowFocusController = new ArrowFocusController(this.dropdownItems, this.hostElement, (index) => this.focusDropdownItem(index));
276
+ (_a = this.itemObserver) === null || _a === void 0 ? void 0 : _a.observe(this.hostElement, {
277
+ childList: true,
278
+ subtree: true,
279
+ });
280
+ this.registerKeyListener();
281
+ }
282
+ else {
283
+ this.destroyAutoUpdate();
284
+ (_b = this.arrowFocusController) === null || _b === void 0 ? void 0 : _b.disconnect();
285
+ (_c = this.itemObserver) === null || _c === void 0 ? void 0 : _c.disconnect();
286
+ (_d = this.disposeKeyListener) === null || _d === void 0 ? void 0 : _d.call(this);
287
+ }
288
+ }
289
+ changedTrigger(newTriggerValue) {
290
+ this.registerListener(newTriggerValue);
291
+ }
292
+ destroyAutoUpdate() {
293
+ if (this.autoUpdateCleanup) {
294
+ this.autoUpdateCleanup();
295
+ this.autoUpdateCleanup = undefined;
296
+ }
297
+ }
298
+ isAnchorSubmenu() {
299
+ var _a;
300
+ if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {
301
+ // Is no official dropdown-item, but check if any dropdown-item
302
+ // is placed somewhere up the DOM
303
+ return !!((_a = this.anchorElement) === null || _a === void 0 ? void 0 : _a.closest('ix-dropdown-item'));
304
+ }
305
+ return true;
306
+ }
307
+ async applyDropdownPosition() {
308
+ var _a, _b;
309
+ if (!this.show) {
310
+ return;
311
+ }
312
+ if (!this.anchorElement) {
313
+ return;
314
+ }
315
+ const isSubmenu = this.isAnchorSubmenu();
316
+ let positionConfig = {
317
+ strategy: this.positioningStrategy,
318
+ middleware: [],
319
+ };
320
+ if (!this.suppressAutomaticPlacement) {
321
+ (_a = positionConfig.middleware) === null || _a === void 0 ? void 0 : _a.push(flip({ fallbackStrategy: 'initialPlacement' }));
322
+ }
323
+ positionConfig.placement = isSubmenu ? 'right-start' : this.placement;
324
+ positionConfig.middleware = [
325
+ ...(((_b = positionConfig.middleware) === null || _b === void 0 ? void 0 : _b.filter(Boolean)) || []),
326
+ inline(),
327
+ shift(),
328
+ ];
329
+ if (this.offset) {
330
+ positionConfig.middleware.push(offset(this.offset));
331
+ }
332
+ this.destroyAutoUpdate();
333
+ if (!this.anchorElement) {
334
+ return;
335
+ }
336
+ this.autoUpdateCleanup = autoUpdate(this.anchorElement, this.hostElement, async () => {
337
+ if (this.anchorElement) {
338
+ const computeResponse = await computePosition(this.anchorElement, this.hostElement, positionConfig);
339
+ Object.assign(this.hostElement.style, {
340
+ top: '0',
341
+ left: '0',
342
+ transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(computeResponse.y)}px)`,
343
+ });
344
+ }
345
+ if (this.overwriteDropdownStyle) {
346
+ const overwriteStyle = await this.overwriteDropdownStyle({
347
+ dropdownRef: this.hostElement,
348
+ triggerRef: this.triggerElement,
349
+ });
350
+ Object.assign(this.hostElement.style, overwriteStyle);
351
+ }
352
+ }, {
353
+ ancestorResize: true,
354
+ ancestorScroll: true,
355
+ elementResize: true,
356
+ });
357
+ }
358
+ focusDropdownItem(index) {
359
+ requestAnimationFrame(() => {
360
+ var _a, _b;
361
+ const button = (_b = (_a = this.dropdownItems[index]) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('button');
362
+ if (button) {
363
+ button.focus();
364
+ }
365
+ });
366
+ }
367
+ async componentDidLoad() {
368
+ if (!this.trigger) {
369
+ return;
370
+ }
371
+ this.changedTrigger(this.trigger);
372
+ }
373
+ async componentDidRender() {
374
+ await this.applyDropdownPosition();
375
+ await this.resolveAnchorElement();
376
+ }
377
+ isTriggerElement(element) {
378
+ const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');
379
+ return trigger;
380
+ }
381
+ onDropdownClick(event) {
382
+ const target = dropdownController.pathIncludesTrigger(event.composedPath());
383
+ if (target) {
384
+ if (target !== this.triggerElement) {
385
+ event.preventDefault();
386
+ }
387
+ if (this.isTriggerElement(target)) {
388
+ if (this.closeBehavior === 'outside') {
389
+ event.preventDefault();
390
+ }
391
+ return;
392
+ }
393
+ }
394
+ if (!event.defaultPrevented &&
395
+ (this.closeBehavior === 'inside' || this.closeBehavior === 'both')) {
396
+ dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);
397
+ return;
398
+ }
399
+ dropdownController.dismissOthers(this.getId());
400
+ }
401
+ /**
402
+ * Update position of dropdown
403
+ */
404
+ async updatePosition() {
405
+ this.applyDropdownPosition();
406
+ }
407
+ render() {
408
+ return (h(Host, { key: '2c13027bd2c1d4aaf232c5435166dfd557acebe2', "data-ix-dropdown": this.localUId, class: {
409
+ 'dropdown-menu': true,
410
+ show: this.show,
411
+ overflow: !this.suppressOverflowBehavior,
412
+ }, style: {
413
+ margin: '0',
414
+ minWidth: '0px',
415
+ position: this.positioningStrategy,
416
+ }, role: "list", onClick: (event) => this.onDropdownClick(event) }, h("div", { key: 'a367b5ee709b359ee02df11a17ca67b2f2f474e2', style: { display: 'contents' } }, this.header && h("div", { key: 'ca3be5fb3a3a96eaeb5b64d5f77251d322816804', class: "dropdown-header" }, this.header), this.show && h("slot", { key: 'e04e1b59ede94b260e8cf29ec946befd69218b2d' }))));
417
+ }
418
+ get hostElement() { return this; }
419
+ static get watchers() { return {
420
+ "show": ["changedShow"],
421
+ "trigger": ["changedTrigger"]
422
+ }; }
423
+ static get style() { return dropdownCss; }
424
+ }, [1, "ix-dropdown", {
425
+ "suppressAutomaticPlacement": [4, "suppress-automatic-placement"],
426
+ "show": [1540],
427
+ "trigger": [1],
428
+ "anchor": [1],
429
+ "closeBehavior": [8, "close-behavior"],
430
+ "placement": [1],
431
+ "positioningStrategy": [1, "positioning-strategy"],
432
+ "header": [1],
433
+ "offset": [16],
434
+ "overwriteDropdownStyle": [16, "overwrite-dropdown-style"],
435
+ "discoverAllSubmenus": [4, "discover-all-submenus"],
436
+ "ignoreRelatedSubmenu": [4, "ignore-related-submenu"],
437
+ "suppressOverflowBehavior": [4, "suppress-overflow-behavior"],
438
+ "discoverSubmenu": [64],
439
+ "updatePosition": [64]
440
+ }, [[0, "ix-assign-sub-menu", "cacheSubmenuId"]], {
441
+ "show": ["changedShow"],
442
+ "trigger": ["changedTrigger"]
443
+ }]);
444
+ function defineCustomElement() {
445
+ if (typeof customElements === "undefined") {
446
+ return;
447
+ }
448
+ const components = ["ix-dropdown"];
449
+ components.forEach(tagName => { switch (tagName) {
450
+ case "ix-dropdown":
451
+ if (!customElements.get(tagName)) {
452
+ customElements.define(tagName, Dropdown);
453
+ }
454
+ break;
455
+ } });
456
+ }
457
+
458
+ export { ArrowFocusController as A, Dropdown as D, defineCustomElement as d };
459
+ //# sourceMappingURL=p-Cut5OrRw.js.map
460
+
461
+ //# sourceMappingURL=p-Cut5OrRw.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-Cut5OrRw.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/utils/focus.ts","src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/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\nimport { addDisposableEventListener } from './disposable-event-listener';\n\nexport class ArrowFocusController {\n public items: Element[];\n\n container?: HTMLElement;\n wrap = false;\n callback: any;\n\n private readonly keyListener: () => void;\n\n constructor(\n items: any[],\n container: HTMLElement,\n callback?: (index: number) => void\n ) {\n this.items = items;\n this.container = container;\n this.callback = callback;\n this.keyListener = addDisposableEventListener(\n container,\n 'keydown',\n (e: Event) => this.onKeyDown(e as KeyboardEvent)\n );\n }\n\n private getActiveIndex() {\n if (!document.activeElement) {\n return -1;\n }\n return this.items.indexOf(document.activeElement);\n }\n\n private onKeyDown(e: KeyboardEvent) {\n const activeIndex = this.getActiveIndex();\n\n if (activeIndex < 0) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown':\n if (activeIndex < this.items.length - 1) {\n e.preventDefault();\n this.callback?.(activeIndex + 1);\n } else if (this.wrap) {\n e.preventDefault();\n this.callback?.(0);\n }\n break;\n\n case 'ArrowUp':\n {\n if (activeIndex > 0) {\n e.preventDefault();\n this.callback?.(activeIndex - 1);\n } else if (this.wrap && activeIndex === 0) {\n e.preventDefault();\n this.callback?.(this.items.length - 1);\n }\n }\n break;\n }\n }\n\n disconnect() {\n if (this.keyListener) {\n this.keyListener();\n }\n\n this.container = undefined;\n this.callback = undefined;\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\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n$dropdown-offset: 3rem;\n\n:host(.overflow) {\n max-height: calc(50vh - $dropdown-offset); \n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\nimport { findElement } from '../utils/find-element';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { ElementReference } from '../utils/element-reference';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger?: ElementReference;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor?: ElementReference;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset?: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle?: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialization of this dropdown is expected to be deferred submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /** @internal */\n @Prop() suppressOverflowBehavior = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged!: EventEmitter<boolean>;\n\n private autoUpdateCleanup?: () => void;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n private arrowFocusController?: ArrowFocusController;\n\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private itemObserver? = new MutationObserver(() => {\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.dropdownItems;\n }\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.arrowFocusController) {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n }\n\n if (this.itemObserver) {\n this.itemObserver.disconnect();\n this.itemObserver = undefined;\n }\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n this.disposeClickListener = undefined;\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n this.disposeKeyListener = undefined;\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot!.querySelector('slot');\n }\n\n private disposeClickListener?: DisposableEventListener;\n private disposeKeyListener?: DisposableEventListener;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: Event) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n ((event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }) as EventListener\n );\n }\n\n private async registerListener(element: ElementReference) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(element: ElementReference) {\n const el = await findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element?: Element) {\n if (!element) {\n return undefined;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private async resolveAnchorElement() {\n if (this.anchor) {\n this.anchorElement = await this.resolveElement(this.anchor);\n } else if (this.trigger) {\n this.anchorElement = await this.resolveElement(this.trigger);\n }\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n await this.resolveAnchorElement();\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.hostElement,\n (index) => this.focusDropdownItem(index)\n );\n\n this.itemObserver?.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.destroyAutoUpdate();\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: ElementReference) {\n this.registerListener(newTriggerValue);\n }\n\n private destroyAutoUpdate() {\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware?.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...(positionConfig.middleware?.filter(Boolean) || []),\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n this.destroyAutoUpdate();\n\n if (!this.anchorElement) {\n return;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.hostElement,\n async () => {\n if (this.anchorElement) {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.hostElement,\n positionConfig\n );\n Object.assign(this.hostElement.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(\n computeResponse.x\n )}px,${Math.round(computeResponse.y)}px)`,\n });\n }\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.hostElement,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.hostElement.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n const button =\n this.dropdownItems[index]?.shadowRoot?.querySelector('button');\n\n if (button) {\n button.focus();\n }\n });\n }\n\n async componentDidLoad() {\n if (!this.trigger) {\n return;\n }\n\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n await this.resolveAnchorElement();\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: !this.suppressOverflowBehavior,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n {this.show && <slot></slot>}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}