@siemens/ix 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (735) hide show
  1. package/components/ix-action-card.js +1 -1
  2. package/components/ix-application-header.js +5 -5
  3. package/components/ix-application-switch-modal.js +5 -5
  4. package/components/ix-avatar.js +1 -1
  5. package/components/ix-blind.js +1 -1
  6. package/components/ix-breadcrumb-item.js +1 -1
  7. package/components/ix-breadcrumb.js +4 -4
  8. package/components/ix-button.js +1 -1
  9. package/components/ix-card-list.js +4 -4
  10. package/components/ix-category-filter.js +18 -12
  11. package/components/ix-category-filter.js.map +1 -1
  12. package/components/ix-checkbox-group.js +4 -4
  13. package/components/ix-checkbox.js +1 -1
  14. package/components/ix-chip.js +4 -4
  15. package/components/ix-content-header.js +3 -3
  16. package/components/ix-custom-field.js +4 -4
  17. package/components/ix-date-dropdown.js +9 -9
  18. package/components/ix-date-input.js +30 -14
  19. package/components/ix-date-input.js.map +1 -1
  20. package/components/ix-date-picker.js +1 -1
  21. package/components/ix-date-time-card.js +1 -1
  22. package/components/ix-datetime-picker.js +12 -12
  23. package/components/ix-datetime-picker.js.map +1 -1
  24. package/components/ix-divider.js +1 -1
  25. package/components/ix-drawer.js +7 -7
  26. package/components/ix-dropdown-button.js +7 -7
  27. package/components/ix-dropdown-header.js +2 -2
  28. package/components/ix-dropdown-item.js +1 -1
  29. package/components/ix-dropdown-quick-actions.js +1 -1
  30. package/components/ix-dropdown.js +1 -1
  31. package/components/ix-empty-state.js +4 -4
  32. package/components/ix-event-list-item.js +4 -4
  33. package/components/ix-event-list.js +2 -2
  34. package/components/ix-expanding-search.js +6 -6
  35. package/components/ix-field-label.js +1 -1
  36. package/components/ix-field-wrapper.js +1 -1
  37. package/components/ix-filter-chip.js +1 -1
  38. package/components/ix-flip-tile-content.js +1 -1
  39. package/components/ix-flip-tile.js +5 -5
  40. package/components/ix-group-context-menu.js +1 -1
  41. package/components/ix-group.js +11 -11
  42. package/components/ix-helper-text.js +3 -3
  43. package/components/ix-icon-button.js +1 -1
  44. package/components/ix-icon-toggle-button.js +2 -2
  45. package/components/ix-input-group.js +1 -1
  46. package/components/ix-input.js +23 -12
  47. package/components/ix-input.js.map +1 -1
  48. package/components/ix-key-value-list.js +1 -1
  49. package/components/ix-key-value.js +1 -1
  50. package/components/ix-kpi.js +3 -3
  51. package/components/ix-layout-auto.js +1 -1
  52. package/components/ix-layout-grid.js +1 -1
  53. package/components/ix-link-button.js +4 -4
  54. package/components/ix-link-button.js.map +1 -1
  55. package/components/ix-menu-about-item.js +1 -1
  56. package/components/ix-menu-about-news.js +8 -8
  57. package/components/ix-menu-about.js +10 -8
  58. package/components/ix-menu-about.js.map +1 -1
  59. package/components/ix-menu-avatar-item.js +1 -1
  60. package/components/ix-menu-avatar.js +10 -10
  61. package/components/ix-menu-category.js +11 -11
  62. package/components/ix-menu-expand-icon.js +1 -1
  63. package/components/ix-menu-item.js +1 -1
  64. package/components/ix-menu-settings-item.js +1 -1
  65. package/components/ix-menu-settings.js +1 -1
  66. package/components/ix-menu.js +18 -18
  67. package/components/ix-message-bar.js +3 -3
  68. package/components/ix-modal-content.js +1 -1
  69. package/components/ix-modal-footer.js +1 -1
  70. package/components/ix-modal-header.js +1 -1
  71. package/components/ix-modal-loading.js +2 -2
  72. package/components/ix-modal.js +3 -3
  73. package/components/ix-number-input.js +169 -36
  74. package/components/ix-number-input.js.map +1 -1
  75. package/components/ix-pagination.js +42 -19
  76. package/components/ix-pagination.js.map +1 -1
  77. package/components/ix-pane-layout.js +1 -1
  78. package/components/ix-pane.js +9 -9
  79. package/components/ix-pill.js +6 -6
  80. package/components/ix-progress-indicator.js +5 -5
  81. package/components/ix-push-card.js +2 -2
  82. package/components/ix-radio-group.js +6 -6
  83. package/components/ix-radio.js +4 -4
  84. package/components/ix-row.js +1 -1
  85. package/components/ix-select-item.js +1 -1
  86. package/components/ix-select.js +1 -1
  87. package/components/ix-slider.js +8 -8
  88. package/components/ix-spinner.js +1 -1
  89. package/components/ix-split-button.js +30 -16
  90. package/components/ix-split-button.js.map +1 -1
  91. package/components/ix-tab-item.js +1 -1
  92. package/components/ix-tabs.js +1 -1
  93. package/components/ix-textarea.js +7 -7
  94. package/components/ix-tile.js +4 -4
  95. package/components/ix-time-input.js +31 -15
  96. package/components/ix-time-input.js.map +1 -1
  97. package/components/ix-time-picker.js +1 -1
  98. package/components/ix-toast-container.js +6 -6
  99. package/components/ix-toast.js +1 -1
  100. package/components/ix-toggle-button.js +1 -1
  101. package/components/ix-toggle.js +4 -4
  102. package/components/ix-tooltip.js +1 -1
  103. package/components/ix-tree-item.js +1 -1
  104. package/components/ix-tree.js +2 -2
  105. package/components/ix-typography.js +1 -1
  106. package/components/ix-upload.js +5 -5
  107. package/components/ix-validation-tooltip.js +2 -2
  108. package/components/ix-workflow-step.js +3 -3
  109. package/components/ix-workflow-steps.js +1 -1
  110. package/components/{p-ChZQLy9v.js → p-10zMtvCF.js} +4 -4
  111. package/components/{p-ChZQLy9v.js.map → p-10zMtvCF.js.map} +1 -1
  112. package/components/{p-D8hPr0Kb.js → p-1pd_0dhF.js} +3 -3
  113. package/components/{p-D8hPr0Kb.js.map → p-1pd_0dhF.js.map} +1 -1
  114. package/components/{p-axBTucsn.js → p-B006bhbX.js} +3 -3
  115. package/components/{p-axBTucsn.js.map → p-B006bhbX.js.map} +1 -1
  116. package/components/{p-B-mB5dVY.js → p-BBwXlKhE.js} +3 -3
  117. package/components/{p-B-mB5dVY.js.map → p-BBwXlKhE.js.map} +1 -1
  118. package/components/{p-DInJFFDT.js → p-BEDohapR.js} +4 -4
  119. package/components/{p-DInJFFDT.js.map → p-BEDohapR.js.map} +1 -1
  120. package/components/{p-DkDGUG2W.js → p-BI7B-PUA.js} +4 -4
  121. package/components/{p-DkDGUG2W.js.map → p-BI7B-PUA.js.map} +1 -1
  122. package/components/{p-DvD1nW88.js → p-BLeWaHpy.js} +5 -5
  123. package/components/{p-DvD1nW88.js.map → p-BLeWaHpy.js.map} +1 -1
  124. package/components/{p-CFDRGf6r.js → p-BR5ayBuu.js} +3 -3
  125. package/components/{p-CFDRGf6r.js.map → p-BR5ayBuu.js.map} +1 -1
  126. package/components/{p-Cj9oZ8ym.js → p-BVUD9f4A.js} +8 -8
  127. package/components/{p-Cj9oZ8ym.js.map → p-BVUD9f4A.js.map} +1 -1
  128. package/components/{p-CvuFiT5X.js → p-BZLbfHdO.js} +66 -25
  129. package/components/p-BZLbfHdO.js.map +1 -0
  130. package/components/{p-BHcP7TVn.js → p-Bk0vKwmt.js} +4 -4
  131. package/components/{p-BHcP7TVn.js.map → p-Bk0vKwmt.js.map} +1 -1
  132. package/components/{p-GPVWLtS3.js → p-Bye33cYU.js} +7 -7
  133. package/components/{p-GPVWLtS3.js.map → p-Bye33cYU.js.map} +1 -1
  134. package/components/{p-4kEXJDiJ.js → p-Bz7hxKB6.js} +4 -4
  135. package/components/{p-4kEXJDiJ.js.map → p-Bz7hxKB6.js.map} +1 -1
  136. package/components/{p-D6KzHh-w.js → p-C4KxNeD2.js} +3 -3
  137. package/components/{p-D6KzHh-w.js.map → p-C4KxNeD2.js.map} +1 -1
  138. package/components/{p-DWRnKXkl.js → p-C6_1qmP4.js} +3 -3
  139. package/components/{p-DWRnKXkl.js.map → p-C6_1qmP4.js.map} +1 -1
  140. package/components/{p-OLe05BAC.js → p-COWPG_SD.js} +3 -3
  141. package/components/p-COWPG_SD.js.map +1 -0
  142. package/components/{p-C56HnkHy.js → p-Cc4uqNv5.js} +18 -11
  143. package/components/p-Cc4uqNv5.js.map +1 -0
  144. package/components/{p-FWLjfP4_.js → p-CjDPpSJX.js} +13 -13
  145. package/components/p-CjDPpSJX.js.map +1 -0
  146. package/components/{p-DkKuaBAh.js → p-ClQxnZ3d.js} +6 -6
  147. package/components/{p-DkKuaBAh.js.map → p-ClQxnZ3d.js.map} +1 -1
  148. package/components/{p-CL7Uj2A_.js → p-ColBHyXN.js} +5 -5
  149. package/components/{p-CL7Uj2A_.js.map → p-ColBHyXN.js.map} +1 -1
  150. package/components/{p-ChFNWyCb.js → p-CrqgL2m1.js} +8 -4
  151. package/components/p-CrqgL2m1.js.map +1 -0
  152. package/components/{p-De0habf3.js → p-CvD2yWeJ.js} +4 -4
  153. package/components/{p-De0habf3.js.map → p-CvD2yWeJ.js.map} +1 -1
  154. package/components/{p-B1sSJ2R2.js → p-DC9anobw.js} +6 -6
  155. package/components/{p-B1sSJ2R2.js.map → p-DC9anobw.js.map} +1 -1
  156. package/components/{p-BTR8UA6s.js → p-DSTHZygb.js} +8 -8
  157. package/components/{p-BTR8UA6s.js.map → p-DSTHZygb.js.map} +1 -1
  158. package/components/{p-Ow_osSm5.js → p-DXFN8JXp.js} +20 -9
  159. package/components/p-DXFN8JXp.js.map +1 -0
  160. package/components/{p-BtDCIGt3.js → p-Db0RazS2.js} +3 -3
  161. package/components/{p-BtDCIGt3.js.map → p-Db0RazS2.js.map} +1 -1
  162. package/components/{p-DTo0UW1Q.js → p-DlVaL0Yi.js} +7 -7
  163. package/components/{p-DTo0UW1Q.js.map → p-DlVaL0Yi.js.map} +1 -1
  164. package/components/{p-LVGd1t9U.js → p-Dp03DeD0.js} +5 -5
  165. package/components/{p-LVGd1t9U.js.map → p-Dp03DeD0.js.map} +1 -1
  166. package/components/{p-CMC0yuht.js → p-Dy6xvLn4.js} +4 -4
  167. package/components/{p-CMC0yuht.js.map → p-Dy6xvLn4.js.map} +1 -1
  168. package/components/{p-BAG4Ixzu.js → p-DyGPjxFm.js} +5 -5
  169. package/components/{p-BAG4Ixzu.js.map → p-DyGPjxFm.js.map} +1 -1
  170. package/components/{p-CwFNYtOl.js → p-PpLLlogo.js} +5 -5
  171. package/components/{p-CwFNYtOl.js.map → p-PpLLlogo.js.map} +1 -1
  172. package/components/{p-S6nC3Yb4.js → p-g2Y5blor.js} +68 -43
  173. package/components/p-g2Y5blor.js.map +1 -0
  174. package/components/{p-CDPfohEH.js → p-kJlC6ZD0.js} +62 -41
  175. package/components/p-kJlC6ZD0.js.map +1 -0
  176. package/dist/cjs/{helper-text-util-BlElJLxk.js → helper-text-util-D2W-yNmK.js} +8 -4
  177. package/dist/cjs/helper-text-util-D2W-yNmK.js.map +1 -0
  178. package/dist/cjs/{input.util-4AhBphgX.js → input.fc-B5JMSZbY.js} +68 -42
  179. package/dist/cjs/input.fc-B5JMSZbY.js.map +1 -0
  180. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  181. package/dist/cjs/ix-category-filter.cjs.entry.js +14 -8
  182. package/dist/cjs/ix-category-filter.entry.cjs.js.map +1 -1
  183. package/dist/cjs/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.cjs.js.map +1 -1
  184. package/dist/cjs/ix-col_4.cjs.entry.js +9 -9
  185. package/dist/cjs/ix-date-input.cjs.entry.js +22 -8
  186. package/dist/cjs/ix-date-input.entry.cjs.js.map +1 -1
  187. package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
  188. package/dist/cjs/ix-date-time-card.entry.cjs.js.map +1 -1
  189. package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
  190. package/dist/cjs/ix-datetime-picker.entry.cjs.js.map +1 -1
  191. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  192. package/dist/cjs/ix-drawer.cjs.entry.js +5 -5
  193. package/dist/cjs/ix-dropdown-button.cjs.entry.js +3 -3
  194. package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
  195. package/dist/cjs/ix-dropdown-item.cjs.entry.js +3 -3
  196. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  197. package/dist/cjs/ix-dropdown.cjs.entry.js +2 -2
  198. package/dist/cjs/ix-empty-state.cjs.entry.js +1 -1
  199. package/dist/cjs/ix-event-list-item.cjs.entry.js +4 -4
  200. package/dist/cjs/ix-event-list.cjs.entry.js +2 -2
  201. package/dist/cjs/ix-expanding-search.cjs.entry.js +4 -4
  202. package/dist/cjs/ix-field-label_2.cjs.entry.js +4 -4
  203. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +2 -2
  204. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
  205. package/dist/cjs/ix-flip-tile.cjs.entry.js +3 -3
  206. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +1 -1
  207. package/dist/cjs/ix-group.cjs.entry.js +8 -8
  208. package/dist/cjs/ix-helper-text.cjs.entry.js +2 -2
  209. package/dist/cjs/ix-icon-button_2.cjs.entry.js +2 -2
  210. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
  211. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  212. package/dist/cjs/ix-input.cjs.entry.js +20 -11
  213. package/dist/cjs/ix-input.entry.cjs.js.map +1 -1
  214. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  215. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  216. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  217. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  218. package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
  219. package/dist/cjs/ix-link-button.entry.cjs.js.map +1 -1
  220. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  221. package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
  222. package/dist/cjs/ix-menu-about.cjs.entry.js +6 -4
  223. package/dist/cjs/ix-menu-about.entry.cjs.js.map +1 -1
  224. package/dist/cjs/ix-menu-avatar.cjs.entry.js +2 -2
  225. package/dist/cjs/ix-menu-category.cjs.entry.js +5 -5
  226. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  227. package/dist/cjs/ix-menu-item.cjs.entry.js +4 -4
  228. package/dist/cjs/{ix-menu-settings-Cdqo0r8E.js → ix-menu-settings-CtWl0bME.js} +14 -7
  229. package/dist/cjs/ix-menu-settings-CtWl0bME.js.map +1 -0
  230. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  231. package/dist/cjs/ix-menu-settings.cjs.entry.js +1 -1
  232. package/dist/cjs/ix-menu.cjs.entry.js +12 -12
  233. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  234. package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
  235. package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
  236. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  237. package/dist/cjs/ix-modal.cjs.entry.js +3 -3
  238. package/dist/cjs/ix-number-input.cjs.entry.js +161 -33
  239. package/dist/cjs/ix-number-input.entry.cjs.js.map +1 -1
  240. package/dist/cjs/ix-pagination.cjs.entry.js +29 -7
  241. package/dist/cjs/ix-pagination.entry.cjs.js.map +1 -1
  242. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  243. package/dist/cjs/ix-pane.cjs.entry.js +6 -6
  244. package/dist/cjs/ix-pill.cjs.entry.js +4 -4
  245. package/dist/cjs/ix-progress-indicator.cjs.entry.js +3 -3
  246. package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
  247. package/dist/cjs/ix-radio-group.cjs.entry.js +2 -2
  248. package/dist/cjs/ix-radio.cjs.entry.js +3 -3
  249. package/dist/cjs/ix-select.cjs.entry.js +52 -13
  250. package/dist/cjs/ix-select.entry.cjs.js.map +1 -1
  251. package/dist/cjs/ix-slider.cjs.entry.js +6 -6
  252. package/dist/cjs/ix-split-button.cjs.entry.js +24 -12
  253. package/dist/cjs/ix-split-button.entry.cjs.js.map +1 -1
  254. package/dist/cjs/ix-tab-item_2.cjs.entry.js +5 -5
  255. package/dist/cjs/ix-textarea.cjs.entry.js +5 -5
  256. package/dist/cjs/ix-textarea.entry.cjs.js.map +1 -1
  257. package/dist/cjs/ix-tile.cjs.entry.js +4 -4
  258. package/dist/cjs/ix-time-input.cjs.entry.js +22 -8
  259. package/dist/cjs/ix-time-input.entry.cjs.js.map +1 -1
  260. package/dist/cjs/ix-time-picker.cjs.entry.js +56 -35
  261. package/dist/cjs/ix-time-picker.entry.cjs.js.map +1 -1
  262. package/dist/cjs/ix-toast-container.cjs.entry.js +2 -2
  263. package/dist/cjs/ix-toast.cjs.entry.js +2 -2
  264. package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
  265. package/dist/cjs/ix-tooltip.cjs.entry.js +17 -6
  266. package/dist/cjs/ix-tooltip.entry.cjs.js.map +1 -1
  267. package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
  268. package/dist/cjs/ix-tree.cjs.entry.js +1 -1
  269. package/dist/cjs/ix-typography.cjs.entry.js +1 -1
  270. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  271. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +2 -2
  272. package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
  273. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  274. package/dist/cjs/loader.cjs.js +1 -1
  275. package/dist/cjs/siemens-ix.cjs.js +1 -1
  276. package/dist/collection/components/category-filter/category-filter.css +321 -50
  277. package/dist/collection/components/category-filter/category-filter.js +13 -7
  278. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  279. package/dist/collection/components/date-input/date-input.js +58 -4
  280. package/dist/collection/components/date-input/date-input.js.map +1 -1
  281. package/dist/collection/components/date-picker/date-picker.css +6 -8
  282. package/dist/collection/components/date-picker/date-picker.js +5 -5
  283. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  284. package/dist/collection/components/date-time-card/date-time-card.css +3 -2
  285. package/dist/collection/components/datetime-picker/datetime-picker.css +12 -1
  286. package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
  287. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  288. package/dist/collection/components/divider/divider.js +1 -1
  289. package/dist/collection/components/drawer/drawer.js +5 -5
  290. package/dist/collection/components/dropdown/dropdown.js +2 -2
  291. package/dist/collection/components/dropdown-button/dropdown-button.js +3 -3
  292. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  293. package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
  294. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  295. package/dist/collection/components/empty-state/empty-state.js +1 -1
  296. package/dist/collection/components/event-list/event-list.js +2 -2
  297. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  298. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  299. package/dist/collection/components/field-label/field-label.js +1 -1
  300. package/dist/collection/components/field-wrapper/field-wrapper.js +2 -2
  301. package/dist/collection/components/field-wrapper/helper-text-util.js +6 -2
  302. package/dist/collection/components/field-wrapper/helper-text-util.js.map +1 -1
  303. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  304. package/dist/collection/components/flip-tile/flip-tile.js +3 -3
  305. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  306. package/dist/collection/components/group/group-context-menu.js +1 -1
  307. package/dist/collection/components/group/group.js +8 -8
  308. package/dist/collection/components/helper-text/helper-text.js +1 -1
  309. package/dist/collection/components/icon-button/icon-button.js +1 -1
  310. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  311. package/dist/collection/components/input/input.fc.js +10 -1
  312. package/dist/collection/components/input/input.fc.js.map +1 -1
  313. package/dist/collection/components/input/input.js +54 -5
  314. package/dist/collection/components/input/input.js.map +1 -1
  315. package/dist/collection/components/input/input.util.js +20 -3
  316. package/dist/collection/components/input/input.util.js.map +1 -1
  317. package/dist/collection/components/input/number-input.js +228 -36
  318. package/dist/collection/components/input/number-input.js.map +1 -1
  319. package/dist/collection/components/input/textarea.js +2 -2
  320. package/dist/collection/components/input-group/input-group.js +1 -1
  321. package/dist/collection/components/key-value/key-value.js +1 -1
  322. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  323. package/dist/collection/components/kpi/kpi.js +3 -3
  324. package/dist/collection/components/layout-auto/layout-auto.js +1 -1
  325. package/dist/collection/components/layout-grid/layout-grid.js +2 -2
  326. package/dist/collection/components/link-button/link-button.css +2 -8
  327. package/dist/collection/components/link-button/link-button.js +3 -3
  328. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  329. package/dist/collection/components/menu/menu.js +12 -12
  330. package/dist/collection/components/menu-about/menu-about.js +6 -4
  331. package/dist/collection/components/menu-about/menu-about.js.map +1 -1
  332. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  333. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  334. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  335. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  336. package/dist/collection/components/menu-category/menu-category.js +5 -5
  337. package/dist/collection/components/menu-item/menu-item.js +4 -4
  338. package/dist/collection/components/menu-settings/menu-settings.js +6 -4
  339. package/dist/collection/components/menu-settings/menu-settings.js.map +1 -1
  340. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  341. package/dist/collection/components/message-bar/message-bar.js +1 -1
  342. package/dist/collection/components/modal/modal.js +3 -3
  343. package/dist/collection/components/modal-content/modal-content.js +1 -1
  344. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  345. package/dist/collection/components/modal-header/modal-header.js +1 -1
  346. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  347. package/dist/collection/components/pagination/pagination.js +52 -7
  348. package/dist/collection/components/pagination/pagination.js.map +1 -1
  349. package/dist/collection/components/pane/pane.js +6 -6
  350. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  351. package/dist/collection/components/pill/pill.js +4 -4
  352. package/dist/collection/components/progress-indicator/progress-indicator.js +3 -3
  353. package/dist/collection/components/push-card/push-card.js +1 -1
  354. package/dist/collection/components/radio/radio.js +3 -3
  355. package/dist/collection/components/radio-group/radio-group.js +2 -2
  356. package/dist/collection/components/row/row.js +1 -1
  357. package/dist/collection/components/select/select.js +94 -14
  358. package/dist/collection/components/select/select.js.map +1 -1
  359. package/dist/collection/components/select-item/select-item.js +1 -1
  360. package/dist/collection/components/slider/slider.js +6 -6
  361. package/dist/collection/components/spinner/spinner.js +1 -1
  362. package/dist/collection/components/split-button/split-button.js +70 -12
  363. package/dist/collection/components/split-button/split-button.js.map +1 -1
  364. package/dist/collection/components/tab-item/tab-item.js +3 -3
  365. package/dist/collection/components/tabs/tabs.js +2 -2
  366. package/dist/collection/components/tile/tile.js +4 -4
  367. package/dist/collection/components/time-input/time-input.js +59 -5
  368. package/dist/collection/components/time-input/time-input.js.map +1 -1
  369. package/dist/collection/components/time-picker/time-picker.css +20 -52
  370. package/dist/collection/components/time-picker/time-picker.js +58 -38
  371. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  372. package/dist/collection/components/time-picker/time-picker.types.js.map +1 -1
  373. package/dist/collection/components/toast/toast-container.js +2 -2
  374. package/dist/collection/components/toast/toast.js +2 -2
  375. package/dist/collection/components/toggle/toggle.js +3 -3
  376. package/dist/collection/components/tooltip/tooltip.css +2 -3
  377. package/dist/collection/components/tooltip/tooltip.js +17 -6
  378. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  379. package/dist/collection/components/tree/tree.js +1 -1
  380. package/dist/collection/components/tree-item/tree-item.js +4 -4
  381. package/dist/collection/components/typography/typography.js +1 -1
  382. package/dist/collection/components/upload/upload.js +3 -3
  383. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js +6 -1
  384. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js.map +1 -1
  385. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  386. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  387. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  388. package/dist/esm/{helper-text-util-BurV4TiQ.js → helper-text-util-gKdL-wH2.js} +8 -4
  389. package/dist/esm/helper-text-util-gKdL-wH2.js.map +1 -0
  390. package/dist/esm/{input.util-VHrSuCP7.js → input.fc-CQbX6V05.js} +68 -43
  391. package/dist/esm/input.fc-CQbX6V05.js.map +1 -0
  392. package/dist/esm/ix-avatar_2.entry.js +1 -1
  393. package/dist/esm/ix-category-filter.entry.js +14 -8
  394. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  395. package/dist/esm/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js.map +1 -1
  396. package/dist/esm/ix-col_4.entry.js +9 -9
  397. package/dist/esm/ix-date-input.entry.js +18 -4
  398. package/dist/esm/ix-date-input.entry.js.map +1 -1
  399. package/dist/esm/ix-date-time-card.entry.js +1 -1
  400. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  401. package/dist/esm/ix-datetime-picker.entry.js +2 -2
  402. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  403. package/dist/esm/ix-divider.entry.js +1 -1
  404. package/dist/esm/ix-drawer.entry.js +5 -5
  405. package/dist/esm/ix-dropdown-button.entry.js +3 -3
  406. package/dist/esm/ix-dropdown-header.entry.js +1 -1
  407. package/dist/esm/ix-dropdown-item.entry.js +3 -3
  408. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  409. package/dist/esm/ix-dropdown.entry.js +2 -2
  410. package/dist/esm/ix-empty-state.entry.js +1 -1
  411. package/dist/esm/ix-event-list-item.entry.js +4 -4
  412. package/dist/esm/ix-event-list.entry.js +2 -2
  413. package/dist/esm/ix-expanding-search.entry.js +4 -4
  414. package/dist/esm/ix-field-label_2.entry.js +4 -4
  415. package/dist/esm/ix-filter-chip_2.entry.js +2 -2
  416. package/dist/esm/ix-flip-tile-content.entry.js +1 -1
  417. package/dist/esm/ix-flip-tile.entry.js +3 -3
  418. package/dist/esm/ix-group-context-menu_2.entry.js +1 -1
  419. package/dist/esm/ix-group.entry.js +8 -8
  420. package/dist/esm/ix-helper-text.entry.js +2 -2
  421. package/dist/esm/ix-icon-button_2.entry.js +2 -2
  422. package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
  423. package/dist/esm/ix-input-group.entry.js +1 -1
  424. package/dist/esm/ix-input.entry.js +15 -6
  425. package/dist/esm/ix-input.entry.js.map +1 -1
  426. package/dist/esm/ix-key-value-list.entry.js +1 -1
  427. package/dist/esm/ix-key-value.entry.js +1 -1
  428. package/dist/esm/ix-kpi.entry.js +3 -3
  429. package/dist/esm/ix-layout-auto.entry.js +1 -1
  430. package/dist/esm/ix-link-button.entry.js +4 -4
  431. package/dist/esm/ix-link-button.entry.js.map +1 -1
  432. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  433. package/dist/esm/ix-menu-about-news.entry.js +4 -4
  434. package/dist/esm/ix-menu-about.entry.js +6 -4
  435. package/dist/esm/ix-menu-about.entry.js.map +1 -1
  436. package/dist/esm/ix-menu-avatar.entry.js +2 -2
  437. package/dist/esm/ix-menu-category.entry.js +5 -5
  438. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  439. package/dist/esm/ix-menu-item.entry.js +4 -4
  440. package/dist/esm/{ix-menu-settings-Bif4wByb.js → ix-menu-settings-f9o5GGw5.js} +14 -7
  441. package/dist/esm/ix-menu-settings-f9o5GGw5.js.map +1 -0
  442. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  443. package/dist/esm/ix-menu-settings.entry.js +1 -1
  444. package/dist/esm/ix-menu.entry.js +12 -12
  445. package/dist/esm/ix-message-bar.entry.js +1 -1
  446. package/dist/esm/ix-modal-content_2.entry.js +2 -2
  447. package/dist/esm/ix-modal-footer.entry.js +1 -1
  448. package/dist/esm/ix-modal-loading.entry.js +1 -1
  449. package/dist/esm/ix-modal.entry.js +3 -3
  450. package/dist/esm/ix-number-input.entry.js +158 -30
  451. package/dist/esm/ix-number-input.entry.js.map +1 -1
  452. package/dist/esm/ix-pagination.entry.js +29 -7
  453. package/dist/esm/ix-pagination.entry.js.map +1 -1
  454. package/dist/esm/ix-pane-layout.entry.js +1 -1
  455. package/dist/esm/ix-pane.entry.js +6 -6
  456. package/dist/esm/ix-pill.entry.js +4 -4
  457. package/dist/esm/ix-progress-indicator.entry.js +3 -3
  458. package/dist/esm/ix-push-card.entry.js +1 -1
  459. package/dist/esm/ix-radio-group.entry.js +2 -2
  460. package/dist/esm/ix-radio.entry.js +3 -3
  461. package/dist/esm/ix-select.entry.js +52 -13
  462. package/dist/esm/ix-select.entry.js.map +1 -1
  463. package/dist/esm/ix-slider.entry.js +6 -6
  464. package/dist/esm/ix-split-button.entry.js +24 -12
  465. package/dist/esm/ix-split-button.entry.js.map +1 -1
  466. package/dist/esm/ix-tab-item_2.entry.js +5 -5
  467. package/dist/esm/ix-textarea.entry.js +3 -3
  468. package/dist/esm/ix-tile.entry.js +4 -4
  469. package/dist/esm/ix-time-input.entry.js +19 -5
  470. package/dist/esm/ix-time-input.entry.js.map +1 -1
  471. package/dist/esm/ix-time-picker.entry.js +56 -35
  472. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  473. package/dist/esm/ix-toast-container.entry.js +2 -2
  474. package/dist/esm/ix-toast.entry.js +2 -2
  475. package/dist/esm/ix-toggle.entry.js +3 -3
  476. package/dist/esm/ix-tooltip.entry.js +17 -6
  477. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  478. package/dist/esm/ix-tree-item.entry.js +4 -4
  479. package/dist/esm/ix-tree.entry.js +1 -1
  480. package/dist/esm/ix-typography.entry.js +1 -1
  481. package/dist/esm/ix-upload.entry.js +3 -3
  482. package/dist/esm/ix-validation-tooltip.entry.js +2 -2
  483. package/dist/esm/ix-workflow-step.entry.js +3 -3
  484. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  485. package/dist/esm/loader.js +1 -1
  486. package/dist/esm/siemens-ix.js +1 -1
  487. package/dist/siemens-ix/ix-category-filter.entry.esm.js.map +1 -1
  488. package/dist/siemens-ix/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.esm.js.map +1 -1
  489. package/dist/siemens-ix/ix-date-input.entry.esm.js.map +1 -1
  490. package/dist/siemens-ix/ix-date-time-card.entry.esm.js.map +1 -1
  491. package/dist/siemens-ix/ix-datetime-picker.entry.esm.js.map +1 -1
  492. package/dist/siemens-ix/ix-input.entry.esm.js.map +1 -1
  493. package/dist/siemens-ix/ix-link-button.entry.esm.js.map +1 -1
  494. package/dist/siemens-ix/ix-menu-about.entry.esm.js.map +1 -1
  495. package/dist/siemens-ix/ix-number-input.entry.esm.js.map +1 -1
  496. package/dist/siemens-ix/ix-pagination.entry.esm.js.map +1 -1
  497. package/dist/siemens-ix/ix-select.entry.esm.js.map +1 -1
  498. package/dist/siemens-ix/ix-split-button.entry.esm.js.map +1 -1
  499. package/dist/siemens-ix/ix-time-input.entry.esm.js.map +1 -1
  500. package/dist/siemens-ix/ix-time-picker.entry.esm.js.map +1 -1
  501. package/dist/siemens-ix/ix-tooltip.entry.esm.js.map +1 -1
  502. package/dist/siemens-ix/p-0411df39.entry.js +2 -0
  503. package/dist/siemens-ix/p-051f428c.entry.js +2 -0
  504. package/dist/siemens-ix/{p-4288bd66.entry.js.map → p-051f428c.entry.js.map} +1 -1
  505. package/dist/siemens-ix/{p-49843cce.entry.js → p-086d31e7.entry.js} +2 -2
  506. package/dist/siemens-ix/p-086d31e7.entry.js.map +1 -0
  507. package/dist/siemens-ix/{p-9f7f5cd3.entry.js → p-0ce03ad3.entry.js} +2 -2
  508. package/dist/siemens-ix/{p-60d2f3db.entry.js → p-0d621531.entry.js} +2 -2
  509. package/dist/siemens-ix/{p-4a127027.entry.js → p-10f2a239.entry.js} +2 -2
  510. package/dist/siemens-ix/{p-d70cd703.entry.js → p-196cffb5.entry.js} +2 -2
  511. package/dist/siemens-ix/{p-94596bff.entry.js → p-1de1a2bf.entry.js} +2 -2
  512. package/dist/siemens-ix/{p-b7c64537.entry.js → p-2597a988.entry.js} +2 -2
  513. package/dist/siemens-ix/{p-a8f08878.entry.js → p-2ffde2d5.entry.js} +2 -2
  514. package/dist/siemens-ix/p-31a8eaf9.entry.js +2 -0
  515. package/dist/siemens-ix/{p-2e3ac12c.entry.js → p-33fcea65.entry.js} +2 -2
  516. package/dist/siemens-ix/{p-bd2127d0.entry.js → p-367df024.entry.js} +2 -2
  517. package/dist/siemens-ix/{p-65c759c5.entry.js → p-3751c675.entry.js} +2 -2
  518. package/dist/siemens-ix/{p-76bd4cf9.entry.js → p-37bd983a.entry.js} +2 -2
  519. package/dist/siemens-ix/{p-d2831f7b.entry.js → p-38e45020.entry.js} +2 -2
  520. package/dist/siemens-ix/{p-d997238b.entry.js → p-396e1f3d.entry.js} +2 -2
  521. package/dist/siemens-ix/{p-0fd006b9.entry.js → p-3b7573d6.entry.js} +2 -2
  522. package/dist/siemens-ix/p-3ce5fd87.entry.js +2 -0
  523. package/dist/siemens-ix/p-3ce5fd87.entry.js.map +1 -0
  524. package/dist/siemens-ix/p-3f13b14e.entry.js +2 -0
  525. package/dist/siemens-ix/p-3f13b14e.entry.js.map +1 -0
  526. package/dist/siemens-ix/p-3f62166e.entry.js +2 -0
  527. package/dist/siemens-ix/{p-6880e267.entry.js.map → p-3f62166e.entry.js.map} +1 -1
  528. package/dist/siemens-ix/p-425d6925.entry.js +2 -0
  529. package/dist/siemens-ix/{p-ec3ec461.entry.js → p-484bddf4.entry.js} +2 -2
  530. package/dist/siemens-ix/{p-df5494ff.entry.js → p-496e98ac.entry.js} +2 -2
  531. package/dist/siemens-ix/{p-ab6d123c.entry.js → p-4c18f123.entry.js} +2 -2
  532. package/dist/siemens-ix/{p-c96ce76c.entry.js → p-4c1f90cb.entry.js} +2 -2
  533. package/dist/siemens-ix/{p-a53d7dbb.entry.js → p-4e4d792d.entry.js} +2 -2
  534. package/dist/siemens-ix/p-51ae739e.entry.js +2 -0
  535. package/dist/siemens-ix/p-51ae739e.entry.js.map +1 -0
  536. package/dist/siemens-ix/{p-80981f03.entry.js → p-5779f16e.entry.js} +2 -2
  537. package/dist/siemens-ix/{p-4d0e900c.entry.js → p-5b57bde1.entry.js} +2 -2
  538. package/dist/siemens-ix/{p-6045dce9.entry.js → p-5d6f43fd.entry.js} +2 -2
  539. package/dist/siemens-ix/p-5iwF1M9X.js +2 -0
  540. package/dist/siemens-ix/p-5iwF1M9X.js.map +1 -0
  541. package/dist/siemens-ix/{p-2b2f339e.entry.js → p-6445a54f.entry.js} +2 -2
  542. package/dist/siemens-ix/{p-acb7c236.entry.js → p-667e3184.entry.js} +2 -2
  543. package/dist/siemens-ix/{p-92e0ebf1.entry.js → p-6a4bc78a.entry.js} +2 -2
  544. package/dist/siemens-ix/p-6dc6eb63.entry.js +2 -0
  545. package/dist/siemens-ix/{p-453aa17a.entry.js.map → p-6dc6eb63.entry.js.map} +1 -1
  546. package/dist/siemens-ix/{p-319e292f.entry.js → p-74e7b03f.entry.js} +2 -2
  547. package/dist/siemens-ix/{p-7c474c82.entry.js → p-77fd2138.entry.js} +2 -2
  548. package/dist/siemens-ix/{p-11b1eaa3.entry.js → p-7bad0544.entry.js} +2 -2
  549. package/dist/siemens-ix/{p-23e4f5f3.entry.js → p-7beba4ad.entry.js} +2 -2
  550. package/dist/siemens-ix/p-7beba4ad.entry.js.map +1 -0
  551. package/dist/siemens-ix/{p-ffe0835b.entry.js → p-7f90eeef.entry.js} +2 -2
  552. package/dist/siemens-ix/{p-b76ed7c3.entry.js → p-84df2a86.entry.js} +2 -2
  553. package/dist/siemens-ix/p-84df2a86.entry.js.map +1 -0
  554. package/dist/siemens-ix/p-8b42ad35.entry.js +2 -0
  555. package/dist/siemens-ix/{p-31f77d98.entry.js.map → p-8b42ad35.entry.js.map} +1 -1
  556. package/dist/siemens-ix/{p-5c22d3e5.entry.js → p-8f9368b8.entry.js} +2 -2
  557. package/dist/siemens-ix/p-8fa8d0e3.entry.js +2 -0
  558. package/dist/siemens-ix/p-92ec7f27.entry.js +2 -0
  559. package/dist/siemens-ix/{p-DBsKyLIP.js → p-BcCDexod.js} +2 -2
  560. package/dist/siemens-ix/p-BcCDexod.js.map +1 -0
  561. package/dist/siemens-ix/p-Cn013Iz8.js +2 -0
  562. package/dist/siemens-ix/p-Cn013Iz8.js.map +1 -0
  563. package/dist/siemens-ix/p-a3baca2f.entry.js +2 -0
  564. package/dist/siemens-ix/{p-75a10c1e.entry.js → p-b3453edf.entry.js} +2 -2
  565. package/dist/siemens-ix/p-b41a7abb.entry.js +2 -0
  566. package/dist/siemens-ix/{p-53df921a.entry.js.map → p-b41a7abb.entry.js.map} +1 -1
  567. package/dist/siemens-ix/{p-9a4db5e9.entry.js → p-b76df1c7.entry.js} +2 -2
  568. package/dist/siemens-ix/{p-332dccc7.entry.js → p-b7ef70d4.entry.js} +2 -2
  569. package/dist/siemens-ix/{p-43ecc5c3.entry.js → p-b8f4b001.entry.js} +2 -2
  570. package/dist/siemens-ix/{p-531f9746.entry.js → p-b9880608.entry.js} +2 -2
  571. package/dist/siemens-ix/{p-619a3dc8.entry.js → p-c5c863e1.entry.js} +2 -2
  572. package/dist/siemens-ix/{p-bb744e91.entry.js → p-c94739d0.entry.js} +2 -2
  573. package/dist/siemens-ix/{p-8cb3d70c.entry.js → p-ca3b24b1.entry.js} +2 -2
  574. package/dist/siemens-ix/{p-4acf0d7b.entry.js → p-cd1afcc9.entry.js} +2 -2
  575. package/dist/siemens-ix/{p-713df610.entry.js → p-cf041cfd.entry.js} +2 -2
  576. package/dist/siemens-ix/{p-338c68ea.entry.js → p-d10b9798.entry.js} +2 -2
  577. package/dist/siemens-ix/{p-6fd7d11a.entry.js → p-d193381f.entry.js} +2 -2
  578. package/dist/siemens-ix/{p-d90d1310.entry.js → p-d3a60c52.entry.js} +2 -2
  579. package/dist/siemens-ix/p-d688f76e.entry.js +2 -0
  580. package/dist/siemens-ix/{p-2d96a4a1.entry.js.map → p-d688f76e.entry.js.map} +1 -1
  581. package/dist/siemens-ix/p-dc8de6cb.entry.js +2 -0
  582. package/dist/siemens-ix/p-dc8de6cb.entry.js.map +1 -0
  583. package/dist/siemens-ix/p-dd16efd4.entry.js +2 -0
  584. package/dist/siemens-ix/p-dd16efd4.entry.js.map +1 -0
  585. package/dist/siemens-ix/p-de12078d.entry.js +2 -0
  586. package/dist/siemens-ix/{p-418671c7.entry.js.map → p-de12078d.entry.js.map} +1 -1
  587. package/dist/siemens-ix/{p-f40573e7.entry.js → p-df6bb698.entry.js} +2 -2
  588. package/dist/siemens-ix/p-e0b9cf68.entry.js +2 -0
  589. package/dist/siemens-ix/{p-5bb86bf7.entry.js → p-e42f62a1.entry.js} +2 -2
  590. package/dist/siemens-ix/{p-fb02d7fd.entry.js → p-e48977ed.entry.js} +2 -2
  591. package/dist/siemens-ix/{p-3099c12a.entry.js → p-e7bdc0a0.entry.js} +2 -2
  592. package/dist/siemens-ix/p-e7bdc0a0.entry.js.map +1 -0
  593. package/dist/siemens-ix/{p-ff6f13e1.entry.js → p-ea15fc79.entry.js} +2 -2
  594. package/dist/siemens-ix/{p-18d4645d.entry.js → p-ea37abf6.entry.js} +2 -2
  595. package/dist/siemens-ix/{p-f253d38c.entry.js → p-eba7f62c.entry.js} +2 -2
  596. package/dist/siemens-ix/{p-b64a3d8a.entry.js → p-ebef3d52.entry.js} +2 -2
  597. package/dist/siemens-ix/p-f05aa76f.entry.js +2 -0
  598. package/dist/siemens-ix/p-f05aa76f.entry.js.map +1 -0
  599. package/dist/siemens-ix/p-fb8877bc.entry.js +2 -0
  600. package/dist/siemens-ix/p-fb8877bc.entry.js.map +1 -0
  601. package/dist/siemens-ix/{p-e3dca831.entry.js → p-ff83eafd.entry.js} +2 -2
  602. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  603. package/dist/siemens-ix/siemens-ix.css +2 -5
  604. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  605. package/dist/types/components/date-input/date-input.d.ts +10 -0
  606. package/dist/types/components/field-wrapper/helper-text-util.d.ts +5 -1
  607. package/dist/types/components/input/input.d.ts +9 -0
  608. package/dist/types/components/input/input.fc.d.ts +6 -0
  609. package/dist/types/components/input/input.util.d.ts +1 -0
  610. package/dist/types/components/input/number-input.d.ts +31 -5
  611. package/dist/types/components/menu-about/menu-about.d.ts +1 -1
  612. package/dist/types/components/menu-settings/menu-settings.d.ts +1 -1
  613. package/dist/types/components/pagination/pagination.d.ts +8 -0
  614. package/dist/types/components/select/select.d.ts +11 -0
  615. package/dist/types/components/split-button/split-button.d.ts +15 -4
  616. package/dist/types/components/time-input/time-input.d.ts +10 -0
  617. package/dist/types/components/time-picker/time-picker.d.ts +6 -1
  618. package/dist/types/components/tooltip/tooltip.d.ts +2 -1
  619. package/dist/types/components/utils/menu-tabs/menu-tabs-utils.d.ts +1 -0
  620. package/dist/types/components.d.ts +160 -12
  621. package/hydrate/index.js +673 -347
  622. package/hydrate/index.mjs +673 -347
  623. package/package.json +1 -1
  624. package/scss/components/_links.scss +2 -5
  625. package/scss/mixins/_input.scss +2 -2
  626. package/scss/theme/classic/dark/_variables.scss +1 -1
  627. package/components/p-C56HnkHy.js.map +0 -1
  628. package/components/p-CDPfohEH.js.map +0 -1
  629. package/components/p-ChFNWyCb.js.map +0 -1
  630. package/components/p-CvuFiT5X.js.map +0 -1
  631. package/components/p-FWLjfP4_.js.map +0 -1
  632. package/components/p-OLe05BAC.js.map +0 -1
  633. package/components/p-Ow_osSm5.js.map +0 -1
  634. package/components/p-S6nC3Yb4.js.map +0 -1
  635. package/dist/cjs/helper-text-util-BlElJLxk.js.map +0 -1
  636. package/dist/cjs/input.util-4AhBphgX.js.map +0 -1
  637. package/dist/cjs/ix-menu-settings-Cdqo0r8E.js.map +0 -1
  638. package/dist/esm/helper-text-util-BurV4TiQ.js.map +0 -1
  639. package/dist/esm/input.util-VHrSuCP7.js.map +0 -1
  640. package/dist/esm/ix-menu-settings-Bif4wByb.js.map +0 -1
  641. package/dist/siemens-ix/p-10ed549b.entry.js +0 -2
  642. package/dist/siemens-ix/p-10ed549b.entry.js.map +0 -1
  643. package/dist/siemens-ix/p-1550973a.entry.js +0 -2
  644. package/dist/siemens-ix/p-1de6e736.entry.js +0 -2
  645. package/dist/siemens-ix/p-1de6e736.entry.js.map +0 -1
  646. package/dist/siemens-ix/p-23e4f5f3.entry.js.map +0 -1
  647. package/dist/siemens-ix/p-2d96a4a1.entry.js +0 -2
  648. package/dist/siemens-ix/p-3099c12a.entry.js.map +0 -1
  649. package/dist/siemens-ix/p-31f77d98.entry.js +0 -2
  650. package/dist/siemens-ix/p-418671c7.entry.js +0 -2
  651. package/dist/siemens-ix/p-4288bd66.entry.js +0 -2
  652. package/dist/siemens-ix/p-453aa17a.entry.js +0 -2
  653. package/dist/siemens-ix/p-45b53c34.entry.js +0 -2
  654. package/dist/siemens-ix/p-45b53c34.entry.js.map +0 -1
  655. package/dist/siemens-ix/p-49843cce.entry.js.map +0 -1
  656. package/dist/siemens-ix/p-53df921a.entry.js +0 -2
  657. package/dist/siemens-ix/p-598ece5a.entry.js +0 -2
  658. package/dist/siemens-ix/p-6880e267.entry.js +0 -2
  659. package/dist/siemens-ix/p-712e393d.entry.js +0 -2
  660. package/dist/siemens-ix/p-712e393d.entry.js.map +0 -1
  661. package/dist/siemens-ix/p-89a7705b.entry.js +0 -2
  662. package/dist/siemens-ix/p-89a7705b.entry.js.map +0 -1
  663. package/dist/siemens-ix/p-DBsKyLIP.js.map +0 -1
  664. package/dist/siemens-ix/p-DS9crO46.js +0 -2
  665. package/dist/siemens-ix/p-DS9crO46.js.map +0 -1
  666. package/dist/siemens-ix/p-DXAZefAa.js +0 -2
  667. package/dist/siemens-ix/p-DXAZefAa.js.map +0 -1
  668. package/dist/siemens-ix/p-a0ffeea7.entry.js +0 -2
  669. package/dist/siemens-ix/p-a6e398d2.entry.js +0 -2
  670. package/dist/siemens-ix/p-b76ed7c3.entry.js.map +0 -1
  671. package/dist/siemens-ix/p-b7da78c6.entry.js +0 -2
  672. package/dist/siemens-ix/p-b7da78c6.entry.js.map +0 -1
  673. package/dist/siemens-ix/p-c6536a88.entry.js +0 -2
  674. package/dist/siemens-ix/p-d18df859.entry.js +0 -2
  675. package/dist/siemens-ix/p-e5180acd.entry.js +0 -2
  676. package/dist/siemens-ix/p-e5180acd.entry.js.map +0 -1
  677. package/dist/siemens-ix/p-fdb802ac.entry.js +0 -2
  678. /package/dist/siemens-ix/{p-fdb802ac.entry.js.map → p-0411df39.entry.js.map} +0 -0
  679. /package/dist/siemens-ix/{p-9f7f5cd3.entry.js.map → p-0ce03ad3.entry.js.map} +0 -0
  680. /package/dist/siemens-ix/{p-60d2f3db.entry.js.map → p-0d621531.entry.js.map} +0 -0
  681. /package/dist/siemens-ix/{p-4a127027.entry.js.map → p-10f2a239.entry.js.map} +0 -0
  682. /package/dist/siemens-ix/{p-d70cd703.entry.js.map → p-196cffb5.entry.js.map} +0 -0
  683. /package/dist/siemens-ix/{p-94596bff.entry.js.map → p-1de1a2bf.entry.js.map} +0 -0
  684. /package/dist/siemens-ix/{p-b7c64537.entry.js.map → p-2597a988.entry.js.map} +0 -0
  685. /package/dist/siemens-ix/{p-a8f08878.entry.js.map → p-2ffde2d5.entry.js.map} +0 -0
  686. /package/dist/siemens-ix/{p-598ece5a.entry.js.map → p-31a8eaf9.entry.js.map} +0 -0
  687. /package/dist/siemens-ix/{p-2e3ac12c.entry.js.map → p-33fcea65.entry.js.map} +0 -0
  688. /package/dist/siemens-ix/{p-bd2127d0.entry.js.map → p-367df024.entry.js.map} +0 -0
  689. /package/dist/siemens-ix/{p-65c759c5.entry.js.map → p-3751c675.entry.js.map} +0 -0
  690. /package/dist/siemens-ix/{p-76bd4cf9.entry.js.map → p-37bd983a.entry.js.map} +0 -0
  691. /package/dist/siemens-ix/{p-d2831f7b.entry.js.map → p-38e45020.entry.js.map} +0 -0
  692. /package/dist/siemens-ix/{p-d997238b.entry.js.map → p-396e1f3d.entry.js.map} +0 -0
  693. /package/dist/siemens-ix/{p-0fd006b9.entry.js.map → p-3b7573d6.entry.js.map} +0 -0
  694. /package/dist/siemens-ix/{p-c6536a88.entry.js.map → p-425d6925.entry.js.map} +0 -0
  695. /package/dist/siemens-ix/{p-ec3ec461.entry.js.map → p-484bddf4.entry.js.map} +0 -0
  696. /package/dist/siemens-ix/{p-df5494ff.entry.js.map → p-496e98ac.entry.js.map} +0 -0
  697. /package/dist/siemens-ix/{p-ab6d123c.entry.js.map → p-4c18f123.entry.js.map} +0 -0
  698. /package/dist/siemens-ix/{p-c96ce76c.entry.js.map → p-4c1f90cb.entry.js.map} +0 -0
  699. /package/dist/siemens-ix/{p-a53d7dbb.entry.js.map → p-4e4d792d.entry.js.map} +0 -0
  700. /package/dist/siemens-ix/{p-80981f03.entry.js.map → p-5779f16e.entry.js.map} +0 -0
  701. /package/dist/siemens-ix/{p-4d0e900c.entry.js.map → p-5b57bde1.entry.js.map} +0 -0
  702. /package/dist/siemens-ix/{p-6045dce9.entry.js.map → p-5d6f43fd.entry.js.map} +0 -0
  703. /package/dist/siemens-ix/{p-2b2f339e.entry.js.map → p-6445a54f.entry.js.map} +0 -0
  704. /package/dist/siemens-ix/{p-acb7c236.entry.js.map → p-667e3184.entry.js.map} +0 -0
  705. /package/dist/siemens-ix/{p-92e0ebf1.entry.js.map → p-6a4bc78a.entry.js.map} +0 -0
  706. /package/dist/siemens-ix/{p-319e292f.entry.js.map → p-74e7b03f.entry.js.map} +0 -0
  707. /package/dist/siemens-ix/{p-7c474c82.entry.js.map → p-77fd2138.entry.js.map} +0 -0
  708. /package/dist/siemens-ix/{p-11b1eaa3.entry.js.map → p-7bad0544.entry.js.map} +0 -0
  709. /package/dist/siemens-ix/{p-ffe0835b.entry.js.map → p-7f90eeef.entry.js.map} +0 -0
  710. /package/dist/siemens-ix/{p-5c22d3e5.entry.js.map → p-8f9368b8.entry.js.map} +0 -0
  711. /package/dist/siemens-ix/{p-d18df859.entry.js.map → p-8fa8d0e3.entry.js.map} +0 -0
  712. /package/dist/siemens-ix/{p-a6e398d2.entry.js.map → p-92ec7f27.entry.js.map} +0 -0
  713. /package/dist/siemens-ix/{p-1550973a.entry.js.map → p-a3baca2f.entry.js.map} +0 -0
  714. /package/dist/siemens-ix/{p-75a10c1e.entry.js.map → p-b3453edf.entry.js.map} +0 -0
  715. /package/dist/siemens-ix/{p-9a4db5e9.entry.js.map → p-b76df1c7.entry.js.map} +0 -0
  716. /package/dist/siemens-ix/{p-332dccc7.entry.js.map → p-b7ef70d4.entry.js.map} +0 -0
  717. /package/dist/siemens-ix/{p-43ecc5c3.entry.js.map → p-b8f4b001.entry.js.map} +0 -0
  718. /package/dist/siemens-ix/{p-531f9746.entry.js.map → p-b9880608.entry.js.map} +0 -0
  719. /package/dist/siemens-ix/{p-619a3dc8.entry.js.map → p-c5c863e1.entry.js.map} +0 -0
  720. /package/dist/siemens-ix/{p-bb744e91.entry.js.map → p-c94739d0.entry.js.map} +0 -0
  721. /package/dist/siemens-ix/{p-8cb3d70c.entry.js.map → p-ca3b24b1.entry.js.map} +0 -0
  722. /package/dist/siemens-ix/{p-4acf0d7b.entry.js.map → p-cd1afcc9.entry.js.map} +0 -0
  723. /package/dist/siemens-ix/{p-713df610.entry.js.map → p-cf041cfd.entry.js.map} +0 -0
  724. /package/dist/siemens-ix/{p-338c68ea.entry.js.map → p-d10b9798.entry.js.map} +0 -0
  725. /package/dist/siemens-ix/{p-6fd7d11a.entry.js.map → p-d193381f.entry.js.map} +0 -0
  726. /package/dist/siemens-ix/{p-d90d1310.entry.js.map → p-d3a60c52.entry.js.map} +0 -0
  727. /package/dist/siemens-ix/{p-f40573e7.entry.js.map → p-df6bb698.entry.js.map} +0 -0
  728. /package/dist/siemens-ix/{p-a0ffeea7.entry.js.map → p-e0b9cf68.entry.js.map} +0 -0
  729. /package/dist/siemens-ix/{p-5bb86bf7.entry.js.map → p-e42f62a1.entry.js.map} +0 -0
  730. /package/dist/siemens-ix/{p-fb02d7fd.entry.js.map → p-e48977ed.entry.js.map} +0 -0
  731. /package/dist/siemens-ix/{p-ff6f13e1.entry.js.map → p-ea15fc79.entry.js.map} +0 -0
  732. /package/dist/siemens-ix/{p-18d4645d.entry.js.map → p-ea37abf6.entry.js.map} +0 -0
  733. /package/dist/siemens-ix/{p-f253d38c.entry.js.map → p-eba7f62c.entry.js.map} +0 -0
  734. /package/dist/siemens-ix/{p-b64a3d8a.entry.js.map → p-ebef3d52.entry.js.map} +0 -0
  735. /package/dist/siemens-ix/{p-e3dca831.entry.js.map → p-ff83eafd.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ix-date-input.entry.esm.js","sources":["src/components/date-input/date-input.scss?tag=ix-date-input&encapsulation=shadow","src/components/date-input/date-input.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@use 'mixins/shadow-dom/component';\n@use 'mixins/input';\n@use './../input/input.mixins.scss' as input-mixins;\n\n@include input-mixins.input-field;\n\n:host {\n display: inline-block;\n position: relative;\n\n @include component.ix-component;\n\n input {\n width: 100%;\n height: 100%;\n }\n\n .calendar-hidden {\n display: none;\n }\n}\n\n:host(.readonly) {\n input {\n pointer-events: none;\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 { iconCalendar } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport type { DateInputValidityState } from './date-input.types';\nimport {\n closeDropdown as closeDropdownUtil,\n createValidityState,\n handleIconClick,\n openDropdown as openDropdownUtil,\n} from '../utils/input/picker-input.util';\n\n/**\n * @form-ready\n *\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-date-input',\n styleUrl: 'date-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DateInput implements IxInputFieldComponent<string | undefined> {\n @Element() hostElement!: HTMLIxDateInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * Name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * Value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value?: string = '';\n\n @Watch('value') watchValuePropHandler(newValue: string) {\n this.onInput(newValue);\n }\n\n /**\n * The earliest date that can be selected by the date input/picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate = '';\n\n /**\n * The latest date that can be selected by the date input/picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n * The locale is used to translate the labels for weekdays and months.\n * It also determines the default order of weekdays based on the locale's conventions.\n * When the locale changes, the weekday labels are rotated according to the `weekStartIndex`.\n * It does not affect the values returned by methods and events.\n */\n @Prop() locale?: string;\n\n /**\n * Date format string.\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * Required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * Helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * Label of the input field\n */\n @Prop() label?: string;\n\n /**\n * ARIA label for the calendar icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelCalendarButton?: string;\n\n /**\n * Error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * Readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * Show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * I18n string for the error message when the date is not parsable\n */\n @Prop({ attribute: 'i18n-error-date-unparsable' }) i18nErrorDateUnparsable =\n 'Date is not valid';\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * ARIA label for the previous month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelPreviousMonthButton?: string;\n\n /**\n * ARIA label for the next month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelNextMonthButton?: string;\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string | undefined>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<DateInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() from?: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly datepickerRef = makeRef<HTMLIxDatePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string | undefined): void {\n if (value) {\n this.formInternals.setFormValue(value);\n } else {\n this.formInternals.setFormValue(null);\n }\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.from = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.from = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string | undefined) {\n this.value = value;\n if (!value) {\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const date = DateTime.fromFormat(value, this.format);\n const minDate = DateTime.fromFormat(this.minDate, this.format);\n const maxDate = DateTime.fromFormat(this.maxDate, this.format);\n\n this.isInputInvalid = !date.isValid || date < minDate || date > maxDate;\n\n if (this.isInputInvalid) {\n this.invalidReason = date.invalidReason || undefined;\n this.from = undefined;\n } else {\n this.updateFormInternalValue(value);\n this.closeDropdown();\n }\n\n this.valueChange.emit(value);\n }\n\n onCalenderClick(event: Event) {\n handleIconClick(\n event,\n this.show,\n () => this.openDropdown(),\n this.inputElementRef\n );\n }\n\n async openDropdown() {\n return openDropdownUtil(this.dropdownElementRef);\n }\n\n async closeDropdown() {\n return closeDropdownUtil(this.dropdownElementRef);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n readonly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value ?? ''}\n placeholder={this.placeholder}\n name={this.name}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-calendar\"\n class={{ 'calendar-hidden': this.disabled || this.readonly }}\n variant=\"subtle-tertiary\"\n icon={iconCalendar}\n onClick={(event) => this.onCalenderClick(event)}\n aria-label={this.ariaLabelCalendarButton}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve(\n createValidityState(this.isInputInvalid, !!this.required, this.value)\n );\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorDateUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-date-picker\n ref={this.datepickerRef}\n format={this.format}\n locale={this.locale}\n singleSelection\n from={this.from ?? ''}\n minDate={this.minDate}\n maxDate={this.maxDate}\n onDateChange={(event) => {\n const { from } = event.detail;\n this.onInput(from);\n }}\n showWeekNumbers={this.showWeekNumbers}\n ariaLabelNextMonthButton={this.ariaLabelNextMonthButton}\n ariaLabelPreviousMonthButton={this.ariaLabelPreviousMonthButton}\n embedded\n ></ix-date-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":["openDropdownUtil","closeDropdownUtil"],"mappings":"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"}
1
+ {"version":3,"file":"ix-date-input.entry.esm.js","sources":["src/components/date-input/date-input.scss?tag=ix-date-input&encapsulation=shadow","src/components/date-input/date-input.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@use 'mixins/shadow-dom/component';\n@use 'mixins/input';\n@use './../input/input.mixins.scss' as input-mixins;\n\n@include input-mixins.input-field;\n\n:host {\n display: inline-block;\n position: relative;\n\n @include component.ix-component;\n\n input {\n width: 100%;\n height: 100%;\n }\n\n .calendar-hidden {\n display: none;\n }\n}\n\n:host(.readonly) {\n input {\n pointer-events: none;\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 { iconCalendar } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n handleSubmitOnEnterKeydown,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport type { DateInputValidityState } from './date-input.types';\nimport {\n closeDropdown as closeDropdownUtil,\n createValidityState,\n handleIconClick,\n openDropdown as openDropdownUtil,\n} from '../utils/input/picker-input.util';\n\n/**\n * @form-ready\n *\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-date-input',\n styleUrl: 'date-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class DateInput implements IxInputFieldComponent<string | undefined> {\n @Element() hostElement!: HTMLIxDateInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * Name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * Value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value?: string = '';\n\n @Watch('value') watchValuePropHandler(newValue: string) {\n this.onInput(newValue);\n }\n\n /**\n * The earliest date that can be selected by the date input/picker.\n * If not set there will be no restriction.\n */\n @Prop() minDate = '';\n\n /**\n * The latest date that can be selected by the date input/picker.\n * If not set there will be no restriction.\n */\n @Prop() maxDate = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n * The locale is used to translate the labels for weekdays and months.\n * It also determines the default order of weekdays based on the locale's conventions.\n * When the locale changes, the weekday labels are rotated according to the `weekStartIndex`.\n * It does not affect the values returned by methods and events.\n */\n @Prop() locale?: string;\n\n /**\n * Date format string.\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() format: string = 'yyyy/LL/dd';\n\n /**\n * Required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * Helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * Label of the input field\n */\n @Prop() label?: string;\n\n /**\n * ARIA label for the calendar icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelCalendarButton?: string;\n\n /**\n * Error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * Readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * Show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * I18n string for the error message when the date is not parsable\n */\n @Prop({ attribute: 'i18n-error-date-unparsable' }) i18nErrorDateUnparsable =\n 'Date is not valid';\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * ARIA label for the previous month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelPreviousMonthButton?: string;\n\n /**\n * ARIA label for the next month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelNextMonthButton?: string;\n\n /**\n * If false, pressing Enter will submit the form (if inside a form).\n * Set to true to suppress submit on Enter.\n */\n @Prop({ reflect: true }) suppressSubmitOnEnter: boolean = false;\n\n /**\n * Text alignment within the date input. 'start' aligns the text to the start of the input, 'end' aligns the text to the end of the input.\n */\n @Prop() textAlignment: 'start' | 'end' = 'start';\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string | undefined>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<DateInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() from?: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly datepickerRef = makeRef<HTMLIxDatePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string | undefined): void {\n if (value) {\n this.formInternals.setFormValue(value);\n } else {\n this.formInternals.setFormValue(null);\n }\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.from = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.from = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string | undefined) {\n this.value = value;\n if (!value) {\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const date = DateTime.fromFormat(value, this.format);\n const minDate = DateTime.fromFormat(this.minDate, this.format);\n const maxDate = DateTime.fromFormat(this.maxDate, this.format);\n\n this.isInputInvalid = !date.isValid || date < minDate || date > maxDate;\n\n if (this.isInputInvalid) {\n this.invalidReason = date.invalidReason || undefined;\n this.from = undefined;\n } else {\n this.updateFormInternalValue(value);\n this.closeDropdown();\n }\n\n this.valueChange.emit(value);\n }\n\n onCalenderClick(event: Event) {\n handleIconClick(\n event,\n this.show,\n () => this.openDropdown(),\n this.inputElementRef\n );\n }\n\n async openDropdown() {\n return openDropdownUtil(this.dropdownElementRef);\n }\n\n async closeDropdown() {\n return closeDropdownUtil(this.dropdownElementRef);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private handleInputKeyDown(event: KeyboardEvent) {\n handleSubmitOnEnterKeydown(\n event,\n this.suppressSubmitOnEnter,\n this.formInternals.form\n );\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n readonly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value ?? ''}\n placeholder={this.placeholder}\n name={this.name}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n onKeyDown={(event) => this.handleInputKeyDown(event)}\n style={{\n textAlign: this.textAlignment,\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-calendar\"\n class={{ 'calendar-hidden': this.disabled || this.readonly }}\n variant=\"subtle-tertiary\"\n icon={iconCalendar}\n onClick={(event) => this.onCalenderClick(event)}\n aria-label={this.ariaLabelCalendarButton}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve(\n createValidityState(this.isInputInvalid, !!this.required, this.value)\n );\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorDateUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"date-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-date-picker\n ref={this.datepickerRef}\n format={this.format}\n locale={this.locale}\n singleSelection\n from={this.from ?? ''}\n minDate={this.minDate}\n maxDate={this.maxDate}\n onDateChange={(event) => {\n const { from } = event.detail;\n this.onInput(from);\n }}\n showWeekNumbers={this.showWeekNumbers}\n ariaLabelNextMonthButton={this.ariaLabelNextMonthButton}\n ariaLabelPreviousMonthButton={this.ariaLabelPreviousMonthButton}\n embedded\n ></ix-date-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":["openDropdownUtil","closeDropdownUtil"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-date-time-card.entry.esm.js","sources":["src/components/date-time-card/date-time-card.scss?tag=ix-date-time-card&encapsulation=shadow","src/components/date-time-card/date-time-card.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n @include component.ix-component;\n\n .card {\n background-color: var(--theme-menu--background);\n width: 100%;\n box-shadow: none;\n border: none;\n border-radius: unset;\n display: flex;\n flex-direction: column;\n\n &.standaloneAppearance {\n box-shadow: var(--theme-shadow-4);\n border-radius: 0.25rem;\n }\n\n &.rounded {\n border-radius: 4px;\n }\n\n &.left {\n border-radius: 4px 0 0 4px;\n height: 100%;\n }\n\n &.right {\n border-radius: 0 4px 4px 0;\n height: 100%;\n }\n\n &.straight {\n border-radius: 0;\n }\n\n .header-container {\n width: 100%;\n\n .header {\n padding: vars.$default-space;\n flex: 0 1 auto;\n }\n }\n\n .separator {\n border: 1px solid var(--theme-datepicker-separator--background);\n width: 100%;\n flex: 0 1 auto;\n }\n\n .content {\n padding: 0 vars.$default-space vars.$default-space vars.$default-space;\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &--time-picker {\n padding: 0 vars.$default-space;\n }\n }\n\n .footer-container {\n width: 100%;\n\n .footer {\n padding: vars.$default-space;\n }\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\nimport type { DateTimeCardCorners } from './date-time-card.types';\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-date-time-card',\n styleUrl: 'date-time-card.scss',\n shadow: true,\n})\nexport class DateTimeCard {\n /** @internal */\n @Prop() embedded?: boolean;\n\n /** Timepicker specific styling */\n @Prop() timePickerAppearance: boolean = false;\n\n /**\n * Hide header\n */\n @Prop() hideHeader: boolean = false;\n\n /**\n * Display footer\n */\n @Prop() hasFooter: boolean = false;\n\n /**\n * Set corners style\n */\n @Prop() corners: DateTimeCardCorners = 'rounded';\n\n private cardClasses() {\n return {\n card: true,\n standaloneAppearance: this.embedded === false,\n rounded: this.corners === 'rounded',\n left: this.corners === 'left',\n right: this.corners === 'right',\n straight: this.corners === 'straight',\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.cardClasses()}>\n {!this.hideHeader && (\n <div class=\"header-container\">\n <div class=\"header\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"separator\"></div>\n </div>\n )}\n\n <div\n class={{\n content: true,\n 'content--time-picker': this.timePickerAppearance,\n }}\n >\n <slot></slot>\n </div>\n\n {this.hasFooter && (\n <div class=\"footer-container\">\n <div class=\"separator\"></div>\n <div class=\"footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,6pDAA6pD;;MCoBxqD,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAUU,QAAA,IAAoB,CAAA,oBAAA,GAAY,KAAK;AAE7C;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAEnC;;AAEG;AACK,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAElC;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAwB,SAAS;AA+CjD;IA7CS,WAAW,GAAA;QACjB,OAAO;AACL,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,oBAAoB,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK;AAC7C,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;AACnC,YAAA,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM;AAC7B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;AAC/B,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,UAAU;SACtC;;IAGH,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EAC3B,CAAC,IAAI,CAAC,UAAU,KACf,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EACjB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,WAAW,EAAA,CAAO,CACzB,CACP,EAED,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,sBAAsB,EAAE,IAAI,CAAC,oBAAoB;AAClD,aAAA,EAAA,EAED,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EAEL,IAAI,CAAC,SAAS,KACb,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAO,CAAA,EAC7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EACjB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAQ,CAAA,CACvB,CACF,CACP,CACG,CACD;;;;;;;"}
1
+ {"version":3,"file":"ix-date-time-card.entry.esm.js","sources":["src/components/date-time-card/date-time-card.scss?tag=ix-date-time-card&encapsulation=shadow","src/components/date-time-card/date-time-card.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n @include component.ix-component;\n\n .card {\n background-color: var(--theme-menu--background);\n width: 100%;\n box-shadow: none;\n border: none;\n border-radius: unset;\n display: flex;\n flex-direction: column;\n\n &.standaloneAppearance {\n box-shadow: var(--theme-shadow-4);\n border-radius: 0.25rem;\n }\n\n &.rounded {\n border-radius: 4px;\n }\n\n &.left {\n border-radius: 4px 0 0 4px;\n height: 100%;\n }\n\n &.right {\n border-radius: 0 4px 4px 0;\n height: 100%;\n }\n\n &.straight {\n border-radius: 0;\n }\n\n .header-container {\n width: 100%;\n\n .header {\n padding: vars.$medium-space vars.$default-space;\n flex: 0 1 auto;\n }\n }\n\n .separator {\n height: 1px;\n background-color: var(--theme-datepicker-separator--background);\n width: 100%;\n flex: 0 1 auto;\n }\n\n .content {\n padding: 0 vars.$default-space vars.$default-space vars.$default-space;\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &--time-picker {\n padding: 0 vars.$default-space;\n }\n }\n\n .footer-container {\n width: 100%;\n\n .footer {\n padding: vars.$default-space;\n }\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\nimport type { DateTimeCardCorners } from './date-time-card.types';\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-date-time-card',\n styleUrl: 'date-time-card.scss',\n shadow: true,\n})\nexport class DateTimeCard {\n /** @internal */\n @Prop() embedded?: boolean;\n\n /** Timepicker specific styling */\n @Prop() timePickerAppearance: boolean = false;\n\n /**\n * Hide header\n */\n @Prop() hideHeader: boolean = false;\n\n /**\n * Display footer\n */\n @Prop() hasFooter: boolean = false;\n\n /**\n * Set corners style\n */\n @Prop() corners: DateTimeCardCorners = 'rounded';\n\n private cardClasses() {\n return {\n card: true,\n standaloneAppearance: this.embedded === false,\n rounded: this.corners === 'rounded',\n left: this.corners === 'left',\n right: this.corners === 'right',\n straight: this.corners === 'straight',\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.cardClasses()}>\n {!this.hideHeader && (\n <div class=\"header-container\">\n <div class=\"header\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"separator\"></div>\n </div>\n )}\n\n <div\n class={{\n content: true,\n 'content--time-picker': this.timePickerAppearance,\n }}\n >\n <slot></slot>\n </div>\n\n {this.hasFooter && (\n <div class=\"footer-container\">\n <div class=\"separator\"></div>\n <div class=\"footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,grDAAgrD;;MCoB3rD,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAUU,QAAA,IAAoB,CAAA,oBAAA,GAAY,KAAK;AAE7C;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAEnC;;AAEG;AACK,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAElC;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAwB,SAAS;AA+CjD;IA7CS,WAAW,GAAA;QACjB,OAAO;AACL,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,oBAAoB,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK;AAC7C,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;AACnC,YAAA,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM;AAC7B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;AAC/B,YAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,UAAU;SACtC;;IAGH,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EAC3B,CAAC,IAAI,CAAC,UAAU,KACf,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EACjB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,WAAW,EAAA,CAAO,CACzB,CACP,EAED,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,sBAAsB,EAAE,IAAI,CAAC,oBAAoB;AAClD,aAAA,EAAA,EAED,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EAEL,IAAI,CAAC,SAAS,KACb,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAO,CAAA,EAC7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EACjB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAQ,CAAA,CACvB,CACF,CACP,CACG,CACD;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-datetime-picker.entry.esm.js","sources":["src/components/datetime-picker/datetime-picker.scss?tag=ix-datetime-picker&encapsulation=shadow","src/components/datetime-picker/datetime-picker.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n display: block;\n background-color: var(--theme-menu--background);\n border-radius: 4px;\n position: relative;\n width: min-content;\n\n @include component.ix-component;\n\n ix-layout-grid {\n border-radius: 0.25rem;\n box-shadow: var(--theme-shadow-4);\n }\n\n ix-time-picker {\n width: 100%;\n }\n\n .no-padding {\n padding: 0;\n }\n\n ix-col {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n .flex {\n display: flex;\n justify-content: center;\n flex-direction: column;\n }\n\n @media (min-width: 576px) {\n min-width: max-content;\n\n .btn-select-date-container {\n display: inline-flex;\n flex-grow: 1;\n\n ix-button {\n margin-left: auto;\n margin-top: auto;\n }\n }\n\n .min-width {\n width: min-content;\n }\n\n ix-time-picker {\n width: initial;\n }\n }\n\n .individual {\n box-shadow: none;\n border: none;\n }\n\n .btn-select-date-container {\n padding: 0 vars.$default-space vars.$default-space;\n\n @media (max-width: 576px) {\n & .btn-select-date {\n width: 100%;\n }\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport type { DateChangeEvent } from '../date-picker/date-picker.events';\nimport { IxDatePickerComponent } from '../date-picker/date-picker-component';\nimport type {\n DateTimeDateChangeEvent,\n DateTimeSelectEvent,\n} from './datetime-picker.types';\n\n@Component({\n tag: 'ix-datetime-picker',\n styleUrl: 'datetime-picker.scss',\n shadow: true,\n})\nexport class DatetimePicker\n implements Omit<IxDatePickerComponent, 'corners' | 'format'>\n{\n /**\n * If true disables date range selection (from/to).\n */\n @Prop() singleSelection = false;\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 * Date format string.\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() dateFormat: string = 'yyyy/LL/dd';\n\n /**\n * Time format string.\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() timeFormat: string = 'HH:mm:ss';\n\n /**\n * The selected starting date. If the picker is not in range mode this is the selected date.\n * Format has to match the `format` property.\n */\n @Prop() from?: string;\n\n /**\n * The selected end date. If the the picker is not in range mode this property has no impact.\n * Format has to match the `format` property.\n */\n @Prop() to?: string;\n\n /**\n * Select time with format string\n */\n @Prop() time?: string;\n\n /**\n * Show time reference input\n * Time reference is default aligned with @see {this.timeFormat}\n */\n @Prop() showTimeReference: boolean = false;\n\n /**\n * Set time reference\n */\n @Prop() timeReference?: 'AM' | 'PM';\n\n /**\n * Text of date select button\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone: string = 'Done';\n\n /**\n * Top label of time picker\n *\n * @since 3.0.0\n */\n @Prop({ attribute: 'i18n-time' }) i18nTime: string = 'Time';\n\n /**\n * ARIA label for the previous month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelPreviousMonthButton?: string;\n\n /**\n * ARIA label for the next month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelNextMonthButton?: string;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Format of time string\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() locale?: string;\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * Time change\n */\n @Event() timeChange!: EventEmitter<string>;\n\n /**\n * Date change\n */\n @Event() dateChange!: EventEmitter<DateTimeDateChangeEvent>;\n\n /**\n * Datetime selection event is fired after confirm button is pressed\n */\n @Event() dateSelect!: EventEmitter<DateTimeSelectEvent>;\n\n private datePickerElement?: HTMLIxDatePickerElement;\n private timePickerElement?: HTMLIxTimePickerElement;\n\n private async onDone() {\n const date = await this.datePickerElement?.getCurrentDate();\n const time = await this.timePickerElement?.getCurrentTime();\n\n this.dateSelect.emit({\n from: date?.from ?? '',\n to: date?.to ?? '',\n time: time ?? '',\n });\n }\n\n private async onDateChange(event: CustomEvent<string | DateChangeEvent>) {\n event.preventDefault();\n event.stopPropagation();\n\n const { detail: date } = event;\n this.dateChange.emit(date);\n }\n\n private async onTimeChange(event: CustomEvent<string>) {\n event.preventDefault();\n event.stopPropagation();\n\n const { detail: time } = event;\n this.timeChange.emit(time);\n }\n\n render() {\n return (\n <Host>\n <ix-layout-grid class=\"no-padding\">\n <ix-row>\n <ix-col>\n <ix-date-picker\n ref={(ref) => (this.datePickerElement = ref)}\n corners=\"left\"\n singleSelection={this.singleSelection}\n onDateChange={(event) => this.onDateChange(event)}\n from={this.from}\n to={this.to}\n format={this.dateFormat}\n minDate={this.minDate}\n maxDate={this.maxDate}\n weekStartIndex={this.weekStartIndex}\n embedded\n locale={this.locale}\n showWeekNumbers={this.showWeekNumbers}\n ariaLabelPreviousMonthButton={this.ariaLabelPreviousMonthButton}\n ariaLabelNextMonthButton={this.ariaLabelNextMonthButton}\n ></ix-date-picker>\n </ix-col>\n\n <ix-col>\n <ix-time-picker\n class=\"min-width\"\n ref={(ref) => (this.timePickerElement = ref)}\n embedded\n dateTimePickerAppearance={true}\n onTimeChange={(event) => this.onTimeChange(event)}\n format={this.timeFormat}\n time={this.time}\n ></ix-time-picker>\n <div class=\"btn-select-date-container\">\n <ix-button\n class=\"btn-select-date\"\n onClick={() => this.onDone()}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-datetime-picker.entry.esm.js","sources":["src/components/datetime-picker/datetime-picker.scss?tag=ix-datetime-picker&encapsulation=shadow","src/components/datetime-picker/datetime-picker.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'mixins/shadow-dom/component';\n\n:host {\n display: block;\n background-color: var(--theme-menu--background);\n border-radius: 4px;\n position: relative;\n width: min-content;\n\n @include component.ix-component;\n\n ix-layout-grid {\n border-radius: 0.25rem;\n box-shadow: var(--theme-shadow-4);\n }\n\n ix-time-picker {\n width: 100%;\n }\n\n .no-padding {\n padding: 0;\n }\n\n ix-col {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n .flex {\n display: flex;\n justify-content: center;\n flex-direction: column;\n }\n\n .row-separator,\n .col-separator {\n border-bottom: 0.0625rem solid var(--theme-datepicker-separator--background);\n }\n\n .col-separator {\n border-right: none;\n }\n\n @media (min-width: 576px) {\n min-width: max-content;\n\n .btn-select-date-container {\n display: inline-flex;\n flex-grow: 1;\n\n ix-button {\n margin-left: auto;\n margin-top: auto;\n }\n }\n\n .min-width {\n width: min-content;\n }\n\n ix-time-picker {\n width: initial;\n }\n\n .col-separator {\n border-right: 0.0625rem solid\n var(--theme-datepicker-separator--background);\n border-bottom: none;\n }\n }\n\n .individual {\n box-shadow: none;\n border: none;\n }\n\n .btn-select-date-container {\n padding: vars.$default-space;\n\n @media (max-width: 576px) {\n & .btn-select-date {\n width: 100%;\n }\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { IxDatePickerComponent } from '../date-picker/date-picker-component';\nimport type { DateChangeEvent } from '../date-picker/date-picker.events';\nimport type {\n DateTimeDateChangeEvent,\n DateTimeSelectEvent,\n} from './datetime-picker.types';\n\n@Component({\n tag: 'ix-datetime-picker',\n styleUrl: 'datetime-picker.scss',\n shadow: true,\n})\nexport class DatetimePicker\n implements Omit<IxDatePickerComponent, 'corners' | 'format'>\n{\n /**\n * If true disables date range selection (from/to).\n */\n @Prop() singleSelection = false;\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 * Date format string.\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() dateFormat: string = 'yyyy/LL/dd';\n\n /**\n * Time format string.\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() timeFormat: string = 'HH:mm:ss';\n\n /**\n * The selected starting date. If the picker is not in range mode this is the selected date.\n * Format has to match the `format` property.\n */\n @Prop() from?: string;\n\n /**\n * The selected end date. If the the picker is not in range mode this property has no impact.\n * Format has to match the `format` property.\n */\n @Prop() to?: string;\n\n /**\n * Select time with format string\n */\n @Prop() time?: string;\n\n /**\n * Show time reference input\n * Time reference is default aligned with @see {this.timeFormat}\n */\n @Prop() showTimeReference: boolean = false;\n\n /**\n * Set time reference\n */\n @Prop() timeReference?: 'AM' | 'PM';\n\n /**\n * Text of date select button\n */\n @Prop({ attribute: 'i18n-done' }) i18nDone: string = 'Done';\n\n /**\n * Top label of time picker\n *\n * @since 3.0.0\n */\n @Prop({ attribute: 'i18n-time' }) i18nTime: string = 'Time';\n\n /**\n * ARIA label for the previous month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelPreviousMonthButton?: string;\n\n /**\n * ARIA label for the next month icon button\n * Will be set as aria-label on the nested HTML button element\n */\n @Prop() ariaLabelNextMonthButton?: string;\n\n /**\n * The index of which day to start the week on, based on the Locale#weekdays array.\n * E.g. if the locale is en-us, weekStartIndex = 1 results in starting the week on monday.\n */\n @Prop() weekStartIndex = 0;\n\n /**\n * Format of time string\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() locale?: string;\n\n /**\n * Shows week numbers displayed on the left side of the date picker\n *\n * @since 3.0.0\n */\n @Prop() showWeekNumbers = false;\n\n /**\n * Time change\n */\n @Event() timeChange!: EventEmitter<string>;\n\n /**\n * Date change\n */\n @Event() dateChange!: EventEmitter<DateTimeDateChangeEvent>;\n\n /**\n * Datetime selection event is fired after confirm button is pressed\n */\n @Event() dateSelect!: EventEmitter<DateTimeSelectEvent>;\n\n private datePickerElement?: HTMLIxDatePickerElement;\n private timePickerElement?: HTMLIxTimePickerElement;\n\n private async onDone() {\n const date = await this.datePickerElement?.getCurrentDate();\n const time = await this.timePickerElement?.getCurrentTime();\n\n this.dateSelect.emit({\n from: date?.from ?? '',\n to: date?.to ?? '',\n time: time ?? '',\n });\n }\n\n private async onDateChange(event: CustomEvent<string | DateChangeEvent>) {\n event.preventDefault();\n event.stopPropagation();\n\n const { detail: date } = event;\n this.dateChange.emit(date);\n }\n\n private async onTimeChange(event: CustomEvent<string>) {\n event.preventDefault();\n event.stopPropagation();\n\n const { detail: time } = event;\n this.timeChange.emit(time);\n }\n\n render() {\n return (\n <Host>\n <ix-layout-grid class=\"no-padding\">\n <ix-row class=\"row-separator\">\n <ix-col class=\"col-separator\">\n <ix-date-picker\n ref={(ref) => (this.datePickerElement = ref)}\n corners=\"left\"\n singleSelection={this.singleSelection}\n onDateChange={(event) => this.onDateChange(event)}\n from={this.from}\n to={this.to}\n format={this.dateFormat}\n minDate={this.minDate}\n maxDate={this.maxDate}\n weekStartIndex={this.weekStartIndex}\n embedded\n locale={this.locale}\n showWeekNumbers={this.showWeekNumbers}\n ariaLabelPreviousMonthButton={this.ariaLabelPreviousMonthButton}\n ariaLabelNextMonthButton={this.ariaLabelNextMonthButton}\n ></ix-date-picker>\n </ix-col>\n\n <ix-col>\n <ix-time-picker\n class=\"min-width\"\n ref={(ref) => (this.timePickerElement = ref)}\n embedded\n dateTimePickerAppearance={true}\n onTimeChange={(event) => this.onTimeChange(event)}\n format={this.timeFormat}\n time={this.time}\n ></ix-time-picker>\n </ix-col>\n </ix-row>\n <ix-row>\n <ix-col>\n <div class=\"btn-select-date-container\">\n <ix-button\n class=\"btn-select-date\"\n onClick={() => this.onDone()}\n >\n {this.i18nDone}\n </ix-button>\n </div>\n </ix-col>\n </ix-row>\n </ix-layout-grid>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-input.entry.esm.js","sources":["src/components/input/input.scss?tag=ix-input&encapsulation=shadow","src/components/input/input.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@use 'mixins/shadow-dom/component';\n@use 'mixins/validation/form-component';\n@use './input.mixins.scss';\n\n@include input.input-field;\n\n:host {\n .password-eye {\n margin-left: 0.125rem;\n color: red;\n\n &.eye-hidden {\n display: none;\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 { iconEye, iconEyeCancelled } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { A11yAttributes } from '../utils/a11y';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n DisposableChangesAndVisibilityObservers,\n getAriaAttributesForInput,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet inputIds = 0;\n\n/**\n * @form-ready\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * The type of the text field. Possible values are 'text', 'email', or 'password'.\n */\n @Prop() type: 'text' | 'email' | 'password' | 'tel' | 'url' = 'text';\n\n /**\n * The name of the text field.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The placeholder text for the text field.\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Specifies whether the text field is required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Specifies whether the text field is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Specifies whether the text field is readonly.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The helper text for the text field.\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the text field.\n */\n @Prop() infoText?: string;\n\n /**\n * Specifies whether to show the text as a tooltip.\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the text field.\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the text field.\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the text field.\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the text field.\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the text field.\n */\n @Prop() pattern?: string;\n\n /**\n * The maximum length of the text field.\n */\n @Prop() maxLength?: number;\n\n /**\n * The minimum length of the text field.\n */\n @Prop() minLength?: number;\n\n /**\n * The allowed characters pattern for the text field.\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Event emitted when the value of the text field changes.\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the validity state of the text field changes.\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the text field loses focus.\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n @State() inputType = 'text';\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly inputId = `input-${inputIds++}`;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n @Watch('type')\n updateInputType() {\n this.inputType = this.type;\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n this.inputType = this.type;\n }\n\n connectedCallback(): void {\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n updateFormInternalValue(value: string) {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Returns the native input element used in the text field.\n */\n @Method()\n getNativeInputElement() {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Returns the validity state of the input field.\n */\n @Method()\n async getValidityState(): Promise<ValidityState> {\n const input = await this.inputRef.waitForCurrent();\n return Promise.resolve(input.validity);\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const inputAria: A11yAttributes = getAriaAttributesForInput(this);\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n htmlForLabel={this.inputId}\n required={this.required}\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 isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <InputElement\n id={this.inputId}\n readonly={this.readonly}\n disabled={this.disabled}\n maxLength={this.maxLength}\n minLength={this.minLength}\n pattern={this.pattern}\n type={this.inputType}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(value)}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(value)\n }\n onBlur={() => {\n onInputBlur(this, this.inputRef.current);\n this.touched = true;\n }}\n ariaAttributes={inputAria}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n color=\"color-weak-text\"\n class={{\n 'password-eye': true,\n 'eye-hidden': this.type !== 'password' || this.disabled,\n }}\n variant=\"tertiary\"\n icon={\n this.inputType === 'password' ? iconEye : iconEyeCancelled\n }\n onClick={() => {\n if (this.inputType === 'password') {\n this.inputType = 'text';\n return;\n }\n\n this.inputType = 'password';\n }}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n {!!this.maxLength && this.maxLength > 0 && (\n <ix-typography\n class=\"bottom-text\"\n slot=\"bottom-right\"\n textColor=\"soft\"\n >\n {(this.value ?? '').length}/{this.maxLength}\n </ix-typography>\n )}\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-input.entry.esm.js","sources":["src/components/input/input.scss?tag=ix-input&encapsulation=shadow","src/components/input/input.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@use 'mixins/shadow-dom/component';\n@use 'mixins/validation/form-component';\n@use './input.mixins.scss';\n\n@include input.input-field;\n\n:host {\n .password-eye {\n margin-left: 0.125rem;\n color: red;\n\n &.eye-hidden {\n display: none;\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 { iconEye, iconEyeCancelled } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { A11yAttributes } from '../utils/a11y';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n DisposableChangesAndVisibilityObservers,\n getAriaAttributesForInput,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet inputIds = 0;\n\n/**\n * @form-ready\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * The type of the text field. Possible values are 'text', 'email', or 'password'.\n */\n @Prop() type: 'text' | 'email' | 'password' | 'tel' | 'url' = 'text';\n\n /**\n * The name of the text field.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The placeholder text for the text field.\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Specifies whether the text field is required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Specifies whether the text field is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Specifies whether the text field is readonly.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The helper text for the text field.\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the text field.\n */\n @Prop() infoText?: string;\n\n /**\n * Specifies whether to show the text as a tooltip.\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the text field.\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the text field.\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the text field.\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the text field.\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the text field.\n */\n @Prop() pattern?: string;\n\n /**\n * The maximum length of the text field.\n */\n @Prop() maxLength?: number;\n\n /**\n * The minimum length of the text field.\n */\n @Prop() minLength?: number;\n\n /**\n * The allowed characters pattern for the text field.\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * If false, pressing Enter will submit the form (if inside a form).\n * Set to true to suppress submit on Enter.\n */\n @Prop({ reflect: true }) suppressSubmitOnEnter: boolean = false;\n\n /**\n * Text alignment within the input. 'start' aligns the text to the start of the input, 'end' aligns the text to the end of the input.\n */\n @Prop() textAlignment: 'start' | 'end' = 'start';\n\n /**\n * Event emitted when the value of the text field changes.\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the validity state of the text field changes.\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the text field loses focus.\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n @State() inputType = 'text';\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly inputId = `input-${inputIds++}`;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n @Watch('type')\n updateInputType() {\n this.inputType = this.type;\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n this.inputType = this.type;\n }\n\n connectedCallback(): void {\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n updateFormInternalValue(value: string) {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Returns the native input element used in the text field.\n */\n @Method()\n getNativeInputElement() {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Returns the validity state of the input field.\n */\n @Method()\n async getValidityState(): Promise<ValidityState> {\n const input = await this.inputRef.waitForCurrent();\n return Promise.resolve(input.validity);\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const inputAria: A11yAttributes = getAriaAttributesForInput(this);\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n htmlForLabel={this.inputId}\n required={this.required}\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 isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <InputElement\n id={this.inputId}\n readonly={this.readonly}\n disabled={this.disabled}\n maxLength={this.maxLength}\n minLength={this.minLength}\n pattern={this.pattern}\n type={this.inputType}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(value)}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(value)\n }\n onBlur={() => {\n onInputBlur(this, this.inputRef.current);\n this.touched = true;\n }}\n ariaAttributes={inputAria}\n form={this.formInternals.form ?? undefined}\n suppressSubmitOnEnter={this.suppressSubmitOnEnter}\n textAlignment={this.textAlignment}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n color=\"color-weak-text\"\n class={{\n 'password-eye': true,\n 'eye-hidden': this.type !== 'password' || this.disabled,\n }}\n variant=\"tertiary\"\n icon={\n this.inputType === 'password' ? iconEye : iconEyeCancelled\n }\n onClick={() => {\n if (this.inputType === 'password') {\n this.inputType = 'text';\n return;\n }\n\n this.inputType = 'password';\n }}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n {!!this.maxLength && this.maxLength > 0 && (\n <ix-typography\n class=\"bottom-text\"\n slot=\"bottom-right\"\n textColor=\"soft\"\n >\n {(this.value ?? '').length}/{this.maxLength}\n </ix-typography>\n )}\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-link-button.entry.esm.js","sources":["src/components/link-button/link-button.scss?tag=ix-link-button&encapsulation=shadow","src/components/link-button/link-button.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use 'common-variables' as vars;\n@use 'mixins/hover';\n\n:host {\n display: inline-flex;\n height: vars.$x-large-space;\n font-size: vars.$font-size-default;\n font-weight: vars.$font-weight-normal;\n min-width: vars.$x-large-space;\n\n .link-button {\n display: inline-flex;\n position: relative;\n width: 100%;\n padding: 0 vars.$tiny-space 0 0;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n color: var(--theme-color-primary);\n cursor: pointer;\n text-decoration: none;\n\n .link {\n display: block;\n position: relative;\n width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n @include hover.hover {\n color: var(--theme-color-dynamic--hover);\n\n .link {\n text-decoration: underline;\n text-underline-offset: 0.2rem;\n }\n }\n\n @include hover.active {\n color: var(--theme-color-dynamic--active);\n\n .link {\n text-decoration: underline;\n text-underline-offset: 0.2rem;\n }\n }\n\n &.disabled {\n cursor: default;\n color: var(--theme-color-weak-text);\n }\n\n a {\n all: unset;\n }\n }\n\n :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 */\n\nimport { iconChevronRightSmall } from '@siemens/ix-icons/icons';\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-link-button',\n styleUrl: 'link-button.scss',\n shadow: true,\n})\nexport class LinkButton {\n /**\n * Disable the link button\n */\n @Prop() disabled = false;\n\n /**\n * Url for the link button\n */\n @Prop() url?: string;\n\n /**\n * Specifies where to open the link\n *\n * https://www.w3schools.com/html/html_links.asp\n */\n @Prop() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n render() {\n return (\n <Host>\n <a\n title={this.url}\n tabindex=\"0\"\n class={{\n 'link-button': true,\n disabled: this.disabled,\n }}\n href={this.disabled ? undefined : this.url}\n target={this.target}\n >\n <ix-icon\n class=\"icon\"\n name={iconChevronRightSmall}\n size=\"16\"\n aria-hidden=\"true\"\n ></ix-icon>\n <div\n class={{\n link: true,\n disabled: this.disabled,\n }}\n >\n <slot></slot>\n </div>\n </a>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,aAAa,GAAG,k4CAAk4C;;MCiB34C,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAOxB;;;;AAIG;AACK,QAAA,IAAM,CAAA,MAAA,GAA4C,OAAO;AAiClE;IA/BC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CACE,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,GAAG,EACf,QAAQ,EAAC,GAAG,EACZ,KAAK,EAAE;AACL,gBAAA,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,aAAA,EACD,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAA,EAEnB,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAC,IAAI,EAAA,aAAA,EACG,MAAM,EACT,CAAA,EACX,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,aAAA,EAAA,EAED,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACJ,CACC;;;;;;;"}
1
+ {"version":3,"file":"ix-link-button.entry.esm.js","sources":["src/components/link-button/link-button.scss?tag=ix-link-button&encapsulation=shadow","src/components/link-button/link-button.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use 'common-variables' as vars;\n@use 'mixins/hover';\n\n:host {\n display: inline-flex;\n height: vars.$x-large-space;\n font-size: vars.$font-size-default;\n font-weight: vars.$font-weight-normal;\n min-width: vars.$x-large-space;\n\n .link-button {\n display: inline-flex;\n position: relative;\n width: 100%;\n padding: 0 vars.$tiny-space 0 0;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n color: var(--theme-color-primary);\n cursor: pointer;\n text-decoration: none;\n\n .link {\n display: block;\n position: relative;\n width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n text-decoration: underline;\n text-underline-offset: 0.2rem;\n }\n\n @include hover.hover {\n color: var(--theme-color-dynamic--hover);\n }\n\n @include hover.active {\n color: var(--theme-color-dynamic--active);\n }\n\n &.disabled {\n cursor: default;\n color: var(--theme-color-weak-text);\n }\n\n a {\n all: unset;\n }\n }\n\n :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 */\n\nimport { iconChevronRightSmall } from '@siemens/ix-icons/icons';\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-link-button',\n styleUrl: 'link-button.scss',\n shadow: true,\n})\nexport class LinkButton {\n /**\n * Disable the link button\n */\n @Prop() disabled = false;\n\n /**\n * Url for the link button\n */\n @Prop() url?: string;\n\n /**\n * Specifies where to open the link\n *\n * https://www.w3schools.com/html/html_links.asp\n */\n @Prop() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n render() {\n return (\n <Host>\n <a\n title={this.url}\n tabindex=\"0\"\n class={{\n 'link-button': true,\n disabled: this.disabled,\n }}\n href={this.disabled ? undefined : this.url}\n target={this.target}\n >\n <ix-icon\n class=\"icon\"\n name={iconChevronRightSmall}\n size=\"16\"\n aria-hidden=\"true\"\n ></ix-icon>\n <div\n class={{\n link: true,\n disabled: this.disabled,\n }}\n >\n <slot></slot>\n </div>\n </a>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,aAAa,GAAG,qlCAAqlC;;MCiB9lC,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAOxB;;;;AAIG;AACK,QAAA,IAAM,CAAA,MAAA,GAA4C,OAAO;AAiClE;IA/BC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CACE,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,GAAG,EACf,QAAQ,EAAC,GAAG,EACZ,KAAK,EAAE;AACL,gBAAA,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,aAAA,EACD,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,EAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAA,EAEnB,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAC,IAAI,EAAA,aAAA,EACG,MAAM,EACT,CAAA,EACX,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,aAAA,EAAA,EAED,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACJ,CACC;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-menu-about.entry.esm.js","sources":["src/components/menu-about/menu-about.scss?tag=ix-menu-about&encapsulation=shadow","src/components/menu-about/menu-about.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@use './common-variables' as vars;\n@use 'legacy/fonts';\n\n:host {\n display: block;\n background-color: var(--theme-nav-overlay--background);\n padding: vars.$medium-space vars.$default-space vars.$default-space\n vars.$x-large-space;\n flex-grow: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n\n .about-header {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n height: vars.$x-large-space;\n margin-bottom: vars.$small-space;\n\n h2 {\n color: var(--theme-nav-overlay-header--color);\n margin-bottom: 1rem;\n }\n }\n\n ix-tabs {\n margin-bottom: 1.5rem;\n }\n\n ix-menu-about-item {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { MenuTabs } from '../utils/menu-tabs/menu-tabs-fc';\nimport {\n CustomCloseEvent,\n initialize,\n setTab,\n} from '../utils/menu-tabs/menu-tabs-utils';\n\n@Component({\n tag: 'ix-menu-about',\n styleUrl: 'menu-about.scss',\n shadow: true,\n})\nexport class MenuAbout {\n @Element() el!: HTMLIxMenuAboutElement;\n\n /**\n * Active tab\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) activeTabLabel?: string;\n\n /**\n * Content of the header\n */\n @Prop() label = 'About & legal information';\n\n /** @internal */\n @Prop() show = false;\n\n /**\n * Active tab changed\n * @since 3.0.0\n */\n @Event() tabChange!: EventEmitter<string>;\n\n /**\n * About and Legal closed\n */\n @Event() close!: EventEmitter<CustomCloseEvent>;\n\n @State() items!: HTMLIxMenuAboutItemElement[];\n\n @Watch('activeTabLabel')\n updateTab(label: string) {\n setTab(this, label);\n }\n\n componentWillLoad() {\n initialize(this);\n }\n\n componentDidLoad() {\n forceUpdate(this.el);\n }\n\n render() {\n return <MenuTabs context={this} />;\n }\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,ozGAAozG;;MCgC5zG,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAcE;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAG,2BAA2B;;AAGnC,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;AA+BrB;AAfC,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;;IAGrB,iBAAiB,GAAA;QACf,UAAU,CAAC,IAAI,CAAC;;IAGlB,gBAAgB,GAAA;AACd,QAAA,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;;IAGtB,MAAM,GAAA;AACJ,QAAA,OAAO,EAAC,QAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,OAAO,EAAE,IAAI,GAAI;;;;;;;;;;;"}
1
+ {"version":3,"file":"ix-menu-about.entry.esm.js","sources":["src/components/menu-about/menu-about.scss?tag=ix-menu-about&encapsulation=shadow","src/components/menu-about/menu-about.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@use './common-variables' as vars;\n@use 'legacy/fonts';\n\n:host {\n display: block;\n background-color: var(--theme-nav-overlay--background);\n padding: vars.$medium-space vars.$default-space vars.$default-space\n vars.$x-large-space;\n flex-grow: 1;\n position: absolute;\n width: 100%;\n height: 100%;\n\n .about-header {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n height: vars.$x-large-space;\n margin-bottom: vars.$small-space;\n\n h2 {\n color: var(--theme-nav-overlay-header--color);\n margin-bottom: 1rem;\n }\n }\n\n ix-tabs {\n margin-bottom: 1.5rem;\n }\n\n ix-menu-about-item {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { MenuTabs } from '../utils/menu-tabs/menu-tabs-fc';\nimport {\n CustomCloseEvent,\n initialize,\n syncTabDisplay,\n} from '../utils/menu-tabs/menu-tabs-utils';\n\n@Component({\n tag: 'ix-menu-about',\n styleUrl: 'menu-about.scss',\n shadow: true,\n})\nexport class MenuAbout {\n @Element() el!: HTMLIxMenuAboutElement;\n\n /**\n * Active tab\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) activeTabLabel?: string;\n\n /**\n * Content of the header\n */\n @Prop() label = 'About & legal information';\n\n /** @internal */\n @Prop() show = false;\n\n /**\n * Active tab changed\n * @since 3.0.0\n */\n @Event() tabChange!: EventEmitter<string>;\n\n /**\n * About and Legal closed\n */\n @Event() close!: EventEmitter<CustomCloseEvent>;\n\n @State() items!: HTMLIxMenuAboutItemElement[];\n\n @Watch('activeTabLabel')\n updateTab(newLabel: string, oldLabel: string) {\n if (newLabel !== oldLabel) {\n syncTabDisplay(this, newLabel);\n }\n }\n\n componentWillLoad() {\n initialize(this);\n }\n\n componentDidLoad() {\n forceUpdate(this.el);\n }\n\n render() {\n return <MenuTabs context={this} />;\n }\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,ozGAAozG;;MCgC5zG,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAcE;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAG,2BAA2B;;AAGnC,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;AAiCrB;IAjBC,SAAS,CAAC,QAAgB,EAAE,QAAgB,EAAA;AAC1C,QAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;AACzB,YAAA,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;;;IAIlC,iBAAiB,GAAA;QACf,UAAU,CAAC,IAAI,CAAC;;IAGlB,gBAAgB,GAAA;AACd,QAAA,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;;IAGtB,MAAM,GAAA;AACJ,QAAA,OAAO,EAAC,QAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,OAAO,EAAE,IAAI,GAAI;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-number-input.entry.esm.js","sources":["src/components/input/number-input.scss?tag=ix-number-input&encapsulation=shadow","src/components/input/number-input.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@use './input.mixins.scss';\n\n@include input.input-field;\n\n:host {\n .input-wrapper.show-stepper-buttons {\n input[type='number'] {\n min-width: 6rem;\n }\n }\n\n .number-stepper-container {\n display: flex;\n position: relative;\n flex-direction: row;\n flex-wrap: nowrap;\n margin-right: 0.25rem;\n\n &.container-hidden {\n display: none;\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 { iconMinus, iconPlus } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n checkInternalValidity,\n DisposableChangesAndVisibilityObservers,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet numberInputIds = 0;\n\n/**\n * @form-ready\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-number-input',\n styleUrl: 'number-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NumberInput implements IxInputFieldComponent<number> {\n @Element() hostElement!: HTMLIxNumberInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the input field\n */\n @Prop({ reflect: true, mutable: true }) value: number = 0;\n\n /**\n * Indicates if the field is required\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Disables the input field\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates if the field is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * The helper text for the input field\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Indicates if the text should be shown as a tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the input field\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the input field\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the input field\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the input field\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the input field\n */\n @Prop() pattern?: string;\n\n /**\n * The minimum value for the input field\n */\n @Prop() min?: string | number;\n\n /**\n * The maximum value for the input field\n */\n @Prop() max?: string | number;\n\n /**\n * The allowed characters pattern for the input field\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Indicates if the stepper buttons should be shown\n */\n @Prop() showStepperButtons?: boolean;\n\n /**\n * Step value to increment or decrement the input value\n *\n * @since 3.0.0\n */\n @Prop() step?: string | number;\n\n /**\n * Event emitted when the value of the input field changes\n */\n @Event() valueChange!: EventEmitter<number>;\n\n /**\n * Event emitted when the validity state of the input field changes\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the input field loses focus\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly numberInputId = `number-input-${numberInputIds++}`;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n }\n\n connectedCallback() {\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n disconnectedCallback() {\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n updateFormInternalValue(value: number) {\n this.formInternals.setFormValue(value.toString());\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n async hasValidValue(): Promise<boolean> {\n const nativeInput = await this.getNativeInputElement();\n if (nativeInput.value === '') {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(\n this.value !== null && this.value !== undefined && !isNaN(this.value)\n );\n }\n\n /**\n * Returns the native input element used under the hood\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns true if the input field has been touched\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const showStepperButtons =\n this.showStepperButtons && (this.disabled || this.readonly) === false;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n id={this.numberInputId}\n required={this.required}\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 isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div\n class={{\n 'input-wrapper': true,\n 'show-stepper-buttons': !!this.showStepperButtons,\n }}\n >\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n\n <InputElement\n id={this.numberInputId}\n readonly={this.readonly}\n disabled={this.disabled}\n step={this.step}\n min={this.min}\n max={this.max}\n pattern={this.pattern}\n type={'number'}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(Number(value))}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(Number(value))\n }\n onBlur={() => {\n onInputBlur(this, this.inputRef.current);\n this.touched = true;\n }}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <div\n class={{\n 'number-stepper-container': true,\n 'container-hidden': !showStepperButtons,\n }}\n >\n <ix-icon-button\n variant=\"subtle-tertiary\"\n icon={iconMinus}\n size=\"16\"\n class=\"number-stepper-button step-minus\"\n aria-label=\"decrement number\"\n onClick={() => {\n if (!this.inputRef.current) {\n return;\n }\n this.inputRef.current.stepDown();\n checkInternalValidity(this, this.inputRef.current);\n this.updateFormInternalValue(\n Number(this.inputRef.current.value)\n );\n this.valueChange.emit(this.value);\n }}\n ></ix-icon-button>\n <ix-icon-button\n variant=\"subtle-tertiary\"\n icon={iconPlus}\n size=\"16\"\n class=\"number-stepper-button step-plus\"\n aria-label=\"increment number\"\n onClick={() => {\n if (!this.inputRef.current) {\n return;\n }\n this.inputRef.current.stepUp();\n checkInternalValidity(this, this.inputRef.current);\n this.updateFormInternalValue(\n Number(this.inputRef.current.value)\n );\n this.valueChange.emit(this.value);\n }}\n ></ix-icon-button>\n </div>\n </SlotEnd>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-number-input.entry.esm.js","sources":["src/components/input/number-input.scss?tag=ix-number-input&encapsulation=shadow","src/components/input/number-input.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@use './input.mixins.scss';\n\n@include input.input-field;\n\n:host {\n .input-wrapper.show-stepper-buttons {\n input[type='number'] {\n min-width: 6rem;\n }\n }\n\n .number-stepper-container {\n display: flex;\n position: relative;\n flex-direction: row;\n flex-wrap: nowrap;\n margin-right: 0.25rem;\n\n &.container-hidden {\n display: none;\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 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 { iconMinus, iconPlus } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n checkInternalValidity,\n DisposableChangesAndVisibilityObservers,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet numberInputIds = 0;\n\nconst INVALID_NUMBER_INPUT_REGEX = /[^\\dEe+\\-.,]/;\n\n/**\n * @form-ready\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-number-input',\n styleUrl: 'number-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NumberInput implements IxInputFieldComponent<number> {\n @Element() hostElement!: HTMLIxNumberInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the input field. Supports numeric values, scientific notation (1E6, 1E-6), or undefined for empty.\n */\n @Prop({ reflect: true, mutable: true }) value?: number = 0;\n\n /**\n * Indicates if the field is required. When required, empty values (undefined) are not accepted.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Disables the input field\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates if the field is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * The helper text for the input field\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Indicates if the text should be shown as a tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the input field\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the input field\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the input field\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the input field\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the input field\n */\n @Prop() pattern?: string;\n\n /**\n * The minimum value for the input field\n */\n @Prop() min?: string | number;\n\n /**\n * The maximum value for the input field\n */\n @Prop() max?: string | number;\n\n /**\n * The allowed characters pattern for the input field\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Indicates if the stepper buttons should be shown\n */\n @Prop() showStepperButtons?: boolean;\n\n /**\n * Step value to increment or decrement the input value. Default step value is 1.\n *\n */\n @Prop() step?: string | number = 1;\n\n /**\n * If false, pressing Enter will submit the form (if inside a form).\n * Set to true to suppress submit on Enter.\n */\n @Prop({ reflect: true }) suppressSubmitOnEnter: boolean = false;\n\n /**\n * Text alignment within the number input. 'start' aligns the text to the start of the input, 'end' aligns the text to the end of the input.\n */\n @Prop() textAlignment: 'start' | 'end' = 'end';\n\n /**\n * If true, the valueChange event will return null instead of 0 for an empty input state.\n * This property will be removed in 5.0.0 and this behaviour will be default.\n *\n * @since 4.1.0\n */\n @Prop({ reflect: true }) allowEmptyValueChange: boolean = false;\n\n /**\n * Event emitted when the value of the input field changes\n */\n @Event() valueChange!: EventEmitter<number>;\n\n /**\n * Event emitted when the validity state of the input field changes\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the input field loses focus\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly numberInputId = `number-input-${numberInputIds++}`;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n @Watch('value')\n onValueChange(newValue: number | undefined) {\n this.updateFormInternalValue(newValue!);\n }\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value!);\n }\n\n connectedCallback() {\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n disconnectedCallback() {\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n private convertNumberStringToFloat(input: string): number | undefined {\n if (!input || input.trim() === '') {\n return undefined;\n }\n\n const parsed = Number.parseFloat(input);\n return Number.isNaN(parsed) ? undefined : parsed;\n }\n\n private isScientificNotation(input: string): boolean {\n const parsed = Number.parseFloat(input);\n return (\n !Number.isNaN(parsed) && Number.isFinite(parsed) && /[eE]/.test(input)\n );\n }\n\n private formatValue(value: number | undefined): string {\n if (value === undefined || value === null) {\n return '';\n }\n return value.toString();\n }\n\n private handleValueChangeEvent(value: number | undefined) {\n this.valueChange.emit(this.allowEmptyValueChange ? value : (value ?? 0));\n }\n\n updateFormInternalValue(value: number) {\n const formValue =\n value !== undefined && value !== null ? value.toString() : '';\n this.formInternals.setFormValue(formValue);\n this.value = value;\n }\n\n private readonly handleInputChange = (inputValue: string) => {\n const parsedValue = this.convertNumberStringToFloat(inputValue);\n const isScientificNotation = this.isScientificNotation(inputValue.trim());\n\n if (isScientificNotation) {\n this.formInternals.setFormValue(inputValue);\n }\n\n this.handleValueChangeEvent(parsedValue);\n };\n\n private readonly handleBlur = () => {\n if (!this.inputRef.current) return;\n\n const inputValue = this.inputRef.current.value;\n\n const parsedValue = this.convertNumberStringToFloat(inputValue);\n\n if (parsedValue !== undefined) {\n this.inputRef.current.value = this.formatValue(parsedValue);\n }\n\n this.updateFormInternalValue(parsedValue!);\n\n onInputBlur(this, this.inputRef.current);\n this.touched = true;\n };\n\n private readonly handleKeyDown = (event: KeyboardEvent) => {\n if (this.disabled || this.readonly) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n this.handleStepOperation('up');\n break;\n case 'ArrowDown':\n event.preventDefault();\n this.handleStepOperation('down');\n break;\n }\n };\n\n private readonly handleBeforeInput = (e: InputEvent) => {\n if (this.disabled || this.readonly) return;\n\n if (e.inputType === 'insertText') {\n const character = e.data;\n\n if (character && INVALID_NUMBER_INPUT_REGEX.test(character)) {\n e.preventDefault();\n }\n }\n\n if (e.inputType === 'insertFromPaste') {\n const dt = e.dataTransfer || (e as any).clipboardData;\n const text = dt?.getData?.('text') ?? '';\n if (INVALID_NUMBER_INPUT_REGEX.test(text)) {\n e.preventDefault();\n }\n }\n };\n\n private readonly handlePaste = (e: ClipboardEvent) => {\n // Fallback for browsers that don’t fire beforeinput for paste\n const text = e.clipboardData?.getData('text') ?? '';\n if (INVALID_NUMBER_INPUT_REGEX.test(text)) {\n e.preventDefault();\n }\n };\n\n private handleStepOperation(operation: 'up' | 'down') {\n if (!this.inputRef.current) {\n return;\n }\n\n const currentValue = this.value ?? 0;\n const stepValue =\n typeof this.step === 'string'\n ? Number.parseFloat(this.step)\n : (this.step ?? 1);\n\n let newValue: number;\n\n if (operation === 'up') {\n newValue = currentValue + stepValue;\n } else {\n newValue = currentValue - stepValue;\n }\n\n if (this.min !== undefined) {\n const minValue =\n typeof this.min === 'string' ? Number.parseFloat(this.min) : this.min;\n newValue = Math.max(newValue, minValue);\n }\n\n if (this.max !== undefined) {\n const maxValue =\n typeof this.max === 'string' ? Number.parseFloat(this.max) : this.max;\n newValue = Math.min(newValue, maxValue);\n }\n\n this.inputRef.current.value = newValue.toString();\n this.updateFormInternalValue(newValue);\n checkInternalValidity(this, this.inputRef.current);\n this.handleValueChangeEvent(newValue);\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n async hasValidValue(): Promise<boolean> {\n const nativeInput = await this.getNativeInputElement();\n if (nativeInput.value === '') {\n return !this.required;\n }\n\n const parsedValue = this.convertNumberStringToFloat(nativeInput.value);\n return parsedValue !== undefined;\n }\n\n /**\n * Returns the native input element used under the hood\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns true if the input field has been touched\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const showStepperButtons =\n this.showStepperButtons && (this.disabled || this.readonly) === false;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n id={this.numberInputId}\n required={this.required}\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 isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div\n class={{\n 'input-wrapper': true,\n 'show-stepper-buttons': !!this.showStepperButtons,\n }}\n >\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n\n <InputElement\n id={this.numberInputId}\n readonly={this.readonly}\n disabled={this.disabled}\n step={this.step}\n min={this.min}\n max={this.max}\n pattern={this.pattern}\n type={'number'}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.formatValue(this.value)}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n onKeyDown={(event) => this.handleKeyDown(event)}\n onBeforeInput={(event) => this.handleBeforeInput(event)}\n onPaste={(event) => this.handlePaste(event)}\n valueChange={this.handleInputChange}\n updateFormInternalValue={(value) => {\n const isScientificNotation = this.isScientificNotation(\n value.trim()\n );\n\n if (!isScientificNotation) {\n const parsedValue = this.convertNumberStringToFloat(value);\n this.updateFormInternalValue(parsedValue!);\n }\n }}\n onBlur={this.handleBlur}\n form={this.formInternals.form ?? undefined}\n suppressSubmitOnEnter={this.suppressSubmitOnEnter}\n textAlignment={this.textAlignment}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <div\n class={{\n 'number-stepper-container': true,\n 'container-hidden': !showStepperButtons,\n }}\n >\n <ix-icon-button\n variant=\"subtle-tertiary\"\n icon={iconMinus}\n size=\"16\"\n class=\"number-stepper-button step-minus\"\n aria-label=\"decrement number\"\n onClick={() => this.handleStepOperation('down')}\n ></ix-icon-button>\n <ix-icon-button\n variant=\"subtle-tertiary\"\n icon={iconPlus}\n size=\"16\"\n class=\"number-stepper-button step-plus\"\n aria-label=\"increment number\"\n onClick={() => this.handleStepOperation('up')}\n ></ix-icon-button>\n </div>\n </SlotEnd>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-pagination.entry.esm.js","sources":["src/components/pagination/pagination.scss?tag=ix-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2022 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'legacy/components/forms';\n@use '../icon-button/icon-button';\n@use 'mixins/shadow-dom/component';\n\n:host {\n @include component.ix-component;\n\n &,\n .advanced-pagination,\n .item-count {\n display: inline-flex;\n align-items: center;\n }\n\n .basic-pagination {\n padding: 0 0.125rem;\n }\n\n .advanced-pagination {\n padding: 0 vars.$medium-space;\n }\n\n .page-selection {\n width: 4.125rem;\n text-align: center;\n margin: 0 vars.$small-space;\n -moz-appearance: textfield;\n -webkit-appearance: textfield;\n }\n\n .page-buttons {\n white-space: nowrap;\n }\n\n .total-count {\n white-space: nowrap;\n }\n\n .item-count {\n flex-grow: 1;\n justify-content: flex-end;\n margin-inline-start: vars.$large-space;\n\n ix-select {\n width: 4.5rem;\n margin-inline-start: vars.$large-space;\n }\n }\n\n button {\n width: auto;\n min-width: 2rem;\n height: 2rem;\n padding: 0 0.5rem;\n }\n\n button + button {\n margin-inline-start: 0.125rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { a11yBoolean } from '../utils/a11y';\nimport {\n iconChevronLeftSmall,\n iconChevronRightSmall,\n} from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-pagination',\n styleUrl: 'pagination.scss',\n shadow: true,\n})\nexport class Pagination {\n private readonly baseButtonConfig: BaseButtonProps = {\n variant: 'subtle-tertiary',\n iconOnly: true,\n iconOval: false,\n disabled: false,\n icon: '',\n loading: false,\n selected: false,\n type: 'button',\n };\n\n private readonly maxCountPages = 7;\n\n @Element() hostElement!: HTMLIxPaginationElement;\n\n /**\n * Advanced mode\n */\n @Prop() advanced = false;\n\n /**\n * Number of items shown at once.\n * Can only be changed in advaced mode.\n */\n @Prop() itemCount = 15;\n\n /**\n * Hide item count in advanced mode\n */\n @Prop() hideItemCount = false;\n\n /**\n * Total number of pages\n */\n @Prop() count: number = 0;\n\n /**\n * Zero based index of currently selected page\n */\n @Prop({ mutable: true }) selectedPage = 0;\n\n /**\n * i18n label for 'Page'\n */\n @Prop({ attribute: 'i18n-page' }) i18nPage = 'Page';\n\n /**\n * i18n label for 'of'\n */\n @Prop({ attribute: 'i18n-of' }) i18nOf = 'of';\n\n /**\n * i18n label for 'Items'\n */\n @Prop({ attribute: 'i18n-items' }) i18nItems = 'Items';\n\n /**\n * ARIA label for the chevron left icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelChevronLeftIconButton?: string;\n\n /**\n * ARIA label for the chevron right icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelChevronRightIconButton?: string;\n\n /**\n * Page selection event\n */\n @Event() pageSelected!: EventEmitter<number>;\n\n /**\n * Item count change event\n */\n @Event() itemCountChanged!: EventEmitter<number>;\n\n private selectPage(index: number) {\n const oldIndex = this.selectedPage;\n\n if (index < 0) {\n this.selectedPage = 0;\n } else if (index > this.count - 1) {\n this.selectedPage = this.count - 1;\n } else {\n this.selectedPage = index;\n }\n\n const { defaultPrevented } = this.pageSelected.emit(this.selectedPage);\n\n if (defaultPrevented) {\n this.selectedPage = oldIndex;\n }\n }\n\n private increase() {\n if (this.selectedPage === this.count - 1) {\n return;\n }\n\n this.selectPage(this.selectedPage + 1);\n }\n\n private decrease() {\n if (this.selectedPage === 0) {\n return;\n }\n\n this.selectPage(this.selectedPage - 1);\n }\n\n private getPageButton(index: number) {\n const baseButtonProps: BaseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => this.selectPage(index),\n selected: this.selectedPage === index,\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.selectedPage === index),\n },\n };\n\n return <BaseButton {...baseButtonProps}>{index + 1}</BaseButton>;\n }\n\n private renderPageButtons() {\n const pagesBeforeOverflow = Math.floor(this.maxCountPages / 2);\n const hasOverflow = this.count > this.maxCountPages;\n const hasOverflowStart =\n hasOverflow && this.selectedPage > pagesBeforeOverflow;\n const hasOverflowEnd =\n hasOverflow && this.selectedPage < this.count - pagesBeforeOverflow - 1;\n const pageButtons = [];\n\n let start = 0;\n let end = Math.min(this.count, this.maxCountPages);\n let pageCount = Math.floor((this.maxCountPages - 4) / 2);\n\n if (hasOverflowStart) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowEnd) {\n this.selectPage(this.selectedPage - Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.count - this.maxCountPages);\n }\n },\n };\n pageButtons.push(this.getPageButton(0));\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n\n if (hasOverflowEnd) {\n start = this.count - this.maxCountPages + 2;\n } else {\n start = this.count - this.maxCountPages + 2;\n end = this.count;\n }\n }\n\n if (hasOverflowEnd) {\n if (hasOverflowStart) {\n start = this.selectedPage - pageCount;\n end = this.selectedPage + pageCount + 1;\n } else {\n end = this.maxCountPages - 2;\n }\n }\n\n for (let i = start; i < end; i++) {\n pageButtons.push(this.getPageButton(i));\n }\n\n if (hasOverflowEnd) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowStart) {\n this.selectPage(this.selectedPage + Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.maxCountPages - 1);\n }\n },\n };\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n pageButtons.push(this.getPageButton(this.count - 1));\n }\n\n return <span class=\"page-buttons\">{pageButtons}</span>;\n }\n\n render() {\n return (\n <Host>\n <ix-icon-button\n disabled={!this.count || this.selectedPage === 0}\n variant=\"subtle-tertiary\"\n icon={iconChevronLeftSmall}\n onClick={() => this.decrease()}\n aria-label={this.ariaLabelChevronLeftIconButton}\n ></ix-icon-button>\n\n {this.advanced ? (\n <div class=\"advanced-pagination\">\n <ix-typography format=\"body\">{this.i18nPage}</ix-typography>\n <input\n class=\"ix-form-control page-selection\"\n type=\"number\"\n min=\"1\"\n max={this.count}\n value={this.selectedPage + 1}\n onChange={(event: Event) => {\n const eventTarget = event.target as HTMLInputElement;\n if (eventTarget) {\n const index = Number.parseInt(eventTarget.value);\n this.selectPage(index - 1);\n }\n }}\n />\n <span class=\"total-count\">\n <ix-typography format=\"body\">\n {this.i18nOf} {this.count}\n </ix-typography>\n </span>\n </div>\n ) : (\n <span class=\"basic-pagination\">{this.renderPageButtons()} </span>\n )}\n\n <ix-icon-button\n disabled={!this.count || this.selectedPage === this.count - 1}\n variant=\"subtle-tertiary\"\n icon={iconChevronRightSmall}\n onClick={() => this.increase()}\n aria-label={this.ariaLabelChevronRightIconButton}\n ></ix-icon-button>\n\n {this.advanced && !this.hideItemCount && (\n <span class=\"item-count\">\n <ix-typography format=\"body\">{this.i18nItems}</ix-typography>\n <ix-select\n hideListHeader\n i18nPlaceholder=\"\"\n i18nSelectListHeader=\"\"\n value={`${this.itemCount}`}\n onValueChange={(e) => {\n const count = Number.parseInt(\n Array.isArray(e.detail) ? e.detail[0] : e.detail\n );\n\n this.itemCountChanged.emit(count);\n }}\n >\n <ix-select-item label=\"10\" value=\"10\"></ix-select-item>\n <ix-select-item label=\"15\" value=\"15\"></ix-select-item>\n <ix-select-item label=\"20\" value=\"20\"></ix-select-item>\n <ix-select-item label=\"40\" value=\"40\"></ix-select-item>\n <ix-select-item label=\"100\" value=\"100\"></ix-select-item>\n </ix-select>\n </span>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;AAAA,MAAM,aAAa,GAAG,8upCAA8upC;;MC8BvvpC,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;QAMmB,IAAA,CAAA,gBAAgB,GAAoB;AACnD,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,IAAI,EAAE,QAAQ;SACf;AAEgB,QAAA,IAAa,CAAA,aAAA,GAAG,CAAC;AAIlC;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAExB;;;AAGG;AACK,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE;AAEtB;;AAEG;AACK,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK;AAE7B;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAW,CAAC;AAEzB;;AAEG;AACsB,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC;AAEzC;;AAEG;AAC+B,QAAA,IAAQ,CAAA,QAAA,GAAG,MAAM;AAEnD;;AAEG;AAC6B,QAAA,IAAM,CAAA,MAAA,GAAG,IAAI;AAE7C;;AAEG;AACgC,QAAA,IAAS,CAAA,SAAA,GAAG,OAAO;AAsNvD;AA1LS,IAAA,UAAU,CAAC,KAAa,EAAA;AAC9B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY;AAElC,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC;;aAChB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;;aAC7B;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;;AAG3B,QAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAEtE,IAAI,gBAAgB,EAAE;AACpB,YAAA,IAAI,CAAC,YAAY,GAAG,QAAQ;;;IAIxB,QAAQ,GAAA;QACd,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YACxC;;QAGF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;;IAGhC,QAAQ,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;YAC3B;;QAGF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;;AAGhC,IAAA,aAAa,CAAC,KAAa,EAAA;AACjC,QAAA,MAAM,eAAe,GAChB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,gBAAgB,CACxB,EAAA,EAAA,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACrC,QAAQ,EAAE,IAAI,CAAC,YAAY,KAAK,KAAK,EACrC,cAAc,EAAE;gBACd,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC;AACzD,aAAA,EAAA,CACF;AAED,QAAA,OAAO,CAAA,CAAC,UAAU,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,eAAe,GAAG,KAAK,GAAG,CAAC,CAAc;;IAG1D,iBAAiB,GAAA;AACvB,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa;QACnD,MAAM,gBAAgB,GACpB,WAAW,IAAI,IAAI,CAAC,YAAY,GAAG,mBAAmB;AACxD,QAAA,MAAM,cAAc,GAClB,WAAW,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,mBAAmB,GAAG,CAAC;QACzE,MAAM,WAAW,GAAG,EAAE;QAEtB,IAAI,KAAK,GAAG,CAAC;AACb,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC;AAClD,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,gBAAgB,EAAE;YACpB,MAAM,eAAe,mCAChB,IAAI,CAAC,gBAAgB,CACxB,EAAA,EAAA,OAAO,EAAE,MAAK;oBACZ,IAAI,cAAc,EAAE;wBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;;yBAC9D;wBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;;iBAEnD,GACF;YACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACvC,YAAA,WAAW,CAAC,IAAI,CAAC,CAAA,CAAC,UAAU,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,eAAe,CAAkB,EAAA,KAAA,CAAA,CAAC;YAEnE,IAAI,cAAc,EAAE;gBAClB,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC;;iBACtC;gBACL,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC;AAC3C,gBAAA,GAAG,GAAG,IAAI,CAAC,KAAK;;;QAIpB,IAAI,cAAc,EAAE;YAClB,IAAI,gBAAgB,EAAE;AACpB,gBAAA,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS;gBACrC,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,CAAC;;iBAClC;AACL,gBAAA,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC;;;AAIhC,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAChC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;;QAGzC,IAAI,cAAc,EAAE;YAClB,MAAM,eAAe,mCAChB,IAAI,CAAC,gBAAgB,CACxB,EAAA,EAAA,OAAO,EAAE,MAAK;oBACZ,IAAI,gBAAgB,EAAE;wBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;;yBAC9D;wBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;;iBAE1C,GACF;AACD,YAAA,WAAW,CAAC,IAAI,CAAC,CAAA,CAAC,UAAU,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,eAAe,CAAkB,EAAA,KAAA,CAAA,CAAC;AACnE,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;;AAGtD,QAAA,OAAO,YAAM,KAAK,EAAC,cAAc,EAAE,EAAA,WAAW,CAAQ;;IAGxD,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAChD,OAAO,EAAC,iBAAiB,EACzB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAA,YAAA,EAClB,IAAI,CAAC,8BAA8B,EAC/B,CAAA,EAEjB,IAAI,CAAC,QAAQ,IACZ,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAA,CAAA,eAAA,EAAA,EAAe,MAAM,EAAC,MAAM,IAAE,IAAI,CAAC,QAAQ,CAAiB,EAC5D,CAAA,CAAA,OAAA,EAAA,EACE,KAAK,EAAC,gCAAgC,EACtC,IAAI,EAAC,QAAQ,EACb,GAAG,EAAC,GAAG,EACP,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,KAAK,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,EAC5B,QAAQ,EAAE,CAAC,KAAY,KAAI;AACzB,gBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAA0B;gBACpD,IAAI,WAAW,EAAE;oBACf,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;AAChD,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;;aAE7B,EACD,CAAA,EACF,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACvB,CAAe,CAAA,eAAA,EAAA,EAAA,MAAM,EAAC,MAAM,EAAA,EACzB,IAAI,CAAC,MAAM,OAAG,IAAI,CAAC,KAAK,CACX,CACX,CACH,KAEN,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAS,CAClE,EAED,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,EAC7D,OAAO,EAAC,iBAAiB,EACzB,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,gBAClB,IAAI,CAAC,+BAA+B,EAChC,CAAA,EAEjB,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,KACnC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,YAAY,EAAA,EACtB,CAAA,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAe,MAAM,EAAC,MAAM,IAAE,IAAI,CAAC,SAAS,CAAiB,EAC7D,CACE,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,cAAc,QACd,eAAe,EAAC,EAAE,EAClB,oBAAoB,EAAC,EAAE,EACvB,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,EAAE,EAC1B,aAAa,EAAE,CAAC,CAAC,KAAI;AACnB,gBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CACjD;AAED,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;aAClC,EAAA,EAED,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAgB,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAkB,CAAA,EACvD,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAgB,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAkB,CAAA,EACvD,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAgB,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAkB,CAAA,EACvD,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAgB,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAkB,CAAA,EACvD,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAgB,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAA,CAAkB,CAC/C,CACP,CACR,CACI;;;;;;;;"}
1
+ {"version":3,"file":"ix-pagination.entry.esm.js","sources":["src/components/pagination/pagination.scss?tag=ix-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2022 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@use './common-variables' as vars;\n@use 'legacy/components/forms';\n@use '../icon-button/icon-button';\n@use 'mixins/shadow-dom/component';\n\n:host {\n @include component.ix-component;\n\n &,\n .advanced-pagination,\n .item-count {\n display: inline-flex;\n align-items: center;\n }\n\n .basic-pagination {\n padding: 0 0.125rem;\n }\n\n .advanced-pagination {\n padding: 0 vars.$medium-space;\n }\n\n .page-selection {\n width: 4.125rem;\n text-align: center;\n margin: 0 vars.$small-space;\n -moz-appearance: textfield;\n -webkit-appearance: textfield;\n }\n\n .page-buttons {\n white-space: nowrap;\n }\n\n .total-count {\n white-space: nowrap;\n }\n\n .item-count {\n flex-grow: 1;\n justify-content: flex-end;\n margin-inline-start: vars.$large-space;\n\n ix-select {\n width: 4.5rem;\n margin-inline-start: vars.$large-space;\n }\n }\n\n button {\n width: auto;\n min-width: 2rem;\n height: 2rem;\n padding: 0 0.5rem;\n }\n\n button + button {\n margin-inline-start: 0.125rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { a11yBoolean } from '../utils/a11y';\nimport {\n iconChevronLeftSmall,\n iconChevronRightSmall,\n} from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-pagination',\n styleUrl: 'pagination.scss',\n shadow: true,\n})\nexport class Pagination {\n private readonly baseButtonConfig: BaseButtonProps = {\n variant: 'subtle-tertiary',\n iconOnly: true,\n iconOval: false,\n disabled: false,\n icon: '',\n loading: false,\n selected: false,\n type: 'button',\n };\n\n private readonly maxCountPages = 7;\n\n @Element() hostElement!: HTMLIxPaginationElement;\n\n /**\n * Advanced mode\n */\n @Prop() advanced = false;\n\n /**\n * Number of items shown at once.\n * Can only be changed in advaced mode.\n */\n @Prop() itemCount = 15;\n\n /**\n * Hide item count in advanced mode\n */\n @Prop() hideItemCount = false;\n\n /**\n * Total number of pages\n */\n @Prop() count: number = 0;\n\n /**\n * Zero based index of currently selected page\n */\n @Prop({ mutable: true }) selectedPage = 0;\n\n /**\n * i18n label for 'Page'\n */\n @Prop({ attribute: 'i18n-page' }) i18nPage = 'Page';\n\n /**\n * i18n label for 'of'\n */\n @Prop({ attribute: 'i18n-of' }) i18nOf = 'of';\n\n /**\n * i18n label for 'Items'\n */\n @Prop({ attribute: 'i18n-items' }) i18nItems = 'Items';\n\n /**\n * ARIA label for the chevron left icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelChevronLeftIconButton?: string;\n\n /**\n * ARIA label for the chevron right icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelChevronRightIconButton?: string;\n\n /**\n * ARIA label for the page selection input\n * Will be set as aria-label on the nested HTML input element\n *\n * @since 4.1.0\n */\n @Prop() ariaLabelPageSelection = 'Page selection input';\n /**\n * Page selection event\n */\n @Event() pageSelected!: EventEmitter<number>;\n\n /**\n * Item count change event\n */\n @Event() itemCountChanged!: EventEmitter<number>;\n\n private selectPage(index: number) {\n const oldIndex = this.selectedPage;\n\n if (index < 0) {\n this.selectedPage = 0;\n } else if (index > this.count - 1) {\n this.selectedPage = this.count - 1;\n } else {\n this.selectedPage = index;\n }\n\n const { defaultPrevented } = this.pageSelected.emit(this.selectedPage);\n\n if (defaultPrevented) {\n this.selectedPage = oldIndex;\n }\n }\n\n private increase() {\n if (this.selectedPage === this.count - 1) {\n return;\n }\n\n this.selectPage(this.selectedPage + 1);\n }\n\n private decrease() {\n if (this.selectedPage === 0) {\n return;\n }\n\n this.selectPage(this.selectedPage - 1);\n }\n\n private getPageButton(index: number) {\n const baseButtonProps: BaseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => this.selectPage(index),\n selected: this.selectedPage === index,\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.selectedPage === index),\n },\n };\n\n return <BaseButton {...baseButtonProps}>{index + 1}</BaseButton>;\n }\n\n private renderPageButtons() {\n const pagesBeforeOverflow = Math.floor(this.maxCountPages / 2);\n const hasOverflow = this.count > this.maxCountPages;\n const hasOverflowStart =\n hasOverflow && this.selectedPage > pagesBeforeOverflow;\n const hasOverflowEnd =\n hasOverflow && this.selectedPage < this.count - pagesBeforeOverflow - 1;\n const pageButtons = [];\n\n let start = 0;\n let end = Math.min(this.count, this.maxCountPages);\n let pageCount = Math.floor((this.maxCountPages - 4) / 2);\n\n if (hasOverflowStart) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowEnd) {\n this.selectPage(this.selectedPage - Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.count - this.maxCountPages);\n }\n },\n };\n pageButtons.push(this.getPageButton(0));\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n\n if (hasOverflowEnd) {\n start = this.count - this.maxCountPages + 2;\n } else {\n start = this.count - this.maxCountPages + 2;\n end = this.count;\n }\n }\n\n if (hasOverflowEnd) {\n if (hasOverflowStart) {\n start = this.selectedPage - pageCount;\n end = this.selectedPage + pageCount + 1;\n } else {\n end = this.maxCountPages - 2;\n }\n }\n\n for (let i = start; i < end; i++) {\n pageButtons.push(this.getPageButton(i));\n }\n\n if (hasOverflowEnd) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowStart) {\n this.selectPage(this.selectedPage + Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.maxCountPages - 1);\n }\n },\n };\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n pageButtons.push(this.getPageButton(this.count - 1));\n }\n\n return <span class=\"page-buttons\">{pageButtons}</span>;\n }\n\n private handlePageInput(inputValue: string) {\n const value = Number.parseInt(inputValue, 10);\n if (!Number.isNaN(value)) {\n const clampedValue = Math.max(1, Math.min(value, this.count));\n this.selectPage(clampedValue - 1);\n }\n }\n\n render() {\n return (\n <Host>\n <ix-icon-button\n disabled={!this.count || this.selectedPage === 0}\n variant=\"subtle-tertiary\"\n icon={iconChevronLeftSmall}\n onClick={() => this.decrease()}\n aria-label={this.ariaLabelChevronLeftIconButton}\n ></ix-icon-button>\n\n {this.advanced ? (\n <div class=\"advanced-pagination\">\n <ix-typography format=\"body\">{this.i18nPage}</ix-typography>\n <input\n aria-label={this.ariaLabelPageSelection}\n class=\"ix-form-control page-selection\"\n type=\"number\"\n min=\"1\"\n max={this.count}\n value={this.selectedPage + 1}\n onChange={(event: Event) => {\n const inputElement = event.target as HTMLInputElement;\n this.handlePageInput(inputElement.value);\n }}\n onKeyDown={(event: KeyboardEvent) => {\n if (['e', 'E', '+', '-', '.'].includes(event.key))\n event.preventDefault();\n if (event.key === 'Enter') {\n const inputElement = event.target as HTMLInputElement;\n this.handlePageInput(inputElement.value);\n inputElement.blur();\n }\n }}\n onBlur={(e: Event) => {\n const inputElement = e.target as HTMLInputElement;\n inputElement.value = (this.selectedPage + 1).toString();\n }}\n />\n <span class=\"total-count\">\n <ix-typography format=\"body\">\n {this.i18nOf} {this.count}\n </ix-typography>\n </span>\n </div>\n ) : (\n <span class=\"basic-pagination\">{this.renderPageButtons()} </span>\n )}\n\n <ix-icon-button\n disabled={!this.count || this.selectedPage === this.count - 1}\n variant=\"subtle-tertiary\"\n icon={iconChevronRightSmall}\n onClick={() => this.increase()}\n aria-label={this.ariaLabelChevronRightIconButton}\n ></ix-icon-button>\n\n {this.advanced && !this.hideItemCount && (\n <span class=\"item-count\">\n <ix-typography format=\"body\">{this.i18nItems}</ix-typography>\n <ix-select\n hideListHeader\n i18nPlaceholder=\"\"\n i18nSelectListHeader=\"\"\n value={`${this.itemCount}`}\n onValueChange={(e) => {\n const count = Number.parseInt(\n Array.isArray(e.detail) ? e.detail[0] : e.detail\n );\n\n this.itemCountChanged.emit(count);\n }}\n >\n <ix-select-item label=\"10\" value=\"10\"></ix-select-item>\n <ix-select-item label=\"15\" value=\"15\"></ix-select-item>\n <ix-select-item label=\"20\" value=\"20\"></ix-select-item>\n <ix-select-item label=\"40\" value=\"40\"></ix-select-item>\n <ix-select-item label=\"100\" value=\"100\"></ix-select-item>\n </ix-select>\n </span>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}