@siemens/ix 2.5.0 → 2.6.0

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 (1456) hide show
  1. package/components/a11y.js +3 -2
  2. package/components/a11y.js.map +1 -1
  3. package/components/application-header.js +3 -3
  4. package/components/avatar.js +12 -4
  5. package/components/avatar.js.map +1 -1
  6. package/components/base-button.js +2 -2
  7. package/components/base-button.js.map +1 -1
  8. package/components/button.js +13 -4
  9. package/components/button.js.map +1 -1
  10. package/components/card-accordion.js +5 -5
  11. package/components/card-accordion.js.map +1 -1
  12. package/components/card-content.js +1 -1
  13. package/components/card-title.js +1 -1
  14. package/components/card.js +4 -4
  15. package/components/card.js.map +1 -1
  16. package/components/col.js +1 -1
  17. package/components/col.js.map +1 -1
  18. package/components/context.js +5 -2
  19. package/components/context.js.map +1 -1
  20. package/components/date-picker.js +65 -43
  21. package/components/date-picker.js.map +1 -1
  22. package/components/date-time-card.js +5 -6
  23. package/components/date-time-card.js.map +1 -1
  24. package/components/divider.js +1 -1
  25. package/components/dropdown-controller.js +28 -12
  26. package/components/dropdown-controller.js.map +1 -1
  27. package/components/dropdown-item.js +3 -3
  28. package/components/dropdown.js +103 -82
  29. package/components/dropdown.js.map +1 -1
  30. package/components/field-label.js +164 -0
  31. package/components/field-label.js.map +1 -0
  32. package/components/field-wrapper.js +97 -0
  33. package/components/field-wrapper.js.map +1 -0
  34. package/components/filter-chip.js +1 -1
  35. package/components/find-element.js +102 -0
  36. package/components/find-element.js.map +1 -0
  37. package/components/group-context-menu.js +1 -1
  38. package/components/group-item.js +2 -2
  39. package/components/helper-text-util.js +41 -0
  40. package/components/helper-text-util.js.map +1 -0
  41. package/components/icon-button.js +2 -2
  42. package/components/icon-button.js.map +1 -1
  43. package/components/index.js +43 -5
  44. package/components/index.js.map +1 -1
  45. package/components/index3.js +21 -0
  46. package/components/index3.js.map +1 -0
  47. package/components/input.util.js +181 -0
  48. package/components/input.util.js.map +1 -0
  49. package/components/ix-action-card.js +1 -1
  50. package/components/ix-action-card.js.map +1 -1
  51. package/components/ix-application-sidebar.js +1 -1
  52. package/components/ix-application-switch-modal.js +1 -1
  53. package/components/ix-application.js +3 -3
  54. package/components/ix-basic-navigation.js +2 -2
  55. package/components/ix-blind.js +5 -5
  56. package/components/ix-blind.js.map +1 -1
  57. package/components/ix-breadcrumb.js +9 -10
  58. package/components/ix-breadcrumb.js.map +1 -1
  59. package/components/ix-card-list.js +10 -7
  60. package/components/ix-card-list.js.map +1 -1
  61. package/components/ix-category-filter.js +152 -82
  62. package/components/ix-category-filter.js.map +1 -1
  63. package/components/{ix-playground-internal.d.ts → ix-checkbox-group.d.ts} +4 -4
  64. package/components/ix-checkbox-group.js +111 -0
  65. package/components/ix-checkbox-group.js.map +1 -0
  66. package/components/ix-checkbox.d.ts +11 -0
  67. package/components/ix-checkbox.js +144 -0
  68. package/components/ix-checkbox.js.map +1 -0
  69. package/components/ix-chip.js +4 -4
  70. package/components/ix-content-header.js +2 -2
  71. package/components/ix-content-header.js.map +1 -1
  72. package/components/ix-content.js +4 -4
  73. package/components/ix-content.js.map +1 -1
  74. package/components/ix-css-grid-item.js +1 -1
  75. package/components/ix-css-grid.js +8 -3
  76. package/components/ix-css-grid.js.map +1 -1
  77. package/components/ix-custom-field.d.ts +11 -0
  78. package/components/ix-custom-field.js +116 -0
  79. package/components/ix-custom-field.js.map +1 -0
  80. package/components/ix-date-dropdown.js +29 -16
  81. package/components/ix-date-dropdown.js.map +1 -1
  82. package/components/{ix-form-field.d.ts → ix-date-input.d.ts} +4 -4
  83. package/components/ix-date-input.js +364 -0
  84. package/components/ix-date-input.js.map +1 -0
  85. package/components/ix-datetime-picker.js +11 -11
  86. package/components/ix-datetime-picker.js.map +1 -1
  87. package/components/ix-drawer.js +28 -24
  88. package/components/ix-drawer.js.map +1 -1
  89. package/components/ix-dropdown-button.js +5 -7
  90. package/components/ix-dropdown-button.js.map +1 -1
  91. package/components/ix-dropdown-header.js +1 -1
  92. package/components/ix-dropdown-header.js.map +1 -1
  93. package/components/ix-dropdown-quick-actions.js +1 -1
  94. package/components/ix-empty-state.js +1 -1
  95. package/components/ix-empty-state.js.map +1 -1
  96. package/components/ix-event-list-item.js +7 -7
  97. package/components/ix-event-list-item.js.map +1 -1
  98. package/components/ix-event-list.js +4 -4
  99. package/components/ix-event-list.js.map +1 -1
  100. package/components/ix-expanding-search.js +4 -4
  101. package/components/ix-field-label.d.ts +11 -0
  102. package/components/ix-field-label.js +8 -0
  103. package/components/ix-field-label.js.map +1 -0
  104. package/components/{ix-modal-example.d.ts → ix-field-wrapper.d.ts} +4 -4
  105. package/components/ix-field-wrapper.js +8 -0
  106. package/components/ix-field-wrapper.js.map +1 -0
  107. package/components/ix-flip-tile-content.js +1 -1
  108. package/components/ix-flip-tile.js +4 -4
  109. package/components/ix-group.js +8 -8
  110. package/components/ix-helper-text.d.ts +11 -0
  111. package/components/ix-helper-text.js +97 -0
  112. package/components/ix-helper-text.js.map +1 -0
  113. package/components/ix-icon-toggle-button.js +2 -3
  114. package/components/ix-icon-toggle-button.js.map +1 -1
  115. package/components/ix-input-group.js +1 -1
  116. package/components/ix-input.d.ts +11 -0
  117. package/components/ix-input.js +221 -0
  118. package/components/ix-input.js.map +1 -0
  119. package/components/ix-key-value-list.js +1 -1
  120. package/components/ix-key-value.js +1 -1
  121. package/components/ix-kpi.js +3 -3
  122. package/components/ix-layout-auto.d.ts +11 -0
  123. package/components/ix-layout-auto.js +110 -0
  124. package/components/ix-layout-auto.js.map +1 -0
  125. package/components/ix-link-button.js +3 -3
  126. package/components/ix-map-navigation.js +2 -2
  127. package/components/ix-menu-about-item.js +1 -1
  128. package/components/ix-menu-about-news.js +4 -4
  129. package/components/ix-menu-about-news.js.map +1 -1
  130. package/components/ix-menu-about.js +1 -1
  131. package/components/ix-menu-avatar.js +2 -2
  132. package/components/ix-menu-category.js +5 -5
  133. package/components/ix-menu-category.js.map +1 -1
  134. package/components/ix-menu-settings-item.js +1 -1
  135. package/components/ix-menu.js +28 -29
  136. package/components/ix-menu.js.map +1 -1
  137. package/components/ix-message-bar.js +1 -1
  138. package/components/ix-modal-footer.js +2 -2
  139. package/components/ix-modal-footer.js.map +1 -1
  140. package/components/ix-modal-loading.js +1 -1
  141. package/components/ix-modal.js +11 -4
  142. package/components/ix-modal.js.map +1 -1
  143. package/components/ix-number-input.d.ts +11 -0
  144. package/components/ix-number-input.js +221 -0
  145. package/components/ix-number-input.js.map +1 -0
  146. package/components/ix-pagination.js +35 -17
  147. package/components/ix-pagination.js.map +1 -1
  148. package/components/ix-pane-layout.js +9 -9
  149. package/components/ix-pane-layout.js.map +1 -1
  150. package/components/ix-pane.js +43 -35
  151. package/components/ix-pane.js.map +1 -1
  152. package/components/ix-pill.js +4 -4
  153. package/components/ix-push-card.js +1 -1
  154. package/components/ix-radio-group.d.ts +11 -0
  155. package/components/ix-radio-group.js +174 -0
  156. package/components/ix-radio-group.js.map +1 -0
  157. package/components/ix-radio.d.ts +11 -0
  158. package/components/ix-radio.js +123 -0
  159. package/components/ix-radio.js.map +1 -0
  160. package/components/ix-slider.js +7 -7
  161. package/components/ix-slider.js.map +1 -1
  162. package/components/ix-split-button-item.js +1 -1
  163. package/components/ix-split-button.js +1 -1
  164. package/components/ix-textarea.d.ts +11 -0
  165. package/components/ix-textarea.js +179 -0
  166. package/components/ix-textarea.js.map +1 -0
  167. package/components/ix-tile.js +4 -4
  168. package/components/ix-toast-container.js +2 -2
  169. package/components/ix-toggle-button.js +2 -2
  170. package/components/ix-toggle.js +43 -5
  171. package/components/ix-toggle.js.map +1 -1
  172. package/components/ix-tree.js +1 -1
  173. package/components/ix-upload.js +61 -5
  174. package/components/ix-upload.js.map +1 -1
  175. package/components/ix-validation-tooltip.js +2 -2
  176. package/components/ix-workflow-step.js +3 -3
  177. package/components/ix-workflow-steps.js +1 -1
  178. package/components/layout-grid.js +2 -2
  179. package/components/layout-grid.js.map +1 -1
  180. package/components/listener.js +1 -1
  181. package/components/listener.js.map +1 -1
  182. package/components/make-ref.js +7 -12
  183. package/components/make-ref.js.map +1 -1
  184. package/components/map-navigation-overlay.js +2 -2
  185. package/components/menu-avatar-item.js +1 -1
  186. package/components/menu-expand-icon.js +1 -1
  187. package/components/menu-item.js +7 -6
  188. package/components/menu-item.js.map +1 -1
  189. package/components/menu-tabs-fc.js +17 -14
  190. package/components/menu-tabs-fc.js.map +1 -1
  191. package/components/modal-content.js +2 -2
  192. package/components/modal-content.js.map +1 -1
  193. package/components/modal-header.js +2 -2
  194. package/components/modal-header.js.map +1 -1
  195. package/components/modal.js +3 -1
  196. package/components/modal.js.map +1 -1
  197. package/components/row.js +1 -1
  198. package/components/select-item.js +27 -5
  199. package/components/select-item.js.map +1 -1
  200. package/components/select.js +196 -67
  201. package/components/select.js.map +1 -1
  202. package/components/spinner.js +4 -8
  203. package/components/spinner.js.map +1 -1
  204. package/components/tab-item.js +3 -3
  205. package/components/tabs.js +2 -2
  206. package/components/theme-switcher.js +1 -0
  207. package/components/theme-switcher.js.map +1 -1
  208. package/components/time-picker.js +39 -19
  209. package/components/time-picker.js.map +1 -1
  210. package/components/toast.js +2 -2
  211. package/components/tooltip.js +5 -4
  212. package/components/tooltip.js.map +1 -1
  213. package/components/tree-item.js +4 -4
  214. package/components/typography.js +3 -25
  215. package/components/typography.js.map +1 -1
  216. package/components/validation.js +112 -0
  217. package/components/validation.js.map +1 -0
  218. package/dist/cjs/{a11y-eba397e8.js → a11y-ae470f01.js} +4 -3
  219. package/dist/cjs/a11y-ae470f01.js.map +1 -0
  220. package/dist/cjs/app-globals-3c9c6a50.js +9 -0
  221. package/dist/cjs/app-globals-3c9c6a50.js.map +1 -0
  222. package/dist/cjs/{base-button-3735b8c2.js → base-button-119d9368.js} +4 -4
  223. package/dist/cjs/base-button-119d9368.js.map +1 -0
  224. package/dist/cjs/{base-icon-button-44c72bc8.js → base-icon-button-d09d934e.js} +3 -3
  225. package/dist/cjs/{base-icon-button-44c72bc8.js.map → base-icon-button-d09d934e.js.map} +1 -1
  226. package/dist/cjs/{context-938f7470.js → context-6644f454.js} +6 -3
  227. package/dist/cjs/context-6644f454.js.map +1 -0
  228. package/dist/cjs/disposable-event-listener-1ed769b9.js +20 -0
  229. package/dist/cjs/disposable-event-listener-1ed769b9.js.map +1 -0
  230. package/dist/cjs/{dropdown-controller-5ef3d018.js → dropdown-controller-aef51729.js} +28 -13
  231. package/dist/cjs/dropdown-controller-aef51729.js.map +1 -0
  232. package/dist/cjs/find-element-8e586600.js +105 -0
  233. package/dist/cjs/find-element-8e586600.js.map +1 -0
  234. package/dist/cjs/{focus-9c8ffbb0.js → focus-935fb067.js} +22 -18
  235. package/dist/cjs/focus-935fb067.js.map +1 -0
  236. package/dist/cjs/helper-text-util-3192e78f.js +44 -0
  237. package/dist/cjs/helper-text-util-3192e78f.js.map +1 -0
  238. package/dist/cjs/{index-c4629a8d.js → index-74904d8b.js} +2 -2
  239. package/dist/cjs/{index-c4629a8d.js.map → index-74904d8b.js.map} +1 -1
  240. package/dist/cjs/{index-529f21c1.js → index-757233c7.js} +86 -171
  241. package/dist/cjs/index-757233c7.js.map +1 -0
  242. package/dist/cjs/index-d2117dc0.js +38 -0
  243. package/dist/cjs/index-d2117dc0.js.map +1 -0
  244. package/dist/cjs/index.cjs.js +21 -2
  245. package/dist/cjs/index.cjs.js.map +1 -1
  246. package/dist/cjs/input.util-1c2fa43d.js +192 -0
  247. package/dist/cjs/input.util-1c2fa43d.js.map +1 -0
  248. package/dist/cjs/ix-action-card.cjs.entry.js +2 -2
  249. package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
  250. package/dist/cjs/ix-application-header.cjs.entry.js +7 -7
  251. package/dist/cjs/ix-application-sidebar.cjs.entry.js +2 -2
  252. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +3 -3
  253. package/dist/cjs/ix-application.cjs.entry.js +6 -6
  254. package/dist/cjs/ix-avatar_2.cjs.entry.js +16 -8
  255. package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
  256. package/dist/cjs/ix-basic-navigation.cjs.entry.js +4 -4
  257. package/dist/cjs/ix-blind.cjs.entry.js +7 -7
  258. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  259. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +3 -3
  260. package/dist/cjs/ix-breadcrumb.cjs.entry.js +11 -10
  261. package/dist/cjs/ix-breadcrumb.cjs.entry.js.map +1 -1
  262. package/dist/cjs/ix-button.cjs.entry.js +14 -5
  263. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  264. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +7 -7
  265. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  266. package/dist/cjs/ix-card-list.cjs.entry.js +11 -8
  267. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
  268. package/dist/cjs/ix-card_2.cjs.entry.js +6 -6
  269. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  270. package/dist/cjs/ix-category-filter.cjs.entry.js +154 -82
  271. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  272. package/dist/cjs/ix-checkbox-group.cjs.entry.js +60 -0
  273. package/dist/cjs/ix-checkbox-group.cjs.entry.js.map +1 -0
  274. package/dist/cjs/ix-checkbox.cjs.entry.js +117 -0
  275. package/dist/cjs/ix-checkbox.cjs.entry.js.map +1 -0
  276. package/dist/cjs/ix-chip.cjs.entry.js +5 -5
  277. package/dist/cjs/ix-col_4.cjs.entry.js +75 -49
  278. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  279. package/dist/cjs/ix-content-header.cjs.entry.js +3 -3
  280. package/dist/cjs/ix-content-header.cjs.entry.js.map +1 -1
  281. package/dist/cjs/ix-content.cjs.entry.js +5 -5
  282. package/dist/cjs/ix-content.cjs.entry.js.map +1 -1
  283. package/dist/cjs/ix-css-grid-item.cjs.entry.js +2 -2
  284. package/dist/cjs/ix-css-grid.cjs.entry.js +9 -4
  285. package/dist/cjs/ix-css-grid.cjs.entry.js.map +1 -1
  286. package/dist/cjs/ix-custom-field.cjs.entry.js +65 -0
  287. package/dist/cjs/ix-custom-field.cjs.entry.js.map +1 -0
  288. package/dist/cjs/ix-date-dropdown.cjs.entry.js +28 -16
  289. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  290. package/dist/cjs/ix-date-input.cjs.entry.js +266 -0
  291. package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -0
  292. package/dist/cjs/ix-date-time-card.cjs.entry.js +5 -6
  293. package/dist/cjs/ix-date-time-card.cjs.entry.js.map +1 -1
  294. package/dist/cjs/ix-datetime-picker.cjs.entry.js +11 -11
  295. package/dist/cjs/ix-datetime-picker.cjs.entry.js.map +1 -1
  296. package/dist/cjs/ix-divider.cjs.entry.js +2 -2
  297. package/dist/cjs/ix-drawer.cjs.entry.js +29 -25
  298. package/dist/cjs/ix-drawer.cjs.entry.js.map +1 -1
  299. package/dist/cjs/ix-dropdown-button.cjs.entry.js +5 -6
  300. package/dist/cjs/ix-dropdown-button.cjs.entry.js.map +1 -1
  301. package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
  302. package/dist/cjs/ix-dropdown-header.cjs.entry.js.map +1 -1
  303. package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
  304. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +2 -2
  305. package/dist/cjs/ix-dropdown.cjs.entry.js +71 -67
  306. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  307. package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
  308. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  309. package/dist/cjs/ix-event-list-item.cjs.entry.js +9 -9
  310. package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
  311. package/dist/cjs/ix-event-list.cjs.entry.js +5 -5
  312. package/dist/cjs/ix-event-list.cjs.entry.js.map +1 -1
  313. package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -5
  314. package/dist/cjs/{ix-tooltip.cjs.entry.js → ix-field-label_3.cjs.entry.js} +184 -7
  315. package/dist/cjs/ix-field-label_3.cjs.entry.js.map +1 -0
  316. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +28 -7
  317. package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
  318. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +2 -2
  319. package/dist/cjs/ix-flip-tile.cjs.entry.js +5 -5
  320. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
  321. package/dist/cjs/ix-group.cjs.entry.js +9 -9
  322. package/dist/cjs/ix-helper-text.cjs.entry.js +70 -0
  323. package/dist/cjs/ix-helper-text.cjs.entry.js.map +1 -0
  324. package/dist/cjs/ix-icon-button_2.cjs.entry.js +10 -14
  325. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  326. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +6 -7
  327. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  328. package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
  329. package/dist/cjs/ix-input.cjs.entry.js +149 -0
  330. package/dist/cjs/ix-input.cjs.entry.js.map +1 -0
  331. package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
  332. package/dist/cjs/ix-key-value.cjs.entry.js +2 -2
  333. package/dist/cjs/ix-kpi.cjs.entry.js +4 -4
  334. package/dist/cjs/ix-layout-auto.cjs.entry.js +92 -0
  335. package/dist/cjs/ix-layout-auto.cjs.entry.js.map +1 -0
  336. package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
  337. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +3 -3
  338. package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
  339. package/dist/cjs/ix-menu-about-item.cjs.entry.js +2 -2
  340. package/dist/cjs/ix-menu-about-news.cjs.entry.js +5 -5
  341. package/dist/cjs/ix-menu-about-news.cjs.entry.js.map +1 -1
  342. package/dist/cjs/ix-menu-about.cjs.entry.js +3 -3
  343. package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
  344. package/dist/cjs/ix-menu-category.cjs.entry.js +7 -7
  345. package/dist/cjs/ix-menu-category.cjs.entry.js.map +1 -1
  346. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +4 -4
  347. package/dist/cjs/ix-menu-item.cjs.entry.js +9 -8
  348. package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
  349. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +2 -2
  350. package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
  351. package/dist/cjs/ix-menu.cjs.entry.js +33 -33
  352. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  353. package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
  354. package/dist/cjs/ix-modal-content_2.cjs.entry.js +5 -5
  355. package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
  356. package/dist/cjs/ix-modal-footer.cjs.entry.js +3 -3
  357. package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
  358. package/dist/cjs/ix-modal-loading.cjs.entry.js +2 -2
  359. package/dist/cjs/ix-modal.cjs.entry.js +14 -7
  360. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  361. package/dist/cjs/ix-number-input.cjs.entry.js +152 -0
  362. package/dist/cjs/ix-number-input.cjs.entry.js.map +1 -0
  363. package/dist/cjs/ix-pagination.cjs.entry.js +6 -6
  364. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  365. package/dist/cjs/ix-pane-layout.cjs.entry.js +10 -10
  366. package/dist/cjs/ix-pane-layout.cjs.entry.js.map +1 -1
  367. package/dist/cjs/ix-pane.cjs.entry.js +43 -35
  368. package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
  369. package/dist/cjs/ix-pill.cjs.entry.js +5 -5
  370. package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
  371. package/dist/cjs/ix-radio-group.cjs.entry.js +120 -0
  372. package/dist/cjs/ix-radio-group.cjs.entry.js.map +1 -0
  373. package/dist/cjs/ix-radio.cjs.entry.js +98 -0
  374. package/dist/cjs/ix-radio.cjs.entry.js.map +1 -0
  375. package/dist/cjs/ix-select.cjs.entry.js +150 -53
  376. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  377. package/dist/cjs/ix-slider.cjs.entry.js +10 -10
  378. package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
  379. package/dist/cjs/ix-split-button-item.cjs.entry.js +3 -3
  380. package/dist/cjs/ix-split-button.cjs.entry.js +2 -2
  381. package/dist/cjs/ix-tab-item_2.cjs.entry.js +6 -6
  382. package/dist/cjs/ix-textarea.cjs.entry.js +120 -0
  383. package/dist/cjs/ix-textarea.cjs.entry.js.map +1 -0
  384. package/dist/cjs/ix-tile.cjs.entry.js +5 -5
  385. package/dist/cjs/ix-time-picker.cjs.entry.js +40 -20
  386. package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
  387. package/dist/cjs/ix-toast-container.cjs.entry.js +3 -3
  388. package/dist/cjs/ix-toast.cjs.entry.js +3 -3
  389. package/dist/cjs/ix-toggle-button.cjs.entry.js +5 -5
  390. package/dist/cjs/ix-toggle.cjs.entry.js +42 -5
  391. package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
  392. package/dist/cjs/ix-tree-item.cjs.entry.js +5 -5
  393. package/dist/cjs/ix-tree.cjs.entry.js +3 -3
  394. package/dist/cjs/ix-typography.cjs.entry.js +4 -25
  395. package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
  396. package/dist/cjs/ix-upload.cjs.entry.js +60 -6
  397. package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
  398. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
  399. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
  400. package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
  401. package/dist/cjs/{listener-a124ed49.js → listener-9ec23f49.js} +3 -3
  402. package/dist/cjs/listener-9ec23f49.js.map +1 -0
  403. package/dist/cjs/loader.cjs.js +4 -3
  404. package/dist/cjs/loader.cjs.js.map +1 -1
  405. package/dist/cjs/{make-ref-c25629b7.js → make-ref-499e1e41.js} +8 -13
  406. package/dist/cjs/make-ref-499e1e41.js.map +1 -0
  407. package/dist/cjs/{menu-tabs-fc-df53f176.js → menu-tabs-fc-eb899b0d.js} +19 -16
  408. package/dist/cjs/menu-tabs-fc-eb899b0d.js.map +1 -0
  409. package/dist/cjs/{modal-828cb80a.js → modal-a49409aa.js} +4 -2
  410. package/dist/cjs/modal-a49409aa.js.map +1 -0
  411. package/dist/cjs/{app-globals-5cfdf2a0.js → setup-86b7d543.js} +20 -5
  412. package/dist/cjs/setup-86b7d543.js.map +1 -0
  413. package/dist/cjs/siemens-ix.cjs.js +4 -3
  414. package/dist/cjs/siemens-ix.cjs.js.map +1 -1
  415. package/dist/cjs/{theme-switcher-2d2bde85.js → theme-switcher-88b70d73.js} +2 -1
  416. package/dist/cjs/theme-switcher-88b70d73.js.map +1 -0
  417. package/dist/cjs/validation-1e3dd5ee.js +117 -0
  418. package/dist/cjs/validation-1e3dd5ee.js.map +1 -0
  419. package/dist/collection/collection-manifest.json +15 -5
  420. package/dist/collection/components/action-card/action-card.js +3 -3
  421. package/dist/collection/components/action-card/action-card.js.map +1 -1
  422. package/dist/collection/components/application/application.js +4 -4
  423. package/dist/collection/components/application-header/application-header.js +3 -3
  424. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
  425. package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
  426. package/dist/collection/components/avatar/avatar.css +1 -1
  427. package/dist/collection/components/avatar/avatar.js +15 -7
  428. package/dist/collection/components/avatar/avatar.js.map +1 -1
  429. package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
  430. package/dist/collection/components/blind/blind.js +8 -8
  431. package/dist/collection/components/blind/blind.js.map +1 -1
  432. package/dist/collection/components/breadcrumb/breadcrumb.js +9 -10
  433. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  434. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js +2 -1
  435. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +1 -1
  436. package/dist/collection/components/button/base-button.js +2 -2
  437. package/dist/collection/components/button/base-button.js.map +1 -1
  438. package/dist/collection/components/button/button.js +22 -4
  439. package/dist/collection/components/button/button.js.map +1 -1
  440. package/dist/collection/components/card/card.css +26 -10
  441. package/dist/collection/components/card/card.js +5 -4
  442. package/dist/collection/components/card/card.js.map +1 -1
  443. package/dist/collection/components/card-accordion/card-accordion.js +5 -5
  444. package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
  445. package/dist/collection/components/card-content/card-content.js +1 -1
  446. package/dist/collection/components/card-list/card-list.css +1 -1
  447. package/dist/collection/components/card-list/card-list.js +12 -9
  448. package/dist/collection/components/card-list/card-list.js.map +1 -1
  449. package/dist/collection/components/card-title/card-title.js +1 -1
  450. package/dist/collection/components/category-filter/category-filter.css +300 -36
  451. package/dist/collection/components/category-filter/category-filter.js +165 -80
  452. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  453. package/dist/collection/components/category-filter/test/category-filter.ct.js +15 -5
  454. package/dist/collection/components/category-filter/test/category-filter.ct.js.map +1 -1
  455. package/dist/collection/components/checkbox/checkbox.css +423 -0
  456. package/dist/collection/components/checkbox/checkbox.js +326 -0
  457. package/dist/collection/components/checkbox/checkbox.js.map +1 -0
  458. package/dist/collection/components/checkbox/tests/checkbox.ct.js +44 -0
  459. package/dist/collection/components/checkbox/tests/checkbox.ct.js.map +1 -0
  460. package/dist/collection/components/checkbox-group/checkbox-group.css +38 -0
  461. package/dist/collection/components/checkbox-group/checkbox-group.js +213 -0
  462. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -0
  463. package/dist/collection/components/chip/chip.js +4 -4
  464. package/dist/collection/components/col/col.js +1 -1
  465. package/dist/collection/components/col/col.js.map +1 -1
  466. package/dist/collection/components/content/content.css +1 -0
  467. package/dist/collection/components/content/content.js +3 -3
  468. package/dist/collection/components/content/content.js.map +1 -1
  469. package/dist/collection/components/content-header/content-header.css +6 -3
  470. package/dist/collection/components/content-header/content-header.js +2 -2
  471. package/dist/collection/components/content-header/content-header.js.map +1 -1
  472. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  473. package/dist/collection/components/css-grid/css-grid.js +9 -4
  474. package/dist/collection/components/css-grid/css-grid.js.map +1 -1
  475. package/dist/collection/components/custom-field/custom-field.css +15 -0
  476. package/dist/collection/components/custom-field/custom-field.js +216 -0
  477. package/dist/collection/components/custom-field/custom-field.js.map +1 -0
  478. package/dist/collection/components/custom-field/tests/custom-field.ct.js +68 -0
  479. package/dist/collection/components/custom-field/tests/custom-field.ct.js.map +1 -0
  480. package/dist/collection/components/date-dropdown/date-dropdown.css +1 -1
  481. package/dist/collection/components/date-dropdown/date-dropdown.js +76 -20
  482. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  483. package/dist/collection/components/date-input/date-input.css +1126 -0
  484. package/dist/collection/components/date-input/date-input.js +743 -0
  485. package/dist/collection/components/date-input/date-input.js.map +1 -0
  486. package/dist/collection/components/date-input/tests/date-input.ct.js +114 -0
  487. package/dist/collection/components/date-input/tests/date-input.ct.js.map +1 -0
  488. package/dist/collection/components/date-picker/date-picker-component.js +2 -0
  489. package/dist/collection/components/date-picker/date-picker-component.js.map +1 -0
  490. package/dist/collection/components/date-picker/date-picker.css +26 -10
  491. package/dist/collection/components/date-picker/date-picker.js +74 -50
  492. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  493. package/dist/collection/components/date-picker/test/date-picker.ct.js +22 -0
  494. package/dist/collection/components/date-picker/test/date-picker.ct.js.map +1 -1
  495. package/dist/collection/components/date-time-card/date-time-card.css +1 -1
  496. package/dist/collection/components/date-time-card/date-time-card.js +8 -10
  497. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  498. package/dist/collection/components/datetime-picker/datetime-picker.css +23 -11
  499. package/dist/collection/components/datetime-picker/datetime-picker.js +24 -25
  500. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  501. package/dist/collection/components/divider/divider.js +1 -1
  502. package/dist/collection/components/drawer/drawer.css +0 -3
  503. package/dist/collection/components/drawer/drawer.js +27 -23
  504. package/dist/collection/components/drawer/drawer.js.map +1 -1
  505. package/dist/collection/components/drawer/test/drawer.spec.js +2 -2
  506. package/dist/collection/components/drawer/test/drawer.spec.js.map +1 -1
  507. package/dist/collection/components/dropdown/dropdown-controller.js +27 -15
  508. package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
  509. package/dist/collection/components/dropdown/dropdown.js +105 -82
  510. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  511. package/dist/collection/components/dropdown/test/dropdown.ct.js +19 -8
  512. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
  513. package/dist/collection/components/dropdown-button/dropdown-button.js +7 -13
  514. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  515. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  516. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  517. package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
  518. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  519. package/dist/collection/components/empty-state/empty-state.js +1 -1
  520. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  521. package/dist/collection/components/event-list/event-list.css +0 -6
  522. package/dist/collection/components/event-list/event-list.js +5 -4
  523. package/dist/collection/components/event-list/event-list.js.map +1 -1
  524. package/dist/collection/components/event-list-item/event-list-item.js +15 -12
  525. package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
  526. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  527. package/dist/collection/components/field-label/field-label.css +14 -0
  528. package/dist/collection/components/field-label/field-label.js +230 -0
  529. package/dist/collection/components/field-label/field-label.js.map +1 -0
  530. package/dist/collection/components/field-label/tests/field-label.ct.js +113 -0
  531. package/dist/collection/components/field-label/tests/field-label.ct.js.map +1 -0
  532. package/dist/collection/components/field-wrapper/field-wrapper.css +62 -0
  533. package/dist/collection/components/field-wrapper/field-wrapper.js +317 -0
  534. package/dist/collection/components/field-wrapper/field-wrapper.js.map +1 -0
  535. package/dist/collection/components/field-wrapper/helper-text-util.js +29 -0
  536. package/dist/collection/components/field-wrapper/helper-text-util.js.map +1 -0
  537. package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js +63 -0
  538. package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js.map +1 -0
  539. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  540. package/dist/collection/components/flip-tile/flip-tile.js +4 -4
  541. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  542. package/dist/collection/components/group/group-context-menu.js +1 -1
  543. package/dist/collection/components/group/group.js +8 -8
  544. package/dist/collection/components/group-item/group-item.js +2 -2
  545. package/dist/collection/components/helper-text/helper-text.css +34 -0
  546. package/dist/collection/components/helper-text/helper-text.js +179 -0
  547. package/dist/collection/components/helper-text/helper-text.js.map +1 -0
  548. package/dist/collection/components/icon-button/icon-button.css +0 -15
  549. package/dist/collection/components/icon-button/icon-button.js +1 -1
  550. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +0 -15
  551. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -2
  552. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
  553. package/dist/collection/components/input/input.animation.js +36 -0
  554. package/dist/collection/components/input/input.animation.js.map +1 -0
  555. package/dist/collection/components/input/input.css +1087 -0
  556. package/dist/collection/components/input/input.fc.js +42 -0
  557. package/dist/collection/components/input/input.fc.js.map +1 -0
  558. package/dist/collection/components/input/input.js +608 -0
  559. package/dist/collection/components/input/input.js.map +1 -0
  560. package/dist/collection/components/input/input.util.js +103 -0
  561. package/dist/collection/components/input/input.util.js.map +1 -0
  562. package/dist/collection/components/{form-field/form-field.css → input/number-input.css} +348 -15
  563. package/dist/collection/components/input/number-input.js +606 -0
  564. package/dist/collection/components/input/number-input.js.map +1 -0
  565. package/dist/collection/components/input/tests/form-ready.ct.js +63 -0
  566. package/dist/collection/components/input/tests/form-ready.ct.js.map +1 -0
  567. package/dist/collection/components/input/textarea.css +649 -0
  568. package/dist/collection/components/input/textarea.js +615 -0
  569. package/dist/collection/components/input/textarea.js.map +1 -0
  570. package/dist/collection/components/input-group/input-group.js +1 -1
  571. package/dist/collection/components/key-value/key-value.js +1 -1
  572. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  573. package/dist/collection/components/kpi/kpi.js +3 -3
  574. package/dist/collection/components/layout-auto/layout-auto.css +16 -0
  575. package/dist/collection/components/layout-auto/layout-auto.js +122 -0
  576. package/dist/collection/components/layout-auto/layout-auto.js.map +1 -0
  577. package/dist/collection/components/{grid → layout-grid}/layout-grid.js +2 -2
  578. package/dist/collection/components/layout-grid/layout-grid.js.map +1 -0
  579. package/dist/collection/components/link-button/link-button.js +3 -3
  580. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  581. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  582. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  583. package/dist/collection/components/menu/menu.js +29 -30
  584. package/dist/collection/components/menu/menu.js.map +1 -1
  585. package/dist/collection/components/menu-about/menu-about.js +1 -1
  586. package/dist/collection/components/menu-about/test/menu-about.ct.js +44 -0
  587. package/dist/collection/components/menu-about/test/menu-about.ct.js.map +1 -0
  588. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  589. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  590. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  591. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  592. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  593. package/dist/collection/components/menu-category/menu-category.js +5 -5
  594. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  595. package/dist/collection/components/menu-item/menu-item.js +7 -6
  596. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  597. package/dist/collection/components/menu-settings/menu-settings.js +1 -1
  598. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  599. package/dist/collection/components/message-bar/message-bar.js +1 -1
  600. package/dist/collection/components/modal/modal.css +1 -1
  601. package/dist/collection/components/modal/modal.js +10 -3
  602. package/dist/collection/components/modal/modal.js.map +1 -1
  603. package/dist/collection/components/modal/test/modal.ct.js +46 -0
  604. package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
  605. package/dist/collection/components/modal-content/modal-content.css +1 -1
  606. package/dist/collection/components/modal-content/modal-content.js +1 -1
  607. package/dist/collection/components/modal-footer/modal-footer.css +0 -1
  608. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  609. package/dist/collection/components/modal-header/modal-header.css +6 -7
  610. package/dist/collection/components/modal-header/modal-header.js +3 -3
  611. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  612. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  613. package/dist/collection/components/pagination/pagination.css +0 -15
  614. package/dist/collection/components/pagination/pagination.js +2 -2
  615. package/dist/collection/components/pagination/pagination.js.map +1 -1
  616. package/dist/collection/components/pane/pane.js +46 -38
  617. package/dist/collection/components/pane/pane.js.map +1 -1
  618. package/dist/collection/components/pane/test/panes.ct.js +24 -0
  619. package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
  620. package/dist/collection/components/pane-layout/pane-layout.js +9 -9
  621. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  622. package/dist/collection/components/pill/pill.js +4 -4
  623. package/dist/collection/components/push-card/push-card.js +1 -1
  624. package/dist/collection/components/radio/radio.css +430 -0
  625. package/dist/collection/components/radio/radio.js +278 -0
  626. package/dist/collection/components/radio/radio.js.map +1 -0
  627. package/dist/collection/components/radio/test/radio.ct.js +36 -0
  628. package/dist/collection/components/radio/test/radio.ct.js.map +1 -0
  629. package/dist/collection/components/radio-group/radio-group.css +38 -0
  630. package/dist/collection/components/radio-group/radio-group.js +326 -0
  631. package/dist/collection/components/radio-group/radio-group.js.map +1 -0
  632. package/dist/collection/components/radio-group/test/radio-group.ct.js +100 -0
  633. package/dist/collection/components/radio-group/test/radio-group.ct.js.map +1 -0
  634. package/dist/collection/components/row/row.js +1 -1
  635. package/dist/collection/components/select/select.css +58 -0
  636. package/dist/collection/components/select/select.js +439 -56
  637. package/dist/collection/components/select/select.js.map +1 -1
  638. package/dist/collection/components/select/test/select.ct.js +59 -9
  639. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  640. package/dist/collection/components/select-item/events.js +8 -0
  641. package/dist/collection/components/select-item/events.js.map +1 -1
  642. package/dist/collection/components/select-item/select-item.js +22 -7
  643. package/dist/collection/components/select-item/select-item.js.map +1 -1
  644. package/dist/collection/components/slider/slider.js +7 -7
  645. package/dist/collection/components/slider/slider.js.map +1 -1
  646. package/dist/collection/components/spinner/spinner.css +140 -125
  647. package/dist/collection/components/spinner/spinner.js +3 -7
  648. package/dist/collection/components/spinner/spinner.js.map +1 -1
  649. package/dist/collection/components/split-button/split-button.js +1 -1
  650. package/dist/collection/components/split-button-item/split-button-item.js +1 -1
  651. package/dist/collection/components/tab-item/tab-item.js +3 -3
  652. package/dist/collection/components/tabs/tabs.js +2 -2
  653. package/dist/collection/components/tile/tile.js +4 -4
  654. package/dist/collection/components/time-picker/time-picker.css +174 -16
  655. package/dist/collection/components/time-picker/time-picker.js +38 -18
  656. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  657. package/dist/collection/components/toast/toast-container.js +2 -2
  658. package/dist/collection/components/toast/toast.js +2 -2
  659. package/dist/collection/components/toggle/test/toggle.ct.js +24 -1
  660. package/dist/collection/components/toggle/test/toggle.ct.js.map +1 -1
  661. package/dist/collection/components/toggle/toggle.css +133 -4
  662. package/dist/collection/components/toggle/toggle.js +157 -2
  663. package/dist/collection/components/toggle/toggle.js.map +1 -1
  664. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  665. package/dist/collection/components/tooltip/test/tooltip.ct.js +37 -0
  666. package/dist/collection/components/tooltip/test/tooltip.ct.js.map +1 -1
  667. package/dist/collection/components/tooltip/tooltip.js +11 -13
  668. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  669. package/dist/collection/components/tree/tree.js +1 -1
  670. package/dist/collection/components/tree-item/tree-item.js +4 -4
  671. package/dist/collection/components/typography/test/ix-typography.spec.js +0 -14
  672. package/dist/collection/components/typography/test/ix-typography.spec.js.map +1 -1
  673. package/dist/collection/components/typography/type-mapping.js +3 -0
  674. package/dist/collection/components/typography/type-mapping.js.map +1 -1
  675. package/dist/collection/components/typography/typography.js +6 -42
  676. package/dist/collection/components/typography/typography.js.map +1 -1
  677. package/dist/collection/components/upload/test/upload.ct.js +17 -0
  678. package/dist/collection/components/upload/test/upload.ct.js.map +1 -0
  679. package/dist/collection/components/upload/upload.css +0 -2
  680. package/dist/collection/components/upload/upload.js +49 -5
  681. package/dist/collection/components/upload/upload.js.map +1 -1
  682. package/dist/collection/components/utils/a11y.js +3 -2
  683. package/dist/collection/components/utils/a11y.js.map +1 -1
  684. package/dist/collection/components/utils/application-layout/context.js.map +1 -1
  685. package/dist/collection/components/utils/attributes.js +25 -0
  686. package/dist/collection/components/utils/attributes.js.map +1 -0
  687. package/dist/collection/components/utils/context.js +5 -2
  688. package/dist/collection/components/utils/context.js.map +1 -1
  689. package/dist/collection/components/utils/disposable-event-listener.js +19 -0
  690. package/dist/collection/components/utils/disposable-event-listener.js.map +1 -0
  691. package/dist/collection/components/utils/element-reference.js +2 -0
  692. package/dist/collection/components/utils/element-reference.js.map +1 -0
  693. package/dist/collection/components/utils/find-element.js +99 -0
  694. package/dist/collection/components/utils/find-element.js.map +1 -0
  695. package/dist/collection/components/utils/focus.js +20 -17
  696. package/dist/collection/components/utils/focus.js.map +1 -1
  697. package/dist/collection/components/utils/input/index.js +9 -0
  698. package/dist/collection/components/utils/input/index.js.map +1 -0
  699. package/dist/collection/components/utils/input/validation.js +108 -0
  700. package/dist/collection/components/utils/input/validation.js.map +1 -0
  701. package/dist/collection/components/utils/listener.js +1 -1
  702. package/dist/collection/components/utils/listener.js.map +1 -1
  703. package/dist/collection/components/utils/make-ref.js +7 -12
  704. package/dist/collection/components/utils/make-ref.js.map +1 -1
  705. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js +11 -8
  706. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
  707. package/dist/collection/components/utils/modal/index.js.map +1 -1
  708. package/dist/collection/components/utils/modal/message.js +3 -1
  709. package/dist/collection/components/utils/modal/message.js.map +1 -1
  710. package/dist/collection/components/utils/theme-switcher.js +1 -0
  711. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  712. package/dist/collection/components/utils/type-helper.js +2 -0
  713. package/dist/collection/components/utils/type-helper.js.map +1 -0
  714. package/dist/collection/components/utils/uuid.js +16 -0
  715. package/dist/collection/components/utils/uuid.js.map +1 -0
  716. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  717. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  718. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  719. package/dist/collection/index.js +7 -0
  720. package/dist/collection/index.js.map +1 -1
  721. package/dist/collection/setup.js +16 -1
  722. package/dist/collection/setup.js.map +1 -1
  723. package/dist/collection/tests/application/application.e2e.js.map +1 -1
  724. package/dist/collection/tests/checkbox-group/checkbox-group.e2e.js +25 -0
  725. package/dist/collection/tests/checkbox-group/checkbox-group.e2e.js.map +1 -0
  726. package/dist/collection/tests/content/content.e2e.js +24 -0
  727. package/dist/collection/tests/content/content.e2e.js.map +1 -0
  728. package/dist/collection/tests/date-picker/date-picker.e2e.js +6 -6
  729. package/dist/collection/tests/date-picker/date-picker.e2e.js.map +1 -1
  730. package/dist/collection/tests/datetime-picker/datetime-picker.e2e.js +8 -1
  731. package/dist/collection/tests/datetime-picker/datetime-picker.e2e.js.map +1 -1
  732. package/dist/collection/tests/drawer/drawer.e2e.js +6 -0
  733. package/dist/collection/tests/drawer/drawer.e2e.js.map +1 -1
  734. package/dist/collection/tests/form-fields/form-fields.e2e.js +57 -0
  735. package/dist/collection/tests/form-fields/form-fields.e2e.js.map +1 -0
  736. package/dist/collection/tests/input/input.e2e.js +29 -5
  737. package/dist/collection/tests/input/input.e2e.js.map +1 -1
  738. package/dist/collection/tests/message/message.e2e.js +50 -0
  739. package/dist/collection/tests/message/message.e2e.js.map +1 -0
  740. package/dist/collection/tests/modal/modal.e2e.js +10 -1
  741. package/dist/collection/tests/modal/modal.e2e.js.map +1 -1
  742. package/dist/collection/tests/number-input/number-input.e2e.js +17 -0
  743. package/dist/collection/tests/number-input/number-input.e2e.js.map +1 -0
  744. package/dist/collection/tests/radio-group/radio-group.e2e.js +25 -0
  745. package/dist/collection/tests/radio-group/radio-group.e2e.js.map +1 -0
  746. package/dist/collection/tests/slider/slider.e2e.js +17 -0
  747. package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
  748. package/dist/collection/tests/utils/test/index.js +12 -0
  749. package/dist/collection/tests/utils/test/index.js.map +1 -1
  750. package/dist/collection/tests/utils/test/page.js +3 -12
  751. package/dist/collection/tests/utils/test/page.js.map +1 -1
  752. package/dist/esm/{a11y-2e34777f.js → a11y-b10c12e0.js} +4 -3
  753. package/dist/esm/a11y-b10c12e0.js.map +1 -0
  754. package/dist/esm/app-globals-ae0ca705.js +7 -0
  755. package/dist/esm/app-globals-ae0ca705.js.map +1 -0
  756. package/dist/esm/{base-button-1b40b11d.js → base-button-845f2463.js} +4 -4
  757. package/dist/esm/base-button-845f2463.js.map +1 -0
  758. package/dist/esm/{base-icon-button-bc1dabe0.js → base-icon-button-38e2f6e6.js} +3 -3
  759. package/dist/esm/{base-icon-button-bc1dabe0.js.map → base-icon-button-38e2f6e6.js.map} +1 -1
  760. package/dist/esm/{context-82a1ccf8.js → context-42311cff.js} +6 -3
  761. package/dist/esm/context-42311cff.js.map +1 -0
  762. package/dist/esm/disposable-event-listener-ff2cb862.js +18 -0
  763. package/dist/esm/disposable-event-listener-ff2cb862.js.map +1 -0
  764. package/dist/esm/{dropdown-controller-95bd6750.js → dropdown-controller-cb6d3789.js} +29 -13
  765. package/dist/esm/dropdown-controller-cb6d3789.js.map +1 -0
  766. package/dist/esm/find-element-af8265f7.js +102 -0
  767. package/dist/esm/find-element-af8265f7.js.map +1 -0
  768. package/dist/esm/{focus-d4d3abaf.js → focus-664aef4f.js} +22 -18
  769. package/dist/esm/focus-664aef4f.js.map +1 -0
  770. package/dist/esm/helper-text-util-10896253.js +41 -0
  771. package/dist/esm/helper-text-util-10896253.js.map +1 -0
  772. package/dist/esm/{index-76b9c8de.js → index-60d17930.js} +2 -2
  773. package/dist/esm/{index-76b9c8de.js.map → index-60d17930.js.map} +1 -1
  774. package/dist/esm/{index-5429f20b.js → index-97874de0.js} +86 -172
  775. package/dist/esm/index-97874de0.js.map +1 -0
  776. package/dist/esm/index-ad2af369.js +21 -0
  777. package/dist/esm/index-ad2af369.js.map +1 -0
  778. package/dist/esm/index.js +21 -4
  779. package/dist/esm/index.js.map +1 -1
  780. package/dist/esm/input.util-715860e3.js +181 -0
  781. package/dist/esm/input.util-715860e3.js.map +1 -0
  782. package/dist/esm/ix-action-card.entry.js +2 -2
  783. package/dist/esm/ix-action-card.entry.js.map +1 -1
  784. package/dist/esm/ix-application-header.entry.js +7 -7
  785. package/dist/esm/ix-application-sidebar.entry.js +2 -2
  786. package/dist/esm/ix-application-switch-modal.entry.js +3 -3
  787. package/dist/esm/ix-application.entry.js +6 -6
  788. package/dist/esm/ix-avatar_2.entry.js +16 -8
  789. package/dist/esm/ix-avatar_2.entry.js.map +1 -1
  790. package/dist/esm/ix-basic-navigation.entry.js +4 -4
  791. package/dist/esm/ix-blind.entry.js +7 -7
  792. package/dist/esm/ix-blind.entry.js.map +1 -1
  793. package/dist/esm/ix-breadcrumb-item.entry.js +3 -3
  794. package/dist/esm/ix-breadcrumb.entry.js +11 -10
  795. package/dist/esm/ix-breadcrumb.entry.js.map +1 -1
  796. package/dist/esm/ix-button.entry.js +14 -5
  797. package/dist/esm/ix-button.entry.js.map +1 -1
  798. package/dist/esm/ix-card-accordion_2.entry.js +7 -7
  799. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  800. package/dist/esm/ix-card-list.entry.js +11 -8
  801. package/dist/esm/ix-card-list.entry.js.map +1 -1
  802. package/dist/esm/ix-card_2.entry.js +6 -6
  803. package/dist/esm/ix-card_2.entry.js.map +1 -1
  804. package/dist/esm/ix-category-filter.entry.js +154 -82
  805. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  806. package/dist/esm/ix-checkbox-group.entry.js +56 -0
  807. package/dist/esm/ix-checkbox-group.entry.js.map +1 -0
  808. package/dist/esm/ix-checkbox.entry.js +113 -0
  809. package/dist/esm/ix-checkbox.entry.js.map +1 -0
  810. package/dist/esm/ix-chip.entry.js +5 -5
  811. package/dist/esm/ix-col_4.entry.js +71 -45
  812. package/dist/esm/ix-col_4.entry.js.map +1 -1
  813. package/dist/esm/ix-content-header.entry.js +3 -3
  814. package/dist/esm/ix-content-header.entry.js.map +1 -1
  815. package/dist/esm/ix-content.entry.js +5 -5
  816. package/dist/esm/ix-content.entry.js.map +1 -1
  817. package/dist/esm/ix-css-grid-item.entry.js +2 -2
  818. package/dist/esm/ix-css-grid.entry.js +9 -4
  819. package/dist/esm/ix-css-grid.entry.js.map +1 -1
  820. package/dist/esm/ix-custom-field.entry.js +61 -0
  821. package/dist/esm/ix-custom-field.entry.js.map +1 -0
  822. package/dist/esm/ix-date-dropdown.entry.js +28 -16
  823. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  824. package/dist/esm/ix-date-input.entry.js +262 -0
  825. package/dist/esm/ix-date-input.entry.js.map +1 -0
  826. package/dist/esm/ix-date-time-card.entry.js +5 -6
  827. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  828. package/dist/esm/ix-datetime-picker.entry.js +11 -11
  829. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  830. package/dist/esm/ix-divider.entry.js +2 -2
  831. package/dist/esm/ix-drawer.entry.js +29 -25
  832. package/dist/esm/ix-drawer.entry.js.map +1 -1
  833. package/dist/esm/ix-dropdown-button.entry.js +5 -6
  834. package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
  835. package/dist/esm/ix-dropdown-header.entry.js +2 -2
  836. package/dist/esm/ix-dropdown-header.entry.js.map +1 -1
  837. package/dist/esm/ix-dropdown-item.entry.js +4 -4
  838. package/dist/esm/ix-dropdown-quick-actions.entry.js +2 -2
  839. package/dist/esm/ix-dropdown.entry.js +70 -66
  840. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  841. package/dist/esm/ix-empty-state.entry.js +2 -2
  842. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  843. package/dist/esm/ix-event-list-item.entry.js +9 -9
  844. package/dist/esm/ix-event-list-item.entry.js.map +1 -1
  845. package/dist/esm/ix-event-list.entry.js +5 -5
  846. package/dist/esm/ix-event-list.entry.js.map +1 -1
  847. package/dist/esm/ix-expanding-search.entry.js +5 -5
  848. package/dist/esm/{ix-tooltip.entry.js → ix-field-label_3.entry.js} +183 -8
  849. package/dist/esm/ix-field-label_3.entry.js.map +1 -0
  850. package/dist/esm/ix-filter-chip_2.entry.js +28 -7
  851. package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
  852. package/dist/esm/ix-flip-tile-content.entry.js +2 -2
  853. package/dist/esm/ix-flip-tile.entry.js +5 -5
  854. package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
  855. package/dist/esm/ix-group.entry.js +9 -9
  856. package/dist/esm/ix-helper-text.entry.js +66 -0
  857. package/dist/esm/ix-helper-text.entry.js.map +1 -0
  858. package/dist/esm/ix-icon-button_2.entry.js +10 -14
  859. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  860. package/dist/esm/ix-icon-toggle-button.entry.js +6 -7
  861. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  862. package/dist/esm/ix-input-group.entry.js +2 -2
  863. package/dist/esm/ix-input.entry.js +145 -0
  864. package/dist/esm/ix-input.entry.js.map +1 -0
  865. package/dist/esm/ix-key-value-list.entry.js +2 -2
  866. package/dist/esm/ix-key-value.entry.js +2 -2
  867. package/dist/esm/ix-kpi.entry.js +4 -4
  868. package/dist/esm/ix-layout-auto.entry.js +88 -0
  869. package/dist/esm/ix-layout-auto.entry.js.map +1 -0
  870. package/dist/esm/ix-link-button.entry.js +4 -4
  871. package/dist/esm/ix-map-navigation-overlay.entry.js +3 -3
  872. package/dist/esm/ix-map-navigation.entry.js +4 -4
  873. package/dist/esm/ix-menu-about-item.entry.js +2 -2
  874. package/dist/esm/ix-menu-about-news.entry.js +5 -5
  875. package/dist/esm/ix-menu-about-news.entry.js.map +1 -1
  876. package/dist/esm/ix-menu-about.entry.js +3 -3
  877. package/dist/esm/ix-menu-avatar.entry.js +3 -3
  878. package/dist/esm/ix-menu-category.entry.js +7 -7
  879. package/dist/esm/ix-menu-category.entry.js.map +1 -1
  880. package/dist/esm/ix-menu-expand-icon.entry.js +4 -4
  881. package/dist/esm/ix-menu-item.entry.js +9 -8
  882. package/dist/esm/ix-menu-item.entry.js.map +1 -1
  883. package/dist/esm/ix-menu-settings-item.entry.js +2 -2
  884. package/dist/esm/ix-menu-settings.entry.js +2 -2
  885. package/dist/esm/ix-menu.entry.js +33 -33
  886. package/dist/esm/ix-menu.entry.js.map +1 -1
  887. package/dist/esm/ix-message-bar.entry.js +2 -2
  888. package/dist/esm/ix-modal-content_2.entry.js +5 -5
  889. package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
  890. package/dist/esm/ix-modal-footer.entry.js +3 -3
  891. package/dist/esm/ix-modal-footer.entry.js.map +1 -1
  892. package/dist/esm/ix-modal-loading.entry.js +2 -2
  893. package/dist/esm/ix-modal.entry.js +14 -7
  894. package/dist/esm/ix-modal.entry.js.map +1 -1
  895. package/dist/esm/ix-number-input.entry.js +148 -0
  896. package/dist/esm/ix-number-input.entry.js.map +1 -0
  897. package/dist/esm/ix-pagination.entry.js +6 -6
  898. package/dist/esm/ix-pagination.entry.js.map +1 -1
  899. package/dist/esm/ix-pane-layout.entry.js +10 -10
  900. package/dist/esm/ix-pane-layout.entry.js.map +1 -1
  901. package/dist/esm/ix-pane.entry.js +43 -35
  902. package/dist/esm/ix-pane.entry.js.map +1 -1
  903. package/dist/esm/ix-pill.entry.js +5 -5
  904. package/dist/esm/ix-push-card.entry.js +2 -2
  905. package/dist/esm/ix-radio-group.entry.js +116 -0
  906. package/dist/esm/ix-radio-group.entry.js.map +1 -0
  907. package/dist/esm/ix-radio.entry.js +94 -0
  908. package/dist/esm/ix-radio.entry.js.map +1 -0
  909. package/dist/esm/ix-select.entry.js +150 -53
  910. package/dist/esm/ix-select.entry.js.map +1 -1
  911. package/dist/esm/ix-slider.entry.js +10 -10
  912. package/dist/esm/ix-slider.entry.js.map +1 -1
  913. package/dist/esm/ix-split-button-item.entry.js +3 -3
  914. package/dist/esm/ix-split-button.entry.js +2 -2
  915. package/dist/esm/ix-tab-item_2.entry.js +6 -6
  916. package/dist/esm/ix-textarea.entry.js +116 -0
  917. package/dist/esm/ix-textarea.entry.js.map +1 -0
  918. package/dist/esm/ix-tile.entry.js +5 -5
  919. package/dist/esm/ix-time-picker.entry.js +40 -20
  920. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  921. package/dist/esm/ix-toast-container.entry.js +3 -3
  922. package/dist/esm/ix-toast.entry.js +3 -3
  923. package/dist/esm/ix-toggle-button.entry.js +5 -5
  924. package/dist/esm/ix-toggle.entry.js +42 -5
  925. package/dist/esm/ix-toggle.entry.js.map +1 -1
  926. package/dist/esm/ix-tree-item.entry.js +5 -5
  927. package/dist/esm/ix-tree.entry.js +3 -3
  928. package/dist/esm/ix-typography.entry.js +4 -25
  929. package/dist/esm/ix-typography.entry.js.map +1 -1
  930. package/dist/esm/ix-upload.entry.js +60 -6
  931. package/dist/esm/ix-upload.entry.js.map +1 -1
  932. package/dist/esm/ix-validation-tooltip.entry.js +3 -3
  933. package/dist/esm/ix-workflow-step.entry.js +4 -4
  934. package/dist/esm/ix-workflow-steps.entry.js +2 -2
  935. package/dist/esm/{listener-2c562054.js → listener-18b29507.js} +3 -3
  936. package/dist/esm/listener-18b29507.js.map +1 -0
  937. package/dist/esm/loader.js +5 -4
  938. package/dist/esm/loader.js.map +1 -1
  939. package/dist/esm/{make-ref-c80046bf.js → make-ref-4b76e9b5.js} +8 -13
  940. package/dist/esm/make-ref-4b76e9b5.js.map +1 -0
  941. package/dist/esm/{menu-tabs-fc-d9a7dd06.js → menu-tabs-fc-563a74d9.js} +19 -16
  942. package/dist/esm/menu-tabs-fc-563a74d9.js.map +1 -0
  943. package/dist/esm/{modal-54740f80.js → modal-101eef04.js} +4 -2
  944. package/dist/esm/modal-101eef04.js.map +1 -0
  945. package/dist/esm/{app-globals-0cd07cd9.js → setup-d88021f8.js} +19 -5
  946. package/dist/esm/setup-d88021f8.js.map +1 -0
  947. package/dist/esm/siemens-ix.js +5 -4
  948. package/dist/esm/siemens-ix.js.map +1 -1
  949. package/dist/esm/{theme-switcher-b10fb4da.js → theme-switcher-5fcf712d.js} +2 -1
  950. package/dist/esm/theme-switcher-5fcf712d.js.map +1 -0
  951. package/dist/esm/validation-45aa490c.js +112 -0
  952. package/dist/esm/validation-45aa490c.js.map +1 -0
  953. package/dist/siemens-ix/index.esm.js +1 -1
  954. package/dist/siemens-ix/index.esm.js.map +1 -1
  955. package/dist/siemens-ix/{p-928209e1.entry.js → p-044c2a7b.entry.js} +2 -2
  956. package/dist/siemens-ix/p-05839c77.entry.js +2 -0
  957. package/dist/siemens-ix/p-05839c77.entry.js.map +1 -0
  958. package/dist/siemens-ix/p-08463669.entry.js +2 -0
  959. package/dist/siemens-ix/p-08463669.entry.js.map +1 -0
  960. package/dist/siemens-ix/p-0be907d4.entry.js +2 -0
  961. package/dist/siemens-ix/p-0c89cbcc.entry.js +2 -0
  962. package/dist/siemens-ix/p-0c89cbcc.entry.js.map +1 -0
  963. package/dist/siemens-ix/p-0dbc970e.entry.js +2 -0
  964. package/dist/siemens-ix/p-0dbc970e.entry.js.map +1 -0
  965. package/dist/siemens-ix/{p-1da901d5.js → p-0e983f70.js} +2 -2
  966. package/dist/siemens-ix/p-0e983f70.js.map +1 -0
  967. package/dist/siemens-ix/{p-f001ecc1.entry.js → p-0f0e7e14.entry.js} +2 -2
  968. package/dist/siemens-ix/p-0f2bf43d.entry.js +2 -0
  969. package/dist/siemens-ix/p-0f2bf43d.entry.js.map +1 -0
  970. package/dist/siemens-ix/p-10a522ca.js +2 -0
  971. package/dist/siemens-ix/p-10a522ca.js.map +1 -0
  972. package/dist/siemens-ix/{p-cc65617d.entry.js → p-11ce9c6a.entry.js} +2 -2
  973. package/dist/siemens-ix/p-11ce9c6a.entry.js.map +1 -0
  974. package/dist/siemens-ix/p-175599e4.entry.js +2 -0
  975. package/dist/siemens-ix/p-175599e4.entry.js.map +1 -0
  976. package/dist/siemens-ix/p-178ce002.js +2 -0
  977. package/dist/siemens-ix/p-178ce002.js.map +1 -0
  978. package/dist/siemens-ix/p-18097528.entry.js +2 -0
  979. package/dist/siemens-ix/p-18097528.entry.js.map +1 -0
  980. package/dist/siemens-ix/{p-7c2f34f0.entry.js → p-1c5ebea3.entry.js} +2 -2
  981. package/dist/siemens-ix/p-1c5ebea3.entry.js.map +1 -0
  982. package/dist/siemens-ix/p-23a4b81f.js +2 -0
  983. package/dist/siemens-ix/p-23a4b81f.js.map +1 -0
  984. package/dist/siemens-ix/p-24a35b20.entry.js +2 -0
  985. package/dist/siemens-ix/p-24a35b20.entry.js.map +1 -0
  986. package/dist/siemens-ix/p-25465f91.entry.js +2 -0
  987. package/dist/siemens-ix/p-25465f91.entry.js.map +1 -0
  988. package/dist/siemens-ix/p-2643f32a.entry.js +2 -0
  989. package/dist/siemens-ix/p-286feb7e.entry.js +2 -0
  990. package/dist/siemens-ix/p-286feb7e.entry.js.map +1 -0
  991. package/dist/siemens-ix/{p-9079f6c8.entry.js → p-2a34a0c2.entry.js} +2 -2
  992. package/dist/siemens-ix/p-2b226409.entry.js +2 -0
  993. package/dist/siemens-ix/p-2b226409.entry.js.map +1 -0
  994. package/dist/siemens-ix/{p-1bd98772.entry.js → p-2b367b12.entry.js} +2 -2
  995. package/dist/siemens-ix/p-2b9c5f59.entry.js +2 -0
  996. package/dist/siemens-ix/{p-4e547dd3.entry.js → p-2d3a6d29.entry.js} +2 -2
  997. package/dist/siemens-ix/{p-82f9d976.entry.js → p-2d7ea063.entry.js} +2 -2
  998. package/dist/siemens-ix/{p-ae31be0d.entry.js → p-2db63240.entry.js} +2 -2
  999. package/dist/siemens-ix/{p-c81c4b9d.entry.js → p-3205726a.entry.js} +2 -2
  1000. package/dist/siemens-ix/{p-1d581190.js → p-35e14912.js} +2 -2
  1001. package/dist/siemens-ix/p-35e14912.js.map +1 -0
  1002. package/dist/siemens-ix/{p-33a7a26d.entry.js → p-37af7117.entry.js} +2 -2
  1003. package/dist/siemens-ix/{p-e0d03d67.entry.js → p-392b4297.entry.js} +2 -2
  1004. package/dist/siemens-ix/p-3c668c0e.js +2 -0
  1005. package/dist/siemens-ix/p-3c668c0e.js.map +1 -0
  1006. package/dist/siemens-ix/{p-ed7e76a3.entry.js → p-3f367d44.entry.js} +2 -2
  1007. package/dist/siemens-ix/p-3f367d44.entry.js.map +1 -0
  1008. package/dist/siemens-ix/p-40dc610f.entry.js +2 -0
  1009. package/dist/siemens-ix/p-40dc610f.entry.js.map +1 -0
  1010. package/dist/siemens-ix/p-424e8092.entry.js +2 -0
  1011. package/dist/siemens-ix/p-424e8092.entry.js.map +1 -0
  1012. package/dist/siemens-ix/p-429e3749.entry.js +2 -0
  1013. package/dist/siemens-ix/p-429e3749.entry.js.map +1 -0
  1014. package/dist/siemens-ix/{p-c7280736.entry.js → p-4624a772.entry.js} +2 -2
  1015. package/dist/siemens-ix/p-475ac85f.entry.js +2 -0
  1016. package/dist/siemens-ix/p-475ac85f.entry.js.map +1 -0
  1017. package/dist/siemens-ix/{p-1db6be55.js → p-484aa96b.js} +2 -2
  1018. package/dist/{cjs/menu-tabs-fc-df53f176.js.map → siemens-ix/p-484aa96b.js.map} +1 -1
  1019. package/dist/siemens-ix/{p-77273517.entry.js → p-48718dc1.entry.js} +2 -2
  1020. package/dist/siemens-ix/p-48718dc1.entry.js.map +1 -0
  1021. package/dist/siemens-ix/p-4a631d9c.entry.js +2 -0
  1022. package/dist/siemens-ix/p-4a9330a5.entry.js +2 -0
  1023. package/dist/siemens-ix/p-4a9330a5.entry.js.map +1 -0
  1024. package/dist/siemens-ix/{p-05dc6b2d.entry.js → p-4c9b7548.entry.js} +2 -2
  1025. package/dist/siemens-ix/p-4cc79e8f.entry.js +2 -0
  1026. package/dist/siemens-ix/{p-d300b332.entry.js → p-4e51d716.entry.js} +2 -2
  1027. package/dist/siemens-ix/{p-0ef97555.entry.js → p-4ec6ddfb.entry.js} +2 -2
  1028. package/dist/siemens-ix/p-50096707.js +2 -0
  1029. package/dist/siemens-ix/p-50096707.js.map +1 -0
  1030. package/dist/siemens-ix/p-52928e21.entry.js +2 -0
  1031. package/dist/siemens-ix/p-52928e21.entry.js.map +1 -0
  1032. package/dist/siemens-ix/p-54efe56b.entry.js +2 -0
  1033. package/dist/siemens-ix/p-54efe56b.entry.js.map +1 -0
  1034. package/dist/siemens-ix/p-5682e985.js +2 -0
  1035. package/dist/siemens-ix/{p-5af99eaa.entry.js → p-57e60a06.entry.js} +2 -2
  1036. package/dist/siemens-ix/p-5806df2b.js +3 -0
  1037. package/dist/siemens-ix/p-5806df2b.js.map +1 -0
  1038. package/dist/siemens-ix/{p-1483f65d.entry.js → p-5c1b136c.entry.js} +2 -2
  1039. package/dist/siemens-ix/p-5c1b136c.entry.js.map +1 -0
  1040. package/dist/siemens-ix/p-5db5a0b5.entry.js +2 -0
  1041. package/dist/siemens-ix/p-5db5a0b5.entry.js.map +1 -0
  1042. package/dist/siemens-ix/p-5fe87e71.js +2 -0
  1043. package/dist/siemens-ix/p-5fe87e71.js.map +1 -0
  1044. package/dist/siemens-ix/{p-0632731e.entry.js → p-63dd987f.entry.js} +2 -2
  1045. package/dist/siemens-ix/{p-f06b21f9.entry.js → p-654f91f2.entry.js} +2 -2
  1046. package/dist/siemens-ix/p-66178fe6.entry.js +2 -0
  1047. package/dist/siemens-ix/p-66178fe6.entry.js.map +1 -0
  1048. package/dist/siemens-ix/{p-67f44540.entry.js → p-6624076c.entry.js} +2 -2
  1049. package/dist/siemens-ix/p-6624076c.entry.js.map +1 -0
  1050. package/dist/siemens-ix/p-66559451.entry.js +2 -0
  1051. package/dist/siemens-ix/{p-86fd5922.entry.js → p-6722bcff.entry.js} +2 -2
  1052. package/dist/siemens-ix/{p-b4ce366d.entry.js → p-68bb2a09.entry.js} +2 -2
  1053. package/dist/siemens-ix/p-68bb2a09.entry.js.map +1 -0
  1054. package/dist/siemens-ix/{p-5351225b.entry.js → p-6a4a2064.entry.js} +2 -2
  1055. package/dist/siemens-ix/p-6a4a2064.entry.js.map +1 -0
  1056. package/dist/siemens-ix/{p-b804b8c5.entry.js → p-6bae4e9b.entry.js} +2 -2
  1057. package/dist/siemens-ix/p-6bf208b8.js +2 -0
  1058. package/dist/siemens-ix/{p-3dc1294b.entry.js → p-6e3f1de3.entry.js} +2 -2
  1059. package/dist/siemens-ix/p-6e3f1de3.entry.js.map +1 -0
  1060. package/dist/siemens-ix/{p-90440046.entry.js → p-76b57ff0.entry.js} +2 -2
  1061. package/dist/siemens-ix/p-76b57ff0.entry.js.map +1 -0
  1062. package/dist/siemens-ix/p-792e1c52.entry.js +2 -0
  1063. package/dist/siemens-ix/p-792e1c52.entry.js.map +1 -0
  1064. package/dist/siemens-ix/p-79bb0d39.js +2 -0
  1065. package/dist/siemens-ix/p-79bb0d39.js.map +1 -0
  1066. package/dist/siemens-ix/p-7aa07d9b.entry.js +2 -0
  1067. package/dist/siemens-ix/p-7aa07d9b.entry.js.map +1 -0
  1068. package/dist/siemens-ix/p-7aa26727.js +2 -0
  1069. package/dist/siemens-ix/p-7aa26727.js.map +1 -0
  1070. package/dist/siemens-ix/p-7af324e9.entry.js +2 -0
  1071. package/dist/siemens-ix/p-7af324e9.entry.js.map +1 -0
  1072. package/dist/siemens-ix/p-815699d1.entry.js +2 -0
  1073. package/dist/siemens-ix/p-815699d1.entry.js.map +1 -0
  1074. package/dist/siemens-ix/p-83da8f11.entry.js +2 -0
  1075. package/dist/siemens-ix/p-83da8f11.entry.js.map +1 -0
  1076. package/dist/siemens-ix/{p-958c5970.entry.js → p-8457d846.entry.js} +2 -2
  1077. package/dist/siemens-ix/p-8564bc5f.entry.js +2 -0
  1078. package/dist/siemens-ix/p-8564bc5f.entry.js.map +1 -0
  1079. package/dist/siemens-ix/p-857f99c8.entry.js +2 -0
  1080. package/dist/siemens-ix/p-857f99c8.entry.js.map +1 -0
  1081. package/dist/siemens-ix/{p-c7e58e9e.entry.js → p-8c2b62c3.entry.js} +2 -2
  1082. package/dist/siemens-ix/{p-c62966f8.entry.js → p-8da941cd.entry.js} +2 -2
  1083. package/dist/siemens-ix/{p-6618b2db.entry.js → p-8f616a5c.entry.js} +2 -2
  1084. package/dist/siemens-ix/p-91046d49.entry.js +2 -0
  1085. package/dist/siemens-ix/p-91046d49.entry.js.map +1 -0
  1086. package/dist/siemens-ix/{p-e14384df.entry.js → p-9948574f.entry.js} +2 -2
  1087. package/dist/siemens-ix/{p-085d5ec2.entry.js → p-9d323232.entry.js} +2 -2
  1088. package/dist/siemens-ix/p-9d5d4948.js +2 -0
  1089. package/dist/siemens-ix/p-9d5d4948.js.map +1 -0
  1090. package/dist/siemens-ix/p-9fe2759f.entry.js +2 -0
  1091. package/dist/siemens-ix/p-9fe2759f.entry.js.map +1 -0
  1092. package/dist/siemens-ix/{p-17a8aab2.entry.js → p-a3364116.entry.js} +2 -2
  1093. package/dist/siemens-ix/p-a36ad7c7.entry.js +2 -0
  1094. package/dist/siemens-ix/p-a36ad7c7.entry.js.map +1 -0
  1095. package/dist/siemens-ix/p-a427e6a2.js +2 -0
  1096. package/dist/siemens-ix/p-a427e6a2.js.map +1 -0
  1097. package/dist/siemens-ix/p-a61ed462.entry.js +2 -0
  1098. package/dist/siemens-ix/{p-8acc09aa.entry.js → p-b2a06e46.entry.js} +2 -2
  1099. package/dist/siemens-ix/p-b5c887e5.entry.js +2 -0
  1100. package/dist/siemens-ix/p-b5c887e5.entry.js.map +1 -0
  1101. package/dist/siemens-ix/p-b62f8f62.entry.js +2 -0
  1102. package/dist/siemens-ix/p-b62f8f62.entry.js.map +1 -0
  1103. package/dist/siemens-ix/{p-5aa0b93c.entry.js → p-b74a8cdc.entry.js} +2 -2
  1104. package/dist/siemens-ix/{p-ba24e694.entry.js → p-bd4c1a44.entry.js} +2 -2
  1105. package/dist/siemens-ix/p-bd4c1a44.entry.js.map +1 -0
  1106. package/dist/siemens-ix/{p-89e48bea.entry.js → p-bded112a.entry.js} +2 -2
  1107. package/dist/siemens-ix/{p-e95a5a97.entry.js → p-be860121.entry.js} +2 -2
  1108. package/dist/siemens-ix/p-c236cf18.entry.js +2 -0
  1109. package/dist/siemens-ix/p-c6796e64.entry.js +2 -0
  1110. package/dist/siemens-ix/p-caf49e00.entry.js +2 -0
  1111. package/dist/siemens-ix/p-caf49e00.entry.js.map +1 -0
  1112. package/dist/siemens-ix/p-cbfca958.entry.js +2 -0
  1113. package/dist/siemens-ix/p-ce563a48.js +2 -0
  1114. package/dist/siemens-ix/p-ce563a48.js.map +1 -0
  1115. package/dist/siemens-ix/p-d01f05cf.entry.js +2 -0
  1116. package/dist/siemens-ix/p-d01f05cf.entry.js.map +1 -0
  1117. package/dist/siemens-ix/{p-a8d291fa.entry.js → p-d0b38ae2.entry.js} +2 -2
  1118. package/dist/siemens-ix/p-d0b38ae2.entry.js.map +1 -0
  1119. package/dist/siemens-ix/p-d19b52bd.entry.js +2 -0
  1120. package/dist/siemens-ix/p-d19b52bd.entry.js.map +1 -0
  1121. package/dist/siemens-ix/p-d7aa00d6.js +2 -0
  1122. package/dist/siemens-ix/p-d7aa00d6.js.map +1 -0
  1123. package/dist/siemens-ix/{p-b663ca16.entry.js → p-d929f23d.entry.js} +2 -2
  1124. package/dist/siemens-ix/{p-e35805d0.entry.js → p-d95a6f49.entry.js} +2 -2
  1125. package/dist/siemens-ix/{p-e35805d0.entry.js.map → p-d95a6f49.entry.js.map} +1 -1
  1126. package/dist/siemens-ix/{p-37229f30.entry.js → p-dc2d5730.entry.js} +2 -2
  1127. package/dist/siemens-ix/p-dc2d5730.entry.js.map +1 -0
  1128. package/dist/siemens-ix/{p-7402f42a.entry.js → p-df7060ae.entry.js} +2 -2
  1129. package/dist/siemens-ix/p-df7060ae.entry.js.map +1 -0
  1130. package/dist/siemens-ix/{p-44a27b29.entry.js → p-dfb181c1.entry.js} +2 -2
  1131. package/dist/siemens-ix/p-dfb181c1.entry.js.map +1 -0
  1132. package/dist/siemens-ix/{p-0fafba48.entry.js → p-e7ac5657.entry.js} +2 -2
  1133. package/dist/siemens-ix/{p-ee96d1eb.entry.js → p-e9a37b3f.entry.js} +2 -2
  1134. package/dist/siemens-ix/{p-24a8737a.entry.js → p-edc1d44a.entry.js} +2 -2
  1135. package/dist/siemens-ix/{p-c072ddb5.entry.js → p-ede52531.entry.js} +2 -2
  1136. package/dist/siemens-ix/p-ede52531.entry.js.map +1 -0
  1137. package/dist/siemens-ix/p-f35386ec.js +2 -0
  1138. package/dist/siemens-ix/p-f35386ec.js.map +1 -0
  1139. package/dist/siemens-ix/p-f39048a2.entry.js +2 -0
  1140. package/dist/siemens-ix/p-f39048a2.entry.js.map +1 -0
  1141. package/dist/siemens-ix/p-f7618d1d.entry.js +2 -0
  1142. package/dist/siemens-ix/p-f7618d1d.entry.js.map +1 -0
  1143. package/dist/siemens-ix/p-f97a15c4.js +2 -0
  1144. package/dist/siemens-ix/p-f97a15c4.js.map +1 -0
  1145. package/dist/siemens-ix/p-fad9f568.js +2 -0
  1146. package/dist/siemens-ix/p-fad9f568.js.map +1 -0
  1147. package/dist/siemens-ix/p-ffca56d6.entry.js +2 -0
  1148. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  1149. package/dist/siemens-ix/siemens-ix.css +172 -27
  1150. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  1151. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  1152. package/dist/siemens-ix/theme/classic-dark.css +1 -1
  1153. package/dist/siemens-ix/theme/classic-light.css +1 -1
  1154. package/dist/siemens-ix/theme/legacy-classic-dark.css +1 -1
  1155. package/dist/siemens-ix/theme/legacy-classic-light.css +1 -1
  1156. package/dist/types/components/action-card/action-card.d.ts +2 -2
  1157. package/dist/types/components/avatar/avatar.d.ts +6 -6
  1158. package/dist/types/components/blind/blind.d.ts +4 -4
  1159. package/dist/types/components/breadcrumb/breadcrumb.d.ts +3 -3
  1160. package/dist/types/components/button/base-button.d.ts +3 -2
  1161. package/dist/types/components/button/button.d.ts +3 -2
  1162. package/dist/types/components/card-list/card-list.d.ts +3 -3
  1163. package/dist/types/components/category-filter/category-filter.d.ts +22 -3
  1164. package/dist/types/components/checkbox/checkbox.d.ts +61 -0
  1165. package/dist/types/components/checkbox/tests/checkbox.ct.d.ts +1 -0
  1166. package/dist/types/components/checkbox-group/checkbox-group.d.ts +47 -0
  1167. package/dist/types/components/content-header/content-header.d.ts +1 -1
  1168. package/dist/types/components/css-grid/css-grid.d.ts +2 -2
  1169. package/dist/types/components/custom-field/custom-field.d.ts +46 -0
  1170. package/dist/types/components/custom-field/tests/custom-field.ct.d.ts +1 -0
  1171. package/dist/types/components/date-dropdown/date-dropdown.d.ts +18 -4
  1172. package/dist/types/components/date-input/date-input.d.ts +138 -0
  1173. package/dist/types/components/date-input/tests/date-input.ct.d.ts +1 -0
  1174. package/dist/types/components/date-picker/date-picker-component.d.ts +43 -0
  1175. package/dist/types/components/date-picker/date-picker.d.ts +9 -11
  1176. package/dist/types/components/date-time-card/date-time-card.d.ts +1 -1
  1177. package/dist/types/components/datetime-picker/datetime-picker.d.ts +13 -12
  1178. package/dist/types/components/dropdown/dropdown-controller.d.ts +3 -7
  1179. package/dist/types/components/dropdown/dropdown.d.ts +13 -12
  1180. package/dist/types/components/dropdown-button/dropdown-button.d.ts +4 -4
  1181. package/dist/types/components/event-list-item/event-list-item.d.ts +2 -2
  1182. package/dist/types/components/field-label/field-label.d.ts +33 -0
  1183. package/dist/types/components/field-label/tests/field-label.ct.d.ts +1 -0
  1184. package/dist/types/components/field-wrapper/field-wrapper.d.ts +64 -0
  1185. package/dist/types/components/field-wrapper/helper-text-util.d.ts +18 -0
  1186. package/dist/types/components/field-wrapper/tests/field-wrapper.ct.d.ts +1 -0
  1187. package/dist/types/components/helper-text/helper-text.d.ts +37 -0
  1188. package/dist/types/components/input/input.animation.d.ts +1 -0
  1189. package/dist/types/components/input/input.d.ts +123 -0
  1190. package/dist/types/components/input/input.fc.d.ts +52 -0
  1191. package/dist/types/components/input/input.util.d.ts +13 -0
  1192. package/dist/types/components/input/number-input.d.ts +121 -0
  1193. package/dist/types/components/input/tests/form-ready.ct.d.ts +1 -0
  1194. package/dist/types/components/input/textarea.d.ts +126 -0
  1195. package/dist/types/components/layout-auto/layout-auto.d.ts +24 -0
  1196. package/dist/types/components/menu/menu.d.ts +3 -7
  1197. package/dist/types/components/menu-about/test/menu-about.ct.d.ts +1 -0
  1198. package/dist/types/components/menu-item/menu-item.d.ts +3 -3
  1199. package/dist/types/components/modal/test/modal.ct.d.ts +3 -2
  1200. package/dist/types/components/modal-header/modal-header.d.ts +3 -3
  1201. package/dist/types/components/pane/pane.d.ts +9 -9
  1202. package/dist/types/components/pane-layout/pane-layout.d.ts +1 -1
  1203. package/dist/types/components/radio/radio.d.ts +53 -0
  1204. package/dist/types/components/radio/test/radio.ct.d.ts +1 -0
  1205. package/dist/types/components/radio-group/radio-group.d.ts +64 -0
  1206. package/dist/types/components/radio-group/test/radio-group.ct.d.ts +1 -0
  1207. package/dist/types/components/select/select.d.ts +97 -14
  1208. package/dist/types/components/select-item/events.d.ts +9 -0
  1209. package/dist/types/components/select-item/select-item.d.ts +3 -1
  1210. package/dist/types/components/time-picker/time-picker.d.ts +3 -3
  1211. package/dist/types/components/toggle/toggle.d.ts +29 -1
  1212. package/dist/types/components/tooltip/tooltip.d.ts +2 -1
  1213. package/dist/types/components/typography/type-mapping.d.ts +3 -0
  1214. package/dist/types/components/typography/typography.d.ts +3 -10
  1215. package/dist/types/components/upload/test/upload.ct.d.ts +1 -0
  1216. package/dist/types/components/upload/upload.d.ts +4 -2
  1217. package/dist/types/components/utils/a11y.d.ts +5 -5
  1218. package/dist/types/components/utils/application-layout/context.d.ts +2 -1
  1219. package/dist/types/components/utils/attributes.d.ts +2 -0
  1220. package/dist/types/components/utils/disposable-event-listener.d.ts +7 -0
  1221. package/dist/types/components/utils/element-reference.d.ts +1 -0
  1222. package/dist/types/components/utils/find-element.d.ts +22 -0
  1223. package/dist/types/components/utils/focus.d.ts +5 -4
  1224. package/dist/types/components/utils/input/index.d.ts +61 -0
  1225. package/dist/types/components/utils/input/validation.d.ts +15 -0
  1226. package/dist/types/components/utils/listener.d.ts +4 -2
  1227. package/dist/types/components/utils/make-ref.d.ts +2 -2
  1228. package/dist/types/components/utils/modal/index.d.ts +1 -1
  1229. package/dist/types/components/utils/modal/message.d.ts +10 -7
  1230. package/dist/types/components/utils/theme-switcher.d.ts +3 -2
  1231. package/dist/types/components/utils/type-helper.d.ts +1 -0
  1232. package/dist/types/components/utils/uuid.d.ts +1 -0
  1233. package/dist/types/components.d.ts +1965 -213
  1234. package/dist/types/index.d.ts +3 -0
  1235. package/dist/types/setup.d.ts +7 -1
  1236. package/dist/types/tests/utils/test/index.d.ts +3 -0
  1237. package/dist/types/tests/utils/test/page.d.ts +1 -3
  1238. package/hydrate/index.js +3563 -1101
  1239. package/package.json +13 -13
  1240. package/scss/components/_checkboxes.scss +4 -11
  1241. package/scss/components/form/_input.scss +84 -9
  1242. package/scss/mixins/_field.scss +18 -0
  1243. package/scss/mixins/validation/_form-component.scss +64 -0
  1244. package/components/ix-form-field.js +0 -44
  1245. package/components/ix-form-field.js.map +0 -1
  1246. package/components/ix-modal-example.js +0 -58
  1247. package/components/ix-modal-example.js.map +0 -1
  1248. package/components/ix-playground-internal.js +0 -35
  1249. package/components/ix-playground-internal.js.map +0 -1
  1250. package/dist/cjs/a11y-eba397e8.js.map +0 -1
  1251. package/dist/cjs/app-globals-5cfdf2a0.js.map +0 -1
  1252. package/dist/cjs/base-button-3735b8c2.js.map +0 -1
  1253. package/dist/cjs/context-938f7470.js.map +0 -1
  1254. package/dist/cjs/dropdown-controller-5ef3d018.js.map +0 -1
  1255. package/dist/cjs/focus-9c8ffbb0.js.map +0 -1
  1256. package/dist/cjs/index-529f21c1.js.map +0 -1
  1257. package/dist/cjs/ix-form-field.cjs.entry.js +0 -28
  1258. package/dist/cjs/ix-form-field.cjs.entry.js.map +0 -1
  1259. package/dist/cjs/ix-modal-example.cjs.entry.js +0 -28
  1260. package/dist/cjs/ix-modal-example.cjs.entry.js.map +0 -1
  1261. package/dist/cjs/ix-playground-internal.cjs.entry.js +0 -22
  1262. package/dist/cjs/ix-playground-internal.cjs.entry.js.map +0 -1
  1263. package/dist/cjs/ix-tooltip.cjs.entry.js.map +0 -1
  1264. package/dist/cjs/listener-a124ed49.js.map +0 -1
  1265. package/dist/cjs/make-ref-c25629b7.js.map +0 -1
  1266. package/dist/cjs/modal-828cb80a.js.map +0 -1
  1267. package/dist/cjs/theme-switcher-2d2bde85.js.map +0 -1
  1268. package/dist/collection/components/event-list/test/event-list.spec.js +0 -65
  1269. package/dist/collection/components/event-list/test/event-list.spec.js.map +0 -1
  1270. package/dist/collection/components/form-field/form-field.js +0 -56
  1271. package/dist/collection/components/form-field/form-field.js.map +0 -1
  1272. package/dist/collection/components/grid/layout-grid.js.map +0 -1
  1273. package/dist/collection/components/playground/example-modal.js +0 -24
  1274. package/dist/collection/components/playground/example-modal.js.map +0 -1
  1275. package/dist/collection/components/playground/playground.css +0 -27
  1276. package/dist/collection/components/playground/playground.js +0 -28
  1277. package/dist/collection/components/playground/playground.js.map +0 -1
  1278. package/dist/esm/a11y-2e34777f.js.map +0 -1
  1279. package/dist/esm/app-globals-0cd07cd9.js.map +0 -1
  1280. package/dist/esm/base-button-1b40b11d.js.map +0 -1
  1281. package/dist/esm/context-82a1ccf8.js.map +0 -1
  1282. package/dist/esm/dropdown-controller-95bd6750.js.map +0 -1
  1283. package/dist/esm/focus-d4d3abaf.js.map +0 -1
  1284. package/dist/esm/index-5429f20b.js.map +0 -1
  1285. package/dist/esm/ix-form-field.entry.js +0 -24
  1286. package/dist/esm/ix-form-field.entry.js.map +0 -1
  1287. package/dist/esm/ix-modal-example.entry.js +0 -24
  1288. package/dist/esm/ix-modal-example.entry.js.map +0 -1
  1289. package/dist/esm/ix-playground-internal.entry.js +0 -18
  1290. package/dist/esm/ix-playground-internal.entry.js.map +0 -1
  1291. package/dist/esm/ix-tooltip.entry.js.map +0 -1
  1292. package/dist/esm/listener-2c562054.js.map +0 -1
  1293. package/dist/esm/make-ref-c80046bf.js.map +0 -1
  1294. package/dist/esm/menu-tabs-fc-d9a7dd06.js.map +0 -1
  1295. package/dist/esm/modal-54740f80.js.map +0 -1
  1296. package/dist/esm/theme-switcher-b10fb4da.js.map +0 -1
  1297. package/dist/siemens-ix/p-04af3853.entry.js +0 -2
  1298. package/dist/siemens-ix/p-04ec538b.entry.js +0 -2
  1299. package/dist/siemens-ix/p-04ec538b.entry.js.map +0 -1
  1300. package/dist/siemens-ix/p-091b036d.entry.js +0 -2
  1301. package/dist/siemens-ix/p-0ca3528f.js +0 -2
  1302. package/dist/siemens-ix/p-1483f65d.entry.js.map +0 -1
  1303. package/dist/siemens-ix/p-157b1b28.js +0 -2
  1304. package/dist/siemens-ix/p-157b1b28.js.map +0 -1
  1305. package/dist/siemens-ix/p-15f44099.entry.js +0 -2
  1306. package/dist/siemens-ix/p-15f44099.entry.js.map +0 -1
  1307. package/dist/siemens-ix/p-1c3a0b1f.js +0 -2
  1308. package/dist/siemens-ix/p-1c3a0b1f.js.map +0 -1
  1309. package/dist/siemens-ix/p-1d581190.js.map +0 -1
  1310. package/dist/siemens-ix/p-1da901d5.js.map +0 -1
  1311. package/dist/siemens-ix/p-1db6be55.js.map +0 -1
  1312. package/dist/siemens-ix/p-235c14ca.js +0 -2
  1313. package/dist/siemens-ix/p-235c14ca.js.map +0 -1
  1314. package/dist/siemens-ix/p-25f1749c.entry.js +0 -2
  1315. package/dist/siemens-ix/p-25f1749c.entry.js.map +0 -1
  1316. package/dist/siemens-ix/p-2ebfd4fd.entry.js +0 -2
  1317. package/dist/siemens-ix/p-2ebfd4fd.entry.js.map +0 -1
  1318. package/dist/siemens-ix/p-306269ae.entry.js +0 -2
  1319. package/dist/siemens-ix/p-306269ae.entry.js.map +0 -1
  1320. package/dist/siemens-ix/p-32d4ed3b.entry.js +0 -2
  1321. package/dist/siemens-ix/p-35fff1e6.entry.js +0 -2
  1322. package/dist/siemens-ix/p-37229f30.entry.js.map +0 -1
  1323. package/dist/siemens-ix/p-3dc1294b.entry.js.map +0 -1
  1324. package/dist/siemens-ix/p-3f59a3c3.entry.js +0 -2
  1325. package/dist/siemens-ix/p-3f59a3c3.entry.js.map +0 -1
  1326. package/dist/siemens-ix/p-411f51c5.entry.js +0 -2
  1327. package/dist/siemens-ix/p-411f51c5.entry.js.map +0 -1
  1328. package/dist/siemens-ix/p-44a27b29.entry.js.map +0 -1
  1329. package/dist/siemens-ix/p-49d3fc15.entry.js +0 -2
  1330. package/dist/siemens-ix/p-49d3fc15.entry.js.map +0 -1
  1331. package/dist/siemens-ix/p-5099c070.entry.js +0 -2
  1332. package/dist/siemens-ix/p-5099c070.entry.js.map +0 -1
  1333. package/dist/siemens-ix/p-5351225b.entry.js.map +0 -1
  1334. package/dist/siemens-ix/p-5c673ae9.entry.js +0 -2
  1335. package/dist/siemens-ix/p-5c673ae9.entry.js.map +0 -1
  1336. package/dist/siemens-ix/p-62b089b6.entry.js +0 -2
  1337. package/dist/siemens-ix/p-62b089b6.entry.js.map +0 -1
  1338. package/dist/siemens-ix/p-63f0755e.entry.js +0 -2
  1339. package/dist/siemens-ix/p-64c3fa3d.js +0 -2
  1340. package/dist/siemens-ix/p-64c3fa3d.js.map +0 -1
  1341. package/dist/siemens-ix/p-67f44540.entry.js.map +0 -1
  1342. package/dist/siemens-ix/p-68532fa2.js +0 -2
  1343. package/dist/siemens-ix/p-6e4c9e3d.entry.js +0 -2
  1344. package/dist/siemens-ix/p-6e4c9e3d.entry.js.map +0 -1
  1345. package/dist/siemens-ix/p-6e6efb4c.js +0 -2
  1346. package/dist/siemens-ix/p-6e6efb4c.js.map +0 -1
  1347. package/dist/siemens-ix/p-713828ed.entry.js +0 -2
  1348. package/dist/siemens-ix/p-713828ed.entry.js.map +0 -1
  1349. package/dist/siemens-ix/p-7402f42a.entry.js.map +0 -1
  1350. package/dist/siemens-ix/p-77273517.entry.js.map +0 -1
  1351. package/dist/siemens-ix/p-78ac2ff1.entry.js +0 -2
  1352. package/dist/siemens-ix/p-7947ef3d.entry.js +0 -2
  1353. package/dist/siemens-ix/p-7c2f34f0.entry.js.map +0 -1
  1354. package/dist/siemens-ix/p-82d33168.entry.js +0 -2
  1355. package/dist/siemens-ix/p-86bbc005.entry.js +0 -2
  1356. package/dist/siemens-ix/p-86bbc005.entry.js.map +0 -1
  1357. package/dist/siemens-ix/p-90440046.entry.js.map +0 -1
  1358. package/dist/siemens-ix/p-9bdda7ff.entry.js +0 -2
  1359. package/dist/siemens-ix/p-a0138163.entry.js +0 -2
  1360. package/dist/siemens-ix/p-a0138163.entry.js.map +0 -1
  1361. package/dist/siemens-ix/p-a08efce0.entry.js +0 -2
  1362. package/dist/siemens-ix/p-a08efce0.entry.js.map +0 -1
  1363. package/dist/siemens-ix/p-a4755205.entry.js +0 -2
  1364. package/dist/siemens-ix/p-a8d291fa.entry.js.map +0 -1
  1365. package/dist/siemens-ix/p-aa814811.entry.js +0 -2
  1366. package/dist/siemens-ix/p-aa814811.entry.js.map +0 -1
  1367. package/dist/siemens-ix/p-accec846.js +0 -2
  1368. package/dist/siemens-ix/p-accec846.js.map +0 -1
  1369. package/dist/siemens-ix/p-adee6045.entry.js +0 -2
  1370. package/dist/siemens-ix/p-adee6045.entry.js.map +0 -1
  1371. package/dist/siemens-ix/p-b4ce366d.entry.js.map +0 -1
  1372. package/dist/siemens-ix/p-ba24e694.entry.js.map +0 -1
  1373. package/dist/siemens-ix/p-bf14c60b.entry.js +0 -2
  1374. package/dist/siemens-ix/p-bf14c60b.entry.js.map +0 -1
  1375. package/dist/siemens-ix/p-c022d6cc.entry.js +0 -2
  1376. package/dist/siemens-ix/p-c022d6cc.entry.js.map +0 -1
  1377. package/dist/siemens-ix/p-c05a98c8.entry.js +0 -2
  1378. package/dist/siemens-ix/p-c072ddb5.entry.js.map +0 -1
  1379. package/dist/siemens-ix/p-c09553f3.js +0 -2
  1380. package/dist/siemens-ix/p-c09553f3.js.map +0 -1
  1381. package/dist/siemens-ix/p-c1fe9f3d.entry.js +0 -2
  1382. package/dist/siemens-ix/p-c1fe9f3d.entry.js.map +0 -1
  1383. package/dist/siemens-ix/p-c33cee36.entry.js +0 -2
  1384. package/dist/siemens-ix/p-c33cee36.entry.js.map +0 -1
  1385. package/dist/siemens-ix/p-cc65617d.entry.js.map +0 -1
  1386. package/dist/siemens-ix/p-d14024d3.entry.js +0 -2
  1387. package/dist/siemens-ix/p-d14024d3.entry.js.map +0 -1
  1388. package/dist/siemens-ix/p-d1f49940.entry.js +0 -2
  1389. package/dist/siemens-ix/p-d1f49940.entry.js.map +0 -1
  1390. package/dist/siemens-ix/p-d6fc0727.entry.js +0 -2
  1391. package/dist/siemens-ix/p-d6fc0727.entry.js.map +0 -1
  1392. package/dist/siemens-ix/p-df370362.entry.js +0 -2
  1393. package/dist/siemens-ix/p-df370362.entry.js.map +0 -1
  1394. package/dist/siemens-ix/p-e948bcb0.js +0 -2
  1395. package/dist/siemens-ix/p-e948bcb0.js.map +0 -1
  1396. package/dist/siemens-ix/p-ed7e76a3.entry.js.map +0 -1
  1397. package/dist/siemens-ix/p-f87cd962.js +0 -3
  1398. package/dist/siemens-ix/p-f87cd962.js.map +0 -1
  1399. package/dist/siemens-ix/p-fd5bee44.entry.js +0 -2
  1400. package/dist/siemens-ix/p-fd5bee44.entry.js.map +0 -1
  1401. package/dist/siemens-ix/p-fefd5743.entry.js +0 -2
  1402. package/dist/siemens-ix/p-fefd5743.entry.js.map +0 -1
  1403. package/dist/siemens-ix/p-ffa856df.entry.js +0 -2
  1404. package/dist/siemens-ix/p-ffa856df.entry.js.map +0 -1
  1405. package/dist/types/components/form-field/form-field.d.ts +0 -10
  1406. package/dist/types/components/playground/example-modal.d.ts +0 -6
  1407. package/dist/types/components/playground/playground.d.ts +0 -4
  1408. /package/dist/collection/components/{grid → layout-grid}/layout-grid.css +0 -0
  1409. /package/dist/siemens-ix/{p-928209e1.entry.js.map → p-044c2a7b.entry.js.map} +0 -0
  1410. /package/dist/siemens-ix/{p-35fff1e6.entry.js.map → p-0be907d4.entry.js.map} +0 -0
  1411. /package/dist/siemens-ix/{p-f001ecc1.entry.js.map → p-0f0e7e14.entry.js.map} +0 -0
  1412. /package/dist/siemens-ix/{p-63f0755e.entry.js.map → p-2643f32a.entry.js.map} +0 -0
  1413. /package/dist/siemens-ix/{p-9079f6c8.entry.js.map → p-2a34a0c2.entry.js.map} +0 -0
  1414. /package/dist/siemens-ix/{p-1bd98772.entry.js.map → p-2b367b12.entry.js.map} +0 -0
  1415. /package/dist/siemens-ix/{p-c05a98c8.entry.js.map → p-2b9c5f59.entry.js.map} +0 -0
  1416. /package/dist/siemens-ix/{p-4e547dd3.entry.js.map → p-2d3a6d29.entry.js.map} +0 -0
  1417. /package/dist/siemens-ix/{p-82f9d976.entry.js.map → p-2d7ea063.entry.js.map} +0 -0
  1418. /package/dist/siemens-ix/{p-ae31be0d.entry.js.map → p-2db63240.entry.js.map} +0 -0
  1419. /package/dist/siemens-ix/{p-c81c4b9d.entry.js.map → p-3205726a.entry.js.map} +0 -0
  1420. /package/dist/siemens-ix/{p-33a7a26d.entry.js.map → p-37af7117.entry.js.map} +0 -0
  1421. /package/dist/siemens-ix/{p-e0d03d67.entry.js.map → p-392b4297.entry.js.map} +0 -0
  1422. /package/dist/siemens-ix/{p-c7280736.entry.js.map → p-4624a772.entry.js.map} +0 -0
  1423. /package/dist/siemens-ix/{p-a4755205.entry.js.map → p-4a631d9c.entry.js.map} +0 -0
  1424. /package/dist/siemens-ix/{p-05dc6b2d.entry.js.map → p-4c9b7548.entry.js.map} +0 -0
  1425. /package/dist/siemens-ix/{p-78ac2ff1.entry.js.map → p-4cc79e8f.entry.js.map} +0 -0
  1426. /package/dist/siemens-ix/{p-d300b332.entry.js.map → p-4e51d716.entry.js.map} +0 -0
  1427. /package/dist/siemens-ix/{p-0ef97555.entry.js.map → p-4ec6ddfb.entry.js.map} +0 -0
  1428. /package/dist/siemens-ix/{p-0ca3528f.js.map → p-5682e985.js.map} +0 -0
  1429. /package/dist/siemens-ix/{p-5af99eaa.entry.js.map → p-57e60a06.entry.js.map} +0 -0
  1430. /package/dist/siemens-ix/{p-0632731e.entry.js.map → p-63dd987f.entry.js.map} +0 -0
  1431. /package/dist/siemens-ix/{p-f06b21f9.entry.js.map → p-654f91f2.entry.js.map} +0 -0
  1432. /package/dist/siemens-ix/{p-82d33168.entry.js.map → p-66559451.entry.js.map} +0 -0
  1433. /package/dist/siemens-ix/{p-86fd5922.entry.js.map → p-6722bcff.entry.js.map} +0 -0
  1434. /package/dist/siemens-ix/{p-b804b8c5.entry.js.map → p-6bae4e9b.entry.js.map} +0 -0
  1435. /package/dist/siemens-ix/{p-68532fa2.js.map → p-6bf208b8.js.map} +0 -0
  1436. /package/dist/siemens-ix/{p-958c5970.entry.js.map → p-8457d846.entry.js.map} +0 -0
  1437. /package/dist/siemens-ix/{p-c7e58e9e.entry.js.map → p-8c2b62c3.entry.js.map} +0 -0
  1438. /package/dist/siemens-ix/{p-c62966f8.entry.js.map → p-8da941cd.entry.js.map} +0 -0
  1439. /package/dist/siemens-ix/{p-6618b2db.entry.js.map → p-8f616a5c.entry.js.map} +0 -0
  1440. /package/dist/siemens-ix/{p-e14384df.entry.js.map → p-9948574f.entry.js.map} +0 -0
  1441. /package/dist/siemens-ix/{p-085d5ec2.entry.js.map → p-9d323232.entry.js.map} +0 -0
  1442. /package/dist/siemens-ix/{p-17a8aab2.entry.js.map → p-a3364116.entry.js.map} +0 -0
  1443. /package/dist/siemens-ix/{p-32d4ed3b.entry.js.map → p-a61ed462.entry.js.map} +0 -0
  1444. /package/dist/siemens-ix/{p-8acc09aa.entry.js.map → p-b2a06e46.entry.js.map} +0 -0
  1445. /package/dist/siemens-ix/{p-5aa0b93c.entry.js.map → p-b74a8cdc.entry.js.map} +0 -0
  1446. /package/dist/siemens-ix/{p-89e48bea.entry.js.map → p-bded112a.entry.js.map} +0 -0
  1447. /package/dist/siemens-ix/{p-e95a5a97.entry.js.map → p-be860121.entry.js.map} +0 -0
  1448. /package/dist/siemens-ix/{p-7947ef3d.entry.js.map → p-c236cf18.entry.js.map} +0 -0
  1449. /package/dist/siemens-ix/{p-091b036d.entry.js.map → p-c6796e64.entry.js.map} +0 -0
  1450. /package/dist/siemens-ix/{p-04af3853.entry.js.map → p-cbfca958.entry.js.map} +0 -0
  1451. /package/dist/siemens-ix/{p-b663ca16.entry.js.map → p-d929f23d.entry.js.map} +0 -0
  1452. /package/dist/siemens-ix/{p-0fafba48.entry.js.map → p-e7ac5657.entry.js.map} +0 -0
  1453. /package/dist/siemens-ix/{p-ee96d1eb.entry.js.map → p-e9a37b3f.entry.js.map} +0 -0
  1454. /package/dist/siemens-ix/{p-24a8737a.entry.js.map → p-edc1d44a.entry.js.map} +0 -0
  1455. /package/dist/siemens-ix/{p-9bdda7ff.entry.js.map → p-ffca56d6.entry.js.map} +0 -0
  1456. /package/dist/types/components/{grid → layout-grid}/layout-grid.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["categoryFilterCss","IxCategoryFilterStyle0","CategoryFilter","this","ID_CUSTOM_FILTER_VALUE","LogicalFilterOperator","EQUAL","dropdown","hostElement","shadowRoot","querySelector","watchFilterState","newValue","setFilterState","componentDidLoad","filterState","undefined","setTimeout","_a","addEventListener","handleFormElementKeyDown","bind","_b","formElement","e","preventDefault","textInput","console","warn","hasFocus","inputValue","value","inputState","InputState","category","inputChanged","emit","show","openDropdown","handleInputElementKeyDown","state","filterTokens","token","tokens","addToken","categoryLogicalOperator","categories","id","operator","emitFilterEvent","closeDropdown","disabled","readonly","code","document","activeElement","classList","contains","getAttribute","hasCategorySelection","selectCategory","focusPreviousItem","showDropdown","focusNextItem","sibling","previousSibling","HTMLElement","focus","nextSibling","selector","item","stopPropagation","suggestions","length","tokenCount","removeToken","filter","map","filterChanged","emitEvent","newToken","trim","hasToken","pair","isScrollStateDirty","index","_","i","getCategoryIds","ids","Object","prototype","hasOwnProperty","call","push","categoryChanged","resetFilter","filterMultiples","repeatCategories","isCategoryAlreadySet","find","some","filterToken","hasSameValue","filterDuplicateTokens","filterByInput","toLowerCase","indexOf","toggleCategoryOperator","NOT_EQUAL","getFilterChipLabel","operatorString","label","_c","nonSelectableCategories","getFilteredSuggestions","renderPlainSuggestions","h","class","suggestion","onClick","key","title","renderOperatorButton","staticOperator","params","type","variant","outline","ghost","iconOnly","iconOval","selected","loading","icon","extraClasses","BaseButton","assign","getFilterOperatorString","renderCategoryValues","options","renderDropdownContent","renderCategorySelection","tabindex","getDropdownHeader","labelCategories","i18nPlainText","componentDidRender","tmpDisableScrollIntoView","scrollIntoView","getResetButton","oval","size","getIconColor","render","Host","ref","el","hideIcon","color","name","toString","animate__animated","animate__fadein","onCloseClick","autocomplete","placeholder","closeBehavior","offset","mainAxis","anchor","trigger","header"],"sources":["src/components/category-filter/category-filter.scss?tag=ix-category-filter&encapsulation=shadow","src/components/category-filter/category-filter.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 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/shadows';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/text-truncation';\n@import '../button/button';\n@import 'legacy/components/dropdown';\n@import 'legacy/components/forms';\n@import 'components/form/input';\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n height: auto;\n\n @include host-focus-visible {\n border-color: var(--theme-color-primary);\n box-shadow: 0 0 $tiny-space 0 var(--theme-color-primary) !important;\n }\n\n .reset-button {\n position: absolute;\n top: $tiny-space;\n right: $tiny-space;\n }\n\n .reset-button.hide-reset-button {\n display: none;\n }\n\n .input-container {\n &:not(.readonly):not(.disabled) {\n @include element-input('false');\n }\n\n &.disabled {\n color: var(--theme-input--color--disabled);\n border-bottom: var(--theme-input--border-thickness, 1px) solid\n var(--theme-input--border-color-bottom--disabled);\n }\n\n &.readonly {\n @include element-input;\n }\n\n display: flex;\n height: auto;\n max-height: 3.75rem;\n padding: 1px $large-space 1px 1.75rem !important;\n\n &.no-icon {\n padding-left: $tiny-space;\n }\n }\n\n .token-container {\n flex-grow: 1;\n overflow: hidden;\n }\n\n .text-input {\n @include ellipsis;\n @include text-default;\n width: auto;\n height: 1.75rem;\n min-height: $large-space;\n background: transparent;\n flex-grow: 1;\n box-shadow: none;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n\n .list-unstyled {\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n padding: 0;\n margin: 0;\n overflow-y: auto;\n }\n\n ix-icon {\n position: absolute;\n top: $small-space;\n left: $small-space;\n }\n\n ix-filter-chip {\n margin-right: $tiny-space;\n }\n\n .category-preview {\n display: flex;\n align-items: center;\n height: $large-space;\n background-color: var(--theme-bg-3);\n border-top-left-radius: $default-space;\n border-bottom-left-radius: $default-space;\n padding: $small-space;\n margin: 2px 0;\n }\n\n ul {\n height: 100%;\n }\n\n ul > li,\n input {\n padding-inline-start: 0;\n padding-top: 2px;\n padding-bottom: 2px;\n }\n\n ix-dropdown {\n min-width: 10rem !important;\n\n .dropdown-item-container {\n display: flex;\n flex-direction: column;\n\n .dropdown-item {\n @include text-default-single;\n @include ellipsis;\n @include focus-visible {\n border-color: var(--theme-color-focus-bdr);\n }\n\n height: $large-control-height;\n margin: $tiny-space $small-space;\n padding-inline: $small-space;\n border: 1px solid transparent;\n border-radius: 100rem;\n width: auto;\n justify-content: flex-start;\n flex-grow: 1;\n }\n\n .category-item {\n border-end-end-radius: 0;\n border-start-end-radius: 0;\n }\n\n .category-item-value {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n }\n\n .btn-toggle-operator {\n width: 2rem;\n height: 2rem;\n margin-inline: $small-space;\n }\n }\n\n .d-none {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { FilterState } from './filter-state';\nimport { InputState } from './input-state';\nimport { LogicalFilterOperator } from './logical-filter-operator';\n\n@Component({\n tag: 'ix-category-filter',\n styleUrl: 'category-filter.scss',\n shadow: true,\n})\nexport class CategoryFilter {\n private readonly ID_CUSTOM_FILTER_VALUE = 'CW_CUSTOM_FILTER_VALUE';\n\n @State() showDropdown: boolean;\n @State() private textInput?: HTMLInputElement;\n private formElement?: HTMLFormElement;\n private isScrollStateDirty?: boolean;\n\n @Element() hostElement!: HTMLIxCategoryFilterElement;\n\n @State() hasFocus: boolean;\n @State() categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n @State() inputValue: string;\n @State() category: string;\n @State() filterTokens: Array<{\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }> = [];\n\n /**\n * If true the filter will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the filter will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * A set of search criteria to populate the component with.\n */\n @Prop() filterState?: FilterState;\n\n /**\n * Placeholder text to be displayed in an empty input field.\n */\n @Prop() placeholder?: string;\n\n /**\n * Configuration object hash used to populate the dropdown menu for type-ahead and quick selection functionality.\n * Each ID maps to an object with a label and an array of options to select from.\n */\n @Prop() categories?: {\n [id: string]: {\n label: string;\n options: string[];\n };\n };\n\n /**\n * In certain use cases some categories may not be available for selection anymore.\n * To allow proper display of set filters with these categories this ID to label mapping can be populated.\n *\n * Configuration object hash used to supply labels to the filter chips in the input field.\n * Each ID maps to a string representing the label to display.\n */\n @Prop() nonSelectableCategories?: {\n [id: string]: string;\n } = {};\n\n /**\n * A list of strings that will be supplied as type-ahead suggestions not tied to any categories.\n */\n @Prop() suggestions?: string[];\n\n /**\n * The icon next to the actual text input\n * Defaults to 'search'\n */\n @Prop() icon = 'search';\n\n /**\n * Allows to hide the icon inside the text input.\n * Defaults to false\n */\n @Prop() hideIcon: boolean = false;\n\n /**\n * If set categories will always be filtered via the respective logical operator.\n * Toggling of the operator will not be available to the user.\n *\n * @since 2.2.0\n */\n @Prop() staticOperator?: LogicalFilterOperator;\n\n /**\n * If set to true, allows that a single category can be set more than once.\n * An already set category will not appear in the category dropdown if set to false.\n *\n * Defaults to true\n */\n @Prop() repeatCategories = true;\n\n /**\n * @internal For debugging purposes only!\n */\n @Prop() tmpDisableScrollIntoView = true;\n\n /**\n * i18n\n */\n @Prop() labelCategories = 'Categories';\n\n /**\n * i18n\n */\n @Prop() i18nPlainText = 'Filter by text';\n\n /**\n * Event dispatched whenever a category gets selected in the dropdown\n */\n @Event() categoryChanged!: EventEmitter<string>;\n\n /**\n * Event dispatched whenever the text input changes.\n */\n @Event() inputChanged!: EventEmitter<InputState>;\n\n /**\n * Event dispatched whenever the filter state changes.\n */\n @Event() filterChanged!: EventEmitter<FilterState>;\n\n get dropdown() {\n return this.hostElement.shadowRoot.querySelector('ix-dropdown');\n }\n\n @Watch('filterState')\n watchFilterState(newValue) {\n this.setFilterState(newValue);\n }\n\n componentDidLoad() {\n if (this.filterState !== undefined) {\n setTimeout(() => this.setFilterState(this.filterState));\n }\n\n this.hostElement?.addEventListener(\n 'keydown',\n this.handleFormElementKeyDown.bind(this)\n );\n\n this.formElement?.addEventListener('submit', (e) => e.preventDefault());\n\n if (this.textInput == null) {\n console.warn(\n 'ix-category-filter - unable to add event listeners to native input element'\n );\n return;\n }\n\n this.textInput.addEventListener('focusin', () => {\n this.hasFocus = true;\n });\n this.textInput.addEventListener('focusout', () => (this.hasFocus = false));\n this.textInput.addEventListener('input', () => {\n this.inputValue = this.textInput.value;\n const inputState = new InputState(this.inputValue, this.category);\n this.inputChanged.emit(inputState);\n\n if (!this.dropdown.show) {\n this.openDropdown();\n }\n });\n this.textInput.addEventListener(\n 'keydown',\n this.handleInputElementKeyDown.bind(this)\n );\n }\n\n private setFilterState(state: FilterState) {\n this.filterTokens = [];\n\n for (const token of state.tokens) {\n this.addToken(\n token,\n this.ID_CUSTOM_FILTER_VALUE,\n this.categoryLogicalOperator,\n false\n );\n }\n\n for (const category of state.categories) {\n this.addToken(category.value, category.id, category.operator, false);\n }\n\n this.emitFilterEvent();\n }\n\n private closeDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.dropdown.show = false;\n }\n\n private openDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.dropdown.show = true;\n }\n\n private handleFormElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (!document.activeElement.classList.contains('dropdown-item')) {\n return;\n }\n\n const token = document.activeElement.getAttribute('data-id');\n\n if (this.hasCategorySelection()) {\n if (this.category !== undefined) {\n this.addToken(token, this.category);\n } else if (\n document.activeElement.classList.contains('category-item-id')\n ) {\n this.selectCategory(token);\n }\n } else {\n this.addToken(token);\n }\n\n e.preventDefault();\n break;\n\n case 'ArrowUp':\n this.focusPreviousItem();\n e.preventDefault();\n break;\n\n case 'ArrowDown':\n this.showDropdown = true;\n this.focusNextItem();\n e.preventDefault();\n break;\n\n case 'Escape':\n this.closeDropdown();\n break;\n }\n }\n\n private focusPreviousItem() {\n const sibling = document.activeElement.previousSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusNextItem() {\n const sibling = document.activeElement.nextSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private handleInputElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowDown':\n const selector = `.category-item-${\n this.category !== undefined ? 'value' : 'id'\n }`;\n let item = this.hostElement.shadowRoot.querySelector(selector);\n\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n } else if (this.suggestions?.length) {\n item = this.hostElement.shadowRoot.querySelector('.category-item');\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n }\n }\n break;\n\n case 'Backspace':\n if (this.textInput.value !== '') {\n return;\n }\n\n if (this.category !== undefined) {\n this.category = undefined;\n return;\n }\n\n const tokenCount = this.filterTokens.length;\n if (tokenCount > 0) {\n this.removeToken(tokenCount - 1);\n }\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.addToken(this.inputValue, this.category);\n e.preventDefault();\n break;\n }\n }\n\n private emitFilterEvent() {\n const tokens = this.filterTokens\n .filter((item) => item.id === this.ID_CUSTOM_FILTER_VALUE)\n .map((item) => item.value);\n const categories = this.filterTokens.filter(\n (item) => item.id !== this.ID_CUSTOM_FILTER_VALUE\n );\n const filterState: FilterState = {\n tokens,\n categories,\n };\n\n this.filterChanged.emit(filterState);\n }\n\n private addToken(\n token: string,\n category: string = this.ID_CUSTOM_FILTER_VALUE,\n operator = this.categoryLogicalOperator,\n emitEvent = true\n ) {\n if (token === undefined || token === null) {\n return;\n }\n\n const newToken = token.trim();\n\n if (newToken === '') {\n return;\n }\n\n if (this.hasToken(newToken)) {\n return;\n }\n\n const pair = { id: category, value: newToken, operator };\n this.filterTokens = [...this.filterTokens, pair];\n this.textInput.value = '';\n this.inputValue = '';\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n\n if (this.category !== undefined) {\n this.category = undefined;\n }\n\n this.isScrollStateDirty = true;\n\n this.textInput.focus();\n\n if (emitEvent) {\n this.emitFilterEvent();\n }\n }\n\n private removeToken(index: number) {\n this.filterTokens = this.filterTokens.filter((_, i) => i !== index);\n this.emitFilterEvent();\n }\n\n private getCategoryIds() {\n const ids = [];\n for (const id in this.categories) {\n if (Object.prototype.hasOwnProperty.call(this.categories, id)) {\n ids.push(id);\n }\n }\n\n return ids;\n }\n\n private selectCategory(category: string) {\n this.category = category;\n this.textInput.value = '';\n this.inputValue = '';\n this.textInput.focus();\n this.categoryChanged.emit(category);\n }\n\n private resetFilter(e: Event) {\n e.stopPropagation();\n this.closeDropdown();\n this.filterTokens = [];\n if (this.category) {\n this.category = undefined;\n this.categoryChanged.emit(this.category);\n }\n this.emitFilterEvent();\n }\n\n private filterMultiples(value: string) {\n if (this.repeatCategories) {\n return true;\n }\n\n const isCategoryAlreadySet = this.filterTokens.find(\n (token) => token.id === value\n );\n\n return !isCategoryAlreadySet;\n }\n\n private hasToken(token: string) {\n return this.filterTokens.some((filterToken) => {\n const hasSameValue = filterToken.value === token;\n\n if (!hasSameValue) {\n return false;\n }\n\n if (this.category !== undefined) {\n return this.category === filterToken.id;\n }\n\n if (filterToken.id) {\n return filterToken.id === this.ID_CUSTOM_FILTER_VALUE;\n }\n\n return hasSameValue;\n });\n }\n\n private filterDuplicateTokens(value: string) {\n return !this.hasToken(value);\n }\n\n private filterByInput(value: string) {\n if (this.inputValue === undefined || this.inputValue === '') {\n return true;\n }\n\n return value.toLowerCase().indexOf(this.inputValue.toLowerCase()) !== -1;\n }\n\n private toggleCategoryOperator() {\n switch (this.categoryLogicalOperator) {\n case LogicalFilterOperator.EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.NOT_EQUAL;\n break;\n\n case LogicalFilterOperator.NOT_EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n break;\n }\n }\n\n private getFilterChipLabel(value: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }): string {\n if (value.id === this.ID_CUSTOM_FILTER_VALUE) {\n return value.value;\n }\n\n const operatorString =\n value.operator === LogicalFilterOperator.EQUAL ? '=' : '!=';\n const label =\n this.categories[value.id]?.label ??\n this.nonSelectableCategories[value.id] ??\n value.id;\n\n return `${label} ${operatorString} ${value.value}`;\n }\n\n private getFilteredSuggestions() {\n if (!this.suggestions?.length) {\n return [];\n }\n\n return this.suggestions\n ?.filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value));\n }\n\n private hasCategorySelection() {\n return this.categories !== undefined;\n }\n\n private renderPlainSuggestions() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getFilteredSuggestions().map((suggestion) => (\n <button\n class=\"dropdown-item\"\n data-id={suggestion}\n onClick={() => this.addToken(suggestion)}\n key={suggestion}\n title={suggestion}\n >\n {suggestion}\n </button>\n ))}\n </div>\n );\n }\n\n private renderOperatorButton() {\n if (this.staticOperator) {\n return '';\n }\n\n const params: BaseButtonProps = {\n type: 'button',\n variant: 'secondary',\n outline: false,\n ghost: true,\n iconOnly: true,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.staticOperator !== undefined,\n loading: false,\n icon: '',\n onClick: (e: Event) => {\n e.stopPropagation();\n this.toggleCategoryOperator();\n },\n extraClasses: {\n 'btn-icon-32': true,\n 'btn-toggle-operator': true,\n },\n };\n\n return (\n <BaseButton {...params}>\n {this.categoryLogicalOperator === LogicalFilterOperator.NOT_EQUAL\n ? '='\n : '!='}\n </BaseButton>\n );\n }\n\n private getFilterOperatorString() {\n let operator: LogicalFilterOperator;\n if (this.staticOperator !== undefined) {\n operator = this.staticOperator;\n } else {\n operator = this.categoryLogicalOperator;\n }\n return `${operator === LogicalFilterOperator.EQUAL ? '=' : '!='} `;\n }\n\n private renderCategoryValues() {\n return (\n <div class=\"dropdown-item-container\">\n {this.renderOperatorButton()}\n <div class=\"dropdown-header\">\n {this.categories[this.category]?.label}\n </div>\n {this.categories[this.category]?.options\n .filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value))\n .map((id) => (\n <button\n class=\"dropdown-item category-item-value\"\n data-id={id}\n title={id}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.addToken(id, this.category);\n }}\n >\n {`${this.getFilterOperatorString()} ${id}`}\n </button>\n ))}\n </div>\n );\n }\n\n private renderDropdownContent() {\n if (this.hasCategorySelection()) {\n if (this.category !== undefined) {\n return this.renderCategoryValues();\n } else {\n return this.renderCategorySelection();\n }\n } else return this.renderPlainSuggestions();\n }\n\n private renderCategorySelection() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getCategoryIds()\n ?.filter((id) => this.filterByInput(this.categories[id].label))\n .filter((id) => this.filterMultiples(id))\n .map((id) => (\n <button\n class=\"dropdown-item category-item category-item-id\"\n data-id={id}\n title={this.categories[id].label}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.selectCategory(id);\n }}\n tabindex=\"0\"\n >\n {this.categories[id]?.label}\n </button>\n ))}\n </div>\n );\n }\n\n private getDropdownHeader() {\n if (this.categories !== undefined) {\n if (this.category !== undefined) {\n return null;\n } else {\n return this.labelCategories;\n }\n }\n\n return this.i18nPlainText;\n }\n\n componentDidRender() {\n if (this.isScrollStateDirty) {\n if (!this.tmpDisableScrollIntoView) {\n this.textInput.scrollIntoView();\n }\n this.isScrollStateDirty = false;\n }\n }\n\n private getResetButton() {\n return (\n <ix-icon-button\n onClick={(e) => this.resetFilter(e)}\n class={{\n 'reset-button': true,\n 'hide-reset-button':\n !this.filterTokens.length && this.category === undefined,\n }}\n ghost\n oval\n icon={'clear'}\n size=\"16\"\n ></ix-icon-button>\n );\n }\n\n private getIconColor() {\n if (this.disabled) {\n return 'color-componentn-1';\n }\n\n if (this.readonly) {\n return 'color-std-txt';\n }\n\n return 'color-primary';\n }\n\n render() {\n return (\n <Host>\n <form ref={(el) => (this.formElement = el)}>\n <div\n read-only={this.readonly}\n class={{\n 'input-container': true,\n disabled: this.disabled,\n focus: this.hasFocus,\n readonly: this.readonly,\n 'no-icon': this.hideIcon,\n }}\n >\n <ix-icon\n color={this.getIconColor()}\n class={{ 'd-none': this.hideIcon }}\n name={this.icon}\n size=\"16\"\n ></ix-icon>\n <div class=\"token-container\">\n <ul class=\"list-unstyled\">\n {this.filterTokens.map((value, index) => (\n <li\n key={value.toString()}\n class={{\n animate__animated: true,\n animate__fadein: true,\n }}\n >\n <ix-filter-chip\n disabled={this.disabled}\n readonly={this.readonly}\n onClick={(e) => e.stopPropagation()}\n onCloseClick={() => this.removeToken(index)}\n >\n {this.getFilterChipLabel(value)}\n </ix-filter-chip>\n </li>\n ))}\n {this.categories === undefined ? (\n ''\n ) : (\n <li\n class={{\n 'category-preview': true,\n 'd-none': this.category === undefined,\n }}\n >\n {this.categories[this.category]?.label}\n </li>\n )}\n <input\n class={{\n 'text-input': true,\n 'hide-placeholder':\n this.readonly ||\n this.disabled ||\n this.category !== undefined,\n }}\n autocomplete=\"off\"\n name=\"category-filter-input\"\n disabled={this.disabled}\n readonly={this.readonly}\n ref={(el) => (this.textInput = el)}\n type=\"text\"\n placeholder={this.placeholder}\n ></input>\n </ul>\n </div>\n {!this.readonly && !this.disabled && this.getResetButton()}\n </div>\n </form>\n\n {this.disabled || this.readonly ? (\n ''\n ) : (\n <ix-dropdown\n show={this.showDropdown}\n closeBehavior=\"outside\"\n offset={{ mainAxis: 2 }}\n anchor={this.textInput}\n trigger={this.hostElement}\n header={this.getDropdownHeader()}\n >\n {this.renderDropdownContent()}\n </ix-dropdown>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["dateTimeCardCss","IxDateTimeCardStyle0","DateTimeCard","undefined","cardClasses","card","standaloneAppearance","this","individual","rounded","corners","left","right","render","h","Host","key","class","name"],"sources":["src/components/date-time-card/date-time-card.scss?tag=ix-date-time-card&encapsulation=shadow","src/components/date-time-card/date-time-card.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n .card {\n background-color: var(--theme-menu--background);\n width: 100%;\n box-shadow: none;\n border: none;\n border-radius: unset;\n display: flex;\n flex-direction: column;\n\n &.standaloneAppearance {\n box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1), 0 4px 8px 0 rgba(0, 0, 0, 0.1),\n 0 12px 18px 0 rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n }\n\n &.rounded {\n border-radius: 4px;\n }\n\n &.left {\n border-radius: 4px 0 0 4px;\n height: 100%;\n }\n\n &.right {\n border-radius: 0 4px 4px 0;\n height: 100%;\n }\n\n .header {\n padding: $default-space;\n flex: 0 1 auto;\n }\n\n .separator {\n border: 1px solid var(--theme-datepicker-separator--background);\n width: 100%;\n flex: 0 1 auto;\n }\n\n .content {\n padding: 0 $medium-space $medium-space $medium-space;\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\n\nexport type DateTimeCardCorners = 'rounded' | 'left' | 'right' | 'straight';\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-date-time-card',\n styleUrl: 'date-time-card.scss',\n shadow: true,\n})\nexport class DateTimeCard {\n /** @internal */\n @Prop() standaloneAppearance = undefined;\n\n /**\n * set styles\n */\n @Prop() individual: boolean = true;\n\n /**\n * Set corners style\n */\n @Prop() corners: DateTimeCardCorners = 'rounded';\n\n private cardClasses() {\n return {\n card: true,\n standaloneAppearance:\n this.standaloneAppearance !== undefined\n ? this.standaloneAppearance\n : this.individual,\n rounded: this.corners === 'rounded',\n left: this.corners === 'left',\n right: this.corners === 'right',\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.cardClasses()}>\n <div class=\"header\">\n <slot name=\"header\"></slot>\n </div>\n\n <div class=\"separator\"></div>\n\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6CAAA,MAAMA,EAAkB,0+CACxB,MAAAC,EAAeD,E,MCoBFE,EAAY,M,mDAEQC,U,gBAKD,K,aAKS,S,CAE/B,WAAAC,GACN,MAAO,CACLC,KAAM,KACNC,qBACEC,KAAKD,uBAAyBH,UAC1BI,KAAKD,qBACLC,KAAKC,WACXC,QAASF,KAAKG,UAAY,UAC1BC,KAAMJ,KAAKG,UAAY,OACvBE,MAAOL,KAAKG,UAAY,Q,CAI5B,MAAAG,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAOV,KAAKH,eACfU,EAAA,OAAAE,IAAA,2CAAKC,MAAM,UACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,YAGbJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,cAEXH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,WACTH,EAAA,QAAAE,IAAA,+C"}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t,H as s}from"./p-f87cd962.js";const o=":host(.keyValueList) ::slotted(ix-key-value){border-bottom:1px solid var(--theme-color-weak-bdr)}:host(.keyValueList.keyValueList--striped) ::slotted(ix-key-value:nth-child(odd)){background:var(--theme-color-ghost-alt)}";const a=o;const r=class{constructor(t){e(this,t);this.striped=undefined}render(){return t(s,{key:"41f224f172d1d9ed9a1eab8c1e1c434fa2e4e1c9",class:{keyValueList:true,"keyValueList--striped":this.striped}},t("slot",{key:"400532fe69d357f8bde037257f4397723c8129a0"}))}};r.style=a;export{r as ix_key_value_list};
2
- //# sourceMappingURL=p-9bdda7ff.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,F as s,H as a,g as o}from"./p-f87cd962.js";import{D as h}from"./p-f5e574da.js";const r=":host{display:inline-block;position:relative}: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}@media (max-width: 48em){:host .min-width{width:-moz-min-content;width:min-content}}@media (min-width: 48em){:host .border-right{border-right:var(--theme-x-weak-bdr-2)}}:host ix-button{width:100%}:host .max-height{max-height:-moz-max-content;max-height:max-content}:host .no-margin{margin:0;padding:0}:host .pull-right{float:right;padding:0.25rem 1rem}";const d=r;const n=class{constructor(i){t(this,i);this.dateRangeChange=e(this,"dateRangeChange",7);this.datePickerTouched=false;this.disabled=false;this.format="yyyy/LL/dd";this.range=true;this.from=undefined;this.to=undefined;this.minDate=undefined;this.maxDate=undefined;this.dateRangeId="custom";this.customRangeAllowed=true;this.dateRangeOptions=[];this.i18nCustomItem="Custom...";this.i18nDone="Done";this.i18nNoRange="No range set";this.today=h.now().toISO();this.selectedDateRangeId=undefined;this.currentRangeValue=undefined;this.triggerRef=undefined}onDateRangeIdChange(){this.onRangeListSelect(this.dateRangeId);this.updateCurrentDate();this.setDateRangeSelection(this.dateRangeId);this.onDateSelect({from:this.currentRangeValue.from,to:this.currentRangeValue.to,id:this.currentRangeValue.id})}onDateRangeOptionsChange(){this.initialize();this.onDateRangeIdChange()}onDisabledChange(){if(this.disabled){this.closeDropdown()}}componentWillLoad(){this.initialize();this.setDateRangeSelection(this.dateRangeId)}async getDateRange(){return this.currentRangeValue}initialize(){const t=this.dateRangeId==="custom"||!this.dateRangeId&&!!this.from&&!!this.to;if(t&&this.customRangeAllowed){this.selectedDateRangeId="custom";this.updateCurrentDate();return}const e=!t&&!this.from;if(!e){console.warn('"from" and "range-date-id" is provided this is an invalid combination. Using "custom".');this.selectedDateRangeId="custom";this.updateCurrentDate();return}}updateCurrentDate(){this.currentRangeValue={id:this.selectedDateRangeId,from:this.from,to:this.to}}onDateSelect(t,e=true){this.dateRangeChange.emit(t);if(e){this.closeDropdown()}this.datePickerTouched=false}onRangeListSelect(t){if(this.setDateRangeSelection(t)){this.onDateSelect(this.currentRangeValue)}}setDateRangeSelection(t){this.selectedDateRangeId=t;const e=this.dateRangeOptions.find((e=>e.id===t));if(e){this.currentRangeValue=e}return e}closeDropdown(){this.hostElement.shadowRoot.querySelector("ix-dropdown").show=false}getButtonLabel(){var t,e;if(this.selectedDateRangeId==="custom"&&((t=this.currentRangeValue)===null||t===void 0?void 0:t.from)){let t=this.currentRangeValue.from;if(this.currentRangeValue.to){t+=` - ${this.currentRangeValue.to}`}return t}if(!this.selectedDateRangeId){return this.i18nNoRange}if(!this.dateRangeOptions||((e=this.dateRangeOptions)===null||e===void 0?void 0:e.length)===0){return this.i18nNoRange}const i=this.dateRangeOptions.find((t=>t.id===this.selectedDateRangeId));if(!i){console.error(`Cannot find range option with id ${this.selectedDateRangeId}`);return this.i18nNoRange}return i.label}render(){var t,e,o;return i(a,{key:"d66ef545b12f469b74a6693942a4fdbd7eb60382"},i("ix-button",{key:"8b6c5227aaf9d39fa6b8aa209170f10d9f4e46e8","data-testid":"date-dropdown-trigger","data-date-dropdown-trigger":true,variant:"primary",icon:"history",ref:t=>this.triggerRef=t,disabled:this.disabled},this.getButtonLabel()),i("ix-dropdown",{key:"909f713bc65e1371143ce50b438d5222319b794e","data-testid":"date-dropdown","data-date-dropdown":true,class:"min-width max-height",trigger:this.triggerRef,closeBehavior:"outside",placement:"bottom-start",onShowChanged:({detail:t})=>{if(!t&&this.selectedDateRangeId==="custom"&&this.datePickerTouched){this.onDateSelect(this.currentRangeValue)}}},i("ix-layout-grid",{key:"b8d09d4ddac4960ee2ea23ed9ec6bf5ecb59c5ae","no-margin":"true"},i("ix-row",{key:"fa9099679383056a268265eec7316ced4cd0085a"},((t=this.dateRangeOptions)===null||t===void 0?void 0:t.length)>1&&i("ix-col",{key:"9107d5b1053c93d662568b0efa7bb89d60b80ed6",class:{"no-margin":true,"border-right":this.selectedDateRangeId==="custom"}},this.dateRangeOptions.map((t=>i("ix-dropdown-item",{label:t.label,onClick:()=>this.onRangeListSelect(t.id),checked:this.selectedDateRangeId===t.id}))),i("div",{key:"0a2993cbe4d995e4dd6345e8f1b4e32cb39997d8",hidden:!this.customRangeAllowed},i("ix-dropdown-item",{key:"7bddded3f580f85c9222e563df5ef80a6a5470ed",label:this.i18nCustomItem,checked:this.selectedDateRangeId==="custom",onClick:()=>this.onRangeListSelect("custom")}))),i("ix-col",{key:"fe530809dc0eff3d95e4305ef48d8f46ebaf2a20",class:"no-margin"},this.selectedDateRangeId==="custom"&&i(s,{key:"6fb55cd06c7467fa1277476177b8db788fc6e614"},i("ix-date-picker",{key:"dac5bfab1baa592aaf0db6aaec80b44592c048f9",standaloneAppearance:false,onDateChange:t=>{t.stopPropagation();this.currentRangeValue=Object.assign(Object.assign({},t.detail),{id:"custom"});this.datePickerTouched=true},onDateRangeChange:t=>t.stopPropagation(),format:this.format,range:this.range,from:this.from||((e=this.currentRangeValue)===null||e===void 0?void 0:e.from),to:this.to||((o=this.currentRangeValue)===null||o===void 0?void 0:o.to),minDate:this.minDate,maxDate:this.maxDate,today:this.today}),i("div",{key:"613a674664d2b55a8012fc2b869021e8dfeb10b3",class:"pull-right"},i("ix-button",{key:"9d5470cfb8ddb6e086bb821baaefb25723777337",onClick:()=>{this.onDateSelect(this.currentRangeValue)}},this.i18nDone))))))))}get hostElement(){return o(this)}static get watchers(){return{dateRangeId:["onDateRangeIdChange"],to:["onDateRangeIdChange"],from:["onDateRangeIdChange"],dateRangeOptions:["onDateRangeOptionsChange"],disabled:["onDisabledChange"]}}};n.style=d;export{n as ix_date_dropdown};
2
- //# sourceMappingURL=p-a0138163.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dateDropdownCss","IxDateDropdownStyle0","DateDropdown","this","datePickerTouched","DateTime","now","toISO","onDateRangeIdChange","onRangeListSelect","dateRangeId","updateCurrentDate","setDateRangeSelection","onDateSelect","from","currentRangeValue","to","id","onDateRangeOptionsChange","initialize","onDisabledChange","disabled","closeDropdown","componentWillLoad","getDateRange","isCustomRange","customRangeAllowed","selectedDateRangeId","isValidConfiguration","console","warn","rangeValue","preserveDropdown","dateRangeChange","emit","option","dateRangeOptions","find","range","hostElement","shadowRoot","querySelector","show","getButtonLabel","_a","i18nNoRange","_b","length","error","label","render","h","Host","key","variant","icon","ref","triggerRef","class","trigger","closeBehavior","placement","onShowChanged","detail","map","dateRangeOption","onClick","checked","hidden","i18nCustomItem","Fragment","standaloneAppearance","onDateChange","e","stopPropagation","Object","assign","onDateRangeChange","format","_c","minDate","maxDate","today","i18nDone"],"sources":["src/components/date-dropdown/date-dropdown.scss?tag=ix-date-dropdown&encapsulation=shadow","src/components/date-dropdown/date-dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n\n @media (max-width: 48em) {\n .min-width {\n width: min-content;\n }\n }\n\n @media (min-width: 48em) {\n .border-right {\n border-right: var(--theme-x-weak-bdr-2);\n }\n }\n\n ix-button {\n width: 100%;\n }\n\n .max-height {\n max-height: max-content;\n }\n\n .no-margin {\n margin: 0;\n padding: 0;\n }\n\n .pull-right {\n float: right;\n padding: $tiny-space $default-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\n\nexport type DateDropdownOption = {\n id: string;\n label: string;\n from: string;\n to: string;\n};\n\nexport type DateRangeChangeEvent = {\n id: string;\n from: string;\n to: string;\n};\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-date-dropdown',\n styleUrl: 'date-dropdown.scss',\n shadow: true,\n})\nexport class DateDropdown {\n @Element() hostElement: HTMLIxDateDropdownElement;\n\n /**\n * Disable the button that opens the dropdown containing the date picker.\n *\n * @since 2.3.0\n */\n @Prop() disabled = false;\n\n /**\n * Date format string.\n * See @link https://moment.github.io/luxon/#/formatting?id=table-of-tokens for all available tokens.\n */\n @Prop() format = 'yyyy/LL/dd';\n\n /**\n * If true a range of dates can be selected.\n */\n @Prop() range = true;\n\n /**\n * Picker date. If the picker is in range mode this property is the start date.\n * If set to `null` no default start date will be pre-selected.\n *\n * Format is based on `format`\n */\n @Prop() from: string;\n\n /**\n * Picker date. If the picker is in range mode this property is the end date.\n * If the picker is not in range mode leave this value `null`\n *\n * Format is based on `format`\n */\n @Prop() to: string;\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate: string;\n\n /**\n * Used to set the initial select date range as well as the button name,\n * if not set or no according date range label is found, nothing will be selected\n */\n @Prop() dateRangeId = 'custom';\n @Watch('dateRangeId')\n @Watch('to')\n @Watch('from')\n onDateRangeIdChange() {\n this.onRangeListSelect(this.dateRangeId);\n this.updateCurrentDate();\n this.setDateRangeSelection(this.dateRangeId);\n\n this.onDateSelect({\n from: this.currentRangeValue.from,\n to: this.currentRangeValue.to,\n id: this.currentRangeValue.id,\n });\n }\n\n /**\n * Controls whether the user is allowed to pick custom date ranges in the component.\n * When set to 'true', the user can select a custom date range using the date picker.\n * When set to 'false', only predefined time date ranges are available for selection.\n */\n @Prop() customRangeAllowed = true;\n\n /**\n * An array of predefined date range options for the date picker.\n * Each option is an object with a label describing the range and a function\n * that returns the start and end dates of the range as a DateRangeOption object.\n *\n * Example format:\n * {\n * id: 'some unique id',\n * label: 'Name of the range',\n * from: undefined, to: '2023/03/29'\n * },\n * // ... other predefined date range options ...\n */\n @Prop() dateRangeOptions: DateDropdownOption[] = [];\n @Watch('dateRangeOptions')\n onDateRangeOptionsChange() {\n this.initialize();\n this.onDateRangeIdChange();\n }\n\n /**\n * Text for custom dropdown item. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-custom-item' }) i18nCustomItem = 'Custom...';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone = 'Done';\n\n /**\n * Text for the done button. Will be used for translation.\n */\n @Prop({ attribute: 'i18n-no-range' }) i18nNoRange = 'No range set';\n\n /** @internal */\n @Prop() today = DateTime.now().toISO();\n\n /**\n * EventEmitter for date range change events.\n *\n * This event is emitted when the date range changes within the component.\n * The event payload contains information about the selected date range.\n */\n @Event() private dateRangeChange: EventEmitter<DateRangeChangeEvent>;\n\n @State() private selectedDateRangeId: 'custom' | (string & {});\n @State() private currentRangeValue: {\n from: string;\n to: string;\n id: string;\n };\n @State() private triggerRef: HTMLElement;\n\n @Watch('disabled')\n onDisabledChange() {\n if (this.disabled) {\n this.closeDropdown();\n }\n }\n private datePickerTouched = false;\n\n componentWillLoad() {\n this.initialize();\n this.setDateRangeSelection(this.dateRangeId);\n }\n\n /**\n * Retrieves the currently selected date range from the component.\n * This method returns the selected date range as a `DateChangeEvent` object.\n */\n @Method()\n public async getDateRange(): Promise<DateRangeChangeEvent> {\n return this.currentRangeValue;\n }\n\n private initialize() {\n const isCustomRange =\n this.dateRangeId === 'custom' ||\n (!this.dateRangeId && !!this.from && !!this.to);\n\n if (isCustomRange && this.customRangeAllowed) {\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n const isValidConfiguration = !isCustomRange && !this.from;\n if (!isValidConfiguration) {\n console.warn(\n '\"from\" and \"range-date-id\" is provided this is an invalid combination. Using \"custom\".'\n );\n\n this.selectedDateRangeId = 'custom';\n this.updateCurrentDate();\n\n return;\n }\n }\n\n private updateCurrentDate() {\n this.currentRangeValue = {\n id: this.selectedDateRangeId,\n from: this.from,\n to: this.to,\n };\n }\n\n private onDateSelect(\n rangeValue: { from: string; to: string; id: string },\n preserveDropdown = true\n ) {\n this.dateRangeChange.emit(rangeValue);\n\n if (preserveDropdown) {\n this.closeDropdown();\n }\n\n this.datePickerTouched = false;\n }\n\n private onRangeListSelect(id: string) {\n if (this.setDateRangeSelection(id)) {\n this.onDateSelect(this.currentRangeValue);\n }\n }\n\n private setDateRangeSelection(id: string) {\n this.selectedDateRangeId = id;\n const option = this.dateRangeOptions.find((range) => range.id === id);\n\n if (option) {\n this.currentRangeValue = option;\n }\n\n return option;\n }\n\n private closeDropdown() {\n this.hostElement.shadowRoot.querySelector('ix-dropdown').show = false;\n }\n\n private getButtonLabel() {\n if (this.selectedDateRangeId === 'custom' && this.currentRangeValue?.from) {\n let range = this.currentRangeValue.from;\n\n if (this.currentRangeValue.to) {\n range += ` - ${this.currentRangeValue.to}`;\n }\n\n return range;\n }\n\n if (!this.selectedDateRangeId) {\n return this.i18nNoRange;\n }\n\n if (!this.dateRangeOptions || this.dateRangeOptions?.length === 0) {\n return this.i18nNoRange;\n }\n\n const option = this.dateRangeOptions.find(\n (option) => option.id === this.selectedDateRangeId\n );\n\n if (!option) {\n console.error(\n `Cannot find range option with id ${this.selectedDateRangeId}`\n );\n return this.i18nNoRange;\n }\n\n return option.label;\n }\n\n render() {\n return (\n <Host>\n <ix-button\n data-testid=\"date-dropdown-trigger\"\n data-date-dropdown-trigger\n variant=\"primary\"\n icon=\"history\"\n ref={(ref) => (this.triggerRef = ref)}\n disabled={this.disabled}\n >\n {this.getButtonLabel()}\n </ix-button>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n data-date-dropdown\n class=\"min-width max-height\"\n trigger={this.triggerRef}\n closeBehavior=\"outside\"\n placement=\"bottom-start\"\n onShowChanged={({ detail: show }) => {\n if (\n !show &&\n this.selectedDateRangeId === 'custom' &&\n this.datePickerTouched\n ) {\n this.onDateSelect(this.currentRangeValue);\n }\n }}\n >\n <ix-layout-grid no-margin=\"true\">\n <ix-row>\n {this.dateRangeOptions?.length > 1 && (\n <ix-col\n class={{\n 'no-margin': true,\n 'border-right': this.selectedDateRangeId === 'custom',\n }}\n >\n {this.dateRangeOptions.map((dateRangeOption) => (\n <ix-dropdown-item\n label={dateRangeOption.label}\n onClick={() => this.onRangeListSelect(dateRangeOption.id)}\n checked={this.selectedDateRangeId === dateRangeOption.id}\n ></ix-dropdown-item>\n ))}\n <div hidden={!this.customRangeAllowed}>\n <ix-dropdown-item\n label={this.i18nCustomItem}\n checked={this.selectedDateRangeId === 'custom'}\n onClick={() => this.onRangeListSelect('custom')}\n ></ix-dropdown-item>\n </div>\n </ix-col>\n )}\n <ix-col class=\"no-margin\">\n {this.selectedDateRangeId === 'custom' && (\n <Fragment>\n <ix-date-picker\n standaloneAppearance={false}\n onDateChange={(e) => {\n e.stopPropagation();\n this.currentRangeValue = {\n ...e.detail,\n id: 'custom',\n };\n this.datePickerTouched = true;\n }}\n onDateRangeChange={(e) => e.stopPropagation()}\n format={this.format}\n range={this.range}\n from={this.from || this.currentRangeValue?.from}\n to={this.to || this.currentRangeValue?.to}\n minDate={this.minDate}\n maxDate={this.maxDate}\n today={this.today}\n ></ix-date-picker>\n <div class=\"pull-right\">\n <ix-button\n onClick={() => {\n this.onDateSelect(this.currentRangeValue);\n }}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </Fragment>\n )}\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,H as r,g as s}from"./p-f87cd962.js";import{c as o}from"./p-e898862b.js";const l=":host{display:flex;position:relative;flex-direction:column;align-items:flex-start;margin:0.5rem}: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 .CardList_Title{display:flex;position:relative;height:1.5rem;align-items:center;width:100%;margin-bottom:0.5rem}:host .CardList_Title__Label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .CardList__Title__Button{margin-right:1rem;transition:var(--theme-default-time) transform ease-in-out}:host .CardList__Title__Button__Collapsed{transform:rotate(-90deg)}:host .CardList__Title__Show__All{align-self:center;margin-left:auto;margin-right:0px;flex-shrink:0}:host .CardList__Content{display:flex;position:relative;height:calc(100% - 1.5rem);width:100%;gap:1.5rem;transition:var(--theme-default-time) ease-in-out;overflow:auto}:host .CardList__Content__Collapsed{min-height:0px;max-height:0px;overflow:hidden;opacity:0}:host .CardList__Style__Flexbox__Scroll{flex-wrap:wrap}:host .CardList__Style__Infinite__Scroll{flex-wrap:nowrap;-ms-overflow-style:none;scrollbar-width:none}:host .CardList__Style__Infinite__Scroll::-webkit-scrollbar{display:none}:host .CardList__Overflow{display:block;position:relative;height:100%;width:100%;pointer-events:all;-webkit-mask-image:var(--ix-card-list-overflow, none);mask-image:var(--ix-card-list-overflow, none)}:host .Show__All__Card{display:flex;position:relative;align-self:flex-start;justify-self:center;max-width:11.25rem;min-width:11.25rem;width:11.25rem;min-height:11.25rem;max-height:11.25rem;height:11.25rem;--ix-card-border-color:var(--theme-color-primary);color:var(--theme-color-primary)}:host .CardList__Style__Infinite__Scroll .Show__All__Card{margin-top:2.375rem}:host .CardList__Style__Flexbox__Scroll .Show__All__Card{margin-bottom:2.375rem}:host .Show__All__Card:hover{background-color:var(--theme-color-ghost--hover)}:host .Show__All__Card:active{background-color:var(--theme-color-ghost--active)}:host .Show__All__Card__Content{display:flex;justify-content:center;align-items:center}:host .Show__All__Card__Icon{display:flex;position:absolute;height:4rem;width:4rem;justify-content:center;align-items:center}:host .Show__All__Card__Text{margin-bottom:0px;margin-top:auto}";const a=l;function n(t){if(t.label===""){return null}return i("div",{class:"CardList_Title"},i("ix-icon-button",{ghost:true,icon:"chevron-down",onClick:t.onClick,color:"color-primary",class:{CardList__Title__Button:true,CardList__Title__Button__Collapsed:t.isCollapsed}}),i("ix-typography",{class:"CardList_Title__Label",variant:"large-single"},t.label),!t.hideShowAll&&i("ix-button",{class:"CardList__Title__Show__All",ghost:true,onClick:t.onShowAllClick},i("span",null,t.showAllLabel),i("span",null,!isNaN(t.showAllCounter)?` (${t.showAllCounter})`:null)))}const h=class{constructor(i){t(this,i);this.collapseChanged=e(this,"collapseChanged",7);this.showAllClick=e(this,"showAllClick",7);this.showMoreCardClick=e(this,"showMoreCardClick",7);this.label=undefined;this.collapse=false;this.listStyle="stack";this.maxVisibleCards=12;this.showAllCount=undefined;this.suppressOverflowHandling=false;this.hideShowAll=false;this.i18nShowAll="Show all";this.i18nMoreCards="There are more cards available";this.hasOverflowingElements=false;this.numberOfOverflowingElements=0;this.numberOfAllChildElements=0;this.leftScrollDistance=0;this.rightScrollDistance=0}onCardListVisibilityToggle(){this.collapse=!this.collapse;this.collapseChanged.emit(this.collapse)}onShowAllClick(t){this.showAllClick.emit({nativeEvent:t})}getListChildren(){const t=this.hostElement.shadowRoot.querySelector(".CardList__Content > slot");return t.assignedElements({flatten:true})}changeVisibilityOfSlotChildren(){const t=this.getListChildren();t.forEach(((t,e)=>{if(t instanceof HTMLElement){if(e>this.maxVisibleCards-1){t.classList.add("d-none");return}t.classList.remove("d-none")}}));this.hasOverflowingElements=t.length>this.maxVisibleCards;this.numberOfOverflowingElements=t.length-this.maxVisibleCards;this.numberOfAllChildElements=t.length;this.detectOverflow()}registerOverflowHandler(){this.observer=o((()=>{this.changeVisibilityOfSlotChildren()}));this.observer.observe(this.hostElement.shadowRoot.querySelector(".CardList__Content"),{childList:true,subtree:true});requestAnimationFrame((()=>{this.changeVisibilityOfSlotChildren()}))}shouldHandleOverflow(){if(this.suppressOverflowHandling){return false}if(this.listStyle==="stack"||this.listStyle==="scroll"){return true}}get listElement(){return this.hostElement.shadowRoot.querySelector(".CardList__Content")}onCardListScroll(){this.detectOverflow()}isShowMoreCardVisible(){return this.suppressOverflowHandling===false&&this.hasOverflowingElements}getOpacityFromScrollDistance(t){if(!this.listElement){return 0}if(t===0){return 0}if(t>100){return 1}return t/100}computeMaskLayer(){const t=80;const e=`linear-gradient(\n 90deg,\n transparent 0px,\n black ${t*(this.getOpacityFromScrollDistance(this.leftScrollDistance)>0?1:0)}px,\n black calc(100% - ${t*(this.getOpacityFromScrollDistance(this.rightScrollDistance)>0?1:0)}px),\n transparent 100%\n )`;return{"--ix-card-list-overflow":e}}detectOverflow(){const{clientWidth:t,scrollWidth:e,scrollLeft:i}=this.listElement;this.leftScrollDistance=i;this.rightScrollDistance=e-i-t}componentDidLoad(){if(this.shouldHandleOverflow()){this.registerOverflowHandler()}}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}render(){return i(r,{key:"8164956edee5c3fa0d3f68af175c04a653aa7043"},i(n,{key:"4001ba1a1fbc3dd244297380698907902f37932a",isCollapsed:this.collapse,label:this.label,showAllLabel:this.i18nShowAll,showAllCounter:this.showAllCount===undefined?this.numberOfAllChildElements:this.showAllCount,onClick:()=>this.onCardListVisibilityToggle(),onShowAllClick:t=>this.onShowAllClick(t),hideShowAll:this.hideShowAll}),i("div",{key:"0a72db4811cd78f9ba067d592218eafd9e69fc8e",class:{CardList__Overflow:true},style:this.computeMaskLayer()},i("div",{key:"4bf8fe61b17c5ab7b4ad4d0cf0bfaf3cd9c83008",class:{CardList__Content:true,CardList__Content__Collapsed:this.collapse,CardList__Style__Flexbox__Scroll:this.listStyle==="stack",CardList__Style__Infinite__Scroll:this.listStyle==="scroll"},onScroll:()=>this.onCardListScroll()},i("slot",{key:"2ed30ff94867a85b37678cc3fdef28770837d790",onSlotchange:()=>this.changeVisibilityOfSlotChildren()}),this.isShowMoreCardVisible()?i("ix-card",{class:{Show__All__Card:true},onClick:t=>this.showMoreCardClick.emit({nativeEvent:t})},i("ix-card-content",{class:"Show__All__Card__Content"},i("ix-icon",{name:"more-menu",size:"32",class:"Show__All__Card__Icon"}),i("span",{class:"Show__All__Card__Text"},this.i18nMoreCards," (",this.numberOfOverflowingElements,")"))):null)))}get hostElement(){return s(this)}};h.style=a;export{h as ix_card_list};
2
- //# sourceMappingURL=p-a08efce0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["cardListCss","IxCardListStyle0","CardListTitle","props","label","h","class","ghost","icon","onClick","color","CardList__Title__Button","CardList__Title__Button__Collapsed","isCollapsed","variant","hideShowAll","onShowAllClick","showAllLabel","isNaN","showAllCounter","CardList","onCardListVisibilityToggle","this","collapse","collapseChanged","emit","event","showAllClick","nativeEvent","getListChildren","slot","hostElement","shadowRoot","querySelector","assignedElements","flatten","changeVisibilityOfSlotChildren","childElements","forEach","element","index","HTMLElement","maxVisibleCards","classList","add","remove","hasOverflowingElements","length","numberOfOverflowingElements","numberOfAllChildElements","detectOverflow","registerOverflowHandler","observer","createMutationObserver","observe","childList","subtree","requestAnimationFrame","shouldHandleOverflow","suppressOverflowHandling","listStyle","listElement","onCardListScroll","isShowMoreCardVisible","getOpacityFromScrollDistance","distance","computeMaskLayer","maxOverflowWidth","maskLayer","leftScrollDistance","rightScrollDistance","clientWidth","scrollWidth","scrollLeft","componentDidLoad","disconnectedCallback","disconnect","render","Host","key","i18nShowAll","showAllCount","undefined","e","CardList__Overflow","style","CardList__Content","CardList__Content__Collapsed","CardList__Style__Flexbox__Scroll","CardList__Style__Infinite__Scroll","onScroll","onSlotchange","Show__All__Card","showMoreCardClick","name","size","i18nMoreCards"],"sources":["src/components/card-list/card-list.scss?tag=ix-card-list&encapsulation=shadow","src/components/card-list/card-list.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n$CardList__Title__Height: 1.5rem;\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n margin: 0.5rem;\n\n .CardList_Title {\n display: flex;\n position: relative;\n height: $CardList__Title__Height;\n align-items: center;\n width: 100%;\n margin-bottom: 0.5rem;\n\n &__Label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n\n .CardList__Title__Button {\n margin-right: 1rem;\n transition: var(--theme-default-time) transform ease-in-out;\n }\n\n .CardList__Title__Button__Collapsed {\n transform: rotate(-90deg);\n }\n\n .CardList__Title__Show__All {\n align-self: center;\n margin-left: auto;\n margin-right: 0px;\n flex-shrink: 0;\n }\n\n .CardList__Content {\n display: flex;\n position: relative;\n height: calc(100% - #{$CardList__Title__Height});\n width: 100%;\n gap: 1.5rem;\n transition: var(--theme-default-time) ease-in-out;\n overflow: auto;\n }\n\n .CardList__Content__Collapsed {\n min-height: 0px;\n max-height: 0px;\n overflow: hidden;\n opacity: 0;\n }\n\n .CardList__Style__Flexbox__Scroll {\n flex-wrap: wrap;\n }\n\n .CardList__Style__Infinite__Scroll {\n flex-wrap: nowrap;\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .CardList__Overflow {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n pointer-events: all;\n mask-image: var(--ix-card-list-overflow, none);\n }\n\n .Show__All__Card {\n display: flex;\n position: relative;\n\n align-self: flex-start;\n justify-self: center;\n\n max-width: 11.25rem;\n min-width: 11.25rem;\n width: 11.25rem;\n\n min-height: 11.25rem;\n max-height: 11.25rem;\n height: 11.25rem;\n\n --ix-card-border-color: var(--theme-color-primary);\n color: var(--theme-color-primary);\n }\n\n .CardList__Style__Infinite__Scroll .Show__All__Card {\n margin-top: 2.375rem;\n }\n\n .CardList__Style__Flexbox__Scroll .Show__All__Card {\n margin-bottom: 2.375rem;\n }\n\n .Show__All__Card:hover {\n background-color: var(--theme-color-ghost--hover);\n }\n\n .Show__All__Card:active {\n background-color: var(--theme-color-ghost--active);\n }\n\n .Show__All__Card__Content {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .Show__All__Card__Icon {\n display: flex;\n position: absolute;\n height: 4rem;\n width: 4rem;\n justify-content: center;\n align-items: center;\n }\n\n .Show__All__Card__Text {\n margin-bottom: 0px;\n margin-top: auto;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\nfunction CardListTitle(props: {\n label: string;\n isCollapsed: boolean;\n onClick: (e: MouseEvent) => void;\n onShowAllClick: (e: MouseEvent) => void;\n showAllLabel: string;\n showAllCounter: number;\n hideShowAll: boolean;\n}) {\n if (props.label === '') {\n return null;\n }\n\n return (\n <div class=\"CardList_Title\">\n <ix-icon-button\n ghost\n icon={'chevron-down'}\n onClick={props.onClick}\n color=\"color-primary\"\n class={{\n CardList__Title__Button: true,\n CardList__Title__Button__Collapsed: props.isCollapsed,\n }}\n ></ix-icon-button>\n <ix-typography class=\"CardList_Title__Label\" variant=\"large-single\">\n {props.label}\n </ix-typography>\n {!props.hideShowAll && (\n <ix-button\n class=\"CardList__Title__Show__All\"\n ghost\n onClick={props.onShowAllClick}\n >\n <span>{props.showAllLabel}</span>\n <span>\n {!isNaN(props.showAllCounter) ? ` (${props.showAllCounter})` : null}\n </span>\n </ix-button>\n )}\n </div>\n );\n}\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-card-list',\n styleUrl: 'card-list.scss',\n shadow: true,\n})\nexport class CardList {\n /**\n * Name the card list\n */\n @Prop() label: string;\n\n /**\n * Collapse the list\n */\n @Prop({ mutable: true }) collapse = false;\n\n /**\n * List style\n */\n @Prop() listStyle: 'stack' | 'scroll' = 'stack';\n\n /**\n * Maximal visible cards\n *\n * @internal\n */\n @Prop() maxVisibleCards = 12;\n\n /**\n * Overwrite the default show all count.\n * */\n @Prop() showAllCount: number | undefined;\n\n /**\n * Suppress the overflow handling of child elements\n */\n @Prop() suppressOverflowHandling = false;\n\n /**\n * Hide the show all button\n *\n * @since 2.2.0\n */\n @Prop() hideShowAll = false;\n\n /**\n * i18n Show all button\n */\n @Prop() i18nShowAll = 'Show all';\n\n /**\n * i18n More cards available\n */\n @Prop() i18nMoreCards = 'There are more cards available';\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() collapseChanged: EventEmitter<boolean>;\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() showAllClick: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n /**\n * Fire event when the show more card is clicked.\n */\n @Event() showMoreCardClick: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n @Element() hostElement: HTMLIxCardListElement;\n\n @State() private hasOverflowingElements = false;\n @State() private numberOfOverflowingElements = 0;\n @State() private numberOfAllChildElements = 0;\n @State() private leftScrollDistance = 0;\n @State() private rightScrollDistance = 0;\n\n private observer: MutationObserver;\n\n private onCardListVisibilityToggle() {\n this.collapse = !this.collapse;\n this.collapseChanged.emit(this.collapse);\n }\n\n private onShowAllClick(event: MouseEvent) {\n this.showAllClick.emit({\n nativeEvent: event,\n });\n }\n\n private getListChildren() {\n const slot = this.hostElement.shadowRoot.querySelector(\n '.CardList__Content > slot'\n ) as HTMLSlotElement;\n return slot.assignedElements({ flatten: true });\n }\n\n private changeVisibilityOfSlotChildren() {\n const childElements = this.getListChildren();\n childElements.forEach((element, index) => {\n if (element instanceof HTMLElement) {\n if (index > this.maxVisibleCards - 1) {\n element.classList.add('d-none');\n return;\n }\n element.classList.remove('d-none');\n }\n });\n this.hasOverflowingElements = childElements.length > this.maxVisibleCards;\n this.numberOfOverflowingElements =\n childElements.length - this.maxVisibleCards;\n\n this.numberOfAllChildElements = childElements.length;\n this.detectOverflow();\n }\n\n private registerOverflowHandler() {\n this.observer = createMutationObserver(() => {\n this.changeVisibilityOfSlotChildren();\n });\n\n this.observer.observe(\n this.hostElement.shadowRoot.querySelector('.CardList__Content'),\n {\n childList: true,\n subtree: true,\n }\n );\n\n requestAnimationFrame(() => {\n this.changeVisibilityOfSlotChildren();\n });\n }\n\n private shouldHandleOverflow() {\n if (this.suppressOverflowHandling) {\n return false;\n }\n if (this.listStyle === 'stack' || this.listStyle === 'scroll') {\n return true;\n }\n }\n\n private get listElement() {\n return this.hostElement.shadowRoot.querySelector('.CardList__Content');\n }\n\n private onCardListScroll() {\n this.detectOverflow();\n }\n\n private isShowMoreCardVisible() {\n return (\n this.suppressOverflowHandling === false && this.hasOverflowingElements\n );\n }\n\n private getOpacityFromScrollDistance(distance: number) {\n if (!this.listElement) {\n return 0;\n }\n\n if (distance === 0) {\n return 0;\n }\n\n if (distance > 100) {\n return 1;\n }\n\n return distance / 100;\n }\n\n private computeMaskLayer() {\n const maxOverflowWidth = 80;\n const maskLayer = `linear-gradient(\n 90deg,\n transparent 0px,\n black ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.leftScrollDistance) > 0 ? 1 : 0)\n }px,\n black calc(100% - ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.rightScrollDistance) > 0\n ? 1\n : 0)\n }px),\n transparent 100%\n )`;\n return {\n '--ix-card-list-overflow': maskLayer,\n };\n }\n\n @Listen('resize', { target: 'window' })\n private detectOverflow() {\n const { clientWidth, scrollWidth, scrollLeft } = this.listElement;\n\n this.leftScrollDistance = scrollLeft;\n this.rightScrollDistance = scrollWidth - scrollLeft - clientWidth;\n }\n\n componentDidLoad() {\n if (this.shouldHandleOverflow()) {\n this.registerOverflowHandler();\n }\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <CardListTitle\n isCollapsed={this.collapse}\n label={this.label}\n showAllLabel={this.i18nShowAll}\n showAllCounter={\n this.showAllCount === undefined\n ? this.numberOfAllChildElements\n : this.showAllCount\n }\n onClick={() => this.onCardListVisibilityToggle()}\n onShowAllClick={(e) => this.onShowAllClick(e)}\n hideShowAll={this.hideShowAll}\n ></CardListTitle>\n <div\n class={{\n CardList__Overflow: true,\n }}\n style={this.computeMaskLayer()}\n >\n <div\n class={{\n CardList__Content: true,\n CardList__Content__Collapsed: this.collapse,\n CardList__Style__Flexbox__Scroll: this.listStyle === 'stack',\n CardList__Style__Infinite__Scroll: this.listStyle === 'scroll',\n }}\n onScroll={() => this.onCardListScroll()}\n >\n <slot\n onSlotchange={() => this.changeVisibilityOfSlotChildren()}\n ></slot>\n {this.isShowMoreCardVisible() ? (\n <ix-card\n class={{\n Show__All__Card: true,\n }}\n onClick={(event) =>\n this.showMoreCardClick.emit({\n nativeEvent: event,\n })\n }\n >\n <ix-card-content class=\"Show__All__Card__Content\">\n <ix-icon\n name={'more-menu'}\n size={'32'}\n class={'Show__All__Card__Icon'}\n ></ix-icon>\n <span class=\"Show__All__Card__Text\">\n {this.i18nMoreCards} ({this.numberOfOverflowingElements})\n </span>\n </ix-card-content>\n </ix-card>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,h as i,H as t}from"./p-f87cd962.js";const c=":host{display:block;position:relative}:host .icon{transform:scale(1.25)}:host .notification{font-size:40px}:host ix-card-content{height:11rem}";const a=c;const s=class{constructor(i){e(this,i);this.icon=undefined;this.notification=undefined;this.heading=undefined;this.subheading=undefined;this.variant="insight";this.collapse=true}render(){var e;const c=this.variant==="insight"||this.variant==="notification"?"std":undefined;return i(t,{key:"34a4d07dbc15446fbe675b2a834a053e59c1f21f"},i("ix-card",{key:"992157a1b7d8653235e2916e8b082f497633e045",variant:this.variant},i("ix-card-content",{key:"bb8f46360e57aac8cc6ed5a877504feb7c0409ce"},i("ix-card-title",{key:"4297089e23ad20e63c612bc380e2abaade600197"},this.icon?i("ix-icon",{class:"icon",name:this.icon,size:"32"}):null,i("span",{key:"8136c60187524879956d716b1bcf430c4e54a868",class:"notification"},(e=this.notification)!==null&&e!==void 0?e:0),i("slot",{key:"73aadb4be0dfb3e0bce38abb5a0ce854ce69b9d0",name:"title-action"})),i("ix-typography",{key:"8cb6869642d6ca8ea1ce86c1ed23f64af4896da0",color:c,format:"h4"},this.heading),i("ix-typography",{key:"ffa93b10369674e7f8b369fc99d1e4f78edc0475",color:c},this.subheading)),i("ix-card-accordion",{key:"267d9286d08e1020a65b7f40ee79dfeba741f2ee",collapse:this.collapse},i("slot",{key:"df56775c48adc350b6554ff13347d865d9b2ccff"}))))}};s.style=a;export{s as ix_push_card};
2
- //# sourceMappingURL=p-a4755205.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["emptyStateCss","IxEmptyStateStyle0","EmptyState","render","h","Host","key","class","this","layout","icon","name","size","color","variant","header","subHeader","action","onClick","actionClick","emit"],"sources":["src/components/empty-state/empty-state.scss?tag=ix-empty-state&encapsulation=shadow","src/components/empty-state/empty-state.tsx"],"sourcesContent":["@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n .label__subHeader {\n color: var(--theme-color-soft-text);\n }\n}\n\n:host(.emptyState.emptyState--large) {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: $default-space;\n\n .emptyState__icon {\n width: 3.5rem;\n height: 3.5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n\n ix-icon {\n transform: scale(1.75);\n }\n }\n\n .emptyState__content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: $large-space;\n\n .content__label {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: $small-space;\n }\n }\n\n .label__subHeader,\n ix-typography {\n text-align: center;\n }\n}\n\n:host(.emptyState.emptyState--compact) {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: $default-space;\n\n .emptyState__icon {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: $large-control-height;\n }\n\n .emptyState__content {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: $default-space;\n }\n}\n\n:host(.emptyState.emptyState--compactBreak) {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: $default-space;\n\n .emptyState__icon {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: $large-control-height;\n }\n\n .emptyState__content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: $small-space;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\nexport type EmptyStateLayout = 'large' | 'compact' | 'compactBreak';\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-empty-state',\n styleUrl: 'empty-state.scss',\n shadow: true,\n})\nexport class EmptyState {\n /**\n * Optional empty state layout - one of 'large', 'compact' or 'compactBreak'\n */\n @Prop() layout: EmptyStateLayout = 'large';\n\n /**\n * Optional empty state icon\n */\n @Prop() icon: string;\n\n /**\n * Empty state header\n */\n @Prop() header!: string;\n\n /**\n * Optional empty state sub header\n */\n @Prop() subHeader: string;\n\n /**\n * Optional empty state action\n */\n @Prop() action: string;\n\n /**\n * Empty state action click event\n */\n @Event() actionClick: EventEmitter<void>;\n\n render() {\n return (\n <Host class={`emptyState emptyState--${this.layout}`}>\n {this.icon && (\n <div class=\"emptyState__icon\">\n {/* TODO: replace size for large layout with '56' if available */}\n <ix-icon\n name={this.icon}\n size={this.layout === 'large' ? '32' : '32'}\n color=\"color-soft-text\"\n />\n </div>\n )}\n\n <div class=\"emptyState__content\">\n <div class=\"content__label\">\n <ix-typography\n variant={this.layout === 'large' ? 'display-large' : 'default'}\n >\n {this.header}\n </ix-typography>\n\n {this.subHeader && (\n <div class=\"label__subHeader\">{this.subHeader}</div>\n )}\n </div>\n\n {this.action && (\n <div class=\"content__action\">\n <ix-button onClick={() => this.actionClick.emit()}>\n {this.action}\n </ix-button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAgB,0zEACtB,MAAAC,EAAeD,E,MCoBFE,EAAU,M,8EAIc,Q,yFA2BnC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO,0BAA0BC,KAAKC,UACzCD,KAAKE,MACJN,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBAETH,EAAA,WAAAE,IAAA,2CACEK,KAAMH,KAAKE,KACXE,KAAMJ,KAAKC,SAAW,QAAU,KAAO,KACvCI,MAAM,qBAKZT,EAAA,OAAAE,IAAA,2CAAKC,MAAM,uBACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,kBACTH,EAAA,iBAAAE,IAAA,2CACEQ,QAASN,KAAKC,SAAW,QAAU,gBAAkB,WAEpDD,KAAKO,QAGPP,KAAKQ,WACJZ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBAAoBC,KAAKQ,YAIvCR,KAAKS,QACJb,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACTH,EAAA,aAAAE,IAAA,2CAAWY,QAAS,IAAMV,KAAKW,YAAYC,QACxCZ,KAAKS,U"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,H as s,g as r}from"./p-f87cd962.js";import{c as i}from"./p-e898862b.js";import{a as o}from"./p-360b158e.js";import{a}from"./p-71206084.js";const h=":host{display:block;position:relative}: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 ul{list-style:none;padding:0;margin-top:0;margin-bottom:0}:host(.item-size-l){--event-list-item-height:6.5rem;--event-list-item-content-white-space:normal}:host(.compact){--event-list-item-border-radius:0;--event-list-item-margin-bottom:0}";const n=h;const c=class{constructor(e){t(this,e);this.mutationObserver=i(this.onMutation.bind(this));this.itemHeight="S";this.compact=false;this.animated=true;this.chevron=undefined}watchChevron(t){this.handleChevron(t)}componentDidLoad(){if(this.animated){this.triggerFadeIn()}if(!Number.isNaN(Number(this.itemHeight))){const t=o(this.itemHeight);this.hostElement.querySelectorAll("ix-event-list-item").forEach((e=>{this.setCustomHeight(e,t)}))}this.handleChevron(this.chevron);this.mutationObserver.observe(this.hostElement,{childList:true,subtree:true})}onMutation(t){this.triggerFadeOut().then((()=>{if(typeof this.itemHeight==="number"){const e=o(this.itemHeight);t.filter((t=>t.type==="childList")).forEach((t=>t.addedNodes.forEach((t=>{const s=t;this.setCustomHeight(s,e)}))))}this.handleChevron(this.chevron);this.triggerFadeIn()}))}setCustomHeight(t,e){t.style.setProperty("--event-list-item-height",e)}triggerFadeOut(){return new Promise((t=>{if(!this.animated){t()}const e=[{opacity:1,easing:"easeInSine"},{opacity:0}];const s=this.hostElement.shadowRoot.querySelector("ul");a({targets:s,opacity:e,duration:c.fadeOutDuration,complete:()=>{t()}})}))}triggerFadeIn(){if(!this.animated){return}const t=this.hostElement.querySelectorAll("ix-event-list-item");t.forEach(((t,e)=>{const s=e*80;const r=s/(s+c.fadeInDuration);a({targets:t,offset:r,duration:c.fadeInDuration+s,opacity:[0,1],easing:"easeInOutSine",delay:s,autoplay:true})}))}handleChevron(t){const e=this.hostElement.querySelectorAll("ix-event-list-item");e.forEach((e=>{if(t){e.setAttribute("chevron","true")}else if(t!==undefined){e.removeAttribute("chevron")}}))}render(){return e(s,{key:"089a281bac15abcd507401131c2be9408acd5845",class:{"item-size-s":this.itemHeight==="S","item-size-l":this.itemHeight==="L",compact:this.compact}},e("ul",{key:"a142c907713c0817db7a3c056e4c7498f456963c"},e("slot",{key:"1b3a8a7f56f4e2e52d29acbf325ab29e663f4337"})))}get hostElement(){return r(this)}static get watchers(){return{chevron:["watchChevron"]}}};c.fadeOutDuration=50;c.fadeInDuration=150;c.style=n;export{c as ix_event_list};
2
- //# sourceMappingURL=p-aa814811.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["eventListCss","IxEventListStyle0","EventList","this","mutationObserver","createMutationObserver","onMutation","bind","watchChevron","chevron","handleChevron","componentDidLoad","animated","triggerFadeIn","Number","isNaN","itemHeight","height","convertToRemString","hostElement","querySelectorAll","forEach","item","setCustomHeight","observe","childList","subtree","mutationRecords","triggerFadeOut","then","filter","mutation","type","addedNodes","itemHtml","style","setProperty","Promise","resolve","keyframes","opacity","easing","listElement","shadowRoot","querySelector","anime","targets","duration","fadeOutDuration","complete","listItems","e","i","delay","offset","fadeInDuration","autoplay","setAttribute","undefined","removeAttribute","render","h","Host","key","class","compact"],"sources":["src/components/event-list/event-list.scss?tag=ix-event-list&encapsulation=shadow","src/components/event-list/event-list.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 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n\n ul {\n list-style: none;\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n:host(.item-size-l) {\n --event-list-item-height: 6.5rem;\n --event-list-item-content-white-space: normal;\n}\n\n:host(.compact) {\n --event-list-item-border-radius: 0;\n --event-list-item-margin-bottom: 0;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop, Watch } from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { convertToRemString } from '../utils/rwd.util';\nimport anime from 'animejs';\n\n@Component({\n tag: 'ix-event-list',\n styleUrl: 'event-list.scss',\n shadow: true,\n})\nexport class EventList {\n private readonly mutationObserver = createMutationObserver(\n this.onMutation.bind(this)\n );\n\n private static readonly fadeOutDuration = 50;\n private static readonly fadeInDuration = 150;\n\n @Element() hostElement!: HTMLIxEventListElement;\n\n /**\n * Determines the height of list items.\n * This can either be one of two predefined sizes ('S' or 'L') or an absolute pixel value.\n * In case a number is supplied it will get converted to rem internally.\n * Defaults to 'S'.\n */\n @Prop() itemHeight: 'S' | 'L' | number = 'S';\n\n /**\n * Make event-list items more compact\n */\n @Prop() compact = false;\n\n /**\n * Animate state change transitions. Defaults to 'true'.\n */\n @Prop() animated = true;\n\n /**\n * Display a chevron icon in list items. Defaults to 'false'\n */\n @Prop() chevron: boolean;\n\n @Watch('chevron')\n watchChevron(chevron: boolean | undefined) {\n this.handleChevron(chevron);\n }\n\n componentDidLoad() {\n if (this.animated) {\n this.triggerFadeIn();\n }\n\n if (!Number.isNaN(Number(this.itemHeight))) {\n const height = convertToRemString(this.itemHeight as number);\n this.hostElement\n .querySelectorAll('ix-event-list-item')\n .forEach((item) => {\n this.setCustomHeight(item as HTMLElement, height);\n });\n }\n\n this.handleChevron(this.chevron);\n\n this.mutationObserver.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n }\n\n private onMutation(mutationRecords: Array<MutationRecord>) {\n this.triggerFadeOut().then(() => {\n if (typeof this.itemHeight === 'number') {\n const height = convertToRemString(this.itemHeight);\n\n mutationRecords\n .filter((mutation) => mutation.type === 'childList')\n .forEach((mutation) =>\n mutation.addedNodes.forEach((item) => {\n const itemHtml = item as HTMLElement;\n\n this.setCustomHeight(itemHtml, height);\n })\n );\n }\n\n this.handleChevron(this.chevron);\n\n this.triggerFadeIn();\n });\n }\n\n private setCustomHeight(item: HTMLElement, height: string) {\n item.style.setProperty('--event-list-item-height', height);\n }\n\n private triggerFadeOut(): Promise<void> {\n return new Promise((resolve) => {\n if (!this.animated) {\n resolve();\n }\n\n const keyframes = [{ opacity: 1, easing: 'easeInSine' }, { opacity: 0 }];\n\n const listElement = this.hostElement.shadowRoot.querySelector('ul');\n\n anime({\n targets: listElement,\n opacity: keyframes,\n duration: EventList.fadeOutDuration,\n complete: () => {\n resolve();\n },\n });\n });\n }\n\n private triggerFadeIn() {\n if (!this.animated) {\n return;\n }\n\n const listItems = this.hostElement.querySelectorAll('ix-event-list-item');\n listItems.forEach((e, i) => {\n const delay = i * 80;\n const offset = delay / (delay + EventList.fadeInDuration);\n anime({\n targets: e,\n offset: offset,\n duration: EventList.fadeInDuration + delay,\n opacity: [0, 1],\n easing: 'easeInOutSine',\n delay: delay,\n autoplay: true,\n });\n });\n }\n\n private handleChevron(chevron: boolean | undefined): void {\n const listItems = this.hostElement.querySelectorAll('ix-event-list-item');\n\n listItems.forEach((e) => {\n if (chevron) {\n e.setAttribute('chevron', 'true');\n } else if (chevron !== undefined) {\n e.removeAttribute('chevron');\n }\n });\n }\n\n render() {\n return (\n <Host\n class={{\n 'item-size-s': this.itemHeight === 'S',\n 'item-size-l': this.itemHeight === 'L',\n compact: this.compact,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"],"mappings":"gKAAA,MAAMA,EAAe,shCACrB,MAAAC,EAAeD,E,MCkBFE,EAAS,M,yBACHC,KAAAC,iBAAmBC,EAClCF,KAAKG,WAAWC,KAAKJ,O,gBAckB,I,aAKvB,M,cAKC,K,uBAQnB,YAAAK,CAAaC,GACXN,KAAKO,cAAcD,E,CAGrB,gBAAAE,GACE,GAAIR,KAAKS,SAAU,CACjBT,KAAKU,e,CAGP,IAAKC,OAAOC,MAAMD,OAAOX,KAAKa,aAAc,CAC1C,MAAMC,EAASC,EAAmBf,KAAKa,YACvCb,KAAKgB,YACFC,iBAAiB,sBACjBC,SAASC,IACRnB,KAAKoB,gBAAgBD,EAAqBL,EAAO,G,CAIvDd,KAAKO,cAAcP,KAAKM,SAExBN,KAAKC,iBAAiBoB,QAAQrB,KAAKgB,YAAa,CAC9CM,UAAW,KACXC,QAAS,M,CAIL,UAAApB,CAAWqB,GACjBxB,KAAKyB,iBAAiBC,MAAK,KACzB,UAAW1B,KAAKa,aAAe,SAAU,CACvC,MAAMC,EAASC,EAAmBf,KAAKa,YAEvCW,EACGG,QAAQC,GAAaA,EAASC,OAAS,cACvCX,SAASU,GACRA,EAASE,WAAWZ,SAASC,IAC3B,MAAMY,EAAWZ,EAEjBnB,KAAKoB,gBAAgBW,EAAUjB,EAAO,K,CAK9Cd,KAAKO,cAAcP,KAAKM,SAExBN,KAAKU,eAAe,G,CAIhB,eAAAU,CAAgBD,EAAmBL,GACzCK,EAAKa,MAAMC,YAAY,2BAA4BnB,E,CAG7C,cAAAW,GACN,OAAO,IAAIS,SAASC,IAClB,IAAKnC,KAAKS,SAAU,CAClB0B,G,CAGF,MAAMC,EAAY,CAAC,CAAEC,QAAS,EAAGC,OAAQ,cAAgB,CAAED,QAAS,IAEpE,MAAME,EAAcvC,KAAKgB,YAAYwB,WAAWC,cAAc,MAE9DC,EAAM,CACJC,QAASJ,EACTF,QAASD,EACTQ,SAAU7C,EAAU8C,gBACpBC,SAAU,KACRX,GAAS,GAEX,G,CAIE,aAAAzB,GACN,IAAKV,KAAKS,SAAU,CAClB,M,CAGF,MAAMsC,EAAY/C,KAAKgB,YAAYC,iBAAiB,sBACpD8B,EAAU7B,SAAQ,CAAC8B,EAAGC,KACpB,MAAMC,EAAQD,EAAI,GAClB,MAAME,EAASD,GAASA,EAAQnD,EAAUqD,gBAC1CV,EAAM,CACJC,QAASK,EACTG,OAAQA,EACRP,SAAU7C,EAAUqD,eAAiBF,EACrCb,QAAS,CAAC,EAAG,GACbC,OAAQ,gBACRY,MAAOA,EACPG,SAAU,MACV,G,CAIE,aAAA9C,CAAcD,GACpB,MAAMyC,EAAY/C,KAAKgB,YAAYC,iBAAiB,sBAEpD8B,EAAU7B,SAAS8B,IACjB,GAAI1C,EAAS,CACX0C,EAAEM,aAAa,UAAW,O,MACrB,GAAIhD,IAAYiD,UAAW,CAChCP,EAAEQ,gBAAgB,U,KAKxB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,cAAe7D,KAAKa,aAAe,IACnC,cAAeb,KAAKa,aAAe,IACnCiD,QAAS9D,KAAK8D,UAGhBJ,EAAA,MAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,8C,2FAjJgB7D,EAAA8C,gBAAkB,GAClB9C,EAAAqD,eAAiB,I"}
@@ -1,2 +0,0 @@
1
- import{T as t}from"./p-c4749812.js";function e(t,e){return{name:t,initialValue:e}}class n extends Event{constructor(t,e,n){super("context-request",{bubbles:true,composed:true});this.context=t;this.callback=e;this.subscribe=n}}function s(t,e,s,o){let r;t.dispatchEvent(new n(e,((t,e)=>{s(t,e);r=e}),o));return{unsubscribe:()=>{r()}}}function o(e,n,s){const o=new t;const r=new t;const u=new Set;e.addEventListener("context-request",(t=>{if((t===null||t===void 0?void 0:t.context.name)!==n.name){return}t.stopPropagation();if(t.subscribe){u.add(t)}o.emit(t);if(s){t.callback(s,(()=>{u.delete(t)}))}}));r.on((t=>{u.forEach((e=>e.callback(t,(()=>{u.delete(e)}))))}));return{emit:t=>{r.emit(t)}}}const r=t=>{const e=t.closest("ix-menu");return e};const u=e("application-layout-context",{hideHeader:false,host:null,sidebar:false});export{u as A,s as a,r as c,o as u};
2
- //# sourceMappingURL=p-accec846.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createContext","name","initialValue","ContextEvent","Event","constructor","context","callback","subscribe","super","bubbles","composed","this","useContextConsumer","hostElement","onContextReceived","_unsubscribe","dispatchEvent","ctx","unSub","unsubscribe","useContextProvider","contextPayload","requestContext","TypedEvent","updateContext","requests","Set","addEventListener","requestContextEvent","stopPropagation","add","emit","delete","on","forEach","r","closestIxMenu","element","menuElement","closest","ApplicationLayoutContext","hideHeader","host","sidebar"],"sources":["src/components/utils/context.ts","src/components/utils/application-layout/context.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { TypedEvent } from './typed-event';\n\n/**\n * A Context object defines an optional initial value for a Context, as well as a name identifier for debugging purposes.\n */\nexport type Context<T> = {\n name: string;\n initialValue?: T;\n};\n\n/**\n * An unknown context type\n */\nexport type UnknownContext = Context<unknown>;\n\n/**\n * A helper type which can extract a Context value type from a Context type\n */\nexport type ContextType<T extends UnknownContext> = T extends Context<infer Y>\n ? Y\n : never;\n\n/**\n * A function which creates a Context value object\n */\nexport function createContext<T>(\n name: string,\n initialValue?: T\n): Readonly<Context<T>> {\n return {\n name,\n initialValue,\n };\n}\n\n/**\n * A callback which is provided by a context requester and is called with the value satisfying the request.\n * This callback can be called multiple times by context providers as the requested value is changed.\n */\nexport type ContextCallback<ValueType> = (\n value: ValueType,\n unsubscribe?: () => void\n) => void;\n\n/**\n * An event fired by a context requester to signal it desires a named context.\n *\n * A provider should inspect the `context` property of the event to determine if it has a value that can\n * satisfy the request, calling the `callback` with the requested value if so.\n *\n * If the requested context event contains a truthy `subscribe` value, then a provider can call the callback\n * multiple times if the value is changed, if this is the case the provider should pass an `unsubscribe`\n * function to the callback which requesters can invoke to indicate they no longer wish to receive these updates.\n */\nexport class ContextEvent<T extends UnknownContext> extends Event {\n public constructor(\n public readonly context: T,\n public readonly callback: ContextCallback<ContextType<T>>,\n public readonly subscribe?: boolean\n ) {\n super('context-request', { bubbles: true, composed: true });\n }\n}\n\ndeclare global {\n interface HTMLElementEventMap {\n /**\n * A 'context-request' event can be emitted by any element which desires\n * a context value to be injected by an external provider.\n */\n 'context-request': ContextEvent<UnknownContext>;\n }\n}\n\nexport type ContextConsumerSubscription = {\n unsubscribe: () => void;\n};\n\nexport function useContextConsumer<\n T extends HTMLElement,\n C extends UnknownContext,\n>(\n hostElement: T,\n context: C,\n onContextReceived: (\n context: ContextType<C>,\n unsubscribe?: () => void\n ) => void,\n subscribe?: boolean\n): ContextConsumerSubscription {\n let _unsubscribe: () => void;\n hostElement.dispatchEvent(\n new ContextEvent(\n context,\n (ctx, unSub) => {\n onContextReceived(ctx, unSub);\n _unsubscribe = unSub;\n },\n subscribe\n )\n );\n\n return {\n unsubscribe: () => {\n _unsubscribe();\n },\n };\n}\nexport type ContextProvider<C extends Context<{}> = Context<any>> = {\n emit: (context: ContextType<C>) => void;\n};\n\nexport function useContextProvider<\n X extends {},\n C extends Context<X>,\n T extends HTMLElement = HTMLElement,\n>(\n hostElement: T,\n context: C,\n contextPayload?: ContextType<C>\n): ContextProvider<C> {\n const requestContext = new TypedEvent<ContextEvent<C>>();\n const updateContext = new TypedEvent<ContextType<C>>();\n\n const requests = new Set<ContextEvent<UnknownContext>>();\n\n hostElement.addEventListener(\n 'context-request',\n (requestContextEvent: ContextEvent<C>) => {\n if (requestContextEvent?.context.name !== context.name) {\n return;\n }\n\n requestContextEvent.stopPropagation();\n\n if (requestContextEvent.subscribe) {\n requests.add(requestContextEvent);\n }\n requestContext.emit(requestContextEvent);\n\n if (contextPayload) {\n requestContextEvent.callback(contextPayload, () => {\n requests.delete(requestContextEvent);\n });\n }\n }\n );\n\n updateContext.on((context: ContextType<C>) => {\n requests.forEach((r) =>\n r.callback(context, () => {\n requests.delete(r);\n })\n );\n });\n\n return {\n emit: (context: ContextType<C>) => {\n updateContext.emit(context);\n },\n };\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { createContext } from '../context';\n\nexport const closestIxMenu = (element: Element) => {\n const menuElement = element.closest('ix-menu');\n return menuElement;\n};\n\nexport type AppSwitchConfigurationTarget =\n | '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | (string & {});\n\nexport type AppSwitchConfiguration = {\n currentAppId: string;\n apps: {\n id: string;\n name: string;\n description: string;\n url: string;\n target: AppSwitchConfigurationTarget;\n iconSrc: string;\n }[];\n i18nAppSwitch?: string;\n i18nLoadingApps?: string;\n};\n\nexport const ApplicationLayoutContext = createContext<{\n hideHeader: boolean;\n host: 'basic-navigation' | 'map-navigation' | null;\n appSwitchConfig?: AppSwitchConfiguration;\n sidebar?: boolean;\n}>('application-layout-context', {\n hideHeader: false,\n host: null,\n sidebar: false,\n});\n"],"mappings":"6CAkCgBA,EACdC,EACAC,GAEA,MAAO,CACLD,OACAC,eAEJ,C,MAqBaC,UAA+CC,MAC1D,WAAAC,CACkBC,EACAC,EACAC,GAEhBC,MAAM,kBAAmB,CAAEC,QAAS,KAAMC,SAAU,OAJpCC,KAAAN,UACAM,KAAAL,WACAK,KAAAJ,W,WAoBJK,EAIdC,EACAR,EACAS,EAIAP,GAEA,IAAIQ,EACJF,EAAYG,cACV,IAAId,EACFG,GACA,CAACY,EAAKC,KACJJ,EAAkBG,EAAKC,GACvBH,EAAeG,CAAK,GAEtBX,IAIJ,MAAO,CACLY,YAAa,KACXJ,GAAc,EAGpB,C,SAKgBK,EAKdP,EACAR,EACAgB,GAEA,MAAMC,EAAiB,IAAIC,EAC3B,MAAMC,EAAgB,IAAID,EAE1B,MAAME,EAAW,IAAIC,IAErBb,EAAYc,iBACV,mBACCC,IACC,IAAIA,IAAmB,MAAnBA,SAAmB,SAAnBA,EAAqBvB,QAAQL,QAASK,EAAQL,KAAM,CACtD,M,CAGF4B,EAAoBC,kBAEpB,GAAID,EAAoBrB,UAAW,CACjCkB,EAASK,IAAIF,E,CAEfN,EAAeS,KAAKH,GAEpB,GAAIP,EAAgB,CAClBO,EAAoBtB,SAASe,GAAgB,KAC3CI,EAASO,OAAOJ,EAAoB,G,KAM5CJ,EAAcS,IAAI5B,IAChBoB,EAASS,SAASC,GAChBA,EAAE7B,SAASD,GAAS,KAClBoB,EAASO,OAAOG,EAAE,KAErB,IAGH,MAAO,CACLJ,KAAO1B,IACLmB,EAAcO,KAAK1B,EAAQ,EAGjC,C,MC/Ja+B,EAAiBC,IAC5B,MAAMC,EAAcD,EAAQE,QAAQ,WACpC,OAAOD,CAAW,E,MAwBPE,EAA2BzC,EAKrC,6BAA8B,CAC/B0C,WAAY,MACZC,KAAM,KACNC,QAAS,e"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as a,H as s,g as r}from"./p-f87cd962.js";import{U as i}from"./p-ef0d5678.js";const o=":host{display:block;min-height:4rem;height:4rem}: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 .file-upload-area{display:flex;flex-direction:row;align-items:center;justify-content:space-between;overflow:hidden;height:100%;width:100%;padding:1rem;border:1px dashed var(--theme-upload--border-color);border-radius:var(--theme-upload--border-radius);color:var(--theme-upload-text--color)}:host .file-upload-area.multiline{max-height:unset;height:auto}:host .file-upload-area.multiline .glyph{align-self:flex-start;margin-block-start:3px}:host .file-upload-area.multiline>div{align-self:flex-start}:host .file-upload-area:not(.multiline) .state,:host .file-upload-area:not(.multiline) .upload-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .file-upload-area:not(.disabled).file-over{border-color:var(--theme-upload--border-color--dragover);border-style:solid}:host .file-upload-area.checking{color:var(--theme-upload-text--color--checking);border-style:solid}:host .file-upload-area.disabled{border-style:solid;color:var(--theme-upload-text--color--disabled)}:host .file-upload-area ix-button{margin-inline-start:1rem}:host .file-upload-area .upload-browser{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}:host .file-upload-area .loader{margin:2.187rem auto;font-size:0.937rem;width:1rem;height:1rem;border-radius:50%;position:relative;text-indent:-9999em;animation:optimise-loading 1.1s infinite ease;transform:translateZ(0)}:host .file-upload-area .upload-filename{margin-bottom:1rem}:host .file-upload-area .state{display:flex;align-items:center}:host .file-upload-area .state>ix-spinner{margin-inline-end:0.5rem;height:1.5rem;width:1.5rem}:host .file-upload-area .state>ix-icon{margin-inline-end:0.5rem}:host .file-upload-area .state>ix-icon.icon-error{color:var(--theme-color-alarm)}:host .file-upload-area .state>ix-icon.icon-success{color:var(--theme-color-success)}:host(.disabled){pointer-events:none}";const l=o;const n=class{get inputElement(){return this.hostElement.shadowRoot.querySelector("#upload-browser")}constructor(a){e(this,a);this.filesChanged=t(this,"filesChanged",7);this.accept=undefined;this.multiple=false;this.multiline=false;this.disabled=false;this.state=i.SELECT_FILE;this.selectFileText="+ Drag files here or…";this.loadingText="Checking files…";this.uploadFailedText="Upload failed. Please try again.";this.uploadSuccessText="Upload successful";this.i18nUploadFile="Upload file…";this.i18nUploadDisabled="File upload currently not possible.";this.isFileOver=false}fileDropped(e){e.preventDefault();if(this.disabled){return}const t=e.dataTransfer.files;this.isFileOver=false;this.filesToUpload=this.convertToFileArray(t);this.filesChanged.emit(this.filesToUpload)}fileOver(e){if(this.state!==i.LOADING){e.preventDefault();e.dataTransfer.dropEffect="move"}if(!this.multiple&&e.dataTransfer.items.length>1){e.preventDefault();e.stopPropagation();e.dataTransfer.effectAllowed="none";e.dataTransfer.dropEffect="none"}else{this.isFileOver=true}}fileLeave(){this.isFileOver=false}fileChangeEvent(e){if(this.disabled){return}this.filesToUpload=this.convertToFileArray(e.target.files);this.filesChanged.emit(this.filesToUpload);this.inputElement.type="";this.inputElement.type="file"}convertToFileArray(e){let t=[];if(e instanceof FileList){t=Array.from(e)}else{t=[e]}return t}renderUploadState(){if(this.disabled){return a("span",{class:"state"},a("span",{class:"upload-text"},this.i18nUploadDisabled))}switch(this.state){case i.SELECT_FILE:return a("span",{class:"state"},a("span",{class:"upload-text"},this.selectFileText));case i.LOADING:return a("span",{class:"state"},a("ix-spinner",{variant:"primary"}),a("span",{class:"upload-text"},this.loadingText));case i.UPLOAD_FAILED:return a("span",{class:"state"},a("ix-icon",{name:"error",class:"icon-error"}),a("span",{class:"upload-text"},this.uploadFailedText));case i.UPLOAD_SUCCESSED:return a("span",{class:"state"},a("ix-icon",{name:"success",class:"icon-success"}),a("span",{class:"upload-text"},this.uploadSuccessText));default:return""}}async setFilesToUpload(e){this.filesToUpload=e}render(){return a(s,{key:"f4d3b7986dc9ee2d9249dd1275f057e72a03cd84"},a("div",{key:"de2560f5f66cad07f7515ac0610c21294c838bf2",class:{"file-upload-area":true,"file-over":this.state!==i.LOADING&&this.isFileOver,checking:this.state===i.LOADING,disabled:this.disabled,multiline:this.multiline},onDrop:e=>{if(this.state!==i.LOADING){this.fileDropped(e)}},onDragOver:e=>this.fileOver(e),onDragLeave:()=>this.fileLeave(),draggable:!this.disabled},this.renderUploadState(),a("div",{key:"a2d542458b53e0c9690480e8cd98d128e2e7d73b"},a("input",{key:"73f93d9e720aad7908208f727f20355ec9e984f1",multiple:this.multiple,type:"file",class:"upload-browser",id:"upload-browser",onChange:e=>{this.fileChangeEvent(e)},accept:this.accept}),a("ix-button",{key:"b9ec49c0ff2b9a62792c822278eb5ab3cf2669af",tabindex:"-1",outline:true,onClick:()=>this.inputElement.click(),disabled:this.disabled||this.state===i.LOADING},this.i18nUploadFile))))}get hostElement(){return r(this)}};n.style=l;export{n as ix_upload};
2
- //# sourceMappingURL=p-adee6045.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["uploadCss","IxUploadStyle0","Upload","inputElement","this","hostElement","shadowRoot","querySelector","constructor","hostRef","registerInstance","filesChanged","createEvent","accept","undefined","multiple","multiline","disabled","state","UploadFileState","SELECT_FILE","selectFileText","loadingText","uploadFailedText","uploadSuccessText","i18nUploadFile","i18nUploadDisabled","isFileOver","fileDropped","evt","preventDefault","file","dataTransfer","files","filesToUpload","convertToFileArray","emit","fileOver","event","LOADING","dropEffect","items","length","stopPropagation","effectAllowed","fileLeave","fileChangeEvent","target","type","filesFromEvent","FileList","Array","from","renderUploadState","h","class","variant","UPLOAD_FAILED","name","UPLOAD_SUCCESSED","setFilesToUpload","obj","render","Host","key","checking","onDrop","e","onDragOver","onDragLeave","draggable","id","onChange","tabindex","outline","onClick","click"],"sources":["src/components/upload/upload.scss?tag=ix-upload&encapsulation=shadow","src/components/upload/upload.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 min-height: 4rem;\n height: 4rem;\n\n .file-upload-area {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n overflow: hidden;\n\n height: 100%;\n width: 100%;\n\n padding: $default-space;\n\n border: 1px dashed var(--theme-upload--border-color);\n border-radius: var(--theme-upload--border-radius);\n color: var(--theme-upload-text--color);\n\n &.multiline {\n max-height: unset;\n height: auto;\n\n .glyph {\n align-self: flex-start;\n margin-block-start: 3px;\n }\n\n > div {\n align-self: flex-start;\n }\n }\n\n &:not(.multiline) {\n .state,\n .upload-text {\n @include ellipsis;\n }\n }\n\n &:not(.disabled).file-over {\n border-color: var(--theme-upload--border-color--dragover);\n border-style: solid;\n }\n\n &.checking {\n color: var(--theme-upload-text--color--checking);\n border-style: solid;\n }\n\n &.disabled {\n border-style: solid;\n color: var(--theme-upload-text--color--disabled);\n }\n\n ix-button {\n margin-inline-start: $default-space;\n }\n\n .upload-browser {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n }\n\n .loader {\n margin: 2.187rem auto;\n font-size: 0.937rem;\n width: $default-space;\n height: $default-space;\n border-radius: 50%;\n position: relative;\n text-indent: -9999em;\n animation: optimise-loading 1.1s infinite ease;\n transform: translateZ(0);\n }\n\n .upload-filename {\n margin-bottom: $default-space;\n }\n\n .state {\n display: flex;\n align-items: center;\n\n > ix-spinner {\n margin-inline-end: $small-space;\n height: $large-space;\n width: $large-space;\n }\n\n > ix-icon {\n margin-inline-end: $small-space;\n\n &.icon-error {\n color: var(--theme-color-alarm);\n }\n\n &.icon-success {\n color: var(--theme-color-success);\n }\n }\n }\n }\n}\n\n:host(.disabled) {\n pointer-events: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { UploadFileState } from './upload-file-state';\n\n@Component({\n tag: 'ix-upload',\n styleUrl: 'upload.scss',\n shadow: true,\n})\nexport class Upload {\n /**\n * The accept attribute specifies the types of files that the server accepts (that can be submitted through a file upload).\n * [accept]{@link \"https://www.w3schools.com/tags/att_input_accept.asp\"}\n */\n @Prop() accept: string;\n\n /**\n * If multiple is true the user can drop or select multiple files\n */\n @Prop() multiple = false;\n\n /**\n * Whether the text should wrap to more than one line\n */\n @Prop() multiline = false;\n\n /**\n * Disable all input events\n */\n @Prop() disabled = false;\n\n /**\n * After a file is uploaded you can set the upload component to a defined state\n */\n @Prop() state: UploadFileState = UploadFileState.SELECT_FILE;\n\n /**\n * Will be used by state = UploadFileState.SELECT_FILE\n */\n @Prop() selectFileText = '+ Drag files here or…';\n\n /**\n * Will be used by state = UploadFileState.LOADING\n */\n @Prop() loadingText = 'Checking files…';\n\n /**\n * Will be used by state = UploadFileState.UPLOAD_FAILED\n */\n @Prop() uploadFailedText = 'Upload failed. Please try again.';\n\n /**\n * Will be used by state = UploadFileState.UPLOAD_SUCCESSED\n */\n @Prop() uploadSuccessText = 'Upload successful';\n\n /**\n * Label for upload file button\n */\n @Prop() i18nUploadFile = 'Upload file…';\n\n /**\n * Text for disabled state\n */\n @Prop() i18nUploadDisabled = 'File upload currently not possible.';\n\n /**\n * You get an array of Files after drop-action or browse action is finished\n */\n @Event() filesChanged: EventEmitter<Array<File>>;\n\n @Element() hostElement!: HTMLIxUploadElement;\n\n get inputElement(): HTMLInputElement {\n return this.hostElement.shadowRoot.querySelector('#upload-browser');\n }\n\n @State() isFileOver = false;\n\n private filesToUpload: Array<File>;\n\n constructor() {}\n\n private fileDropped(evt: DragEvent) {\n evt.preventDefault();\n if (this.disabled) {\n return;\n }\n\n const file: File | FileList = evt.dataTransfer.files;\n this.isFileOver = false;\n\n this.filesToUpload = this.convertToFileArray(file);\n this.filesChanged.emit(this.filesToUpload);\n }\n\n private fileOver(event: DragEvent) {\n if (this.state !== UploadFileState.LOADING) {\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n }\n\n if (!this.multiple && event.dataTransfer.items.length > 1) {\n event.preventDefault();\n event.stopPropagation();\n event.dataTransfer.effectAllowed = 'none';\n event.dataTransfer.dropEffect = 'none';\n } else {\n this.isFileOver = true;\n }\n }\n\n private fileLeave() {\n this.isFileOver = false;\n }\n\n private fileChangeEvent(event: any) {\n if (this.disabled) {\n return;\n }\n this.filesToUpload = this.convertToFileArray(event.target.files);\n\n this.filesChanged.emit(this.filesToUpload);\n\n // Workaround for bug in native input element, that prevents the user from uploading\n // a file with the same name as the most recent one, but with changed content.\n this.inputElement.type = '';\n this.inputElement.type = 'file';\n }\n\n private convertToFileArray(filesFromEvent: FileList | File): File[] {\n let files = [];\n if (filesFromEvent instanceof FileList) {\n files = Array.from(filesFromEvent);\n } else {\n files = [filesFromEvent];\n }\n return files;\n }\n\n private renderUploadState() {\n if (this.disabled) {\n return (\n <span class=\"state\">\n <span class=\"upload-text\">{this.i18nUploadDisabled}</span>\n </span>\n );\n }\n\n switch (this.state) {\n case UploadFileState.SELECT_FILE:\n return (\n <span class=\"state\">\n <span class=\"upload-text\">{this.selectFileText}</span>\n </span>\n );\n case UploadFileState.LOADING:\n return (\n <span class=\"state\">\n <ix-spinner variant=\"primary\"></ix-spinner>\n <span class=\"upload-text\">{this.loadingText}</span>\n </span>\n );\n case UploadFileState.UPLOAD_FAILED:\n return (\n <span class=\"state\">\n <ix-icon name=\"error\" class=\"icon-error\"></ix-icon>\n <span class=\"upload-text\">{this.uploadFailedText}</span>\n </span>\n );\n case UploadFileState.UPLOAD_SUCCESSED:\n return (\n <span class=\"state\">\n <ix-icon name=\"success\" class=\"icon-success\"></ix-icon>\n <span class=\"upload-text\">{this.uploadSuccessText}</span>\n </span>\n );\n default:\n return '';\n }\n }\n\n /**\n * Set files\n * @param obj\n */\n @Method()\n async setFilesToUpload(obj: any) {\n this.filesToUpload = obj;\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'file-upload-area': true,\n 'file-over':\n this.state !== UploadFileState.LOADING && this.isFileOver,\n checking: this.state === UploadFileState.LOADING,\n disabled: this.disabled,\n multiline: this.multiline,\n }}\n onDrop={(e) => {\n if (this.state !== UploadFileState.LOADING) {\n this.fileDropped(e);\n }\n }}\n onDragOver={(e) => this.fileOver(e)}\n onDragLeave={() => this.fileLeave()}\n draggable={!this.disabled}\n >\n {this.renderUploadState()}\n <div>\n <input\n multiple={this.multiple}\n type=\"file\"\n class=\"upload-browser\"\n id=\"upload-browser\"\n onChange={(e) => {\n this.fileChangeEvent(e);\n }}\n accept={this.accept}\n />\n <ix-button\n tabindex=\"-1\"\n outline\n onClick={() => this.inputElement.click()}\n disabled={this.disabled || this.state === UploadFileState.LOADING}\n >\n {this.i18nUploadFile}\n </ix-button>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["buttonCss","IxButtonStyle0","Button","componentDidLoad","this","type","submitButton","document","createElement","style","display","tabIndex","hostElement","appendChild","submitButtonElement","dispatchFormEvents","click","render","baseButtonProps","variant","outline","ghost","iconOnly","iconOval","selected","disabled","loading","icon","iconSize","onClick","alignment","h","Host","key","class","BaseButton","Object","assign"],"sources":["src/components/button/button.scss?tag=ix-button&encapsulation=shadow","src/components/button/button.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import './button-mixin';\n\n@include btn;\n$button-categories: (danger, primary, secondary);\n@each $category in $button-categories {\n @include btn-variant($category);\n @include btn-variant('outline-#{$category}');\n @include btn-variant('invisible-#{$category}', false);\n}\n\n:host {\n min-width: 5rem;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop } from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from './base-button';\n\nexport type ButtonVariant = 'danger' | 'primary' | 'secondary';\n\n@Component({\n tag: 'ix-button',\n shadow: true,\n styleUrl: './button.scss',\n})\nexport class Button {\n /**\n * Button variant\n * @since 2.3.0 - variant danger\n */\n @Prop() variant: ButtonVariant = 'primary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Type of the button\n */\n @Prop() type: 'button' | 'submit' = 'button';\n\n /**\n * Loading button\n *\n * @since 2.0.0\n */\n @Prop() loading: boolean = false;\n\n /**\n * Icon name\n */\n @Prop() icon: string;\n\n /** @internal */\n @Prop() alignment: 'center' | 'start' = 'center';\n\n /** @internal */\n @Prop() iconSize: '12' | '16' | '24' = '24';\n\n @Element() hostElement: HTMLIxButtonElement;\n\n /**\n * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284)\n */\n submitButtonElement: HTMLButtonElement;\n\n componentDidLoad() {\n if (this.type === 'submit') {\n const submitButton = document.createElement('button');\n submitButton.style.display = 'none';\n submitButton.type = 'submit';\n submitButton.tabIndex = -1;\n this.hostElement.appendChild(submitButton);\n\n this.submitButtonElement = submitButton;\n }\n }\n\n dispatchFormEvents() {\n if (this.type === 'submit' && this.submitButtonElement) {\n this.submitButtonElement.click();\n }\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: false,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.iconSize,\n loading: this.loading,\n onClick: () => this.dispatchFormEvents(),\n type: this.type,\n alignment: this.alignment,\n };\n\n return (\n <Host\n class={{\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseButton {...baseButtonProps}>\n <slot></slot>\n </BaseButton>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAY,oyrBAClB,MAAAC,EAAeD,E,MCkBFE,EAAM,M,sCAKgB,U,aAKf,M,WAKF,M,cAKoB,M,UAKA,S,aAOT,M,mCAQa,S,cAGD,I,CASvC,gBAAAC,GACE,GAAIC,KAAKC,OAAS,SAAU,CAC1B,MAAMC,EAAeC,SAASC,cAAc,UAC5CF,EAAaG,MAAMC,QAAU,OAC7BJ,EAAaD,KAAO,SACpBC,EAAaK,UAAY,EACzBP,KAAKQ,YAAYC,YAAYP,GAE7BF,KAAKU,oBAAsBR,C,EAI/B,kBAAAS,GACE,GAAIX,KAAKC,OAAS,UAAYD,KAAKU,oBAAqB,CACtDV,KAAKU,oBAAoBE,O,EAI7B,MAAAC,GACE,MAAMC,EAAmC,CACvCC,QAASf,KAAKe,QACdC,QAAShB,KAAKgB,QACdC,MAAOjB,KAAKiB,MACZC,SAAU,MACVC,SAAU,MACVC,SAAU,MACVC,SAAUrB,KAAKqB,UAAYrB,KAAKsB,QAChCC,KAAMvB,KAAKuB,KACXC,SAAUxB,KAAKwB,SACfF,QAAStB,KAAKsB,QACdG,QAAS,IAAMzB,KAAKW,qBACpBV,KAAMD,KAAKC,KACXyB,UAAW1B,KAAK0B,WAGlB,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLT,SAAUrB,KAAKqB,UAAYrB,KAAKsB,UAGlCK,EAACI,EAAUC,OAAAC,OAAA,CAAAJ,IAAA,4CAAKf,GACda,EAAA,QAAAE,IAAA,8C"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["iconButtonCss","IxIconButtonStyle0","IconButton","componentDidLoad","this","type","submitButton","document","createElement","style","display","tabIndex","hostElement","appendChild","submitButtonElement","dispatchFormEvents","click","getIconSizeClass","size","render","baseButtonProps","ariaAttributes","a11yLabel","getFallbackLabelFromIconName","icon","variant","outline","ghost","iconOnly","iconOval","oval","selected","disabled","loading","iconColor","_a","color","iconSize","onClick","extraClasses","h","Host","key","class","Object","assign","BaseIconButton","spinnerCss","IxSpinnerStyle0","Spinner","primary","small","medium","large","hideTrack"],"sources":["src/components/icon-button/icon-button.scss?tag=ix-icon-button&encapsulation=shadow","src/components/icon-button/icon-button.tsx","src/components/spinner/spinner.scss?tag=ix-spinner&encapsulation=shadow","src/components/spinner/spinner.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 './icon-button-mixin.scss';\n\n@include base-icon-button;\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop } from '@stencil/core';\nimport { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { getFallbackLabelFromIconName } from '../utils/a11y';\n\nexport type IconButtonVariant = ButtonVariant;\n\n@Component({\n tag: 'ix-icon-button',\n styleUrl: 'icon-button.scss',\n shadow: true,\n})\nexport class IconButton {\n @Element() hostElement: HTMLIxIconButtonElement;\n\n /**\n * Accessibility label for the icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 2.1.0\n */\n @Prop({ attribute: 'a11y-label' }) a11yLabel: string;\n\n /**\n * Variant of button\n * @since 2.3.0 - variant danger\n */\n @Prop() variant: IconButtonVariant = 'secondary';\n\n /**\n * Button outline\n */\n @Prop() outline: boolean;\n\n /**\n * Button invisible\n */\n @Prop() ghost: boolean;\n\n /**\n * Button in oval shape\n */\n @Prop() oval: boolean;\n\n /**\n * Icon name\n */\n @Prop() icon: string;\n\n /**\n * Size of icon in button\n *\n * @deprecated Only size 32 will be removed in 3.0.0\n */\n @Prop() size: '32' | '24' | '16' | '12' = '24';\n\n /**\n * Color of icon in button\n *\n * @deprecated since 2.1.0 use `icon-color`\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() color: string;\n\n /**\n * Color of icon in button\n */\n @Prop() iconColor: string;\n\n /**\n * Disabled\n */\n @Prop() disabled = false;\n\n /**\n * Type of the button\n */\n @Prop() type: 'button' | 'submit' = 'button';\n\n /**\n * Loading button\n *\n * @since 2.0.0\n */\n @Prop() loading = false;\n\n /**\n * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284)\n */\n submitButtonElement: HTMLButtonElement;\n\n componentDidLoad() {\n if (this.type === 'submit') {\n const submitButton = document.createElement('button');\n submitButton.style.display = 'none';\n submitButton.type = 'submit';\n submitButton.tabIndex = -1;\n this.hostElement.appendChild(submitButton);\n\n this.submitButtonElement = submitButton;\n }\n }\n\n dispatchFormEvents() {\n if (this.type === 'submit' && this.submitButtonElement) {\n this.submitButtonElement.click();\n }\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '32' || this.size === '24' || !this.size,\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n ariaAttributes: {\n 'aria-label': this.a11yLabel\n ? this.a11yLabel\n : getFallbackLabelFromIconName(this.icon),\n },\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: this.oval,\n selected: false,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconColor: this.iconColor ?? this.color,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchFormEvents(),\n type: this.type,\n extraClasses: this.getIconSizeClass(),\n };\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'mixins/shadow-dom/component';\n\n@mixin ix-spinner($host-class: 'medium', $size: 2rem, $track-size: 4px) {\n :host(.#{$host-class}) {\n @include ix-component;\n display: block;\n position: relative;\n\n width: $size;\n height: $size;\n min-width: $size;\n min-height: $size;\n max-width: $size;\n max-height: $size;\n border-radius: 100%;\n position: relative;\n animation: rotate 2s linear infinite;\n\n @keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n\n @keyframes clipMask {\n 0% {\n clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);\n }\n 12.5% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);\n }\n 25% {\n clip-path: polygon(\n 50% 50%,\n 0 0,\n 100% 0,\n 100% 100%,\n 100% 100%,\n 100% 100%\n );\n }\n 37.5% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);\n }\n 50% {\n clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);\n }\n 62.5% {\n clip-path: polygon(50% 50%, 100% 0, 100% 0, 100% 100%, 0 100%, 0 0);\n }\n 75% {\n clip-path: polygon(\n 50% 50%,\n 100% 100%,\n 100% 100%,\n 100% 100%,\n 0 100%,\n 0 0\n );\n }\n 87.5% {\n clip-path: polygon(50% 50%, 0 100%, 0 100%, 0 100%, 0 100%, 0 0);\n }\n 100% {\n clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);\n }\n }\n }\n\n :host(.#{$host-class})::after {\n content: '';\n box-sizing: border-box;\n position: absolute;\n inset: 8.33%;\n border-radius: 100%;\n border: $track-size solid\n var(--ix-button-color, var(--theme-color-soft-text));\n animation: clipMask 3s linear infinite;\n }\n\n :host(:not(.hide-track)):host(.#{$host-class})::before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n inset: 8.33%;\n border-radius: 100%;\n border: $track-size solid var(--theme-color-ghost--hover);\n }\n\n :host(.primary)::after {\n border-color: var(--theme-color-dynamic);\n }\n\n :host(.primary)::before {\n border-color: var(--theme-color-ghost--hover);\n }\n}\n\n@include ix-spinner($host-class: 'xx-small', $size: 0.75rem, $track-size: 1px);\n@include ix-spinner($host-class: 'x-small', $size: 1.25rem, $track-size: 2px);\n@include ix-spinner($host-class: 'small', $size: 1.5rem, $track-size: 2px);\n@include ix-spinner($host-class: 'medium', $size: 2rem, $track-size: 2px);\n@include ix-spinner($host-class: 'large', $size: 6rem, $track-size: 4px);\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-spinner',\n styleUrl: 'spinner.scss',\n shadow: true,\n})\nexport class Spinner {\n @Element() hostElement!: HTMLIxSpinnerElement;\n\n /**\n * Variant of spinner\n */\n @Prop() variant: 'primary' | 'secondary' = 'secondary';\n\n /**\n * Size of spinner\n */\n @Prop() size: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' =\n 'medium';\n\n /**\n * @internal\n */\n @Prop() hideTrack = false;\n\n render() {\n return (\n <Host\n class={{\n primary: this.variant === 'primary',\n 'xx-small': this.size === 'xx-small',\n 'x-small': this.size === 'x-small',\n small: this.size === 'small',\n medium: this.size === 'medium',\n large: this.size === 'large',\n 'hide-track': this.hideTrack,\n }}\n ></Host>\n );\n }\n}\n"],"mappings":"yJAAA,MAAMA,EAAgB,4luBACtB,MAAAC,EAAeD,E,MCqBFE,EAAU,M,+DAegB,Y,8FA2BK,K,4DAkBvB,M,UAKiB,S,aAOlB,K,CAOlB,gBAAAC,GACE,GAAIC,KAAKC,OAAS,SAAU,CAC1B,MAAMC,EAAeC,SAASC,cAAc,UAC5CF,EAAaG,MAAMC,QAAU,OAC7BJ,EAAaD,KAAO,SACpBC,EAAaK,UAAY,EACzBP,KAAKQ,YAAYC,YAAYP,GAE7BF,KAAKU,oBAAsBR,C,EAI/B,kBAAAS,GACE,GAAIX,KAAKC,OAAS,UAAYD,KAAKU,oBAAqB,CACtDV,KAAKU,oBAAoBE,O,EAIrB,gBAAAC,GACN,MAAO,CACL,cAAeb,KAAKc,OAAS,KAC7B,cAAed,KAAKc,OAAS,KAC7B,cAAed,KAAKc,OAAS,MAAQd,KAAKc,OAAS,OAASd,KAAKc,K,CAIrE,MAAAC,G,MACE,MAAMC,EAAmC,CACvCC,eAAgB,CACd,aAAcjB,KAAKkB,UACflB,KAAKkB,UACLC,EAA6BnB,KAAKoB,OAExCC,QAASrB,KAAKqB,QACdC,QAAStB,KAAKsB,QACdC,MAAOvB,KAAKuB,MACZC,SAAU,KACVC,SAAUzB,KAAK0B,KACfC,SAAU,MACVC,SAAU5B,KAAK4B,UAAY5B,KAAK6B,QAChCT,KAAMpB,KAAKoB,KACXU,WAAWC,EAAA/B,KAAK8B,aAAS,MAAAC,SAAA,EAAAA,EAAI/B,KAAKgC,MAClCC,SAAUjC,KAAKc,KACfe,QAAS7B,KAAK6B,QACdK,QAAS,IAAMlC,KAAKW,qBACpBV,KAAMD,KAAKC,KACXkC,aAAcnC,KAAKa,oBAGrB,OACEuB,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACAzC,KAAKa,oBAAkB,CAC1Be,SAAU5B,KAAK4B,UAAY5B,KAAK6B,WAGlCO,EAACM,EAAcF,OAAAC,OAAA,CAAAH,IAAA,4CAAKtB,I,8CC7J5B,MAAM2B,EAAa,61cACnB,MAAAC,EAAeD,E,MCeFE,EAAO,M,sCAMyB,Y,UAMzC,S,eAKkB,K,CAEpB,MAAA9B,GACE,OACEqB,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLO,QAAS9C,KAAKqB,UAAY,UAC1B,WAAYrB,KAAKc,OAAS,WAC1B,UAAWd,KAAKc,OAAS,UACzBiC,MAAO/C,KAAKc,OAAS,QACrBkC,OAAQhD,KAAKc,OAAS,SACtBmC,MAAOjD,KAAKc,OAAS,QACrB,aAAcd,KAAKkD,Y"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,H as s}from"./p-f87cd962.js";const a=":host{display:block;background-color:var(--theme-menu--background);border-radius:4px;position:relative;width:-moz-min-content;width:min-content}: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 .min-width{width:-moz-min-content;width:min-content}:host .no-padding{padding:0}:host .flex{display:flex;justify-content:center;flex-direction:column}@media (min-width: 576px){:host{min-width:-moz-max-content;min-width:max-content}:host .btn-select-date{left:unset !important}}:host .individual{box-shadow:none;border:none}:host .btn-select-date{position:absolute;bottom:1rem;right:1rem;left:1rem}";const o=a;const n=class{constructor(i){t(this,i);this.done=e(this,"done",7);this.timeChange=e(this,"timeChange",7);this.dateChange=e(this,"dateChange",7);this.dateSelect=e(this,"dateSelect",7);this.range=true;this.showHour=true;this.showMinutes=true;this.showSeconds=true;this.minDate=undefined;this.maxDate=undefined;this.dateFormat="yyyy/LL/dd";this.timeFormat="HH:mm:ss";this.from=undefined;this.to=undefined;this.time=undefined;this.showTimeReference=undefined;this.timeReference=undefined;this.textSelectDate=undefined;this.i18nDone="Done";this.weekStartIndex=0;this.locale=undefined;this.eventDelimiter=" - "}async onDone(){var t;const e=await this.datePickerElement.getCurrentDate();const i=await this.timePickerElement.getCurrentTime();this.dateSelect.emit({from:e.from,to:e.to,time:i});this.done.emit([e.from,(t=e.to)!==null&&t!==void 0?t:"",i].join(this.eventDelimiter))}async onDateChange(t){t.preventDefault();t.stopPropagation();const{detail:e}=t;this.dateChange.emit(e)}async onTimeChange(t){t.preventDefault();t.stopPropagation();const{detail:e}=t;this.timeChange.emit(e)}render(){return i(s,{key:"245fa3202c8983bc8eff53d4078c2a6a8daa0810"},i("ix-layout-grid",{key:"1bc34611a653f3dea08ee0be6a336766da38b914",class:"no-padding"},i("ix-row",{key:"26eef283266f46fb5a19fcaf1d78f985119cec3a"},i("ix-col",{key:"d4ac83db8977067d5c178fb48eac1acc1adca898",class:"no-padding"},i("ix-date-picker",{key:"967af43189787bc677ff273de023b43d9e3b0019",ref:t=>this.datePickerElement=t,corners:"left",range:this.range,onDateChange:t=>this.onDateChange(t),from:this.from,to:this.to,format:this.dateFormat,minDate:this.minDate,maxDate:this.maxDate,weekStartIndex:this.weekStartIndex,standaloneAppearance:false,locale:this.locale})),i("ix-col",{key:"53bbc9d021687f71f211b6d4091e421b7374ae56",class:"no-padding"},i("ix-time-picker",{key:"da5a855b94d37b1424de7f10804e707e9d082139",class:"min-width",ref:t=>this.timePickerElement=t,corners:"right",standaloneAppearance:false,showHour:this.showHour,showMinutes:this.showMinutes,showSeconds:this.showSeconds,onTimeChange:t=>this.onTimeChange(t),format:this.timeFormat,time:this.time}))),i("ix-row",{key:"aa564cb9741fda50e046a508cb9e2ad985ed11d7"},i("ix-col",{key:"a13d931565a1165e262070e6e3d637fce6da38c6"},i("ix-button",{key:"6769327a6e405d2b2705c3a64b4b2031e8f80de4",class:"btn-select-date btn-md-width",onClick:()=>this.onDone()},this.textSelectDate||this.i18nDone)))))}};n.style=o;export{n as ix_datetime_picker};
2
- //# sourceMappingURL=p-bf14c60b.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["datetimePickerCss","IxDatetimePickerStyle0","DatetimePicker","undefined","onDone","date","this","datePickerElement","getCurrentDate","time","timePickerElement","getCurrentTime","dateSelect","emit","from","to","done","_a","join","eventDelimiter","onDateChange","event","preventDefault","stopPropagation","detail","dateChange","onTimeChange","timeChange","render","h","Host","key","class","ref","corners","range","format","dateFormat","minDate","maxDate","weekStartIndex","standaloneAppearance","locale","showHour","showMinutes","showSeconds","timeFormat","onClick","textSelectDate","i18nDone"],"sources":["src/components/datetime-picker/datetime-picker.scss?tag=ix-datetime-picker&encapsulation=shadow","src/components/datetime-picker/datetime-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\n:host {\n @include ix-component;\n\n display: block;\n background-color: var(--theme-menu--background);\n border-radius: 4px;\n position: relative;\n width: min-content;\n\n .min-width {\n width: min-content;\n }\n\n .no-padding {\n padding: 0;\n }\n\n .flex {\n display: flex;\n justify-content: center;\n flex-direction: column;\n }\n\n @media (min-width: 576px) {\n min-width: max-content;\n\n .btn-select-date {\n left: unset !important;\n }\n\n }\n\n .individual {\n box-shadow: none;\n border: none;\n }\n\n .btn-select-date {\n position: absolute;\n bottom: $default-space;\n right: $default-space;\n left: $default-space;\n }\n\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport type { DateChangeEvent } from '../date-picker/date-picker';\n\nexport type DateTimeSelectEvent = {\n from: string;\n to: string;\n time: string;\n};\n\nexport type DateTimeDateChangeEvent =\n | string\n | Omit<DateTimeSelectEvent, 'time'>;\n\n@Component({\n tag: 'ix-datetime-picker',\n styleUrl: 'datetime-picker.scss',\n shadow: true,\n})\nexport class DatetimePicker {\n /**\n * If true a date-range can be selected (from/to).\n */\n @Prop() range = true;\n\n /**\n * Show hour input\n */\n @Prop() showHour = true;\n\n /**\n * Show minutes input\n */\n @Prop() showMinutes = true;\n\n /**\n * Show seconds input\n */\n @Prop() showSeconds = true;\n\n /**\n * The earliest date that can be selected by the date picker.\n * If not set there will be no restriction.\n *\n * @since 1.1.0\n */\n @Prop() minDate: string;\n\n /**\n * The latest date that can be selected by the date picker.\n * If not set there will be no restriction.\n *\n * @since 1.1.0\n */\n @Prop() maxDate: string;\n\n /**\n * Date format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n *\n * @since 1.1.0\n */\n @Prop() dateFormat: string = 'yyyy/LL/dd';\n\n /**\n * Time format string.\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n *\n * @since 1.1.0\n */\n @Prop() timeFormat: string = 'HH:mm:ss';\n\n /**\n * The selected starting date. If the picker is not in range mode this is the selected date.\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() from: string | undefined;\n\n /**\n * The selected end date. If the the picker is not in range mode this property has no impact.\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() to: string | undefined;\n\n /**\n * Select time with format string\n *\n * @since 1.1.0\n */\n @Prop() time: string;\n\n /**\n * Show time reference input\n * Time reference is default aligned with @see {this.timeFormat}\n *\n * @since 1.1.0\n */\n @Prop() showTimeReference = undefined;\n\n /**\n * Set time reference\n */\n @Prop() timeReference: 'AM' | 'PM';\n\n /**\n * Text of date select button\n *\n * @since 1.1.0\n * @deprecated since 2.1.0. Use `i18nDone`\n */\n @Prop() textSelectDate: string;\n\n /**\n * Text of date select button\n *\n * @since 2.1.0\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone: string = 'Done';\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n *\n * @since 2.1.0\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Format of time string\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n *\n * @since 2.1.0\n */\n @Prop() locale: string = undefined;\n\n /**\n * Default behavior of the done event is to join the two events (date and time) into one combined string output.\n * This combination can be configured over the delimiter\n *\n * @since 1.1.0\n * @deprecated Not used anymore see `done` event\n */\n @Prop() eventDelimiter = ' - ';\n\n /**\n * Done event\n *\n * Set `doneEventDelimiter` to null or undefine to get the typed event\n * @deprecated Use `this.dateChange`\n */\n @Event() done: EventEmitter<string>;\n\n /**\n * Time change\n *\n * @since 1.1.0\n */\n @Event() timeChange: EventEmitter<string>;\n\n /**\n * Date change\n *\n * @since 1.1.0\n */\n @Event() dateChange: EventEmitter<DateTimeDateChangeEvent>;\n\n /**\n * Datetime selection event is fired after confirm button is pressed\n *\n * @since 1.1.0\n */\n @Event() dateSelect: EventEmitter<DateTimeSelectEvent>;\n\n private datePickerElement: HTMLIxDatePickerElement;\n private timePickerElement: HTMLIxTimePickerElement;\n\n private async onDone() {\n const date = await this.datePickerElement.getCurrentDate();\n const time = await this.timePickerElement.getCurrentTime();\n\n this.dateSelect.emit({\n from: date.from,\n to: date.to,\n time: time,\n });\n\n this.done.emit([date.from, date.to ?? '', time].join(this.eventDelimiter));\n }\n\n private async onDateChange(event: CustomEvent<string | DateChangeEvent>) {\n event.preventDefault();\n event.stopPropagation();\n\n const { detail: date } = event;\n this.dateChange.emit(date);\n }\n\n private async onTimeChange(event: CustomEvent<string>) {\n event.preventDefault();\n event.stopPropagation();\n\n const { detail: time } = event;\n this.timeChange.emit(time);\n }\n\n render() {\n return (\n <Host>\n <ix-layout-grid class=\"no-padding\">\n <ix-row>\n <ix-col class=\"no-padding\">\n <ix-date-picker\n ref={(ref) => (this.datePickerElement = ref)}\n corners=\"left\"\n range={this.range}\n onDateChange={(event) => this.onDateChange(event)}\n from={this.from}\n to={this.to}\n format={this.dateFormat}\n minDate={this.minDate}\n maxDate={this.maxDate}\n weekStartIndex={this.weekStartIndex}\n standaloneAppearance={false}\n locale={this.locale}\n ></ix-date-picker>\n </ix-col>\n\n <ix-col class=\"no-padding\">\n <ix-time-picker\n class=\"min-width\"\n ref={(ref) => (this.timePickerElement = ref)}\n corners=\"right\"\n standaloneAppearance={false}\n showHour={this.showHour}\n showMinutes={this.showMinutes}\n showSeconds={this.showSeconds}\n onTimeChange={(event) => this.onTimeChange(event)}\n format={this.timeFormat}\n time={this.time}\n ></ix-time-picker>\n </ix-col>\n </ix-row>\n <ix-row>\n <ix-col>\n <ix-button\n class=\"btn-select-date btn-md-width\"\n onClick={() => this.onDone()}\n >\n {this.textSelectDate || this.i18nDone}\n </ix-button>\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAoB,8xCAC1B,MAAAC,EAAeD,E,MC0BFE,EAAc,M,oLAIT,K,cAKG,K,iBAKG,K,iBAKA,K,8DAwBO,a,gBAQA,W,iFA+BDC,U,yEAoByB,O,oBAQ5B,E,YAQAA,U,oBASA,K,CAkCjB,YAAMC,G,MACZ,MAAMC,QAAaC,KAAKC,kBAAkBC,iBAC1C,MAAMC,QAAaH,KAAKI,kBAAkBC,iBAE1CL,KAAKM,WAAWC,KAAK,CACnBC,KAAMT,EAAKS,KACXC,GAAIV,EAAKU,GACTN,KAAMA,IAGRH,KAAKU,KAAKH,KAAK,CAACR,EAAKS,MAAMG,EAAAZ,EAAKU,MAAE,MAAAE,SAAA,EAAAA,EAAI,GAAIR,GAAMS,KAAKZ,KAAKa,gB,CAGpD,kBAAMC,CAAaC,GACzBA,EAAMC,iBACND,EAAME,kBAEN,MAAQC,OAAQnB,GAASgB,EACzBf,KAAKmB,WAAWZ,KAAKR,E,CAGf,kBAAMqB,CAAaL,GACzBA,EAAMC,iBACND,EAAME,kBAEN,MAAQC,OAAQf,GAASY,EACzBf,KAAKqB,WAAWd,KAAKJ,E,CAGvB,MAAAmB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,kBAAAE,IAAA,2CAAgBC,MAAM,cACpBH,EAAA,UAAAE,IAAA,4CACEF,EAAA,UAAAE,IAAA,2CAAQC,MAAM,cACZH,EAAA,kBAAAE,IAAA,2CACEE,IAAMA,GAAS3B,KAAKC,kBAAoB0B,EACxCC,QAAQ,OACRC,MAAO7B,KAAK6B,MACZf,aAAeC,GAAUf,KAAKc,aAAaC,GAC3CP,KAAMR,KAAKQ,KACXC,GAAIT,KAAKS,GACTqB,OAAQ9B,KAAK+B,WACbC,QAAShC,KAAKgC,QACdC,QAASjC,KAAKiC,QACdC,eAAgBlC,KAAKkC,eACrBC,qBAAsB,MACtBC,OAAQpC,KAAKoC,UAIjBb,EAAA,UAAAE,IAAA,2CAAQC,MAAM,cACZH,EAAA,kBAAAE,IAAA,2CACEC,MAAM,YACNC,IAAMA,GAAS3B,KAAKI,kBAAoBuB,EACxCC,QAAQ,QACRO,qBAAsB,MACtBE,SAAUrC,KAAKqC,SACfC,YAAatC,KAAKsC,YAClBC,YAAavC,KAAKuC,YAClBnB,aAAeL,GAAUf,KAAKoB,aAAaL,GAC3Ce,OAAQ9B,KAAKwC,WACbrC,KAAMH,KAAKG,SAIjBoB,EAAA,UAAAE,IAAA,4CACEF,EAAA,UAAAE,IAAA,4CACEF,EAAA,aAAAE,IAAA,2CACEC,MAAM,+BACNe,QAAS,IAAMzC,KAAKF,UAEnBE,KAAK0C,gBAAkB1C,KAAK2C,a"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,f as s,H as r,g as o}from"./p-f87cd962.js";import{b as a,a as h}from"./p-157b1b28.js";import{c as n}from"./p-e898862b.js";const l=":host{display:flex;justify-content:flex-start;height:2.5rem;align-items:center;background-color:transparent;overflow:hidden}: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 .previous-button{width:3rem;min-width:0px}:host .crumb-dropdown{overflow:visible}:host .remove-anchor::after{display:none}:host .more-text{display:flex}:host .more-text .more-text-ellipsis{width:1rem;display:inline-block;font-weight:700}:host .more-text ix-icon{padding-top:2px}:host nav,:host ol,:host .crumb-items{display:contents}";const c=l;let b=0;const d=(t="breadcrumb-")=>`${t}-${b++}`;const m=class{constructor(i){t(this,i);this.itemClick=e(this,"itemClick",7);this.nextClick=e(this,"nextClick",7);this.previousButtonId=d();this.previousDropdownId=d();this.visibleItemCount=9;this.nextItems=[];this.ghost=true;this.ariaLabelPreviousButton="previous";this.previousButtonRef=undefined;this.nextButtonRef=undefined;this.items=[];this.isPreviousDropdownExpanded=false}onNextItemsChange(){this.onChildMutation()}onItemClick(t){this.itemClick.emit(t)}componentDidLoad(){this.mutationObserver=n((()=>this.onChildMutation()));this.mutationObserver.observe(this.hostElement,{subtree:true,childList:true})}componentWillLoad(){this.onChildMutation()}disconnectedCallback(){var t;(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect()}async onChildMutation(){const t=this.getItems();t.forEach(((e,i)=>{const s=this.nextItems.length!==0&&t.length-1===i;e.ghost=this.ghost;e.showChevron=t.length-1!==i||s;e.isDropdownTrigger=s;if(s){this.nextButtonRef=e}if(t.length<this.visibleItemCount){return}e.visible=i>=t.length-this.visibleItemCount}));this.items=t}getItems(){return Array.from(this.hostElement.querySelectorAll("ix-breadcrumb-item"))}render(){var t,e,o,n;const l=a(this.hostElement);return i(r,{key:"01b7b3c2b8e5b4eccea75ea1ffb85d91516888ab"},i("ix-dropdown",{key:"acd5584e3cfcb2b698a36e65a9f706f955f525e7",id:this.previousDropdownId,"aria-label":this.ariaLabelPreviousButton,trigger:((t=this.items)===null||t===void 0?void 0:t.length)>this.visibleItemCount?this.previousButtonRef:null,onShowChanged:({detail:t})=>{this.isPreviousDropdownExpanded=t;const e=this.hostElement.shadowRoot.getElementById(this.previousButtonId);if(e){s(this.hostElement.shadowRoot.getElementById(this.previousButtonId))}}},this.items.slice(0,this.items.length-this.visibleItemCount).map((t=>{var e;const s=(e=t.label)!==null&&e!==void 0?e:t.innerText;return i("ix-dropdown-item",{label:s,onClick:()=>{this.onItemClick(s)},onItemClick:t=>t.stopPropagation()})}))),((e=this.items)===null||e===void 0?void 0:e.length)>this.visibleItemCount?i("ix-breadcrumb-item",{id:this.previousButtonId,ref:t=>this.previousButtonRef=t,label:"...",tabIndex:1,onItemClick:t=>t.stopPropagation(),"aria-describedby":this.previousDropdownId,"aria-controls":this.previousDropdownId,"aria-expanded":h(this.isPreviousDropdownExpanded),class:"previous-button"}):null,i("nav",{key:"5528a34e56c4dbcf8130652b517ca717c3158294",class:"crumb-items","aria-label":(o=l["aria-label"])!==null&&o!==void 0?o:"breadcrumbs"},i("ol",{key:"5e74629e99a27aad5140a0bf519db8513adfc5ff"},i("slot",{key:"4cf1e9f67ca27bd9f8f6e06e6e6a946048306f78"}))),i("ix-dropdown",{key:"f16070f4edffdef90c32e8f426e492d8b856f5ef",trigger:this.nextButtonRef},(n=this.nextItems)===null||n===void 0?void 0:n.map((t=>i("ix-dropdown-item",{label:t,onClick:e=>{this.nextClick.emit({event:e,item:t})},onItemClick:t=>t.stopPropagation()})))))}get hostElement(){return o(this)}static get watchers(){return{nextItems:["onNextItemsChange"]}}};m.style=c;export{m as ix_breadcrumb};
2
- //# sourceMappingURL=p-c022d6cc.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["breadcrumbCss","IxBreadcrumbStyle0","sequenceId","createId","prefix","Breadcrumb","this","previousButtonId","previousDropdownId","onNextItemsChange","onChildMutation","onItemClick","item","itemClick","emit","componentDidLoad","mutationObserver","createMutationObserver","observe","hostElement","subtree","childList","componentWillLoad","disconnectedCallback","_a","disconnect","updatedItems","getItems","forEach","bc","index","shouldShowDropdown","nextItems","length","ghost","showChevron","isDropdownTrigger","nextButtonRef","visibleItemCount","visible","items","Array","from","querySelectorAll","render","a11y","a11yHostAttributes","h","Host","key","id","ariaLabelPreviousButton","trigger","previousButtonRef","onShowChanged","detail","isPreviousDropdownExpanded","previousButton","shadowRoot","getElementById","forceUpdate","slice","map","label","innerText","onClick","event","stopPropagation","_b","ref","tabIndex","a11yBoolean","class","_c","_d","e","nextClick"],"sources":["src/components/breadcrumb/breadcrumb.scss?tag=ix-breadcrumb&encapsulation=shadow","src/components/breadcrumb/breadcrumb.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/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n justify-content: flex-start;\n height: 2.5rem;\n align-items: center;\n background-color: transparent;\n overflow: hidden;\n\n .previous-button {\n width: 3rem;\n min-width: 0px;\n }\n\n .crumb-dropdown {\n overflow: visible;\n }\n\n .remove-anchor::after {\n display: none;\n }\n\n .more-text {\n display: flex;\n\n .more-text-ellipsis {\n width: 1rem;\n display: inline-block;\n font-weight: $font-weight-bold;\n }\n\n ix-icon {\n // line-height: unset; --> Note: 'line-height' can't be applied due to shadow DOM encapsulation at ix-icon\n // using padding-top to achieve same position as before\n padding-top: 2px;\n }\n }\n\n nav,\n ol,\n .crumb-items {\n display: contents;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { a11yBoolean, a11yHostAttributes } from '../utils/a11y';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\nlet sequenceId = 0;\nconst createId = (prefix: string = 'breadcrumb-') => {\n return `${prefix}-${sequenceId++}`;\n};\n\n@Component({\n tag: 'ix-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true,\n})\nexport class Breadcrumb {\n @Element() hostElement!: HTMLIxBreadcrumbElement;\n\n /**\n * Excess items will get hidden inside of dropdown\n */\n @Prop() visibleItemCount = 9;\n\n /**\n * Items will be accessible through a dropdown\n */\n @Prop() nextItems: string[] = [];\n @Watch('nextItems')\n onNextItemsChange() {\n this.onChildMutation();\n }\n\n /**\n * Ghost breadcrumbs will not show solid backgrounds on individual crumbs unless there is a mouse event (e.g. hover)\n */\n @Prop() ghost = true;\n\n /**\n * Accessibility label for the dropdown button (ellipsis icon) used to access the dropdown list\n * with conditionally hidden previous items\n *\n * @since 2.0.0\n */\n @Prop() ariaLabelPreviousButton = 'previous';\n\n /**\n * Crumb item clicked event\n */\n @Event() itemClick: EventEmitter<string>;\n\n /**\n * Next item clicked event\n */\n @Event() nextClick: EventEmitter<{ event: UIEvent; item: string }>;\n\n @State() previousButtonRef: HTMLElement;\n @State() nextButtonRef: HTMLElement;\n @State() items: HTMLIxBreadcrumbItemElement[] = [];\n @State() isPreviousDropdownExpanded = false;\n\n private mutationObserver: MutationObserver;\n\n private previousButtonId = createId();\n private previousDropdownId = createId();\n\n private onItemClick(item: string) {\n this.itemClick.emit(item);\n }\n\n componentDidLoad() {\n this.mutationObserver = createMutationObserver(() =>\n this.onChildMutation()\n );\n\n this.mutationObserver.observe(this.hostElement, {\n subtree: true,\n childList: true,\n });\n }\n\n componentWillLoad() {\n this.onChildMutation();\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n }\n\n private async onChildMutation() {\n const updatedItems = this.getItems();\n\n updatedItems.forEach((bc, index) => {\n const shouldShowDropdown =\n this.nextItems.length !== 0 && updatedItems.length - 1 === index;\n\n bc.ghost = this.ghost;\n bc.showChevron = updatedItems.length - 1 !== index || shouldShowDropdown;\n bc.isDropdownTrigger = shouldShowDropdown;\n\n if (shouldShowDropdown) {\n this.nextButtonRef = bc;\n }\n\n if (updatedItems.length < this.visibleItemCount) {\n return;\n }\n\n bc.visible = index >= updatedItems.length - this.visibleItemCount;\n });\n\n this.items = updatedItems;\n }\n\n private getItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-breadcrumb-item'));\n }\n\n render() {\n const a11y = a11yHostAttributes(this.hostElement);\n return (\n <Host>\n <ix-dropdown\n id={this.previousDropdownId}\n aria-label={this.ariaLabelPreviousButton}\n trigger={\n this.items?.length > this.visibleItemCount\n ? this.previousButtonRef\n : null\n }\n onShowChanged={({ detail }) => {\n this.isPreviousDropdownExpanded = detail;\n\n const previousButton = this.hostElement.shadowRoot.getElementById(\n this.previousButtonId\n );\n\n // Need to force update previous button to change `aria-expanded`\n if (previousButton) {\n forceUpdate(\n this.hostElement.shadowRoot.getElementById(\n this.previousButtonId\n )\n );\n }\n }}\n >\n {this.items\n .slice(0, this.items.length - this.visibleItemCount)\n .map((item) => {\n const label = item.label ?? item.innerText;\n\n return (\n <ix-dropdown-item\n label={label}\n onClick={() => {\n this.onItemClick(label);\n }}\n onItemClick={(event) => event.stopPropagation()}\n ></ix-dropdown-item>\n );\n })}\n </ix-dropdown>\n {this.items?.length > this.visibleItemCount ? (\n <ix-breadcrumb-item\n id={this.previousButtonId}\n ref={(ref) => (this.previousButtonRef = ref)}\n label=\"...\"\n tabIndex={1}\n onItemClick={(event) => event.stopPropagation()}\n aria-describedby={this.previousDropdownId}\n aria-controls={this.previousDropdownId}\n aria-expanded={a11yBoolean(this.isPreviousDropdownExpanded)}\n class={'previous-button'}\n ></ix-breadcrumb-item>\n ) : null}\n <nav\n class=\"crumb-items\"\n aria-label={a11y['aria-label'] ?? 'breadcrumbs'}\n >\n <ol>\n <slot></slot>\n </ol>\n </nav>\n <ix-dropdown trigger={this.nextButtonRef}>\n {this.nextItems?.map((item) => (\n <ix-dropdown-item\n label={item}\n onClick={(e) => {\n this.nextClick.emit({\n event: e,\n item,\n });\n }}\n onItemClick={(event) => event.stopPropagation()}\n ></ix-dropdown-item>\n ))}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"sJAAA,MAAMA,EAAgB,0sCACtB,MAAAC,EAAeD,ECuBf,IAAIE,EAAa,EACjB,MAAMC,EAAW,CAACC,EAAiB,gBAC1B,GAAGA,KAAUF,M,MAQTG,EAAU,M,mGA+CbC,KAAAC,iBAAmBJ,IACnBG,KAAAE,mBAAqBL,I,sBA1CF,E,eAKG,G,WASd,K,6BAQkB,W,yEAcc,G,gCACV,K,CA9BtC,iBAAAM,GACEH,KAAKI,iB,CAoCC,WAAAC,CAAYC,GAClBN,KAAKO,UAAUC,KAAKF,E,CAGtB,gBAAAG,GACET,KAAKU,iBAAmBC,GAAuB,IAC7CX,KAAKI,oBAGPJ,KAAKU,iBAAiBE,QAAQZ,KAAKa,YAAa,CAC9CC,QAAS,KACTC,UAAW,M,CAIf,iBAAAC,GACEhB,KAAKI,iB,CAGP,oBAAAa,G,OACEC,EAAAlB,KAAKU,oBAAgB,MAAAQ,SAAA,SAAAA,EAAEC,Y,CAGjB,qBAAMf,GACZ,MAAMgB,EAAepB,KAAKqB,WAE1BD,EAAaE,SAAQ,CAACC,EAAIC,KACxB,MAAMC,EACJzB,KAAK0B,UAAUC,SAAW,GAAKP,EAAaO,OAAS,IAAMH,EAE7DD,EAAGK,MAAQ5B,KAAK4B,MAChBL,EAAGM,YAAcT,EAAaO,OAAS,IAAMH,GAASC,EACtDF,EAAGO,kBAAoBL,EAEvB,GAAIA,EAAoB,CACtBzB,KAAK+B,cAAgBR,C,CAGvB,GAAIH,EAAaO,OAAS3B,KAAKgC,iBAAkB,CAC/C,M,CAGFT,EAAGU,QAAUT,GAASJ,EAAaO,OAAS3B,KAAKgC,gBAAgB,IAGnEhC,KAAKkC,MAAQd,C,CAGP,QAAAC,GACN,OAAOc,MAAMC,KAAKpC,KAAKa,YAAYwB,iBAAiB,sB,CAGtD,MAAAC,G,YACE,MAAMC,EAAOC,EAAmBxC,KAAKa,aACrC,OACE4B,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,eAAAE,IAAA,2CACEC,GAAI5C,KAAKE,mBAAkB,aACfF,KAAK6C,wBACjBC,UACE5B,EAAAlB,KAAKkC,SAAK,MAAAhB,SAAA,SAAAA,EAAES,QAAS3B,KAAKgC,iBACtBhC,KAAK+C,kBACL,KAENC,cAAe,EAAGC,aAChBjD,KAAKkD,2BAA6BD,EAElC,MAAME,EAAiBnD,KAAKa,YAAYuC,WAAWC,eACjDrD,KAAKC,kBAIP,GAAIkD,EAAgB,CAClBG,EACEtD,KAAKa,YAAYuC,WAAWC,eAC1BrD,KAAKC,kB,IAMZD,KAAKkC,MACHqB,MAAM,EAAGvD,KAAKkC,MAAMP,OAAS3B,KAAKgC,kBAClCwB,KAAKlD,I,MACJ,MAAMmD,GAAQvC,EAAAZ,EAAKmD,SAAK,MAAAvC,SAAA,EAAAA,EAAIZ,EAAKoD,UAEjC,OACEjB,EAAA,oBACEgB,MAAOA,EACPE,QAAS,KACP3D,KAAKK,YAAYoD,EAAM,EAEzBpD,YAAcuD,GAAUA,EAAMC,mBACZ,OAI3BC,EAAA9D,KAAKkC,SAAK,MAAA4B,SAAA,SAAAA,EAAEnC,QAAS3B,KAAKgC,iBACzBS,EAAA,sBACEG,GAAI5C,KAAKC,iBACT8D,IAAMA,GAAS/D,KAAK+C,kBAAoBgB,EACxCN,MAAM,MACNO,SAAU,EACV3D,YAAcuD,GAAUA,EAAMC,kBAAiB,mBAC7B7D,KAAKE,mBAAkB,gBAC1BF,KAAKE,mBAAkB,gBACvB+D,EAAYjE,KAAKkD,4BAChCgB,MAAO,oBAEP,KACJzB,EAAA,OAAAE,IAAA,2CACEuB,MAAM,cAAa,cACPC,EAAA5B,EAAK,iBAAa,MAAA4B,SAAA,EAAAA,EAAI,eAElC1B,EAAA,MAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,+CAGJF,EAAA,eAAAE,IAAA,2CAAaG,QAAS9C,KAAK+B,gBACxBqC,EAAApE,KAAK0B,aAAS,MAAA0C,SAAA,SAAAA,EAAEZ,KAAKlD,GACpBmC,EAAA,oBACEgB,MAAOnD,EACPqD,QAAUU,IACRrE,KAAKsE,UAAU9D,KAAK,CAClBoD,MAAOS,EACP/D,QACA,EAEJD,YAAcuD,GAAUA,EAAMC,uB"}
@@ -1,2 +0,0 @@
1
- import{r as s,h as t,H as o}from"./p-f87cd962.js";const c=":host{display:block}";const l=c;const e=class{constructor(t){s(this,t);this.contentVisible=false}render(){return t(o,{key:"04dc2496f04f8fd290df6f9583341f04b4dee5cd"},this.contentVisible?t("slot",null):null)}};e.style=l;export{e as ix_flip_tile_content};
2
- //# sourceMappingURL=p-c05a98c8.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["paginationCss","IxPaginationStyle0","Pagination","this","baseButtonConfig","variant","outline","ghost","iconOnly","iconOval","disabled","icon","loading","selected","type","extraClasses","maxCountPages","selectPage","index","selectedPage","count","pageSelected","emit","increase","decrease","getPageButton","baseButtonProps","Object","assign","onClick","ariaAttributes","a11yBoolean","h","BaseButton","renderPageButtons","pagesBeforeOverflow","Math","floor","hasOverflow","hasOverflowStart","hasOverflowEnd","pageButtons","start","end","min","pageCount","max","push","i","class","render","Host","key","advanced","i18nPage","value","onChange","e","Number","parseInt","target","i18nOf","showItemCount","i18nItems","hideListHeader","i18nPlaceholder","i18nSelectListHeader","itemCount","onValueChange","Array","isArray","detail","itemCountChanged","label"],"sources":["src/components/pagination/pagination.scss?tag=ix-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2022 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 'legacy/components/forms';\n@import '../icon-button/icon-button';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n &,\n .advanced-pagination,\n .item-count {\n display: inline-flex;\n align-items: center;\n }\n\n .basic-pagination {\n padding: 0 0.125rem;\n }\n\n .advanced-pagination {\n padding: 0 $medium-space;\n }\n\n .page-selection {\n width: 4.125rem;\n text-align: center;\n margin: 0 $small-space;\n -moz-appearance: textfield;\n -webkit-appearance: textfield;\n }\n\n .page-buttons {\n white-space: nowrap;\n }\n\n .total-count {\n white-space: nowrap;\n }\n\n .item-count {\n flex-grow: 1;\n justify-content: flex-end;\n margin-inline-start: $large-space;\n\n ix-select {\n width: 4.5rem;\n margin-inline-start: $large-space;\n }\n }\n\n button {\n width: auto;\n min-width: 2rem;\n height: 2rem;\n padding: 0 0.5rem;\n }\n\n button + button {\n margin-inline-start: 0.125rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @since 1.5.0\n */\n@Component({\n tag: 'ix-pagination',\n styleUrl: 'pagination.scss',\n shadow: true,\n})\nexport class Pagination {\n private readonly baseButtonConfig: BaseButtonProps = {\n variant: 'secondary',\n outline: false,\n ghost: true,\n iconOnly: true,\n iconOval: false,\n disabled: false,\n icon: '',\n loading: false,\n selected: false,\n type: 'button',\n extraClasses: {\n ['w-auto']: true,\n },\n };\n\n private readonly maxCountPages = 7;\n\n @Element() hostElement!: HTMLIxPaginationElement;\n\n /**\n * Advanced mode\n */\n @Prop() advanced = false;\n\n /**\n * Number of items shown at once.\n * Can only be changed in advaced mode.\n */\n @Prop() itemCount = 15;\n\n /**\n * Show item count in advanced mode\n */\n @Prop() showItemCount = true;\n\n /**\n * Total number of pages\n */\n @Prop() count: number;\n\n /**\n * Zero based index of currently selected page\n */\n @Prop({ mutable: true }) selectedPage = 0;\n\n /**\n * i18n\n */\n @Prop() i18nPage = 'Page';\n\n /**\n * i18n\n */\n @Prop() i18nOf = 'of';\n\n /**\n /**\n * i18n\n */\n @Prop() i18nItems = 'Items';\n\n /**\n * Page selection event\n */\n @Event() pageSelected!: EventEmitter<number>;\n\n /**\n * Item count change event\n */\n @Event() itemCountChanged!: EventEmitter<number>;\n\n private selectPage(index: number) {\n if (index < 0) {\n this.selectedPage = 0;\n } else if (index > this.count - 1) {\n this.selectedPage = this.count - 1;\n } else {\n this.selectedPage = index;\n }\n\n this.pageSelected.emit(this.selectedPage);\n }\n\n private increase() {\n if (this.selectedPage === this.count - 1) {\n return;\n }\n\n this.selectPage(this.selectedPage + 1);\n }\n\n private decrease() {\n if (this.selectedPage === 0) {\n return;\n }\n\n this.selectPage(this.selectedPage - 1);\n }\n\n private getPageButton(index: number) {\n const baseButtonProps: BaseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => this.selectPage(index),\n selected: this.selectedPage === index,\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.selectedPage === index),\n },\n };\n\n return <BaseButton {...baseButtonProps}>{index + 1}</BaseButton>;\n }\n\n private renderPageButtons() {\n const pagesBeforeOverflow = Math.floor(this.maxCountPages / 2);\n const hasOverflow = this.count > this.maxCountPages;\n const hasOverflowStart =\n hasOverflow && this.selectedPage > pagesBeforeOverflow;\n const hasOverflowEnd =\n hasOverflow && this.selectedPage < this.count - pagesBeforeOverflow - 1;\n const pageButtons = [];\n\n let start = 0;\n let end = Math.min(this.count, this.maxCountPages);\n let pageCount = Math.floor((this.maxCountPages - 4) / 2);\n\n if (hasOverflowStart) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowEnd) {\n this.selectPage(this.selectedPage - Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.count - this.maxCountPages);\n }\n },\n };\n pageButtons.push(this.getPageButton(0));\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n\n if (hasOverflowEnd) {\n start = this.count - this.maxCountPages + 2;\n } else {\n start = this.count - this.maxCountPages + 2;\n end = this.count;\n }\n }\n\n if (hasOverflowEnd) {\n if (hasOverflowStart) {\n start = this.selectedPage - pageCount;\n end = this.selectedPage + pageCount + 1;\n } else {\n end = this.maxCountPages - 2;\n }\n }\n\n for (let i = start; i < end; i++) {\n pageButtons.push(this.getPageButton(i));\n }\n\n if (hasOverflowEnd) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowStart) {\n this.selectPage(this.selectedPage + Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.maxCountPages - 1);\n }\n },\n };\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n pageButtons.push(this.getPageButton(this.count - 1));\n }\n\n return <span class=\"page-buttons\">{pageButtons}</span>;\n }\n\n render() {\n return (\n <Host>\n <ix-icon-button\n disabled={!this.count || this.selectedPage === 0}\n ghost\n icon={'chevron-left-small'}\n onClick={() => this.decrease()}\n ></ix-icon-button>\n\n {this.advanced ? (\n <div class=\"advanced-pagination\">\n <ix-typography variant=\"default\">{this.i18nPage}</ix-typography>\n <input\n class=\"form-control page-selection\"\n type=\"number\"\n min=\"1\"\n max={this.count}\n value={this.selectedPage + 1}\n onChange={(e) => {\n const index = Number.parseInt(e.target['value']);\n this.selectPage(index - 1);\n }}\n />\n <span class=\"total-count\">\n <ix-typography variant=\"default\">\n {this.i18nOf} {this.count}\n </ix-typography>\n </span>\n </div>\n ) : (\n <span class=\"basic-pagination\">{this.renderPageButtons()} </span>\n )}\n\n <ix-icon-button\n disabled={!this.count || this.selectedPage === this.count - 1}\n ghost\n icon={'chevron-right-small'}\n onClick={() => this.increase()}\n ></ix-icon-button>\n\n {this.advanced && this.showItemCount ? (\n <span class=\"item-count\">\n <ix-typography variant=\"default\">{this.i18nItems}</ix-typography>\n <ix-select\n hideListHeader\n i18nPlaceholder=\"\"\n i18nSelectListHeader=\"\"\n value={`${this.itemCount}`}\n onValueChange={(e) => {\n const count = Number.parseInt(\n Array.isArray(e.detail) ? e.detail[0] : e.detail\n );\n\n this.itemCountChanged.emit(count);\n }}\n >\n <ix-select-item label=\"10\" value=\"10\"></ix-select-item>\n <ix-select-item label=\"15\" value=\"15\"></ix-select-item>\n <ix-select-item label=\"20\" value=\"20\"></ix-select-item>\n <ix-select-item label=\"40\" value=\"40\"></ix-select-item>\n <ix-select-item label=\"100\" value=\"100\"></ix-select-item>\n </ix-select>\n </span>\n ) : (\n ''\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- class s{constructor(s,i,t){this.wrap=false;this.keyListenerBind=this.keyListener.bind(this);this.items=s;this.container=i;this.callback=t;this.container.addEventListener("keydown",this.keyListenerBind)}keyListener(s){const i=this.items.indexOf(document.activeElement);if(i<0){return}switch(s.key){case"ArrowDown":if(i<this.items.length-1){s.preventDefault();if(this.callback){this.callback(i+1)}}else if(this.wrap){s.preventDefault();if(this.callback){this.callback(0)}}break;case"ArrowUp":{if(i>0){s.preventDefault();if(this.callback){this.callback(i-1)}}else if(this.wrap&&i===0){s.preventDefault();if(this.callback){this.callback(this.items.length-1)}}}break}}disconnect(){this.container.removeEventListener("keydown",this.keyListenerBind)}}export{s as A};
2
- //# sourceMappingURL=p-c09553f3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ArrowFocusController","constructor","items","container","callback","this","wrap","keyListenerBind","keyListener","bind","addEventListener","e","activeIndex","indexOf","document","activeElement","key","length","preventDefault","disconnect","removeEventListener"],"sources":["src/components/utils/focus.ts"],"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\nexport class ArrowFocusController {\n public items: Element[];\n\n container: HTMLElement;\n wrap = false;\n callback: any;\n\n private keyListenerBind = this.keyListener.bind(this);\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\n this.container.addEventListener('keydown', this.keyListenerBind);\n }\n\n private keyListener(e) {\n const activeIndex = this.items.indexOf(document.activeElement);\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 if (this.callback) {\n this.callback(activeIndex + 1);\n }\n } else if (this.wrap) {\n e.preventDefault();\n if (this.callback) {\n this.callback(0);\n }\n }\n break;\n\n case 'ArrowUp':\n {\n if (activeIndex > 0) {\n e.preventDefault();\n if (this.callback) {\n this.callback(activeIndex - 1);\n }\n } else if (this.wrap && activeIndex === 0) {\n e.preventDefault();\n if (this.callback) {\n this.callback(this.items.length - 1);\n }\n }\n }\n break;\n }\n }\n\n disconnect() {\n this.container.removeEventListener('keydown', this.keyListenerBind);\n }\n}\n"],"mappings":"MASaA,EASX,WAAAC,CACEC,EACAC,EACAC,GARFC,KAAAC,KAAO,MAGCD,KAAAE,gBAAkBF,KAAKG,YAAYC,KAAKJ,MAO9CA,KAAKH,MAAQA,EACbG,KAAKF,UAAYA,EACjBE,KAAKD,SAAWA,EAEhBC,KAAKF,UAAUO,iBAAiB,UAAWL,KAAKE,gB,CAG1C,WAAAC,CAAYG,GAClB,MAAMC,EAAcP,KAAKH,MAAMW,QAAQC,SAASC,eAEhD,GAAIH,EAAc,EAAG,CACnB,M,CAGF,OAAQD,EAAEK,KACR,IAAK,YACH,GAAIJ,EAAcP,KAAKH,MAAMe,OAAS,EAAG,CACvCN,EAAEO,iBACF,GAAIb,KAAKD,SAAU,CACjBC,KAAKD,SAASQ,EAAc,E,OAEzB,GAAIP,KAAKC,KAAM,CACpBK,EAAEO,iBACF,GAAIb,KAAKD,SAAU,CACjBC,KAAKD,SAAS,E,EAGlB,MAEF,IAAK,UACH,CACE,GAAIQ,EAAc,EAAG,CACnBD,EAAEO,iBACF,GAAIb,KAAKD,SAAU,CACjBC,KAAKD,SAASQ,EAAc,E,OAEzB,GAAIP,KAAKC,MAAQM,IAAgB,EAAG,CACzCD,EAAEO,iBACF,GAAIb,KAAKD,SAAU,CACjBC,KAAKD,SAASC,KAAKH,MAAMe,OAAS,E,GAIxC,M,CAIN,UAAAE,GACEd,KAAKF,UAAUiB,oBAAoB,UAAWf,KAAKE,gB"}