@ui5/webcomponents 0.0.0-8e1845415 → 0.0.0-90f690396

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 (926) hide show
  1. package/.eslintrc.cjs +3 -0
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +61 -0
  4. package/config/wdio.conf.cjs +13 -0
  5. package/dist/Assets-static.js.map +1 -1
  6. package/dist/Assets.js.map +1 -1
  7. package/dist/Avatar.d.ts +3 -1
  8. package/dist/Avatar.js.map +1 -1
  9. package/dist/AvatarGroup.js.map +1 -1
  10. package/dist/Badge.js.map +1 -1
  11. package/dist/Breadcrumbs.js.map +1 -1
  12. package/dist/BreadcrumbsItem.js.map +1 -1
  13. package/dist/BusyIndicator.js.map +1 -1
  14. package/dist/Button.d.ts +8 -3
  15. package/dist/Button.js +7 -2
  16. package/dist/Button.js.map +1 -1
  17. package/dist/Calendar.js.map +1 -1
  18. package/dist/CalendarDate.js.map +1 -1
  19. package/dist/CalendarHeader.js.map +1 -1
  20. package/dist/CalendarPart.js +4 -1
  21. package/dist/CalendarPart.js.map +1 -1
  22. package/dist/Card.js.map +1 -1
  23. package/dist/CardHeader.js.map +1 -1
  24. package/dist/Carousel.js.map +1 -1
  25. package/dist/CheckBox.js.map +1 -1
  26. package/dist/ColorPalette.js.map +1 -1
  27. package/dist/ColorPaletteItem.js.map +1 -1
  28. package/dist/ColorPalettePopover.js.map +1 -1
  29. package/dist/ColorPicker.js.map +1 -1
  30. package/dist/ComboBox.js.map +1 -1
  31. package/dist/ComboBoxGroupItem.js.map +1 -1
  32. package/dist/ComboBoxItem.js.map +1 -1
  33. package/dist/CustomListItem.js.map +1 -1
  34. package/dist/DateComponentBase.js.map +1 -1
  35. package/dist/DatePicker.d.ts +2 -2
  36. package/dist/DatePicker.js +11 -8
  37. package/dist/DatePicker.js.map +1 -1
  38. package/dist/DateRangePicker.js.map +1 -1
  39. package/dist/DateTimePicker.d.ts +1 -1
  40. package/dist/DateTimePicker.js +1 -1
  41. package/dist/DateTimePicker.js.map +1 -1
  42. package/dist/DayPicker.js.map +1 -1
  43. package/dist/Dialog.js.map +1 -1
  44. package/dist/FileUploader.js.map +1 -1
  45. package/dist/Filters.js.map +1 -1
  46. package/dist/GroupHeaderListItem.js.map +1 -1
  47. package/dist/Icon.d.ts +10 -10
  48. package/dist/Icon.js +7 -7
  49. package/dist/Icon.js.map +1 -1
  50. package/dist/Input.d.ts +2 -1
  51. package/dist/Input.js +30 -16
  52. package/dist/Input.js.map +1 -1
  53. package/dist/Interfaces.js.map +1 -1
  54. package/dist/Label.js.map +1 -1
  55. package/dist/Link.js.map +1 -1
  56. package/dist/List.js.map +1 -1
  57. package/dist/ListItem.js.map +1 -1
  58. package/dist/ListItemBase.d.ts +1 -1
  59. package/dist/ListItemBase.js +4 -7
  60. package/dist/ListItemBase.js.map +1 -1
  61. package/dist/Menu.js.map +1 -1
  62. package/dist/MenuItem.d.ts +1 -1
  63. package/dist/MenuItem.js.map +1 -1
  64. package/dist/MessageStrip.d.ts +1 -1
  65. package/dist/MessageStrip.js.map +1 -1
  66. package/dist/MonthPicker.js.map +1 -1
  67. package/dist/MultiComboBox.js +1 -0
  68. package/dist/MultiComboBox.js.map +1 -1
  69. package/dist/MultiComboBoxGroupItem.js.map +1 -1
  70. package/dist/MultiComboBoxItem.js.map +1 -1
  71. package/dist/MultiInput.js.map +1 -1
  72. package/dist/Option.d.ts +1 -1
  73. package/dist/Option.js.map +1 -1
  74. package/dist/Panel.js.map +1 -1
  75. package/dist/Popover.d.ts +1 -0
  76. package/dist/Popover.js +18 -6
  77. package/dist/Popover.js.map +1 -1
  78. package/dist/Popup.js.map +1 -1
  79. package/dist/ProgressIndicator.js.map +1 -1
  80. package/dist/RadioButton.js.map +1 -1
  81. package/dist/RadioButtonGroup.js.map +1 -1
  82. package/dist/RangeSlider.js.map +1 -1
  83. package/dist/RatingIndicator.js.map +1 -1
  84. package/dist/ResponsivePopover.js.map +1 -1
  85. package/dist/SegmentedButton.js.map +1 -1
  86. package/dist/SegmentedButtonItem.js.map +1 -1
  87. package/dist/Select.js +1 -0
  88. package/dist/Select.js.map +1 -1
  89. package/dist/Slider.js.map +1 -1
  90. package/dist/SliderBase.js.map +1 -1
  91. package/dist/SplitButton.d.ts +2 -1
  92. package/dist/SplitButton.js +3 -0
  93. package/dist/SplitButton.js.map +1 -1
  94. package/dist/StandardListItem.d.ts +1 -1
  95. package/dist/StandardListItem.js.map +1 -1
  96. package/dist/StepInput.js.map +1 -1
  97. package/dist/SuggestionGroupItem.js.map +1 -1
  98. package/dist/SuggestionItem.d.ts +1 -1
  99. package/dist/SuggestionItem.js.map +1 -1
  100. package/dist/SuggestionListItem.js.map +1 -1
  101. package/dist/Switch.js.map +1 -1
  102. package/dist/Tab.d.ts +1 -1
  103. package/dist/Tab.js.map +1 -1
  104. package/dist/TabContainer.js.map +1 -1
  105. package/dist/TabSeparator.js.map +1 -1
  106. package/dist/Table.d.ts +1 -1
  107. package/dist/Table.js +1 -1
  108. package/dist/Table.js.map +1 -1
  109. package/dist/TableCell.js.map +1 -1
  110. package/dist/TableColumn.js.map +1 -1
  111. package/dist/TableGroupRow.js.map +1 -1
  112. package/dist/TableRow.js.map +1 -1
  113. package/dist/TextArea.js.map +1 -1
  114. package/dist/TimePicker.d.ts +3 -2
  115. package/dist/TimePicker.js +1 -1
  116. package/dist/TimePicker.js.map +1 -1
  117. package/dist/TimePickerBase.d.ts +1 -1
  118. package/dist/TimePickerBase.js +2 -2
  119. package/dist/TimePickerBase.js.map +1 -1
  120. package/dist/TimeSelection.d.ts +2 -1
  121. package/dist/TimeSelection.js.map +1 -1
  122. package/dist/Title.js.map +1 -1
  123. package/dist/Toast.js.map +1 -1
  124. package/dist/ToggleButton.js.map +1 -1
  125. package/dist/Token.js.map +1 -1
  126. package/dist/Tokenizer.js.map +1 -1
  127. package/dist/Tree.js.map +1 -1
  128. package/dist/TreeItem.js.map +1 -1
  129. package/dist/TreeItemBase.js.map +1 -1
  130. package/dist/TreeItemCustom.d.ts +1 -1
  131. package/dist/TreeItemCustom.js +1 -1
  132. package/dist/TreeItemCustom.js.map +1 -1
  133. package/dist/TreeList.js.map +1 -1
  134. package/dist/WheelSlider.js.map +1 -1
  135. package/dist/YearPicker.js.map +1 -1
  136. package/dist/api.json +1 -1
  137. package/dist/assets/IconCollectionInCustomTheme.91b08a2b.css +1 -0
  138. package/dist/assets/Popover.366b9193.css +1 -0
  139. package/dist/assets/{SAP-icons-TNT.91a61c6d.js → SAP-icons-TNT.198a2fb9.js} +1 -1
  140. package/dist/assets/SAP-icons-TNT.1a9c4736.js +1 -0
  141. package/dist/assets/SAP-icons-business-suite.0589a2e2.js +1 -0
  142. package/dist/assets/SAP-icons-business-suite.cabfcb50.js +1 -0
  143. package/dist/assets/SAP-icons.94515297.js +1 -0
  144. package/dist/assets/SAP-icons.e7342524.js +1 -0
  145. package/dist/assets/ar.79bcdac6.js +1 -0
  146. package/dist/assets/ar_EG.317b7da4.js +1 -0
  147. package/dist/assets/ar_SA.47fa752a.js +1 -0
  148. package/dist/assets/bg.9fa59b57.js +1 -0
  149. package/dist/assets/ca.33231602.js +1 -0
  150. package/dist/assets/cs.c6834326.js +1 -0
  151. package/dist/assets/da.7d6c5c63.js +1 -0
  152. package/dist/assets/de.034ba268.js +1 -0
  153. package/dist/assets/de_AT.c6f8b56c.js +1 -0
  154. package/dist/assets/de_CH.fbb1fd8b.js +1 -0
  155. package/dist/assets/el.a52af6dd.js +1 -0
  156. package/dist/assets/el_CY.dfc81973.js +1 -0
  157. package/dist/assets/en.9d5e30c6.js +1 -0
  158. package/dist/assets/en_AU.af8c9202.js +1 -0
  159. package/dist/assets/en_GB.e07779d4.js +1 -0
  160. package/dist/assets/en_HK.bdda93ce.js +1 -0
  161. package/dist/assets/en_IE.81db172b.js +1 -0
  162. package/dist/assets/en_IN.dc6c4aa0.js +1 -0
  163. package/dist/assets/en_NZ.a287ea30.js +1 -0
  164. package/dist/assets/en_PG.a841abf3.js +1 -0
  165. package/dist/assets/en_SG.a8c53dc3.js +1 -0
  166. package/dist/assets/en_ZA.e412e4cb.js +1 -0
  167. package/dist/assets/es.a8053ce5.js +1 -0
  168. package/dist/assets/es_AR.400678e2.js +1 -0
  169. package/dist/assets/es_BO.5d505e47.js +1 -0
  170. package/dist/assets/es_CL.a6e4a80b.js +1 -0
  171. package/dist/assets/es_CO.1f7597a4.js +1 -0
  172. package/dist/assets/es_MX.9164aad6.js +1 -0
  173. package/dist/assets/es_PE.85c8a5f4.js +1 -0
  174. package/dist/assets/es_UY.4b0bd2f1.js +1 -0
  175. package/dist/assets/es_VE.194a01d7.js +1 -0
  176. package/dist/assets/et.1ba4add0.js +1 -0
  177. package/dist/assets/fa.e60c18ea.js +1 -0
  178. package/dist/assets/fi.2b63587f.js +1 -0
  179. package/dist/assets/fr.f21ec134.js +1 -0
  180. package/dist/assets/fr_BE.bf9d2736.js +1 -0
  181. package/dist/assets/fr_CA.47fa4dde.js +1 -0
  182. package/dist/assets/fr_CH.6c03e6c0.js +1 -0
  183. package/dist/assets/fr_LU.19d18947.js +1 -0
  184. package/dist/assets/he.fd2788ce.js +1 -0
  185. package/dist/assets/hi.df686f37.js +1 -0
  186. package/dist/assets/hr.9540378d.js +1 -0
  187. package/dist/assets/hu.7fc5a600.js +1 -0
  188. package/dist/assets/id.a727d950.js +1 -0
  189. package/dist/assets/it.11c23822.js +1 -0
  190. package/dist/assets/it_CH.0daa9b0b.js +1 -0
  191. package/dist/assets/ja.65e8d301.js +1 -0
  192. package/dist/assets/{kitchen-scripts.f2c8101e.js → kitchen-scripts.4ffb6cdb.js} +1 -1
  193. package/dist/assets/kk.a1e73b3f.js +1 -0
  194. package/dist/assets/ko.3a143713.js +1 -0
  195. package/dist/assets/lt.5ff0cdf7.js +1 -0
  196. package/dist/assets/lv.d37ad18b.js +1 -0
  197. package/dist/assets/messagebundle_ar.4a952712.js +1 -0
  198. package/dist/assets/messagebundle_bg.005d394d.js +1 -0
  199. package/dist/assets/messagebundle_ca.42a55677.js +1 -0
  200. package/dist/assets/messagebundle_cs.af423fbd.js +1 -0
  201. package/dist/assets/messagebundle_cy.dbe56ca5.js +1 -0
  202. package/dist/assets/messagebundle_da.8c1bf79d.js +1 -0
  203. package/dist/assets/messagebundle_de.07dbdade.js +1 -0
  204. package/dist/assets/messagebundle_el.60b0af39.js +1 -0
  205. package/dist/assets/messagebundle_en.7bf1186a.js +1 -0
  206. package/dist/assets/messagebundle_en_GB.74ca8ab1.js +1 -0
  207. package/dist/assets/messagebundle_en_US_sappsd.4b5e22df.js +1 -0
  208. package/dist/assets/{messagebundle_en_US_saprigi.4fc3019b.js → messagebundle_en_US_saprigi.8f67a54b.js} +1 -1
  209. package/dist/assets/messagebundle_en_US_saptrc.1c1645fc.js +1 -0
  210. package/dist/assets/messagebundle_es.0cc30b6e.js +1 -0
  211. package/dist/assets/messagebundle_es_MX.af835417.js +1 -0
  212. package/dist/assets/messagebundle_et.f0b9692c.js +1 -0
  213. package/dist/assets/messagebundle_fi.ce799ebc.js +1 -0
  214. package/dist/assets/messagebundle_fr.138d08d9.js +1 -0
  215. package/dist/assets/messagebundle_fr_CA.21862365.js +1 -0
  216. package/dist/assets/messagebundle_hi.36d322e9.js +1 -0
  217. package/dist/assets/messagebundle_hr.aca7500d.js +1 -0
  218. package/dist/assets/messagebundle_hu.cd5bc60e.js +1 -0
  219. package/dist/assets/messagebundle_it.707234b5.js +1 -0
  220. package/dist/assets/messagebundle_iw.80b7ae6a.js +1 -0
  221. package/dist/assets/messagebundle_ja.54ced6c6.js +1 -0
  222. package/dist/assets/messagebundle_kk.29fafd2d.js +1 -0
  223. package/dist/assets/messagebundle_ko.8f74bc59.js +1 -0
  224. package/dist/assets/messagebundle_lt.d8c67fb7.js +1 -0
  225. package/dist/assets/messagebundle_lv.3a838a47.js +1 -0
  226. package/dist/assets/messagebundle_ms.57fb5eb8.js +1 -0
  227. package/dist/assets/messagebundle_nl.e091d15c.js +1 -0
  228. package/dist/assets/messagebundle_no.11207bec.js +1 -0
  229. package/dist/assets/messagebundle_pl.a642af11.js +1 -0
  230. package/dist/assets/messagebundle_pt.150a4c67.js +1 -0
  231. package/dist/assets/messagebundle_pt_PT.9c822d87.js +1 -0
  232. package/dist/assets/messagebundle_ro.8a4e217c.js +1 -0
  233. package/dist/assets/messagebundle_ru.3ab0178d.js +1 -0
  234. package/dist/assets/messagebundle_sh.67fd26db.js +1 -0
  235. package/dist/assets/messagebundle_sk.d5b20773.js +1 -0
  236. package/dist/assets/messagebundle_sl.2d887b8e.js +1 -0
  237. package/dist/assets/messagebundle_sv.e4cae15c.js +1 -0
  238. package/dist/assets/messagebundle_th.50b9123a.js +1 -0
  239. package/dist/assets/messagebundle_tr.6ea45efc.js +1 -0
  240. package/dist/assets/messagebundle_uk.9705fda1.js +1 -0
  241. package/dist/assets/messagebundle_uk.ed0a7c66.js +1 -0
  242. package/dist/assets/messagebundle_vi.fd114413.js +1 -0
  243. package/dist/assets/messagebundle_zh_CN.0f26b4c2.js +1 -0
  244. package/dist/assets/messagebundle_zh_TW.26f10b28.js +1 -0
  245. package/dist/assets/ms.073a5293.js +1 -0
  246. package/dist/assets/nb.2ac5f938.js +1 -0
  247. package/dist/assets/nl.32e385c8.js +1 -0
  248. package/dist/assets/nl_BE.5f2ba97a.js +1 -0
  249. package/dist/assets/parameters-bundle.css.01644757.js +1 -0
  250. package/dist/assets/parameters-bundle.css.2c8496aa.js +1 -0
  251. package/dist/assets/parameters-bundle.css.52765351.js +1 -0
  252. package/dist/assets/parameters-bundle.css.699b96c0.js +1 -0
  253. package/dist/assets/parameters-bundle.css.6db4d34a.js +1 -0
  254. package/dist/assets/parameters-bundle.css.70a65e3a.js +1 -0
  255. package/dist/assets/parameters-bundle.css.71348be9.js +1 -0
  256. package/dist/assets/parameters-bundle.css.71c92b92.js +1 -0
  257. package/dist/assets/parameters-bundle.css.9bd22734.js +1 -0
  258. package/dist/assets/parameters-bundle.css.b7a262bf.js +1 -0
  259. package/dist/assets/parameters-bundle.css.c565b624.js +1 -0
  260. package/dist/assets/parameters-bundle.css.cbd268df.js +1 -0
  261. package/dist/assets/parameters-bundle.css.d3b9e3dd.js +1 -0
  262. package/dist/assets/parameters-bundle.css.f552e9e6.js +1 -0
  263. package/dist/assets/pl.6bedf0c8.js +1 -0
  264. package/dist/assets/pt.98edc8e1.js +1 -0
  265. package/dist/assets/pt_PT.6026aa4b.js +1 -0
  266. package/dist/assets/ro.93c0d8c1.js +1 -0
  267. package/dist/assets/ru.0222a174.js +1 -0
  268. package/dist/assets/ru_UA.a32ee2f1.js +1 -0
  269. package/dist/assets/sk.42921e02.js +1 -0
  270. package/dist/assets/sl.2cdea3d5.js +1 -0
  271. package/dist/assets/sr.204807ce.js +1 -0
  272. package/dist/assets/sr_Latn.be10667b.js +1 -0
  273. package/dist/assets/sv.6ace6bc0.js +1 -0
  274. package/dist/assets/th.cb59bba6.js +1 -0
  275. package/dist/assets/tr.6fe122f4.js +1 -0
  276. package/dist/assets/uk.812ee10f.js +1 -0
  277. package/dist/assets/vi.33e14ba9.js +1 -0
  278. package/dist/assets/zh_CN.f23435f2.js +1 -0
  279. package/dist/assets/zh_HK.efe9e5bf.js +1 -0
  280. package/dist/assets/zh_SG.25dc8c02.js +1 -0
  281. package/dist/assets/zh_TW.a566ed25.js +1 -0
  282. package/dist/css/themes/BusyIndicator.css +1 -1
  283. package/dist/css/themes/CheckBox.css +1 -1
  284. package/dist/css/themes/Icon.css +1 -1
  285. package/dist/css/themes/ProgressIndicator.css +1 -1
  286. package/dist/css/themes/StepInput.css +1 -1
  287. package/dist/css/themes/TextArea.css +1 -1
  288. package/dist/custom-elements.json +1 -1
  289. package/dist/features/ColorPaletteMoreColors.js.map +1 -1
  290. package/dist/features/InputElementsFormSupport.d.ts +1 -1
  291. package/dist/features/InputElementsFormSupport.js.map +1 -1
  292. package/dist/features/InputSuggestions.js.map +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  304. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  305. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  306. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  307. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  308. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  309. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  310. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  311. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  340. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  341. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  342. package/dist/generated/i18n/i18n-defaults.d.ts +1 -2
  343. package/dist/generated/i18n/i18n-defaults.js +1 -2
  344. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  345. package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
  346. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  347. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  348. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  349. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  350. package/dist/generated/templates/SplitButtonTemplate.lit.js +2 -1
  351. package/dist/generated/templates/StepInputTemplate.lit.js +2 -2
  352. package/dist/generated/templates/TimePickerTemplate.lit.js +1 -1
  353. package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
  354. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +3 -3
  355. package/dist/generated/templates/TreeItemCustomTemplate.lit.js +3 -3
  356. package/dist/generated/templates/TreeItemTemplate.lit.js +3 -3
  357. package/dist/generated/themes/Avatar.css.js.map +1 -1
  358. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  359. package/dist/generated/themes/Badge.css.js.map +1 -1
  360. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  361. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  362. package/dist/generated/themes/BrowserScrollbar.css.js.map +1 -1
  363. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  364. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  365. package/dist/generated/themes/Button.css.js.map +1 -1
  366. package/dist/generated/themes/Calendar.css.js.map +1 -1
  367. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  368. package/dist/generated/themes/Card.css.js.map +1 -1
  369. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  370. package/dist/generated/themes/Carousel.css.js.map +1 -1
  371. package/dist/generated/themes/CheckBox.css.js +1 -1
  372. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  373. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  374. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  375. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  376. package/dist/generated/themes/ColorPaletteStaticArea.css.js.map +1 -1
  377. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  378. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  379. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
  380. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  381. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  382. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  383. package/dist/generated/themes/DateRangePicker.css.js.map +1 -1
  384. package/dist/generated/themes/DateTimePicker.css.js.map +1 -1
  385. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  386. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  387. package/dist/generated/themes/Dialog.css.js.map +1 -1
  388. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  389. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  390. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  391. package/dist/generated/themes/Icon.css.js +1 -1
  392. package/dist/generated/themes/Icon.css.js.map +1 -1
  393. package/dist/generated/themes/Input.css.js.map +1 -1
  394. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  395. package/dist/generated/themes/InvisibleTextStyles.css.js.map +1 -1
  396. package/dist/generated/themes/Label.css.js.map +1 -1
  397. package/dist/generated/themes/Link.css.js.map +1 -1
  398. package/dist/generated/themes/List.css.js.map +1 -1
  399. package/dist/generated/themes/ListItem.css.js.map +1 -1
  400. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  401. package/dist/generated/themes/Menu.css.js.map +1 -1
  402. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  403. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  404. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  405. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  406. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  407. package/dist/generated/themes/Panel.css.js.map +1 -1
  408. package/dist/generated/themes/Popover.css.js.map +1 -1
  409. package/dist/generated/themes/Popup.css.js.map +1 -1
  410. package/dist/generated/themes/PopupGlobal.css.js.map +1 -1
  411. package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
  412. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  413. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  414. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  415. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  416. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  417. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  418. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  419. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  420. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  421. package/dist/generated/themes/Select.css.js.map +1 -1
  422. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  423. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  424. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  425. package/dist/generated/themes/StepInput.css.js +1 -1
  426. package/dist/generated/themes/StepInput.css.js.map +1 -1
  427. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  428. package/dist/generated/themes/Switch.css.js.map +1 -1
  429. package/dist/generated/themes/Tab.css.js.map +1 -1
  430. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  431. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  432. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  433. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  434. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  435. package/dist/generated/themes/TabSeparatorInStrip.css.js.map +1 -1
  436. package/dist/generated/themes/Table.css.js.map +1 -1
  437. package/dist/generated/themes/TableCell.css.js.map +1 -1
  438. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  439. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  440. package/dist/generated/themes/TableRow.css.js.map +1 -1
  441. package/dist/generated/themes/TapHighlightColor.css.js.map +1 -1
  442. package/dist/generated/themes/TextArea.css.js +1 -1
  443. package/dist/generated/themes/TextArea.css.js.map +1 -1
  444. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  445. package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
  446. package/dist/generated/themes/TimeSelection.css.js.map +1 -1
  447. package/dist/generated/themes/Title.css.js.map +1 -1
  448. package/dist/generated/themes/Toast.css.js.map +1 -1
  449. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  450. package/dist/generated/themes/Token.css.js.map +1 -1
  451. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  452. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  453. package/dist/generated/themes/Tree.css.js.map +1 -1
  454. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  455. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  456. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  457. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  458. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  459. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  460. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  461. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  462. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  463. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  464. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  465. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  466. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  467. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  468. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  469. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  470. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  471. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  472. package/dist/i18n/messagebundle.properties +0 -3
  473. package/dist/i18n/messagebundle_ar.properties +0 -2
  474. package/dist/i18n/messagebundle_bg.properties +0 -2
  475. package/dist/i18n/messagebundle_ca.properties +0 -2
  476. package/dist/i18n/messagebundle_cs.properties +0 -2
  477. package/dist/i18n/messagebundle_cy.properties +0 -2
  478. package/dist/i18n/messagebundle_da.properties +0 -2
  479. package/dist/i18n/messagebundle_de.properties +0 -2
  480. package/dist/i18n/messagebundle_el.properties +0 -2
  481. package/dist/i18n/messagebundle_en.properties +0 -2
  482. package/dist/i18n/messagebundle_en_GB.properties +0 -2
  483. package/dist/i18n/messagebundle_en_US_sappsd.properties +0 -2
  484. package/dist/i18n/messagebundle_en_US_saprigi.properties +0 -2
  485. package/dist/i18n/messagebundle_en_US_saptrc.properties +0 -2
  486. package/dist/i18n/messagebundle_es.properties +0 -2
  487. package/dist/i18n/messagebundle_es_MX.properties +0 -2
  488. package/dist/i18n/messagebundle_et.properties +0 -2
  489. package/dist/i18n/messagebundle_fi.properties +0 -2
  490. package/dist/i18n/messagebundle_fr.properties +0 -2
  491. package/dist/i18n/messagebundle_fr_CA.properties +0 -2
  492. package/dist/i18n/messagebundle_hi.properties +0 -2
  493. package/dist/i18n/messagebundle_hr.properties +0 -2
  494. package/dist/i18n/messagebundle_hu.properties +0 -2
  495. package/dist/i18n/messagebundle_id.properties +0 -2
  496. package/dist/i18n/messagebundle_it.properties +0 -2
  497. package/dist/i18n/messagebundle_iw.properties +0 -2
  498. package/dist/i18n/messagebundle_ja.properties +0 -2
  499. package/dist/i18n/messagebundle_kk.properties +0 -2
  500. package/dist/i18n/messagebundle_ko.properties +0 -2
  501. package/dist/i18n/messagebundle_lt.properties +0 -2
  502. package/dist/i18n/messagebundle_lv.properties +0 -2
  503. package/dist/i18n/messagebundle_ms.properties +0 -2
  504. package/dist/i18n/messagebundle_nl.properties +0 -2
  505. package/dist/i18n/messagebundle_no.properties +0 -2
  506. package/dist/i18n/messagebundle_pl.properties +0 -2
  507. package/dist/i18n/messagebundle_pt.properties +0 -2
  508. package/dist/i18n/messagebundle_pt_PT.properties +0 -2
  509. package/dist/i18n/messagebundle_ro.properties +0 -2
  510. package/dist/i18n/messagebundle_ru.properties +0 -2
  511. package/dist/i18n/messagebundle_sh.properties +0 -2
  512. package/dist/i18n/messagebundle_sk.properties +0 -2
  513. package/dist/i18n/messagebundle_sl.properties +0 -2
  514. package/dist/i18n/messagebundle_sv.properties +0 -2
  515. package/dist/i18n/messagebundle_th.properties +0 -2
  516. package/dist/i18n/messagebundle_tr.properties +0 -2
  517. package/dist/i18n/messagebundle_uk.properties +0 -2
  518. package/dist/i18n/messagebundle_vi.properties +0 -2
  519. package/dist/i18n/messagebundle_zh_CN.properties +0 -2
  520. package/dist/i18n/messagebundle_zh_TW.properties +0 -2
  521. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  522. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  523. package/dist/timepicker-utils/TimeSlider.js.map +1 -1
  524. package/dist/types/AvatarColorScheme.js.map +1 -1
  525. package/dist/types/AvatarGroupType.js.map +1 -1
  526. package/dist/types/AvatarShape.js.map +1 -1
  527. package/dist/types/AvatarSize.js.map +1 -1
  528. package/dist/types/BreadcrumbsDesign.js.map +1 -1
  529. package/dist/types/BreadcrumbsSeparatorStyle.js.map +1 -1
  530. package/dist/types/BusyIndicatorSize.js.map +1 -1
  531. package/dist/types/ButtonDesign.js.map +1 -1
  532. package/dist/types/CalendarPickersMode.js.map +1 -1
  533. package/dist/types/CalendarSelectionMode.js.map +1 -1
  534. package/dist/types/CarouselArrowsPlacement.js.map +1 -1
  535. package/dist/types/CarouselPageIndicatorStyle.js.map +1 -1
  536. package/dist/types/ComboBoxFilter.js.map +1 -1
  537. package/dist/types/HasPopup.js.map +1 -1
  538. package/dist/types/IconDesign.js.map +1 -1
  539. package/dist/types/InputType.js.map +1 -1
  540. package/dist/types/LinkDesign.js.map +1 -1
  541. package/dist/types/ListGrowingMode.js.map +1 -1
  542. package/dist/types/ListItemType.js.map +1 -1
  543. package/dist/types/ListMode.js.map +1 -1
  544. package/dist/types/ListSeparators.js.map +1 -1
  545. package/dist/types/MessageStripDesign.js.map +1 -1
  546. package/dist/types/PanelAccessibleRole.js.map +1 -1
  547. package/dist/types/PopoverHorizontalAlign.d.ts +4 -4
  548. package/dist/types/PopoverHorizontalAlign.js +4 -4
  549. package/dist/types/PopoverHorizontalAlign.js.map +1 -1
  550. package/dist/types/PopoverPlacementType.js.map +1 -1
  551. package/dist/types/PopoverVerticalAlign.js.map +1 -1
  552. package/dist/types/PopupAccessibleRole.js.map +1 -1
  553. package/dist/types/Priority.js.map +1 -1
  554. package/dist/types/SemanticColor.js.map +1 -1
  555. package/dist/types/SwitchDesign.js.map +1 -1
  556. package/dist/types/TabContainerBackgroundDesign.js.map +1 -1
  557. package/dist/types/TabContainerTabsPlacement.js.map +1 -1
  558. package/dist/types/TabLayout.js.map +1 -1
  559. package/dist/types/TableColumnPopinDisplay.js.map +1 -1
  560. package/dist/types/TableGrowingMode.js.map +1 -1
  561. package/dist/types/TableMode.js.map +1 -1
  562. package/dist/types/TableRowType.js.map +1 -1
  563. package/dist/types/TabsOverflowMode.js.map +1 -1
  564. package/dist/types/TitleLevel.js.map +1 -1
  565. package/dist/types/ToastPlacement.js.map +1 -1
  566. package/dist/types/WrappingType.js.map +1 -1
  567. package/package.json +8 -7
  568. package/src/Button.hbs +1 -1
  569. package/src/ComboBox.hbs +9 -10
  570. package/src/DatePicker.hbs +12 -12
  571. package/src/MultiComboBox.hbs +10 -11
  572. package/src/MultiInput.hbs +7 -8
  573. package/src/SplitButton.hbs +3 -1
  574. package/src/StepInput.hbs +2 -2
  575. package/src/TimePicker.hbs +10 -10
  576. package/src/TreeItemBase.hbs +2 -3
  577. package/src/i18n/messagebundle.properties +0 -3
  578. package/src/i18n/messagebundle_ar.properties +0 -2
  579. package/src/i18n/messagebundle_bg.properties +0 -2
  580. package/src/i18n/messagebundle_ca.properties +0 -2
  581. package/src/i18n/messagebundle_cs.properties +0 -2
  582. package/src/i18n/messagebundle_cy.properties +0 -2
  583. package/src/i18n/messagebundle_da.properties +0 -2
  584. package/src/i18n/messagebundle_de.properties +0 -2
  585. package/src/i18n/messagebundle_el.properties +0 -2
  586. package/src/i18n/messagebundle_en.properties +0 -2
  587. package/src/i18n/messagebundle_en_GB.properties +0 -2
  588. package/src/i18n/messagebundle_en_US_sappsd.properties +0 -2
  589. package/src/i18n/messagebundle_en_US_saprigi.properties +0 -2
  590. package/src/i18n/messagebundle_en_US_saptrc.properties +0 -2
  591. package/src/i18n/messagebundle_es.properties +0 -2
  592. package/src/i18n/messagebundle_es_MX.properties +0 -2
  593. package/src/i18n/messagebundle_et.properties +0 -2
  594. package/src/i18n/messagebundle_fi.properties +0 -2
  595. package/src/i18n/messagebundle_fr.properties +0 -2
  596. package/src/i18n/messagebundle_fr_CA.properties +0 -2
  597. package/src/i18n/messagebundle_hi.properties +0 -2
  598. package/src/i18n/messagebundle_hr.properties +0 -2
  599. package/src/i18n/messagebundle_hu.properties +0 -2
  600. package/src/i18n/messagebundle_id.properties +0 -2
  601. package/src/i18n/messagebundle_it.properties +0 -2
  602. package/src/i18n/messagebundle_iw.properties +0 -2
  603. package/src/i18n/messagebundle_ja.properties +0 -2
  604. package/src/i18n/messagebundle_kk.properties +0 -2
  605. package/src/i18n/messagebundle_ko.properties +0 -2
  606. package/src/i18n/messagebundle_lt.properties +0 -2
  607. package/src/i18n/messagebundle_lv.properties +0 -2
  608. package/src/i18n/messagebundle_ms.properties +0 -2
  609. package/src/i18n/messagebundle_nl.properties +0 -2
  610. package/src/i18n/messagebundle_no.properties +0 -2
  611. package/src/i18n/messagebundle_pl.properties +0 -2
  612. package/src/i18n/messagebundle_pt.properties +0 -2
  613. package/src/i18n/messagebundle_pt_PT.properties +0 -2
  614. package/src/i18n/messagebundle_ro.properties +0 -2
  615. package/src/i18n/messagebundle_ru.properties +0 -2
  616. package/src/i18n/messagebundle_sh.properties +0 -2
  617. package/src/i18n/messagebundle_sk.properties +0 -2
  618. package/src/i18n/messagebundle_sl.properties +0 -2
  619. package/src/i18n/messagebundle_sv.properties +0 -2
  620. package/src/i18n/messagebundle_th.properties +0 -2
  621. package/src/i18n/messagebundle_tr.properties +0 -2
  622. package/src/i18n/messagebundle_uk.properties +0 -2
  623. package/src/i18n/messagebundle_vi.properties +0 -2
  624. package/src/i18n/messagebundle_zh_CN.properties +0 -2
  625. package/src/i18n/messagebundle_zh_TW.properties +0 -2
  626. package/src/themes/BusyIndicator.css +1 -0
  627. package/src/themes/CheckBox.css +1 -0
  628. package/src/themes/Icon.css +0 -4
  629. package/src/themes/ProgressIndicator.css +1 -1
  630. package/src/themes/StepInput.css +1 -0
  631. package/src/themes/TextArea.css +6 -3
  632. package/src/themes/sap_horizon/CheckBox-parameters.css +0 -1
  633. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +0 -1
  634. package/tsconfig.json +1 -0
  635. package/.dev-server-port +0 -1
  636. package/dist/DurationPicker.js +0 -312
  637. package/dist/assets/DurationPicker.d4e0845b.css +0 -1
  638. package/dist/assets/Popover.bde799ce.css +0 -1
  639. package/dist/assets/SAP-icons-TNT.9ee5f818.js +0 -1
  640. package/dist/assets/SAP-icons-business-suite.5e4d496e.js +0 -1
  641. package/dist/assets/SAP-icons-business-suite.7313c1b1.js +0 -1
  642. package/dist/assets/SAP-icons.216218d4.js +0 -1
  643. package/dist/assets/SAP-icons.4f7faebd.js +0 -1
  644. package/dist/assets/ar.c8a9c7c2.js +0 -1
  645. package/dist/assets/ar_EG.bc0b8c4a.js +0 -1
  646. package/dist/assets/ar_SA.e02fea0b.js +0 -1
  647. package/dist/assets/bg.1c4cbc9c.js +0 -1
  648. package/dist/assets/ca.a4e7480a.js +0 -1
  649. package/dist/assets/cs.e731c541.js +0 -1
  650. package/dist/assets/da.718b3439.js +0 -1
  651. package/dist/assets/de.ae411210.js +0 -1
  652. package/dist/assets/de_AT.cb17127f.js +0 -1
  653. package/dist/assets/de_CH.b0eaf2ed.js +0 -1
  654. package/dist/assets/el.7daeddb3.js +0 -1
  655. package/dist/assets/el_CY.dac8ac43.js +0 -1
  656. package/dist/assets/en.baed18b1.js +0 -1
  657. package/dist/assets/en_AU.8c929d24.js +0 -1
  658. package/dist/assets/en_GB.4e429aa6.js +0 -1
  659. package/dist/assets/en_HK.529b415b.js +0 -1
  660. package/dist/assets/en_IE.ff068141.js +0 -1
  661. package/dist/assets/en_IN.30d13a3a.js +0 -1
  662. package/dist/assets/en_NZ.2529c280.js +0 -1
  663. package/dist/assets/en_PG.649a81d5.js +0 -1
  664. package/dist/assets/en_SG.1fbf47e1.js +0 -1
  665. package/dist/assets/en_ZA.bb83c383.js +0 -1
  666. package/dist/assets/es.5d010a1f.js +0 -1
  667. package/dist/assets/es_AR.7f372ffe.js +0 -1
  668. package/dist/assets/es_BO.7ba05a1b.js +0 -1
  669. package/dist/assets/es_CL.a37af7ca.js +0 -1
  670. package/dist/assets/es_CO.36557bc1.js +0 -1
  671. package/dist/assets/es_MX.0539dea0.js +0 -1
  672. package/dist/assets/es_PE.925f6359.js +0 -1
  673. package/dist/assets/es_UY.c3cd8bb4.js +0 -1
  674. package/dist/assets/es_VE.6ee9a7fe.js +0 -1
  675. package/dist/assets/et.90440de4.js +0 -1
  676. package/dist/assets/fa.5717a297.js +0 -1
  677. package/dist/assets/fi.1bfca1c3.js +0 -1
  678. package/dist/assets/fr.491d3e0c.js +0 -1
  679. package/dist/assets/fr_BE.6ccfd56c.js +0 -1
  680. package/dist/assets/fr_CA.ffe12267.js +0 -1
  681. package/dist/assets/fr_CH.5d77b4bc.js +0 -1
  682. package/dist/assets/fr_LU.c07815db.js +0 -1
  683. package/dist/assets/he.79f10a9d.js +0 -1
  684. package/dist/assets/hi.29863484.js +0 -1
  685. package/dist/assets/hr.99813023.js +0 -1
  686. package/dist/assets/hu.23e0baa9.js +0 -1
  687. package/dist/assets/id.4c30fabd.js +0 -1
  688. package/dist/assets/it.528a18da.js +0 -1
  689. package/dist/assets/it_CH.87ff79eb.js +0 -1
  690. package/dist/assets/ja.8846f5e2.js +0 -1
  691. package/dist/assets/kk.01694e17.js +0 -1
  692. package/dist/assets/ko.d3b0053b.js +0 -1
  693. package/dist/assets/lt.a74d5456.js +0 -1
  694. package/dist/assets/lv.6831c2cc.js +0 -1
  695. package/dist/assets/messagebundle_ar.74efb031.js +0 -1
  696. package/dist/assets/messagebundle_bg.369c6fc8.js +0 -1
  697. package/dist/assets/messagebundle_ca.a3cd4b52.js +0 -1
  698. package/dist/assets/messagebundle_cs.289421ac.js +0 -1
  699. package/dist/assets/messagebundle_cy.b1830522.js +0 -1
  700. package/dist/assets/messagebundle_da.c05fe259.js +0 -1
  701. package/dist/assets/messagebundle_de.8a4032cc.js +0 -1
  702. package/dist/assets/messagebundle_el.7c63c645.js +0 -1
  703. package/dist/assets/messagebundle_en.6e890ca9.js +0 -1
  704. package/dist/assets/messagebundle_en_GB.6a665cc2.js +0 -1
  705. package/dist/assets/messagebundle_en_US_sappsd.9968eca8.js +0 -1
  706. package/dist/assets/messagebundle_en_US_saptrc.ce217732.js +0 -1
  707. package/dist/assets/messagebundle_es.0f0c4cdc.js +0 -1
  708. package/dist/assets/messagebundle_es_MX.f88d6e93.js +0 -1
  709. package/dist/assets/messagebundle_et.6e83e7fa.js +0 -1
  710. package/dist/assets/messagebundle_fi.ebcedd15.js +0 -1
  711. package/dist/assets/messagebundle_fr.f0c09c02.js +0 -1
  712. package/dist/assets/messagebundle_fr_CA.241e035f.js +0 -1
  713. package/dist/assets/messagebundle_hi.ea9222e3.js +0 -1
  714. package/dist/assets/messagebundle_hr.29b90b8a.js +0 -1
  715. package/dist/assets/messagebundle_hu.28f6367c.js +0 -1
  716. package/dist/assets/messagebundle_it.ef9f06fc.js +0 -1
  717. package/dist/assets/messagebundle_iw.52eeba6c.js +0 -1
  718. package/dist/assets/messagebundle_ja.54f39fb4.js +0 -1
  719. package/dist/assets/messagebundle_kk.4795b8bf.js +0 -1
  720. package/dist/assets/messagebundle_ko.298dee97.js +0 -1
  721. package/dist/assets/messagebundle_lt.50d45929.js +0 -1
  722. package/dist/assets/messagebundle_lv.6deb88b8.js +0 -1
  723. package/dist/assets/messagebundle_ms.0eb3e9fb.js +0 -1
  724. package/dist/assets/messagebundle_nl.d86b913f.js +0 -1
  725. package/dist/assets/messagebundle_no.4b4b68f9.js +0 -1
  726. package/dist/assets/messagebundle_pl.90d2d216.js +0 -1
  727. package/dist/assets/messagebundle_pt.682bdce3.js +0 -1
  728. package/dist/assets/messagebundle_pt_PT.5931734e.js +0 -1
  729. package/dist/assets/messagebundle_ro.c8b49647.js +0 -1
  730. package/dist/assets/messagebundle_ru.03b05c74.js +0 -1
  731. package/dist/assets/messagebundle_sh.d85d5fca.js +0 -1
  732. package/dist/assets/messagebundle_sk.0c356651.js +0 -1
  733. package/dist/assets/messagebundle_sl.6fbd00d2.js +0 -1
  734. package/dist/assets/messagebundle_sv.fd3992b5.js +0 -1
  735. package/dist/assets/messagebundle_th.69c4b78b.js +0 -1
  736. package/dist/assets/messagebundle_tr.f5e05dea.js +0 -1
  737. package/dist/assets/messagebundle_uk.8fe7f052.js +0 -1
  738. package/dist/assets/messagebundle_uk.e712215f.js +0 -1
  739. package/dist/assets/messagebundle_vi.dfccc988.js +0 -1
  740. package/dist/assets/messagebundle_zh_CN.0bec6825.js +0 -1
  741. package/dist/assets/messagebundle_zh_TW.be5ac4ff.js +0 -1
  742. package/dist/assets/ms.da64ef13.js +0 -1
  743. package/dist/assets/nb.06945878.js +0 -1
  744. package/dist/assets/nl.d0a7a73f.js +0 -1
  745. package/dist/assets/nl_BE.70dbb313.js +0 -1
  746. package/dist/assets/parameters-bundle.css.06915823.js +0 -1
  747. package/dist/assets/parameters-bundle.css.0fbb157c.js +0 -1
  748. package/dist/assets/parameters-bundle.css.1472a695.js +0 -1
  749. package/dist/assets/parameters-bundle.css.27f47e2c.js +0 -1
  750. package/dist/assets/parameters-bundle.css.3d177072.js +0 -1
  751. package/dist/assets/parameters-bundle.css.555b94dc.js +0 -1
  752. package/dist/assets/parameters-bundle.css.568a0fcb.js +0 -1
  753. package/dist/assets/parameters-bundle.css.83dc09a3.js +0 -1
  754. package/dist/assets/parameters-bundle.css.998f5591.js +0 -1
  755. package/dist/assets/parameters-bundle.css.aa4080ac.js +0 -1
  756. package/dist/assets/parameters-bundle.css.c5191133.js +0 -1
  757. package/dist/assets/parameters-bundle.css.dbd9833e.js +0 -1
  758. package/dist/assets/parameters-bundle.css.e59e43e9.js +0 -1
  759. package/dist/assets/parameters-bundle.css.ecedad1a.js +0 -1
  760. package/dist/assets/pl.695e03e0.js +0 -1
  761. package/dist/assets/pt.c917a469.js +0 -1
  762. package/dist/assets/pt_PT.0a89cd6c.js +0 -1
  763. package/dist/assets/ro.862460c6.js +0 -1
  764. package/dist/assets/ru.d1fa0fbb.js +0 -1
  765. package/dist/assets/ru_UA.37f83cbb.js +0 -1
  766. package/dist/assets/sk.c3dcbb2e.js +0 -1
  767. package/dist/assets/sl.a8e1c9c9.js +0 -1
  768. package/dist/assets/sr.8153af77.js +0 -1
  769. package/dist/assets/sr_Latn.99cb0a61.js +0 -1
  770. package/dist/assets/sv.bc115d54.js +0 -1
  771. package/dist/assets/th.688dbee7.js +0 -1
  772. package/dist/assets/tr.b0d6f870.js +0 -1
  773. package/dist/assets/uk.ab69fcaa.js +0 -1
  774. package/dist/assets/vi.5516bb07.js +0 -1
  775. package/dist/assets/zh_CN.f1932ba8.js +0 -1
  776. package/dist/assets/zh_HK.2a75a13d.js +0 -1
  777. package/dist/assets/zh_SG.bd55647f.js +0 -1
  778. package/dist/assets/zh_TW.2cab47aa.js +0 -1
  779. package/src/Assets-static.ts +0 -6
  780. package/src/Assets.ts +0 -7
  781. package/src/Avatar.ts +0 -422
  782. package/src/AvatarGroup.ts +0 -609
  783. package/src/Badge.ts +0 -133
  784. package/src/Breadcrumbs.ts +0 -665
  785. package/src/BreadcrumbsItem.ts +0 -93
  786. package/src/BusyIndicator.ts +0 -247
  787. package/src/Button.ts +0 -491
  788. package/src/Calendar.ts +0 -523
  789. package/src/CalendarDate.ts +0 -37
  790. package/src/CalendarHeader.ts +0 -205
  791. package/src/CalendarPart.ts +0 -100
  792. package/src/Card.ts +0 -139
  793. package/src/CardHeader.ts +0 -265
  794. package/src/Carousel.ts +0 -724
  795. package/src/CheckBox.ts +0 -462
  796. package/src/ColorPalette.ts +0 -492
  797. package/src/ColorPaletteItem.ts +0 -116
  798. package/src/ColorPalettePopover.ts +0 -234
  799. package/src/ColorPicker.ts +0 -524
  800. package/src/ComboBox.ts +0 -1229
  801. package/src/ComboBoxGroupItem.ts +0 -52
  802. package/src/ComboBoxItem.ts +0 -69
  803. package/src/CustomListItem.ts +0 -85
  804. package/src/DateComponentBase.ts +0 -173
  805. package/src/DatePicker.ts +0 -882
  806. package/src/DateRangePicker.ts +0 -370
  807. package/src/DateTimePicker.ts +0 -431
  808. package/src/DayPicker.ts +0 -805
  809. package/src/Dialog.ts +0 -702
  810. package/src/DurationPicker.js +0 -312
  811. package/src/FileUploader.ts +0 -511
  812. package/src/Filters.ts +0 -28
  813. package/src/GroupHeaderListItem.ts +0 -79
  814. package/src/Icon.ts +0 -423
  815. package/src/Input.ts +0 -1757
  816. package/src/Interfaces.ts +0 -202
  817. package/src/Label.ts +0 -136
  818. package/src/Link.ts +0 -397
  819. package/src/List.ts +0 -1129
  820. package/src/ListItem.ts +0 -498
  821. package/src/ListItemBase.ts +0 -165
  822. package/src/Menu.ts +0 -597
  823. package/src/MenuItem.ts +0 -169
  824. package/src/MessageStrip.ts +0 -232
  825. package/src/MonthPicker.ts +0 -345
  826. package/src/MultiComboBox.ts +0 -1698
  827. package/src/MultiComboBoxGroupItem.ts +0 -53
  828. package/src/MultiComboBoxItem.ts +0 -38
  829. package/src/MultiInput.ts +0 -379
  830. package/src/Option.ts +0 -119
  831. package/src/Panel.ts +0 -437
  832. package/src/Popover.ts +0 -850
  833. package/src/Popup.ts +0 -648
  834. package/src/ProgressIndicator.ts +0 -224
  835. package/src/RadioButton.ts +0 -518
  836. package/src/RadioButtonGroup.ts +0 -236
  837. package/src/RangeSlider.ts +0 -907
  838. package/src/RatingIndicator.ts +0 -315
  839. package/src/ResponsivePopover.ts +0 -227
  840. package/src/SegmentedButton.ts +0 -309
  841. package/src/SegmentedButtonItem.ts +0 -104
  842. package/src/Select.ts +0 -911
  843. package/src/Slider.ts +0 -364
  844. package/src/SliderBase.ts +0 -760
  845. package/src/SplitButton.ts +0 -410
  846. package/src/StandardListItem.ts +0 -212
  847. package/src/StepInput.ts +0 -636
  848. package/src/SuggestionGroupItem.ts +0 -49
  849. package/src/SuggestionItem.ts +0 -132
  850. package/src/SuggestionListItem.ts +0 -73
  851. package/src/Switch.ts +0 -291
  852. package/src/Tab.ts +0 -469
  853. package/src/TabContainer.ts +0 -1328
  854. package/src/TabSeparator.ts +0 -89
  855. package/src/Table.ts +0 -1289
  856. package/src/TableCell.ts +0 -71
  857. package/src/TableColumn.ts +0 -128
  858. package/src/TableGroupRow.ts +0 -146
  859. package/src/TableRow.ts +0 -492
  860. package/src/TextArea.ts +0 -703
  861. package/src/TimePicker.ts +0 -155
  862. package/src/TimePickerBase.ts +0 -494
  863. package/src/TimeSelection.ts +0 -510
  864. package/src/Title.ts +0 -110
  865. package/src/Toast.ts +0 -226
  866. package/src/ToggleButton.ts +0 -74
  867. package/src/Token.ts +0 -237
  868. package/src/Tokenizer.ts +0 -737
  869. package/src/Tree.ts +0 -509
  870. package/src/TreeItem.ts +0 -90
  871. package/src/TreeItemBase.ts +0 -410
  872. package/src/TreeItemCustom.ts +0 -89
  873. package/src/TreeList.ts +0 -44
  874. package/src/WheelSlider.ts +0 -432
  875. package/src/YearPicker.ts +0 -386
  876. package/src/features/ColorPaletteMoreColors.ts +0 -45
  877. package/src/features/InputElementsFormSupport.ts +0 -141
  878. package/src/features/InputSuggestions.ts +0 -669
  879. package/src/popup-utils/OpenedPopupsRegistry.ts +0 -76
  880. package/src/popup-utils/PopoverRegistry.ts +0 -166
  881. package/src/timepicker-utils/TimeSlider.ts +0 -120
  882. package/src/types/AvatarColorScheme.ts +0 -89
  883. package/src/types/AvatarGroupType.ts +0 -28
  884. package/src/types/AvatarShape.ts +0 -26
  885. package/src/types/AvatarSize.ts +0 -52
  886. package/src/types/BreadcrumbsDesign.ts +0 -28
  887. package/src/types/BreadcrumbsSeparatorStyle.ts +0 -55
  888. package/src/types/BusyIndicatorSize.ts +0 -33
  889. package/src/types/ButtonDesign.ts +0 -54
  890. package/src/types/CalendarPickersMode.ts +0 -34
  891. package/src/types/CalendarSelectionMode.ts +0 -33
  892. package/src/types/CarouselArrowsPlacement.ts +0 -26
  893. package/src/types/CarouselPageIndicatorStyle.ts +0 -27
  894. package/src/types/ComboBoxFilter.ts +0 -40
  895. package/src/types/HasPopup.ts +0 -47
  896. package/src/types/IconDesign.ts +0 -68
  897. package/src/types/InputType.ts +0 -54
  898. package/src/types/LinkDesign.ts +0 -33
  899. package/src/types/ListGrowingMode.ts +0 -34
  900. package/src/types/ListItemType.ts +0 -40
  901. package/src/types/ListMode.ts +0 -63
  902. package/src/types/ListSeparators.ts +0 -32
  903. package/src/types/MessageStripDesign.ts +0 -40
  904. package/src/types/PanelAccessibleRole.ts +0 -37
  905. package/src/types/PopoverHorizontalAlign.ts +0 -40
  906. package/src/types/PopoverPlacementType.ts +0 -40
  907. package/src/types/PopoverVerticalAlign.ts +0 -40
  908. package/src/types/PopupAccessibleRole.ts +0 -34
  909. package/src/types/Priority.ts +0 -40
  910. package/src/types/SemanticColor.ts +0 -47
  911. package/src/types/SwitchDesign.ts +0 -26
  912. package/src/types/TabContainerBackgroundDesign.ts +0 -33
  913. package/src/types/TabContainerTabsPlacement.ts +0 -26
  914. package/src/types/TabLayout.ts +0 -26
  915. package/src/types/TableColumnPopinDisplay.ts +0 -26
  916. package/src/types/TableGrowingMode.ts +0 -34
  917. package/src/types/TableMode.ts +0 -33
  918. package/src/types/TableRowType.ts +0 -26
  919. package/src/types/TabsOverflowMode.ts +0 -26
  920. package/src/types/TitleLevel.ts +0 -54
  921. package/src/types/ToastPlacement.ts +0 -77
  922. package/src/types/WrappingType.ts +0 -26
  923. /package/config/postcss.components/{postcss.config.js → postcss.config.cjs} +0 -0
  924. /package/config/postcss.themes/{postcss.config.js → postcss.config.cjs} +0 -0
  925. /package/dist/assets/{kitchen-scripts.7e433e08.css → kitchen-styles.7e433e08.css} +0 -0
  926. /package/{package-scripts.js → package-scripts.cjs} +0 -0
package/src/Input.ts DELETED
@@ -1,1757 +0,0 @@
1
- import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import property from "@ui5/webcomponents-base/dist/decorators/property.js";
3
- import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
4
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
- import event from "@ui5/webcomponents-base/dist/decorators/event.js";
6
- import type { ClassMap } from "@ui5/webcomponents-base/dist/types.js";
7
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
8
- import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
9
- import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
10
- import {
11
- isPhone,
12
- isAndroid,
13
- } from "@ui5/webcomponents-base/dist/Device.js";
14
- import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
15
- import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
16
- import {
17
- isUp,
18
- isDown,
19
- isSpace,
20
- isEnter,
21
- isBackSpace,
22
- isDelete,
23
- isEscape,
24
- isTabNext,
25
- isPageUp,
26
- isPageDown,
27
- isHome,
28
- isEnd,
29
- } from "@ui5/webcomponents-base/dist/Keys.js";
30
- import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
31
- import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
32
- import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
33
- import {
34
- getAssociatedLabelForTexts,
35
- getAllAccessibleNameRefTexts,
36
- registerUI5Element,
37
- deregisterUI5Element,
38
- } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
39
- import { getCaretPosition, setCaretPosition } from "@ui5/webcomponents-base/dist/util/Caret.js";
40
- import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
41
- import "@ui5/webcomponents-icons/dist/decline.js";
42
- import "@ui5/webcomponents-icons/dist/not-editable.js";
43
- import "@ui5/webcomponents-icons/dist/error.js";
44
- import "@ui5/webcomponents-icons/dist/alert.js";
45
- import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
46
- import "@ui5/webcomponents-icons/dist/information.js";
47
- import type SuggestionItem from "./SuggestionItem.js";
48
- import type { InputSuggestionText, SuggestionComponent } from "./features/InputSuggestions.js";
49
- import type InputSuggestions from "./features/InputSuggestions.js";
50
- import type FormSupportT from "./features/InputElementsFormSupport.js";
51
- import type { IFormElement } from "./features/InputElementsFormSupport.js";
52
- import type SuggestionListItem from "./SuggestionListItem.js";
53
- import type { PopupScrollEventDetail } from "./Popup.js";
54
- import InputType from "./types/InputType.js";
55
- import Popover from "./Popover.js";
56
- import Icon from "./Icon.js";
57
- // Templates
58
- import InputTemplate from "./generated/templates/InputTemplate.lit.js";
59
- import InputPopoverTemplate from "./generated/templates/InputPopoverTemplate.lit.js";
60
- import { StartsWith } from "./Filters.js";
61
-
62
- import {
63
- VALUE_STATE_SUCCESS,
64
- VALUE_STATE_INFORMATION,
65
- VALUE_STATE_ERROR,
66
- VALUE_STATE_WARNING,
67
- VALUE_STATE_TYPE_SUCCESS,
68
- VALUE_STATE_TYPE_INFORMATION,
69
- VALUE_STATE_TYPE_ERROR,
70
- VALUE_STATE_TYPE_WARNING,
71
- INPUT_SUGGESTIONS,
72
- INPUT_SUGGESTIONS_TITLE,
73
- INPUT_SUGGESTIONS_ONE_HIT,
74
- INPUT_SUGGESTIONS_MORE_HITS,
75
- INPUT_SUGGESTIONS_NO_HIT,
76
- } from "./generated/i18n/i18n-defaults.js";
77
-
78
- // Styles
79
- import inputStyles from "./generated/themes/Input.css.js";
80
- import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
81
- import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
82
- import SuggestionsCss from "./generated/themes/Suggestions.css.js";
83
-
84
- type NativeInputAttributes = {
85
- min?: number,
86
- max?: number,
87
- step?: number
88
- }
89
-
90
- type AccInfo = {
91
- ariaRoledescription?: string,
92
- ariaDescribedBy?: string,
93
- ariaHasPopup?: string,
94
- ariaAutoComplete?: string,
95
- role?: string,
96
- ariaControls?: string,
97
- ariaExpanded?: string,
98
- ariaDescription?: string,
99
- ariaLabel?: string,
100
- }
101
-
102
- // all sementic events
103
- enum INPUT_EVENTS {
104
- CHANGE = "change",
105
- INPUT = "input",
106
- SUGGESTION_ITEM_SELECT = "suggestion-item-select",
107
- }
108
-
109
- // all user interactions
110
- enum INPUT_ACTIONS {
111
- ACTION_ENTER = "enter",
112
- ACTION_USER_INPUT = "input",
113
- }
114
-
115
- type InputEventDetail = {
116
- inputType?: string;
117
- }
118
-
119
- type SuggestionItemSelectEventDetail = {
120
- item: SuggestionItem;
121
- }
122
-
123
- type SuggestionItemPreviewEventDetail = {
124
- item: SuggestionItem;
125
- targetRef: SuggestionListItem;
126
- }
127
-
128
- type SuggestionScrollEventDetail = {
129
- scrollTop: number;
130
- scrollContainer: HTMLElement;
131
- }
132
-
133
- /**
134
- * @class
135
- * <h3 class="comment-api-title">Overview</h3>
136
- *
137
- * The <code>ui5-input</code> component allows the user to enter and edit text or numeric values in one line.
138
- * <br>
139
- * Additionally, you can provide <code>suggestionItems</code>,
140
- * that are displayed in a popover right under the input.
141
- * <br><br>
142
- * The text field can be editable or read-only (<code>readonly</code> property),
143
- * and it can be enabled or disabled (<code>disabled</code> property).
144
- * To visualize semantic states, such as "error" or "warning", the <code>valueState</code> property is provided.
145
- * When the user makes changes to the text, the change event is fired,
146
- * which enables you to react on any text change.
147
- * <br><br>
148
- * <b>Note:</b> If you are using the <code>ui5-input</code> as a single npm module,
149
- * don't forget to import the <code>InputSuggestions</code> module from
150
- * "@ui5/webcomponents/dist/features/InputSuggestions.js"
151
- * to enable the suggestions functionality.
152
- *
153
- * <h3>Keyboard Handling</h3>
154
- * The <code>ui5-input</code> provides the following keyboard shortcuts:
155
- * <br>
156
- *
157
- * <ul>
158
- * <li>[ESC] - Closes the suggestion list, if open. If closed or not enabled, cancels changes and reverts to the value which the Input field had when it got the focus.</li>
159
- * <li>[ENTER] or [RETURN] - If suggestion list is open takes over the current matching item and closes it. If value state or group header is focused, does nothing.</li>
160
- * <li>[DOWN] - Focuses the next matching item in the suggestion list.</li>
161
- * <li>[UP] - Focuses the previous matching item in the suggestion list.</li>
162
- * <li>[HOME] - If focus is in the text input, moves caret before the first character. If focus is in the list, highlights the first item and updates the input accordingly.</li>
163
- * <li>[END] - If focus is in the text input, moves caret after the last character. If focus is in the list, highlights the last item and updates the input accordingly.</li>
164
- * <li>[PAGEUP] - If focus is in the list, moves highlight up by page size (10 items by default). If focus is in the input, does nothing.</li>
165
- * <li>[PAGEDOWN] - If focus is in the list, moves highlight down by page size (10 items by default). If focus is in the input, does nothing.</li>
166
- * </ul>
167
- *
168
- * <h3>ES6 Module Import</h3>
169
- *
170
- * <code>import "@ui5/webcomponents/dist/Input.js";</code>
171
- * <br>
172
- * <code>import "@ui5/webcomponents/dist/features/InputSuggestions.js";</code> (optional - for input suggestions support)
173
- *
174
- * @constructor
175
- * @author SAP SE
176
- * @alias sap.ui.webc.main.Input
177
- * @extends sap.ui.webc.base.UI5Element
178
- * @tagname ui5-input
179
- * @appenddocs sap.ui.webc.main.SuggestionItem sap.ui.webc.main.SuggestionGroupItem
180
- * @implements sap.ui.webc.main.IInput
181
- * @public
182
- */
183
- @customElement({
184
- tag: "ui5-input",
185
- languageAware: true,
186
- renderer: litRender,
187
- template: InputTemplate,
188
- staticAreaTemplate: InputPopoverTemplate,
189
- styles: inputStyles,
190
- staticAreaStyles: [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss],
191
- get dependencies() {
192
- const Suggestions = getFeature<typeof InputSuggestions>("InputSuggestions");
193
- return ([Popover, Icon] as Array<typeof UI5Element>).concat(Suggestions ? Suggestions.dependencies : []);
194
- },
195
- })
196
-
197
- /**
198
- * Fired when the input operation has finished by pressing Enter or on focusout.
199
- *
200
- * @event sap.ui.webc.main.Input#change
201
- * @public
202
- */
203
- @event("change")
204
-
205
- /**
206
- * Fired when the value of the component changes at each keystroke,
207
- * and when a suggestion item has been selected.
208
- *
209
- * @event sap.ui.webc.main.Input#input
210
- * @public
211
- */
212
- @event("input")
213
-
214
- /**
215
- * Fired when a suggestion item, that is displayed in the suggestion popup, is selected.
216
- *
217
- * @event sap.ui.webc.main.Input#suggestion-item-select
218
- * @param {HTMLElement} item The selected item.
219
- * @public
220
- */
221
- @event("suggestion-item-select", {
222
- detail: {
223
- item: { type: HTMLElement },
224
- },
225
- })
226
-
227
- /**
228
- * Fired when the user navigates to a suggestion item via the ARROW keys,
229
- * as a preview, before the final selection.
230
- *
231
- * @event sap.ui.webc.main.Input#suggestion-item-preview
232
- * @param {HTMLElement} item The previewed suggestion item.
233
- * @param {HTMLElement} targetRef The DOM ref of the suggestion item.
234
- * @public
235
- * @since 1.0.0-rc.8
236
- */
237
- @event("suggestion-item-preview", {
238
- detail: {
239
- item: { type: HTMLElement },
240
- targetRef: { type: HTMLElement },
241
- },
242
- })
243
-
244
- /**
245
- * Fired when the user scrolls the suggestion popover.
246
- *
247
- * @event sap.ui.webc.main.Input#suggestion-scroll
248
- * @param {Integer} scrollTop The current scroll position.
249
- * @param {HTMLElement} scrollContainer The scroll container.
250
- * @protected
251
- * @since 1.0.0-rc.8
252
- */
253
- @event("suggestion-scroll", {
254
- detail: {
255
- scrollTop: { type: Integer },
256
- scrollContainer: { type: HTMLElement },
257
- },
258
- })
259
- class Input extends UI5Element implements SuggestionComponent, IFormElement {
260
- /**
261
- * Defines whether the component is in disabled state.
262
- * <br><br>
263
- * <b>Note:</b> A disabled component is completely noninteractive.
264
- *
265
- * @type {boolean}
266
- * @name sap.ui.webc.main.Input.prototype.disabled
267
- * @defaultvalue false
268
- * @public
269
- */
270
- @property({ type: Boolean })
271
- disabled!: boolean;
272
-
273
- /**
274
- * Defines if characters within the suggestions are to be highlighted
275
- * in case the input value matches parts of the suggestions text.
276
- * <br><br>
277
- * <b>Note:</b> takes effect when <code>showSuggestions</code> is set to <code>true</code>
278
- *
279
- * @type {boolean}
280
- * @defaultvalue false
281
- * @private
282
- * @since 1.0.0-rc.8
283
- */
284
- @property({ type: Boolean })
285
- highlight!: boolean;
286
-
287
- /**
288
- * Defines a short hint intended to aid the user with data entry when the
289
- * component has no value.
290
- * @type {string}
291
- * @name sap.ui.webc.main.Input.prototype.placeholder
292
- * @defaultvalue ""
293
- * @public
294
- */
295
- @property()
296
- placeholder!: string;
297
-
298
- /**
299
- * Defines whether the component is read-only.
300
- * <br><br>
301
- * <b>Note:</b> A read-only component is not editable,
302
- * but still provides visual feedback upon user interaction.
303
- *
304
- * @type {boolean}
305
- * @name sap.ui.webc.main.Input.prototype.readonly
306
- * @defaultvalue false
307
- * @public
308
- */
309
- @property({ type: Boolean })
310
- readonly!: boolean;
311
-
312
- /**
313
- * Defines whether the component is required.
314
- *
315
- * @type {boolean}
316
- * @name sap.ui.webc.main.Input.prototype.required
317
- * @defaultvalue false
318
- * @public
319
- * @since 1.0.0-rc.3
320
- */
321
- @property({ type: Boolean })
322
- required!: boolean;
323
-
324
- /**
325
- * Defines whether the value will be autcompleted to match an item
326
- *
327
- * @type {boolean}
328
- * @name sap.ui.webc.main.Input.prototype.noTypeahead
329
- * @defaultvalue false
330
- * @public
331
- * @since 1.4.0
332
- */
333
- @property({ type: Boolean })
334
- noTypeahead!: boolean;
335
-
336
- /**
337
- * Defines the HTML type of the component.
338
- * Available options are: <code>Text</code>, <code>Email</code>,
339
- * <code>Number</code>, <code>Password</code>, <code>Tel</code>, and <code>URL</code>.
340
- * <br><br>
341
- * <b>Notes:</b>
342
- * <ul>
343
- * <li>The particular effect of this property differs depending on the browser
344
- * and the current language settings, especially for type <code>Number</code>.</li>
345
- * <li>The property is mostly intended to be used with touch devices
346
- * that use different soft keyboard layouts depending on the given input type.</li>
347
- * </ul>
348
- *
349
- * @type {sap.ui.webc.main.types.InputType}
350
- * @name sap.ui.webc.main.Input.prototype.type
351
- * @defaultvalue "Text"
352
- * @public
353
- */
354
- @property({ type: InputType, defaultValue: InputType.Text })
355
- type!: InputType;
356
-
357
- /**
358
- * Defines the value of the component.
359
- * <br><br>
360
- * <b>Note:</b> The property is updated upon typing.
361
- *
362
- * @type {string}
363
- * @name sap.ui.webc.main.Input.prototype.value
364
- * @defaultvalue ""
365
- * @formEvents change input
366
- * @formProperty
367
- * @public
368
- */
369
- @property()
370
- value!: string;
371
-
372
- /**
373
- * Defines the inner stored value of the component.
374
- * <br><br>
375
- * <b>Note:</b> The property is updated upon typing. In some special cases the old value is kept (e.g. deleting the value after the dot in a float)
376
- *
377
- * @type {string}
378
- * @defaultvalue ""
379
- * @private
380
- */
381
- @property({ noAttribute: true })
382
- _innerValue!: string;
383
-
384
- /**
385
- * Defines the value state of the component.
386
- * <br><br>
387
- * Available options are:
388
- * <ul>
389
- * <li><code>None</code></li>
390
- * <li><code>Error</code></li>
391
- * <li><code>Warning</code></li>
392
- * <li><code>Success</code></li>
393
- * <li><code>Information</code></li>
394
- * </ul>
395
- *
396
- * @type {sap.ui.webc.base.types.ValueState}
397
- * @name sap.ui.webc.main.Input.prototype.valueState
398
- * @defaultvalue "None"
399
- * @public
400
- */
401
- @property({ type: ValueState, defaultValue: ValueState.None })
402
- valueState!: ValueState;
403
-
404
- /**
405
- * Determines the name with which the component will be submitted in an HTML form.
406
- *
407
- * <br><br>
408
- * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
409
- * <code>import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";</code>
410
- *
411
- * <br><br>
412
- * <b>Note:</b> When set, a native <code>input</code> HTML element
413
- * will be created inside the component so that it can be submitted as
414
- * part of an HTML form. Do not use this property unless you need to submit a form.
415
- *
416
- * @type {string}
417
- * @name sap.ui.webc.main.Input.prototype.name
418
- * @defaultvalue ""
419
- * @public
420
- */
421
- @property()
422
- name!: string;
423
-
424
- /**
425
- * Defines whether the component should show suggestions, if such are present.
426
- * <br><br>
427
- * <b>Note:</b> You need to import the <code>InputSuggestions</code> module
428
- * from <code>"@ui5/webcomponents/dist/features/InputSuggestions.js"</code> to enable this functionality.
429
- * @type {boolean}
430
- * @name sap.ui.webc.main.Input.prototype.showSuggestions
431
- * @defaultvalue false
432
- * @public
433
- */
434
- @property({ type: Boolean })
435
- showSuggestions!: boolean;
436
-
437
- /**
438
- * Sets the maximum number of characters available in the input field.
439
- * <br><br>
440
- * <b>Note:</b> This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.
441
- * @type {sap.ui.webc.base.types.Integer}
442
- * @name sap.ui.webc.main.Input.prototype.maxlength
443
- * @since 1.0.0-rc.5
444
- * @public
445
- */
446
- @property({ validator: Integer })
447
- maxlength?: number;
448
-
449
- /**
450
- * Defines the accessible ARIA name of the component.
451
- *
452
- * @type {string}
453
- * @name sap.ui.webc.main.Input.prototype.accessibleName
454
- * @public
455
- * @since 1.0.0-rc.15
456
- */
457
- @property()
458
- accessibleName!: string;
459
-
460
- /**
461
- * Receives id(or many ids) of the elements that label the input.
462
- *
463
- * @type {string}
464
- * @name sap.ui.webc.main.Input.prototype.accessibleNameRef
465
- * @defaultvalue ""
466
- * @public
467
- * @since 1.0.0-rc.15
468
- */
469
- @property({ defaultValue: "" })
470
- accessibleNameRef!: string;
471
-
472
- /**
473
- * Defines whether the clear icon of the input will be shown.
474
- *
475
- * @type {boolean}
476
- * @name sap.ui.webc.main.Input.prototype.showClearIcon
477
- * @defaultvalue false
478
- * @public
479
- * @since 1.2.0
480
- */
481
- @property({ type: Boolean })
482
- showClearIcon!: boolean;
483
-
484
- /**
485
- * Defines whether the clear icon is visible.
486
- *
487
- * @type {boolean}
488
- * @defaultvalue false
489
- * @private
490
- * @since 1.2.0
491
- */
492
- @property({ type: Boolean })
493
- effectiveShowClearIcon!: boolean;
494
-
495
- /**
496
- * @private
497
- */
498
- @property({ type: Boolean })
499
- focused!: boolean;
500
-
501
- @property({ type: Boolean })
502
- openOnMobile!: boolean;
503
-
504
- @property({ type: Boolean })
505
- open!: boolean;
506
-
507
- /**
508
- * Determines whether to manually show the suggestions popover
509
- * @private
510
- */
511
- @property({ type: Boolean })
512
- _forceOpen!: boolean;
513
-
514
- /**
515
- * Indicates whether the visual focus is on the value state header
516
- * @private
517
- */
518
- @property({ type: Boolean })
519
- _isValueStateFocused!: boolean;
520
-
521
- @property({ type: Object, noAttribute: true })
522
- _inputAccInfo!: AccInfo;
523
-
524
- @property({ type: Object, noAttribute: true })
525
- _nativeInputAttributes!: NativeInputAttributes;
526
-
527
- @property({ validator: Integer })
528
- _inputWidth?: number;
529
-
530
- @property({ validator: Integer })
531
- _listWidth?: number;
532
-
533
- @property({ type: Boolean, noAttribute: true })
534
- _isPopoverOpen!: boolean;
535
-
536
- @property({ type: Boolean, noAttribute: true })
537
- _inputIconFocused!: boolean;
538
-
539
- /**
540
- * Constantly updated value of texts collected from the associated labels
541
- * @private
542
- */
543
- @property({ type: String, noAttribute: true, defaultValue: undefined })
544
- _associatedLabelsTexts?: string;
545
-
546
- /**
547
- * Constantly updated value of texts collected from the accessibleNameRef elements
548
- * @private
549
- */
550
- @property({ type: String, noAttribute: true, defaultValue: undefined })
551
- _accessibleLabelsRefTexts?: string;
552
-
553
- /**
554
- * Defines the suggestion items.
555
- * <br><br>
556
- * Example:
557
- * <br><br>
558
- * &lt;ui5-input show-suggestions><br>
559
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-suggestion-item text="Item #1">&lt;/ui5-suggestion-item><br>
560
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-suggestion-item text="Item #2">&lt;/ui5-suggestion-item><br>
561
- * &lt;/ui5-input>
562
- * <br>
563
- * <ui5-input show-suggestions>
564
- * <ui5-suggestion-group-item text="Group #1"></ui5-suggestion-group-item>
565
- * <ui5-suggestion-item text="Item #1"></ui5-suggestion-item>
566
- * <ui5-suggestion-item text="Item #2"></ui5-suggestion-item>
567
- * <ui5-suggestion-group-item text="Group #2"></ui5-suggestion-group-item>
568
- * <ui5-suggestion-item text="Item #3"></ui5-suggestion-item>
569
- * <ui5-suggestion-item text="Item #4"></ui5-suggestion-item>
570
- * </ui5-input>
571
- * <br><br>
572
- * <b>Note:</b> The suggestions would be displayed only if the <code>showSuggestions</code>
573
- * property is set to <code>true</code>.
574
- * <br><br>
575
- * <b>Note:</b> The <code>&lt;ui5-suggestion-item&gt;</code> and <code>&lt;ui5-suggestion-group-item&gt;</code> are recommended to be used as suggestion items.
576
- * <br><br>
577
- * <b>Note:</b> Importing the Input Suggestions Support feature:
578
- * <br>
579
- * <code>import "@ui5/webcomponents/dist/features/InputSuggestions.js";</code>
580
- * <br>
581
- * automatically imports the <code>&lt;ui5-suggestion-item></code> and <code>&lt;ui5-suggestion-group-item></code> for your convenience.
582
- *
583
- * @type {sap.ui.webc.main.IInputSuggestionItem[]}
584
- * @name sap.ui.webc.main.Input.prototype.default
585
- * @slot suggestionItems
586
- * @public
587
- */
588
- @slot({ type: HTMLElement, "default": true })
589
- suggestionItems!: Array<SuggestionItem>;
590
-
591
- /**
592
- * Defines the icon to be displayed in the component.
593
- *
594
- * @type {sap.ui.webc.main.IIcon[]}
595
- * @name sap.ui.webc.main.Input.prototype.icon
596
- * @slot
597
- * @public
598
- */
599
- @slot()
600
- icon!: Array<Icon>;
601
-
602
- /**
603
- * The slot is used for native <code>input</code> HTML element to enable form submit,
604
- * when <code>name</code> property is set.
605
- * @type {HTMLElement[]}
606
- * @private
607
- */
608
- @slot()
609
- formSupport!: Array<HTMLElement>;
610
-
611
- /**
612
- * Defines the value state message that will be displayed as pop up under the component.
613
- * <br><br>
614
- *
615
- * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
616
- * <br><br>
617
- * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
618
- * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
619
- * <br><br>
620
- * <b>Note:</b> If the component has <code>suggestionItems</code>,
621
- * the <code>valueStateMessage</code> would be displayed as part of the same popover, if used on desktop, or dialog - on phone.
622
- * @type {HTMLElement[]}
623
- * @name sap.ui.webc.main.Input.prototype.valueStateMessage
624
- * @since 1.0.0-rc.6
625
- * @slot
626
- * @public
627
- */
628
- @slot()
629
- valueStateMessage!: Array<HTMLElement>;
630
-
631
- hasSuggestionItemSelected: boolean;
632
- valueBeforeItemSelection: string;
633
- valueBeforeItemPreview: string
634
- suggestionSelectionCanceled: boolean;
635
- previousValue: string;
636
- firstRendering: boolean;
637
- typedInValue: string;
638
- lastConfirmedValue: string
639
- isTyping: boolean
640
- suggestionsTexts: Array<InputSuggestionText>;
641
- _handleResizeBound: ResizeObserverCallback;
642
- _keepInnerValue: boolean;
643
- _shouldAutocomplete?: boolean;
644
- _keyDown?: boolean;
645
- _isKeyNavigation?: boolean;
646
- Suggestions?: InputSuggestions;
647
- FormSupport?: typeof FormSupportT;
648
- _selectedText?: string;
649
- _clearIconClicked?: boolean;
650
- _focusedAfterClear: boolean;
651
- _previewItem?: SuggestionListItem;
652
- static i18nBundle: I18nBundle;
653
-
654
- constructor() {
655
- super();
656
- // Indicates if there is selected suggestionItem.
657
- this.hasSuggestionItemSelected = false;
658
-
659
- // Represents the value before user moves selection from suggestion item to another
660
- // and its value is updated after each move.
661
- // Note: Used to register and fire "input" event upon [SPACE] or [ENTER].
662
- // Note: The property "value" is updated upon selection move and can`t be used.
663
- this.valueBeforeItemSelection = "";
664
-
665
- // Represents the value before user moves selection between the suggestion items
666
- // and its value remains the same when the user navigates up or down the list.
667
- // Note: Used to cancel selection upon [ESC].
668
- this.valueBeforeItemPreview = "";
669
-
670
- // Indicates if the user selection has been canceled with [ESC].
671
- this.suggestionSelectionCanceled = false;
672
-
673
- // tracks the value between focus in and focus out to detect that change event should be fired.
674
- this.previousValue = "";
675
-
676
- // Indicates, if the component is rendering for first time.
677
- this.firstRendering = true;
678
-
679
- // The typed in value.
680
- this.typedInValue = "";
681
-
682
- // The last value confirmed by the user with "ENTER"
683
- this.lastConfirmedValue = "";
684
-
685
- // Indicates, if the user is typing. Gets reset once popup is closed
686
- this.isTyping = false;
687
-
688
- // Suggestions array initialization
689
- this.suggestionsTexts = [];
690
-
691
- this._handleResizeBound = this._handleResize.bind(this);
692
-
693
- this._keepInnerValue = false;
694
- this._focusedAfterClear = false;
695
- }
696
-
697
- onEnterDOM() {
698
- ResizeHandler.register(this, this._handleResizeBound);
699
- registerUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));
700
- }
701
-
702
- onExitDOM() {
703
- ResizeHandler.deregister(this, this._handleResizeBound);
704
- deregisterUI5Element(this);
705
- }
706
-
707
- onBeforeRendering() {
708
- if (!this._keepInnerValue) {
709
- this._innerValue = this.value;
710
- }
711
-
712
- if (this.showSuggestions) {
713
- this.enableSuggestions();
714
- this.suggestionsTexts = this.Suggestions!.defaultSlotProperties(this.typedInValue);
715
- }
716
-
717
- this.effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);
718
- this.style.setProperty("--_ui5-input-icons-count", `${this.iconsCount}`);
719
-
720
- this.FormSupport = getFeature<typeof FormSupportT>("FormSupport");
721
- const hasItems = !!this.suggestionItems.length;
722
- const hasValue = !!this.value;
723
- const isFocused = this.shadowRoot!.querySelector("input") === getActiveElement();
724
-
725
- if (this._isPhone) {
726
- this.open = this.openOnMobile;
727
- } else if (this._forceOpen) {
728
- this.open = true;
729
- } else {
730
- this.open = hasValue && hasItems && isFocused && this.isTyping;
731
- }
732
-
733
- if (this.FormSupport) {
734
- this.FormSupport.syncNativeHiddenInput(this);
735
- } else if (this.name) {
736
- console.warn(`In order for the "name" property to have effect, you should also: import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";`); // eslint-disable-line
737
- }
738
-
739
- const value = this.value;
740
- const innerInput = this.getInputDOMRefSync();
741
-
742
- if (!innerInput || !value) {
743
- return;
744
- }
745
-
746
- const autoCompletedChars = innerInput.selectionEnd! - innerInput.selectionStart!;
747
-
748
- // Typehead causes issues on Android devices, so we disable it for now
749
- // If there is already a selection the autocomplete has already been performed
750
- if (this._shouldAutocomplete && !isAndroid() && !autoCompletedChars && !this._isKeyNavigation) {
751
- const item = this._getFirstMatchingItem(value);
752
- if (item) {
753
- this._handleTypeAhead(item, value);
754
- }
755
- }
756
- }
757
-
758
- async onAfterRendering() {
759
- if (this.Suggestions && this.showSuggestions) {
760
- this.Suggestions.toggle(this.open, {
761
- preventFocusRestore: true,
762
- });
763
-
764
- this._listWidth = await this.Suggestions._getListWidth();
765
- }
766
-
767
- if (this.shouldDisplayOnlyValueStateMessage) {
768
- this.openPopover();
769
- } else {
770
- this.closePopover();
771
- }
772
- }
773
-
774
- _onkeydown(e: KeyboardEvent) {
775
- this._isKeyNavigation = true;
776
- this._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(e) || isDelete(e) || isEscape(e));
777
-
778
- if (isUp(e)) {
779
- return this._handleUp(e);
780
- }
781
-
782
- if (isDown(e)) {
783
- return this._handleDown(e);
784
- }
785
-
786
- if (isSpace(e)) {
787
- return this._handleSpace(e);
788
- }
789
-
790
- if (isTabNext(e)) {
791
- return this._handleTab();
792
- }
793
-
794
- if (isEnter(e)) {
795
- return this._handleEnter(e);
796
- }
797
-
798
- if (isPageUp(e)) {
799
- return this._handlePageUp(e);
800
- }
801
-
802
- if (isPageDown(e)) {
803
- return this._handlePageDown(e);
804
- }
805
-
806
- if (isHome(e)) {
807
- return this._handleHome(e);
808
- }
809
-
810
- if (isEnd(e)) {
811
- return this._handleEnd(e);
812
- }
813
-
814
- if (isEscape(e)) {
815
- return this._handleEscape();
816
- }
817
-
818
- if (this.showSuggestions) {
819
- this._clearPopoverFocusAndSelection();
820
- }
821
-
822
- this._keyDown = true;
823
- this._isKeyNavigation = false;
824
- }
825
-
826
- _onkeyup(e: KeyboardEvent) {
827
- // The native Delete event does not update the value property "on time".
828
- // So, the (native) change event is always fired with the old value
829
- if (isDelete(e)) {
830
- this.value = (e.target as HTMLInputElement).value;
831
- }
832
-
833
- this._keyDown = false;
834
- }
835
-
836
- _handleUp(e: KeyboardEvent) {
837
- if (this.Suggestions && this.Suggestions.isOpened()) {
838
- this.Suggestions.onUp(e);
839
- }
840
- }
841
-
842
- _handleDown(e: KeyboardEvent) {
843
- if (this.Suggestions && this.Suggestions.isOpened()) {
844
- this.Suggestions.onDown(e);
845
- }
846
- }
847
-
848
- _handleSpace(e: KeyboardEvent) {
849
- if (this.Suggestions) {
850
- this.Suggestions.onSpace(e);
851
- }
852
- }
853
-
854
- _handleTab() {
855
- if (this.Suggestions && (this.previousValue !== this.value)) {
856
- this.Suggestions.onTab();
857
- }
858
- }
859
-
860
- _handleEnter(e: KeyboardEvent) {
861
- const itemPressed = !!(this.Suggestions && this.Suggestions.onEnter(e));
862
- const innerInput = this.getInputDOMRefSync()!;
863
- // Check for autocompleted item
864
- const matchingItem = this.suggestionItems.find(item => {
865
- return (item.text && item.text === this.value) || (item.textContent === this.value);
866
- });
867
-
868
- if (matchingItem) {
869
- const itemText = matchingItem.text ? matchingItem.text : (matchingItem.textContent || "");
870
-
871
- innerInput.setSelectionRange(itemText.length, itemText.length);
872
- if (!itemPressed) {
873
- this.selectSuggestion(matchingItem, true);
874
- this.open = false;
875
- }
876
- }
877
-
878
- if (this._isPhone && !this.suggestionItems.length && !this.isTypeNumber) {
879
- innerInput.setSelectionRange(this.value.length, this.value.length);
880
- }
881
-
882
- if (!itemPressed) {
883
- this.lastConfirmedValue = this.value;
884
-
885
- if (this.FormSupport) {
886
- this.FormSupport.triggerFormSubmit(this);
887
- }
888
-
889
- return;
890
- }
891
-
892
- this.focused = true;
893
- }
894
-
895
- _handlePageUp(e: KeyboardEvent) {
896
- if (this._isSuggestionsFocused) {
897
- this.Suggestions!.onPageUp(e);
898
- } else {
899
- e.preventDefault();
900
- }
901
- }
902
-
903
- _handlePageDown(e: KeyboardEvent) {
904
- if (this._isSuggestionsFocused) {
905
- this.Suggestions!.onPageDown(e);
906
- } else {
907
- e.preventDefault();
908
- }
909
- }
910
-
911
- _handleHome(e: KeyboardEvent) {
912
- if (this._isSuggestionsFocused) {
913
- this.Suggestions!.onHome(e);
914
- }
915
- }
916
-
917
- _handleEnd(e: KeyboardEvent) {
918
- if (this._isSuggestionsFocused) {
919
- this.Suggestions!.onEnd(e);
920
- }
921
- }
922
-
923
- _handleEscape() {
924
- const hasSuggestions = this.showSuggestions && !!this.Suggestions;
925
- const isOpen = hasSuggestions && this.open;
926
- const innerInput = this.getInputDOMRefSync()!;
927
- const isAutoCompleted = innerInput.selectionEnd! - innerInput.selectionStart! > 0;
928
-
929
- this.isTyping = false;
930
-
931
- if (!isOpen) {
932
- this.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;
933
- return;
934
- }
935
-
936
- if (isOpen && this.Suggestions!._isItemOnTarget()) {
937
- // Restore the value.
938
- this.value = this.typedInValue || this.valueBeforeItemPreview;
939
-
940
- // Mark that the selection has been canceled, so the popover can close
941
- // and not reopen, due to receiving focus.
942
- this.suggestionSelectionCanceled = true;
943
- this.focused = true;
944
-
945
- return;
946
- }
947
-
948
- if (isAutoCompleted) {
949
- this.value = this.typedInValue;
950
- }
951
-
952
- if (this._isValueStateFocused) {
953
- this._isValueStateFocused = false;
954
- this.focused = true;
955
- }
956
- }
957
-
958
- async _onfocusin(e: FocusEvent) {
959
- await this.getInputDOMRef();
960
-
961
- this.focused = true; // invalidating property
962
-
963
- if (!this._focusedAfterClear) {
964
- this.previousValue = this.value;
965
- }
966
-
967
- this.valueBeforeItemPreview = this.value;
968
- this._inputIconFocused = !!e.target && e.target === this.querySelector<Icon>("[ui5-icon]");
969
- this._focusedAfterClear = false;
970
- }
971
-
972
- _onfocusout(e: FocusEvent) {
973
- const toBeFocused = e.relatedTarget as HTMLElement;
974
- const focusedOutToSuggestions = this.Suggestions && toBeFocused && toBeFocused.shadowRoot && toBeFocused.shadowRoot.contains(this.Suggestions.responsivePopover as Node);
975
- const focusedOutToValueStateMessage = toBeFocused && toBeFocused.shadowRoot && toBeFocused.shadowRoot.querySelector(".ui5-valuestatemessage-root");
976
-
977
- this._keepInnerValue = false;
978
-
979
- if (this.showClearIcon && !this.effectiveShowClearIcon) {
980
- this._clearIconClicked = false;
981
- this._handleChange();
982
- }
983
-
984
- // if focusout is triggered by pressing on suggestion item or value state message popover, skip invalidation, because re-rendering
985
- // will happen before "itemPress" event, which will make item "active" state not visualized
986
- if (focusedOutToSuggestions || focusedOutToValueStateMessage) {
987
- e.stopImmediatePropagation();
988
- return;
989
- }
990
-
991
- if (toBeFocused && (toBeFocused).classList.contains(this._id)) {
992
- return;
993
- }
994
-
995
- this.open = false;
996
- this._clearPopoverFocusAndSelection();
997
-
998
- if (!this._clearIconClicked) {
999
- this.previousValue = "";
1000
- }
1001
-
1002
- this.lastConfirmedValue = "";
1003
- this.focused = false; // invalidating property
1004
- this.isTyping = false;
1005
- this._forceOpen = false;
1006
- }
1007
-
1008
- _clearPopoverFocusAndSelection() {
1009
- if (!this.showSuggestions || !this.Suggestions) {
1010
- return;
1011
- }
1012
-
1013
- this._isValueStateFocused = false;
1014
- this.hasSuggestionItemSelected = false;
1015
-
1016
- this.Suggestions._deselectItems();
1017
- this.Suggestions._clearItemFocus();
1018
- }
1019
-
1020
- _click() {
1021
- if (isPhone() && !this.readonly && this.Suggestions) {
1022
- this.blur();
1023
- this.openOnMobile = true;
1024
- }
1025
- }
1026
-
1027
- _handleChange() {
1028
- if (this._clearIconClicked) {
1029
- this._clearIconClicked = false;
1030
- return;
1031
- }
1032
-
1033
- if (this.previousValue !== this.getInputDOMRefSync()!.value) {
1034
- this.fireEvent(INPUT_EVENTS.CHANGE);
1035
- this.previousValue = this.value;
1036
- }
1037
- }
1038
-
1039
- _clear() {
1040
- this.value = "";
1041
- this.fireEvent<InputEventDetail>(INPUT_EVENTS.INPUT);
1042
- if (!this._isPhone) {
1043
- this.focus();
1044
- this._focusedAfterClear = true;
1045
- }
1046
- }
1047
-
1048
- _iconMouseDown() {
1049
- this._clearIconClicked = true;
1050
- }
1051
-
1052
- _scroll(e: CustomEvent<PopupScrollEventDetail>) {
1053
- this.fireEvent<SuggestionScrollEventDetail>("suggestion-scroll", {
1054
- scrollTop: e.detail.scrollTop,
1055
- scrollContainer: e.detail.targetRef,
1056
- });
1057
- }
1058
-
1059
- _handleInput(e: InputEvent | CustomEvent<InputEventDetail>) {
1060
- const inputDomRef = this.getInputDOMRefSync();
1061
- const emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef!.value;
1062
- const eventType: string = (e as InputEvent).inputType
1063
- || (e.detail && (e as CustomEvent<InputEventDetail>).detail.inputType!)
1064
- || "";
1065
- this._keepInnerValue = false;
1066
-
1067
- const allowedEventTypes = [
1068
- "deleteWordBackward",
1069
- "deleteWordForward",
1070
- "deleteSoftLineBackward",
1071
- "deleteSoftLineForward",
1072
- "deleteEntireSoftLine",
1073
- "deleteHardLineBackward",
1074
- "deleteHardLineForward",
1075
- "deleteByDrag",
1076
- "deleteByCut",
1077
- "deleteContent",
1078
- "deleteContentBackward",
1079
- "deleteContentForward",
1080
- "historyUndo",
1081
- ];
1082
-
1083
- this._shouldAutocomplete = !allowedEventTypes.includes(eventType) && !this.noTypeahead;
1084
- this.suggestionSelectionCanceled = false;
1085
-
1086
- if (e instanceof InputEvent) {
1087
- // ---- Special cases of numeric Input ----
1088
- // ---------------- Start -----------------
1089
-
1090
- // When the last character after the delimiter is removed.
1091
- // In such cases, we want to skip the re-rendering of the
1092
- // component as this leads to cursor repositioning and causes user experience issues.
1093
-
1094
- // There are few scenarios:
1095
- // Example: type "123.4" and press BACKSPACE - the native input is firing event with the whole part as value (123).
1096
- // Pressing BACKSPACE again will remove the delimiter and the native input will fire event with the whole part as value again (123).
1097
- // Example: type "123.456", select/mark "456" and press BACKSPACE - the native input is firing event with the whole part as value (123).
1098
- // Example: type "123.456", select/mark "123.456" and press BACKSPACE - the native input is firing event with empty value.
1099
- const delimiterCase = this.isTypeNumber
1100
- && (e.inputType === "deleteContentForward" || e.inputType === "deleteContentBackward")
1101
- && !(e.target as HTMLInputElement).value.includes(".")
1102
- && this.value.includes(".");
1103
-
1104
- // Handle special numeric notation with "e", example "12.5e12"
1105
- const eNotationCase = emptyValueFiredOnNumberInput && e.data === "e";
1106
-
1107
- // Handle special numeric notation with "-", example "-3"
1108
- // When pressing BACKSPACE, the native input fires event with empty value
1109
- const minusRemovalCase = emptyValueFiredOnNumberInput
1110
- && this.value.startsWith("-")
1111
- && this.value.length === 2
1112
- && (e.inputType === "deleteContentForward" || e.inputType === "deleteContentBackward");
1113
-
1114
- if (delimiterCase || eNotationCase || minusRemovalCase) {
1115
- this.value = (e.target as HTMLInputElement).value;
1116
- this._keepInnerValue = true;
1117
- }
1118
- // ----------------- End ------------------
1119
- }
1120
-
1121
- if (e.target === inputDomRef) {
1122
- this.focused = true;
1123
-
1124
- // stop the native event, as the semantic "input" would be fired.
1125
- e.stopImmediatePropagation();
1126
- }
1127
-
1128
- this.fireEventByAction(INPUT_ACTIONS.ACTION_ENTER, e as InputEvent);
1129
-
1130
- this.hasSuggestionItemSelected = false;
1131
- this._isValueStateFocused = false;
1132
-
1133
- if (this.Suggestions) {
1134
- this.Suggestions.updateSelectedItemPosition(-1);
1135
- }
1136
-
1137
- this.isTyping = true;
1138
- }
1139
-
1140
- _startsWithMatchingItems(str: string): Array<SuggestionItem> {
1141
- const textProp = this.suggestionItems[0].text ? "text" : "textContent";
1142
-
1143
- return StartsWith(str, this.suggestionItems, textProp);
1144
- }
1145
-
1146
- _getFirstMatchingItem(current: string) {
1147
- if (!this.suggestionItems.length) {
1148
- return;
1149
- }
1150
-
1151
- const matchingItems = this._startsWithMatchingItems(current).filter(item => !item.groupItem);
1152
-
1153
- if (matchingItems.length) {
1154
- return matchingItems[0];
1155
- }
1156
- }
1157
-
1158
- _handleTypeAhead(item: SuggestionItem, filterValue: string) {
1159
- const value = item.text ? item.text : item.textContent || "";
1160
- const innerInput = this.getInputDOMRefSync()!;
1161
-
1162
- filterValue = filterValue || "";
1163
- this._innerValue = value;
1164
- this.value = value;
1165
-
1166
- innerInput.value = value;
1167
- setTimeout(() => {
1168
- innerInput.setSelectionRange(filterValue.length, value.length);
1169
- }, 0);
1170
-
1171
- this._shouldAutocomplete = false;
1172
- }
1173
-
1174
- _handleResize() {
1175
- this._inputWidth = this.offsetWidth;
1176
- }
1177
-
1178
- _updateAssociatedLabelsTexts() {
1179
- this._associatedLabelsTexts = getAssociatedLabelForTexts(this);
1180
- this._accessibleLabelsRefTexts = getAllAccessibleNameRefTexts(this);
1181
- }
1182
-
1183
- _closeRespPopover() {
1184
- this.Suggestions!.close(true);
1185
- }
1186
-
1187
- async _afterOpenPopover() {
1188
- // Set initial focus to the native input
1189
- if (isPhone()) {
1190
- (await this.getInputDOMRef())!.focus();
1191
- }
1192
- }
1193
-
1194
- _afterClosePopover() {
1195
- this.announceSelectedItem();
1196
-
1197
- // close device's keyboard and prevent further typing
1198
- if (isPhone()) {
1199
- this.blur();
1200
- this.focused = false;
1201
- }
1202
-
1203
- this.openOnMobile = false;
1204
- this.open = false;
1205
- this._forceOpen = false;
1206
- }
1207
-
1208
- /**
1209
- * Checks if the value state popover is open.
1210
- * @returns {boolean} true if the value state popover is open, false otherwise
1211
- */
1212
- isValueStateOpened() {
1213
- return !!this._isPopoverOpen;
1214
- }
1215
-
1216
- async openPopover() {
1217
- const popover = await this._getPopover();
1218
-
1219
- if (popover) {
1220
- this._isPopoverOpen = true;
1221
- popover.showAt(this);
1222
- }
1223
- }
1224
-
1225
- async closePopover() {
1226
- const popover = await this._getPopover();
1227
-
1228
- popover && popover.close();
1229
- }
1230
-
1231
- async _getPopover() {
1232
- const staticAreaItem = await this.getStaticAreaItemDomRef();
1233
- return staticAreaItem!.querySelector<Popover>("[ui5-popover]")!;
1234
- }
1235
-
1236
- /**
1237
- * Manually opens the suggestions popover, assuming suggestions are enabled. Items must be preloaded for it to open.
1238
- * @public
1239
- * @method
1240
- * @name sap.ui.webc.main.Input#openPicker
1241
- * @return {void}
1242
- * @since 1.3.0
1243
- */
1244
- openPicker() {
1245
- if (!this.suggestionItems.length || this.disabled || this.readonly) {
1246
- return;
1247
- }
1248
-
1249
- this._forceOpen = true;
1250
- }
1251
-
1252
- enableSuggestions() {
1253
- if (this.Suggestions) {
1254
- return;
1255
- }
1256
-
1257
- const Suggestions = getFeature<typeof InputSuggestions>("InputSuggestions");
1258
-
1259
- if (Suggestions) {
1260
- this.Suggestions = new Suggestions(this, "suggestionItems", true, false);
1261
- } else {
1262
- throw new Error(`You have to import "@ui5/webcomponents/dist/features/InputSuggestions.js" module to use ui5-input suggestions`);
1263
- }
1264
- }
1265
-
1266
- selectSuggestion(item: SuggestionItem, keyboardUsed: boolean) {
1267
- if (item.groupItem) {
1268
- return;
1269
- }
1270
-
1271
- const innerInput = this.getInputDOMRefSync()!;
1272
- const value = this.typedInValue || this.value;
1273
- const itemText = item.text || item.textContent || ""; // keep textContent for compatibility
1274
- const fireInput = keyboardUsed
1275
- ? this.valueBeforeItemSelection !== itemText : value !== itemText;
1276
-
1277
- this.hasSuggestionItemSelected = true;
1278
-
1279
- if (fireInput) {
1280
- this.value = itemText;
1281
- this.valueBeforeItemSelection = itemText;
1282
- this.lastConfirmedValue = itemText;
1283
- innerInput.value = itemText;
1284
- this.fireEvent<InputEventDetail>(INPUT_EVENTS.INPUT);
1285
- this._handleChange();
1286
- innerInput.setSelectionRange(this.value.length, this.value.length);
1287
- }
1288
-
1289
- this.valueBeforeItemPreview = "";
1290
- this.suggestionSelectionCanceled = false;
1291
-
1292
- this.fireEvent<SuggestionItemSelectEventDetail>(INPUT_EVENTS.SUGGESTION_ITEM_SELECT, { item });
1293
-
1294
- this.isTyping = false;
1295
- this.openOnMobile = false;
1296
- this._forceOpen = false;
1297
- }
1298
-
1299
- previewSuggestion(item: SuggestionListItem) {
1300
- this.valueBeforeItemSelection = this.value;
1301
- this.updateValueOnPreview(item);
1302
- this.announceSelectedItem();
1303
- this._previewItem = item;
1304
- }
1305
-
1306
- /**
1307
- * Updates the input value on item preview.
1308
- * @param {Object} item The item that is on preview
1309
- */
1310
- updateValueOnPreview(item: SuggestionListItem) {
1311
- const noPreview = item.type === "Inactive" || item.groupItem;
1312
- const innerInput = this.getInputDOMRefSync()!;
1313
- const itemValue = noPreview ? this.valueBeforeItemPreview : (item.effectiveTitle || item.textContent || "");
1314
-
1315
- this.value = itemValue;
1316
- innerInput.value = itemValue;
1317
- innerInput.setSelectionRange(this.typedInValue.length, this.value.length);
1318
- }
1319
-
1320
- /**
1321
- * The suggestion item on preview.
1322
- * @type {sap.ui.webc.main.IInputSuggestionItem | null}
1323
- * @name sap.ui.webc.main.Input.prototype.previewItem
1324
- * @readonly
1325
- * @public
1326
- */
1327
- get previewItem() {
1328
- if (!this._previewItem) {
1329
- return null;
1330
- }
1331
-
1332
- return this.getSuggestionByListItem(this._previewItem);
1333
- }
1334
-
1335
- async fireEventByAction(action: INPUT_ACTIONS, e: InputEvent) {
1336
- if (this.disabled || this.readonly) {
1337
- return;
1338
- }
1339
-
1340
- const inputValue = await this.getInputValue();
1341
- const isUserInput = action === INPUT_ACTIONS.ACTION_ENTER;
1342
-
1343
- this.value = inputValue;
1344
- this.typedInValue = inputValue;
1345
- this.valueBeforeItemPreview = inputValue;
1346
-
1347
- if (isUserInput) { // input
1348
- this.fireEvent<InputEventDetail>(INPUT_EVENTS.INPUT, { inputType: e.inputType });
1349
- // Angular two way data binding
1350
- this.fireEvent("value-changed");
1351
- }
1352
- }
1353
-
1354
- async getInputValue() {
1355
- const domRef = this.getDomRef();
1356
-
1357
- if (domRef) {
1358
- return (await this.getInputDOMRef())!.value;
1359
- }
1360
- return "";
1361
- }
1362
-
1363
- async getInputDOMRef() {
1364
- if (isPhone() && this.Suggestions) {
1365
- await this.Suggestions._getSuggestionPopover();
1366
- return this.Suggestions.responsivePopover!.querySelector<Input>(".ui5-input-inner-phone")!;
1367
- }
1368
-
1369
- return this.nativeInput;
1370
- }
1371
-
1372
- getInputDOMRefSync() {
1373
- if (isPhone() && this.Suggestions && this.Suggestions.responsivePopover) {
1374
- return this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone")!.shadowRoot!.querySelector<HTMLInputElement>("input")!;
1375
- }
1376
-
1377
- return this.nativeInput;
1378
- }
1379
-
1380
- /**
1381
- * Returns a reference to the native input element
1382
- * @protected
1383
- */
1384
- get nativeInput() {
1385
- const domRef = this.getDomRef();
1386
-
1387
- return domRef ? domRef.querySelector<HTMLInputElement>(`input`) : null;
1388
- }
1389
-
1390
- get nativeInputWidth() {
1391
- return this.nativeInput ? this.nativeInput.offsetWidth : 0;
1392
- }
1393
-
1394
- getLabelableElementId() {
1395
- return this.getInputId();
1396
- }
1397
-
1398
- getSuggestionByListItem(item: SuggestionListItem): SuggestionItem {
1399
- const key = parseInt(item.getAttribute("data-ui5-key")!);
1400
- return this.suggestionItems[key];
1401
- }
1402
-
1403
- /**
1404
- * Returns if the suggestions popover is scrollable.
1405
- * The method returns <code>Promise</code> that resolves to true,
1406
- * if the popup is scrollable and false otherwise.
1407
- * @returns {Promise}
1408
- */
1409
- isSuggestionsScrollable() {
1410
- if (!this.Suggestions) {
1411
- return Promise.resolve(false);
1412
- }
1413
-
1414
- return this.Suggestions._isScrollable();
1415
- }
1416
-
1417
- getInputId() {
1418
- return `${this._id}-inner`;
1419
- }
1420
-
1421
- /* Suggestions interface */
1422
- onItemMouseOver(e: MouseEvent) {
1423
- const item = e.target as SuggestionListItem;
1424
- const suggestion = this.getSuggestionByListItem(item);
1425
- suggestion && suggestion.fireEvent("mouseover", {
1426
- item: suggestion,
1427
- targetRef: item,
1428
- });
1429
- }
1430
-
1431
- onItemMouseOut(e: MouseEvent) {
1432
- const item = e.target as SuggestionListItem;
1433
- const suggestion = this.getSuggestionByListItem(item);
1434
- suggestion && suggestion.fireEvent("mouseout", {
1435
- item: suggestion,
1436
- targetRef: item,
1437
- });
1438
- }
1439
-
1440
- onItemMouseDown(e: MouseEvent) {
1441
- e.preventDefault();
1442
- }
1443
-
1444
- onItemSelected(item: SuggestionItem, keyboardUsed: boolean) {
1445
- this.selectSuggestion(item, keyboardUsed);
1446
- }
1447
-
1448
- onItemPreviewed(item: SuggestionListItem) {
1449
- this.previewSuggestion(item);
1450
- this.fireEvent<SuggestionItemPreviewEventDetail>("suggestion-item-preview", {
1451
- item: this.getSuggestionByListItem(item),
1452
- targetRef: item,
1453
- });
1454
- }
1455
-
1456
- get valueStateTypeMappings() {
1457
- return {
1458
- "Success": Input.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),
1459
- "Information": Input.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),
1460
- "Error": Input.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),
1461
- "Warning": Input.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),
1462
- };
1463
- }
1464
-
1465
- valueStateTextMappings() {
1466
- return {
1467
- "Success": Input.i18nBundle.getText(VALUE_STATE_SUCCESS),
1468
- "Information": Input.i18nBundle.getText(VALUE_STATE_INFORMATION),
1469
- "Error": Input.i18nBundle.getText(VALUE_STATE_ERROR),
1470
- "Warning": Input.i18nBundle.getText(VALUE_STATE_WARNING),
1471
- };
1472
- }
1473
-
1474
- announceSelectedItem() {
1475
- const invisibleText = this.shadowRoot!.querySelector(`#${this._id}-selectionText`)!;
1476
-
1477
- if (this.Suggestions && this.Suggestions._isItemOnTarget()) {
1478
- invisibleText.textContent = this.itemSelectionAnnounce;
1479
- } else {
1480
- invisibleText.textContent = "";
1481
- }
1482
- }
1483
-
1484
- get _readonly() {
1485
- return this.readonly && !this.disabled;
1486
- }
1487
-
1488
- get _headerTitleText() {
1489
- return Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1490
- }
1491
-
1492
- get inputType() {
1493
- return this.type.toLowerCase();
1494
- }
1495
-
1496
- get isTypeNumber() {
1497
- return this.type === InputType.Number;
1498
- }
1499
-
1500
- get suggestionsTextId() {
1501
- return this.showSuggestions ? `${this._id}-suggestionsText` : "";
1502
- }
1503
-
1504
- get valueStateTextId() {
1505
- return this.hasValueState ? `${this._id}-valueStateDesc` : "";
1506
- }
1507
-
1508
- get accInfo() {
1509
- const ariaHasPopupDefault = this.showSuggestions ? "true" : undefined;
1510
- const ariaAutoCompleteDefault = this.showSuggestions ? "list" : undefined;
1511
- const ariaDescribedBy = this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim();
1512
-
1513
- const info = {
1514
- "input": {
1515
- "ariaRoledescription": this._inputAccInfo && (this._inputAccInfo.ariaRoledescription || undefined),
1516
- "ariaDescribedBy": ariaDescribedBy || undefined,
1517
- "ariaInvalid": this.valueState === ValueState.Error ? "true" : undefined,
1518
- "ariaHasPopup": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,
1519
- "ariaAutoComplete": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,
1520
- "role": this._inputAccInfo && this._inputAccInfo.role,
1521
- "ariaControls": this._inputAccInfo && this._inputAccInfo.ariaControls,
1522
- "ariaExpanded": this._inputAccInfo && this._inputAccInfo.ariaExpanded,
1523
- "ariaDescription": this._inputAccInfo && this._inputAccInfo.ariaDescription,
1524
- "ariaLabel": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || this._accessibleLabelsRefTexts || this.accessibleName || this._associatedLabelsTexts || undefined,
1525
- },
1526
- };
1527
- return info;
1528
- }
1529
-
1530
- get nativeInputAttributes() {
1531
- return {
1532
- "min": this.isTypeNumber ? this._nativeInputAttributes.min : undefined,
1533
- "max": this.isTypeNumber ? this._nativeInputAttributes.max : undefined,
1534
- "step": this.isTypeNumber ? (this._nativeInputAttributes.step || "any") : undefined,
1535
- };
1536
- }
1537
-
1538
- get ariaValueStateHiddenText() {
1539
- if (!this.hasValueState) {
1540
- return;
1541
- }
1542
-
1543
- const valueState = this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : "";
1544
-
1545
- if (this.shouldDisplayDefaultValueStateMessage) {
1546
- return this.valueStateText ? `${valueState} ${this.valueStateText}` : valueState;
1547
- }
1548
-
1549
- return `${valueState}`.concat(" ", this.valueStateMessageText.map(el => el.textContent).join(" "));
1550
- }
1551
-
1552
- get itemSelectionAnnounce() {
1553
- return this.Suggestions ? this.Suggestions.itemSelectionAnnounce : "";
1554
- }
1555
-
1556
- get iconsCount(): number {
1557
- const slottedIconsCount = this.icon ? this.icon.length : 0;
1558
- const clearIconCount = Number(this.effectiveShowClearIcon) ?? 0;
1559
- return slottedIconsCount + clearIconCount;
1560
- }
1561
-
1562
- get classes(): ClassMap {
1563
- return {
1564
- popover: {
1565
- "ui5-suggestions-popover": !this._isPhone && this.showSuggestions,
1566
- "ui5-suggestions-popover-with-value-state-header": !this._isPhone && this.showSuggestions && this.hasValueStateMessage,
1567
- },
1568
- popoverValueState: {
1569
- "ui5-valuestatemessage-root": true,
1570
- "ui5-valuestatemessage-header": true,
1571
- "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
1572
- "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
1573
- "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
1574
- "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
1575
- },
1576
- };
1577
- }
1578
-
1579
- get styles() {
1580
- const remSizeIxPx = parseInt(getComputedStyle(document.documentElement).fontSize);
1581
-
1582
- const stylesObject = {
1583
- popoverHeader: {
1584
- "max-width": this._inputWidth ? `${this._inputWidth}px` : "",
1585
- },
1586
- suggestionPopoverHeader: {
1587
- "display": this._listWidth === 0 ? "none" : "inline-block",
1588
- "width": this._listWidth ? `${this._listWidth}px` : "",
1589
- },
1590
- suggestionsPopover: {
1591
- "min-width": this._inputWidth ? `${this._inputWidth}px` : "",
1592
- "max-width": this._inputWidth && (this._inputWidth / remSizeIxPx) > 40 ? `${this._inputWidth}px` : "40rem",
1593
- },
1594
- innerInput: {
1595
- "padding": "",
1596
- },
1597
- };
1598
-
1599
- return stylesObject;
1600
- }
1601
-
1602
- get suggestionSeparators() {
1603
- return "None";
1604
- }
1605
-
1606
- get valueStateMessageText() {
1607
- return this.getSlottedNodes("valueStateMessage").map(el => el.cloneNode(true));
1608
- }
1609
-
1610
- get shouldDisplayOnlyValueStateMessage() {
1611
- return this.hasValueStateMessage && !this.readonly && !this.open && this.focused;
1612
- }
1613
-
1614
- get shouldDisplayDefaultValueStateMessage() {
1615
- return !this.valueStateMessage.length && this.hasValueStateMessage;
1616
- }
1617
-
1618
- get hasValueState() {
1619
- return this.valueState !== ValueState.None;
1620
- }
1621
-
1622
- get hasValueStateMessage() {
1623
- return this.hasValueState && this.valueState !== ValueState.Success
1624
- && (!this._inputIconFocused // Handles the cases when valueStateMessage is forwarded (from datepicker e.g.)
1625
- || !!(this._isPhone && this.Suggestions)); // Handles Input with suggestions on mobile
1626
- }
1627
-
1628
- get valueStateText() {
1629
- return this.valueState !== ValueState.None ? this.valueStateTextMappings()[this.valueState] : undefined;
1630
- }
1631
-
1632
- get suggestionsText() {
1633
- return Input.i18nBundle.getText(INPUT_SUGGESTIONS);
1634
- }
1635
-
1636
- get availableSuggestionsCount() {
1637
- if (this.showSuggestions && (this.value || this.Suggestions!.isOpened())) {
1638
- switch (this.suggestionsTexts.length) {
1639
- case 0:
1640
- return Input.i18nBundle.getText(INPUT_SUGGESTIONS_NO_HIT);
1641
-
1642
- case 1:
1643
- return Input.i18nBundle.getText(INPUT_SUGGESTIONS_ONE_HIT);
1644
-
1645
- default:
1646
- return Input.i18nBundle.getText(INPUT_SUGGESTIONS_MORE_HITS, this.suggestionsTexts.length);
1647
- }
1648
- }
1649
-
1650
- return undefined;
1651
- }
1652
-
1653
- get step() {
1654
- return this.isTypeNumber ? "any" : undefined;
1655
- }
1656
-
1657
- get _isPhone() {
1658
- return isPhone();
1659
- }
1660
-
1661
- get _isSuggestionsFocused() {
1662
- return !this.focused && this.Suggestions && this.Suggestions.isOpened();
1663
- }
1664
-
1665
- /**
1666
- * Returns the placeholder value.
1667
- * @protected
1668
- */
1669
- get _placeholder() {
1670
- return this.placeholder;
1671
- }
1672
-
1673
- /**
1674
- * This method is relevant for sap_horizon theme only
1675
- */
1676
- get _valueStateInputIcon() {
1677
- const iconPerValueState = {
1678
- Error: `<path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20ZM7.70711 13.7071C7.31658 14.0976 6.68342 14.0976 6.29289 13.7071C5.90237 13.3166 5.90237 12.6834 6.29289 12.2929L8.58579 10L6.29289 7.70711C5.90237 7.31658 5.90237 6.68342 6.29289 6.29289C6.68342 5.90237 7.31658 5.90237 7.70711 6.29289L10 8.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L11.4142 10L13.7071 12.2929C14.0976 12.6834 14.0976 13.3166 13.7071 13.7071C13.3166 14.0976 12.6834 14.0976 12.2929 13.7071L10 11.4142L7.70711 13.7071Z" fill="#EE3939"/>`,
1679
- Warning: `<path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M11.8619 0.49298C11.6823 0.187541 11.3544 0 11 0C10.6456 0 10.3177 0.187541 10.1381 0.49298L0.138066 17.493C-0.0438112 17.8022 -0.0461447 18.1851 0.13195 18.4965C0.310046 18.8079 0.641283 19 1 19H21C21.3587 19 21.69 18.8079 21.868 18.4965C22.0461 18.1851 22.0438 17.8022 21.8619 17.493L11.8619 0.49298ZM11 6C11.5523 6 12 6.44772 12 7V10C12 10.5523 11.5523 11 11 11C10.4477 11 10 10.5523 10 10V7C10 6.44772 10.4477 6 11 6ZM11 16C11.8284 16 12.5 15.3284 12.5 14.5C12.5 13.6716 11.8284 13 11 13C10.1716 13 9.5 13.6716 9.5 14.5C9.5 15.3284 10.1716 16 11 16Z" fill="#F58B00"/>`,
1680
- Success: `<path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M0 10C0 15.5228 4.47715 20 10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10ZM14.7071 6.29289C14.3166 5.90237 13.6834 5.90237 13.2929 6.29289L8 11.5858L6.70711 10.2929C6.31658 9.90237 5.68342 9.90237 5.29289 10.2929C4.90237 10.6834 4.90237 11.3166 5.29289 11.7071L7.29289 13.7071C7.68342 14.0976 8.31658 14.0976 8.70711 13.7071L14.7071 7.70711C15.0976 7.31658 15.0976 6.68342 14.7071 6.29289Z" fill="#36A41D"/>`,
1681
- Information: `<path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M3 0C1.34315 0 0 1.34315 0 3V15C0 16.6569 1.34315 18 3 18H15C16.6569 18 18 16.6569 18 15V3C18 1.34315 16.6569 0 15 0H3ZM9 6.5C9.82843 6.5 10.5 5.82843 10.5 5C10.5 4.17157 9.82843 3.5 9 3.5C8.17157 3.5 7.5 4.17157 7.5 5C7.5 5.82843 8.17157 6.5 9 6.5ZM9 8.5C9.55228 8.5 10 8.94772 10 9.5V13.5C10 14.0523 9.55228 14.5 9 14.5C8.44771 14.5 8 14.0523 8 13.5V9.5C8 8.94772 8.44771 8.5 9 8.5Z" fill="#1B90FF"/>`,
1682
- };
1683
-
1684
- if (this.valueState !== ValueState.None) {
1685
- return `
1686
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="20" viewBox="0 0 20 20" fill="none">
1687
- ${iconPerValueState[this.valueState]};
1688
- </svg>
1689
- `;
1690
- }
1691
-
1692
- return "";
1693
- }
1694
-
1695
- get _valueStatePopoverHorizontalAlign() {
1696
- return this.effectiveDir !== "rtl" ? "Left" : "Right";
1697
- }
1698
-
1699
- /**
1700
- * This method is relevant for sap_horizon theme only
1701
- */
1702
- get _valueStateMessageInputIcon() {
1703
- const iconPerValueState = {
1704
- Error: "error",
1705
- Warning: "alert",
1706
- Success: "sys-enter-2",
1707
- Information: "information",
1708
- };
1709
-
1710
- return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
1711
- }
1712
-
1713
- /**
1714
- * Returns the caret position inside the native input
1715
- * @protected
1716
- */
1717
- getCaretPosition(): number | null {
1718
- return getCaretPosition(this.nativeInput!);
1719
- }
1720
-
1721
- /**
1722
- * Sets the caret to a certain position inside the native input
1723
- * @protected
1724
- * @param pos
1725
- */
1726
- setCaretPosition(pos: number | null) {
1727
- setCaretPosition(this.nativeInput!, pos);
1728
- }
1729
-
1730
- /**
1731
- * Removes the fractional part of floating-point number.
1732
- * @param {string} value the numeric value of Input of type "Number"
1733
- */
1734
- removeFractionalPart(value: string) {
1735
- if (value.includes(".")) {
1736
- return value.slice(0, value.indexOf("."));
1737
- }
1738
- if (value.includes(",")) {
1739
- return value.slice(0, value.indexOf(","));
1740
- }
1741
-
1742
- return value;
1743
- }
1744
-
1745
- static async onDefine() {
1746
- const Suggestions = getFeature<typeof InputSuggestions>("InputSuggestions");
1747
-
1748
- [Input.i18nBundle] = await Promise.all([
1749
- getI18nBundle("@ui5/webcomponents"),
1750
- Suggestions ? Suggestions.init() : Promise.resolve(),
1751
- ]);
1752
- }
1753
- }
1754
-
1755
- Input.define();
1756
-
1757
- export default Input;