@ui5/webcomponents 2.27.2 → 2.28.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. package/CHANGELOG.md +27 -3
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.d.ts +13 -7
  4. package/dist/Avatar.js +10 -6
  5. package/dist/Avatar.js.map +1 -1
  6. package/dist/AvatarGroup.d.ts +2 -2
  7. package/dist/AvatarGroup.js +3 -3
  8. package/dist/AvatarGroup.js.map +1 -1
  9. package/dist/Bar.d.ts +1 -1
  10. package/dist/Bar.js +1 -1
  11. package/dist/Bar.js.map +1 -1
  12. package/dist/Breadcrumbs.d.ts +2 -1
  13. package/dist/Breadcrumbs.js +2 -1
  14. package/dist/Breadcrumbs.js.map +1 -1
  15. package/dist/BreadcrumbsItem.d.ts +1 -1
  16. package/dist/BreadcrumbsItem.js +1 -1
  17. package/dist/BreadcrumbsItem.js.map +1 -1
  18. package/dist/BusyIndicator.d.ts +2 -2
  19. package/dist/BusyIndicator.js +1 -1
  20. package/dist/BusyIndicator.js.map +1 -1
  21. package/dist/Button.d.ts +4 -3
  22. package/dist/Button.js +3 -2
  23. package/dist/Button.js.map +1 -1
  24. package/dist/Calendar.d.ts +4 -1
  25. package/dist/Calendar.js +4 -1
  26. package/dist/Calendar.js.map +1 -1
  27. package/dist/CalendarLegend.d.ts +1 -0
  28. package/dist/CalendarLegend.js +1 -0
  29. package/dist/CalendarLegend.js.map +1 -1
  30. package/dist/Card.d.ts +4 -3
  31. package/dist/Card.js +1 -0
  32. package/dist/Card.js.map +1 -1
  33. package/dist/CardHeader.d.ts +1 -1
  34. package/dist/CardHeader.js +1 -1
  35. package/dist/CardHeader.js.map +1 -1
  36. package/dist/Carousel.d.ts +13 -13
  37. package/dist/Carousel.js +12 -12
  38. package/dist/Carousel.js.map +1 -1
  39. package/dist/CheckBox.d.ts +1 -1
  40. package/dist/CheckBox.js +1 -1
  41. package/dist/CheckBox.js.map +1 -1
  42. package/dist/ColorPalette.d.ts +9 -5
  43. package/dist/ColorPalette.js +12 -5
  44. package/dist/ColorPalette.js.map +1 -1
  45. package/dist/ColorPaletteItem.d.ts +2 -2
  46. package/dist/ColorPaletteItem.js +2 -2
  47. package/dist/ColorPaletteItem.js.map +1 -1
  48. package/dist/ColorPalettePopover.d.ts +2 -2
  49. package/dist/ColorPalettePopover.js +2 -2
  50. package/dist/ColorPalettePopover.js.map +1 -1
  51. package/dist/ColorPicker.d.ts +3 -1
  52. package/dist/ColorPicker.js +7 -1
  53. package/dist/ColorPicker.js.map +1 -1
  54. package/dist/ComboBox.d.ts +35 -7
  55. package/dist/ComboBox.js +134 -8
  56. package/dist/ComboBox.js.map +1 -1
  57. package/dist/ComboBoxItem.d.ts +1 -1
  58. package/dist/ComboBoxItem.js.map +1 -1
  59. package/dist/ComboBoxItemGroup.d.ts +1 -1
  60. package/dist/ComboBoxItemGroup.js +1 -1
  61. package/dist/ComboBoxItemGroup.js.map +1 -1
  62. package/dist/ComboBoxPopoverTemplate.js +43 -20
  63. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  64. package/dist/ComboBoxTemplate.js +4 -2
  65. package/dist/ComboBoxTemplate.js.map +1 -1
  66. package/dist/DateComponentBase.d.ts +3 -3
  67. package/dist/DateComponentBase.js +2 -2
  68. package/dist/DateComponentBase.js.map +1 -1
  69. package/dist/DatePicker.d.ts +5 -5
  70. package/dist/DatePicker.js +2 -2
  71. package/dist/DatePicker.js.map +1 -1
  72. package/dist/DateRangePicker.d.ts +1 -1
  73. package/dist/DateRangePicker.js +1 -1
  74. package/dist/DateRangePicker.js.map +1 -1
  75. package/dist/DateTimePicker.d.ts +1 -1
  76. package/dist/DateTimePicker.js +1 -1
  77. package/dist/DateTimePicker.js.map +1 -1
  78. package/dist/DayPicker.d.ts +1 -1
  79. package/dist/DayPicker.js +4 -3
  80. package/dist/DayPicker.js.map +1 -1
  81. package/dist/Dialog.d.ts +3 -3
  82. package/dist/Dialog.js +3 -3
  83. package/dist/Dialog.js.map +1 -1
  84. package/dist/FileUploader.d.ts +2 -2
  85. package/dist/FileUploader.js +1 -1
  86. package/dist/FileUploader.js.map +1 -1
  87. package/dist/Form.d.ts +2 -0
  88. package/dist/Form.js +2 -0
  89. package/dist/Form.js.map +1 -1
  90. package/dist/GridWalker.d.ts +1 -0
  91. package/dist/GridWalker.js +3 -0
  92. package/dist/GridWalker.js.map +1 -1
  93. package/dist/Input.d.ts +10 -6
  94. package/dist/Input.js +7 -3
  95. package/dist/Input.js.map +1 -1
  96. package/dist/InputIcon.d.ts +12 -1
  97. package/dist/InputIcon.js +15 -1
  98. package/dist/InputIcon.js.map +1 -1
  99. package/dist/Link.d.ts +17 -2
  100. package/dist/Link.js +16 -1
  101. package/dist/Link.js.map +1 -1
  102. package/dist/List.d.ts +9 -6
  103. package/dist/List.js +9 -6
  104. package/dist/List.js.map +1 -1
  105. package/dist/ListItem.d.ts +1 -1
  106. package/dist/ListItem.js +1 -1
  107. package/dist/ListItem.js.map +1 -1
  108. package/dist/ListItemBase.d.ts +1 -1
  109. package/dist/ListItemBase.js +1 -1
  110. package/dist/ListItemBase.js.map +1 -1
  111. package/dist/ListItemCustom.d.ts +1 -1
  112. package/dist/ListItemCustom.js.map +1 -1
  113. package/dist/ListItemStandard.d.ts +4 -4
  114. package/dist/ListItemStandard.js +1 -1
  115. package/dist/ListItemStandard.js.map +1 -1
  116. package/dist/Menu.d.ts +3 -0
  117. package/dist/Menu.js +3 -0
  118. package/dist/Menu.js.map +1 -1
  119. package/dist/MessageStrip.d.ts +3 -3
  120. package/dist/MessageStrip.js +3 -3
  121. package/dist/MessageStrip.js.map +1 -1
  122. package/dist/MonthPicker.js +1 -1
  123. package/dist/MonthPicker.js.map +1 -1
  124. package/dist/MultiComboBox.d.ts +7 -4
  125. package/dist/MultiComboBox.js +5 -2
  126. package/dist/MultiComboBox.js.map +1 -1
  127. package/dist/MultiInput.d.ts +1 -1
  128. package/dist/MultiInput.js +1 -1
  129. package/dist/MultiInput.js.map +1 -1
  130. package/dist/{NumberInput.d.ts → NumericInput.d.ts} +9 -9
  131. package/dist/{NumberInput.js → NumericInput.js} +50 -50
  132. package/dist/NumericInput.js.map +1 -0
  133. package/dist/NumericInputTemplate.d.ts +2 -0
  134. package/dist/{NumberInputTemplate.js → NumericInputTemplate.js} +6 -6
  135. package/dist/NumericInputTemplate.js.map +1 -0
  136. package/dist/Option.d.ts +1 -1
  137. package/dist/Option.js.map +1 -1
  138. package/dist/Panel.d.ts +3 -3
  139. package/dist/Panel.js +2 -2
  140. package/dist/Panel.js.map +1 -1
  141. package/dist/Popover.d.ts +13 -2
  142. package/dist/Popover.js +50 -3
  143. package/dist/Popover.js.map +1 -1
  144. package/dist/PopoverResize.d.ts +3 -0
  145. package/dist/PopoverResize.js +53 -23
  146. package/dist/PopoverResize.js.map +1 -1
  147. package/dist/PopoverTemplate.js +3 -1
  148. package/dist/PopoverTemplate.js.map +1 -1
  149. package/dist/Popup.d.ts +2 -2
  150. package/dist/Popup.js +2 -2
  151. package/dist/Popup.js.map +1 -1
  152. package/dist/ProgressIndicator.d.ts +1 -1
  153. package/dist/ProgressIndicator.js +1 -1
  154. package/dist/ProgressIndicator.js.map +1 -1
  155. package/dist/RadioButton.d.ts +1 -1
  156. package/dist/RadioButton.js +2 -2
  157. package/dist/RadioButton.js.map +1 -1
  158. package/dist/RangeSlider.d.ts +1 -1
  159. package/dist/RangeSlider.js +5 -4
  160. package/dist/RangeSlider.js.map +1 -1
  161. package/dist/RangeSliderTemplate.js +3 -3
  162. package/dist/RangeSliderTemplate.js.map +1 -1
  163. package/dist/RatingIndicator.d.ts +5 -5
  164. package/dist/RatingIndicator.js +4 -4
  165. package/dist/RatingIndicator.js.map +1 -1
  166. package/dist/ResponsivePopover.d.ts +2 -2
  167. package/dist/ResponsivePopover.js +2 -2
  168. package/dist/ResponsivePopover.js.map +1 -1
  169. package/dist/SegmentedButton.d.ts +2 -1
  170. package/dist/SegmentedButton.js +2 -1
  171. package/dist/SegmentedButton.js.map +1 -1
  172. package/dist/SegmentedButtonItem.d.ts +1 -1
  173. package/dist/SegmentedButtonItem.js.map +1 -1
  174. package/dist/Select.d.ts +7 -4
  175. package/dist/Select.js +5 -2
  176. package/dist/Select.js.map +1 -1
  177. package/dist/Slider.d.ts +2 -1
  178. package/dist/Slider.js +5 -1
  179. package/dist/Slider.js.map +1 -1
  180. package/dist/SliderBase.d.ts +1 -0
  181. package/dist/SliderBase.js +7 -1
  182. package/dist/SliderBase.js.map +1 -1
  183. package/dist/SliderHandle.d.ts +4 -0
  184. package/dist/SliderHandle.js +7 -0
  185. package/dist/SliderHandle.js.map +1 -1
  186. package/dist/SliderScale.d.ts +4 -0
  187. package/dist/SliderScale.js +13 -0
  188. package/dist/SliderScale.js.map +1 -1
  189. package/dist/SliderScaleTemplate.js +1 -1
  190. package/dist/SliderScaleTemplate.js.map +1 -1
  191. package/dist/SliderTemplate.js +1 -1
  192. package/dist/SliderTemplate.js.map +1 -1
  193. package/dist/StepInput.d.ts +8 -7
  194. package/dist/StepInput.js +6 -2
  195. package/dist/StepInput.js.map +1 -1
  196. package/dist/StepInputTemplate.js +2 -2
  197. package/dist/StepInputTemplate.js.map +1 -1
  198. package/dist/SuggestionItem.d.ts +1 -1
  199. package/dist/SuggestionItem.js.map +1 -1
  200. package/dist/SuggestionListItem.d.ts +1 -1
  201. package/dist/SuggestionListItem.js.map +1 -1
  202. package/dist/Switch.d.ts +1 -1
  203. package/dist/Switch.js +1 -1
  204. package/dist/Switch.js.map +1 -1
  205. package/dist/Tab.d.ts +1 -1
  206. package/dist/Tab.js +1 -1
  207. package/dist/Tab.js.map +1 -1
  208. package/dist/TabContainer.d.ts +4 -2
  209. package/dist/TabContainer.js +3 -1
  210. package/dist/TabContainer.js.map +1 -1
  211. package/dist/Table.d.ts +16 -3
  212. package/dist/Table.js +40 -4
  213. package/dist/Table.js.map +1 -1
  214. package/dist/TableGrowing.d.ts +1 -0
  215. package/dist/TableGrowing.js +12 -10
  216. package/dist/TableGrowing.js.map +1 -1
  217. package/dist/TableHeaderRow.d.ts +0 -6
  218. package/dist/TableHeaderRow.js +1 -19
  219. package/dist/TableHeaderRow.js.map +1 -1
  220. package/dist/TableHeaderRowTemplate.js +2 -12
  221. package/dist/TableHeaderRowTemplate.js.map +1 -1
  222. package/dist/TableNavigation.d.ts +1 -0
  223. package/dist/TableNavigation.js +7 -2
  224. package/dist/TableNavigation.js.map +1 -1
  225. package/dist/TableRow.js +2 -11
  226. package/dist/TableRow.js.map +1 -1
  227. package/dist/TableRowBase.d.ts +3 -7
  228. package/dist/TableRowBase.js +10 -26
  229. package/dist/TableRowBase.js.map +1 -1
  230. package/dist/TableRowTemplate.js +1 -3
  231. package/dist/TableRowTemplate.js.map +1 -1
  232. package/dist/TableSelection.d.ts +5 -6
  233. package/dist/TableSelection.js +28 -12
  234. package/dist/TableSelection.js.map +1 -1
  235. package/dist/TableSelectionBase.d.ts +15 -10
  236. package/dist/TableSelectionBase.js +33 -20
  237. package/dist/TableSelectionBase.js.map +1 -1
  238. package/dist/TableSelectionMulti.d.ts +5 -7
  239. package/dist/TableSelectionMulti.js +14 -10
  240. package/dist/TableSelectionMulti.js.map +1 -1
  241. package/dist/TableSelectionSingle.d.ts +3 -2
  242. package/dist/TableSelectionSingle.js +8 -2
  243. package/dist/TableSelectionSingle.js.map +1 -1
  244. package/dist/TableUtils.d.ts +3 -1
  245. package/dist/TableUtils.js +4 -1
  246. package/dist/TableUtils.js.map +1 -1
  247. package/dist/TextArea.d.ts +52 -5
  248. package/dist/TextArea.js +67 -6
  249. package/dist/TextArea.js.map +1 -1
  250. package/dist/TextAreaTemplate.js +2 -2
  251. package/dist/TextAreaTemplate.js.map +1 -1
  252. package/dist/TimePicker.d.ts +2 -2
  253. package/dist/TimePicker.js +1 -1
  254. package/dist/TimePicker.js.map +1 -1
  255. package/dist/Toast.d.ts +1 -1
  256. package/dist/Toast.js +1 -1
  257. package/dist/Toast.js.map +1 -1
  258. package/dist/Token.d.ts +2 -2
  259. package/dist/Token.js +1 -1
  260. package/dist/Token.js.map +1 -1
  261. package/dist/Tokenizer.d.ts +1 -0
  262. package/dist/Tokenizer.js +18 -1
  263. package/dist/Tokenizer.js.map +1 -1
  264. package/dist/Toolbar.d.ts +6 -0
  265. package/dist/Toolbar.js +6 -0
  266. package/dist/Toolbar.js.map +1 -1
  267. package/dist/Tree.d.ts +3 -1
  268. package/dist/Tree.js +5 -3
  269. package/dist/Tree.js.map +1 -1
  270. package/dist/TreeItem.d.ts +2 -2
  271. package/dist/TreeItem.js +1 -1
  272. package/dist/TreeItem.js.map +1 -1
  273. package/dist/TreeItemBase.d.ts +3 -3
  274. package/dist/TreeItemBase.js +3 -3
  275. package/dist/TreeItemBase.js.map +1 -1
  276. package/dist/YearPicker.js +1 -1
  277. package/dist/YearPicker.js.map +1 -1
  278. package/dist/bundle.esm.js +1 -1
  279. package/dist/bundle.esm.js.map +1 -1
  280. package/dist/css/themes/Avatar.css +1 -1
  281. package/dist/css/themes/AvatarGroup.css +1 -1
  282. package/dist/css/themes/ComboBox.css +1 -1
  283. package/dist/css/themes/ComboBoxPopover.css +1 -1
  284. package/dist/css/themes/FileUploader.css +1 -1
  285. package/dist/css/themes/Input.css +1 -1
  286. package/dist/css/themes/MultiComboBox.css +1 -1
  287. package/dist/css/themes/NumericInput.css +1 -0
  288. package/dist/css/themes/Popover.css +1 -1
  289. package/dist/css/themes/RatingIndicator.css +1 -1
  290. package/dist/css/themes/Select.css +1 -1
  291. package/dist/css/themes/SliderHandle.css +1 -1
  292. package/dist/css/themes/SliderScale.css +1 -1
  293. package/dist/css/themes/SplitButton.css +1 -1
  294. package/dist/css/themes/TextArea.css +1 -1
  295. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -2
  296. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -2
  297. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -2
  298. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -2
  299. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  300. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +786 -513
  301. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  302. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +742 -494
  303. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  304. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  305. package/dist/custom-elements-internal.json +2708 -259
  306. package/dist/custom-elements.json +2394 -98
  307. package/dist/features/ColorPaletteMoreColorsTemplate.js +1 -1
  308. package/dist/features/ColorPaletteMoreColorsTemplate.js.map +1 -1
  309. package/dist/features/ComboBoxLazyLoading.d.ts +26 -0
  310. package/dist/features/ComboBoxLazyLoading.js +48 -0
  311. package/dist/features/ComboBoxLazyLoading.js.map +1 -0
  312. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  358. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  360. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  361. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  362. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  363. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  364. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  365. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  366. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  367. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  368. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  369. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  370. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  371. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  372. package/dist/generated/i18n/i18n-defaults.d.ts +9 -1
  373. package/dist/generated/i18n/i18n-defaults.js +10 -2
  374. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  375. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  376. package/dist/generated/themes/Avatar.css.js +1 -1
  377. package/dist/generated/themes/Avatar.css.js.map +1 -1
  378. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  379. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  380. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  381. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  382. package/dist/generated/themes/ComboBox.css.js +1 -1
  383. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  384. package/dist/generated/themes/ComboBoxPopover.css.d.ts +1 -1
  385. package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
  386. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
  387. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  388. package/dist/generated/themes/FileUploader.css.js +1 -1
  389. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  390. package/dist/generated/themes/Input.css.d.ts +1 -1
  391. package/dist/generated/themes/Input.css.js +1 -1
  392. package/dist/generated/themes/Input.css.js.map +1 -1
  393. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  394. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  395. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  396. package/dist/generated/themes/NumericInput.css.d.ts +2 -0
  397. package/dist/generated/themes/NumericInput.css.js +8 -0
  398. package/dist/generated/themes/NumericInput.css.js.map +1 -0
  399. package/dist/generated/themes/Popover.css.d.ts +1 -1
  400. package/dist/generated/themes/Popover.css.js +1 -1
  401. package/dist/generated/themes/Popover.css.js.map +1 -1
  402. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  403. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  404. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  405. package/dist/generated/themes/Select.css.d.ts +1 -1
  406. package/dist/generated/themes/Select.css.js +1 -1
  407. package/dist/generated/themes/Select.css.js.map +1 -1
  408. package/dist/generated/themes/SliderHandle.css.d.ts +1 -1
  409. package/dist/generated/themes/SliderHandle.css.js +1 -1
  410. package/dist/generated/themes/SliderHandle.css.js.map +1 -1
  411. package/dist/generated/themes/SliderScale.css.d.ts +1 -1
  412. package/dist/generated/themes/SliderScale.css.js +1 -1
  413. package/dist/generated/themes/SliderScale.css.js.map +1 -1
  414. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  415. package/dist/generated/themes/SplitButton.css.js +1 -1
  416. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  417. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  418. package/dist/generated/themes/TextArea.css.js +1 -1
  419. package/dist/generated/themes/TextArea.css.js.map +1 -1
  420. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  421. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -2
  422. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  423. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  424. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -2
  425. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  426. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  427. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -2
  428. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  429. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  430. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -2
  431. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  432. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  433. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  434. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  435. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  436. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +786 -513
  437. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  438. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  439. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  440. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  441. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  442. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +742 -494
  443. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  444. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  445. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  446. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  447. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  448. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  449. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  450. package/dist/types/ButtonAccessibleRole.d.ts +1 -1
  451. package/dist/types/ButtonAccessibleRole.js +1 -1
  452. package/dist/types/ButtonAccessibleRole.js.map +1 -1
  453. package/dist/types/TableSelectionBehavior.d.ts +1 -1
  454. package/dist/types/TableSelectionBehavior.js +1 -1
  455. package/dist/types/TableSelectionBehavior.js.map +1 -1
  456. package/dist/types/TableSelectionMultiHeaderSelector.d.ts +1 -1
  457. package/dist/types/TableSelectionMultiHeaderSelector.js +1 -1
  458. package/dist/types/TableSelectionMultiHeaderSelector.js.map +1 -1
  459. package/dist/types/TextAreaCounterMode.d.ts +27 -0
  460. package/dist/types/TextAreaCounterMode.js +29 -0
  461. package/dist/types/TextAreaCounterMode.js.map +1 -0
  462. package/dist/vscode.html-custom-data.json +22 -8
  463. package/dist/web-types.json +44 -13
  464. package/package.json +9 -9
  465. package/src/ComboBoxPopoverTemplate.tsx +140 -106
  466. package/src/ComboBoxTemplate.tsx +4 -2
  467. package/src/{NumberInputTemplate.tsx → NumericInputTemplate.tsx} +6 -6
  468. package/src/PopoverTemplate.tsx +19 -0
  469. package/src/RangeSliderTemplate.tsx +3 -0
  470. package/src/SliderScaleTemplate.tsx +1 -1
  471. package/src/SliderTemplate.tsx +1 -0
  472. package/src/StepInputTemplate.tsx +3 -3
  473. package/src/TableHeaderRowTemplate.tsx +1 -26
  474. package/src/TableRowTemplate.tsx +1 -9
  475. package/src/TableSelection.tsx +464 -0
  476. package/src/TableSelectionMulti.tsx +396 -0
  477. package/src/TableSelectionSingle.tsx +91 -0
  478. package/src/TextAreaTemplate.tsx +2 -2
  479. package/src/features/ColorPaletteMoreColorsTemplate.tsx +1 -1
  480. package/src/i18n/messagebundle.properties +25 -1
  481. package/src/i18n/messagebundle_ar.properties +1 -1
  482. package/src/i18n/messagebundle_bg.properties +1 -1
  483. package/src/i18n/messagebundle_ca.properties +1 -1
  484. package/src/i18n/messagebundle_cnr.properties +1 -1
  485. package/src/i18n/messagebundle_cy.properties +1 -1
  486. package/src/i18n/messagebundle_da.properties +1 -1
  487. package/src/i18n/messagebundle_de.properties +1 -1
  488. package/src/i18n/messagebundle_el.properties +1 -1
  489. package/src/i18n/messagebundle_en.properties +1 -1
  490. package/src/i18n/messagebundle_en_GB.properties +1 -1
  491. package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
  492. package/src/i18n/messagebundle_en_US_saprigi.properties +1 -1
  493. package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
  494. package/src/i18n/messagebundle_es.properties +1 -1
  495. package/src/i18n/messagebundle_es_MX.properties +1 -1
  496. package/src/i18n/messagebundle_et.properties +1 -1
  497. package/src/i18n/messagebundle_fi.properties +1 -1
  498. package/src/i18n/messagebundle_fr.properties +1 -1
  499. package/src/i18n/messagebundle_fr_CA.properties +1 -1
  500. package/src/i18n/messagebundle_hi.properties +1 -1
  501. package/src/i18n/messagebundle_hr.properties +1 -1
  502. package/src/i18n/messagebundle_hu.properties +1 -1
  503. package/src/i18n/messagebundle_id.properties +1 -1
  504. package/src/i18n/messagebundle_it.properties +1 -1
  505. package/src/i18n/messagebundle_iw.properties +1 -1
  506. package/src/i18n/messagebundle_ja.properties +1 -1
  507. package/src/i18n/messagebundle_kk.properties +1 -1
  508. package/src/i18n/messagebundle_ko.properties +1 -1
  509. package/src/i18n/messagebundle_lt.properties +1 -1
  510. package/src/i18n/messagebundle_lv.properties +1 -1
  511. package/src/i18n/messagebundle_mk.properties +1 -1
  512. package/src/i18n/messagebundle_ms.properties +1 -1
  513. package/src/i18n/messagebundle_nl.properties +1 -1
  514. package/src/i18n/messagebundle_no.properties +1 -1
  515. package/src/i18n/messagebundle_pl.properties +1 -1
  516. package/src/i18n/messagebundle_pt.properties +2 -2
  517. package/src/i18n/messagebundle_pt_PT.properties +1 -1
  518. package/src/i18n/messagebundle_ro.properties +1 -1
  519. package/src/i18n/messagebundle_ru.properties +1 -1
  520. package/src/i18n/messagebundle_sh.properties +1 -1
  521. package/src/i18n/messagebundle_sk.properties +1 -1
  522. package/src/i18n/messagebundle_sl.properties +1 -1
  523. package/src/i18n/messagebundle_sr.properties +1 -1
  524. package/src/i18n/messagebundle_sv.properties +1 -1
  525. package/src/i18n/messagebundle_th.properties +1 -1
  526. package/src/i18n/messagebundle_tr.properties +1 -1
  527. package/src/i18n/messagebundle_uk.properties +1 -1
  528. package/src/i18n/messagebundle_vi.properties +1 -1
  529. package/src/i18n/messagebundle_zh_CN.properties +1 -1
  530. package/src/i18n/messagebundle_zh_TW.properties +1 -1
  531. package/src/themes/Avatar.css +1 -0
  532. package/src/themes/AvatarGroup.css +21 -0
  533. package/src/themes/ComboBox.css +5 -0
  534. package/src/themes/ComboBoxPopover.css +6 -0
  535. package/src/themes/Input.css +1 -1
  536. package/src/themes/{NumberInput.css → NumericInput.css} +63 -58
  537. package/src/themes/Popover.css +47 -14
  538. package/src/themes/RatingIndicator.css +1 -0
  539. package/src/themes/SliderHandle.css +12 -7
  540. package/src/themes/SliderScale.css +4 -2
  541. package/src/themes/SplitButton.css +4 -1
  542. package/src/themes/TextArea.css +17 -1
  543. package/src/themes/base/NumericInput-parameters.css +31 -0
  544. package/src/themes/base/Popover-parameters.css +5 -0
  545. package/src/themes/base/sizes-parameters.css +3 -3
  546. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
  547. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  548. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  549. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  550. package/src/themes/sap_horizon/AvatarGroup-parameters.css +7 -19
  551. package/src/themes/sap_horizon/NumericInput-parameters.css +26 -0
  552. package/src/themes/sap_horizon/parameters-bundle.css +1 -1
  553. package/src/themes/sap_horizon_dark/NumericInput-parameters.css +26 -0
  554. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  555. package/src/themes/sap_horizon_hcb/NumericInput-parameters.css +14 -0
  556. package/src/themes/sap_horizon_hcb/parameters-bundle.css +2 -2
  557. package/src/themes/sap_horizon_hcw/NumericInput-parameters.css +14 -0
  558. package/src/themes/sap_horizon_hcw/parameters-bundle.css +2 -2
  559. package/dist/NumberInput.js.map +0 -1
  560. package/dist/NumberInputTemplate.d.ts +0 -2
  561. package/dist/NumberInputTemplate.js.map +0 -1
  562. package/dist/css/themes/NumberInput.css +0 -1
  563. package/dist/generated/themes/NumberInput.css.d.ts +0 -2
  564. package/dist/generated/themes/NumberInput.css.js +0 -8
  565. package/dist/generated/themes/NumberInput.css.js.map +0 -1
  566. package/src/themes/base/NumberInput-parameters.css +0 -31
  567. package/src/themes/sap_horizon/NumberInput-parameters.css +0 -26
  568. package/src/themes/sap_horizon_dark/NumberInput-parameters.css +0 -26
  569. package/src/themes/sap_horizon_hcb/NumberInput-parameters.css +0 -14
  570. package/src/themes/sap_horizon_hcw/NumberInput-parameters.css +0 -14
@@ -33,7 +33,7 @@ type MultiInputTokenDeleteEventDetail = {
33
33
  * `import "@ui5/webcomponents/dist/MultiInput.js";`
34
34
  * @constructor
35
35
  * @extends Input
36
- * @since 1.0.0-rc.9
36
+ * @since 1.0.0
37
37
  * @public
38
38
  */
39
39
  declare class MultiInput extends Input implements IFormInputElement {
@@ -34,7 +34,7 @@ import { getTokensCountText } from "./Tokenizer.js";
34
34
  * `import "@ui5/webcomponents/dist/MultiInput.js";`
35
35
  * @constructor
36
36
  * @extends Input
37
- * @since 1.0.0-rc.9
37
+ * @since 1.0.0
38
38
  * @public
39
39
  */
40
40
  let MultiInput = MultiInput_1 = class MultiInput extends Input {
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":";;;;;;;AACA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,WAAW,EACX,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,GACT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAGjE,OAAO,EACN,+BAA+B,EAC/B,2BAA2B,EAC3B,qBAAqB,EACrB,6BAA6B,EAC7B,8BAA8B,GAC9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,MAAM,MAAM,sCAAsC,CAAC;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAmBpD;;;;;;;;;;;;;;;;;;;GAmBG;AA0BH,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,KAAK;IA6D7B,IAAI,mBAAmB;QACtB,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,YAAY;QACf,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAEnC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACzE,CAAC;IAED,IAAI,kBAAkB;QACrB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAEnC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAEhC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QArFT;;;;;WAKG;QAEH,sBAAiB,GAAG,KAAK,CAAC;QAE1B;;;;WAIG;QAEH,uBAAkB,GAAG,KAAK,CAAC;QAc3B;;;;WAIG;QAEH,6BAAwB,GAAG,KAAK,CAAC;QAEjC;;;;WAIG;QAEH,2BAAsB,GAAG,KAAK,CAAC;QA4C9B,gCAAgC;QAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,cAAc;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,CAA+C;QAC1D,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC;QAEtG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAEnE,IAAI,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,CAAa;QAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,kBAAkB,CAAC,CAAa;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,aAA4B,CAAC,EAAE,CAAC;YAClH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,gBAAgB;QACf,UAAU,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACpC,CAAC,EAAE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC,CAAC;QAEnE,IAAI,iBAAiB,EAAE,CAAC;YACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,yDAAyD;YAC3F,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;QACR,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,mBAAmB,CAAC,CAAgB;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;YACtD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAE9C,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACxG,UAAU,CAAC,GAAG,EAAE;oBACf,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,CAAC,EAAE,CAAC,CAAC,CAAC;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAED,WAAW,CAAC,CAAgB;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,cAAc,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7D,+FAA+F;QAC/F,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;YACrF,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,WAAW,CAAC,YAAoB;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,KAAK,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7D,0DAA0D;QAC1D,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAE9C,IAAI,UAAU,EAAE,CAAC;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,WAAW,CAAC,CAAa;QACxB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,aAAa,GAAG,CAAC,CAAC,aAA4B,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEjE,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEpF,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,CAAC;IACF,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,CAAa;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAG,CAAC,CAAC,aAAa,YAAY,WAAW,IAAI,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE5G,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,eAAe,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACF,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAExC,oFAAoF;YACpF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACpF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,sBAAsB;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,gEAAgE;YAChE,0DAA0D;YAC1D,IAAI,OAAO,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YAEpC,0DAA0D;YAC1D,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB;QACf,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAC3C,CAAC;IAED,IAAI,UAAU;QACb,OAAO,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAY,iBAAiB,CAAE,CAAC;IACtE,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAClD,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,2BAA2B;QAC9B,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACV,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,kCAAkC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;QACnL,OAAO;YACN,GAAG,KAAK,CAAC,OAAO;YAChB,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;YAC/C,iBAAiB,EAAE,eAAe;SAClC,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,iBAAiB;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,kCAAkC;QACrC,OAAO,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC1G,CAAC;IAED;;;OAGG;IACH,IAAI,iCAAiC;QACpC,8CAA8C;QAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACd,CAAC;QAED,wFAAwF;QACxF,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACtC,CAAC;CACD,CAAA;AAtZA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACF;AAQ1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACD;AAYnB;IADP,QAAQ,EAAE;wCACW;AAQtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4DACK;AAQjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACG;AAO/B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;0CAC7B;AAvDjB,UAAU;IAzBf,aAAa,CAAC;QACd,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF;;;;OAIG;;IACF,KAAK,CAAC,oBAAoB,EAAE;QAC5B,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,cAAc,EAAE;QACtB,OAAO,EAAE,IAAI;KACb,CAAC;GAEI,UAAU,CAkaf;AAED,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,eAAe,UAAU,CAAC","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n\tisEnter,\n\tisTabNext,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tMULTIINPUT_ROLEDESCRIPTION_TEXT,\n\tMULTIINPUT_VALUE_HELP_LABEL,\n\tMULTIINPUT_VALUE_HELP,\n\tFORM_MIXED_TEXTFIELD_REQUIRED,\n\tMULTIINPUT_FILTER_BUTTON_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./MultiInputTemplate.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport type Token from \"./Token.js\";\nimport type Tokenizer from \"./Tokenizer.js\";\nimport { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ninterface IToken extends UI5Element, ITabbable {\n\ttext?: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: jsxRenderer,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\teventDetails!: Input[\"eventDetails\"] & {\n\t\t\"value-help-trigger\": void,\n\t\t\"token-delete\": MultiInputTokenDeleteEventDetail,\n\t}\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon = false;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable = false;\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 * **Note:** When the component is used inside a form element,\n\t * the value is sent as the first element in the form data, even if it's empty.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdeclare name?: string;\n\n\t/**\n\t * Indicates whether to show tokens in suggestions popover\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_showTokensInSuggestions = false;\n\n\t/**\n\t * Tracks whether user has explicitly toggled the show tokens state\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_userToggledShowTokens = false;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\ttokens!: Slot<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\t_focusInTokenizer: boolean;\n\n\tget formValidityMessage() {\n\t\treturn MultiInput.i18nBundle.getText(FORM_MIXED_TEXTFIELD_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst tokens = (this.tokens || []);\n\n\t\treturn { valueMissing: this.required && !this.value && !tokens.length };\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\tconst tokens = (this.tokens || []);\n\n\t\tif (tokens.length && this.name) {\n\t\t\tconst formData = new FormData();\n\n\t\t\tformData.append(this.name, this.value);\n\n\t\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\t\tformData.append(this.name, (tokens[i].text || \"\"));\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t\tthis._focusInTokenizer = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireDecoratorEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst deletedTokens = e.detail.tokens;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (deletedTokens) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: deletedTokens });\n\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\te.preventDefault();\n\t\tthis.focus();\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t}\n\t\tthis._focusInTokenizer = false;\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.focused = true;\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t\tthis.tokenizer.expanded = true;\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_showMoreItemsPress() {\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t!this._isComposing && super._onkeydown(e);\n\t\tthis._isKeyNavigation = true;\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tif (isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleBackspace(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif ((isEnter(e) || isTabNext(e)) && this.previousValue !== this.value) {\n\t\t\tthis._handleChange();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.valueHelpPress();\n\t\t}\n\n\t\tthis._isKeyNavigation = false;\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tthis._focusToken(lastToken);\n\t\t}\n\t}\n\n\t_focusToken(tokenToFocus: IToken) {\n\t\tthis._focusInTokenizer = true;\n\t\ttokenToFocus.focus();\n\t\tthis.tokenizer._itemNav.setCurrentItem(tokenToFocus);\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_handleChange() {\n\t\tif (this._focusInTokenizer) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper._handleChange();\n\t}\n\n\t_handleBackspace(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// Only move focus to the last token if the input is empty\n\t\tif (!this.value && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tthis._focusToken(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\t\t\tthis._focusToken(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tconst hasTokenToBeDeleted = this.tokenizer._tokens.some(token => token.toBeDeleted);\n\n\t\tif (!insideDOM && !insideShadowDom && !hasTokenToBeDeleted) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\n\t\tif (this.contains(relatedTarget) && relatedTarget.hasAttribute(\"ui5-token\")) {\n\t\t\tthis.focused = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\t\tconst wasTokenFocused = e.relatedTarget instanceof HTMLElement && e.relatedTarget.hasAttribute(\"ui5-token\");\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tif (wasTokenFocused) {\n\t\t\t\tthis.focused = true;\n\t\t\t\tthis.open = true;\n\t\t\t\tthis._inputIconFocused = false;\n\t\t\t\tthis._focusedAfterClear = false;\n\t\t\t} else {\n\t\t\t\tsuper._onfocusin(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(\"--_ui5-input-icons-count\", `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\n\t\tif (this.tokenizer) {\n\t\t\tthis.tokenizer.readonly = this.readonly;\n\n\t\t\t// Set the CSS variable on the tokenizer element so it's available in the shadow DOM\n\t\t\tthis.tokenizer.style.setProperty(\"--_ui5-input-icons-count\", `${this.iconsCount}`);\n\t\t}\n\t}\n\n\t/**\n\t * Override the _handlePickerAfterOpen method to handle token display based on device type\n\t */\n\t_handlePickerAfterOpen() {\n\t\tif (this.tokens.length > 0) {\n\t\t\t// On mobile: show tokens by default (for filter dialog feature)\n\t\t\t// On desktop: keep showing suggestions (default behavior)\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._showTokensInSuggestions = true;\n\t\t\t}\n\t\t\tthis._userToggledShowTokens = false;\n\n\t\t\t// Expand tokenizer to show all tokens and prevent cut-off\n\t\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t\t\tthis.tokenizer.expanded = true;\n\t\t}\n\n\t\tsuper._handlePickerAfterOpen();\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\treturn getTokensCountText(this.tokens.length);\n\t}\n\n\tget _valueHelpText() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP);\n\t}\n\n\tget _filterButtonAccessibleName() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_FILTER_BUTTON_LABEL);\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\tget _valueHelpTextId() {\n\t\treturn this.showValueHelpIcon ? `hiddenText-value-help` : \"\";\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId} ${this._valueStateLinksShortcutsTextAccId} ${this._valueHelpTextId}`.trim();\n\t\treturn {\n\t\t\t...super.accInfo,\n\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t};\n\t}\n\n\tget valueHelpLabel() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP_LABEL);\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n\n\t/**\n\t * Computes the effective state for showing tokens in suggestions.\n\t * Returns false (show suggestions) by default, true only when explicitly set.\n\t */\n\tget _effectiveShowTokensInSuggestions() {\n\t\t// If no tokens exist, always show suggestions\n\t\tif (this.tokens.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Return the current state (will be true on mobile after picker opens, false otherwise)\n\t\treturn this._showTokensInSuggestions;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n\tisEnter,\n\tisTabNext,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tMULTIINPUT_ROLEDESCRIPTION_TEXT,\n\tMULTIINPUT_VALUE_HELP_LABEL,\n\tMULTIINPUT_VALUE_HELP,\n\tFORM_MIXED_TEXTFIELD_REQUIRED,\n\tMULTIINPUT_FILTER_BUTTON_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./MultiInputTemplate.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport type Token from \"./Token.js\";\nimport type Tokenizer from \"./Tokenizer.js\";\nimport { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ninterface IToken extends UI5Element, ITabbable {\n\ttext?: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: jsxRenderer,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\teventDetails!: Input[\"eventDetails\"] & {\n\t\t\"value-help-trigger\": void,\n\t\t\"token-delete\": MultiInputTokenDeleteEventDetail,\n\t}\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon = false;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable = false;\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 * **Note:** When the component is used inside a form element,\n\t * the value is sent as the first element in the form data, even if it's empty.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdeclare name?: string;\n\n\t/**\n\t * Indicates whether to show tokens in suggestions popover\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_showTokensInSuggestions = false;\n\n\t/**\n\t * Tracks whether user has explicitly toggled the show tokens state\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_userToggledShowTokens = false;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\ttokens!: Slot<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\t_focusInTokenizer: boolean;\n\n\tget formValidityMessage() {\n\t\treturn MultiInput.i18nBundle.getText(FORM_MIXED_TEXTFIELD_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst tokens = (this.tokens || []);\n\n\t\treturn { valueMissing: this.required && !this.value && !tokens.length };\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\tconst tokens = (this.tokens || []);\n\n\t\tif (tokens.length && this.name) {\n\t\t\tconst formData = new FormData();\n\n\t\t\tformData.append(this.name, this.value);\n\n\t\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\t\tformData.append(this.name, (tokens[i].text || \"\"));\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t\tthis._focusInTokenizer = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireDecoratorEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst deletedTokens = e.detail.tokens;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (deletedTokens) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: deletedTokens });\n\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\te.preventDefault();\n\t\tthis.focus();\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t}\n\t\tthis._focusInTokenizer = false;\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.focused = true;\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t\tthis.tokenizer.expanded = true;\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_showMoreItemsPress() {\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t!this._isComposing && super._onkeydown(e);\n\t\tthis._isKeyNavigation = true;\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tif (isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleBackspace(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif ((isEnter(e) || isTabNext(e)) && this.previousValue !== this.value) {\n\t\t\tthis._handleChange();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.valueHelpPress();\n\t\t}\n\n\t\tthis._isKeyNavigation = false;\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tthis._focusToken(lastToken);\n\t\t}\n\t}\n\n\t_focusToken(tokenToFocus: IToken) {\n\t\tthis._focusInTokenizer = true;\n\t\ttokenToFocus.focus();\n\t\tthis.tokenizer._itemNav.setCurrentItem(tokenToFocus);\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_handleChange() {\n\t\tif (this._focusInTokenizer) {\n\t\t\treturn;\n\t\t}\n\n\t\tsuper._handleChange();\n\t}\n\n\t_handleBackspace(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// Only move focus to the last token if the input is empty\n\t\tif (!this.value && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tthis._focusToken(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\t\t\tthis._focusToken(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tconst hasTokenToBeDeleted = this.tokenizer._tokens.some(token => token.toBeDeleted);\n\n\t\tif (!insideDOM && !insideShadowDom && !hasTokenToBeDeleted) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\n\t\tif (this.contains(relatedTarget) && relatedTarget.hasAttribute(\"ui5-token\")) {\n\t\t\tthis.focused = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\t\tconst wasTokenFocused = e.relatedTarget instanceof HTMLElement && e.relatedTarget.hasAttribute(\"ui5-token\");\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tif (wasTokenFocused) {\n\t\t\t\tthis.focused = true;\n\t\t\t\tthis.open = true;\n\t\t\t\tthis._inputIconFocused = false;\n\t\t\t\tthis._focusedAfterClear = false;\n\t\t\t} else {\n\t\t\t\tsuper._onfocusin(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(\"--_ui5-input-icons-count\", `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\n\t\tif (this.tokenizer) {\n\t\t\tthis.tokenizer.readonly = this.readonly;\n\n\t\t\t// Set the CSS variable on the tokenizer element so it's available in the shadow DOM\n\t\t\tthis.tokenizer.style.setProperty(\"--_ui5-input-icons-count\", `${this.iconsCount}`);\n\t\t}\n\t}\n\n\t/**\n\t * Override the _handlePickerAfterOpen method to handle token display based on device type\n\t */\n\t_handlePickerAfterOpen() {\n\t\tif (this.tokens.length > 0) {\n\t\t\t// On mobile: show tokens by default (for filter dialog feature)\n\t\t\t// On desktop: keep showing suggestions (default behavior)\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._showTokensInSuggestions = true;\n\t\t\t}\n\t\t\tthis._userToggledShowTokens = false;\n\n\t\t\t// Expand tokenizer to show all tokens and prevent cut-off\n\t\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t\t\tthis.tokenizer.expanded = true;\n\t\t}\n\n\t\tsuper._handlePickerAfterOpen();\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\treturn getTokensCountText(this.tokens.length);\n\t}\n\n\tget _valueHelpText() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP);\n\t}\n\n\tget _filterButtonAccessibleName() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_FILTER_BUTTON_LABEL);\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\tget _valueHelpTextId() {\n\t\treturn this.showValueHelpIcon ? `hiddenText-value-help` : \"\";\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId} ${this._valueStateLinksShortcutsTextAccId} ${this._valueHelpTextId}`.trim();\n\t\treturn {\n\t\t\t...super.accInfo,\n\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t};\n\t}\n\n\tget valueHelpLabel() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP_LABEL);\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n\n\t/**\n\t * Computes the effective state for showing tokens in suggestions.\n\t * Returns false (show suggestions) by default, true only when explicitly set.\n\t */\n\tget _effectiveShowTokensInSuggestions() {\n\t\t// If no tokens exist, always show suggestions\n\t\tif (this.tokens.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Return the current state (will be true on mobile after picker opens, false otherwise)\n\t\treturn this._showTokensInSuggestions;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
@@ -10,7 +10,7 @@ import type Input from "./Input.js";
10
10
  import type { InputAccInfo, InputEventDetail } from "./Input.js";
11
11
  import InputType from "./types/InputType.js";
12
12
  import NumberFormat from "@ui5/webcomponents-localization/dist/NumberFormat.js";
13
- type NumberInputValueStateChangeEventDetail = {
13
+ type NumericInputValueStateChangeEventDetail = {
14
14
  valueState: `${ValueState}`;
15
15
  valid: boolean;
16
16
  };
@@ -19,13 +19,13 @@ type NumberInputValueStateChangeEventDetail = {
19
19
  *
20
20
  * ### Overview
21
21
  *
22
- * The `ui5-number-input` component is a numeric input field. It allows users to enter, edit and select numeric values.
22
+ * The `ui5-numeric-input` component is a numeric input field. It allows users to enter, edit and select numeric values.
23
23
  *
24
24
  * ### Usage
25
25
  *
26
26
  * The default step is 1 but the app developer can set a different one.
27
27
  *
28
- * App developers can set a maximum and minimum value for `ui5-number-input`.
28
+ * App developers can set a maximum and minimum value for `ui5-numeric-input`.
29
29
  * The increase/decrease button and the up/down keyboard navigation become disabled when
30
30
  * the value reaches the max/min or a new value is entered from the input which is greater/less than the max/min.
31
31
  *
@@ -42,18 +42,18 @@ type NumberInputValueStateChangeEventDetail = {
42
42
  *
43
43
  * ### ES6 Module Import
44
44
  *
45
- * `import "@ui5/webcomponents/dist/NumberInput.js";`
45
+ * `import "@ui5/webcomponents/dist/NumericInput.js";`
46
46
  * @constructor
47
47
  * @extends UI5Element
48
- * @since 2.27.0
48
+ * @since 2.28.0
49
49
  * @experimental
50
50
  * @public
51
51
  */
52
- declare class NumberInput extends UI5Element implements IFormInputElement {
52
+ declare class NumericInput extends UI5Element implements IFormInputElement {
53
53
  eventDetails: {
54
54
  change: void;
55
55
  input: InputEventDetail;
56
- "value-state-change": NumberInputValueStateChangeEventDetail;
56
+ "value-state-change": NumericInputValueStateChangeEventDetail;
57
57
  "_request-submit": void;
58
58
  };
59
59
  /**
@@ -267,5 +267,5 @@ declare class NumberInput extends UI5Element implements IFormInputElement {
267
267
  */
268
268
  _resetSpinOut(): void;
269
269
  }
270
- export default NumberInput;
271
- export type { NumberInputValueStateChangeEventDetail, };
270
+ export default NumericInput;
271
+ export type { NumericInputValueStateChangeEventDetail, };
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var NumberInput_1;
7
+ var NumericInput_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
@@ -16,14 +16,14 @@ 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, getAssociatedLabelForTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
18
18
  import { submitForm } from "@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js";
19
- import NumberInputTemplate from "./NumberInputTemplate.js";
19
+ import NumericInputTemplate from "./NumericInputTemplate.js";
20
20
  import { NUMBERINPUT_DEC_ICON_TITLE, NUMBERINPUT_INC_ICON_TITLE, NUMBERINPUT_PATTERN_MISSMATCH, NUMBERINPUT_RANGEOVERFLOW, NUMBERINPUT_RANGEUNDERFLOW, } from "./generated/i18n/i18n-defaults.js";
21
21
  import "@ui5/webcomponents-icons/dist/less.js";
22
22
  import "@ui5/webcomponents-icons/dist/add.js";
23
23
  import InputType from "./types/InputType.js";
24
24
  import NumberFormat from "@ui5/webcomponents-localization/dist/NumberFormat.js";
25
25
  // Styles
26
- import NumberInputCss from "./generated/themes/NumberInput.css.js";
26
+ import NumericInputCss from "./generated/themes/NumericInput.css.js";
27
27
  import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
28
28
  import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
29
29
  import { attachLanguageChange, detachLanguageChange } from "@ui5/webcomponents-base/dist/locale/languageChange.js";
@@ -37,13 +37,13 @@ const INITIAL_SPEED = 120; // milliseconds
37
37
  *
38
38
  * ### Overview
39
39
  *
40
- * The `ui5-number-input` component is a numeric input field. It allows users to enter, edit and select numeric values.
40
+ * The `ui5-numeric-input` component is a numeric input field. It allows users to enter, edit and select numeric values.
41
41
  *
42
42
  * ### Usage
43
43
  *
44
44
  * The default step is 1 but the app developer can set a different one.
45
45
  *
46
- * App developers can set a maximum and minimum value for `ui5-number-input`.
46
+ * App developers can set a maximum and minimum value for `ui5-numeric-input`.
47
47
  * The increase/decrease button and the up/down keyboard navigation become disabled when
48
48
  * the value reaches the max/min or a new value is entered from the input which is greater/less than the max/min.
49
49
  *
@@ -60,14 +60,14 @@ const INITIAL_SPEED = 120; // milliseconds
60
60
  *
61
61
  * ### ES6 Module Import
62
62
  *
63
- * `import "@ui5/webcomponents/dist/NumberInput.js";`
63
+ * `import "@ui5/webcomponents/dist/NumericInput.js";`
64
64
  * @constructor
65
65
  * @extends UI5Element
66
- * @since 2.27.0
66
+ * @since 2.28.0
67
67
  * @experimental
68
68
  * @public
69
69
  */
70
- let NumberInput = NumberInput_1 = class NumberInput extends UI5Element {
70
+ let NumericInput = NumericInput_1 = class NumericInput extends UI5Element {
71
71
  constructor() {
72
72
  super(...arguments);
73
73
  /**
@@ -133,13 +133,13 @@ let NumberInput = NumberInput_1 = class NumberInput extends UI5Element {
133
133
  get formValidityMessage() {
134
134
  const validity = this.formValidity;
135
135
  if (validity.patternMismatch) {
136
- return NumberInput_1.i18nBundle.getText(NUMBERINPUT_PATTERN_MISSMATCH, this.valuePrecision);
136
+ return NumericInput_1.i18nBundle.getText(NUMBERINPUT_PATTERN_MISSMATCH, this.valuePrecision);
137
137
  }
138
138
  if (validity.rangeUnderflow) {
139
- return NumberInput_1.i18nBundle.getText(NUMBERINPUT_RANGEUNDERFLOW, this.min);
139
+ return NumericInput_1.i18nBundle.getText(NUMBERINPUT_RANGEUNDERFLOW, this.min);
140
140
  }
141
141
  if (validity.rangeOverflow) {
142
- return NumberInput_1.i18nBundle.getText(NUMBERINPUT_RANGEOVERFLOW, this.max);
142
+ return NumericInput_1.i18nBundle.getText(NUMBERINPUT_RANGEOVERFLOW, this.max);
143
143
  }
144
144
  return "";
145
145
  }
@@ -158,10 +158,10 @@ let NumberInput = NumberInput_1 = class NumberInput extends UI5Element {
158
158
  }
159
159
  // icons-related
160
160
  get decIconTitle() {
161
- return NumberInput_1.i18nBundle.getText(NUMBERINPUT_DEC_ICON_TITLE);
161
+ return NumericInput_1.i18nBundle.getText(NUMBERINPUT_DEC_ICON_TITLE);
162
162
  }
163
163
  get incIconTitle() {
164
- return NumberInput_1.i18nBundle.getText(NUMBERINPUT_INC_ICON_TITLE);
164
+ return NumericInput_1.i18nBundle.getText(NUMBERINPUT_INC_ICON_TITLE);
165
165
  }
166
166
  get _decIconClickable() {
167
167
  return !this._decIconDisabled && !this.readonly && !this.disabled;
@@ -331,7 +331,7 @@ let NumberInput = NumberInput_1 = class NumberInput extends UI5Element {
331
331
  */
332
332
  _modifyValue(modifier, fireChangeEvent = false) {
333
333
  if (this.min !== undefined && this.max !== undefined && this.min > this.max) {
334
- console.warn(`[ui5-number-input] Invalid configuration: 'min' (${this.min}) is greater than 'max' (${this.max}). Value modification skipped.`); // eslint-disable-line
334
+ console.warn(`[ui5-numeric-input] Invalid configuration: 'min' (${this.min}) is greater than 'max' (${this.max}). Value modification skipped.`); // eslint-disable-line
335
335
  return;
336
336
  }
337
337
  let value;
@@ -588,96 +588,96 @@ let NumberInput = NumberInput_1 = class NumberInput extends UI5Element {
588
588
  };
589
589
  __decorate([
590
590
  property({ type: Number })
591
- ], NumberInput.prototype, "value", void 0);
591
+ ], NumericInput.prototype, "value", void 0);
592
592
  __decorate([
593
593
  property({ type: Number })
594
- ], NumberInput.prototype, "min", void 0);
594
+ ], NumericInput.prototype, "min", void 0);
595
595
  __decorate([
596
596
  property({ type: Number })
597
- ], NumberInput.prototype, "max", void 0);
597
+ ], NumericInput.prototype, "max", void 0);
598
598
  __decorate([
599
599
  property({ type: Number })
600
- ], NumberInput.prototype, "step", void 0);
600
+ ], NumericInput.prototype, "step", void 0);
601
601
  __decorate([
602
602
  property()
603
- ], NumberInput.prototype, "valueState", void 0);
603
+ ], NumericInput.prototype, "valueState", void 0);
604
604
  __decorate([
605
605
  property({ type: Boolean })
606
- ], NumberInput.prototype, "required", void 0);
606
+ ], NumericInput.prototype, "required", void 0);
607
607
  __decorate([
608
608
  property({ type: Boolean })
609
- ], NumberInput.prototype, "disabled", void 0);
609
+ ], NumericInput.prototype, "disabled", void 0);
610
610
  __decorate([
611
611
  property({ type: Boolean })
612
- ], NumberInput.prototype, "readonly", void 0);
612
+ ], NumericInput.prototype, "readonly", void 0);
613
613
  __decorate([
614
614
  property()
615
- ], NumberInput.prototype, "placeholder", void 0);
615
+ ], NumericInput.prototype, "placeholder", void 0);
616
616
  __decorate([
617
617
  property()
618
- ], NumberInput.prototype, "name", void 0);
618
+ ], NumericInput.prototype, "name", void 0);
619
619
  __decorate([
620
620
  property({ type: Number })
621
- ], NumberInput.prototype, "valuePrecision", void 0);
621
+ ], NumericInput.prototype, "valuePrecision", void 0);
622
622
  __decorate([
623
623
  property()
624
- ], NumberInput.prototype, "accessibleName", void 0);
624
+ ], NumericInput.prototype, "accessibleName", void 0);
625
625
  __decorate([
626
626
  property()
627
- ], NumberInput.prototype, "accessibleNameRef", void 0);
627
+ ], NumericInput.prototype, "accessibleNameRef", void 0);
628
628
  __decorate([
629
629
  property({ type: Boolean, noAttribute: true })
630
- ], NumberInput.prototype, "_showStepButtons", void 0);
630
+ ], NumericInput.prototype, "_showStepButtons", void 0);
631
631
  __decorate([
632
632
  property({ noAttribute: true })
633
- ], NumberInput.prototype, "_externalAriaLabel", void 0);
633
+ ], NumericInput.prototype, "_externalAriaLabel", void 0);
634
634
  __decorate([
635
635
  property({ noAttribute: true })
636
- ], NumberInput.prototype, "_decIconDisabled", void 0);
636
+ ], NumericInput.prototype, "_decIconDisabled", void 0);
637
637
  __decorate([
638
638
  property({ noAttribute: true })
639
- ], NumberInput.prototype, "_incIconDisabled", void 0);
639
+ ], NumericInput.prototype, "_incIconDisabled", void 0);
640
640
  __decorate([
641
641
  property({ type: Boolean })
642
- ], NumberInput.prototype, "focused", void 0);
642
+ ], NumericInput.prototype, "focused", void 0);
643
643
  __decorate([
644
644
  property({ noAttribute: true })
645
- ], NumberInput.prototype, "_inputFocused", void 0);
645
+ ], NumericInput.prototype, "_inputFocused", void 0);
646
646
  __decorate([
647
647
  property({ noAttribute: true })
648
- ], NumberInput.prototype, "_previousValue", void 0);
648
+ ], NumericInput.prototype, "_previousValue", void 0);
649
649
  __decorate([
650
650
  property({ noAttribute: true })
651
- ], NumberInput.prototype, "_waitTimeout", void 0);
651
+ ], NumericInput.prototype, "_waitTimeout", void 0);
652
652
  __decorate([
653
653
  property({ noAttribute: true })
654
- ], NumberInput.prototype, "_speed", void 0);
654
+ ], NumericInput.prototype, "_speed", void 0);
655
655
  __decorate([
656
656
  property({ noAttribute: true })
657
- ], NumberInput.prototype, "_btnDown", void 0);
657
+ ], NumericInput.prototype, "_btnDown", void 0);
658
658
  __decorate([
659
659
  property({ noAttribute: true })
660
- ], NumberInput.prototype, "_spinTimeoutId", void 0);
660
+ ], NumericInput.prototype, "_spinTimeoutId", void 0);
661
661
  __decorate([
662
662
  property({ noAttribute: true })
663
- ], NumberInput.prototype, "_spinStarted", void 0);
663
+ ], NumericInput.prototype, "_spinStarted", void 0);
664
664
  __decorate([
665
665
  property({ noAttribute: true })
666
- ], NumberInput.prototype, "_inputValue", void 0);
666
+ ], NumericInput.prototype, "_inputValue", void 0);
667
667
  __decorate([
668
668
  slot()
669
- ], NumberInput.prototype, "valueStateMessage", void 0);
669
+ ], NumericInput.prototype, "valueStateMessage", void 0);
670
670
  __decorate([
671
671
  i18n("@ui5/webcomponents")
672
- ], NumberInput, "i18nBundle", void 0);
673
- NumberInput = NumberInput_1 = __decorate([
672
+ ], NumericInput, "i18nBundle", void 0);
673
+ NumericInput = NumericInput_1 = __decorate([
674
674
  customElement({
675
- tag: "ui5-number-input",
675
+ tag: "ui5-numeric-input",
676
676
  cldr: true,
677
677
  formAssociated: true,
678
678
  renderer: jsxRenderer,
679
- styles: NumberInputCss,
680
- template: NumberInputTemplate,
679
+ styles: NumericInputCss,
680
+ template: NumericInputTemplate,
681
681
  languageAware: true,
682
682
  })
683
683
  /**
@@ -713,7 +713,7 @@ NumberInput = NumberInput_1 = __decorate([
713
713
  event("_request-submit", {
714
714
  bubbles: true,
715
715
  })
716
- ], NumberInput);
717
- NumberInput.define();
718
- export default NumberInput;
719
- //# sourceMappingURL=NumberInput.js.map
716
+ ], NumericInput);
717
+ NumericInput.define();
718
+ export default NumericInput;
719
+ //# sourceMappingURL=NumericInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumericInput.js","sourceRoot":"","sources":["../src/NumericInput.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } 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-strict.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, getAssociatedLabelForTexts } 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 { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport NumericInputTemplate from \"./NumericInputTemplate.js\";\nimport {\n\tNUMBERINPUT_DEC_ICON_TITLE,\n\tNUMBERINPUT_INC_ICON_TITLE,\n\tNUMBERINPUT_PATTERN_MISSMATCH,\n\tNUMBERINPUT_RANGEOVERFLOW,\n\tNUMBERINPUT_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 NumericInputCss from \"./generated/themes/NumericInput.css.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"@ui5/webcomponents-base/dist/locale/languageChange.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 NumericInputValueStateChangeEventDetail = {\n\tvalueState: `${ValueState}`,\n\tvalid: boolean,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-numeric-input` component is a numeric input field. It allows users to enter, edit and select numeric values.\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 `ui5-numeric-input`.\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 enter or adjust numeric values.\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 enter dates and times. In this case, use date/time related components instead.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/NumericInput.js\";`\n * @constructor\n * @extends UI5Element\n * @since 2.28.0\n * @experimental\n * @public\n */\n@customElement({\n\ttag: \"ui5-numeric-input\",\n\tcldr: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\tstyles: NumericInputCss,\n\ttemplate: NumericInputTemplate,\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 */\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 its default action is\n * prevented, the component will not update the value state.\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})\n@event(\"_request-submit\", {\n\tbubbles: true,\n})\nclass NumericInput extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: void\n\t\tinput: InputEventDetail\n\t\t\"value-state-change\": NumericInputValueStateChangeEventDetail\n\t\t\"_request-submit\": void\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 * @private\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 * @private\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 */\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 */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Controls whether the increment/decrement step buttons are shown.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_showStepButtons = false;\n\n\t@property({ noAttribute: true })\n\t_externalAriaLabel?: 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@property({ noAttribute: true })\n\t_inputValue?: string;\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!: Slot<HTMLElement>;\n\n\t_initialValueState?: `${ValueState}`;\n\n\t_formatter?: NumberFormat;\n\n\t_languageChangeHandler?: (lang: string) => Promise<void>;\n\n\t_languageChanged?: boolean = false;\n\n\t_delimiter?: string;\n\n\t_groupSeparator?: string;\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 NumericInput.i18nBundle.getText(NUMBERINPUT_PATTERN_MISSMATCH, this.valuePrecision);\n\t\t}\n\t\tif (validity.rangeUnderflow) {\n\t\t\treturn NumericInput.i18nBundle.getText(NUMBERINPUT_RANGEUNDERFLOW, this.min as number);\n\t\t}\n\t\tif (validity.rangeOverflow) {\n\t\t\treturn NumericInput.i18nBundle.getText(NUMBERINPUT_RANGEOVERFLOW, this.max as number);\n\t\t}\n\n\t\treturn \"\";\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 NumericInput.i18nBundle.getText(NUMBERINPUT_DEC_ICON_TITLE);\n\t}\n\n\tget incIconTitle() {\n\t\treturn NumericInput.i18nBundle.getText(NUMBERINPUT_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) || this._externalAriaLabel || getAssociatedLabelForTexts(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\tif (this._languageChanged) {\n\t\t\tthis._inputValue = this._formatNumber(this.value);\n\t\t\tthis._languageChanged = false;\n\t\t\tthis.valueState = ValueState.None;\n\t\t}\n\t\tthis._setButtonState();\n\t}\n\n\tonEnterDOM() {\n\t\tthis._setupLanguageChangeHandler();\n\t}\n\n\tonExitDOM() {\n\t\tthis._cleanupLanguageChangeHandler();\n\t\tthis._resetSpin();\n\t}\n\n\t_setupLanguageChangeHandler() {\n\t\tif (this._languageChangeHandler) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._languageChangeHandler = () => {\n\t\t\tthis._formatter = undefined;\n\t\t\tthis._languageChanged = true;\n\t\t\tthis._delimiter = undefined;\n\t\t\tthis._groupSeparator = undefined;\n\n\t\t\treturn Promise.resolve();\n\t\t};\n\t\tattachLanguageChange(this._languageChangeHandler);\n\t}\n\n\t_cleanupLanguageChangeHandler() {\n\t\tif (this._languageChangeHandler) {\n\t\t\tdetachLanguageChange(this._languageChangeHandler);\n\t\t\tthis._languageChangeHandler = undefined;\n\t\t}\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 delimiter() {\n\t\tif (!this._delimiter) {\n\t\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\t\tthis._delimiter = localeData.getNumberSymbol(\"decimal\") || \".\";\n\t\t}\n\n\t\treturn this._delimiter;\n\t}\n\n\tget groupSeparator() {\n\t\tif (!this._groupSeparator) {\n\t\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\t\tthis._groupSeparator = localeData.getNumberSymbol(\"group\") || \",\";\n\t\t}\n\n\t\treturn this._groupSeparator;\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\t_onButtonFocusOut() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this._inputFocused && !this.shadowRoot!.activeElement) {\n\t\t\t\tthis.focused = false;\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 || !this._isFocused) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\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\tif (this.min !== undefined && this.max !== undefined && this.min > this.max) {\n\t\t\tconsole.warn(`[ui5-numeric-input] Invalid configuration: 'min' (${this.min}) is greater than 'max' (${this.max}). Value modification skipped.`); // eslint-disable-line\n\t\t\treturn;\n\t\t}\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._inputValue = this._formatNumber(value);\n\t\t\tthis._validate();\n\t\t\tthis._setButtonState();\n\t\t\tthis.focused = true;\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\tconst delimiter = this.delimiter;\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.input?.value.includes(delimiter) && ((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\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 updatedValue = this._removeGroupSeparators(this.input.value);\n\t\tconst inputValue = this._parseNumber(updatedValue);\n\t\tif (this._isValueChanged(inputValue)) {\n\t\t\tthis._updateValueAndValidate(Number.isNaN(inputValue) ? this.min || 0 : inputValue);\n\t\t}\n\t}\n\n\t_setDefaultInputValueIfNeeded() {\n\t\tif (this.input.value === \"\") {\n\t\t\tthis._inputValue = this._formatNumber(this.min || 0);\n\t\t}\n\t}\n\n\t_isValueChanged(inputValue: number) {\n\t\tconst isValueWithCorrectPrecision = this._isValueWithCorrectPrecision;\n\t\tconst isWithinRange = (this.min === undefined || inputValue >= this.min) && (this.max === undefined || inputValue <= this.max);\n\t\t// Treat values as distinct when the precision was just corrected (e.g., from 3.4000 to 3.40) while\n\t\t// the value was previously invalid due to precision — but only when the value is in range. Without\n\t\t// this guard the condition also triggers for range violations, causing a redundant second _validate call.\n\t\tconst isPrecisionCorrectButValueStateError = isValueWithCorrectPrecision && isWithinRange && 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._inputValue = undefined;\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_onInputRequestSubmit() {\n\t\tif (this._internals.form) {\n\t\t\tsubmitForm(this);\n\t\t} else {\n\t\t\tthis.fireDecoratorEvent(\"_request-submit\");\n\t\t}\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._inputValue = this._formatNumber(this.value);\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\tconst typedValue = `${inputValue.substring(0, cursorPosition)}${e.key}${inputValue.substring(cursorPosition!)}`;\n\t\tconst updatedValue = this._removeGroupSeparators(typedValue);\n\t\treturn updatedValue;\n\t}\n\n\t_removeGroupSeparators(value: string) {\n\t\tconst groupSeparator = this.groupSeparator;\n\t\treturn value.replaceAll(groupSeparator, \"\");\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(e: MouseEvent) {\n\t\tif (this._isFocused || this._decIconDisabled) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (!this._decIconDisabled) {\n\t\t\tthis._spinValue(false, true);\n\t\t} else {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\t_incSpin(e: MouseEvent) {\n\t\tif (this._isFocused || this._incIconDisabled) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (!this._incIconDisabled) {\n\t\t\tthis._spinValue(true, true);\n\t\t} else {\n\t\t\tthis.input.focus();\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}\n\nNumericInput.define();\n\nexport default NumericInput;\nexport type {\n\tNumericInputValueStateChangeEventDetail,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type NumericInput from "./NumericInput.js";
2
+ export default function NumericInputTemplate(this: NumericInput): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -3,16 +3,16 @@ import Icon from "./Icon.js";
3
3
  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
- export default function NumberInputTemplate() {
7
- return (_jsxs("div", { id: `${this._id}`, class: { "ui5-number-input-root": true, "ui5-number-input-root--with-buttons": this._showStepButtons && !this.readonly }, onKeyDown: this._onkeydown, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, onWheel: this._onMouseWheel, children: [this._showStepButtons && !this.readonly &&
6
+ export default function NumericInputTemplate() {
7
+ return (_jsxs("div", { id: `${this._id}`, class: { "ui5-numeric-input-root": true, "ui5-numeric-input-root--with-buttons": this._showStepButtons && !this.readonly }, onKeyDown: this._onkeydown, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, onWheel: this._onMouseWheel, children: [this._showStepButtons && !this.readonly &&
8
8
  _jsx("div", { class: "ui5-step-icon ui5-step-dec", title: this.decIconTitle, onMouseDown: this._decSpin, onMouseUp: this._resetSpin, onMouseOut: this._resetSpinOut, children: _jsx(Icon, { id: `${this._id}-dec`, name: less, tabindex: -1, accessibleName: this.decIconTitle, onClick: this._decValue, onFocusOut: this._onButtonFocusOut, class: {
9
9
  "inputIcon": true,
10
- "ui5-number-input-icon--clickable": this._decIconClickable,
11
- }, showTooltip: true }) }), _jsx(Input, { id: `${this._id}-inner`, "data-sap-focus-ref": true, class: "ui5-number-input-input", placeholder: this.placeholder, type: this.type, value: this._inputValue ?? this._displayValue, disabled: this.disabled, required: this.required, readonly: this.readonly, focused: this.focused, "onui5-_request-submit": this._onInputRequestSubmit, valueState: this.valueState, _inputAccInfo: this.accInfo, _nativeInputAttributes: this.inputAttributes, onChange: this._onInputChange, onFocusOut: this._onInputFocusOut, onFocusIn: this._onInputFocusIn, onInput: this._onInput, children: this.valueStateMessage.length > 0 &&
10
+ "ui5-numeric-input-icon--clickable": this._decIconClickable,
11
+ }, showTooltip: true }) }), _jsx(Input, { id: `${this._id}-inner`, "data-sap-focus-ref": true, class: "ui5-numeric-input-input", placeholder: this.placeholder, type: this.type, value: this._inputValue ?? this._displayValue, disabled: this.disabled, required: this.required, readonly: this.readonly, focused: this.focused, "onui5-_request-submit": this._onInputRequestSubmit, valueState: this.valueState, _inputAccInfo: this.accInfo, _nativeInputAttributes: this.inputAttributes, onChange: this._onInputChange, onFocusOut: this._onInputFocusOut, onFocusIn: this._onInputFocusIn, onInput: this._onInput, children: this.valueStateMessage.length > 0 &&
12
12
  _jsx("slot", { name: "valueStateMessage", slot: "valueStateMessage" }) }), this._showStepButtons && !this.readonly &&
13
13
  _jsx("div", { class: "ui5-step-icon ui5-step-inc", title: this.incIconTitle, onMouseDown: this._incSpin, onMouseUp: this._resetSpin, onMouseOut: this._resetSpinOut, children: _jsx(Icon, { id: `${this._id}-inc`, class: {
14
14
  "inputIcon": true,
15
- "ui5-number-input-icon--clickable": this._incIconClickable,
15
+ "ui5-numeric-input-icon--clickable": this._incIconClickable,
16
16
  }, name: add, tabindex: -1, accessibleName: this.incIconTitle, onClick: this._incValue, onFocusOut: this._onButtonFocusOut, showTooltip: true }) })] }));
17
17
  }
18
- //# sourceMappingURL=NumberInputTemplate.js.map
18
+ //# sourceMappingURL=NumericInputTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumericInputTemplate.js","sourceRoot":"","sources":["../src/NumericInputTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type NumericInput from \"./NumericInput.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 NumericInputTemplate(this: NumericInput) {\n\treturn (\n\t\t<div\n\t\t\tid={`${this._id}`}\n\t\t\tclass={{ \"ui5-numeric-input-root\": true, \"ui5-numeric-input-root--with-buttons\": this._showStepButtons && !this.readonly }}\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._showStepButtons && !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\tonMouseDown={this._decSpin}\n\t\t\t\tonMouseUp={this._resetSpin}\n\t\t\t\tonMouseOut={this._resetSpinOut}\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\tclass={{\n\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\"ui5-numeric-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-numeric-input-input\"\n\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\ttype={this.type}\n\t\t\t\tvalue={this._inputValue ?? 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\tfocused={this.focused}\n\t\t\t\tonui5-_request-submit={this._onInputRequestSubmit}\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._showStepButtons && !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\tonMouseDown={this._incSpin}\n\t\t\t\t\tonMouseUp={this._resetSpin}\n\t\t\t\t\tonMouseOut={this._resetSpinOut}\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-numeric-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\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/Option.d.ts CHANGED
@@ -46,7 +46,7 @@ declare class Option extends ListItemBase implements IOption {
46
46
  * Defines the `additionalText`, displayed in the end of the option.
47
47
  * @default undefined
48
48
  * @public
49
- * @since 1.0.0-rc.15
49
+ * @since 1.0.0
50
50
  */
51
51
  additionalText?: string;
52
52
  /**