@ui5/webcomponents 2.19.0-rc.0 → 2.19.0-rc.2

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 (653) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +1 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Calendar.js +1 -1
  5. package/dist/Calendar.js.map +1 -1
  6. package/dist/ColorPicker.d.ts +5 -0
  7. package/dist/ColorPicker.js +12 -0
  8. package/dist/ColorPicker.js.map +1 -1
  9. package/dist/ColorPickerTemplate.js +1 -1
  10. package/dist/ColorPickerTemplate.js.map +1 -1
  11. package/dist/DateTimePicker.js +4 -3
  12. package/dist/DateTimePicker.js.map +1 -1
  13. package/dist/Input.d.ts +12 -9
  14. package/dist/Input.js +94 -57
  15. package/dist/Input.js.map +1 -1
  16. package/dist/InputTemplate.js +1 -1
  17. package/dist/InputTemplate.js.map +1 -1
  18. package/dist/Link.d.ts +0 -7
  19. package/dist/Link.js +1 -5
  20. package/dist/Link.js.map +1 -1
  21. package/dist/ListBoxItemGroupTemplate.js +1 -1
  22. package/dist/ListBoxItemGroupTemplate.js.map +1 -1
  23. package/dist/ListItemGroup.d.ts +2 -1
  24. package/dist/ListItemGroup.js +2 -0
  25. package/dist/ListItemGroup.js.map +1 -1
  26. package/dist/Menu.d.ts +1 -1
  27. package/dist/Menu.js +3 -3
  28. package/dist/Menu.js.map +1 -1
  29. package/dist/MenuItem.d.ts +1 -1
  30. package/dist/MenuItem.js +3 -3
  31. package/dist/MenuItem.js.map +1 -1
  32. package/dist/MenuItemTemplate.js +1 -2
  33. package/dist/MenuItemTemplate.js.map +1 -1
  34. package/dist/MenuTemplate.js +3 -3
  35. package/dist/MenuTemplate.js.map +1 -1
  36. package/dist/MultiComboBox.d.ts +6 -1
  37. package/dist/MultiComboBox.js +29 -5
  38. package/dist/MultiComboBox.js.map +1 -1
  39. package/dist/Popover.d.ts +23 -2
  40. package/dist/Popover.js +77 -12
  41. package/dist/Popover.js.map +1 -1
  42. package/dist/PopoverResize.d.ts +62 -0
  43. package/dist/PopoverResize.js +276 -0
  44. package/dist/PopoverResize.js.map +1 -0
  45. package/dist/PopoverTemplate.js +5 -2
  46. package/dist/PopoverTemplate.js.map +1 -1
  47. package/dist/SegmentedButtonItem.js +1 -0
  48. package/dist/SegmentedButtonItem.js.map +1 -1
  49. package/dist/StepInput.d.ts +17 -0
  50. package/dist/StepInput.js +79 -16
  51. package/dist/StepInput.js.map +1 -1
  52. package/dist/StepInputTemplate.js +1 -1
  53. package/dist/StepInputTemplate.js.map +1 -1
  54. package/dist/Table.js +4 -6
  55. package/dist/Table.js.map +1 -1
  56. package/dist/TableCell.d.ts +1 -1
  57. package/dist/TableCell.js +15 -13
  58. package/dist/TableCell.js.map +1 -1
  59. package/dist/TableCustomAnnouncement.js.map +1 -1
  60. package/dist/TableHeaderCell.d.ts +0 -1
  61. package/dist/TableHeaderCell.js +1 -8
  62. package/dist/TableHeaderCell.js.map +1 -1
  63. package/dist/TableHeaderCellActionBase.js.map +1 -1
  64. package/dist/TreeItemBaseTemplate.js +2 -2
  65. package/dist/TreeItemBaseTemplate.js.map +1 -1
  66. package/dist/bundle.common.bootstrap.d.ts +0 -1
  67. package/dist/bundle.common.bootstrap.js +2 -1
  68. package/dist/bundle.common.bootstrap.js.map +1 -1
  69. package/dist/css/themes/Avatar.css +1 -1
  70. package/dist/css/themes/AvatarGroup.css +1 -1
  71. package/dist/css/themes/Bar.css +1 -1
  72. package/dist/css/themes/Breadcrumbs.css +1 -1
  73. package/dist/css/themes/BusyIndicator.css +1 -1
  74. package/dist/css/themes/Button.css +1 -1
  75. package/dist/css/themes/ButtonBadge.css +1 -1
  76. package/dist/css/themes/Calendar.css +1 -1
  77. package/dist/css/themes/CalendarHeader.css +1 -1
  78. package/dist/css/themes/CalendarLegend.css +1 -1
  79. package/dist/css/themes/CalendarLegendItem.css +1 -1
  80. package/dist/css/themes/Card.css +1 -1
  81. package/dist/css/themes/CardHeader.css +1 -1
  82. package/dist/css/themes/Carousel.css +1 -1
  83. package/dist/css/themes/CheckBox.css +1 -1
  84. package/dist/css/themes/ColorPalette.css +1 -1
  85. package/dist/css/themes/ColorPaletteItem.css +1 -1
  86. package/dist/css/themes/ColorPalettePopover.css +1 -1
  87. package/dist/css/themes/ColorPicker.css +1 -1
  88. package/dist/css/themes/ComboBox.css +1 -1
  89. package/dist/css/themes/ComboBoxItem.css +1 -1
  90. package/dist/css/themes/DatePicker.css +1 -1
  91. package/dist/css/themes/DatePickerPopover.css +1 -1
  92. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  93. package/dist/css/themes/DayPicker.css +1 -1
  94. package/dist/css/themes/Dialog.css +1 -1
  95. package/dist/css/themes/DynamicDateRange.css +1 -1
  96. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  97. package/dist/css/themes/FileUploader.css +1 -1
  98. package/dist/css/themes/Form.css +1 -1
  99. package/dist/css/themes/FormItem.css +1 -1
  100. package/dist/css/themes/FormItemSpan.css +1 -1
  101. package/dist/css/themes/GrowingButton.css +1 -1
  102. package/dist/css/themes/Icon.css +1 -1
  103. package/dist/css/themes/Input.css +1 -1
  104. package/dist/css/themes/InputIcon.css +1 -1
  105. package/dist/css/themes/InputSharedStyles.css +1 -1
  106. package/dist/css/themes/Link.css +1 -1
  107. package/dist/css/themes/List.css +1 -1
  108. package/dist/css/themes/ListItem.css +1 -1
  109. package/dist/css/themes/ListItemBase.css +1 -1
  110. package/dist/css/themes/ListItemCustom.css +1 -1
  111. package/dist/css/themes/ListItemGroup.css +1 -1
  112. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  113. package/dist/css/themes/ListItemIcon.css +1 -1
  114. package/dist/css/themes/Menu.css +1 -1
  115. package/dist/css/themes/MenuItem.css +1 -1
  116. package/dist/css/themes/MessageStrip.css +1 -1
  117. package/dist/css/themes/MonthPicker.css +1 -1
  118. package/dist/css/themes/MultiComboBox.css +1 -1
  119. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  120. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  121. package/dist/css/themes/MultiInput.css +1 -1
  122. package/dist/css/themes/OptionBase.css +1 -1
  123. package/dist/css/themes/Panel.css +1 -1
  124. package/dist/css/themes/Popover.css +1 -1
  125. package/dist/css/themes/PopupsCommon.css +1 -1
  126. package/dist/css/themes/ProgressIndicator.css +1 -1
  127. package/dist/css/themes/RadioButton.css +1 -1
  128. package/dist/css/themes/RangeSlider.css +1 -1
  129. package/dist/css/themes/RatingIndicator.css +1 -1
  130. package/dist/css/themes/ResponsivePopover.css +1 -1
  131. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  132. package/dist/css/themes/SegmentedButton.css +1 -1
  133. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  134. package/dist/css/themes/Select.css +1 -1
  135. package/dist/css/themes/SliderBase.css +1 -1
  136. package/dist/css/themes/SplitButton.css +1 -1
  137. package/dist/css/themes/StepInput.css +1 -1
  138. package/dist/css/themes/SuggestionItem.css +1 -1
  139. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  140. package/dist/css/themes/Switch.css +1 -1
  141. package/dist/css/themes/TabContainer.css +1 -1
  142. package/dist/css/themes/TabInOverflow.css +1 -1
  143. package/dist/css/themes/TabInStrip.css +1 -1
  144. package/dist/css/themes/TabSemanticIcon.css +1 -1
  145. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  146. package/dist/css/themes/TableCellBase.css +1 -1
  147. package/dist/css/themes/TableHeaderRow.css +1 -1
  148. package/dist/css/themes/TableRow.css +1 -1
  149. package/dist/css/themes/TableRowActionBase.css +1 -1
  150. package/dist/css/themes/TableRowBase.css +1 -1
  151. package/dist/css/themes/Tag.css +1 -1
  152. package/dist/css/themes/Text.css +1 -1
  153. package/dist/css/themes/TextArea.css +1 -1
  154. package/dist/css/themes/TimePicker.css +1 -1
  155. package/dist/css/themes/Toast.css +1 -1
  156. package/dist/css/themes/ToggleButton.css +1 -1
  157. package/dist/css/themes/Token.css +1 -1
  158. package/dist/css/themes/Tokenizer.css +1 -1
  159. package/dist/css/themes/TokenizerPopover.css +1 -1
  160. package/dist/css/themes/Toolbar.css +1 -1
  161. package/dist/css/themes/ToolbarButton.css +1 -1
  162. package/dist/css/themes/ToolbarPopover.css +1 -1
  163. package/dist/css/themes/ToolbarSeparator.css +1 -1
  164. package/dist/css/themes/TreeItem.css +1 -1
  165. package/dist/css/themes/ValueStateMessage.css +1 -1
  166. package/dist/css/themes/ValueStateVariables.css +1 -1
  167. package/dist/css/themes/YearPicker.css +1 -1
  168. package/dist/css/themes/YearRangePicker.css +1 -1
  169. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  170. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  171. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  172. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  173. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  174. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  175. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  176. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  177. package/dist/custom-elements-internal.json +218 -13
  178. package/dist/custom-elements.json +154 -8
  179. package/dist/features/InputSuggestions.d.ts +1 -0
  180. package/dist/features/InputSuggestions.js +9 -6
  181. package/dist/features/InputSuggestions.js.map +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  233. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  234. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  235. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  236. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  237. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  238. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  239. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  240. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  241. package/dist/generated/i18n/i18n-defaults.d.ts +2 -2
  242. package/dist/generated/i18n/i18n-defaults.js +2 -2
  243. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  244. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  245. package/dist/generated/themes/Avatar.css.js +1 -1
  246. package/dist/generated/themes/Avatar.css.js.map +1 -1
  247. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  248. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  249. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  250. package/dist/generated/themes/Bar.css.d.ts +1 -1
  251. package/dist/generated/themes/Bar.css.js +1 -1
  252. package/dist/generated/themes/Bar.css.js.map +1 -1
  253. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  254. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  255. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  256. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  257. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  258. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  259. package/dist/generated/themes/Button.css.d.ts +1 -1
  260. package/dist/generated/themes/Button.css.js +1 -1
  261. package/dist/generated/themes/Button.css.js.map +1 -1
  262. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  263. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  264. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  265. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  266. package/dist/generated/themes/Calendar.css.js +1 -1
  267. package/dist/generated/themes/Calendar.css.js.map +1 -1
  268. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  269. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  270. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  271. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  272. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  273. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  274. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  275. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  276. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  277. package/dist/generated/themes/Card.css.d.ts +1 -1
  278. package/dist/generated/themes/Card.css.js +1 -1
  279. package/dist/generated/themes/Card.css.js.map +1 -1
  280. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  281. package/dist/generated/themes/CardHeader.css.js +1 -1
  282. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  283. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  284. package/dist/generated/themes/Carousel.css.js +1 -1
  285. package/dist/generated/themes/Carousel.css.js.map +1 -1
  286. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  287. package/dist/generated/themes/CheckBox.css.js +1 -1
  288. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  289. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  290. package/dist/generated/themes/ColorPalette.css.js +1 -1
  291. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  292. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  293. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  294. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  295. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  296. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  297. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  298. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  299. package/dist/generated/themes/ColorPicker.css.js +1 -1
  300. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  301. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  302. package/dist/generated/themes/ComboBox.css.js +1 -1
  303. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  304. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  305. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  306. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  307. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  308. package/dist/generated/themes/DatePicker.css.js +1 -1
  309. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  310. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  311. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  312. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  313. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  314. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  315. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  316. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  317. package/dist/generated/themes/DayPicker.css.js +1 -1
  318. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  319. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  320. package/dist/generated/themes/Dialog.css.js +1 -1
  321. package/dist/generated/themes/Dialog.css.js.map +1 -1
  322. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  323. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  324. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  325. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  326. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  327. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  328. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  329. package/dist/generated/themes/FileUploader.css.js +1 -1
  330. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  331. package/dist/generated/themes/Form.css.d.ts +1 -1
  332. package/dist/generated/themes/Form.css.js +1 -1
  333. package/dist/generated/themes/Form.css.js.map +1 -1
  334. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  335. package/dist/generated/themes/FormItem.css.js +1 -1
  336. package/dist/generated/themes/FormItem.css.js.map +1 -1
  337. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  338. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  339. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  340. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  341. package/dist/generated/themes/GrowingButton.css.js +1 -1
  342. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  343. package/dist/generated/themes/Icon.css.d.ts +1 -1
  344. package/dist/generated/themes/Icon.css.js +1 -1
  345. package/dist/generated/themes/Icon.css.js.map +1 -1
  346. package/dist/generated/themes/Input.css.d.ts +1 -1
  347. package/dist/generated/themes/Input.css.js +1 -1
  348. package/dist/generated/themes/Input.css.js.map +1 -1
  349. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  350. package/dist/generated/themes/InputIcon.css.js +1 -1
  351. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  352. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  353. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  354. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  355. package/dist/generated/themes/Link.css.d.ts +1 -1
  356. package/dist/generated/themes/Link.css.js +1 -1
  357. package/dist/generated/themes/Link.css.js.map +1 -1
  358. package/dist/generated/themes/List.css.d.ts +1 -1
  359. package/dist/generated/themes/List.css.js +1 -1
  360. package/dist/generated/themes/List.css.js.map +1 -1
  361. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  362. package/dist/generated/themes/ListItem.css.js +1 -1
  363. package/dist/generated/themes/ListItem.css.js.map +1 -1
  364. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  365. package/dist/generated/themes/ListItemBase.css.js +1 -1
  366. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  367. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  368. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  369. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  370. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  371. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  372. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  373. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  374. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  375. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  376. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  377. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  378. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  379. package/dist/generated/themes/Menu.css.d.ts +1 -1
  380. package/dist/generated/themes/Menu.css.js +1 -1
  381. package/dist/generated/themes/Menu.css.js.map +1 -1
  382. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  383. package/dist/generated/themes/MenuItem.css.js +1 -1
  384. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  385. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  386. package/dist/generated/themes/MessageStrip.css.js +1 -1
  387. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  388. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  389. package/dist/generated/themes/MonthPicker.css.js +1 -1
  390. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  391. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  392. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  393. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  394. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  395. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  396. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  397. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  398. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  399. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  400. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  401. package/dist/generated/themes/MultiInput.css.js +1 -1
  402. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  403. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  404. package/dist/generated/themes/OptionBase.css.js +1 -1
  405. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  406. package/dist/generated/themes/Panel.css.d.ts +1 -1
  407. package/dist/generated/themes/Panel.css.js +1 -1
  408. package/dist/generated/themes/Panel.css.js.map +1 -1
  409. package/dist/generated/themes/Popover.css.d.ts +1 -1
  410. package/dist/generated/themes/Popover.css.js +1 -1
  411. package/dist/generated/themes/Popover.css.js.map +1 -1
  412. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  413. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  414. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  415. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  416. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  417. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  418. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  419. package/dist/generated/themes/RadioButton.css.js +1 -1
  420. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  421. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  422. package/dist/generated/themes/RangeSlider.css.js +1 -1
  423. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  424. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  425. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  426. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  427. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  428. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  429. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  430. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  431. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  432. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  433. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  434. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  435. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  436. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  437. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  438. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  439. package/dist/generated/themes/Select.css.d.ts +1 -1
  440. package/dist/generated/themes/Select.css.js +1 -1
  441. package/dist/generated/themes/Select.css.js.map +1 -1
  442. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  443. package/dist/generated/themes/SliderBase.css.js +1 -1
  444. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  445. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  446. package/dist/generated/themes/SplitButton.css.js +1 -1
  447. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  448. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  449. package/dist/generated/themes/StepInput.css.js +1 -1
  450. package/dist/generated/themes/StepInput.css.js.map +1 -1
  451. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  452. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  453. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  454. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  455. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  456. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  457. package/dist/generated/themes/Switch.css.d.ts +1 -1
  458. package/dist/generated/themes/Switch.css.js +1 -1
  459. package/dist/generated/themes/Switch.css.js.map +1 -1
  460. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  461. package/dist/generated/themes/TabContainer.css.js +1 -1
  462. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  463. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  464. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  465. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  466. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  467. package/dist/generated/themes/TabInStrip.css.js +1 -1
  468. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  469. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  470. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  471. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  472. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  473. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  474. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  475. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  476. package/dist/generated/themes/TableCellBase.css.js +1 -1
  477. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  478. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  479. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  480. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  481. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  482. package/dist/generated/themes/TableRow.css.js +1 -1
  483. package/dist/generated/themes/TableRow.css.js.map +1 -1
  484. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  485. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  486. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  487. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  488. package/dist/generated/themes/TableRowBase.css.js +1 -1
  489. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  490. package/dist/generated/themes/Tag.css.d.ts +1 -1
  491. package/dist/generated/themes/Tag.css.js +1 -1
  492. package/dist/generated/themes/Tag.css.js.map +1 -1
  493. package/dist/generated/themes/Text.css.d.ts +1 -1
  494. package/dist/generated/themes/Text.css.js +1 -1
  495. package/dist/generated/themes/Text.css.js.map +1 -1
  496. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  497. package/dist/generated/themes/TextArea.css.js +1 -1
  498. package/dist/generated/themes/TextArea.css.js.map +1 -1
  499. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  500. package/dist/generated/themes/TimePicker.css.js +1 -1
  501. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  502. package/dist/generated/themes/Toast.css.d.ts +1 -1
  503. package/dist/generated/themes/Toast.css.js +1 -1
  504. package/dist/generated/themes/Toast.css.js.map +1 -1
  505. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  506. package/dist/generated/themes/ToggleButton.css.js +1 -1
  507. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  508. package/dist/generated/themes/Token.css.d.ts +1 -1
  509. package/dist/generated/themes/Token.css.js +1 -1
  510. package/dist/generated/themes/Token.css.js.map +1 -1
  511. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  512. package/dist/generated/themes/Tokenizer.css.js +1 -1
  513. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  514. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  515. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  516. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  517. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  518. package/dist/generated/themes/Toolbar.css.js +1 -1
  519. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  520. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  521. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  522. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  523. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  524. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  525. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  526. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  527. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  528. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  529. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  530. package/dist/generated/themes/TreeItem.css.js +1 -1
  531. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  532. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  533. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  534. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  535. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  536. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  537. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  538. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  539. package/dist/generated/themes/YearPicker.css.js +1 -1
  540. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  541. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  542. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  543. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  544. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  545. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  546. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  547. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  548. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  549. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  550. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  551. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  552. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  553. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  554. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  555. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  556. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  557. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  558. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  559. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  560. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  561. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  562. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  563. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  564. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  565. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  566. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  567. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  568. package/dist/popup-utils/PopoverRegistry.js +6 -4
  569. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  570. package/dist/types/InputSuggestionsFilter.d.ts +27 -0
  571. package/dist/types/InputSuggestionsFilter.js +29 -0
  572. package/dist/types/InputSuggestionsFilter.js.map +1 -0
  573. package/dist/vscode.html-custom-data.json +34 -4
  574. package/dist/web-types.json +65 -11
  575. package/package.json +9 -9
  576. package/src/ColorPickerTemplate.tsx +1 -1
  577. package/src/InputTemplate.tsx +1 -1
  578. package/src/ListBoxItemGroupTemplate.tsx +1 -1
  579. package/src/MenuItemTemplate.tsx +16 -8
  580. package/src/MenuTemplate.tsx +11 -7
  581. package/src/PopoverTemplate.tsx +10 -0
  582. package/src/StepInputTemplate.tsx +1 -0
  583. package/src/TreeItemBaseTemplate.tsx +2 -2
  584. package/src/i18n/messagebundle.properties +2 -2
  585. package/src/i18n/messagebundle_ar.properties +24 -0
  586. package/src/i18n/messagebundle_bg.properties +24 -0
  587. package/src/i18n/messagebundle_ca.properties +24 -0
  588. package/src/i18n/messagebundle_cnr.properties +24 -0
  589. package/src/i18n/messagebundle_cs.properties +24 -0
  590. package/src/i18n/messagebundle_cy.properties +24 -0
  591. package/src/i18n/messagebundle_da.properties +24 -0
  592. package/src/i18n/messagebundle_de.properties +25 -1
  593. package/src/i18n/messagebundle_el.properties +27 -3
  594. package/src/i18n/messagebundle_en.properties +8 -326
  595. package/src/i18n/messagebundle_en_GB.properties +24 -0
  596. package/src/i18n/messagebundle_en_US_sappsd.properties +8 -0
  597. package/src/i18n/messagebundle_en_US_saprigi.properties +8 -0
  598. package/src/i18n/messagebundle_en_US_saptrc.properties +8 -0
  599. package/src/i18n/messagebundle_es.properties +24 -0
  600. package/src/i18n/messagebundle_es_MX.properties +34 -10
  601. package/src/i18n/messagebundle_et.properties +24 -0
  602. package/src/i18n/messagebundle_fi.properties +24 -0
  603. package/src/i18n/messagebundle_fr.properties +24 -0
  604. package/src/i18n/messagebundle_fr_CA.properties +24 -0
  605. package/src/i18n/messagebundle_hi.properties +24 -0
  606. package/src/i18n/messagebundle_hr.properties +24 -0
  607. package/src/i18n/messagebundle_hu.properties +24 -0
  608. package/src/i18n/messagebundle_id.properties +24 -0
  609. package/src/i18n/messagebundle_it.properties +25 -1
  610. package/src/i18n/messagebundle_iw.properties +24 -0
  611. package/src/i18n/messagebundle_ja.properties +24 -0
  612. package/src/i18n/messagebundle_kk.properties +24 -0
  613. package/src/i18n/messagebundle_ko.properties +24 -0
  614. package/src/i18n/messagebundle_lt.properties +24 -0
  615. package/src/i18n/messagebundle_lv.properties +24 -0
  616. package/src/i18n/messagebundle_mk.properties +26 -2
  617. package/src/i18n/messagebundle_ms.properties +24 -0
  618. package/src/i18n/messagebundle_nl.properties +24 -0
  619. package/src/i18n/messagebundle_no.properties +24 -0
  620. package/src/i18n/messagebundle_pl.properties +24 -0
  621. package/src/i18n/messagebundle_pt.properties +24 -0
  622. package/src/i18n/messagebundle_pt_PT.properties +24 -0
  623. package/src/i18n/messagebundle_ro.properties +24 -0
  624. package/src/i18n/messagebundle_ru.properties +25 -1
  625. package/src/i18n/messagebundle_sh.properties +24 -0
  626. package/src/i18n/messagebundle_sk.properties +24 -0
  627. package/src/i18n/messagebundle_sl.properties +24 -0
  628. package/src/i18n/messagebundle_sr.properties +24 -0
  629. package/src/i18n/messagebundle_sv.properties +24 -0
  630. package/src/i18n/messagebundle_th.properties +24 -0
  631. package/src/i18n/messagebundle_tr.properties +24 -0
  632. package/src/i18n/messagebundle_uk.properties +24 -0
  633. package/src/i18n/messagebundle_vi.properties +24 -0
  634. package/src/i18n/messagebundle_zh_CN.properties +24 -0
  635. package/src/i18n/messagebundle_zh_TW.properties +24 -0
  636. package/src/themes/Button.css +3 -2
  637. package/src/themes/Dialog.css +0 -16
  638. package/src/themes/Form.css +1 -1
  639. package/src/themes/FormItem.css +0 -1
  640. package/src/themes/FormItemSpan.css +2 -2
  641. package/src/themes/Menu.css +17 -0
  642. package/src/themes/MenuItem.css +9 -0
  643. package/src/themes/Popover.css +77 -0
  644. package/src/themes/PopupsCommon.css +16 -0
  645. package/src/themes/SegmentedButton.css +2 -2
  646. package/src/themes/SegmentedButtonItem.css +0 -4
  647. package/src/themes/TableCellBase.css +4 -0
  648. package/src/themes/TreeItem.css +10 -2
  649. package/src/themes/base/sizes-parameters.css +6 -58
  650. package/src/themes/sap_fiori_3/sizes-parameters.css +0 -8
  651. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +0 -5
  652. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +0 -5
  653. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +0 -5
package/dist/StepInput.js CHANGED
@@ -11,7 +11,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
12
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
13
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
- import { isUp, isDown, isUpCtrl, isDownCtrl, isUpShift, isDownShift, isUpShiftCtrl, isDownShiftCtrl, isPageUpShift, isPageDownShift, isEscape, isEnter, } from "@ui5/webcomponents-base/dist/Keys.js";
14
+ import { isUp, isDown, isUpCtrl, isDownCtrl, isUpShift, isDownShift, isUpShiftCtrl, isDownShiftCtrl, isPageUpShift, isPageDownShift, isEscape, isEnter, isMinus, } from "@ui5/webcomponents-base/dist/Keys.js";
15
15
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
16
16
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
17
17
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
@@ -20,8 +20,11 @@ import { STEPINPUT_DEC_ICON_TITLE, STEPINPUT_INC_ICON_TITLE, STEPINPUT_PATTER_MI
20
20
  import "@ui5/webcomponents-icons/dist/less.js";
21
21
  import "@ui5/webcomponents-icons/dist/add.js";
22
22
  import InputType from "./types/InputType.js";
23
+ import NumberFormat from "@ui5/webcomponents-localization/dist/NumberFormat.js";
23
24
  // Styles
24
25
  import StepInputCss from "./generated/themes/StepInput.css.js";
26
+ import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
27
+ import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
25
28
  // Spin variables
26
29
  const INITIAL_WAIT_TIMEOUT = 500; // milliseconds
27
30
  const ACCELERATION = 0.8;
@@ -148,7 +151,7 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
148
151
  return this.value.toString();
149
152
  }
150
153
  get type() {
151
- return InputType.Number;
154
+ return InputType.Text;
152
155
  }
153
156
  // icons-related
154
157
  get decIconTitle() {
@@ -167,13 +170,15 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
167
170
  return this.focused;
168
171
  }
169
172
  get _displayValue() {
173
+ // For the cases when there is set value precision but the input value is not with correct precision we don't need to format it
174
+ const value = this.input?.value && !this._isValueWithCorrectPrecision ? this.input.value : this._formatNumber(this.value);
170
175
  if ((this.value === 0) || (Number.isInteger(this.value))) {
171
- return this.value.toFixed(this.valuePrecision);
176
+ return value;
172
177
  }
173
- if (this.input && this.value === Number(this.input.value)) { // For the cases where the number is fractional and is ending with 0s.
178
+ if (this.input && this.value === this._parseNumber(this.input.value)) { // For the cases where the number is fractional and is ending with 0s.
174
179
  return this.input.value;
175
180
  }
176
- return this.value.toString();
181
+ return value;
177
182
  }
178
183
  get accInfo() {
179
184
  return {
@@ -191,6 +196,14 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
191
196
  onBeforeRendering() {
192
197
  this._setButtonState();
193
198
  }
199
+ get formatter() {
200
+ if (!this._formatter) {
201
+ this._formatter = NumberFormat.getFloatInstance({
202
+ decimals: this.valuePrecision,
203
+ });
204
+ }
205
+ return this._formatter;
206
+ }
194
207
  get input() {
195
208
  return this.shadowRoot.querySelector("[ui5-input]");
196
209
  }
@@ -220,6 +233,17 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
220
233
  this._inputFocused = false;
221
234
  this._onInputChange();
222
235
  }
236
+ _onMouseWheel(e) {
237
+ if (this.disabled || this.readonly) {
238
+ return;
239
+ }
240
+ if (this._isFocused) {
241
+ e.preventDefault();
242
+ }
243
+ const isScrollUp = e.deltaY < 0;
244
+ const modifier = isScrollUp ? this.step : -this.step;
245
+ this._modifyValue(modifier, true);
246
+ }
223
247
  _setButtonState() {
224
248
  this._decIconDisabled = this.min !== undefined && this.value <= this.min;
225
249
  this._incIconDisabled = this.max !== undefined && this.value >= this.max;
@@ -231,8 +255,8 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
231
255
  this._updateValueState();
232
256
  }
233
257
  _updateValueState() {
234
- const isWithinRange = (this.min === undefined || Number(this.input.value) >= this.min)
235
- && (this.max === undefined || Number(this.input.value) <= this.max);
258
+ const isWithinRange = (this.min === undefined || this._parseNumber(this.input.value) >= this.min)
259
+ && (this.max === undefined || this._parseNumber(this.input.value) <= this.max);
236
260
  const isValueWithCorrectPrecision = this._isValueWithCorrectPrecision;
237
261
  const previousValueState = this.valueState;
238
262
  const isValid = isWithinRange && isValueWithCorrectPrecision;
@@ -274,7 +298,7 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
274
298
  value = this._preciseValue(value);
275
299
  if (value !== this.value) {
276
300
  this.value = value;
277
- this.input.value = value.toFixed(this.valuePrecision);
301
+ this.input.value = this._formatNumber(value);
278
302
  this._validate();
279
303
  this._setButtonState();
280
304
  this.focused = true;
@@ -287,6 +311,20 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
287
311
  }
288
312
  }
289
313
  }
314
+ /**
315
+ * Formats a number with thousands separator based on current locale
316
+ * @private
317
+ */
318
+ _formatNumber(value) {
319
+ return this.formatter.format(value);
320
+ }
321
+ /**
322
+ * Parses formatted number string back to numeric value
323
+ * @private
324
+ */
325
+ _parseNumber(formattedValue) {
326
+ return this.formatter.parse(formattedValue);
327
+ }
290
328
  _incValue() {
291
329
  if (this._incIconClickable && !this.disabled && !this.readonly) {
292
330
  this._modifyValue(this.step, true);
@@ -302,26 +340,28 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
302
340
  get _isValueWithCorrectPrecision() {
303
341
  // check if the value will be displayed with correct precision
304
342
  // _displayValue has special formatting logic
305
- if ((this.value === 0) || (Number.isInteger(this.value))) {
306
- // integers and zero will be formatted with toFixed, so they're always valid
343
+ if (this.valuePrecision === 0 && ((this.value === 0) || (Number.isInteger(this.value)))) {
344
+ // integers and zero will be formatted with toFixed, so thex y're always valid
307
345
  return true;
308
346
  }
347
+ const localeData = getCachedLocaleDataInstance(getLocale());
309
348
  // gets either "." or "," as delimiter which is based on locale, and splits the number by it
310
- const delimiter = this.input?.value?.includes(".") ? "." : ",";
349
+ const delimiter = localeData?.getNumberSymbol("decimal") || ".";
311
350
  const numberParts = this.input?.value?.split(delimiter);
312
351
  const decimalPartLength = numberParts?.length > 1 ? numberParts[1].length : 0;
313
352
  return decimalPartLength === this.valuePrecision;
314
353
  }
315
354
  _onInputChange() {
316
355
  this._setDefaultInputValueIfNeeded();
317
- const inputValue = Number(this.input.value);
356
+ const inputValue = this._parseNumber(this.input.value);
318
357
  if (this._isValueChanged(inputValue)) {
319
- this._updateValueAndValidate(inputValue);
358
+ this._updateValueAndValidate(Number.isNaN(inputValue) ? this.min || 0 : inputValue);
359
+ this.innerInput.value = this.input.value;
320
360
  }
321
361
  }
322
362
  _setDefaultInputValueIfNeeded() {
323
363
  if (this.input.value === "") {
324
- const defaultValue = (this.min || 0).toFixed(this.valuePrecision);
364
+ const defaultValue = this._formatNumber(this.min || 0);
325
365
  this.input.value = defaultValue;
326
366
  this.innerInput.value = defaultValue; // we need to update inner input value as well, to avoid empty input scenario
327
367
  }
@@ -335,7 +375,8 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
335
375
  || this.value !== inputValue
336
376
  || inputValue === 0
337
377
  || !isValueWithCorrectPrecision
338
- || isPrecisionCorrectButValueStateError;
378
+ || isPrecisionCorrectButValueStateError
379
+ || Number.isNaN(inputValue);
339
380
  }
340
381
  _updateValueAndValidate(inputValue) {
341
382
  this.value = inputValue;
@@ -387,9 +428,29 @@ let StepInput = StepInput_1 = class StepInput extends UI5Element {
387
428
  else if (!isUpCtrl(e) && !isDownCtrl(e) && !isUpShift(e) && !isDownShift(e)) {
388
429
  preventDefault = false;
389
430
  }
390
- if (preventDefault) {
431
+ if (e.key && e.key.length !== 1) {
432
+ return;
433
+ }
434
+ const caretPosition = this._getCaretPosition();
435
+ const inputValue = this.innerInput.value;
436
+ const typedValue = this._getValueOnkeyDown(e, inputValue, caretPosition);
437
+ const parsedValue = this._parseNumber(typedValue);
438
+ const isValidTypedValue = this._isInputValueValid(typedValue, parsedValue);
439
+ if (preventDefault || !isValidTypedValue) {
391
440
  e.preventDefault();
392
441
  }
442
+ if (caretPosition === 0 && isMinus(e)) {
443
+ this._updateValueAndValidate(parsedValue);
444
+ }
445
+ }
446
+ _getCaretPosition() {
447
+ return this.input.getDomRef().querySelector("input").selectionStart;
448
+ }
449
+ _getValueOnkeyDown(e, inputValue, cursorPosition) {
450
+ return `${inputValue.substring(0, cursorPosition)}${e.key}${inputValue.substring(cursorPosition)}`;
451
+ }
452
+ _isInputValueValid(typedValue, parsedValue) {
453
+ return !Number.isNaN(parsedValue) && !/, {2,}/.test(typedValue);
393
454
  }
394
455
  _decSpin() {
395
456
  if (!this._decIconDisabled) {
@@ -532,10 +593,12 @@ __decorate([
532
593
  StepInput = StepInput_1 = __decorate([
533
594
  customElement({
534
595
  tag: "ui5-step-input",
596
+ cldr: true,
535
597
  formAssociated: true,
536
598
  renderer: jsxRenderer,
537
599
  styles: StepInputCss,
538
600
  template: StepInputTemplate,
601
+ languageAware: true,
539
602
  })
540
603
  /**
541
604
  * Fired when the input operation has finished by pressing Enter or on focusout.
@@ -1 +1 @@
1
- {"version":3,"file":"StepInput.js","sourceRoot":"","sources":["../src/StepInput.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisUp,\n\tisDown,\n\tisUpCtrl,\n\tisDownCtrl,\n\tisUpShift,\n\tisDownShift,\n\tisUpShiftCtrl,\n\tisDownShiftCtrl,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisEscape,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport StepInputTemplate from \"./StepInputTemplate.js\";\nimport {\n\tSTEPINPUT_DEC_ICON_TITLE,\n\tSTEPINPUT_INC_ICON_TITLE,\n\tSTEPINPUT_PATTER_MISSMATCH,\n\tSTEPINPUT_RANGEOVERFLOW,\n\tSTEPINPUT_RANGEUNDERFLOW,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/less.js\";\nimport \"@ui5/webcomponents-icons/dist/add.js\";\n\nimport type Input from \"./Input.js\";\nimport type { InputAccInfo, InputEventDetail } from \"./Input.js\";\nimport InputType from \"./types/InputType.js\";\n\n// Styles\nimport StepInputCss from \"./generated/themes/StepInput.css.js\";\n\n// Spin variables\nconst INITIAL_WAIT_TIMEOUT = 500; // milliseconds\nconst ACCELERATION = 0.8;\nconst MIN_WAIT_TIMEOUT = 50; // milliseconds\nconst INITIAL_SPEED = 120; // milliseconds\n\ntype StepInputValueStateChangeEventDetail = {\n\tvalueState: `${ValueState}`,\n\tvalid: boolean,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-step-input` consists of an input field and buttons with icons to increase/decrease the value\n * with the predefined step.\n *\n * The user can change the value of the component by pressing the increase/decrease buttons,\n * by typing a number directly, by using the keyboard up/down and page up/down,\n * or by using the mouse scroll wheel. Decimal values are supported.\n *\n * ### Usage\n *\n * The default step is 1 but the app developer can set a different one.\n *\n * App developers can set a maximum and minimum value for the `StepInput`.\n * The increase/decrease button and the up/down keyboard navigation become disabled when\n * the value reaches the max/min or a new value is entered from the input which is greater/less than the max/min.\n *\n * #### When to use:\n *\n * - To adjust amounts, quantities, or other values quickly.\n * - To adjust values for a specific step.\n *\n * #### When not to use:\n *\n * - To enter a static number (for example, postal code, phone number, or ID). In this case,\n * use the regular `ui5-input` instead.\n * - To display a value that rarely needs to be adjusted and does not pertain to a particular step.\n * In this case, use the regular `ui5-input` instead.\n * - To enter dates and times. In this case, use date/time related components instead.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/StepInput.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.13\n * @public\n */\n@customElement({\n\ttag: \"ui5-step-input\",\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\tstyles: StepInputCss,\n\ttemplate: StepInputTemplate,\n})\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n/**\n * Fired when the value of the component changes at each keystroke.\n * @public\n * @since 2.6.0\n */\n@event(\"input\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n/**\n * Fired before the value state of the component is updated internally.\n * The event is preventable, meaning that if it's default action is\n * prevented, the component will not update the value state.\n * @since 1.23.0\n * @public\n * @param {string} valueState The new `valueState` that will be set.\n * @param {boolean} valid Indicator if the value is in between the min and max value.\n */\n@event(\"value-state-change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass StepInput extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: void\n\t\tinput: InputEventDetail\n\t\t\"value-state-change\": StepInputValueStateChangeEventDetail\n\t}\n\n\t/**\n\t * Defines a value of the component.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tvalue = 0;\n\n\t/**\n\t * Defines a minimum value of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmin?: number;\n\n\t/**\n\t * Defines a maximum value of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmax?: number;\n\n\t/**\n\t * Defines a step of increasing/decreasing the value of the component.\n\t * @default 1\n\t * @public\n\t */\n\t@property({ type: Number })\n\tstep: number = 1;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is required.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Determines whether the component is displayed as disabled.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is displayed as read-only.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Determines the number of digits after the decimal point of the component.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tvaluePrecision = 0;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t@property({ noAttribute: true })\n\t_decIconDisabled = false;\n\n\t@property({ noAttribute: true })\n\t_incIconDisabled = false;\n\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t@property({ noAttribute: true })\n\t_inputFocused = false;\n\n\t@property({ noAttribute: true })\n\t_previousValue: number | undefined;\n\n\t@property({ noAttribute: true })\n\t_waitTimeout: number = INITIAL_WAIT_TIMEOUT;\n\n\t@property({ noAttribute: true })\n\t_speed: number = INITIAL_SPEED;\n\n\t@property({ noAttribute: true })\n\t_btnDown?: boolean;\n\n\t@property({ noAttribute: true })\n\t_spinTimeoutId?: Timeout;\n\n\t@property({ noAttribute: true })\n\t_spinStarted = false;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Critical` or `Negative` value state.\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t_initialValueState?: `${ValueState}`;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tasync formElementAnchor() {\n\t\treturn (await this.getFocusDomRefAsync() as UI5Element)?.getFocusDomRefAsync();\n\t}\n\n\tget formValidityMessage() {\n\t\tconst validity = this.formValidity;\n\n\t\tif (validity.patternMismatch) {\n\t\t\treturn StepInput.i18nBundle.getText(STEPINPUT_PATTER_MISSMATCH, this.valuePrecision);\n\t\t}\n\t\tif (validity.rangeUnderflow) {\n\t\t\treturn StepInput.i18nBundle.getText(STEPINPUT_RANGEUNDERFLOW, this.min as number);\n\t\t}\n\t\tif (validity.rangeOverflow) {\n\t\t\treturn StepInput.i18nBundle.getText(STEPINPUT_RANGEOVERFLOW, this.max as number);\n\t\t}\n\n\t\treturn \"\"; // No error\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn {\n\t\t\tpatternMismatch: this.value !== 0 && !this._isValueWithCorrectPrecision,\n\t\t\trangeOverflow: this.max !== undefined && this.value >= this.max,\n\t\t\trangeUnderflow: this.min !== undefined && this.value <= this.min,\n\t\t};\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value.toString();\n\t}\n\n\tget type() {\n\t\treturn InputType.Number;\n\t}\n\n\t// icons-related\n\n\tget decIconTitle() {\n\t\treturn StepInput.i18nBundle.getText(STEPINPUT_DEC_ICON_TITLE);\n\t}\n\n\tget incIconTitle() {\n\t\treturn StepInput.i18nBundle.getText(STEPINPUT_INC_ICON_TITLE);\n\t}\n\n\tget _decIconClickable() {\n\t\treturn !this._decIconDisabled && !this.readonly && !this.disabled;\n\t}\n\n\tget _incIconClickable() {\n\t\treturn !this._incIconDisabled && !this.readonly && !this.disabled;\n\t}\n\n\tget _isFocused() {\n\t\treturn this.focused;\n\t}\n\n\tget _displayValue() {\n\t\tif ((this.value === 0) || (Number.isInteger(this.value))) {\n\t\t\treturn this.value.toFixed(this.valuePrecision);\n\t\t}\n\n\t\tif (this.input && this.value === Number(this.input.value)) { // For the cases where the number is fractional and is ending with 0s.\n\t\t\treturn this.input.value;\n\t\t}\n\n\t\treturn this.value.toString();\n\t}\n\n\tget accInfo(): InputAccInfo {\n\t\treturn {\n\t\t\t\"ariaRequired\": this.required,\n\t\t\t\"ariaLabel\": getEffectiveAriaLabelText(this),\n\t\t};\n\t}\n\n\tget inputAttributes() {\n\t\treturn {\n\t\t\tmin: this.min === undefined ? undefined : this.min,\n\t\t\tmax: this.max === undefined ? undefined : this.max,\n\t\t\tstep: this.step,\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._setButtonState();\n\t}\n\n\tget input(): Input {\n\t\treturn this.shadowRoot!.querySelector<Input>(\"[ui5-input]\")!;\n\t}\n\n\tget innerInput(): HTMLInputElement {\n\t\treturn this.input.shadowRoot!.querySelector<HTMLInputElement>(\"input\")!;\n\t}\n\n\tget inputOuter() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-step-input-input\")!;\n\t}\n\n\t_onButtonFocusOut() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this._inputFocused) {\n\t\t\t\tthis.inputOuter.removeAttribute(\"focused\");\n\t\t\t}\n\t\t}, 0);\n\t}\n\n\t_onInput(e: CustomEvent<InputEventDetail>) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"input\", { inputType: e.detail.inputType });\n\n\t\tif (prevented) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onInputFocusIn() {\n\t\tthis._inputFocused = true;\n\t}\n\n\t_onInputFocusOut() {\n\t\tthis._inputFocused = false;\n\t\tthis._onInputChange();\n\t}\n\n\t_setButtonState() {\n\t\tthis._decIconDisabled = this.min !== undefined && this.value <= this.min;\n\t\tthis._incIconDisabled = this.max !== undefined && this.value >= this.max;\n\t}\n\n\t_validate() {\n\t\tif (this._initialValueState === undefined) {\n\t\t\tthis._initialValueState = this.valueState;\n\t\t}\n\n\t\tthis._updateValueState();\n\t}\n\n\t_updateValueState() {\n\t\tconst isWithinRange = (this.min === undefined || Number(this.input.value) >= this.min)\n\t\t\t\t\t\t\t && (this.max === undefined || Number(this.input.value) <= this.max);\n\t\tconst isValueWithCorrectPrecision = this._isValueWithCorrectPrecision;\n\t\tconst previousValueState = this.valueState;\n\t\tconst isValid = isWithinRange && isValueWithCorrectPrecision;\n\n\t\tthis.valueState = isValid ? ValueState.None : ValueState.Negative;\n\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"value-state-change\", {\n\t\t\tvalueState: this.valueState,\n\t\t\tvalid: isValid,\n\t\t});\n\n\t\tif (eventPrevented) {\n\t\t\tthis.valueState = previousValueState;\n\t\t}\n\t}\n\n\t_preciseValue(value: number) {\n\t\tconst pow = 10 ** this.valuePrecision;\n\t\treturn Math.round(value * pow) / pow;\n\t}\n\n\t_fireChangeEvent() {\n\t\tif (this._previousValue !== this.value) {\n\t\t\tthis._previousValue = this.value;\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\t}\n\n\t/**\n\t * Value modifier - modifies the value of the component, validates the new value and enables/disables increment and\n\t * decrement buttons according to the value and min/max values (if set). Fires `change` event when requested\n\t * @private\n\t * @param modifier modifies the value of the component with the given modifier (positive or negative)\n\t * @param fireChangeEvent if `true`, fires `change` event when the value is changed\n\t */\n\t_modifyValue(modifier: number, fireChangeEvent = false) {\n\t\tlet value;\n\t\tvalue = this.value + modifier;\n\t\tif (this.min !== undefined && value < this.min) {\n\t\t\tvalue = this.min;\n\t\t}\n\t\tif (this.max !== undefined && value > this.max) {\n\t\t\tvalue = this.max;\n\t\t}\n\t\tvalue = this._preciseValue(value);\n\t\tif (value !== this.value) {\n\t\t\tthis.value = value;\n\t\t\tthis.input.value = value.toFixed(this.valuePrecision);\n\t\t\tthis._validate();\n\t\t\tthis._setButtonState();\n\t\t\tthis.focused = true;\n\t\t\tthis.inputOuter.setAttribute(\"focused\", \"\");\n\t\t\tif (fireChangeEvent) {\n\t\t\t\tthis._fireChangeEvent();\n\t\t\t} else {\n\t\t\t\tthis.input.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t_incValue() {\n\t\tif (this._incIconClickable && !this.disabled && !this.readonly) {\n\t\t\tthis._modifyValue(this.step, true);\n\t\t\tthis._previousValue = this.value;\n\t\t}\n\t}\n\n\t_decValue() {\n\t\tif (this._decIconClickable && !this.disabled && !this.readonly) {\n\t\t\tthis._modifyValue(-this.step, true);\n\t\t\tthis._previousValue = this.value;\n\t\t}\n\t}\n\n\tget _isValueWithCorrectPrecision() {\n\t\t// check if the value will be displayed with correct precision\n\t\t// _displayValue has special formatting logic\n\t\tif ((this.value === 0) || (Number.isInteger(this.value))) {\n\t\t\t// integers and zero will be formatted with toFixed, so they're always valid\n\t\t\treturn true;\n\t\t}\n\n\t\t// gets either \".\" or \",\" as delimiter which is based on locale, and splits the number by it\n\t\tconst delimiter = this.input?.value?.includes(\".\") ? \".\" : \",\";\n\t\tconst numberParts = this.input?.value?.split(delimiter);\n\t\tconst decimalPartLength = numberParts?.length > 1 ? numberParts[1].length : 0;\n\n\t\treturn decimalPartLength === this.valuePrecision;\n\t}\n\n\t_onInputChange() {\n\t\tthis._setDefaultInputValueIfNeeded();\n\n\t\tconst inputValue = Number(this.input.value);\n\t\tif (this._isValueChanged(inputValue)) {\n\t\t\tthis._updateValueAndValidate(inputValue);\n\t\t}\n\t}\n\n\t_setDefaultInputValueIfNeeded() {\n\t\tif (this.input.value === \"\") {\n\t\t\tconst defaultValue = (this.min || 0).toFixed(this.valuePrecision);\n\t\t\tthis.input.value = defaultValue;\n\t\t\tthis.innerInput.value = defaultValue; // we need to update inner input value as well, to avoid empty input scenario\n\t\t}\n\t}\n\n\t_isValueChanged(inputValue: number) {\n\t\tconst isValueWithCorrectPrecision = this._isValueWithCorrectPrecision;\n\t\t// Treat values as distinct when modified to match a specific precision (e.g., from 3.4000 to 3.40),\n\t\t// even if JavaScript sees them as equal, to correctly update valueState based on expected valuePrecision.\n\t\tconst isPrecisionCorrectButValueStateError = isValueWithCorrectPrecision && this.valueState === ValueState.Negative;\n\n\t\treturn this.value !== this._previousValue\n\t\t\t|| this.value !== inputValue\n\t\t\t|| inputValue === 0\n\t\t\t|| !isValueWithCorrectPrecision\n\t\t\t|| isPrecisionCorrectButValueStateError;\n\t}\n\n\t_updateValueAndValidate(inputValue: number) {\n\t\tthis.value = inputValue;\n\t\tthis._validate();\n\t\tthis._setButtonState();\n\t\tthis._fireChangeEvent();\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t\tthis._previousValue = this.value;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t\tthis._previousValue = undefined;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onInputChange();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isUp(e)) {\n\t\t\t// step up\n\t\t\tthis._modifyValue(this.step);\n\t\t} else if (isDown(e)) {\n\t\t\t// step down\n\t\t\tthis._modifyValue(-this.step);\n\t\t} else if (isEscape(e)) {\n\t\t\t// return previous value\n\t\t\tif (this._previousValue === undefined) {\n\t\t\t\tthis._previousValue = this.value;\n\t\t\t}\n\t\t\tthis.value = this._previousValue;\n\t\t\tthis.input.value = this.value.toFixed(this.valuePrecision);\n\t\t} else if (this.max !== undefined && (isPageUpShift(e) || isUpShiftCtrl(e))) {\n\t\t\t// step to max\n\t\t\tthis._modifyValue(this.max - this.value);\n\t\t} else if (this.min !== undefined && (isPageDownShift(e) || isDownShiftCtrl(e))) {\n\t\t\t// step to min\n\t\t\tthis._modifyValue(this.min - this.value);\n\t\t} else if (!isUpCtrl(e) && !isDownCtrl(e) && !isUpShift(e) && !isDownShift(e)) {\n\t\t\tpreventDefault = false;\n\t\t}\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_decSpin() {\n\t\tif (!this._decIconDisabled) {\n\t\t\tthis._spinValue(false, true);\n\t\t}\n\t}\n\n\t_incSpin() {\n\t\tif (!this._incIconDisabled) {\n\t\t\tthis._spinValue(true, true);\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the time which should be waited until _spinValue function is called.\n\t */\n\t_calcWaitTimeout() {\n\t\tthis._speed *= ACCELERATION;\n\t\tthis._waitTimeout = ((this._waitTimeout - this._speed) < MIN_WAIT_TIMEOUT ? MIN_WAIT_TIMEOUT : (this._waitTimeout - this._speed));\n\t\treturn this._waitTimeout;\n\t}\n\n\t/**\n\t * Called when the increment or decrement button is pressed and held to set new value.\n\t * @private\n\t * @param increment - is this the increment button or not so the values should be spin accordingly up or down\n\t * @param resetVariables - whether to reset the spin-related variables or not\n\t */\n\t_spinValue(increment: boolean, resetVariables = false) {\n\t\tif (resetVariables) {\n\t\t\tthis._waitTimeout = INITIAL_WAIT_TIMEOUT;\n\t\t\tthis._speed = INITIAL_SPEED;\n\t\t\tthis._btnDown = true;\n\t\t}\n\t\tthis._spinTimeoutId = setTimeout(() => {\n\t\t\tif (this._btnDown) {\n\t\t\t\tthis._spinStarted = true;\n\t\t\t\tthis._modifyValue(increment ? this.step : -this.step);\n\t\t\t\tthis._setButtonState();\n\t\t\t\tif ((!this._incIconDisabled && increment) || (!this._decIconDisabled && !increment)) {\n\t\t\t\t\tthis._spinValue(increment);\n\t\t\t\t} else {\n\t\t\t\t\tthis._resetSpin();\n\t\t\t\t\tthis._fireChangeEvent();\n\t\t\t\t}\n\t\t\t}\n\t\t}, this._calcWaitTimeout());\n\t}\n\n\t/**\n\t* Resets spin process\n\t*/\n\t_resetSpin() {\n\t\tclearTimeout(this._spinTimeoutId);\n\t\tthis._btnDown = false;\n\t\tthis._spinStarted = false;\n\t}\n\n\t/**\n\t* Resets spin process when mouse outs + or - buttons\n\t*/\n\t_resetSpinOut() {\n\t\tif (this._btnDown) {\n\t\t\tthis._resetSpin();\n\t\t\tthis._fireChangeEvent();\n\t\t}\n\t}\n}\nStepInput.define();\n\nexport default StepInput;\nexport type {\n\tStepInputValueStateChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"StepInput.js","sourceRoot":"","sources":["../src/StepInput.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisUp,\n\tisDown,\n\tisUpCtrl,\n\tisDownCtrl,\n\tisUpShift,\n\tisDownShift,\n\tisUpShiftCtrl,\n\tisDownShiftCtrl,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisEscape,\n\tisEnter,\n\tisMinus,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport StepInputTemplate from \"./StepInputTemplate.js\";\nimport {\n\tSTEPINPUT_DEC_ICON_TITLE,\n\tSTEPINPUT_INC_ICON_TITLE,\n\tSTEPINPUT_PATTER_MISSMATCH,\n\tSTEPINPUT_RANGEOVERFLOW,\n\tSTEPINPUT_RANGEUNDERFLOW,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport \"@ui5/webcomponents-icons/dist/less.js\";\nimport \"@ui5/webcomponents-icons/dist/add.js\";\n\nimport type Input from \"./Input.js\";\nimport type { InputAccInfo, InputEventDetail } from \"./Input.js\";\nimport InputType from \"./types/InputType.js\";\nimport NumberFormat from \"@ui5/webcomponents-localization/dist/NumberFormat.js\";\n\n// Styles\nimport StepInputCss from \"./generated/themes/StepInput.css.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\n\n// Spin variables\nconst INITIAL_WAIT_TIMEOUT = 500; // milliseconds\nconst ACCELERATION = 0.8;\nconst MIN_WAIT_TIMEOUT = 50; // milliseconds\nconst INITIAL_SPEED = 120; // milliseconds\n\ntype StepInputValueStateChangeEventDetail = {\n\tvalueState: `${ValueState}`,\n\tvalid: boolean,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-step-input` consists of an input field and buttons with icons to increase/decrease the value\n * with the predefined step.\n *\n * The user can change the value of the component by pressing the increase/decrease buttons,\n * by typing a number directly, by using the keyboard up/down and page up/down,\n * or by using the mouse scroll wheel. Decimal values are supported.\n *\n * ### Usage\n *\n * The default step is 1 but the app developer can set a different one.\n *\n * App developers can set a maximum and minimum value for the `StepInput`.\n * The increase/decrease button and the up/down keyboard navigation become disabled when\n * the value reaches the max/min or a new value is entered from the input which is greater/less than the max/min.\n *\n * #### When to use:\n *\n * - To adjust amounts, quantities, or other values quickly.\n * - To adjust values for a specific step.\n *\n * #### When not to use:\n *\n * - To enter a static number (for example, postal code, phone number, or ID). In this case,\n * use the regular `ui5-input` instead.\n * - To display a value that rarely needs to be adjusted and does not pertain to a particular step.\n * In this case, use the regular `ui5-input` instead.\n * - To enter dates and times. In this case, use date/time related components instead.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/StepInput.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.13\n * @public\n */\n@customElement({\n\ttag: \"ui5-step-input\",\n\tcldr: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\tstyles: StepInputCss,\n\ttemplate: StepInputTemplate,\n\tlanguageAware: true,\n})\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n/**\n * Fired when the value of the component changes at each keystroke.\n * @public\n * @since 2.6.0\n */\n@event(\"input\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n/**\n * Fired before the value state of the component is updated internally.\n * The event is preventable, meaning that if it's default action is\n * prevented, the component will not update the value state.\n * @since 1.23.0\n * @public\n * @param {string} valueState The new `valueState` that will be set.\n * @param {boolean} valid Indicator if the value is in between the min and max value.\n */\n@event(\"value-state-change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass StepInput extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: void\n\t\tinput: InputEventDetail\n\t\t\"value-state-change\": StepInputValueStateChangeEventDetail\n\t}\n\n\t/**\n\t * Defines a value of the component.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tvalue = 0;\n\n\t/**\n\t * Defines a minimum value of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmin?: number;\n\n\t/**\n\t * Defines a maximum value of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmax?: number;\n\n\t/**\n\t * Defines a step of increasing/decreasing the value of the component.\n\t * @default 1\n\t * @public\n\t */\n\t@property({ type: Number })\n\tstep: number = 1;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is required.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Determines whether the component is displayed as disabled.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is displayed as read-only.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Determines the number of digits after the decimal point of the component.\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tvaluePrecision = 0;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t@property({ noAttribute: true })\n\t_decIconDisabled = false;\n\n\t@property({ noAttribute: true })\n\t_incIconDisabled = false;\n\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t@property({ noAttribute: true })\n\t_inputFocused = false;\n\n\t@property({ noAttribute: true })\n\t_previousValue: number | undefined;\n\n\t@property({ noAttribute: true })\n\t_waitTimeout: number = INITIAL_WAIT_TIMEOUT;\n\n\t@property({ noAttribute: true })\n\t_speed: number = INITIAL_SPEED;\n\n\t@property({ noAttribute: true })\n\t_btnDown?: boolean;\n\n\t@property({ noAttribute: true })\n\t_spinTimeoutId?: Timeout;\n\n\t@property({ noAttribute: true })\n\t_spinStarted = false;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Critical` or `Negative` value state.\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t_initialValueState?: `${ValueState}`;\n\n\t_formatter?: NumberFormat;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tasync formElementAnchor() {\n\t\treturn (await this.getFocusDomRefAsync() as UI5Element)?.getFocusDomRefAsync();\n\t}\n\n\tget formValidityMessage() {\n\t\tconst validity = this.formValidity;\n\n\t\tif (validity.patternMismatch) {\n\t\t\treturn StepInput.i18nBundle.getText(STEPINPUT_PATTER_MISSMATCH, this.valuePrecision);\n\t\t}\n\t\tif (validity.rangeUnderflow) {\n\t\t\treturn StepInput.i18nBundle.getText(STEPINPUT_RANGEUNDERFLOW, this.min as number);\n\t\t}\n\t\tif (validity.rangeOverflow) {\n\t\t\treturn StepInput.i18nBundle.getText(STEPINPUT_RANGEOVERFLOW, this.max as number);\n\t\t}\n\n\t\treturn \"\"; // No error\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn {\n\t\t\tpatternMismatch: this.value !== 0 && !this._isValueWithCorrectPrecision,\n\t\t\trangeOverflow: this.max !== undefined && this.value >= this.max,\n\t\t\trangeUnderflow: this.min !== undefined && this.value <= this.min,\n\t\t};\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value.toString();\n\t}\n\n\tget type() {\n\t\treturn InputType.Text;\n\t}\n\n\t// icons-related\n\n\tget decIconTitle() {\n\t\treturn StepInput.i18nBundle.getText(STEPINPUT_DEC_ICON_TITLE);\n\t}\n\n\tget incIconTitle() {\n\t\treturn StepInput.i18nBundle.getText(STEPINPUT_INC_ICON_TITLE);\n\t}\n\n\tget _decIconClickable() {\n\t\treturn !this._decIconDisabled && !this.readonly && !this.disabled;\n\t}\n\n\tget _incIconClickable() {\n\t\treturn !this._incIconDisabled && !this.readonly && !this.disabled;\n\t}\n\n\tget _isFocused() {\n\t\treturn this.focused;\n\t}\n\n\tget _displayValue() {\n\t\t// For the cases when there is set value precision but the input value is not with correct precision we don't need to format it\n\t\tconst value = this.input?.value && !this._isValueWithCorrectPrecision ? this.input.value : this._formatNumber(this.value);\n\t\tif ((this.value === 0) || (Number.isInteger(this.value))) {\n\t\t\treturn value;\n\t\t}\n\n\t\tif (this.input && this.value === this._parseNumber(this.input.value)) { // For the cases where the number is fractional and is ending with 0s.\n\t\t\treturn this.input.value;\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tget accInfo(): InputAccInfo {\n\t\treturn {\n\t\t\t\"ariaRequired\": this.required,\n\t\t\t\"ariaLabel\": getEffectiveAriaLabelText(this),\n\t\t};\n\t}\n\n\tget inputAttributes() {\n\t\treturn {\n\t\t\tmin: this.min === undefined ? undefined : this.min,\n\t\t\tmax: this.max === undefined ? undefined : this.max,\n\t\t\tstep: this.step,\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._setButtonState();\n\t}\n\n\tget formatter(): NumberFormat {\n\t\tif (!this._formatter) {\n\t\t\tthis._formatter = NumberFormat.getFloatInstance({\n\t\t\t\tdecimals: this.valuePrecision,\n\t\t\t});\n\t\t}\n\n\t\treturn this._formatter;\n\t}\n\n\tget input(): Input {\n\t\treturn this.shadowRoot!.querySelector<Input>(\"[ui5-input]\")!;\n\t}\n\n\tget innerInput(): HTMLInputElement {\n\t\treturn this.input.shadowRoot!.querySelector<HTMLInputElement>(\"input\")!;\n\t}\n\n\tget inputOuter() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-step-input-input\")!;\n\t}\n\n\t_onButtonFocusOut() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this._inputFocused) {\n\t\t\t\tthis.inputOuter.removeAttribute(\"focused\");\n\t\t\t}\n\t\t}, 0);\n\t}\n\n\t_onInput(e: CustomEvent<InputEventDetail>) {\n\t\tconst prevented = !this.fireDecoratorEvent(\"input\", { inputType: e.detail.inputType });\n\n\t\tif (prevented) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onInputFocusIn() {\n\t\tthis._inputFocused = true;\n\t}\n\n\t_onInputFocusOut() {\n\t\tthis._inputFocused = false;\n\t\tthis._onInputChange();\n\t}\n\n\t_onMouseWheel(e: WheelEvent) {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isFocused) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tconst isScrollUp = e.deltaY < 0;\n\t\tconst modifier = isScrollUp ? this.step : -this.step;\n\t\tthis._modifyValue(modifier, true);\n\t}\n\n\t_setButtonState() {\n\t\tthis._decIconDisabled = this.min !== undefined && this.value <= this.min;\n\t\tthis._incIconDisabled = this.max !== undefined && this.value >= this.max;\n\t}\n\n\t_validate() {\n\t\tif (this._initialValueState === undefined) {\n\t\t\tthis._initialValueState = this.valueState;\n\t\t}\n\n\t\tthis._updateValueState();\n\t}\n\n\t_updateValueState() {\n\t\tconst isWithinRange = (this.min === undefined || this._parseNumber(this.input.value) >= this.min)\n\t\t\t\t\t\t\t && (this.max === undefined || this._parseNumber(this.input.value) <= this.max);\n\t\tconst isValueWithCorrectPrecision = this._isValueWithCorrectPrecision;\n\t\tconst previousValueState = this.valueState;\n\t\tconst isValid = isWithinRange && isValueWithCorrectPrecision;\n\n\t\tthis.valueState = isValid ? ValueState.None : ValueState.Negative;\n\n\t\tconst eventPrevented = !this.fireDecoratorEvent(\"value-state-change\", {\n\t\t\tvalueState: this.valueState,\n\t\t\tvalid: isValid,\n\t\t});\n\n\t\tif (eventPrevented) {\n\t\t\tthis.valueState = previousValueState;\n\t\t}\n\t}\n\n\t_preciseValue(value: number) {\n\t\tconst pow = 10 ** this.valuePrecision;\n\t\treturn Math.round(value * pow) / pow;\n\t}\n\n\t_fireChangeEvent() {\n\t\tif (this._previousValue !== this.value) {\n\t\t\tthis._previousValue = this.value;\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\t}\n\n\t/**\n\t * Value modifier - modifies the value of the component, validates the new value and enables/disables increment and\n\t * decrement buttons according to the value and min/max values (if set). Fires `change` event when requested\n\t * @private\n\t * @param modifier modifies the value of the component with the given modifier (positive or negative)\n\t * @param fireChangeEvent if `true`, fires `change` event when the value is changed\n\t */\n\t_modifyValue(modifier: number, fireChangeEvent = false) {\n\t\tlet value;\n\t\tvalue = this.value + modifier;\n\t\tif (this.min !== undefined && value < this.min) {\n\t\t\tvalue = this.min;\n\t\t}\n\t\tif (this.max !== undefined && value > this.max) {\n\t\t\tvalue = this.max;\n\t\t}\n\t\tvalue = this._preciseValue(value);\n\t\tif (value !== this.value) {\n\t\t\tthis.value = value;\n\t\t\tthis.input.value = this._formatNumber(value);\n\t\t\tthis._validate();\n\t\t\tthis._setButtonState();\n\t\t\tthis.focused = true;\n\t\t\tthis.inputOuter.setAttribute(\"focused\", \"\");\n\t\t\tif (fireChangeEvent) {\n\t\t\t\tthis._fireChangeEvent();\n\t\t\t} else {\n\t\t\t\tthis.input.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n \t * Formats a number with thousands separator based on current locale\n \t * @private\n \t */\n\t_formatNumber(value: number): string {\n\t\treturn this.formatter.format(value);\n\t}\n\n\t/**\n \t * Parses formatted number string back to numeric value\n \t * @private\n \t*/\n\t_parseNumber(formattedValue: string): number {\n\t\treturn this.formatter.parse(formattedValue) as number;\n\t}\n\n\t_incValue() {\n\t\tif (this._incIconClickable && !this.disabled && !this.readonly) {\n\t\t\tthis._modifyValue(this.step, true);\n\t\t\tthis._previousValue = this.value;\n\t\t}\n\t}\n\n\t_decValue() {\n\t\tif (this._decIconClickable && !this.disabled && !this.readonly) {\n\t\t\tthis._modifyValue(-this.step, true);\n\t\t\tthis._previousValue = this.value;\n\t\t}\n\t}\n\n\tget _isValueWithCorrectPrecision() {\n\t\t// check if the value will be displayed with correct precision\n\t\t// _displayValue has special formatting logic\n\t\tif (this.valuePrecision === 0 && ((this.value === 0) || (Number.isInteger(this.value)))) {\n\t\t\t// integers and zero will be formatted with toFixed, so thex y're always valid\n\t\t\treturn true;\n\t\t}\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\t// gets either \".\" or \",\" as delimiter which is based on locale, and splits the number by it\n\t\tconst delimiter = localeData?.getNumberSymbol(\"decimal\") || \".\";\n\t\tconst numberParts = this.input?.value?.split(delimiter);\n\t\tconst decimalPartLength = numberParts?.length > 1 ? numberParts[1].length : 0;\n\n\t\treturn decimalPartLength === this.valuePrecision;\n\t}\n\n\t_onInputChange() {\n\t\tthis._setDefaultInputValueIfNeeded();\n\t\tconst inputValue = this._parseNumber(this.input.value);\n\t\tif (this._isValueChanged(inputValue)) {\n\t\t\tthis._updateValueAndValidate(Number.isNaN(inputValue) ? this.min || 0 : inputValue);\n\t\t\tthis.innerInput.value = this.input.value;\n\t\t}\n\t}\n\n\t_setDefaultInputValueIfNeeded() {\n\t\tif (this.input.value === \"\") {\n\t\t\tconst defaultValue = this._formatNumber(this.min || 0);\n\t\t\tthis.input.value = defaultValue;\n\t\t\tthis.innerInput.value = defaultValue; // we need to update inner input value as well, to avoid empty input scenario\n\t\t}\n\t}\n\n\t_isValueChanged(inputValue: number) {\n\t\tconst isValueWithCorrectPrecision = this._isValueWithCorrectPrecision;\n\t\t// Treat values as distinct when modified to match a specific precision (e.g., from 3.4000 to 3.40),\n\t\t// even if JavaScript sees them as equal, to correctly update valueState based on expected valuePrecision.\n\t\tconst isPrecisionCorrectButValueStateError = isValueWithCorrectPrecision && this.valueState === ValueState.Negative;\n\n\t\treturn this.value !== this._previousValue\n\t\t\t|| this.value !== inputValue\n\t\t\t|| inputValue === 0\n\t\t\t|| !isValueWithCorrectPrecision\n\t\t\t|| isPrecisionCorrectButValueStateError\n\t\t\t|| Number.isNaN(inputValue);\n\t}\n\n\t_updateValueAndValidate(inputValue: number) {\n\t\tthis.value = inputValue;\n\t\tthis._validate();\n\t\tthis._setButtonState();\n\t\tthis._fireChangeEvent();\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t\tthis._previousValue = this.value;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t\tthis._previousValue = undefined;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onInputChange();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isUp(e)) {\n\t\t\t// step up\n\t\t\tthis._modifyValue(this.step);\n\t\t} else if (isDown(e)) {\n\t\t\t// step down\n\t\t\tthis._modifyValue(-this.step);\n\t\t} else if (isEscape(e)) {\n\t\t\t// return previous value\n\t\t\tif (this._previousValue === undefined) {\n\t\t\t\tthis._previousValue = this.value;\n\t\t\t}\n\t\t\tthis.value = this._previousValue;\n\t\t\tthis.input.value = this.value.toFixed(this.valuePrecision);\n\t\t} else if (this.max !== undefined && (isPageUpShift(e) || isUpShiftCtrl(e))) {\n\t\t\t// step to max\n\t\t\tthis._modifyValue(this.max - this.value);\n\t\t} else if (this.min !== undefined && (isPageDownShift(e) || isDownShiftCtrl(e))) {\n\t\t\t// step to min\n\t\t\tthis._modifyValue(this.min - this.value);\n\t\t} else if (!isUpCtrl(e) && !isDownCtrl(e) && !isUpShift(e) && !isDownShift(e)) {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (e.key && e.key.length !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst caretPosition = this._getCaretPosition();\n\t\tconst inputValue = this.innerInput.value;\n\t\tconst typedValue = this._getValueOnkeyDown(e, inputValue, caretPosition!);\n\t\tconst parsedValue = this._parseNumber(typedValue);\n\t\tconst isValidTypedValue = this._isInputValueValid(typedValue, parsedValue);\n\n\t\tif (preventDefault || !isValidTypedValue) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (caretPosition === 0 && isMinus(e)) {\n\t\t\tthis._updateValueAndValidate(parsedValue);\n\t\t}\n\t}\n\n\t_getCaretPosition() {\n\t\treturn this.input.getDomRef()!.querySelector(\"input\")!.selectionStart;\n\t}\n\n\t_getValueOnkeyDown(e: KeyboardEvent, inputValue: string, cursorPosition?: number) {\n\t\treturn `${inputValue.substring(0, cursorPosition)}${e.key}${inputValue.substring(cursorPosition!)}`;\n\t}\n\n\t_isInputValueValid(typedValue: string, parsedValue: number) {\n\t\treturn !Number.isNaN(parsedValue) && !/, {2,}/.test(typedValue);\n\t}\n\n\t_decSpin() {\n\t\tif (!this._decIconDisabled) {\n\t\t\tthis._spinValue(false, true);\n\t\t}\n\t}\n\n\t_incSpin() {\n\t\tif (!this._incIconDisabled) {\n\t\t\tthis._spinValue(true, true);\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the time which should be waited until _spinValue function is called.\n\t */\n\t_calcWaitTimeout() {\n\t\tthis._speed *= ACCELERATION;\n\t\tthis._waitTimeout = ((this._waitTimeout - this._speed) < MIN_WAIT_TIMEOUT ? MIN_WAIT_TIMEOUT : (this._waitTimeout - this._speed));\n\t\treturn this._waitTimeout;\n\t}\n\n\t/**\n\t * Called when the increment or decrement button is pressed and held to set new value.\n\t * @private\n\t * @param increment - is this the increment button or not so the values should be spin accordingly up or down\n\t * @param resetVariables - whether to reset the spin-related variables or not\n\t */\n\t_spinValue(increment: boolean, resetVariables = false) {\n\t\tif (resetVariables) {\n\t\t\tthis._waitTimeout = INITIAL_WAIT_TIMEOUT;\n\t\t\tthis._speed = INITIAL_SPEED;\n\t\t\tthis._btnDown = true;\n\t\t}\n\t\tthis._spinTimeoutId = setTimeout(() => {\n\t\t\tif (this._btnDown) {\n\t\t\t\tthis._spinStarted = true;\n\t\t\t\tthis._modifyValue(increment ? this.step : -this.step);\n\t\t\t\tthis._setButtonState();\n\t\t\t\tif ((!this._incIconDisabled && increment) || (!this._decIconDisabled && !increment)) {\n\t\t\t\t\tthis._spinValue(increment);\n\t\t\t\t} else {\n\t\t\t\t\tthis._resetSpin();\n\t\t\t\t\tthis._fireChangeEvent();\n\t\t\t\t}\n\t\t\t}\n\t\t}, this._calcWaitTimeout());\n\t}\n\n\t/**\n\t* Resets spin process\n\t*/\n\t_resetSpin() {\n\t\tclearTimeout(this._spinTimeoutId);\n\t\tthis._btnDown = false;\n\t\tthis._spinStarted = false;\n\t}\n\n\t/**\n\t* Resets spin process when mouse outs + or - buttons\n\t*/\n\t_resetSpinOut() {\n\t\tif (this._btnDown) {\n\t\t\tthis._resetSpin();\n\t\t\tthis._fireChangeEvent();\n\t\t}\n\t}\n}\nStepInput.define();\n\nexport default StepInput;\nexport type {\n\tStepInputValueStateChangeEventDetail,\n};\n"]}
@@ -4,7 +4,7 @@ import Input from "./Input.js";
4
4
  import less from "@ui5/webcomponents-icons/dist/less.js";
5
5
  import add from "@ui5/webcomponents-icons/dist/add.js";
6
6
  export default function StepInputTemplate() {
7
- return (_jsxs("div", { id: `${this._id}`, class: "ui5-step-input-root", onKeyDown: this._onkeydown, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, children: [!this.readonly &&
7
+ return (_jsxs("div", { id: `${this._id}`, class: "ui5-step-input-root", onKeyDown: this._onkeydown, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, onWheel: this._onMouseWheel, children: [!this.readonly &&
8
8
  _jsx("div", { class: "ui5-step-icon ui5-step-dec", title: this.decIconTitle, children: _jsx(Icon, { id: `${this._id}-dec`, name: less, tabindex: -1, accessibleName: this.decIconTitle, onClick: this._decValue, onFocusOut: this._onButtonFocusOut, onMouseDown: this._decSpin, onMouseUp: this._resetSpin, onMouseOut: this._resetSpinOut, class: {
9
9
  "inputIcon": true,
10
10
  "ui5-step-input-icon--clickable": this._decIconClickable,
@@ -1 +1 @@
1
- {"version":3,"file":"StepInputTemplate.js","sourceRoot":"","sources":["../src/StepInputTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,IAAI,MAAM,uCAAuC,CAAC;AACzD,OAAO,GAAG,MAAM,sCAAsC,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACxC,OAAO,CACN,eACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EACjB,KAAK,EAAC,qBAAqB,EAC3B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,aAG3B,CAAC,IAAI,CAAC,QAAQ;gBACf,cACC,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,CAAC,YAAY,YAExB,KAAC,IAAI,IACJ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,EACrB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,CAAC,EACZ,cAAc,EAAE,IAAI,CAAC,YAAY,EACjC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAClC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,aAAa,EAC9B,KAAK,EAAE;4BACN,WAAW,EAAE,IAAI;4BACjB,gCAAgC,EAAE,IAAI,CAAC,iBAAiB;yBACxD,EACD,WAAW,EAAE,IAAI,GAChB,GACG,EAIN,KAAC,KAAK,IACL,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,8BAEvB,KAAK,EAAC,sBAAsB,EAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,aAAa,EAAE,IAAI,CAAC,OAAO,EAC3B,sBAAsB,EAAE,IAAI,CAAC,eAAe,EAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,OAAO,EAAE,IAAI,CAAC,QAAQ,YAErB,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;oBACjC,eAAM,IAAI,EAAC,mBAAmB,EAAC,IAAI,EAAC,mBAAmB,GAAQ,GAEzD,EAGP,CAAC,IAAI,CAAC,QAAQ;gBACd,cACC,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,CAAC,YAAY,YAExB,KAAC,IAAI,IACJ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,EACrB,KAAK,EAAE;4BACN,WAAW,EAAE,IAAI;4BACjB,gCAAgC,EAAE,IAAI,CAAC,iBAAiB;yBACxD,EACD,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,CAAC,CAAC,EACZ,cAAc,EAAE,IAAI,CAAC,YAAY,EACjC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAClC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,aAAa,EAC9B,WAAW,EAAE,IAAI,GAChB,GACG,IAEF,CACN,CAAC;AACH,CAAC","sourcesContent":["import type StepInput from \"./StepInput.js\";\nimport Icon from \"./Icon.js\";\nimport Input from \"./Input.js\";\n\nimport less from \"@ui5/webcomponents-icons/dist/less.js\";\nimport add from \"@ui5/webcomponents-icons/dist/add.js\";\n\nexport default function StepInputTemplate(this: StepInput) {\n\treturn (\n\t\t<div\n\t\t\tid={`${this._id}`}\n\t\t\tclass=\"ui5-step-input-root\"\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\tonFocusOut={this._onfocusout}\n\t\t>\n\t\t\t{/* Decrement Icon */}\n\t\t\t{!this.readonly &&\n\t\t\t<div\n\t\t\t\tclass=\"ui5-step-icon ui5-step-dec\"\n\t\t\t\ttitle={this.decIconTitle}\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tid={`${this._id}-dec`}\n\t\t\t\t\tname={less}\n\t\t\t\t\ttabindex={-1}\n\t\t\t\t\taccessibleName={this.decIconTitle}\n\t\t\t\t\tonClick={this._decValue}\n\t\t\t\t\tonFocusOut={this._onButtonFocusOut}\n\t\t\t\t\tonMouseDown={this._decSpin}\n\t\t\t\t\tonMouseUp={this._resetSpin}\n\t\t\t\t\tonMouseOut={this._resetSpinOut}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\"ui5-step-input-icon--clickable\": this._decIconClickable,\n\t\t\t\t\t}}\n\t\t\t\t\tshowTooltip={true}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t}\n\n\t\t\t{/* INPUT */}\n\t\t\t<Input\n\t\t\t\tid={`${this._id}-inner`}\n\t\t\t\tdata-sap-focus-ref\n\t\t\t\tclass=\"ui5-step-input-input\"\n\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\ttype={this.type}\n\t\t\t\tvalue={this._displayValue}\n\t\t\t\tdisabled={this.disabled}\n\t\t\t\trequired={this.required}\n\t\t\t\treadonly={this.readonly}\n\t\t\t\tvalueState={this.valueState}\n\t\t\t\t_inputAccInfo={this.accInfo}\n\t\t\t\t_nativeInputAttributes={this.inputAttributes}\n\t\t\t\tonChange={this._onInputChange}\n\t\t\t\tonFocusOut={this._onInputFocusOut}\n\t\t\t\tonFocusIn={this._onInputFocusIn}\n\t\t\t\tonInput={this._onInput}\n\t\t\t>\n\t\t\t\t{this.valueStateMessage.length > 0 &&\n\t\t\t\t\t<slot name=\"valueStateMessage\" slot=\"valueStateMessage\"></slot>\n\t\t\t\t}\n\t\t\t</Input>\n\n\t\t\t{/* Increment Icon */}\n\t\t\t{!this.readonly &&\n\t\t\t\t<div\n\t\t\t\t\tclass=\"ui5-step-icon ui5-step-inc\"\n\t\t\t\t\ttitle={this.incIconTitle}\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tid={`${this._id}-inc`}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\t\"ui5-step-input-icon--clickable\": this._incIconClickable,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tname={add}\n\t\t\t\t\t\ttabindex={-1}\n\t\t\t\t\t\taccessibleName={this.incIconTitle}\n\t\t\t\t\t\tonClick={this._incValue}\n\t\t\t\t\t\tonFocusOut={this._onButtonFocusOut}\n\t\t\t\t\t\tonMouseDown={this._incSpin}\n\t\t\t\t\t\tonMouseUp={this._resetSpin}\n\t\t\t\t\t\tonMouseOut={this._resetSpinOut}\n\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"file":"StepInputTemplate.js","sourceRoot":"","sources":["../src/StepInputTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,IAAI,MAAM,uCAAuC,CAAC;AACzD,OAAO,GAAG,MAAM,sCAAsC,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACxC,OAAO,CACN,eACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EACjB,KAAK,EAAC,qBAAqB,EAC3B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,OAAO,EAAE,IAAI,CAAC,aAAa,aAG1B,CAAC,IAAI,CAAC,QAAQ;gBACf,cACC,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,CAAC,YAAY,YAExB,KAAC,IAAI,IACJ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,EACrB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,CAAC,EACZ,cAAc,EAAE,IAAI,CAAC,YAAY,EACjC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAClC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,aAAa,EAC9B,KAAK,EAAE;4BACN,WAAW,EAAE,IAAI;4BACjB,gCAAgC,EAAE,IAAI,CAAC,iBAAiB;yBACxD,EACD,WAAW,EAAE,IAAI,GAChB,GACG,EAIN,KAAC,KAAK,IACL,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,8BAEvB,KAAK,EAAC,sBAAsB,EAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,aAAa,EAAE,IAAI,CAAC,OAAO,EAC3B,sBAAsB,EAAE,IAAI,CAAC,eAAe,EAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,OAAO,EAAE,IAAI,CAAC,QAAQ,YAErB,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;oBACjC,eAAM,IAAI,EAAC,mBAAmB,EAAC,IAAI,EAAC,mBAAmB,GAAQ,GAEzD,EAGP,CAAC,IAAI,CAAC,QAAQ;gBACd,cACC,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,CAAC,YAAY,YAExB,KAAC,IAAI,IACJ,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,EACrB,KAAK,EAAE;4BACN,WAAW,EAAE,IAAI;4BACjB,gCAAgC,EAAE,IAAI,CAAC,iBAAiB;yBACxD,EACD,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,CAAC,CAAC,EACZ,cAAc,EAAE,IAAI,CAAC,YAAY,EACjC,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAClC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,aAAa,EAC9B,WAAW,EAAE,IAAI,GAChB,GACG,IAEF,CACN,CAAC;AACH,CAAC","sourcesContent":["import type StepInput from \"./StepInput.js\";\nimport Icon from \"./Icon.js\";\nimport Input from \"./Input.js\";\n\nimport less from \"@ui5/webcomponents-icons/dist/less.js\";\nimport add from \"@ui5/webcomponents-icons/dist/add.js\";\n\nexport default function StepInputTemplate(this: StepInput) {\n\treturn (\n\t\t<div\n\t\t\tid={`${this._id}`}\n\t\t\tclass=\"ui5-step-input-root\"\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\tonFocusOut={this._onfocusout}\n\t\t\tonWheel={this._onMouseWheel}\n\t\t>\n\t\t\t{/* Decrement Icon */}\n\t\t\t{!this.readonly &&\n\t\t\t<div\n\t\t\t\tclass=\"ui5-step-icon ui5-step-dec\"\n\t\t\t\ttitle={this.decIconTitle}\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tid={`${this._id}-dec`}\n\t\t\t\t\tname={less}\n\t\t\t\t\ttabindex={-1}\n\t\t\t\t\taccessibleName={this.decIconTitle}\n\t\t\t\t\tonClick={this._decValue}\n\t\t\t\t\tonFocusOut={this._onButtonFocusOut}\n\t\t\t\t\tonMouseDown={this._decSpin}\n\t\t\t\t\tonMouseUp={this._resetSpin}\n\t\t\t\t\tonMouseOut={this._resetSpinOut}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\"ui5-step-input-icon--clickable\": this._decIconClickable,\n\t\t\t\t\t}}\n\t\t\t\t\tshowTooltip={true}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t}\n\n\t\t\t{/* INPUT */}\n\t\t\t<Input\n\t\t\t\tid={`${this._id}-inner`}\n\t\t\t\tdata-sap-focus-ref\n\t\t\t\tclass=\"ui5-step-input-input\"\n\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\ttype={this.type}\n\t\t\t\tvalue={this._displayValue}\n\t\t\t\tdisabled={this.disabled}\n\t\t\t\trequired={this.required}\n\t\t\t\treadonly={this.readonly}\n\t\t\t\tvalueState={this.valueState}\n\t\t\t\t_inputAccInfo={this.accInfo}\n\t\t\t\t_nativeInputAttributes={this.inputAttributes}\n\t\t\t\tonChange={this._onInputChange}\n\t\t\t\tonFocusOut={this._onInputFocusOut}\n\t\t\t\tonFocusIn={this._onInputFocusIn}\n\t\t\t\tonInput={this._onInput}\n\t\t\t>\n\t\t\t\t{this.valueStateMessage.length > 0 &&\n\t\t\t\t\t<slot name=\"valueStateMessage\" slot=\"valueStateMessage\"></slot>\n\t\t\t\t}\n\t\t\t</Input>\n\n\t\t\t{/* Increment Icon */}\n\t\t\t{!this.readonly &&\n\t\t\t\t<div\n\t\t\t\t\tclass=\"ui5-step-icon ui5-step-inc\"\n\t\t\t\t\ttitle={this.incIconTitle}\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tid={`${this._id}-inc`}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\t\"ui5-step-input-icon--clickable\": this._incIconClickable,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tname={add}\n\t\t\t\t\t\ttabindex={-1}\n\t\t\t\t\t\taccessibleName={this.incIconTitle}\n\t\t\t\t\t\tonClick={this._incValue}\n\t\t\t\t\t\tonFocusOut={this._onButtonFocusOut}\n\t\t\t\t\t\tonMouseDown={this._incSpin}\n\t\t\t\t\t\tonMouseUp={this._resetSpin}\n\t\t\t\t\t\tonMouseOut={this._resetSpinOut}\n\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\t);\n}\n"]}
package/dist/Table.js CHANGED
@@ -312,12 +312,10 @@ let Table = Table_1 = class Table extends UI5Element {
312
312
  }
313
313
  get styles() {
314
314
  const virtualizer = this._getVirtualizer();
315
- const headerStyleMap = this.headerRow?.[0]?.cells?.reduce((headerStyles, headerCell) => {
316
- if (headerCell.horizontalAlign !== undefined && !headerCell._popin) {
317
- headerStyles[`--horizontal-align-${headerCell._individualSlot}`] = headerCell.horizontalAlign;
318
- }
319
- return headerStyles;
320
- }, {});
315
+ const headerStyleMap = {};
316
+ this.headerRow[0]?.cells.forEach(headerCell => {
317
+ headerStyleMap[`--halign-${headerCell._id}`] = headerCell.horizontalAlign || "normal";
318
+ });
321
319
  return {
322
320
  table: {
323
321
  "grid-template-columns": this._gridTemplateColumns,