@siemens/ix 0.0.0-20240522073858 → 0.0.0-pr-1318-20240627080522

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 (1382) hide show
  1. package/components/a11y.js +3 -2
  2. package/components/a11y.js.map +1 -1
  3. package/components/application-header.js +12 -4
  4. package/components/application-header.js.map +1 -1
  5. package/components/avatar.js +6 -1
  6. package/components/avatar.js.map +1 -1
  7. package/components/breadcrumb-item.js +1 -1
  8. package/components/breadcrumb-item.js.map +1 -1
  9. package/components/button.js +1 -1
  10. package/components/button.js.map +1 -1
  11. package/components/card-accordion.js +1 -1
  12. package/components/card-accordion.js.map +1 -1
  13. package/components/card-content.js +2 -2
  14. package/components/card-content.js.map +1 -1
  15. package/components/card-title.js +1 -1
  16. package/components/card.js +1 -1
  17. package/components/card.js.map +1 -1
  18. package/components/col.js +1 -1
  19. package/components/col.js.map +1 -1
  20. package/components/date-picker.js +5 -5
  21. package/components/date-picker.js.map +1 -1
  22. package/components/date-time-card.js +3 -3
  23. package/components/date-time-card.js.map +1 -1
  24. package/components/divider.js +1 -1
  25. package/components/dropdown-item.js +4 -4
  26. package/components/dropdown-item.js.map +1 -1
  27. package/components/dropdown.js +17 -10
  28. package/components/dropdown.js.map +1 -1
  29. package/components/field-label.js +127 -0
  30. package/components/field-label.js.map +1 -0
  31. package/components/field-wrapper.js +97 -0
  32. package/components/field-wrapper.js.map +1 -0
  33. package/components/filter-chip.js +2 -2
  34. package/components/filter-chip.js.map +1 -1
  35. package/components/group-context-menu.js +1 -1
  36. package/components/group-item.js +3 -3
  37. package/components/group-item.js.map +1 -1
  38. package/components/helper-text-util.js +48 -0
  39. package/components/helper-text-util.js.map +1 -0
  40. package/components/icon-button.js +2 -2
  41. package/components/icon-button.js.map +1 -1
  42. package/components/index.js +19 -4
  43. package/components/index.js.map +1 -1
  44. package/components/ix-action-card.js +1 -1
  45. package/components/ix-action-card.js.map +1 -1
  46. package/components/ix-application-sidebar.js +2 -2
  47. package/components/ix-application-sidebar.js.map +1 -1
  48. package/components/ix-application-switch-modal.js +2 -2
  49. package/components/ix-application-switch-modal.js.map +1 -1
  50. package/components/ix-application.js +4 -4
  51. package/components/ix-application.js.map +1 -1
  52. package/components/ix-basic-navigation.js +3 -3
  53. package/components/ix-basic-navigation.js.map +1 -1
  54. package/components/ix-blind.js +1 -1
  55. package/components/ix-blind.js.map +1 -1
  56. package/components/ix-breadcrumb.js +3 -3
  57. package/components/ix-breadcrumb.js.map +1 -1
  58. package/components/ix-card-list.js +5 -5
  59. package/components/ix-card-list.js.map +1 -1
  60. package/components/ix-category-filter.js +8 -5
  61. package/components/ix-category-filter.js.map +1 -1
  62. package/components/ix-checkbox-group.d.ts +11 -0
  63. package/components/ix-checkbox-group.js +105 -0
  64. package/components/ix-checkbox-group.js.map +1 -0
  65. package/components/ix-checkbox.d.ts +11 -0
  66. package/components/ix-checkbox.js +141 -0
  67. package/components/ix-checkbox.js.map +1 -0
  68. package/components/ix-chip.js +5 -5
  69. package/components/ix-chip.js.map +1 -1
  70. package/components/ix-content.js +4 -4
  71. package/components/ix-content.js.map +1 -1
  72. package/components/ix-css-grid-item.js +1 -1
  73. package/components/ix-custom-field.d.ts +11 -0
  74. package/components/ix-custom-field.js +116 -0
  75. package/components/ix-custom-field.js.map +1 -0
  76. package/components/ix-date-dropdown.js +4 -4
  77. package/components/ix-date-dropdown.js.map +1 -1
  78. package/components/{ix-form-field.d.ts → ix-date-field.d.ts} +4 -4
  79. package/components/ix-date-field.js +351 -0
  80. package/components/ix-date-field.js.map +1 -0
  81. package/components/ix-datetime-picker.js +2 -2
  82. package/components/ix-datetime-picker.js.map +1 -1
  83. package/components/ix-drawer.js +3 -3
  84. package/components/ix-drawer.js.map +1 -1
  85. package/components/ix-dropdown-button.js +3 -3
  86. package/components/ix-dropdown-button.js.map +1 -1
  87. package/components/ix-dropdown-header.js +2 -2
  88. package/components/ix-dropdown-header.js.map +1 -1
  89. package/components/ix-dropdown-quick-actions.js +1 -1
  90. package/components/ix-empty-state.js +2 -2
  91. package/components/ix-empty-state.js.map +1 -1
  92. package/components/ix-event-list-item.js +5 -5
  93. package/components/ix-event-list-item.js.map +1 -1
  94. package/components/ix-event-list.js +3 -3
  95. package/components/ix-event-list.js.map +1 -1
  96. package/components/ix-expanding-search.js +5 -5
  97. package/components/ix-expanding-search.js.map +1 -1
  98. package/components/ix-field-label.d.ts +11 -0
  99. package/components/ix-field-label.js +8 -0
  100. package/components/ix-field-label.js.map +1 -0
  101. package/components/ix-field-wrapper.d.ts +11 -0
  102. package/components/ix-field-wrapper.js +8 -0
  103. package/components/ix-field-wrapper.js.map +1 -0
  104. package/components/ix-flip-tile-content.js +1 -1
  105. package/components/ix-flip-tile.js +5 -5
  106. package/components/ix-flip-tile.js.map +1 -1
  107. package/components/ix-group.js +8 -8
  108. package/components/ix-helper-text.d.ts +11 -0
  109. package/components/ix-helper-text.js +97 -0
  110. package/components/ix-helper-text.js.map +1 -0
  111. package/components/ix-icon-toggle-button.js +2 -2
  112. package/components/ix-icon-toggle-button.js.map +1 -1
  113. package/components/ix-input-group.js +2 -2
  114. package/components/ix-input-group.js.map +1 -1
  115. package/components/ix-key-value-list.js +1 -1
  116. package/components/ix-key-value.js +1 -1
  117. package/components/ix-key-value.js.map +1 -1
  118. package/components/ix-kpi.js +4 -4
  119. package/components/ix-kpi.js.map +1 -1
  120. package/components/ix-layout-form.d.ts +11 -0
  121. package/components/ix-layout-form.js +113 -0
  122. package/components/ix-layout-form.js.map +1 -0
  123. package/components/ix-link-button.js +3 -3
  124. package/components/ix-map-navigation.js +3 -3
  125. package/components/ix-map-navigation.js.map +1 -1
  126. package/components/ix-menu-about-item.js +1 -1
  127. package/components/ix-menu-about-news.js +5 -5
  128. package/components/ix-menu-about-news.js.map +1 -1
  129. package/components/ix-menu-about.js +1 -1
  130. package/components/ix-menu-avatar.js +3 -3
  131. package/components/ix-menu-avatar.js.map +1 -1
  132. package/components/ix-menu-category.js +9 -6
  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 +12 -12
  136. package/components/ix-menu.js.map +1 -1
  137. package/components/ix-message-bar.js +2 -2
  138. package/components/ix-message-bar.js.map +1 -1
  139. package/components/ix-modal-example.js +1 -1
  140. package/components/ix-modal-footer.js +2 -2
  141. package/components/ix-modal-footer.js.map +1 -1
  142. package/components/ix-modal-loading.js +1 -1
  143. package/components/ix-modal.js +3 -3
  144. package/components/ix-number-field.d.ts +11 -0
  145. package/components/ix-number-field.js +217 -0
  146. package/components/ix-number-field.js.map +1 -0
  147. package/components/ix-pagination.js +35 -17
  148. package/components/ix-pagination.js.map +1 -1
  149. package/components/ix-pane-layout.js +2 -2
  150. package/components/ix-pane-layout.js.map +1 -1
  151. package/components/ix-pane.js +7 -7
  152. package/components/ix-pane.js.map +1 -1
  153. package/components/ix-pill.js +5 -5
  154. package/components/ix-pill.js.map +1 -1
  155. package/components/ix-playground-internal.js +1 -1
  156. package/components/ix-playground-internal.js.map +1 -1
  157. package/components/ix-push-card.js +1 -1
  158. package/components/ix-radio-group.d.ts +11 -0
  159. package/components/ix-radio-group.js +169 -0
  160. package/components/ix-radio-group.js.map +1 -0
  161. package/components/ix-radio.d.ts +11 -0
  162. package/components/ix-radio.js +115 -0
  163. package/components/ix-radio.js.map +1 -0
  164. package/components/ix-slider.js +7 -7
  165. package/components/ix-slider.js.map +1 -1
  166. package/components/ix-split-button-item.js +1 -1
  167. package/components/ix-split-button.js +4 -2
  168. package/components/ix-split-button.js.map +1 -1
  169. package/components/ix-text-field.d.ts +11 -0
  170. package/components/ix-text-field.js +223 -0
  171. package/components/ix-text-field.js.map +1 -0
  172. package/components/ix-textarea-field.d.ts +11 -0
  173. package/components/ix-textarea-field.js +177 -0
  174. package/components/ix-textarea-field.js.map +1 -0
  175. package/components/ix-tile.js +5 -5
  176. package/components/ix-tile.js.map +1 -1
  177. package/components/ix-toast-container.js +3 -3
  178. package/components/ix-toast-container.js.map +1 -1
  179. package/components/ix-toggle-button.js +3 -3
  180. package/components/ix-toggle-button.js.map +1 -1
  181. package/components/ix-toggle.js +43 -5
  182. package/components/ix-toggle.js.map +1 -1
  183. package/components/ix-tree.js +1 -1
  184. package/components/ix-upload.js +4 -4
  185. package/components/ix-upload.js.map +1 -1
  186. package/components/ix-validation-tooltip.js +2 -2
  187. package/components/ix-workflow-step.js +5 -5
  188. package/components/ix-workflow-step.js.map +1 -1
  189. package/components/ix-workflow-steps.js +2 -2
  190. package/components/ix-workflow-steps.js.map +1 -1
  191. package/components/layout-grid.js +2 -2
  192. package/components/make-ref.js +5 -0
  193. package/components/make-ref.js.map +1 -1
  194. package/components/map-navigation-overlay.js +3 -3
  195. package/components/map-navigation-overlay.js.map +1 -1
  196. package/components/menu-avatar-item.js +2 -2
  197. package/components/menu-avatar-item.js.map +1 -1
  198. package/components/menu-expand-icon.js +2 -2
  199. package/components/menu-expand-icon.js.map +1 -1
  200. package/components/menu-item.js +4 -4
  201. package/components/menu-item.js.map +1 -1
  202. package/components/menu-tabs-fc.js +2 -2
  203. package/components/menu-tabs-fc.js.map +1 -1
  204. package/components/modal-content.js +2 -2
  205. package/components/modal-content.js.map +1 -1
  206. package/components/modal-header.js +2 -2
  207. package/components/modal-header.js.map +1 -1
  208. package/components/row.js +1 -1
  209. package/components/select-item.js +1 -1
  210. package/components/select.js +172 -58
  211. package/components/select.js.map +1 -1
  212. package/components/spinner.js +2 -2
  213. package/components/spinner.js.map +1 -1
  214. package/components/tab-item.js +4 -4
  215. package/components/tab-item.js.map +1 -1
  216. package/components/tabs.js +3 -3
  217. package/components/tabs.js.map +1 -1
  218. package/components/text-field.util.js +167 -0
  219. package/components/text-field.util.js.map +1 -0
  220. package/components/time-picker.js +4 -4
  221. package/components/time-picker.js.map +1 -1
  222. package/components/toast.js +3 -3
  223. package/components/toast.js.map +1 -1
  224. package/components/tooltip.js +7 -7
  225. package/components/tooltip.js.map +1 -1
  226. package/components/tree-item.js +5 -5
  227. package/components/tree-item.js.map +1 -1
  228. package/components/typography.js +1 -1
  229. package/components/typography.js.map +1 -1
  230. package/components/validation.js +112 -0
  231. package/components/validation.js.map +1 -0
  232. package/dist/cjs/{a11y-d3ce56d1.js → a11y-32046b56.js} +4 -3
  233. package/dist/cjs/a11y-32046b56.js.map +1 -0
  234. package/dist/cjs/app-globals-5cfdf2a0.js.map +1 -1
  235. package/dist/cjs/{base-button-7c45a6c4.js → base-button-16d4fadf.js} +2 -2
  236. package/dist/cjs/{base-button-7c45a6c4.js.map → base-button-16d4fadf.js.map} +1 -1
  237. package/dist/cjs/{base-icon-button-ac2fcf4b.js → base-icon-button-aba2ddbf.js} +3 -3
  238. package/dist/cjs/{base-icon-button-ac2fcf4b.js.map → base-icon-button-aba2ddbf.js.map} +1 -1
  239. package/dist/cjs/dropdown-controller-403dc7fa.js +147 -0
  240. package/dist/cjs/dropdown-controller-403dc7fa.js.map +1 -0
  241. package/dist/cjs/helper-text-util-9f617ef2.js +40 -0
  242. package/dist/cjs/helper-text-util-9f617ef2.js.map +1 -0
  243. package/dist/cjs/index-0f6297c8.js +2044 -0
  244. package/dist/cjs/index-0f6297c8.js.map +1 -0
  245. package/dist/cjs/index-762a29a3.js +24 -0
  246. package/dist/cjs/index-762a29a3.js.map +1 -0
  247. package/dist/cjs/index.cjs.js +16 -0
  248. package/dist/cjs/index.cjs.js.map +1 -1
  249. package/dist/cjs/ix-action-card.cjs.entry.js +2 -2
  250. package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
  251. package/dist/cjs/ix-application-header.cjs.entry.js +13 -5
  252. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  253. package/dist/cjs/ix-application-sidebar.cjs.entry.js +3 -3
  254. package/dist/cjs/ix-application-sidebar.cjs.entry.js.map +1 -1
  255. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +3 -3
  256. package/dist/cjs/ix-application-switch-modal.cjs.entry.js.map +1 -1
  257. package/dist/cjs/ix-application.cjs.entry.js +5 -5
  258. package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
  259. package/dist/cjs/ix-avatar_2.cjs.entry.js +11 -6
  260. package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
  261. package/dist/cjs/ix-basic-navigation.cjs.entry.js +4 -4
  262. package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
  263. package/dist/cjs/ix-blind.cjs.entry.js +3 -3
  264. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  265. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +4 -4
  266. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  267. package/dist/cjs/ix-breadcrumb.cjs.entry.js +5 -5
  268. package/dist/cjs/ix-breadcrumb.cjs.entry.js.map +1 -1
  269. package/dist/cjs/ix-button.cjs.entry.js +3 -3
  270. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  271. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +3 -3
  272. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  273. package/dist/cjs/ix-card-list.cjs.entry.js +6 -6
  274. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
  275. package/dist/cjs/ix-card_2.cjs.entry.js +4 -4
  276. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  277. package/dist/cjs/ix-category-filter.cjs.entry.js +10 -7
  278. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  279. package/dist/cjs/ix-checkbox-group.cjs.entry.js +56 -0
  280. package/dist/cjs/ix-checkbox-group.cjs.entry.js.map +1 -0
  281. package/dist/cjs/ix-checkbox.cjs.entry.js +114 -0
  282. package/dist/cjs/ix-checkbox.cjs.entry.js.map +1 -0
  283. package/dist/cjs/ix-chip.cjs.entry.js +6 -6
  284. package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
  285. package/dist/cjs/ix-col_4.cjs.entry.js +11 -11
  286. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  287. package/dist/cjs/ix-content-header.cjs.entry.js +1 -1
  288. package/dist/cjs/ix-content.cjs.entry.js +5 -5
  289. package/dist/cjs/ix-content.cjs.entry.js.map +1 -1
  290. package/dist/cjs/ix-css-grid-item.cjs.entry.js +2 -2
  291. package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
  292. package/dist/cjs/ix-custom-field.cjs.entry.js +65 -0
  293. package/dist/cjs/ix-custom-field.cjs.entry.js.map +1 -0
  294. package/dist/cjs/ix-date-dropdown.cjs.entry.js +5 -5
  295. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  296. package/dist/cjs/ix-date-field.cjs.entry.js +255 -0
  297. package/dist/cjs/ix-date-field.cjs.entry.js.map +1 -0
  298. package/dist/cjs/ix-date-time-card.cjs.entry.js +3 -3
  299. package/dist/cjs/ix-date-time-card.cjs.entry.js.map +1 -1
  300. package/dist/cjs/ix-datetime-picker.cjs.entry.js +3 -3
  301. package/dist/cjs/ix-datetime-picker.cjs.entry.js.map +1 -1
  302. package/dist/cjs/ix-divider.cjs.entry.js +2 -2
  303. package/dist/cjs/ix-drawer.cjs.entry.js +4 -4
  304. package/dist/cjs/ix-drawer.cjs.entry.js.map +1 -1
  305. package/dist/cjs/ix-dropdown-button.cjs.entry.js +4 -4
  306. package/dist/cjs/ix-dropdown-button.cjs.entry.js.map +1 -1
  307. package/dist/cjs/ix-dropdown-header.cjs.entry.js +3 -3
  308. package/dist/cjs/ix-dropdown-header.cjs.entry.js.map +1 -1
  309. package/dist/cjs/ix-dropdown-item.cjs.entry.js +5 -5
  310. package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
  311. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +2 -2
  312. package/dist/cjs/ix-dropdown.cjs.entry.js +28 -160
  313. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  314. package/dist/cjs/ix-empty-state.cjs.entry.js +3 -3
  315. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  316. package/dist/cjs/ix-event-list-item.cjs.entry.js +7 -7
  317. package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
  318. package/dist/cjs/ix-event-list.cjs.entry.js +4 -4
  319. package/dist/cjs/ix-event-list.cjs.entry.js.map +1 -1
  320. package/dist/cjs/ix-expanding-search.cjs.entry.js +6 -6
  321. package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
  322. package/dist/cjs/{ix-tooltip.cjs.entry.js → ix-field-label_3.cjs.entry.js} +151 -10
  323. package/dist/cjs/ix-field-label_3.cjs.entry.js.map +1 -0
  324. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +4 -4
  325. package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
  326. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +2 -2
  327. package/dist/cjs/ix-flip-tile.cjs.entry.js +6 -6
  328. package/dist/cjs/ix-flip-tile.cjs.entry.js.map +1 -1
  329. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +5 -5
  330. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
  331. package/dist/cjs/ix-group.cjs.entry.js +9 -9
  332. package/dist/cjs/ix-helper-text.cjs.entry.js +70 -0
  333. package/dist/cjs/ix-helper-text.cjs.entry.js.map +1 -0
  334. package/dist/cjs/ix-icon-button_2.cjs.entry.js +8 -8
  335. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  336. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +6 -6
  337. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  338. package/dist/cjs/ix-input-group.cjs.entry.js +3 -3
  339. package/dist/cjs/ix-input-group.cjs.entry.js.map +1 -1
  340. package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
  341. package/dist/cjs/ix-key-value.cjs.entry.js +2 -2
  342. package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -1
  343. package/dist/cjs/ix-kpi.cjs.entry.js +5 -5
  344. package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
  345. package/dist/cjs/ix-layout-form.cjs.entry.js +94 -0
  346. package/dist/cjs/ix-layout-form.cjs.entry.js.map +1 -0
  347. package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
  348. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +4 -4
  349. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js.map +1 -1
  350. package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
  351. package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
  352. package/dist/cjs/ix-menu-about-item.cjs.entry.js +2 -2
  353. package/dist/cjs/ix-menu-about-news.cjs.entry.js +6 -6
  354. package/dist/cjs/ix-menu-about-news.cjs.entry.js.map +1 -1
  355. package/dist/cjs/ix-menu-about.cjs.entry.js +3 -3
  356. package/dist/cjs/ix-menu-avatar.cjs.entry.js +4 -4
  357. package/dist/cjs/ix-menu-avatar.cjs.entry.js.map +1 -1
  358. package/dist/cjs/ix-menu-category.cjs.entry.js +10 -7
  359. package/dist/cjs/ix-menu-category.cjs.entry.js.map +1 -1
  360. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +5 -5
  361. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js.map +1 -1
  362. package/dist/cjs/ix-menu-item.cjs.entry.js +6 -6
  363. package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
  364. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +2 -2
  365. package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
  366. package/dist/cjs/ix-menu.cjs.entry.js +13 -13
  367. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  368. package/dist/cjs/ix-message-bar.cjs.entry.js +3 -3
  369. package/dist/cjs/ix-message-bar.cjs.entry.js.map +1 -1
  370. package/dist/cjs/ix-modal-content_2.cjs.entry.js +5 -5
  371. package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
  372. package/dist/cjs/ix-modal-example.cjs.entry.js +2 -2
  373. package/dist/cjs/ix-modal-footer.cjs.entry.js +3 -3
  374. package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
  375. package/dist/cjs/ix-modal-loading.cjs.entry.js +2 -2
  376. package/dist/cjs/ix-modal.cjs.entry.js +6 -6
  377. package/dist/cjs/ix-number-field.cjs.entry.js +148 -0
  378. package/dist/cjs/ix-number-field.cjs.entry.js.map +1 -0
  379. package/dist/cjs/ix-pagination.cjs.entry.js +6 -6
  380. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  381. package/dist/cjs/ix-pane-layout.cjs.entry.js +3 -3
  382. package/dist/cjs/ix-pane-layout.cjs.entry.js.map +1 -1
  383. package/dist/cjs/ix-pane.cjs.entry.js +8 -8
  384. package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
  385. package/dist/cjs/ix-pill.cjs.entry.js +6 -6
  386. package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
  387. package/dist/cjs/ix-playground-internal.cjs.entry.js +2 -2
  388. package/dist/cjs/ix-playground-internal.cjs.entry.js.map +1 -1
  389. package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
  390. package/dist/cjs/ix-radio-group.cjs.entry.js +116 -0
  391. package/dist/cjs/ix-radio-group.cjs.entry.js.map +1 -0
  392. package/dist/cjs/ix-radio.cjs.entry.js +96 -0
  393. package/dist/cjs/ix-radio.cjs.entry.js.map +1 -0
  394. package/dist/cjs/ix-select.cjs.entry.js +126 -46
  395. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  396. package/dist/cjs/ix-slider.cjs.entry.js +10 -10
  397. package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
  398. package/dist/cjs/ix-split-button-item.cjs.entry.js +3 -3
  399. package/dist/cjs/ix-split-button.cjs.entry.js +4 -3
  400. package/dist/cjs/ix-split-button.cjs.entry.js.map +1 -1
  401. package/dist/cjs/ix-tab-item_2.cjs.entry.js +8 -8
  402. package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
  403. package/dist/cjs/ix-text-field.cjs.entry.js +151 -0
  404. package/dist/cjs/ix-text-field.cjs.entry.js.map +1 -0
  405. package/dist/cjs/ix-textarea-field.cjs.entry.js +118 -0
  406. package/dist/cjs/ix-textarea-field.cjs.entry.js.map +1 -0
  407. package/dist/cjs/ix-tile.cjs.entry.js +6 -6
  408. package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
  409. package/dist/cjs/ix-time-picker.cjs.entry.js +5 -5
  410. package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
  411. package/dist/cjs/ix-toast-container.cjs.entry.js +4 -4
  412. package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
  413. package/dist/cjs/ix-toast.cjs.entry.js +4 -4
  414. package/dist/cjs/ix-toast.cjs.entry.js.map +1 -1
  415. package/dist/cjs/ix-toggle-button.cjs.entry.js +6 -6
  416. package/dist/cjs/ix-toggle-button.cjs.entry.js.map +1 -1
  417. package/dist/cjs/ix-toggle.cjs.entry.js +42 -5
  418. package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
  419. package/dist/cjs/ix-tree-item.cjs.entry.js +6 -6
  420. package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
  421. package/dist/cjs/ix-tree.cjs.entry.js +2 -2
  422. package/dist/cjs/ix-typography.cjs.entry.js +2 -2
  423. package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
  424. package/dist/cjs/ix-upload.cjs.entry.js +5 -5
  425. package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
  426. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
  427. package/dist/cjs/ix-workflow-step.cjs.entry.js +6 -6
  428. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  429. package/dist/cjs/ix-workflow-steps.cjs.entry.js +3 -3
  430. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  431. package/dist/cjs/{listener-d27acb41.js → listener-0881dc51.js} +2 -2
  432. package/dist/cjs/{listener-d27acb41.js.map → listener-0881dc51.js.map} +1 -1
  433. package/dist/cjs/loader.cjs.js +2 -2
  434. package/dist/cjs/{make-ref-c25629b7.js → make-ref-01530e5a.js} +6 -1
  435. package/dist/cjs/make-ref-01530e5a.js.map +1 -0
  436. package/dist/cjs/{menu-tabs-fc-194c3ba9.js → menu-tabs-fc-f6b706e3.js} +4 -4
  437. package/dist/cjs/{menu-tabs-fc-194c3ba9.js.map → menu-tabs-fc-f6b706e3.js.map} +1 -1
  438. package/dist/cjs/siemens-ix.cjs.js +10 -10
  439. package/dist/cjs/siemens-ix.cjs.js.map +1 -1
  440. package/dist/cjs/text-field.util-d7c5c1cd.js +179 -0
  441. package/dist/cjs/text-field.util-d7c5c1cd.js.map +1 -0
  442. package/dist/cjs/validation-c5a41d68.js +117 -0
  443. package/dist/cjs/validation-c5a41d68.js.map +1 -0
  444. package/dist/collection/collection-manifest.json +15 -3
  445. package/dist/collection/components/action-card/action-card.css +6 -0
  446. package/dist/collection/components/action-card/action-card.js +1 -1
  447. package/dist/collection/components/application/application.css +6 -0
  448. package/dist/collection/components/application/application.js +3 -3
  449. package/dist/collection/components/application-header/application-header.css +6 -0
  450. package/dist/collection/components/application-header/application-header.js +11 -3
  451. package/dist/collection/components/application-header/application-header.js.map +1 -1
  452. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.css +6 -0
  453. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
  454. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  455. package/dist/collection/components/application-sidebar/application-sidebar.css +7 -2
  456. package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
  457. package/dist/collection/components/avatar/avatar.js +6 -1
  458. package/dist/collection/components/avatar/avatar.js.map +1 -1
  459. package/dist/collection/components/basic-navigation/basic-navigation.css +6 -0
  460. package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
  461. package/dist/collection/components/blind/blind.css +6 -0
  462. package/dist/collection/components/blind/blind.js +1 -1
  463. package/dist/collection/components/breadcrumb/breadcrumb.css +6 -0
  464. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  465. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +18 -0
  466. package/dist/collection/components/button/button.css +6 -0
  467. package/dist/collection/components/button/button.js +1 -1
  468. package/dist/collection/components/card/card.css +6 -0
  469. package/dist/collection/components/card/card.js +1 -1
  470. package/dist/collection/components/card-accordion/card-accordion.css +6 -0
  471. package/dist/collection/components/card-accordion/card-accordion.js +1 -1
  472. package/dist/collection/components/card-content/card-content.css +7 -2
  473. package/dist/collection/components/card-content/card-content.js +1 -1
  474. package/dist/collection/components/card-list/card-list.css +6 -0
  475. package/dist/collection/components/card-list/card-list.js +4 -4
  476. package/dist/collection/components/card-title/card-title.js +1 -1
  477. package/dist/collection/components/category-filter/category-filter.css +132 -16
  478. package/dist/collection/components/category-filter/category-filter.js +7 -4
  479. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  480. package/dist/collection/components/checkbox/checkbox.css +437 -0
  481. package/dist/collection/components/checkbox/checkbox.js +323 -0
  482. package/dist/collection/components/checkbox/checkbox.js.map +1 -0
  483. package/dist/collection/components/checkbox/tests/checkbox.ct.js +52 -0
  484. package/dist/collection/components/checkbox/tests/checkbox.ct.js.map +1 -0
  485. package/dist/collection/components/checkbox-group/checkbox-group.css +35 -0
  486. package/dist/collection/components/checkbox-group/checkbox-group.js +173 -0
  487. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -0
  488. package/dist/collection/components/chip/chip.css +38 -8
  489. package/dist/collection/components/chip/chip.js +4 -4
  490. package/dist/collection/components/chip/test/chip.ct.js +32 -0
  491. package/dist/collection/components/chip/test/chip.ct.js.map +1 -0
  492. package/dist/collection/components/col/col.css +7 -2
  493. package/dist/collection/components/col/col.js +4 -4
  494. package/dist/collection/components/content/content.css +6 -0
  495. package/dist/collection/components/content/content.js +3 -3
  496. package/dist/collection/components/content-header/content-header.js +1 -1
  497. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  498. package/dist/collection/components/css-grid/css-grid.js +1 -1
  499. package/dist/collection/components/custom-field/custom-field.css +11 -0
  500. package/dist/collection/components/custom-field/custom-field.js +216 -0
  501. package/dist/collection/components/custom-field/custom-field.js.map +1 -0
  502. package/dist/collection/components/custom-field/tests/custom-field.ct.js +68 -0
  503. package/dist/collection/components/custom-field/tests/custom-field.ct.js.map +1 -0
  504. package/dist/collection/components/date-dropdown/date-dropdown.css +6 -0
  505. package/dist/collection/components/date-dropdown/date-dropdown.js +6 -6
  506. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  507. package/dist/collection/components/date-field/date-field.css +938 -0
  508. package/dist/collection/components/date-field/date-field.js +696 -0
  509. package/dist/collection/components/date-field/date-field.js.map +1 -0
  510. package/dist/collection/components/date-field/tests/date-field.ct.js +114 -0
  511. package/dist/collection/components/date-field/tests/date-field.ct.js.map +1 -0
  512. package/dist/collection/components/date-picker/date-picker.css +6 -0
  513. package/dist/collection/components/date-picker/date-picker.js +7 -7
  514. package/dist/collection/components/date-time-card/date-time-card.css +6 -0
  515. package/dist/collection/components/date-time-card/date-time-card.js +7 -8
  516. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  517. package/dist/collection/components/datetime-picker/datetime-picker.css +6 -0
  518. package/dist/collection/components/datetime-picker/datetime-picker.js +3 -3
  519. package/dist/collection/components/divider/divider.js +1 -1
  520. package/dist/collection/components/drawer/drawer.css +6 -0
  521. package/dist/collection/components/drawer/drawer.js +2 -2
  522. package/dist/collection/components/dropdown/dropdown-controller.js +4 -0
  523. package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
  524. package/dist/collection/components/dropdown/dropdown.css +6 -0
  525. package/dist/collection/components/dropdown/dropdown.js +11 -8
  526. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  527. package/dist/collection/components/dropdown/test/dropdown.ct.js +18 -0
  528. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
  529. package/dist/collection/components/dropdown-button/dropdown-button.css +6 -0
  530. package/dist/collection/components/dropdown-button/dropdown-button.ct.js +23 -0
  531. package/dist/collection/components/dropdown-button/dropdown-button.ct.js.map +1 -0
  532. package/dist/collection/components/dropdown-button/dropdown-button.js +3 -3
  533. package/dist/collection/components/dropdown-header/dropdown-header.css +6 -0
  534. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  535. package/dist/collection/components/dropdown-item/dropdown-item.css +6 -0
  536. package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
  537. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  538. package/dist/collection/components/empty-state/empty-state.css +6 -0
  539. package/dist/collection/components/empty-state/empty-state.js +2 -2
  540. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  541. package/dist/collection/components/event-list/event-list.css +6 -0
  542. package/dist/collection/components/event-list/event-list.js +2 -2
  543. package/dist/collection/components/event-list-item/event-list-item.css +6 -0
  544. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  545. package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
  546. package/dist/collection/components/expanding-search/expanding-search.css +6 -0
  547. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  548. package/dist/collection/components/field-label/field-label.css +14 -0
  549. package/dist/collection/components/field-label/field-label.js +173 -0
  550. package/dist/collection/components/field-label/field-label.js.map +1 -0
  551. package/dist/collection/components/field-label/tests/field-label.ct.js +70 -0
  552. package/dist/collection/components/field-label/tests/field-label.ct.js.map +1 -0
  553. package/dist/collection/components/field-wrapper/field-wrapper.css +71 -0
  554. package/dist/collection/components/field-wrapper/field-wrapper.js +309 -0
  555. package/dist/collection/components/field-wrapper/field-wrapper.js.map +1 -0
  556. package/dist/collection/components/field-wrapper/helper-text-util.js +26 -0
  557. package/dist/collection/components/field-wrapper/helper-text-util.js.map +1 -0
  558. package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js +63 -0
  559. package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js.map +1 -0
  560. package/dist/collection/components/filter-chip/filter-chip.css +6 -0
  561. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  562. package/dist/collection/components/flip-tile/flip-tile.css +6 -0
  563. package/dist/collection/components/flip-tile/flip-tile.js +4 -4
  564. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  565. package/dist/collection/components/grid/layout-grid.js +2 -2
  566. package/dist/collection/components/group/group-context-menu.js +1 -1
  567. package/dist/collection/components/group/group.js +8 -8
  568. package/dist/collection/components/group-item/group-item.css +6 -0
  569. package/dist/collection/components/group-item/group-item.js +2 -2
  570. package/dist/collection/components/helper-text/helper-text.css +34 -0
  571. package/dist/collection/components/helper-text/helper-text.js +179 -0
  572. package/dist/collection/components/helper-text/helper-text.js.map +1 -0
  573. package/dist/collection/components/icon-button/icon-button.css +12 -0
  574. package/dist/collection/components/icon-button/icon-button.js +2 -2
  575. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +12 -0
  576. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  577. package/dist/collection/components/input-group/input-group.css +6 -0
  578. package/dist/collection/components/input-group/input-group.js +1 -1
  579. package/dist/collection/components/key-value/key-value.js +2 -2
  580. package/dist/collection/components/key-value/key-value.js.map +1 -1
  581. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  582. package/dist/collection/components/kpi/kpi.css +6 -0
  583. package/dist/collection/components/kpi/kpi.js +3 -3
  584. package/dist/collection/components/layout-form/layout-form.css +15 -0
  585. package/dist/collection/components/layout-form/layout-form.js +126 -0
  586. package/dist/collection/components/layout-form/layout-form.js.map +1 -0
  587. package/dist/collection/components/link-button/link-button.js +3 -3
  588. package/dist/collection/components/map-navigation/map-navigation.css +6 -0
  589. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  590. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.css +6 -0
  591. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  592. package/dist/collection/components/menu/menu-expand-icon.css +6 -0
  593. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  594. package/dist/collection/components/menu/menu.css +7 -1
  595. package/dist/collection/components/menu/menu.js +11 -11
  596. package/dist/collection/components/menu/menu.js.map +1 -1
  597. package/dist/collection/components/menu-about/menu-about.js +1 -1
  598. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  599. package/dist/collection/components/menu-about-news/menu-about-news.css +6 -0
  600. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  601. package/dist/collection/components/menu-avatar/menu-avatar.css +6 -0
  602. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  603. package/dist/collection/components/menu-avatar-item/menu-avatar-item.css +6 -0
  604. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  605. package/dist/collection/components/menu-category/menu-category.css +6 -0
  606. package/dist/collection/components/menu-category/menu-category.js +8 -5
  607. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  608. package/dist/collection/components/menu-item/menu-item.css +0 -3
  609. package/dist/collection/components/menu-item/menu-item.js +3 -3
  610. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  611. package/dist/collection/components/menu-settings/menu-settings.css +6 -0
  612. package/dist/collection/components/menu-settings/menu-settings.js +1 -1
  613. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  614. package/dist/collection/components/message-bar/message-bar.css +6 -0
  615. package/dist/collection/components/message-bar/message-bar.js +1 -1
  616. package/dist/collection/components/modal/modal.js +4 -4
  617. package/dist/collection/components/modal-content/modal-content.css +6 -0
  618. package/dist/collection/components/modal-content/modal-content.js +1 -1
  619. package/dist/collection/components/modal-footer/modal-footer.css +6 -0
  620. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  621. package/dist/collection/components/modal-header/modal-header.css +6 -0
  622. package/dist/collection/components/modal-header/modal-header.js +1 -1
  623. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  624. package/dist/collection/components/pagination/pagination.css +20 -0
  625. package/dist/collection/components/pagination/pagination.js +2 -2
  626. package/dist/collection/components/pane/pane.css +9 -0
  627. package/dist/collection/components/pane/pane.js +12 -12
  628. package/dist/collection/components/pane-layout/pane-layout.css +6 -0
  629. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  630. package/dist/collection/components/pill/pill.css +38 -7
  631. package/dist/collection/components/pill/pill.js +4 -4
  632. package/dist/collection/components/playground/example-modal.js +1 -1
  633. package/dist/collection/components/playground/playground.js +3 -3
  634. package/dist/collection/components/playground/playground.js.map +1 -1
  635. package/dist/collection/components/push-card/push-card.js +2 -2
  636. package/dist/collection/components/radio/radio.css +428 -0
  637. package/dist/collection/components/radio/radio.js +276 -0
  638. package/dist/collection/components/radio/radio.js.map +1 -0
  639. package/dist/collection/components/radio/test/radio.ct.js +36 -0
  640. package/dist/collection/components/radio/test/radio.ct.js.map +1 -0
  641. package/dist/collection/components/radio-group/radio-group.css +35 -0
  642. package/dist/collection/components/radio-group/radio-group.js +296 -0
  643. package/dist/collection/components/radio-group/radio-group.js.map +1 -0
  644. package/dist/collection/components/radio-group/test/radio-group.ct.js +99 -0
  645. package/dist/collection/components/radio-group/test/radio-group.ct.js.map +1 -0
  646. package/dist/collection/components/row/row.js +1 -1
  647. package/dist/collection/components/select/select.css +58 -0
  648. package/dist/collection/components/select/select.js +392 -46
  649. package/dist/collection/components/select/select.js.map +1 -1
  650. package/dist/collection/components/select/test/select.ct.js +130 -44
  651. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  652. package/dist/collection/components/select-item/select-item.js +1 -1
  653. package/dist/collection/components/slider/slider.css +6 -0
  654. package/dist/collection/components/slider/slider.js +7 -7
  655. package/dist/collection/components/spinner/spinner.css +30 -0
  656. package/dist/collection/components/spinner/spinner.js +1 -1
  657. package/dist/collection/components/split-button/split-button.css +6 -0
  658. package/dist/collection/components/split-button/split-button.js +30 -2
  659. package/dist/collection/components/split-button/split-button.js.map +1 -1
  660. package/dist/collection/components/split-button-item/split-button-item.js +1 -1
  661. package/dist/collection/components/tab-item/tab-item.css +13 -13
  662. package/dist/collection/components/tab-item/tab-item.js +4 -4
  663. package/dist/collection/components/tabs/tabs.css +6 -0
  664. package/dist/collection/components/tabs/tabs.js +2 -2
  665. package/dist/collection/components/text-field/input.fc.js +38 -0
  666. package/dist/collection/components/text-field/input.fc.js.map +1 -0
  667. package/dist/collection/components/{form-field/form-field.css → text-field/number-field.css} +236 -7
  668. package/dist/collection/components/text-field/number-field.js +586 -0
  669. package/dist/collection/components/text-field/number-field.js.map +1 -0
  670. package/dist/collection/components/text-field/tests/form-ready.ct.js +63 -0
  671. package/dist/collection/components/text-field/tests/form-ready.ct.js.map +1 -0
  672. package/dist/collection/components/text-field/text-field.animation.js +36 -0
  673. package/dist/collection/components/text-field/text-field.animation.js.map +1 -0
  674. package/dist/collection/components/text-field/text-field.css +899 -0
  675. package/dist/collection/components/text-field/text-field.js +594 -0
  676. package/dist/collection/components/text-field/text-field.js.map +1 -0
  677. package/dist/collection/components/text-field/text-field.util.js +93 -0
  678. package/dist/collection/components/text-field/text-field.util.js.map +1 -0
  679. package/dist/collection/components/text-field/textarea-field.css +550 -0
  680. package/dist/collection/components/text-field/textarea-field.js +595 -0
  681. package/dist/collection/components/text-field/textarea-field.js.map +1 -0
  682. package/dist/collection/components/tile/tile.css +6 -0
  683. package/dist/collection/components/tile/tile.js +4 -4
  684. package/dist/collection/components/time-picker/time-picker.css +86 -5
  685. package/dist/collection/components/time-picker/time-picker.js +4 -4
  686. package/dist/collection/components/toast/styles/toast-container.css +6 -0
  687. package/dist/collection/components/toast/toast-container.js +3 -3
  688. package/dist/collection/components/toast/toast.css +6 -0
  689. package/dist/collection/components/toast/toast.js +2 -2
  690. package/dist/collection/components/toggle/test/toggle.ct.js +24 -1
  691. package/dist/collection/components/toggle/test/toggle.ct.js.map +1 -1
  692. package/dist/collection/components/toggle/toggle.css +138 -1
  693. package/dist/collection/components/toggle/toggle.js +157 -2
  694. package/dist/collection/components/toggle/toggle.js.map +1 -1
  695. package/dist/collection/components/toggle-button/toggle-button.css +6 -0
  696. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  697. package/dist/collection/components/tooltip/tooltip.css +2 -2
  698. package/dist/collection/components/tooltip/tooltip.js +6 -6
  699. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  700. package/dist/collection/components/tree/tree.js +1 -1
  701. package/dist/collection/components/tree-item/tree-item.css +6 -0
  702. package/dist/collection/components/tree-item/tree-item.js +4 -4
  703. package/dist/collection/components/typography/typography.css +7 -2
  704. package/dist/collection/components/typography/typography.js +5 -5
  705. package/dist/collection/components/upload/upload.css +6 -0
  706. package/dist/collection/components/upload/upload.js +3 -3
  707. package/dist/collection/components/utils/a11y.js +3 -2
  708. package/dist/collection/components/utils/a11y.js.map +1 -1
  709. package/dist/collection/components/utils/attributes.js +25 -0
  710. package/dist/collection/components/utils/attributes.js.map +1 -0
  711. package/dist/collection/components/utils/field/index.js +9 -0
  712. package/dist/collection/components/utils/field/index.js.map +1 -0
  713. package/dist/collection/components/utils/field/validation.js +108 -0
  714. package/dist/collection/components/utils/field/validation.js.map +1 -0
  715. package/dist/collection/components/utils/make-ref.js +5 -0
  716. package/dist/collection/components/utils/make-ref.js.map +1 -1
  717. package/dist/collection/components/utils/testing/index.js +9 -0
  718. package/dist/collection/components/utils/testing/index.js.map +1 -0
  719. package/dist/collection/components/utils/uuid.js +16 -0
  720. package/dist/collection/components/utils/uuid.js.map +1 -0
  721. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  722. package/dist/collection/components/workflow-step/workflow-step.css +6 -0
  723. package/dist/collection/components/workflow-step/workflow-step.js +4 -4
  724. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  725. package/dist/collection/components/workflow-steps/workflow-steps.css +6 -0
  726. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  727. package/dist/collection/index.js +6 -0
  728. package/dist/collection/index.js.map +1 -1
  729. package/dist/collection/tests/form-fields/form-fields.e2e.js +57 -0
  730. package/dist/collection/tests/form-fields/form-fields.e2e.js.map +1 -0
  731. package/dist/collection/tests/panes/panes.e2e.js +5 -0
  732. package/dist/collection/tests/panes/panes.e2e.js.map +1 -1
  733. package/dist/collection/tests/utils/test/index.js +11 -0
  734. package/dist/collection/tests/utils/test/index.js.map +1 -1
  735. package/dist/esm/{a11y-d5444a76.js → a11y-13dedaef.js} +4 -3
  736. package/dist/esm/a11y-13dedaef.js.map +1 -0
  737. package/dist/esm/app-globals-0cd07cd9.js.map +1 -1
  738. package/dist/esm/{base-button-3ac703a7.js → base-button-ea06697f.js} +2 -2
  739. package/dist/esm/{base-button-3ac703a7.js.map → base-button-ea06697f.js.map} +1 -1
  740. package/dist/esm/{base-icon-button-59eb1fe5.js → base-icon-button-c64fdb50.js} +3 -3
  741. package/dist/esm/{base-icon-button-59eb1fe5.js.map → base-icon-button-c64fdb50.js.map} +1 -1
  742. package/dist/esm/dropdown-controller-d6d8b14a.js +143 -0
  743. package/dist/esm/dropdown-controller-d6d8b14a.js.map +1 -0
  744. package/dist/esm/helper-text-util-3dd33b44.js +38 -0
  745. package/dist/esm/helper-text-util-3dd33b44.js.map +1 -0
  746. package/dist/esm/index-9103b14c.js +2012 -0
  747. package/dist/esm/index-9103b14c.js.map +1 -0
  748. package/dist/esm/index-f51bf247.js +14 -0
  749. package/dist/esm/index-f51bf247.js.map +1 -0
  750. package/dist/esm/index.js +16 -1
  751. package/dist/esm/index.js.map +1 -1
  752. package/dist/esm/ix-action-card.entry.js +2 -2
  753. package/dist/esm/ix-action-card.entry.js.map +1 -1
  754. package/dist/esm/ix-application-header.entry.js +13 -5
  755. package/dist/esm/ix-application-header.entry.js.map +1 -1
  756. package/dist/esm/ix-application-sidebar.entry.js +3 -3
  757. package/dist/esm/ix-application-sidebar.entry.js.map +1 -1
  758. package/dist/esm/ix-application-switch-modal.entry.js +3 -3
  759. package/dist/esm/ix-application-switch-modal.entry.js.map +1 -1
  760. package/dist/esm/ix-application.entry.js +5 -5
  761. package/dist/esm/ix-application.entry.js.map +1 -1
  762. package/dist/esm/ix-avatar_2.entry.js +11 -6
  763. package/dist/esm/ix-avatar_2.entry.js.map +1 -1
  764. package/dist/esm/ix-basic-navigation.entry.js +4 -4
  765. package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
  766. package/dist/esm/ix-blind.entry.js +3 -3
  767. package/dist/esm/ix-blind.entry.js.map +1 -1
  768. package/dist/esm/ix-breadcrumb-item.entry.js +4 -4
  769. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  770. package/dist/esm/ix-breadcrumb.entry.js +5 -5
  771. package/dist/esm/ix-breadcrumb.entry.js.map +1 -1
  772. package/dist/esm/ix-button.entry.js +3 -3
  773. package/dist/esm/ix-button.entry.js.map +1 -1
  774. package/dist/esm/ix-card-accordion_2.entry.js +3 -3
  775. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  776. package/dist/esm/ix-card-list.entry.js +6 -6
  777. package/dist/esm/ix-card-list.entry.js.map +1 -1
  778. package/dist/esm/ix-card_2.entry.js +4 -4
  779. package/dist/esm/ix-card_2.entry.js.map +1 -1
  780. package/dist/esm/ix-category-filter.entry.js +10 -7
  781. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  782. package/dist/esm/ix-checkbox-group.entry.js +52 -0
  783. package/dist/esm/ix-checkbox-group.entry.js.map +1 -0
  784. package/dist/esm/ix-checkbox.entry.js +110 -0
  785. package/dist/esm/ix-checkbox.entry.js.map +1 -0
  786. package/dist/esm/ix-chip.entry.js +6 -6
  787. package/dist/esm/ix-chip.entry.js.map +1 -1
  788. package/dist/esm/ix-col_4.entry.js +11 -11
  789. package/dist/esm/ix-col_4.entry.js.map +1 -1
  790. package/dist/esm/ix-content-header.entry.js +1 -1
  791. package/dist/esm/ix-content.entry.js +5 -5
  792. package/dist/esm/ix-content.entry.js.map +1 -1
  793. package/dist/esm/ix-css-grid-item.entry.js +2 -2
  794. package/dist/esm/ix-css-grid.entry.js +1 -1
  795. package/dist/esm/ix-custom-field.entry.js +61 -0
  796. package/dist/esm/ix-custom-field.entry.js.map +1 -0
  797. package/dist/esm/ix-date-dropdown.entry.js +5 -5
  798. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  799. package/dist/esm/ix-date-field.entry.js +251 -0
  800. package/dist/esm/ix-date-field.entry.js.map +1 -0
  801. package/dist/esm/ix-date-time-card.entry.js +3 -3
  802. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  803. package/dist/esm/ix-datetime-picker.entry.js +3 -3
  804. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  805. package/dist/esm/ix-divider.entry.js +2 -2
  806. package/dist/esm/ix-drawer.entry.js +4 -4
  807. package/dist/esm/ix-drawer.entry.js.map +1 -1
  808. package/dist/esm/ix-dropdown-button.entry.js +4 -4
  809. package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
  810. package/dist/esm/ix-dropdown-header.entry.js +3 -3
  811. package/dist/esm/ix-dropdown-header.entry.js.map +1 -1
  812. package/dist/esm/ix-dropdown-item.entry.js +5 -5
  813. package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
  814. package/dist/esm/ix-dropdown-quick-actions.entry.js +2 -2
  815. package/dist/esm/ix-dropdown.entry.js +14 -146
  816. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  817. package/dist/esm/ix-empty-state.entry.js +3 -3
  818. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  819. package/dist/esm/ix-event-list-item.entry.js +7 -7
  820. package/dist/esm/ix-event-list-item.entry.js.map +1 -1
  821. package/dist/esm/ix-event-list.entry.js +4 -4
  822. package/dist/esm/ix-event-list.entry.js.map +1 -1
  823. package/dist/esm/ix-expanding-search.entry.js +6 -6
  824. package/dist/esm/ix-expanding-search.entry.js.map +1 -1
  825. package/dist/esm/{ix-tooltip.entry.js → ix-field-label_3.entry.js} +150 -11
  826. package/dist/esm/ix-field-label_3.entry.js.map +1 -0
  827. package/dist/esm/ix-filter-chip_2.entry.js +4 -4
  828. package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
  829. package/dist/esm/ix-flip-tile-content.entry.js +2 -2
  830. package/dist/esm/ix-flip-tile.entry.js +6 -6
  831. package/dist/esm/ix-flip-tile.entry.js.map +1 -1
  832. package/dist/esm/ix-group-context-menu_2.entry.js +5 -5
  833. package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
  834. package/dist/esm/ix-group.entry.js +9 -9
  835. package/dist/esm/ix-helper-text.entry.js +66 -0
  836. package/dist/esm/ix-helper-text.entry.js.map +1 -0
  837. package/dist/esm/ix-icon-button_2.entry.js +8 -8
  838. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  839. package/dist/esm/ix-icon-toggle-button.entry.js +6 -6
  840. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  841. package/dist/esm/ix-input-group.entry.js +3 -3
  842. package/dist/esm/ix-input-group.entry.js.map +1 -1
  843. package/dist/esm/ix-key-value-list.entry.js +2 -2
  844. package/dist/esm/ix-key-value.entry.js +2 -2
  845. package/dist/esm/ix-key-value.entry.js.map +1 -1
  846. package/dist/esm/ix-kpi.entry.js +5 -5
  847. package/dist/esm/ix-kpi.entry.js.map +1 -1
  848. package/dist/esm/ix-layout-form.entry.js +90 -0
  849. package/dist/esm/ix-layout-form.entry.js.map +1 -0
  850. package/dist/esm/ix-link-button.entry.js +4 -4
  851. package/dist/esm/ix-map-navigation-overlay.entry.js +4 -4
  852. package/dist/esm/ix-map-navigation-overlay.entry.js.map +1 -1
  853. package/dist/esm/ix-map-navigation.entry.js +4 -4
  854. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  855. package/dist/esm/ix-menu-about-item.entry.js +2 -2
  856. package/dist/esm/ix-menu-about-news.entry.js +6 -6
  857. package/dist/esm/ix-menu-about-news.entry.js.map +1 -1
  858. package/dist/esm/ix-menu-about.entry.js +3 -3
  859. package/dist/esm/ix-menu-avatar.entry.js +4 -4
  860. package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
  861. package/dist/esm/ix-menu-category.entry.js +10 -7
  862. package/dist/esm/ix-menu-category.entry.js.map +1 -1
  863. package/dist/esm/ix-menu-expand-icon.entry.js +5 -5
  864. package/dist/esm/ix-menu-expand-icon.entry.js.map +1 -1
  865. package/dist/esm/ix-menu-item.entry.js +6 -6
  866. package/dist/esm/ix-menu-item.entry.js.map +1 -1
  867. package/dist/esm/ix-menu-settings-item.entry.js +2 -2
  868. package/dist/esm/ix-menu-settings.entry.js +2 -2
  869. package/dist/esm/ix-menu.entry.js +13 -13
  870. package/dist/esm/ix-menu.entry.js.map +1 -1
  871. package/dist/esm/ix-message-bar.entry.js +3 -3
  872. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  873. package/dist/esm/ix-modal-content_2.entry.js +5 -5
  874. package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
  875. package/dist/esm/ix-modal-example.entry.js +2 -2
  876. package/dist/esm/ix-modal-footer.entry.js +3 -3
  877. package/dist/esm/ix-modal-footer.entry.js.map +1 -1
  878. package/dist/esm/ix-modal-loading.entry.js +2 -2
  879. package/dist/esm/ix-modal.entry.js +6 -6
  880. package/dist/esm/ix-number-field.entry.js +144 -0
  881. package/dist/esm/ix-number-field.entry.js.map +1 -0
  882. package/dist/esm/ix-pagination.entry.js +6 -6
  883. package/dist/esm/ix-pagination.entry.js.map +1 -1
  884. package/dist/esm/ix-pane-layout.entry.js +3 -3
  885. package/dist/esm/ix-pane-layout.entry.js.map +1 -1
  886. package/dist/esm/ix-pane.entry.js +8 -8
  887. package/dist/esm/ix-pane.entry.js.map +1 -1
  888. package/dist/esm/ix-pill.entry.js +6 -6
  889. package/dist/esm/ix-pill.entry.js.map +1 -1
  890. package/dist/esm/ix-playground-internal.entry.js +2 -2
  891. package/dist/esm/ix-playground-internal.entry.js.map +1 -1
  892. package/dist/esm/ix-push-card.entry.js +2 -2
  893. package/dist/esm/ix-radio-group.entry.js +112 -0
  894. package/dist/esm/ix-radio-group.entry.js.map +1 -0
  895. package/dist/esm/ix-radio.entry.js +92 -0
  896. package/dist/esm/ix-radio.entry.js.map +1 -0
  897. package/dist/esm/ix-select.entry.js +126 -46
  898. package/dist/esm/ix-select.entry.js.map +1 -1
  899. package/dist/esm/ix-slider.entry.js +10 -10
  900. package/dist/esm/ix-slider.entry.js.map +1 -1
  901. package/dist/esm/ix-split-button-item.entry.js +3 -3
  902. package/dist/esm/ix-split-button.entry.js +4 -3
  903. package/dist/esm/ix-split-button.entry.js.map +1 -1
  904. package/dist/esm/ix-tab-item_2.entry.js +8 -8
  905. package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
  906. package/dist/esm/ix-text-field.entry.js +147 -0
  907. package/dist/esm/ix-text-field.entry.js.map +1 -0
  908. package/dist/esm/ix-textarea-field.entry.js +114 -0
  909. package/dist/esm/ix-textarea-field.entry.js.map +1 -0
  910. package/dist/esm/ix-tile.entry.js +6 -6
  911. package/dist/esm/ix-tile.entry.js.map +1 -1
  912. package/dist/esm/ix-time-picker.entry.js +5 -5
  913. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  914. package/dist/esm/ix-toast-container.entry.js +4 -4
  915. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  916. package/dist/esm/ix-toast.entry.js +4 -4
  917. package/dist/esm/ix-toast.entry.js.map +1 -1
  918. package/dist/esm/ix-toggle-button.entry.js +6 -6
  919. package/dist/esm/ix-toggle-button.entry.js.map +1 -1
  920. package/dist/esm/ix-toggle.entry.js +42 -5
  921. package/dist/esm/ix-toggle.entry.js.map +1 -1
  922. package/dist/esm/ix-tree-item.entry.js +6 -6
  923. package/dist/esm/ix-tree-item.entry.js.map +1 -1
  924. package/dist/esm/ix-tree.entry.js +2 -2
  925. package/dist/esm/ix-typography.entry.js +2 -2
  926. package/dist/esm/ix-typography.entry.js.map +1 -1
  927. package/dist/esm/ix-upload.entry.js +5 -5
  928. package/dist/esm/ix-upload.entry.js.map +1 -1
  929. package/dist/esm/ix-validation-tooltip.entry.js +3 -3
  930. package/dist/esm/ix-workflow-step.entry.js +6 -6
  931. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  932. package/dist/esm/ix-workflow-steps.entry.js +3 -3
  933. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  934. package/dist/esm/{listener-b87c1f3d.js → listener-98571ba8.js} +2 -2
  935. package/dist/esm/{listener-b87c1f3d.js.map → listener-98571ba8.js.map} +1 -1
  936. package/dist/esm/loader.js +3 -3
  937. package/dist/esm/{make-ref-c80046bf.js → make-ref-6b3b4e16.js} +6 -1
  938. package/dist/esm/make-ref-6b3b4e16.js.map +1 -0
  939. package/dist/esm/{menu-tabs-fc-c72e41b6.js → menu-tabs-fc-7ec1fb5d.js} +4 -4
  940. package/dist/esm/{menu-tabs-fc-c72e41b6.js.map → menu-tabs-fc-7ec1fb5d.js.map} +1 -1
  941. package/dist/esm/siemens-ix.js +11 -11
  942. package/dist/esm/siemens-ix.js.map +1 -1
  943. package/dist/esm/text-field.util-6a84bffd.js +167 -0
  944. package/dist/esm/text-field.util-6a84bffd.js.map +1 -0
  945. package/dist/esm/validation-9db7dfa3.js +112 -0
  946. package/dist/esm/validation-9db7dfa3.js.map +1 -0
  947. package/dist/siemens-ix/index.esm.js +1 -1
  948. package/dist/siemens-ix/index.esm.js.map +1 -1
  949. package/dist/siemens-ix/p-02ed5606.entry.js +2 -0
  950. package/dist/siemens-ix/{p-4290098e.entry.js.map → p-02ed5606.entry.js.map} +1 -1
  951. package/dist/siemens-ix/p-0681f4d8.entry.js +2 -0
  952. package/dist/siemens-ix/{p-cbbe9dee.entry.js.map → p-0681f4d8.entry.js.map} +1 -1
  953. package/dist/siemens-ix/p-06965e5f.entry.js +2 -0
  954. package/dist/siemens-ix/{p-aa58d9d7.entry.js.map → p-06965e5f.entry.js.map} +1 -1
  955. package/dist/siemens-ix/p-08215ad3.entry.js +2 -0
  956. package/dist/siemens-ix/p-08215ad3.entry.js.map +1 -0
  957. package/dist/siemens-ix/p-0bed10af.entry.js +2 -0
  958. package/dist/siemens-ix/p-0d907964.entry.js +2 -0
  959. package/dist/siemens-ix/p-0dfc3b80.entry.js +2 -0
  960. package/dist/siemens-ix/p-104097fb.entry.js +2 -0
  961. package/dist/siemens-ix/{p-33538474.entry.js.map → p-104097fb.entry.js.map} +1 -1
  962. package/dist/siemens-ix/p-15a5bc5a.entry.js +2 -0
  963. package/dist/siemens-ix/p-15a5bc5a.entry.js.map +1 -0
  964. package/dist/siemens-ix/p-18d15442.entry.js +2 -0
  965. package/dist/siemens-ix/{p-add5b76c.entry.js.map → p-18d15442.entry.js.map} +1 -1
  966. package/dist/siemens-ix/p-1df98c59.entry.js +2 -0
  967. package/dist/siemens-ix/{p-8d156396.entry.js.map → p-1df98c59.entry.js.map} +1 -1
  968. package/dist/siemens-ix/p-1ec8d2b9.entry.js +2 -0
  969. package/dist/siemens-ix/{p-d08cbeaf.entry.js.map → p-1ec8d2b9.entry.js.map} +1 -1
  970. package/dist/siemens-ix/p-1f771917.entry.js +2 -0
  971. package/dist/siemens-ix/{p-c1bd5d78.entry.js.map → p-1f771917.entry.js.map} +1 -1
  972. package/dist/siemens-ix/{p-ced10144.js → p-224ebf90.js} +2 -2
  973. package/dist/siemens-ix/p-235c14ca.js.map +1 -1
  974. package/dist/siemens-ix/p-2442ad01.entry.js +2 -0
  975. package/dist/siemens-ix/{p-902d1046.entry.js.map → p-2442ad01.entry.js.map} +1 -1
  976. package/dist/siemens-ix/p-277980fa.entry.js +2 -0
  977. package/dist/siemens-ix/p-277980fa.entry.js.map +1 -0
  978. package/dist/siemens-ix/{p-418959d3.entry.js → p-293dd6d1.entry.js} +2 -2
  979. package/dist/siemens-ix/p-35690183.entry.js +2 -0
  980. package/dist/siemens-ix/{p-96d2d21f.entry.js.map → p-35690183.entry.js.map} +1 -1
  981. package/dist/siemens-ix/{p-114bb49b.entry.js → p-35fa9e1a.entry.js} +2 -2
  982. package/dist/siemens-ix/p-36c0f378.js +2 -0
  983. package/dist/siemens-ix/p-36c0f378.js.map +1 -0
  984. package/dist/siemens-ix/p-3730ac72.entry.js +2 -0
  985. package/dist/siemens-ix/{p-b475f567.entry.js.map → p-3730ac72.entry.js.map} +1 -1
  986. package/dist/siemens-ix/p-3782e028.js +2 -0
  987. package/dist/siemens-ix/p-3782e028.js.map +1 -0
  988. package/dist/siemens-ix/{p-e07d2623.js → p-37ca7ed4.js} +2 -2
  989. package/dist/siemens-ix/{p-e07d2623.js.map → p-37ca7ed4.js.map} +1 -1
  990. package/dist/siemens-ix/p-399bb0ce.entry.js +2 -0
  991. package/dist/siemens-ix/p-3a5f7b61.entry.js +2 -0
  992. package/dist/siemens-ix/{p-0a1bfcfc.entry.js.map → p-3a5f7b61.entry.js.map} +1 -1
  993. package/dist/siemens-ix/p-3b38f812.entry.js +2 -0
  994. package/dist/siemens-ix/{p-bdc57334.entry.js.map → p-3b38f812.entry.js.map} +1 -1
  995. package/dist/siemens-ix/p-3de71a19.entry.js +2 -0
  996. package/dist/siemens-ix/{p-75548c73.entry.js.map → p-3de71a19.entry.js.map} +1 -1
  997. package/dist/siemens-ix/p-4017727a.entry.js +2 -0
  998. package/dist/siemens-ix/p-4017727a.entry.js.map +1 -0
  999. package/dist/siemens-ix/p-42c66a44.js +2 -0
  1000. package/dist/siemens-ix/p-42c66a44.js.map +1 -0
  1001. package/dist/siemens-ix/p-4a335b55.entry.js +2 -0
  1002. package/dist/siemens-ix/p-4a335b55.entry.js.map +1 -0
  1003. package/dist/siemens-ix/p-4b69ab0d.entry.js +2 -0
  1004. package/dist/siemens-ix/{p-a617e605.entry.js.map → p-4b69ab0d.entry.js.map} +1 -1
  1005. package/dist/siemens-ix/p-504f43d4.entry.js +2 -0
  1006. package/dist/siemens-ix/{p-23dd21b3.entry.js.map → p-504f43d4.entry.js.map} +1 -1
  1007. package/dist/siemens-ix/p-50cae62d.entry.js +2 -0
  1008. package/dist/siemens-ix/p-53e62b51.entry.js +2 -0
  1009. package/dist/siemens-ix/p-56d01130.entry.js +2 -0
  1010. package/dist/siemens-ix/p-56d01130.entry.js.map +1 -0
  1011. package/dist/siemens-ix/p-576b09c9.entry.js +2 -0
  1012. package/dist/siemens-ix/{p-9dabe2f7.entry.js.map → p-576b09c9.entry.js.map} +1 -1
  1013. package/dist/siemens-ix/p-5924a783.entry.js +2 -0
  1014. package/dist/siemens-ix/{p-2c6a35db.entry.js.map → p-5924a783.entry.js.map} +1 -1
  1015. package/dist/siemens-ix/p-5a6d8b69.entry.js +2 -0
  1016. package/dist/siemens-ix/p-5a6d8b69.entry.js.map +1 -0
  1017. package/dist/siemens-ix/p-5bf40a9f.entry.js +2 -0
  1018. package/dist/siemens-ix/p-5eb935a3.entry.js +2 -0
  1019. package/dist/siemens-ix/p-5eb935a3.entry.js.map +1 -0
  1020. package/dist/siemens-ix/p-61265df9.entry.js +2 -0
  1021. package/dist/siemens-ix/{p-784fe260.entry.js.map → p-61265df9.entry.js.map} +1 -1
  1022. package/dist/siemens-ix/{p-01a8adf1.entry.js → p-628c8612.entry.js} +2 -2
  1023. package/dist/siemens-ix/p-628f031a.entry.js +2 -0
  1024. package/dist/siemens-ix/{p-021e1084.entry.js.map → p-628f031a.entry.js.map} +1 -1
  1025. package/dist/siemens-ix/p-6bd0ba14.entry.js +2 -0
  1026. package/dist/siemens-ix/p-6bd0ba14.entry.js.map +1 -0
  1027. package/dist/siemens-ix/p-6c412b52.entry.js +2 -0
  1028. package/dist/siemens-ix/{p-90c55341.entry.js.map → p-6c412b52.entry.js.map} +1 -1
  1029. package/dist/siemens-ix/p-6ca97a73.entry.js +2 -0
  1030. package/dist/siemens-ix/{p-3b8e4fe5.entry.js.map → p-6ca97a73.entry.js.map} +1 -1
  1031. package/dist/siemens-ix/p-6f83793b.entry.js +2 -0
  1032. package/dist/siemens-ix/p-6f83793b.entry.js.map +1 -0
  1033. package/dist/siemens-ix/p-70a7bd22.entry.js +2 -0
  1034. package/dist/siemens-ix/p-70a7bd22.entry.js.map +1 -0
  1035. package/dist/siemens-ix/p-724b98ce.entry.js +2 -0
  1036. package/dist/siemens-ix/{p-b24beb48.entry.js.map → p-724b98ce.entry.js.map} +1 -1
  1037. package/dist/siemens-ix/p-73e0eb40.entry.js +2 -0
  1038. package/dist/siemens-ix/p-73e0eb40.entry.js.map +1 -0
  1039. package/dist/siemens-ix/p-75c61fbf.entry.js +2 -0
  1040. package/dist/siemens-ix/{p-e0cab820.entry.js.map → p-75c61fbf.entry.js.map} +1 -1
  1041. package/dist/siemens-ix/p-781a1922.entry.js +2 -0
  1042. package/dist/siemens-ix/{p-b944d015.entry.js.map → p-781a1922.entry.js.map} +1 -1
  1043. package/dist/siemens-ix/p-787293f4.entry.js +2 -0
  1044. package/dist/siemens-ix/{p-e678bfc5.entry.js.map → p-787293f4.entry.js.map} +1 -1
  1045. package/dist/siemens-ix/p-79c848ec.entry.js +2 -0
  1046. package/dist/siemens-ix/{p-ecd3b070.entry.js.map → p-79c848ec.entry.js.map} +1 -1
  1047. package/dist/siemens-ix/p-7f4b78e5.js +2 -0
  1048. package/dist/siemens-ix/p-7f4b78e5.js.map +1 -0
  1049. package/dist/siemens-ix/{p-08a5d45b.entry.js → p-80051a81.entry.js} +2 -2
  1050. package/dist/siemens-ix/{p-08a5d45b.entry.js.map → p-80051a81.entry.js.map} +1 -1
  1051. package/dist/siemens-ix/{p-a6fbea5b.entry.js → p-815dd9a1.entry.js} +2 -2
  1052. package/dist/siemens-ix/p-83b8b502.entry.js +2 -0
  1053. package/dist/siemens-ix/{p-3b8ff673.entry.js.map → p-83b8b502.entry.js.map} +1 -1
  1054. package/dist/siemens-ix/p-846cf6d2.entry.js +2 -0
  1055. package/dist/siemens-ix/p-846cf6d2.entry.js.map +1 -0
  1056. package/dist/siemens-ix/{p-330343e7.entry.js → p-86b46723.entry.js} +2 -2
  1057. package/dist/siemens-ix/{p-330343e7.entry.js.map → p-86b46723.entry.js.map} +1 -1
  1058. package/dist/siemens-ix/{p-2637665e.entry.js → p-87d7aaf9.entry.js} +2 -2
  1059. package/dist/siemens-ix/{p-4cf6e817.entry.js → p-8a9fc2f0.entry.js} +2 -2
  1060. package/dist/siemens-ix/{p-4cf6e817.entry.js.map → p-8a9fc2f0.entry.js.map} +1 -1
  1061. package/dist/siemens-ix/{p-306c5ab2.entry.js → p-8d737a35.entry.js} +2 -2
  1062. package/dist/siemens-ix/{p-306c5ab2.entry.js.map → p-8d737a35.entry.js.map} +1 -1
  1063. package/dist/siemens-ix/{p-f2a81e70.entry.js → p-8dcf30ce.entry.js} +2 -2
  1064. package/dist/siemens-ix/{p-30e8a26a.entry.js → p-8e10d2f2.entry.js} +2 -2
  1065. package/dist/siemens-ix/p-9010831e.entry.js +2 -0
  1066. package/dist/siemens-ix/p-9010831e.entry.js.map +1 -0
  1067. package/dist/siemens-ix/p-921c59c4.entry.js +2 -0
  1068. package/dist/siemens-ix/{p-18a1c4dd.entry.js.map → p-921c59c4.entry.js.map} +1 -1
  1069. package/dist/siemens-ix/p-934ae9a0.entry.js +2 -0
  1070. package/dist/siemens-ix/{p-5f08da2c.entry.js.map → p-934ae9a0.entry.js.map} +1 -1
  1071. package/dist/siemens-ix/{p-6e1fdc40.entry.js → p-9569e1a2.entry.js} +2 -2
  1072. package/dist/siemens-ix/{p-6e1fdc40.entry.js.map → p-9569e1a2.entry.js.map} +1 -1
  1073. package/dist/siemens-ix/p-97f475db.entry.js +2 -0
  1074. package/dist/siemens-ix/{p-f23e0121.entry.js.map → p-97f475db.entry.js.map} +1 -1
  1075. package/dist/siemens-ix/p-9840f086.entry.js +2 -0
  1076. package/dist/siemens-ix/{p-84b3b311.entry.js.map → p-9840f086.entry.js.map} +1 -1
  1077. package/dist/siemens-ix/p-9cc0d11b.entry.js +2 -0
  1078. package/dist/siemens-ix/{p-ed2ec72f.entry.js.map → p-9cc0d11b.entry.js.map} +1 -1
  1079. package/dist/siemens-ix/{p-493cb880.entry.js → p-9ec92185.entry.js} +2 -2
  1080. package/dist/siemens-ix/p-9ec92185.entry.js.map +1 -0
  1081. package/dist/siemens-ix/p-a9b0c087.entry.js +2 -0
  1082. package/dist/siemens-ix/p-aae05303.entry.js +2 -0
  1083. package/dist/siemens-ix/{p-ee20d08c.entry.js.map → p-aae05303.entry.js.map} +1 -1
  1084. package/dist/siemens-ix/p-ac05950c.entry.js +2 -0
  1085. package/dist/siemens-ix/{p-ec741c06.entry.js.map → p-ac05950c.entry.js.map} +1 -1
  1086. package/dist/siemens-ix/p-ac6c6d3f.entry.js +2 -0
  1087. package/dist/siemens-ix/p-ac6c6d3f.entry.js.map +1 -0
  1088. package/dist/siemens-ix/p-aca94a5e.entry.js +2 -0
  1089. package/dist/siemens-ix/p-aca94a5e.entry.js.map +1 -0
  1090. package/dist/siemens-ix/p-ae7fdfa6.entry.js +2 -0
  1091. package/dist/siemens-ix/{p-cf546284.entry.js.map → p-ae7fdfa6.entry.js.map} +1 -1
  1092. package/dist/siemens-ix/p-b0fe18f7.entry.js +2 -0
  1093. package/dist/siemens-ix/p-b0fe18f7.entry.js.map +1 -0
  1094. package/dist/siemens-ix/p-b5c4fd55.entry.js +2 -0
  1095. package/dist/siemens-ix/{p-ca65a043.entry.js.map → p-b5c4fd55.entry.js.map} +1 -1
  1096. package/dist/siemens-ix/p-b6c0dfb5.entry.js +2 -0
  1097. package/dist/siemens-ix/{p-04a362da.entry.js.map → p-b6c0dfb5.entry.js.map} +1 -1
  1098. package/dist/siemens-ix/p-b789e0e7.entry.js +2 -0
  1099. package/dist/siemens-ix/{p-6eb4eefc.entry.js.map → p-b789e0e7.entry.js.map} +1 -1
  1100. package/dist/siemens-ix/p-b8ed7953.entry.js +2 -0
  1101. package/dist/siemens-ix/{p-b35a627a.entry.js.map → p-b8ed7953.entry.js.map} +1 -1
  1102. package/dist/siemens-ix/{p-2c14670e.entry.js → p-b973db5e.entry.js} +2 -2
  1103. package/dist/siemens-ix/p-b973db5e.entry.js.map +1 -0
  1104. package/dist/siemens-ix/p-b9b59a08.entry.js +2 -0
  1105. package/dist/siemens-ix/p-b9b59a08.entry.js.map +1 -0
  1106. package/dist/siemens-ix/p-bc1e92ac.js +2 -0
  1107. package/dist/siemens-ix/p-bd24bbde.entry.js +2 -0
  1108. package/dist/siemens-ix/{p-2c14670e.entry.js.map → p-bd24bbde.entry.js.map} +1 -1
  1109. package/dist/siemens-ix/p-c3db120e.entry.js +2 -0
  1110. package/dist/siemens-ix/p-c66e4a5f.entry.js +2 -0
  1111. package/dist/siemens-ix/p-c6dcff7e.entry.js +2 -0
  1112. package/dist/siemens-ix/{p-e2464e13.entry.js.map → p-c6dcff7e.entry.js.map} +1 -1
  1113. package/dist/siemens-ix/p-c71d1690.entry.js +2 -0
  1114. package/dist/siemens-ix/p-c71d1690.entry.js.map +1 -0
  1115. package/dist/siemens-ix/p-cce7a3d5.js +2 -0
  1116. package/dist/siemens-ix/p-cce7a3d5.js.map +1 -0
  1117. package/dist/siemens-ix/p-ce8a0611.entry.js +2 -0
  1118. package/dist/siemens-ix/p-ce8a0611.entry.js.map +1 -0
  1119. package/dist/siemens-ix/p-cf65d3b6.entry.js +2 -0
  1120. package/dist/siemens-ix/p-cf65d3b6.entry.js.map +1 -0
  1121. package/dist/siemens-ix/p-cfcd2bd3.entry.js +2 -0
  1122. package/dist/siemens-ix/{p-4d57ca67.entry.js.map → p-cfcd2bd3.entry.js.map} +1 -1
  1123. package/dist/siemens-ix/p-d7131f75.entry.js +2 -0
  1124. package/dist/siemens-ix/{p-a147b152.entry.js.map → p-d7131f75.entry.js.map} +1 -1
  1125. package/dist/siemens-ix/p-da8517ed.js +2 -0
  1126. package/dist/siemens-ix/p-da8517ed.js.map +1 -0
  1127. package/dist/siemens-ix/p-dde0af66.entry.js +2 -0
  1128. package/dist/siemens-ix/{p-abb29515.entry.js.map → p-dde0af66.entry.js.map} +1 -1
  1129. package/dist/siemens-ix/p-dead9c8e.js +2 -0
  1130. package/dist/siemens-ix/p-dead9c8e.js.map +1 -0
  1131. package/dist/siemens-ix/p-e1bd7b4f.entry.js +2 -0
  1132. package/dist/siemens-ix/p-e1bd7b4f.entry.js.map +1 -0
  1133. package/dist/siemens-ix/{p-fb55854a.entry.js → p-e5218382.entry.js} +2 -2
  1134. package/dist/siemens-ix/p-e5218382.entry.js.map +1 -0
  1135. package/dist/siemens-ix/{p-9dc3e182.entry.js → p-e72dfb3c.entry.js} +2 -2
  1136. package/dist/siemens-ix/p-ec0806c3.entry.js +2 -0
  1137. package/dist/siemens-ix/{p-a3ad98bc.entry.js.map → p-ec0806c3.entry.js.map} +1 -1
  1138. package/dist/siemens-ix/p-ed991838.js +2 -0
  1139. package/dist/siemens-ix/p-edd99767.entry.js +2 -0
  1140. package/dist/siemens-ix/p-edd99767.entry.js.map +1 -0
  1141. package/dist/siemens-ix/p-ef6171a2.entry.js +2 -0
  1142. package/dist/siemens-ix/p-f0bbd496.entry.js +2 -0
  1143. package/dist/siemens-ix/{p-e4e24f59.entry.js.map → p-f0bbd496.entry.js.map} +1 -1
  1144. package/dist/siemens-ix/p-f22e4bb2.entry.js +2 -0
  1145. package/dist/siemens-ix/p-f22e4bb2.entry.js.map +1 -0
  1146. package/dist/siemens-ix/p-f37ac17d.entry.js +2 -0
  1147. package/dist/siemens-ix/{p-18a27007.entry.js.map → p-f37ac17d.entry.js.map} +1 -1
  1148. package/dist/siemens-ix/p-f3c3366d.entry.js +2 -0
  1149. package/dist/siemens-ix/p-f86a894a.js +3 -0
  1150. package/dist/siemens-ix/p-f86a894a.js.map +1 -0
  1151. package/dist/siemens-ix/p-fad5daa1.entry.js +2 -0
  1152. package/dist/siemens-ix/{p-bd576793.entry.js.map → p-fad5daa1.entry.js.map} +1 -1
  1153. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  1154. package/dist/siemens-ix/siemens-ix.css +760 -157
  1155. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  1156. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  1157. package/dist/siemens-ix/theme/classic-dark.css +1 -1
  1158. package/dist/siemens-ix/theme/classic-light.css +1 -1
  1159. package/dist/types/components/application-header/application-header.d.ts +2 -0
  1160. package/dist/types/components/avatar/avatar.d.ts +2 -0
  1161. package/dist/types/components/checkbox/checkbox.d.ts +61 -0
  1162. package/dist/types/components/checkbox/tests/checkbox.ct.d.ts +1 -0
  1163. package/dist/types/components/checkbox-group/checkbox-group.d.ts +40 -0
  1164. package/dist/types/components/chip/test/chip.ct.d.ts +1 -0
  1165. package/dist/types/components/custom-field/custom-field.d.ts +46 -0
  1166. package/dist/types/components/custom-field/tests/custom-field.ct.d.ts +1 -0
  1167. package/dist/types/components/date-field/date-field.d.ts +127 -0
  1168. package/dist/types/components/date-field/tests/date-field.ct.d.ts +1 -0
  1169. package/dist/types/components/date-time-card/date-time-card.d.ts +1 -1
  1170. package/dist/types/components/dropdown/dropdown-controller.d.ts +1 -0
  1171. package/dist/types/components/dropdown-button/dropdown-button.ct.d.ts +1 -0
  1172. package/dist/types/components/field-label/field-label.d.ts +27 -0
  1173. package/dist/types/components/field-label/tests/field-label.ct.d.ts +1 -0
  1174. package/dist/types/components/field-wrapper/field-wrapper.d.ts +64 -0
  1175. package/dist/types/components/field-wrapper/helper-text-util.d.ts +11 -0
  1176. package/dist/types/components/field-wrapper/tests/field-wrapper.ct.d.ts +1 -0
  1177. package/dist/types/components/helper-text/helper-text.d.ts +37 -0
  1178. package/dist/types/components/layout-form/layout-form.d.ts +22 -0
  1179. package/dist/types/components/radio/radio.d.ts +53 -0
  1180. package/dist/types/components/radio/test/radio.ct.d.ts +1 -0
  1181. package/dist/types/components/radio-group/radio-group.d.ts +60 -0
  1182. package/dist/types/components/radio-group/test/radio-group.ct.d.ts +1 -0
  1183. package/dist/types/components/select/select.d.ts +84 -4
  1184. package/dist/types/components/split-button/split-button.d.ts +6 -0
  1185. package/dist/types/components/text-field/input.fc.d.ts +50 -0
  1186. package/dist/types/components/text-field/number-field.d.ts +117 -0
  1187. package/dist/types/components/text-field/tests/form-ready.ct.d.ts +1 -0
  1188. package/dist/types/components/text-field/text-field.animation.d.ts +1 -0
  1189. package/dist/types/components/text-field/text-field.d.ts +119 -0
  1190. package/dist/types/components/text-field/text-field.util.d.ts +13 -0
  1191. package/dist/types/components/text-field/textarea-field.d.ts +127 -0
  1192. package/dist/types/components/toggle/toggle.d.ts +29 -1
  1193. package/dist/types/components/utils/a11y.d.ts +5 -5
  1194. package/dist/types/components/utils/attributes.d.ts +2 -0
  1195. package/dist/types/components/utils/field/index.d.ts +60 -0
  1196. package/dist/types/components/utils/field/validation.d.ts +15 -0
  1197. package/dist/types/components/utils/testing/index.d.ts +0 -0
  1198. package/dist/types/components/utils/uuid.d.ts +1 -0
  1199. package/dist/types/components/workflow-step/workflow-step.d.ts +1 -1
  1200. package/dist/types/components.d.ts +1741 -47
  1201. package/dist/types/index.d.ts +1 -0
  1202. package/dist/types/tests/utils/test/index.d.ts +3 -0
  1203. package/hydrate/index.d.ts +218 -0
  1204. package/hydrate/index.js +43475 -0
  1205. package/hydrate/package.json +6 -0
  1206. package/package.json +6 -5
  1207. package/scss/components/form/_input.scss +56 -5
  1208. package/scss/mixins/_field.scss +18 -0
  1209. package/scss/mixins/_scrollbar.scss +7 -0
  1210. package/scss/mixins/validation/_form-component.scss +63 -0
  1211. package/scss/theme/classic-dark/_border.scss +1 -1
  1212. package/scss/theme/classic-dark/_borderRadius.scss +1 -1
  1213. package/scss/theme/classic-dark/_borderWidth.scss +1 -1
  1214. package/scss/theme/classic-dark/_boxShadow.scss +1 -1
  1215. package/scss/theme/classic-dark/_color.scss +320 -62
  1216. package/scss/theme/classic-dark/_fontFamilies.scss +1 -1
  1217. package/scss/theme/classic-dark/_fontSizes.scss +1 -1
  1218. package/scss/theme/classic-dark/_fontWeights.scss +1 -1
  1219. package/scss/theme/classic-dark/_index.scss +1 -1
  1220. package/scss/theme/classic-dark/_letterSpacing.scss +1 -1
  1221. package/scss/theme/classic-dark/_lineHeights.scss +1 -1
  1222. package/scss/theme/classic-dark/_other.scss +1 -1
  1223. package/scss/theme/classic-dark/_sizing.scss +1 -1
  1224. package/scss/theme/classic-dark/_spacing.scss +1 -1
  1225. package/scss/theme/classic-dark/_typography.scss +1 -1
  1226. package/scss/theme/classic-light/_border.scss +1 -1
  1227. package/scss/theme/classic-light/_borderRadius.scss +1 -1
  1228. package/scss/theme/classic-light/_borderWidth.scss +1 -1
  1229. package/scss/theme/classic-light/_boxShadow.scss +1 -1
  1230. package/scss/theme/classic-light/_color.scss +320 -62
  1231. package/scss/theme/classic-light/_fontFamilies.scss +1 -1
  1232. package/scss/theme/classic-light/_fontSizes.scss +1 -1
  1233. package/scss/theme/classic-light/_fontWeights.scss +1 -1
  1234. package/scss/theme/classic-light/_index.scss +1 -1
  1235. package/scss/theme/classic-light/_letterSpacing.scss +1 -1
  1236. package/scss/theme/classic-light/_lineHeights.scss +1 -1
  1237. package/scss/theme/classic-light/_other.scss +1 -1
  1238. package/scss/theme/classic-light/_sizing.scss +1 -1
  1239. package/scss/theme/classic-light/_spacing.scss +1 -1
  1240. package/scss/theme/classic-light/_typography.scss +1 -1
  1241. package/components/ix-form-field.js +0 -44
  1242. package/components/ix-form-field.js.map +0 -1
  1243. package/dist/cjs/a11y-d3ce56d1.js.map +0 -1
  1244. package/dist/cjs/index-c6f0ac73.js +0 -2688
  1245. package/dist/cjs/index-c6f0ac73.js.map +0 -1
  1246. package/dist/cjs/ix-form-field.cjs.entry.js +0 -28
  1247. package/dist/cjs/ix-form-field.cjs.entry.js.map +0 -1
  1248. package/dist/cjs/ix-tooltip.cjs.entry.js.map +0 -1
  1249. package/dist/cjs/make-ref-c25629b7.js.map +0 -1
  1250. package/dist/collection/components/form-field/form-field.js +0 -56
  1251. package/dist/collection/components/form-field/form-field.js.map +0 -1
  1252. package/dist/esm/a11y-d5444a76.js.map +0 -1
  1253. package/dist/esm/index-f18c5ad1.js +0 -2656
  1254. package/dist/esm/index-f18c5ad1.js.map +0 -1
  1255. package/dist/esm/ix-form-field.entry.js +0 -24
  1256. package/dist/esm/ix-form-field.entry.js.map +0 -1
  1257. package/dist/esm/ix-tooltip.entry.js.map +0 -1
  1258. package/dist/esm/make-ref-c80046bf.js.map +0 -1
  1259. package/dist/siemens-ix/p-01b8b98c.entry.js +0 -2
  1260. package/dist/siemens-ix/p-01b8b98c.entry.js.map +0 -1
  1261. package/dist/siemens-ix/p-021e1084.entry.js +0 -2
  1262. package/dist/siemens-ix/p-04a362da.entry.js +0 -2
  1263. package/dist/siemens-ix/p-0a1bfcfc.entry.js +0 -2
  1264. package/dist/siemens-ix/p-0fee2dd5.entry.js +0 -2
  1265. package/dist/siemens-ix/p-0fee2dd5.entry.js.map +0 -1
  1266. package/dist/siemens-ix/p-10f86b92.entry.js +0 -2
  1267. package/dist/siemens-ix/p-10f86b92.entry.js.map +0 -1
  1268. package/dist/siemens-ix/p-18a1c4dd.entry.js +0 -2
  1269. package/dist/siemens-ix/p-18a27007.entry.js +0 -2
  1270. package/dist/siemens-ix/p-1cc910b7.entry.js +0 -2
  1271. package/dist/siemens-ix/p-213f16d5.entry.js +0 -2
  1272. package/dist/siemens-ix/p-213f16d5.entry.js.map +0 -1
  1273. package/dist/siemens-ix/p-23dd21b3.entry.js +0 -2
  1274. package/dist/siemens-ix/p-2459f98f.entry.js +0 -2
  1275. package/dist/siemens-ix/p-2459f98f.entry.js.map +0 -1
  1276. package/dist/siemens-ix/p-26e9d40e.js +0 -3
  1277. package/dist/siemens-ix/p-26e9d40e.js.map +0 -1
  1278. package/dist/siemens-ix/p-2c6a35db.entry.js +0 -2
  1279. package/dist/siemens-ix/p-2f4e6ac1.entry.js +0 -2
  1280. package/dist/siemens-ix/p-2f4e6ac1.entry.js.map +0 -1
  1281. package/dist/siemens-ix/p-33538474.entry.js +0 -2
  1282. package/dist/siemens-ix/p-3b8e4fe5.entry.js +0 -2
  1283. package/dist/siemens-ix/p-3b8ff673.entry.js +0 -2
  1284. package/dist/siemens-ix/p-4290098e.entry.js +0 -2
  1285. package/dist/siemens-ix/p-43a58a77.entry.js +0 -2
  1286. package/dist/siemens-ix/p-43a58a77.entry.js.map +0 -1
  1287. package/dist/siemens-ix/p-493cb880.entry.js.map +0 -1
  1288. package/dist/siemens-ix/p-4d57ca67.entry.js +0 -2
  1289. package/dist/siemens-ix/p-4f8ac3bf.js +0 -2
  1290. package/dist/siemens-ix/p-4f8ac3bf.js.map +0 -1
  1291. package/dist/siemens-ix/p-4fd11865.entry.js +0 -2
  1292. package/dist/siemens-ix/p-52bb526e.entry.js +0 -2
  1293. package/dist/siemens-ix/p-56bbdae4.entry.js +0 -2
  1294. package/dist/siemens-ix/p-5d582c48.entry.js +0 -2
  1295. package/dist/siemens-ix/p-5f08da2c.entry.js +0 -2
  1296. package/dist/siemens-ix/p-601cfc6a.entry.js +0 -2
  1297. package/dist/siemens-ix/p-601cfc6a.entry.js.map +0 -1
  1298. package/dist/siemens-ix/p-64c3fa3d.js +0 -2
  1299. package/dist/siemens-ix/p-64c3fa3d.js.map +0 -1
  1300. package/dist/siemens-ix/p-678d821f.entry.js +0 -2
  1301. package/dist/siemens-ix/p-6ea6396e.entry.js +0 -2
  1302. package/dist/siemens-ix/p-6ea6396e.entry.js.map +0 -1
  1303. package/dist/siemens-ix/p-6eb4eefc.entry.js +0 -2
  1304. package/dist/siemens-ix/p-75548c73.entry.js +0 -2
  1305. package/dist/siemens-ix/p-784fe260.entry.js +0 -2
  1306. package/dist/siemens-ix/p-8362e966.js +0 -2
  1307. package/dist/siemens-ix/p-84b3b311.entry.js +0 -2
  1308. package/dist/siemens-ix/p-890d74cd.entry.js +0 -2
  1309. package/dist/siemens-ix/p-8d156396.entry.js +0 -2
  1310. package/dist/siemens-ix/p-902d1046.entry.js +0 -2
  1311. package/dist/siemens-ix/p-90c55341.entry.js +0 -2
  1312. package/dist/siemens-ix/p-96d2d21f.entry.js +0 -2
  1313. package/dist/siemens-ix/p-9dabe2f7.entry.js +0 -2
  1314. package/dist/siemens-ix/p-a147b152.entry.js +0 -2
  1315. package/dist/siemens-ix/p-a35d02ea.entry.js +0 -2
  1316. package/dist/siemens-ix/p-a3ad98bc.entry.js +0 -2
  1317. package/dist/siemens-ix/p-a617e605.entry.js +0 -2
  1318. package/dist/siemens-ix/p-a8838a77.js +0 -2
  1319. package/dist/siemens-ix/p-a9d1ab94.entry.js +0 -2
  1320. package/dist/siemens-ix/p-a9d1ab94.entry.js.map +0 -1
  1321. package/dist/siemens-ix/p-aa58d9d7.entry.js +0 -2
  1322. package/dist/siemens-ix/p-abb29515.entry.js +0 -2
  1323. package/dist/siemens-ix/p-add5b76c.entry.js +0 -2
  1324. package/dist/siemens-ix/p-b24beb48.entry.js +0 -2
  1325. package/dist/siemens-ix/p-b32c2183.entry.js +0 -2
  1326. package/dist/siemens-ix/p-b35a627a.entry.js +0 -2
  1327. package/dist/siemens-ix/p-b475f567.entry.js +0 -2
  1328. package/dist/siemens-ix/p-b7a8f2d5.entry.js +0 -2
  1329. package/dist/siemens-ix/p-b944d015.entry.js +0 -2
  1330. package/dist/siemens-ix/p-bc5d33ce.entry.js +0 -2
  1331. package/dist/siemens-ix/p-bc5d33ce.entry.js.map +0 -1
  1332. package/dist/siemens-ix/p-bd576793.entry.js +0 -2
  1333. package/dist/siemens-ix/p-bdc57334.entry.js +0 -2
  1334. package/dist/siemens-ix/p-c1bd5d78.entry.js +0 -2
  1335. package/dist/siemens-ix/p-c3939d35.entry.js +0 -2
  1336. package/dist/siemens-ix/p-ca65a043.entry.js +0 -2
  1337. package/dist/siemens-ix/p-cbbe9dee.entry.js +0 -2
  1338. package/dist/siemens-ix/p-ccf1bd22.entry.js +0 -2
  1339. package/dist/siemens-ix/p-cf546284.entry.js +0 -2
  1340. package/dist/siemens-ix/p-d08cbeaf.entry.js +0 -2
  1341. package/dist/siemens-ix/p-d3f26126.entry.js +0 -2
  1342. package/dist/siemens-ix/p-d3f26126.entry.js.map +0 -1
  1343. package/dist/siemens-ix/p-d600ea55.entry.js +0 -2
  1344. package/dist/siemens-ix/p-d600ea55.entry.js.map +0 -1
  1345. package/dist/siemens-ix/p-d6a094cf.entry.js +0 -2
  1346. package/dist/siemens-ix/p-d6a094cf.entry.js.map +0 -1
  1347. package/dist/siemens-ix/p-def8b3a4.entry.js +0 -2
  1348. package/dist/siemens-ix/p-def8b3a4.entry.js.map +0 -1
  1349. package/dist/siemens-ix/p-e0cab820.entry.js +0 -2
  1350. package/dist/siemens-ix/p-e2464e13.entry.js +0 -2
  1351. package/dist/siemens-ix/p-e4e24f59.entry.js +0 -2
  1352. package/dist/siemens-ix/p-e678bfc5.entry.js +0 -2
  1353. package/dist/siemens-ix/p-ec741c06.entry.js +0 -2
  1354. package/dist/siemens-ix/p-ecd3b070.entry.js +0 -2
  1355. package/dist/siemens-ix/p-ed2ec72f.entry.js +0 -2
  1356. package/dist/siemens-ix/p-ee20d08c.entry.js +0 -2
  1357. package/dist/siemens-ix/p-f23e0121.entry.js +0 -2
  1358. package/dist/siemens-ix/p-fb55854a.entry.js.map +0 -1
  1359. package/dist/types/components/form-field/form-field.d.ts +0 -10
  1360. /package/dist/siemens-ix/{p-1cc910b7.entry.js.map → p-0bed10af.entry.js.map} +0 -0
  1361. /package/dist/siemens-ix/{p-5d582c48.entry.js.map → p-0d907964.entry.js.map} +0 -0
  1362. /package/dist/siemens-ix/{p-b7a8f2d5.entry.js.map → p-0dfc3b80.entry.js.map} +0 -0
  1363. /package/dist/siemens-ix/{p-ced10144.js.map → p-224ebf90.js.map} +0 -0
  1364. /package/dist/siemens-ix/{p-418959d3.entry.js.map → p-293dd6d1.entry.js.map} +0 -0
  1365. /package/dist/siemens-ix/{p-114bb49b.entry.js.map → p-35fa9e1a.entry.js.map} +0 -0
  1366. /package/dist/siemens-ix/{p-890d74cd.entry.js.map → p-399bb0ce.entry.js.map} +0 -0
  1367. /package/dist/siemens-ix/{p-a35d02ea.entry.js.map → p-50cae62d.entry.js.map} +0 -0
  1368. /package/dist/siemens-ix/{p-c3939d35.entry.js.map → p-53e62b51.entry.js.map} +0 -0
  1369. /package/dist/siemens-ix/{p-56bbdae4.entry.js.map → p-5bf40a9f.entry.js.map} +0 -0
  1370. /package/dist/siemens-ix/{p-01a8adf1.entry.js.map → p-628c8612.entry.js.map} +0 -0
  1371. /package/dist/siemens-ix/{p-a6fbea5b.entry.js.map → p-815dd9a1.entry.js.map} +0 -0
  1372. /package/dist/siemens-ix/{p-2637665e.entry.js.map → p-87d7aaf9.entry.js.map} +0 -0
  1373. /package/dist/siemens-ix/{p-f2a81e70.entry.js.map → p-8dcf30ce.entry.js.map} +0 -0
  1374. /package/dist/siemens-ix/{p-30e8a26a.entry.js.map → p-8e10d2f2.entry.js.map} +0 -0
  1375. /package/dist/siemens-ix/{p-52bb526e.entry.js.map → p-a9b0c087.entry.js.map} +0 -0
  1376. /package/dist/siemens-ix/{p-a8838a77.js.map → p-bc1e92ac.js.map} +0 -0
  1377. /package/dist/siemens-ix/{p-4fd11865.entry.js.map → p-c3db120e.entry.js.map} +0 -0
  1378. /package/dist/siemens-ix/{p-ccf1bd22.entry.js.map → p-c66e4a5f.entry.js.map} +0 -0
  1379. /package/dist/siemens-ix/{p-9dc3e182.entry.js.map → p-e72dfb3c.entry.js.map} +0 -0
  1380. /package/dist/siemens-ix/{p-8362e966.js.map → p-ed991838.js.map} +0 -0
  1381. /package/dist/siemens-ix/{p-678d821f.entry.js.map → p-ef6171a2.entry.js.map} +0 -0
  1382. /package/dist/siemens-ix/{p-b32c2183.entry.js.map → p-f3c3366d.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["menuAvatarCss","IxMenuAvatarStyle0","MenuAvatar","this","avatarElementId","onSlotChange","slot","hostElement","shadowRoot","querySelector","elements","getSlottedElements","showContextMenu","length","render","h","Host","key","class","title","top","id","tabIndex","image","initials","bottom","trigger","placement","hidden","showLogoutButton","offset","mainAxis","onSlotchange","label","i18nLogout","icon","onClick","e","logoutClick","emit"],"sources":["src/components/menu-avatar/menu-avatar.scss?tag=ix-menu-avatar&encapsulation=shadow","src/components/menu-avatar/menu-avatar.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/text-truncation';\n@import 'mixins/hover';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: block;\n position: relative;\n margin-bottom: 0.5rem;\n margin-right: 0.75rem;\n\n .avatar {\n all: unset;\n box-sizing: border-box;\n\n display: flex;\n align-items: center;\n height: 2.5rem;\n width: 100%;\n max-height: 2.5rem;\n padding-left: 0.25rem;\n margin-left: 0.41rem;\n margin-right: 0.35rem;\n transition: var(--theme-default-time);\n\n .avatar-name {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n margin-left: $default-space;\n line-height: 1.14;\n\n .text-default-single {\n color: var(--theme-nav-item-primary--color);\n @include ellipsis;\n }\n }\n\n border-radius: 1.25rem;\n\n @include hover {\n background-color: var(--theme-avatar-btn--background--hover);\n color: var(--theme-avatar-btn--color--hover);\n }\n\n @include active {\n background-color: var(--theme-avatar-btn--background--active);\n color: var(--theme-avatar-btn--color--active);\n }\n }\n\n .avatar:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\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 */\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { getSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-menu-avatar',\n styleUrl: 'menu-avatar.scss',\n shadow: true,\n})\nexport class MenuAvatar {\n @Element() hostElement!: HTMLIxMenuAvatarElement;\n\n /**\n * First line of text\n */\n @Prop() top: string;\n\n /**\n * Second line of text\n */\n @Prop() bottom: string;\n\n /**\n * Display a avatar image\n *\n * @since 1.4.0\n */\n @Prop() image: string;\n\n /**\n * Display the initials of the user. Will be overwritten by image\n *\n * @since 1.4.0\n */\n @Prop() initials: string;\n\n /**\n * Use for translation\n */\n @Prop() i18nLogout: string = 'Logout';\n\n /**\n * Control the visibility of the logout button\n * @since 2.1.0\n */\n @Prop() showLogoutButton: boolean = true;\n\n /**\n * Control the visibility of the dropdown menu\n * @since 2.1.0\n */\n @State() showContextMenu: boolean = false;\n\n /**\n * Logout click\n */\n @Event() logoutClick: EventEmitter;\n\n private avatarElementId = 'ix-menu-avatar-id';\n\n onSlotChange() {\n const slot = this.hostElement.shadowRoot.querySelector('slot');\n if (!slot) {\n return;\n }\n const elements = getSlottedElements(slot);\n this.showContextMenu = elements.length !== 0;\n }\n\n render() {\n return (\n <Host slot=\"ix-menu-avatar\">\n <button\n class=\"nav-item top-item avatar no-hover\"\n title={this.top}\n id={this.avatarElementId}\n tabIndex={0}\n >\n <ix-avatar image={this.image} initials={this.initials}></ix-avatar>\n\n <div class=\"avatar-name\">\n <span class=\"text-default-single\" title={this.top}>\n {this.top}\n </span>\n <span class=\"text-default-single\" title={this.bottom}>\n {this.bottom}\n </span>\n </div>\n </button>\n <ix-dropdown\n trigger={this.hostElement}\n placement={'right-start'}\n hidden={!this.showContextMenu && !this.showLogoutButton}\n offset={{\n mainAxis: 16,\n }}\n >\n <slot onSlotchange={() => this.onSlotChange()}></slot>\n {this.showLogoutButton ? (\n <ix-menu-avatar-item\n label={this.i18nLogout}\n icon={'log-out'}\n onClick={(e) => {\n this.logoutClick.emit(e);\n }}\n ></ix-menu-avatar-item>\n ) : null}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAgB,ouDACtB,MAAAC,EAAeD,E,MCwBFE,EAAU,M,kEAiDbC,KAAAC,gBAAkB,oB,sGAnBG,S,sBAMO,K,qBAMA,K,CASpC,YAAAC,GACE,MAAMC,EAAOH,KAAKI,YAAYC,WAAWC,cAAc,QACvD,IAAKH,EAAM,CACT,M,CAEF,MAAMI,EAAWC,EAAmBL,GACpCH,KAAKS,gBAAkBF,EAASG,SAAW,C,CAG7C,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACX,KAAK,kBACTS,EAAA,UAAAE,IAAA,2CACEC,MAAM,oCACNC,MAAOhB,KAAKiB,IACZC,GAAIlB,KAAKC,gBACTkB,SAAU,GAEVP,EAAA,aAAAE,IAAA,2CAAWM,MAAOpB,KAAKoB,MAAOC,SAAUrB,KAAKqB,WAE7CT,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,sBAAsBC,MAAOhB,KAAKiB,KAC3CjB,KAAKiB,KAERL,EAAA,QAAAE,IAAA,2CAAMC,MAAM,sBAAsBC,MAAOhB,KAAKsB,QAC3CtB,KAAKsB,UAIZV,EAAA,eAAAE,IAAA,2CACES,QAASvB,KAAKI,YACdoB,UAAW,cACXC,QAASzB,KAAKS,kBAAoBT,KAAK0B,iBACvCC,OAAQ,CACNC,SAAU,KAGZhB,EAAA,QAAAE,IAAA,2CAAMe,aAAc,IAAM7B,KAAKE,iBAC9BF,KAAK0B,iBACJd,EAAA,uBACEkB,MAAO9B,KAAK+B,WACZC,KAAM,UACNC,QAAUC,IACRlC,KAAKmC,YAAYC,KAAKF,EAAE,IAG1B,M"}
1
+ {"version":3,"names":["menuAvatarCss","IxMenuAvatarStyle0","MenuAvatar","this","avatarElementId","onSlotChange","slot","hostElement","shadowRoot","querySelector","elements","getSlottedElements","showContextMenu","length","render","h","Host","key","class","title","top","id","tabIndex","image","initials","bottom","trigger","placement","hidden","showLogoutButton","offset","mainAxis","onSlotchange","label","i18nLogout","icon","onClick","e","logoutClick","emit"],"sources":["src/components/menu-avatar/menu-avatar.scss?tag=ix-menu-avatar&encapsulation=shadow","src/components/menu-avatar/menu-avatar.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/text-truncation';\n@import 'mixins/hover';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: block;\n position: relative;\n margin-bottom: 0.5rem;\n margin-right: 0.75rem;\n\n .avatar {\n all: unset;\n box-sizing: border-box;\n\n display: flex;\n align-items: center;\n height: 2.5rem;\n width: 100%;\n max-height: 2.5rem;\n padding-left: 0.25rem;\n margin-left: 0.41rem;\n margin-right: 0.35rem;\n transition: var(--theme-default-time);\n\n .avatar-name {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n margin-left: $default-space;\n line-height: 1.14;\n\n .text-default-single {\n color: var(--theme-nav-item-primary--color);\n @include ellipsis;\n }\n }\n\n border-radius: 1.25rem;\n\n @include hover {\n background-color: var(--theme-avatar-btn--background--hover);\n color: var(--theme-avatar-btn--color--hover);\n }\n\n @include active {\n background-color: var(--theme-avatar-btn--background--active);\n color: var(--theme-avatar-btn--color--active);\n }\n }\n\n .avatar:focus-visible {\n outline: 1px solid var(--theme-color-focus-bdr);\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 */\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { getSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-menu-avatar',\n styleUrl: 'menu-avatar.scss',\n shadow: true,\n})\nexport class MenuAvatar {\n @Element() hostElement!: HTMLIxMenuAvatarElement;\n\n /**\n * First line of text\n */\n @Prop() top: string;\n\n /**\n * Second line of text\n */\n @Prop() bottom: string;\n\n /**\n * Display a avatar image\n *\n * @since 1.4.0\n */\n @Prop() image: string;\n\n /**\n * Display the initials of the user. Will be overwritten by image\n *\n * @since 1.4.0\n */\n @Prop() initials: string;\n\n /**\n * Use for translation\n */\n @Prop() i18nLogout: string = 'Logout';\n\n /**\n * Control the visibility of the logout button\n * @since 2.1.0\n */\n @Prop() showLogoutButton: boolean = true;\n\n /**\n * Control the visibility of the dropdown menu\n * @since 2.1.0\n */\n @State() showContextMenu: boolean = false;\n\n /**\n * Logout click\n */\n @Event() logoutClick: EventEmitter;\n\n private avatarElementId = 'ix-menu-avatar-id';\n\n onSlotChange() {\n const slot = this.hostElement.shadowRoot.querySelector('slot');\n if (!slot) {\n return;\n }\n const elements = getSlottedElements(slot);\n this.showContextMenu = elements.length !== 0;\n }\n\n render() {\n return (\n <Host slot=\"ix-menu-avatar\">\n <button\n class=\"nav-item top-item avatar no-hover\"\n title={this.top}\n id={this.avatarElementId}\n tabIndex={0}\n >\n <ix-avatar image={this.image} initials={this.initials}></ix-avatar>\n\n <div class=\"avatar-name\">\n <span class=\"text-default-single\" title={this.top}>\n {this.top}\n </span>\n <span class=\"text-default-single\" title={this.bottom}>\n {this.bottom}\n </span>\n </div>\n </button>\n <ix-dropdown\n trigger={this.hostElement}\n placement={'right-start'}\n hidden={!this.showContextMenu && !this.showLogoutButton}\n offset={{\n mainAxis: 16,\n }}\n >\n <slot onSlotchange={() => this.onSlotChange()}></slot>\n {this.showLogoutButton ? (\n <ix-menu-avatar-item\n label={this.i18nLogout}\n icon={'log-out'}\n onClick={(e) => {\n this.logoutClick.emit(e);\n }}\n ></ix-menu-avatar-item>\n ) : null}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAgB,g4DACtB,MAAAC,EAAeD,E,MCwBFE,EAAU,M,kEAiDbC,KAAAC,gBAAkB,oB,sGAnBG,S,sBAMO,K,qBAMA,K,CASpC,YAAAC,GACE,MAAMC,EAAOH,KAAKI,YAAYC,WAAWC,cAAc,QACvD,IAAKH,EAAM,CACT,M,CAEF,MAAMI,EAAWC,EAAmBL,GACpCH,KAAKS,gBAAkBF,EAASG,SAAW,C,CAG7C,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACX,KAAK,kBACTS,EAAA,UAAAE,IAAA,2CACEC,MAAM,oCACNC,MAAOhB,KAAKiB,IACZC,GAAIlB,KAAKC,gBACTkB,SAAU,GAEVP,EAAA,aAAAE,IAAA,2CAAWM,MAAOpB,KAAKoB,MAAOC,SAAUrB,KAAKqB,WAE7CT,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAMC,MAAM,sBAAsBC,MAAOhB,KAAKiB,KAC3CjB,KAAKiB,KAERL,EAAA,QAAAE,IAAA,2CAAMC,MAAM,sBAAsBC,MAAOhB,KAAKsB,QAC3CtB,KAAKsB,UAIZV,EAAA,eAAAE,IAAA,2CACES,QAASvB,KAAKI,YACdoB,UAAW,cACXC,QAASzB,KAAKS,kBAAoBT,KAAK0B,iBACvCC,OAAQ,CACNC,SAAU,KAGZhB,EAAA,QAAAE,IAAA,2CAAMe,aAAc,IAAM7B,KAAKE,iBAC9BF,KAAK0B,iBACJd,EAAA,uBACEkB,MAAO9B,KAAK+B,WACZC,KAAM,UACNC,QAAUC,IACRlC,KAAKmC,YAAYC,KAAKF,EAAE,IAG1B,M"}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,H as i,g as s}from"./p-f86a894a.js";import{c as n,a as o}from"./p-42c66a44.js";import{r}from"./p-7f4b78e5.js";import"./p-da8517ed.js";const a=":host{display:block}:host .bottom-text{display:flex;position:relative;align-items:flex-start;justify-content:flex-start;gap:0.25rem;margin-right:0.25rem}:host .text-icon{margin:0.125rem}:host .text-icon.invalid{color:var(--theme-helper-icon--color--invalid)}:host .text-icon.info{color:var(--theme-helper-icon--color--info)}:host .text-icon.warning{color:var(--theme-helper-icon--color--warning)}:host .text-icon.valid{color:var(--theme-helper-icon--color--valid)}";const h=a;const l=class{constructor(e){t(this,e);this.observer=new MutationObserver((()=>this.checkForRequired()));this.htmlFor=undefined;this.helperText=undefined;this.invalidText=undefined;this.validText=undefined;this.infoText=undefined;this.warningText=undefined;this.validationResults={isInfo:false,isInvalid:false,isValid:false,isWarning:false,isInvalidByRequired:false}}connectedCallback(){this.observer.observe(window.document,{childList:true,subtree:true})}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}componentWillRender(){this.checkForRequired()}async checkForRequired(){if(!this.htmlFor){return}const t=document.getElementById(this.htmlFor);if(!t){return}if(this.classObserver){this.classObserver.destroy()}this.classObserver=n(t,(()=>{this.validationResults=o(t)}));this.validationResults=o(t)}render(){return e(i,{key:"3db11c77053d58bea53cb0be437354ebfda9f004"},r(Object.assign({helperText:this.helperText,invalidText:this.invalidText,validText:this.validText,infoText:this.infoText,warningText:this.warningText},this.validationResults)))}get hostElement(){return s(this)}};l.style=h;export{l as ix_helper_text};
2
+ //# sourceMappingURL=p-c71d1690.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["helperTextCss","IxHelperTextStyle0","HelperText","this","observer","MutationObserver","checkForRequired","isInfo","isInvalid","isValid","isWarning","isInvalidByRequired","connectedCallback","observe","window","document","childList","subtree","disconnectedCallback","disconnect","componentWillRender","htmlFor","forElement","getElementById","classObserver","destroy","createClassMutationObserver","validationResults","checkFieldClasses","render","h","Host","key","renderHelperText","Object","assign","helperText","invalidText","validText","infoText","warningText"],"sources":["src/components/helper-text/helper-text.scss?tag=ix-helper-text&encapsulation=shadow","src/components/helper-text/helper-text.tsx"],"sourcesContent":["@import \"./../field-wrapper/field-wrapper.mixins.scss\";\n\n:host {\n display: block;\n\n @include helper-text;\n}\n","import { Component, Host, Prop, State, h, Element } from '@stencil/core';\nimport {\n ClassMutationObserver,\n HTMLIxFormComponentElement,\n ValidationResults,\n checkFieldClasses,\n createClassMutationObserver,\n} from '../utils/field';\nimport { renderHelperText } from '../field-wrapper/helper-text-util';\nimport { IxComponent } from '../utils/internal';\n\n@Component({\n tag: 'ix-helper-text',\n styleUrl: 'helper-text.scss',\n shadow: true,\n})\nexport class HelperText implements IxComponent {\n @Element() hostElement!: HTMLIxHelperTextElement;\n /**\n * The id of the form element that the label is associated with\n */\n @Prop() htmlFor?: string;\n\n /**\n * Show text below the field component\n */\n @Prop() helperText?: string;\n\n /**\n * Error text for the field component\n */\n @Prop() invalidText?: string;\n\n /**\n * Valid text for the field component\n */\n @Prop() validText?: string;\n\n /**\n * Info text for the field component\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text for the field component\n */\n @Prop() warningText?: string;\n\n @State() validationResults: ValidationResults = {\n isInfo: false,\n isInvalid: false,\n isValid: false,\n isWarning: false,\n isInvalidByRequired: false,\n };\n\n private observer = new MutationObserver(() => this.checkForRequired());\n private classObserver?: ClassMutationObserver;\n\n connectedCallback() {\n this.observer.observe(window.document, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback(): void {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n componentWillRender() {\n this.checkForRequired();\n }\n\n private async checkForRequired() {\n if (!this.htmlFor) {\n return;\n }\n const forElement = document.getElementById(\n this.htmlFor\n ) as HTMLIxFormComponentElement<unknown>;\n if (!forElement) {\n return;\n }\n\n if (this.classObserver) {\n this.classObserver.destroy();\n }\n this.classObserver = createClassMutationObserver(forElement, () => {\n this.validationResults = checkFieldClasses(forElement);\n });\n this.validationResults = checkFieldClasses(forElement);\n }\n\n render() {\n return (\n <Host>\n {renderHelperText({\n helperText: this.helperText,\n invalidText: this.invalidText,\n validText: this.validText,\n infoText: this.infoText,\n warningText: this.warningText,\n ...this.validationResults,\n })}\n </Host>\n );\n }\n}\n"],"mappings":"2JAAA,MAAMA,EAAgB,mdACtB,MAAAC,EAAeD,E,MCeFE,EAAU,M,yBAwCbC,KAAAC,SAAW,IAAIC,kBAAiB,IAAMF,KAAKG,qB,+KARH,CAC9CC,OAAQ,MACRC,UAAW,MACXC,QAAS,MACTC,UAAW,MACXC,oBAAqB,M,CAMvB,iBAAAC,GACET,KAAKC,SAASS,QAAQC,OAAOC,SAAU,CACrCC,UAAW,KACXC,QAAS,M,CAIb,oBAAAC,GACE,GAAIf,KAAKC,SAAU,CACjBD,KAAKC,SAASe,Y,EAIlB,mBAAAC,GACEjB,KAAKG,kB,CAGC,sBAAMA,GACZ,IAAKH,KAAKkB,QAAS,CACjB,M,CAEF,MAAMC,EAAaP,SAASQ,eAC1BpB,KAAKkB,SAEP,IAAKC,EAAY,CACf,M,CAGF,GAAInB,KAAKqB,cAAe,CACtBrB,KAAKqB,cAAcC,S,CAErBtB,KAAKqB,cAAgBE,EAA4BJ,GAAY,KAC3DnB,KAAKwB,kBAAoBC,EAAkBN,EAAW,IAExDnB,KAAKwB,kBAAoBC,EAAkBN,E,CAG7C,MAAAO,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACFC,EAAgBC,OAAAC,OAAA,CACfC,WAAYjC,KAAKiC,WACjBC,YAAalC,KAAKkC,YAClBC,UAAWnC,KAAKmC,UAChBC,SAAUpC,KAAKoC,SACfC,YAAarC,KAAKqC,aACfrC,KAAKwB,oB"}
@@ -0,0 +1,2 @@
1
+ import{h as n}from"./p-f86a894a.js";import{a as e}from"./p-36c0f378.js";import{s as t}from"./p-42c66a44.js";import{a}from"./p-71206084.js";function i(e){return n("textarea",Object.assign({readOnly:e.readonly,disabled:e.disabled,maxLength:e.maxLength,minLength:e.minLength,cols:Number(e.textareaCols),rows:Number(e.textareaRows),ref:e.textAreaRef,class:{"is-invalid":e.isInvalid},required:e.required,value:e.value,placeholder:e.placeholder,onChange:n=>{const t=n.target;e.valueChange(t.value)},onInput:n=>{const t=n.target;e.updateFormInternalValue(t.value)},onBlur:()=>e.onBlur(),style:{height:e.textareaHeight,width:e.textareaWidth}},e.ariaAttributes))}function o(e){return n("input",Object.assign({id:e.id,autoComplete:"off",readOnly:e.readonly,disabled:e.disabled,min:e.min,max:e.max,maxLength:e.maxLength?Number(e.maxLength):undefined,minLength:e.maxLength?Number(e.minLength):undefined,ref:e.inputRef,pattern:e.pattern,type:e.type,class:{"is-invalid":e.isInvalid},required:e.required,value:e.value,placeholder:e.placeholder,onKeyPress:n=>e.onKeyPress(n),onChange:n=>{const t=n.target;e.valueChange(t.value)},onInput:n=>{const t=n.target;e.updateFormInternalValue(t.value)},onBlur:()=>e.onBlur()},e.ariaAttributes))}function r(e,t){return n("div",{class:"postfix-container",ref:e.postfixRef},n("slot",{name:"postfix",onSlotchange:e.onSlotChange}),t)}function s(e){return n("div",{class:"prefix-container",ref:e.prefixRef},n("slot",{name:"prefix",onSlotchange:e.onSlotChange}))}function u(n){const e=5;a({targets:n,duration:200,easing:"easeInOutSine",loop:2,translateX:[{value:e*-1},{value:e},{value:e/-2},{value:e/2},{value:0}]})}function c(n,e){n.isInvalid=e.isInvalid||e.isInvalidByRequired;n.isValid=e.isValid;n.isInfo=e.isInfo;n.isWarning=e.isWarning}function f(n,e){if(n.allowedCharactersPattern){const t=new RegExp(n.allowedCharactersPattern);if(!t.test(e.key)){e.preventDefault();u(n.inputRef.current)}}}async function l(n,e){const a=e.validity;const i=n.validityStateChange.emit(a);if(i.defaultPrevented){return}if(!n.value){return}const o=await t(n);if(o){return}const{valid:r}=a;n.hostElement.classList.toggle("ix-invalid",!r)}function d(n,e){n.ixBlur.emit();l(n,e)}function p(n,e,t){var a;if(!n){return}if(e===0){return}const i=`${(e+12)/16}rem`;if(t.postfix){n.style.paddingRight=`calc(${i} + ${(a=t.additionalPaddingRight)!==null&&a!==void 0?a:"0rem"})`}else{n.style.paddingLeft=i}}function m(n,e,t){const a=n.getBoundingClientRect();const i=e.getBoundingClientRect();if(a){p(t,a.width,{postfix:false})}if(i){p(t,i.width,{postfix:true})}}function v(n){const t={"aria-invalid":`${e(n.isInvalid)}`,"aria-required":`${e(n.required)}`};if(n.isInvalid&&n.invalidText){t["aria-errormessage"]=n.invalidText}return t}export{o as I,r as P,i as T,m as a,s as b,p as c,f as d,l as e,v as g,c as m,d as o};
2
+ //# sourceMappingURL=p-cce7a3d5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextareaElement","props","h","Object","assign","readOnly","readonly","disabled","maxLength","minLength","cols","Number","textareaCols","rows","textareaRows","ref","textAreaRef","class","isInvalid","required","value","placeholder","onChange","changeEvent","target","valueChange","onInput","inputEvent","updateFormInternalValue","onBlur","style","height","textareaHeight","width","textareaWidth","ariaAttributes","InputElement","id","autoComplete","min","max","undefined","inputRef","pattern","type","onKeyPress","event","PostfixSlot","children","postfixRef","name","onSlotchange","onSlotChange","PrefixSlot","prefixRef","shakeInput","input","xMax","anime","targets","duration","easing","loop","translateX","mapValidationResult","result","isInvalidByRequired","isValid","isInfo","isWarning","checkAllowedKeys","comp","allowedCharactersPattern","regex","RegExp","test","key","preventDefault","current","async","checkInternalValidity","validityState","validity","eventResult","validityStateChange","emit","defaultPrevented","skipValidation","shouldSuppressInternalValidation","valid","hostElement","classList","toggle","onInputBlur","ixBlur","applyPostfixPadding","inputElement","options","padding","postfix","paddingRight","_a","additionalPaddingRight","paddingLeft","adjustPaddingForPrefixAndPostfix","prefixElement","postfixElement","prefixBoundingRect","getBoundingClientRect","postfixBoundingRect","getAriaAttributesForInput","component","inputAria","a11yBoolean","invalidText"],"sources":["src/components/text-field/input.fc.tsx","src/components/text-field/text-field.animation.ts","src/components/text-field/text-field.util.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 */\nimport { h } from '@stencil/core';\nimport { MakeRef } from '../utils/make-ref';\nimport { A11yAttributes } from '../utils/a11y';\n\nexport function TextareaElement(props: {\n textareaHeight?: string;\n textareaWidth?: string;\n textareaRows?: string;\n textareaCols?: string;\n disabled: boolean;\n readonly: boolean;\n maxLength?: number;\n minLength?: number;\n isInvalid: boolean;\n required: boolean;\n value: string;\n placeholder?: string;\n textAreaRef: (el: HTMLTextAreaElement) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <textarea\n readOnly={props.readonly}\n disabled={props.disabled}\n maxLength={props.maxLength}\n minLength={props.minLength}\n cols={Number(props.textareaCols)}\n rows={Number(props.textareaRows)}\n ref={props.textAreaRef}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onChange={(changeEvent) => {\n const target = changeEvent.target as HTMLInputElement;\n props.valueChange(target.value);\n }}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n }}\n onBlur={() => props.onBlur()}\n style={{ height: props.textareaHeight, width: props.textareaWidth }}\n {...props.ariaAttributes}\n ></textarea>\n );\n}\n\nexport function InputElement(props: {\n id: string;\n disabled: boolean;\n readonly: boolean;\n maxLength?: string | number;\n minLength?: string | number;\n max?: string | number;\n min?: string | number;\n pattern?: string;\n type: string;\n isInvalid: boolean;\n required: boolean;\n value: string | number;\n placeholder?: string;\n inputRef: (el: HTMLInputElement) => void;\n onKeyPress: (event: KeyboardEvent) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <input\n id={props.id}\n autoComplete=\"off\"\n readOnly={props.readonly}\n disabled={props.disabled}\n min={props.min}\n max={props.max}\n maxLength={props.maxLength ? Number(props.maxLength) : undefined}\n minLength={props.maxLength ? Number(props.minLength) : undefined}\n ref={props.inputRef}\n pattern={props.pattern}\n type={props.type}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onKeyPress={(event) => props.onKeyPress(event)}\n onChange={(changeEvent) => {\n const target = changeEvent.target as HTMLInputElement;\n props.valueChange(target.value);\n }}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n }}\n onBlur={() => props.onBlur()}\n {...props.ariaAttributes}\n ></input>\n );\n}\n\nexport function PostfixSlot(\n props: {\n postfixRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n },\n children\n) {\n return (\n <div class=\"postfix-container\" ref={props.postfixRef}>\n <slot name=\"postfix\" onSlotchange={props.onSlotChange}></slot>\n {children}\n </div>\n );\n}\n\nexport function PrefixSlot(props: {\n prefixRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}) {\n return (\n <div class=\"prefix-container\" ref={props.prefixRef}>\n <slot name=\"prefix\" onSlotchange={props.onSlotChange}></slot>\n </div>\n );\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 */\nimport anime from 'animejs';\n\nexport function shakeInput(input: HTMLInputElement) {\n const xMax = 5;\n anime({\n targets: input,\n duration: 200,\n easing: 'easeInOutSine',\n loop: 2,\n translateX: [\n {\n value: xMax * -1,\n },\n {\n value: xMax,\n },\n {\n value: xMax / -2,\n },\n {\n value: xMax / 2,\n },\n {\n value: 0,\n },\n ],\n });\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 { A11yAttributes, a11yBoolean } from '../utils/a11y';\nimport {\n IxFormComponent,\n IxInputFieldComponent,\n ValidationResults,\n shouldSuppressInternalValidation,\n} from '../utils/field';\nimport { generateUUID } from '../utils/uuid';\nimport { shakeInput } from './text-field.animation';\n\nexport function createIdIfNotExists(\n element: IxFormComponent,\n idPrefix: string = 'field'\n) {\n return element.hasAttribute('id')\n ? element.getAttribute('id')\n : `${idPrefix}-${generateUUID()}`;\n}\n\nexport function mapValidationResult(\n ref: IxInputFieldComponent<unknown>,\n result: ValidationResults\n) {\n ref.isInvalid = result.isInvalid || result.isInvalidByRequired;\n ref.isValid = result.isValid;\n ref.isInfo = result.isInfo;\n ref.isWarning = result.isWarning;\n}\n\nexport function checkAllowedKeys(\n comp: IxInputFieldComponent<unknown>,\n event: KeyboardEvent\n) {\n if (comp.allowedCharactersPattern) {\n const regex = new RegExp(comp.allowedCharactersPattern);\n if (!regex.test(event.key)) {\n event.preventDefault();\n shakeInput(comp.inputRef.current);\n }\n }\n}\n\nexport async function checkInternalValidity(\n comp: IxFormComponent<unknown>,\n input: HTMLInputElement | HTMLTextAreaElement\n) {\n const validityState = input.validity;\n\n const eventResult = comp.validityStateChange.emit(validityState);\n\n if (eventResult.defaultPrevented) {\n return;\n }\n\n if (!comp.value) {\n return;\n }\n\n const skipValidation = await shouldSuppressInternalValidation(comp);\n if (skipValidation) {\n return;\n }\n\n const { valid } = validityState;\n comp.hostElement.classList.toggle('ix-invalid', !valid);\n}\n\nexport function onInputBlur(\n comp: IxInputFieldComponent<unknown>,\n input: HTMLInputElement | HTMLTextAreaElement\n) {\n comp.ixBlur.emit();\n checkInternalValidity(comp, input);\n}\n\nexport function applyPostfixPadding(\n inputElement: HTMLElement,\n width: number,\n options: {\n postfix: boolean;\n additionalPaddingRight?: string;\n }\n) {\n if (!inputElement) {\n return;\n }\n\n if (width === 0) {\n return;\n }\n\n const padding = `${(width + 12) / 16}rem`;\n\n if (options.postfix) {\n inputElement.style.paddingRight = `calc(${padding} + ${\n options.additionalPaddingRight ?? '0rem'\n })`;\n } else {\n inputElement.style.paddingLeft = padding;\n }\n}\n\nexport function adjustPaddingForPrefixAndPostfix(\n prefixElement: HTMLElement,\n postfixElement: HTMLElement,\n inputElement: HTMLElement\n) {\n const prefixBoundingRect = prefixElement.getBoundingClientRect();\n const postfixBoundingRect = postfixElement.getBoundingClientRect();\n\n if (prefixBoundingRect) {\n applyPostfixPadding(inputElement, prefixBoundingRect.width, {\n postfix: false,\n });\n }\n\n if (postfixBoundingRect) {\n applyPostfixPadding(inputElement, postfixBoundingRect.width, {\n postfix: true,\n });\n }\n}\n\nexport function getAriaAttributesForInput(\n component: IxInputFieldComponent\n): A11yAttributes {\n const inputAria: A11yAttributes = {\n 'aria-invalid': `${a11yBoolean(component.isInvalid)}`,\n 'aria-required': `${a11yBoolean(component.required)}`,\n };\n\n if (component.isInvalid && component.invalidText) {\n inputAria['aria-errormessage'] = component.invalidText;\n }\n return inputAria;\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i,H as s,g as n}from"./p-f86a894a.js";import{H as a}from"./p-42c66a44.js";const l=":host{display:inline-block;position:relative}:host .checkbox-container{display:flex;flex-direction:row;gap:0.5rem;margin:0.35rem 0;flex-wrap:wrap}";const r=l;var d=undefined&&undefined.__decorate||function(e,t,i,s){var n=arguments.length,a=n<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,i):s,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(e,t,i,s);else for(var r=e.length-1;r>=0;r--)if(l=e[r])a=(n<3?l(a):n>3?l(t,i,a):l(t,i))||a;return n>3&&a&&Object.defineProperty(t,i,a),a};const h=class{constructor(i){e(this,i);this.valueChange=t(this,"valueChange",7);this.observer=new MutationObserver((()=>{this.ensureOnlyLastRadioChecked()}));this.helperText=undefined;this.label=undefined;this.value=undefined;this.invalidText=undefined;this.infoText=undefined;this.warningText=undefined;this.validText=undefined;this.showTextAsTooltip=undefined;this.isInvalid=false;this.isValid=false;this.isInfo=false;this.isWarning=false}get radiobuttonElements(){return Array.from(this.hostElement.querySelectorAll("ix-radio"))}connectedCallback(){this.observer.observe(this.hostElement,{childList:true,subtree:true,attributes:true,attributeFilter:["checked"]})}componentWillLoad(){this.selectInitialValue();this.ensureOnlyLastRadioChecked()}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}selectInitialValue(){if(!this.value){return}this.radiobuttonElements.forEach((e=>{e.checked=e.value===this.value}))}ensureOnlyLastRadioChecked(){const e=this.radiobuttonElements.filter((e=>e.checked));e.forEach(((t,i)=>{if(i===e.length-1){return}t.checked=false}))}onValueChangeHandler(e){this.radiobuttonElements.forEach((t=>{t.checked=t.value===e}))}onCheckedChangeHandler(e){this.radiobuttonElements.forEach((t=>{if(t!==e.target){t.checked=false;return}t.checked=true;this.valueChange.emit(t.value)}))}onClassField({isInvalid:e,isInfo:t,isValid:i,isWarning:s}){this.isInvalid=e;this.isInfo=t;this.isValid=i;this.isWarning=s}render(){return i(s,{key:"06f2de8cda259460c5b3c0a898f565ada89c8880"},i("ix-field-wrapper",{key:"7d29f98bc31ee137db616621ace4887db15c9350",label:this.label,helperText:this.helperText,invalidText:this.invalidText,infoText:this.infoText,warningText:this.warningText,validText:this.validText,showTextAsTooltip:this.showTextAsTooltip,isValid:this.isValid,isInfo:this.isInfo,isWarning:this.isWarning,isInvalid:this.isInvalid},i("slot",{key:"961f7f85c2f2f9c319eb924bdd06e9500fc1543d",name:"label",slot:"label"}),i("div",{key:"8c52e80c230edde2254ef6105a71e660f6d3e1d7",class:"checkbox-container"},i("slot",{key:"cf0e1efd134143c4a15f798fc88ef024c941f03c"}))))}get hostElement(){return n(this)}static get watchers(){return{value:["onValueChangeHandler"]}}};d([a({includeChildren:true})],h.prototype,"onClassField",null);h.style=r;export{h as ix_radio_group};
2
+ //# sourceMappingURL=p-ce8a0611.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["radioGroupCss","IxRadioGroupStyle0","RadiobuttonGroup","this","observer","MutationObserver","ensureOnlyLastRadioChecked","radiobuttonElements","Array","from","hostElement","querySelectorAll","connectedCallback","observe","childList","subtree","attributes","attributeFilter","componentWillLoad","selectInitialValue","disconnectedCallback","disconnect","value","forEach","radiobutton","checked","checkedRadios","filter","radio","index","length","onValueChangeHandler","newValue","onCheckedChangeHandler","event","target","valueChange","emit","onClassField","isInvalid","isInfo","isValid","isWarning","render","h","Host","key","label","helperText","invalidText","infoText","warningText","validText","showTextAsTooltip","name","slot","class","__decorate","HookValidationLifecycle","includeChildren"],"sources":["src/components/radio-group/radio-group.scss?tag=ix-radio-group&encapsulation=shadow","src/components/radio-group/radio-group.tsx"],"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@import 'mixins/shadow-dom/component';\n\n:host {\n display: inline-block;\n position: relative;\n\n .checkbox-container {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n margin: 0.35rem 0;\n flex-wrap: wrap;\n }\n}\n","import {\n Component,\n Element,\n EventEmitter,\n Host,\n Event,\n Listen,\n Prop,\n State,\n h,\n Watch,\n} from '@stencil/core';\nimport {\n ValidationResults,\n HookValidationLifecycle,\n FieldWrapperInterface,\n IxFormValidationState,\n} from '../utils/field';\n\n/**\n * @since 2.4.0\n * @form-ready 2.4.0\n */\n@Component({\n tag: 'ix-radio-group',\n styleUrl: 'radio-group.scss',\n shadow: true,\n})\nexport class RadiobuttonGroup\n implements FieldWrapperInterface, IxFormValidationState\n{\n @Element() hostElement!: HTMLIxRadioGroupElement;\n /**\n * Show text below the field component\n */\n @Prop() helperText?: string;\n\n /**\n * Label for the field component\n */\n @Prop() label?: string;\n\n /**\n * Value of the radiobutton group component\n */\n @Prop() value?: string;\n\n /**\n * Error text for the field component\n */\n @Prop() invalidText?: string;\n\n /**\n * Info text for the field component\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text for the field component\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text for the field component\n */\n @Prop() validText?: string;\n\n /**\n * Show helper, info, warning, error and valid text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * Event emitted when the value of the radiobutton group changes\n */\n @Event() valueChange!: EventEmitter<string>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n\n private observer = new MutationObserver(() => {\n this.ensureOnlyLastRadioChecked();\n });\n\n private get radiobuttonElements() {\n return Array.from(this.hostElement.querySelectorAll('ix-radio'));\n }\n\n connectedCallback(): void {\n this.observer.observe(this.hostElement, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['checked'],\n });\n }\n\n componentWillLoad(): void | Promise<void> {\n this.selectInitialValue();\n this.ensureOnlyLastRadioChecked();\n }\n\n disconnectedCallback(): void {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n private selectInitialValue() {\n if (!this.value) {\n return;\n }\n this.radiobuttonElements.forEach((radiobutton) => {\n radiobutton.checked = radiobutton.value === this.value;\n });\n }\n\n private ensureOnlyLastRadioChecked() {\n const checkedRadios = this.radiobuttonElements.filter(\n (radio) => radio.checked\n );\n checkedRadios.forEach((radio, index) => {\n if (index === checkedRadios.length - 1) {\n return;\n }\n radio.checked = false;\n });\n }\n\n @Watch('value')\n onValueChangeHandler(newValue: string) {\n this.radiobuttonElements.forEach((radiobutton) => {\n radiobutton.checked = radiobutton.value === newValue;\n });\n }\n\n @Listen('checkedChange')\n onCheckedChangeHandler(event: CustomEvent<boolean>) {\n this.radiobuttonElements.forEach((radiobutton) => {\n if (radiobutton !== event.target) {\n radiobutton.checked = false;\n return;\n }\n radiobutton.checked = true;\n this.valueChange.emit(radiobutton.value);\n });\n }\n\n @HookValidationLifecycle({\n includeChildren: true,\n })\n onClassField({ isInvalid, isInfo, isValid, isWarning }: ValidationResults) {\n this.isInvalid = isInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n render() {\n return (\n <Host>\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n isInvalid={this.isInvalid}\n >\n <slot name=\"label\" slot=\"label\"></slot>\n\n <div class={'checkbox-container'}>\n <slot></slot>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAgB,qJACtB,MAAAC,EAAeD,E,iXC2BFE,EAAgB,M,kEAsDnBC,KAAAC,SAAW,IAAIC,kBAAiB,KACtCF,KAAKG,4BAA4B,I,2NANd,M,aACF,M,YACD,M,eACG,K,CAMrB,uBAAYC,GACV,OAAOC,MAAMC,KAAKN,KAAKO,YAAYC,iBAAiB,Y,CAGtD,iBAAAC,GACET,KAAKC,SAASS,QAAQV,KAAKO,YAAa,CACtCI,UAAW,KACXC,QAAS,KACTC,WAAY,KACZC,gBAAiB,CAAC,Y,CAItB,iBAAAC,GACEf,KAAKgB,qBACLhB,KAAKG,4B,CAGP,oBAAAc,GACE,GAAIjB,KAAKC,SAAU,CACjBD,KAAKC,SAASiB,Y,EAIV,kBAAAF,GACN,IAAKhB,KAAKmB,MAAO,CACf,M,CAEFnB,KAAKI,oBAAoBgB,SAASC,IAChCA,EAAYC,QAAUD,EAAYF,QAAUnB,KAAKmB,KAAK,G,CAIlD,0BAAAhB,GACN,MAAMoB,EAAgBvB,KAAKI,oBAAoBoB,QAC5CC,GAAUA,EAAMH,UAEnBC,EAAcH,SAAQ,CAACK,EAAOC,KAC5B,GAAIA,IAAUH,EAAcI,OAAS,EAAG,CACtC,M,CAEFF,EAAMH,QAAU,KAAK,G,CAKzB,oBAAAM,CAAqBC,GACnB7B,KAAKI,oBAAoBgB,SAASC,IAChCA,EAAYC,QAAUD,EAAYF,QAAUU,CAAQ,G,CAKxD,sBAAAC,CAAuBC,GACrB/B,KAAKI,oBAAoBgB,SAASC,IAChC,GAAIA,IAAgBU,EAAMC,OAAQ,CAChCX,EAAYC,QAAU,MACtB,M,CAEFD,EAAYC,QAAU,KACtBtB,KAAKiC,YAAYC,KAAKb,EAAYF,MAAM,G,CAO5C,YAAAgB,EAAaC,UAAEA,EAASC,OAAEA,EAAMC,QAAEA,EAAOC,UAAEA,IACzCvC,KAAKoC,UAAYA,EACjBpC,KAAKqC,OAASA,EACdrC,KAAKsC,QAAUA,EACftC,KAAKuC,UAAYA,C,CAGnB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,oBAAAE,IAAA,2CACEC,MAAO5C,KAAK4C,MACZC,WAAY7C,KAAK6C,WACjBC,YAAa9C,KAAK8C,YAClBC,SAAU/C,KAAK+C,SACfC,YAAahD,KAAKgD,YAClBC,UAAWjD,KAAKiD,UAChBC,kBAAmBlD,KAAKkD,kBACxBZ,QAAStC,KAAKsC,QACdD,OAAQrC,KAAKqC,OACbE,UAAWvC,KAAKuC,UAChBH,UAAWpC,KAAKoC,WAEhBK,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,QAAQC,KAAK,UAExBX,EAAA,OAAAE,IAAA,2CAAKU,MAAO,sBACVZ,EAAA,QAAAE,IAAA,+C,iGA1BVW,EAAA,CAHCC,EAAwB,CACvBC,gBAAiB,Q"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as s,H as e,g as r}from"./p-f86a894a.js";import{f as o,i as h,s as n,o as a,a as d,c}from"./p-b3f35666.js";import{A as l}from"./p-c09553f3.js";import{d as u,a as f,h as b}from"./p-3782e028.js";const m=":host{background-color:var(--theme-color-2);border-radius:var(--theme-default-border-radius);min-width:0px;z-index:var(--theme-z-index-dropdown);box-shadow:var(--theme-shadow-4);padding:0.25rem 0px}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .dropdown-header{display:flex;align-items:center;height:2.5rem;color:var(--theme-menu-header--color);padding:0 1rem}:host(.overflow){max-height:50vh;overflow-y:auto}:host(:not(.show)){display:none}";const w=m;let v=0;const g=class{constructor(s){t(this,s);this.showChanged=i(this,"showChanged",7);this.autoUpdateCleanup=null;this.localUId=`dropdown-${v++}`;this.assignedSubmenu=[];this.focusDropdownItemBind=this.focusDropdownItem.bind(this);this.itemObserver=new MutationObserver((()=>{this.arrowFocusController.items=this.dropdownItems}));this.suppressAutomaticPlacement=false;this.show=false;this.trigger=undefined;this.anchor=undefined;this.closeBehavior="both";this.placement="bottom-start";this.positioningStrategy="fixed";this.header=undefined;this.offset=undefined;this.overwriteDropdownStyle=undefined;this.discoverAllSubmenus=false;this.ignoreRelatedSubmenu=false}connectedCallback(){u.connected(this);if(this.trigger!=undefined){this.registerListener(this.trigger)}}cacheSubmenuId(t){t.stopImmediatePropagation();t.preventDefault();const{detail:i}=t;if(this.assignedSubmenu.indexOf(i)===-1){this.assignedSubmenu.push(i)}}disconnectedCallback(){u.dismiss(this);u.disconnected(this);if(this.disposeClickListener){this.disposeClickListener()}if(this.disposeKeyListener){this.disposeKeyListener()}if(this.autoUpdateCleanup){this.autoUpdateCleanup()}}getAssignedSubmenuIds(){return this.assignedSubmenu}isPresent(){return this.show}present(){this.show=true}dismiss(){this.show=false}getId(){return this.localUId}willDismiss(){const{defaultPrevented:t}=this.showChanged.emit(false);return!t}willPresent(){const{defaultPrevented:t}=this.showChanged.emit(true);return!t}get dropdownItems(){return Array.from(this.hostElement.querySelectorAll("ix-dropdown-item"))}get slotElement(){return this.hostElement.shadowRoot.querySelector("slot")}addEventListenersFor(){var t,i,s;(t=this.disposeClickListener)===null||t===void 0?void 0:t.call(this);(i=this.disposeKeyListener)===null||i===void 0?void 0:i.call(this);const e=()=>{if(!this.isPresent()){u.present(this)}else{u.dismiss(this)}u.dismissOthers(this.getId())};this.disposeClickListener=f(this.triggerElement,"click",(t=>{if(!t.defaultPrevented){e()}}));(s=this.triggerElement)===null||s===void 0?void 0:s.setAttribute("data-ix-dropdown-trigger",this.localUId)}async discoverSubmenu(){var t;(t=this.triggerElement)===null||t===void 0?void 0:t.dispatchEvent(new CustomEvent("ix-assign-sub-menu",{bubbles:true,composed:true,cancelable:true,detail:this.localUId}))}registerKeyListener(){if(!this.triggerElement){return}this.disposeKeyListener=f(this.triggerElement,"keydown",(t=>{if(t.key!=="ArrowDown"){return}if(document.activeElement!==this.triggerElement){return}u.present(this);setTimeout((()=>{this.focusDropdownItem(0)}))}))}async registerListener(t){this.triggerElement=await this.resolveElement(t);if(this.triggerElement){this.addEventListenersFor();this.discoverSubmenu()}}async resolveElement(t){const i=await this.findElement(t);return this.checkForSubmenuAnchor(i)}async checkForSubmenuAnchor(t){if(!t){return null}if(b(t)){const i=await t.getDropdownItemElement();i.isSubMenu=true;this.hostElement.style.zIndex=`var(--theme-z-index-dropdown)`}if(t.tagName==="IX-DROPDOWN-ITEM"){t.isSubMenu=true;this.hostElement.style.zIndex=`var(--theme-z-index-dropdown)`}return t}findElement(t){if(t instanceof Promise){return t}if(typeof t==="object"){return Promise.resolve(t)}if(typeof t!="string"){return}const i=`#${t}`;return new Promise((t=>{if(document.querySelector(i)){return t(document.querySelector(i))}const s=new MutationObserver((()=>{if(document.querySelector(i)){t(document.querySelector(i));s.disconnect()}}));s.observe(document.body,{childList:true,subtree:true})}))}async changedShow(t){var i,s,e;if(t){this.anchorElement=await(this.anchor?this.resolveElement(this.anchor):this.resolveElement(this.trigger));if(this.anchorElement){this.applyDropdownPosition()}this.arrowFocusController=new l(this.dropdownItems,this.dropdownRef,this.focusDropdownItemBind);this.itemObserver.observe(this.dropdownRef,{childList:true,subtree:true});this.registerKeyListener()}else{(i=this.arrowFocusController)===null||i===void 0?void 0:i.disconnect();(s=this.itemObserver)===null||s===void 0?void 0:s.disconnect();(e=this.disposeKeyListener)===null||e===void 0?void 0:e.call(this)}}changedTrigger(t){this.registerListener(t)}isAnchorSubmenu(){var t;if(!b(this.anchorElement)){return!!((t=this.anchorElement)===null||t===void 0?void 0:t.closest("ix-dropdown-item"))}return true}async applyDropdownPosition(){if(!this.show){return}if(!this.anchorElement){return}if(!this.dropdownRef){return}const t=this.isAnchorSubmenu();let i={strategy:this.positioningStrategy,middleware:[]};if(!this.suppressAutomaticPlacement){i.middleware.push(o({fallbackStrategy:"initialPlacement"}))}i.placement=t?"right-start":this.placement;i.middleware=[...i.middleware,h(),n()];if(this.offset){i.middleware.push(a(this.offset))}if(this.autoUpdateCleanup){this.autoUpdateCleanup();this.autoUpdateCleanup=null}this.autoUpdateCleanup=d(this.anchorElement,this.dropdownRef,(async()=>{const t=await c(this.anchorElement,this.dropdownRef,i);Object.assign(this.dropdownRef.style,{top:"0",left:"0",transform:`translate(${Math.round(t.x)}px,${Math.round(t.y)}px)`});if(this.overwriteDropdownStyle){const t=await this.overwriteDropdownStyle({dropdownRef:this.dropdownRef,triggerRef:this.triggerElement});Object.assign(this.dropdownRef.style,t)}}),{ancestorResize:true,ancestorScroll:true,elementResize:true})}focusDropdownItem(t){requestAnimationFrame((()=>{var i;(i=this.dropdownItems[t])===null||i===void 0?void 0:i.shadowRoot.querySelector("button").focus()}))}async componentDidLoad(){this.changedTrigger(this.trigger)}async componentDidRender(){await this.applyDropdownPosition();this.anchorElement=await(this.anchor?this.resolveElement(this.anchor):this.resolveElement(this.trigger))}isTriggerElement(t){const i=!!t.hasAttribute("data-ix-dropdown-trigger");return i}onDropdownClick(t){const i=u.pathIncludesTrigger(t.composedPath());if(i){if(i!==this.triggerElement){t.preventDefault()}if(this.isTriggerElement(i)){return}}if(!t.defaultPrevented&&(this.closeBehavior==="inside"||this.closeBehavior==="both")){u.dismissAll([this.getId()],this.ignoreRelatedSubmenu);return}u.dismissOthers(this.getId())}async updatePosition(){this.applyDropdownPosition()}render(){return s(e,{key:"c5fa949b336dfa2d85453647ec285661866b4c05","data-ix-dropdown":this.localUId,ref:t=>this.dropdownRef=t,class:{"dropdown-menu":true,show:this.show,overflow:true},style:{margin:"0",minWidth:"0px",position:this.positioningStrategy},role:"list",onClick:t=>this.onDropdownClick(t)},s("div",{key:"bd0b94a0f4f12fe426ea040eba252e2b571f10a2",style:{display:"contents"}},this.header&&s("div",{key:"353ea10f7608c8a822058eb869345ca0178f4c91",class:"dropdown-header"},this.header),s("slot",{key:"b573d70610827470688dc4369d152fcdf55bdd3d"})))}get hostElement(){return r(this)}static get watchers(){return{show:["changedShow"],trigger:["changedTrigger"]}}};g.style=w;export{g as ix_dropdown};
2
+ //# sourceMappingURL=p-cf65d3b6.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dropdownCss","IxDropdownStyle0","sequenceId","Dropdown","this","autoUpdateCleanup","localUId","assignedSubmenu","focusDropdownItemBind","focusDropdownItem","bind","itemObserver","MutationObserver","arrowFocusController","items","dropdownItems","connectedCallback","dropdownController","connected","trigger","undefined","registerListener","cacheSubmenuId","event","stopImmediatePropagation","preventDefault","detail","indexOf","push","disconnectedCallback","dismiss","disconnected","disposeClickListener","disposeKeyListener","getAssignedSubmenuIds","isPresent","show","present","getId","willDismiss","defaultPrevented","showChanged","emit","willPresent","Array","from","hostElement","querySelectorAll","slotElement","shadowRoot","querySelector","addEventListenersFor","_a","call","_b","toggleController","dismissOthers","addDisposableEventListener","triggerElement","_c","setAttribute","discoverSubmenu","dispatchEvent","CustomEvent","bubbles","composed","cancelable","registerKeyListener","key","document","activeElement","setTimeout","element","resolveElement","el","findElement","checkForSubmenuAnchor","hasDropdownItemWrapperImplemented","dropdownItem","getDropdownItemElement","isSubMenu","style","zIndex","tagName","Promise","resolve","selector","observer","disconnect","observe","body","childList","subtree","changedShow","newShow","anchorElement","anchor","applyDropdownPosition","ArrowFocusController","dropdownRef","changedTrigger","newTriggerValue","isAnchorSubmenu","closest","isSubmenu","positionConfig","strategy","positioningStrategy","middleware","suppressAutomaticPlacement","flip","fallbackStrategy","placement","inline","shift","offset","autoUpdate","async","computeResponse","computePosition","Object","assign","top","left","transform","Math","round","x","y","overwriteDropdownStyle","overwriteStyle","triggerRef","ancestorResize","ancestorScroll","elementResize","index","requestAnimationFrame","focus","componentDidLoad","componentDidRender","isTriggerElement","hasAttribute","onDropdownClick","target","pathIncludesTrigger","composedPath","closeBehavior","dismissAll","ignoreRelatedSubmenu","updatePosition","render","h","Host","ref","class","overflow","margin","minWidth","position","role","onClick","display","header"],"sources":["src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private arrowFocusController: ArrowFocusController;\n private focusDropdownItemBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = new MutationObserver(() => {\n this.arrowFocusController.items = this.dropdownItems;\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeClickListener?: () => void;\n private disposeKeyListener?: () => void;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n (event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (!element) {\n return null;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n if (typeof element != 'string') {\n return;\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.dropdownRef,\n this.focusDropdownItemBind\n );\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n this.dropdownItems[index]?.shadowRoot.querySelector('button').focus();\n });\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,H as r,g as s}from"./p-f86a894a.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__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}: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",{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:"ada39cb89614cd0cad3347eedf2be1e5c41feff1"},i(n,{key:"d6f36fae6be5f42dad90cf857ce0299f815884ca",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:"3cd90edbe2b68d1af6cf513dda3d421e4e8726bd",class:{CardList__Overflow:true},style:this.computeMaskLayer()},i("div",{key:"204fb870de26ad28183bfec6d46e1156c2f05727",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:"8bd77dd2e09e6cdac4fa773786f6d811305b8209",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-cfcd2bd3.entry.js.map
@@ -1 +1 @@
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\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 }\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 variant=\"large-single\">{props.label}</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
+ {"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\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 }\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 variant=\"large-single\">{props.label}</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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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,F as s,H as a,g as o}from"./p-f86a894a.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 n=r;const d=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"]}}};d.style=n;export{d as ix_date_dropdown};
2
+ //# sourceMappingURL=p-d7131f75.entry.js.map
@@ -1 +1 @@
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
+ {"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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"}
@@ -0,0 +1,2 @@
1
+ const e="data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g id='scheduler' transform='translate(64.000000, 64.000000)'><path d='M384,1.42108547e-14 L384,384 L1.42108547e-14,384 L1.42108547e-14,1.42108547e-14 L384,1.42108547e-14 Z M341.333333,128 L42.6666667,128 L42.6666667,341.333333 L341.333333,341.333333 L341.333333,128 Z M128,256 L128,298.666667 L85.3333333,298.666667 L85.3333333,256 L128,256 Z M213.333333,256 L213.333333,298.666667 L170.666667,298.666667 L170.666667,256 L213.333333,256 Z M298.666667,256 L298.666667,298.666667 L256,298.666667 L256,256 L298.666667,256 Z M128,170.666667 L128,213.333333 L85.3333333,213.333333 L85.3333333,170.666667 L128,170.666667 Z M213.333333,170.666667 L213.333333,213.333333 L170.666667,213.333333 L170.666667,170.666667 L213.333333,170.666667 Z M298.666667,170.666667 L298.666667,213.333333 L256,213.333333 L256,170.666667 L298.666667,170.666667 Z M341.333333,42.6666667 L42.6666667,42.6666667 L42.6666667,85.3333333 L341.333333,85.3333333 L341.333333,42.6666667 Z' id='Combined-Shape'/></g></g></svg>";const t="data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g id='add' transform='translate(42.666667, 42.666667)'><path d='M213.333333,3.55271368e-14 C331.136,3.55271368e-14 426.666667,95.5306667 426.666667,213.333333 C426.666667,331.136 331.136,426.666667 213.333333,426.666667 C95.5306667,426.666667 3.55271368e-14,331.136 3.55271368e-14,213.333333 C3.55271368e-14,95.5306667 95.5306667,3.55271368e-14 213.333333,3.55271368e-14 Z M213.333333,42.6666667 C119.232,42.6666667 42.6666667,119.232 42.6666667,213.333333 C42.6666667,307.434667 119.232,384 213.333333,384 C307.434667,384 384,307.434667 384,213.333333 C384,119.232 307.434667,42.6666667 213.333333,42.6666667 Z M262.250667,134.250667 L292.416,164.416 L243.498667,213.333333 L292.416,262.250667 L262.250667,292.416 L213.333333,243.498667 L164.416,292.416 L134.250667,262.250667 L183.168,213.333333 L134.250667,164.416 L164.416,134.250667 L213.333333,183.168 L262.250667,134.250667 Z' id='error'/></g></g></svg>";const n="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M47.0849493,2.84217094e-14 L185.740632,138.655563 C194.095501,134.657276 203.45297,132.418278 213.333333,132.418278 C248.679253,132.418278 277.333333,161.072358 277.333333,196.418278 C277.333333,206.299034 275.094157,215.656855 271.095572,224.011976 L409.751616,362.666662 L379.581717,392.836561 L320.374817,333.628896 C291.246618,353.329494 255.728838,367.084945 213.333333,367.084945 C64,367.084945 7.10542736e-15,196.418278 7.10542736e-15,196.418278 C7.10542736e-15,196.418278 22.862032,135.452859 73.1408088,86.3974274 L16.9150553,30.169894 L47.0849493,2.84217094e-14 Z M103.440016,116.694904 C74.7091717,144.512844 55.9626236,177.598744 46.7136,196.424891 C64.7370667,233.114811 119.071573,324.418278 213.333333,324.418278 C242.440012,324.418278 267.739844,315.712374 289.339919,302.595012 L240.926035,254.180993 C232.571166,258.17928 223.213696,260.418278 213.333333,260.418278 C177.987413,260.418278 149.333333,231.764198 149.333333,196.418278 C149.333333,186.537915 151.572331,177.180445 155.570618,168.825577 Z M213.333333,25.7516113 C362.666667,25.7516113 426.666667,196.418278 426.666667,196.418278 C426.666667,196.418278 412.428071,234.387867 381.712212,274.508373 L351.151213,243.941206 C364.581948,225.697449 374.142733,208.239347 379.954347,196.410385 C361.9296,159.721745 307.595093,68.418278 213.333333,68.418278 C201.495833,68.418278 190.287983,69.858232 179.702584,72.449263 L145.662385,38.4000762 C165.913597,30.494948 188.437631,25.7516113 213.333333,25.7516113 Z' transform='translate(42.667 59.582)'/></svg>";const i="data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g id='Shape' transform='translate(42.666667, 85.333333)'><path d='M213.333333,1.42108547e-14 C64,1.42108547e-14 7.10542736e-15,170.666667 7.10542736e-15,170.666667 C7.10542736e-15,170.666667 64,341.333333 213.333333,341.333333 C362.666667,341.333333 426.666667,170.666667 426.666667,170.666667 C426.666667,170.666667 362.666667,1.42108547e-14 213.333333,1.42108547e-14 Z M213.333333,298.666667 C119.071573,298.666667 64.7370667,207.3632 46.7136,170.67328 C64.7850667,133.88928 119.114667,42.6666667 213.333333,42.6666667 C307.595093,42.6666667 361.9296,133.970133 379.954347,170.658773 C361.8816,207.444053 307.552,298.666667 213.333333,298.666667 Z M213.333333,96 C172.096427,96 138.666667,129.42976 138.666667,170.666667 C138.666667,211.903573 172.096427,245.333333 213.333333,245.333333 C254.57024,245.333333 288,211.903573 288,170.666667 C288,129.42976 254.57024,96 213.333333,96 Z M213.333333,202.666667 C195.688747,202.666667 181.333333,188.311253 181.333333,170.666667 C181.333333,153.02208 195.688747,138.666667 213.333333,138.666667 C230.97792,138.666667 245.333333,153.02208 245.333333,170.666667 C245.333333,188.311253 230.97792,202.666667 213.333333,202.666667 Z'/></g></g></svg>";const s="data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g id='add' transform='translate(42.666667, 42.666667)'><path d='M213.333333,3.55271368e-14 C95.51296,3.55271368e-14 3.55271368e-14,95.51168 3.55271368e-14,213.333333 C3.55271368e-14,331.153707 95.51296,426.666667 213.333333,426.666667 C331.154987,426.666667 426.666667,331.153707 426.666667,213.333333 C426.666667,95.51168 331.154987,3.55271368e-14 213.333333,3.55271368e-14 Z M213.333333,384 C119.227947,384 42.6666667,307.43872 42.6666667,213.333333 C42.6666667,119.227947 119.227947,42.6666667 213.333333,42.6666667 C307.44,42.6666667 384,119.227947 384,213.333333 C384,307.43872 307.44,384 213.333333,384 Z M240.04672,128 C240.04672,143.46752 228.785067,154.666667 213.55008,154.666667 C197.698773,154.666667 186.713387,143.46752 186.713387,127.704107 C186.713387,112.5536 197.99616,101.333333 213.55008,101.333333 C228.785067,101.333333 240.04672,112.5536 240.04672,128 Z M192.04672,192 L234.713387,192 L234.713387,320 L192.04672,320 L192.04672,192 Z' id='Shape'/></g></g></svg>";const g="data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g id='add' transform='translate(64.000000, 234.666667)'><rect id='Combined-Shape' x='0' y='0' width='384' height='42.6666667'/></g></g></svg>";const o="data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g id='uncollapse' transform='translate(64.000000, 64.000000)'><path d='M213.333333,1.42108547e-14 L213.333,170.666 L384,170.666667 L384,213.333333 L213.333,213.333 L213.333333,384 L170.666667,384 L170.666,213.333 L1.42108547e-14,213.333333 L1.42108547e-14,170.666667 L170.666,170.666 L170.666667,1.42108547e-14 L213.333333,1.42108547e-14 Z'/></g></g></svg>";const l="data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g id='add-copy' transform='translate(42.666667, 42.666667)'><path d='M213.333333,3.55271368e-14 C95.51296,3.55271368e-14 3.55271368e-14,95.51296 3.55271368e-14,213.333333 C3.55271368e-14,331.153707 95.51296,426.666667 213.333333,426.666667 C331.153707,426.666667 426.666667,331.153707 426.666667,213.333333 C426.666667,95.51296 331.153707,3.55271368e-14 213.333333,3.55271368e-14 Z M213.333333,384 C119.227947,384 42.6666667,307.43872 42.6666667,213.333333 C42.6666667,119.227947 119.227947,42.6666667 213.333333,42.6666667 C307.43872,42.6666667 384,119.227947 384,213.333333 C384,307.43872 307.438933,384 213.333333,384 Z M293.669333,137.114453 L323.835947,167.281067 L192,299.66912 L112.916693,220.585813 L143.083307,190.4192 L192,239.335893 L293.669333,137.114453 Z' id='Shape'/></g></g></svg>";const d="data:image/svg+xml;utf8,<?xml version='1.0' encoding='UTF-8'?><svg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'><g id='add' transform='translate(32.000000, 42.666667)'><path d='M246.312928,5.62892705 C252.927596,9.40873724 258.409564,14.8907053 262.189374,21.5053731 L444.667042,340.84129 C456.358134,361.300701 449.250007,387.363834 428.790595,399.054926 C422.34376,402.738832 415.04715,404.676552 407.622001,404.676552 L42.6666667,404.676552 C19.1025173,404.676552 7.10542736e-15,385.574034 7.10542736e-15,362.009885 C7.10542736e-15,354.584736 1.93772021,347.288125 5.62162594,340.84129 L188.099293,21.5053731 C199.790385,1.04596203 225.853517,-6.06216498 246.312928,5.62892705 Z M225.144334,42.6739678 L42.6666667,362.009885 L407.622001,362.009885 L225.144334,42.6739678 Z M224,272 C239.238095,272 250.666667,283.264 250.666667,298.624 C250.666667,313.984 239.238095,325.248 224,325.248 C208.415584,325.248 197.333333,313.984 197.333333,298.282667 C197.333333,283.264 208.761905,272 224,272 Z M245.333333,106.666667 L245.333333,234.666667 L202.666667,234.666667 L202.666667,106.666667 L245.333333,106.666667 Z' id='Combined-Shape'/></g></g></svg>";export{t as a,d as b,s as c,l as d,g as e,o as f,i as g,n as h,e as i};
2
+ //# sourceMappingURL=p-da8517ed.js.map