@ui5/webcomponents 0.0.0-97cba4b0b → 0.0.0-99b763015

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 (848) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/Assets-static.js.map +1 -1
  3. package/dist/Assets.js.map +1 -1
  4. package/dist/Avatar.d.ts +1 -1
  5. package/dist/Avatar.js.map +1 -1
  6. package/dist/AvatarGroup.js.map +1 -1
  7. package/dist/Badge.js.map +1 -1
  8. package/dist/Breadcrumbs.js.map +1 -1
  9. package/dist/BreadcrumbsItem.js.map +1 -1
  10. package/dist/BusyIndicator.js.map +1 -1
  11. package/dist/Button.d.ts +1 -1
  12. package/dist/Button.js.map +1 -1
  13. package/dist/Calendar.js.map +1 -1
  14. package/dist/CalendarDate.js.map +1 -1
  15. package/dist/CalendarHeader.js.map +1 -1
  16. package/dist/CalendarPart.js.map +1 -1
  17. package/dist/Card.js.map +1 -1
  18. package/dist/CardHeader.js.map +1 -1
  19. package/dist/Carousel.js.map +1 -1
  20. package/dist/CheckBox.js.map +1 -1
  21. package/dist/ColorPalette.js.map +1 -1
  22. package/dist/ColorPaletteItem.js.map +1 -1
  23. package/dist/ColorPalettePopover.js.map +1 -1
  24. package/dist/ColorPicker.js.map +1 -1
  25. package/dist/ComboBox.js.map +1 -1
  26. package/dist/ComboBoxGroupItem.js.map +1 -1
  27. package/dist/ComboBoxItem.js.map +1 -1
  28. package/dist/CustomListItem.js.map +1 -1
  29. package/dist/DateComponentBase.js.map +1 -1
  30. package/dist/DatePicker.d.ts +1 -1
  31. package/dist/DatePicker.js +10 -7
  32. package/dist/DatePicker.js.map +1 -1
  33. package/dist/DateRangePicker.js.map +1 -1
  34. package/dist/DateTimePicker.d.ts +1 -1
  35. package/dist/DateTimePicker.js +1 -1
  36. package/dist/DateTimePicker.js.map +1 -1
  37. package/dist/DayPicker.js.map +1 -1
  38. package/dist/Dialog.js.map +1 -1
  39. package/dist/FileUploader.js.map +1 -1
  40. package/dist/Filters.js.map +1 -1
  41. package/dist/GroupHeaderListItem.js.map +1 -1
  42. package/dist/Icon.d.ts +10 -10
  43. package/dist/Icon.js +7 -7
  44. package/dist/Icon.js.map +1 -1
  45. package/dist/Input.d.ts +2 -1
  46. package/dist/Input.js +30 -16
  47. package/dist/Input.js.map +1 -1
  48. package/dist/Interfaces.js.map +1 -1
  49. package/dist/Label.js.map +1 -1
  50. package/dist/Link.js.map +1 -1
  51. package/dist/List.js.map +1 -1
  52. package/dist/ListItem.js.map +1 -1
  53. package/dist/ListItemBase.js.map +1 -1
  54. package/dist/Menu.js.map +1 -1
  55. package/dist/MenuItem.d.ts +1 -1
  56. package/dist/MenuItem.js.map +1 -1
  57. package/dist/MessageStrip.d.ts +1 -1
  58. package/dist/MessageStrip.js.map +1 -1
  59. package/dist/MonthPicker.js.map +1 -1
  60. package/dist/MultiComboBox.js.map +1 -1
  61. package/dist/MultiComboBoxGroupItem.js.map +1 -1
  62. package/dist/MultiComboBoxItem.js.map +1 -1
  63. package/dist/MultiInput.js.map +1 -1
  64. package/dist/Option.d.ts +1 -1
  65. package/dist/Option.js.map +1 -1
  66. package/dist/Panel.js.map +1 -1
  67. package/dist/Popover.d.ts +1 -0
  68. package/dist/Popover.js +18 -6
  69. package/dist/Popover.js.map +1 -1
  70. package/dist/Popup.js.map +1 -1
  71. package/dist/ProgressIndicator.js.map +1 -1
  72. package/dist/RadioButton.js.map +1 -1
  73. package/dist/RadioButtonGroup.js.map +1 -1
  74. package/dist/RangeSlider.js.map +1 -1
  75. package/dist/RatingIndicator.js.map +1 -1
  76. package/dist/ResponsivePopover.js.map +1 -1
  77. package/dist/SegmentedButton.js.map +1 -1
  78. package/dist/SegmentedButtonItem.js.map +1 -1
  79. package/dist/Select.js.map +1 -1
  80. package/dist/Slider.js.map +1 -1
  81. package/dist/SliderBase.js.map +1 -1
  82. package/dist/SplitButton.d.ts +2 -1
  83. package/dist/SplitButton.js +3 -0
  84. package/dist/SplitButton.js.map +1 -1
  85. package/dist/StandardListItem.d.ts +1 -1
  86. package/dist/StandardListItem.js.map +1 -1
  87. package/dist/StepInput.js.map +1 -1
  88. package/dist/SuggestionGroupItem.js.map +1 -1
  89. package/dist/SuggestionItem.d.ts +1 -1
  90. package/dist/SuggestionItem.js.map +1 -1
  91. package/dist/SuggestionListItem.js.map +1 -1
  92. package/dist/Switch.js.map +1 -1
  93. package/dist/Tab.d.ts +1 -1
  94. package/dist/Tab.js.map +1 -1
  95. package/dist/TabContainer.js.map +1 -1
  96. package/dist/TabSeparator.js.map +1 -1
  97. package/dist/Table.d.ts +1 -1
  98. package/dist/Table.js +1 -1
  99. package/dist/Table.js.map +1 -1
  100. package/dist/TableCell.js.map +1 -1
  101. package/dist/TableColumn.js.map +1 -1
  102. package/dist/TableGroupRow.js.map +1 -1
  103. package/dist/TableRow.js.map +1 -1
  104. package/dist/TextArea.js.map +1 -1
  105. package/dist/TimePicker.d.ts +1 -1
  106. package/dist/TimePicker.js +1 -1
  107. package/dist/TimePicker.js.map +1 -1
  108. package/dist/TimePickerBase.js +1 -1
  109. package/dist/TimePickerBase.js.map +1 -1
  110. package/dist/TimeSelection.js.map +1 -1
  111. package/dist/Title.js.map +1 -1
  112. package/dist/Toast.js.map +1 -1
  113. package/dist/ToggleButton.js.map +1 -1
  114. package/dist/Token.js.map +1 -1
  115. package/dist/Tokenizer.js.map +1 -1
  116. package/dist/Tree.js.map +1 -1
  117. package/dist/TreeItem.js.map +1 -1
  118. package/dist/TreeItemBase.js.map +1 -1
  119. package/dist/TreeItemCustom.d.ts +1 -1
  120. package/dist/TreeItemCustom.js +1 -1
  121. package/dist/TreeItemCustom.js.map +1 -1
  122. package/dist/TreeList.js.map +1 -1
  123. package/dist/WheelSlider.js.map +1 -1
  124. package/dist/YearPicker.js.map +1 -1
  125. package/dist/api.json +1 -1
  126. package/dist/assets/Popover.366b9193.css +1 -0
  127. package/dist/assets/SAP-icons-TNT.0ab30112.js +1 -0
  128. package/dist/assets/{SAP-icons-TNT.91a61c6d.js → SAP-icons-TNT.198a2fb9.js} +1 -1
  129. package/dist/assets/SAP-icons.535f5f87.js +1 -0
  130. package/dist/assets/SAP-icons.8ad12244.js +1 -0
  131. package/dist/assets/ar.79bcdac6.js +1 -0
  132. package/dist/assets/ar_EG.317b7da4.js +1 -0
  133. package/dist/assets/ar_SA.47fa752a.js +1 -0
  134. package/dist/assets/bg.9fa59b57.js +1 -0
  135. package/dist/assets/ca.33231602.js +1 -0
  136. package/dist/assets/cs.c6834326.js +1 -0
  137. package/dist/assets/da.7d6c5c63.js +1 -0
  138. package/dist/assets/de.034ba268.js +1 -0
  139. package/dist/assets/de_AT.c6f8b56c.js +1 -0
  140. package/dist/assets/de_CH.fbb1fd8b.js +1 -0
  141. package/dist/assets/el.a52af6dd.js +1 -0
  142. package/dist/assets/el_CY.dfc81973.js +1 -0
  143. package/dist/assets/en.9d5e30c6.js +1 -0
  144. package/dist/assets/en_AU.af8c9202.js +1 -0
  145. package/dist/assets/en_GB.e07779d4.js +1 -0
  146. package/dist/assets/en_HK.bdda93ce.js +1 -0
  147. package/dist/assets/en_IE.81db172b.js +1 -0
  148. package/dist/assets/en_IN.dc6c4aa0.js +1 -0
  149. package/dist/assets/en_NZ.a287ea30.js +1 -0
  150. package/dist/assets/en_PG.a841abf3.js +1 -0
  151. package/dist/assets/en_SG.a8c53dc3.js +1 -0
  152. package/dist/assets/en_ZA.e412e4cb.js +1 -0
  153. package/dist/assets/es.a8053ce5.js +1 -0
  154. package/dist/assets/es_AR.400678e2.js +1 -0
  155. package/dist/assets/es_BO.5d505e47.js +1 -0
  156. package/dist/assets/es_CL.a6e4a80b.js +1 -0
  157. package/dist/assets/es_CO.1f7597a4.js +1 -0
  158. package/dist/assets/es_MX.9164aad6.js +1 -0
  159. package/dist/assets/es_PE.85c8a5f4.js +1 -0
  160. package/dist/assets/es_UY.4b0bd2f1.js +1 -0
  161. package/dist/assets/es_VE.194a01d7.js +1 -0
  162. package/dist/assets/et.1ba4add0.js +1 -0
  163. package/dist/assets/fa.e60c18ea.js +1 -0
  164. package/dist/assets/fi.2b63587f.js +1 -0
  165. package/dist/assets/fr.f21ec134.js +1 -0
  166. package/dist/assets/fr_BE.bf9d2736.js +1 -0
  167. package/dist/assets/fr_CA.47fa4dde.js +1 -0
  168. package/dist/assets/fr_CH.6c03e6c0.js +1 -0
  169. package/dist/assets/fr_LU.19d18947.js +1 -0
  170. package/dist/assets/he.fd2788ce.js +1 -0
  171. package/dist/assets/hi.df686f37.js +1 -0
  172. package/dist/assets/hr.9540378d.js +1 -0
  173. package/dist/assets/hu.7fc5a600.js +1 -0
  174. package/dist/assets/id.a727d950.js +1 -0
  175. package/dist/assets/it.11c23822.js +1 -0
  176. package/dist/assets/it_CH.0daa9b0b.js +1 -0
  177. package/dist/assets/ja.65e8d301.js +1 -0
  178. package/dist/assets/{kitchen-scripts.f2c8101e.js → kitchen-scripts.4ffb6cdb.js} +1 -1
  179. package/dist/assets/kk.a1e73b3f.js +1 -0
  180. package/dist/assets/ko.3a143713.js +1 -0
  181. package/dist/assets/lt.5ff0cdf7.js +1 -0
  182. package/dist/assets/lv.d37ad18b.js +1 -0
  183. package/dist/assets/messagebundle_ar.4a952712.js +1 -0
  184. package/dist/assets/messagebundle_bg.005d394d.js +1 -0
  185. package/dist/assets/messagebundle_ca.42a55677.js +1 -0
  186. package/dist/assets/messagebundle_cs.af423fbd.js +1 -0
  187. package/dist/assets/messagebundle_cy.dbe56ca5.js +1 -0
  188. package/dist/assets/messagebundle_da.8c1bf79d.js +1 -0
  189. package/dist/assets/messagebundle_de.07dbdade.js +1 -0
  190. package/dist/assets/messagebundle_el.60b0af39.js +1 -0
  191. package/dist/assets/messagebundle_en.7bf1186a.js +1 -0
  192. package/dist/assets/messagebundle_en_GB.74ca8ab1.js +1 -0
  193. package/dist/assets/{messagebundle_en_US_saprigi.4fc3019b.js → messagebundle_en_US_saprigi.8f67a54b.js} +1 -1
  194. package/dist/assets/messagebundle_es.0cc30b6e.js +1 -0
  195. package/dist/assets/messagebundle_es_MX.af835417.js +1 -0
  196. package/dist/assets/messagebundle_et.f0b9692c.js +1 -0
  197. package/dist/assets/messagebundle_fi.ce799ebc.js +1 -0
  198. package/dist/assets/messagebundle_fr.138d08d9.js +1 -0
  199. package/dist/assets/messagebundle_fr_CA.21862365.js +1 -0
  200. package/dist/assets/messagebundle_hi.36d322e9.js +1 -0
  201. package/dist/assets/messagebundle_hr.aca7500d.js +1 -0
  202. package/dist/assets/messagebundle_hu.cd5bc60e.js +1 -0
  203. package/dist/assets/messagebundle_it.707234b5.js +1 -0
  204. package/dist/assets/messagebundle_iw.80b7ae6a.js +1 -0
  205. package/dist/assets/messagebundle_ja.54ced6c6.js +1 -0
  206. package/dist/assets/messagebundle_kk.29fafd2d.js +1 -0
  207. package/dist/assets/messagebundle_ko.8f74bc59.js +1 -0
  208. package/dist/assets/messagebundle_lt.d8c67fb7.js +1 -0
  209. package/dist/assets/messagebundle_lv.3a838a47.js +1 -0
  210. package/dist/assets/messagebundle_ms.57fb5eb8.js +1 -0
  211. package/dist/assets/messagebundle_nl.e091d15c.js +1 -0
  212. package/dist/assets/messagebundle_no.11207bec.js +1 -0
  213. package/dist/assets/messagebundle_pl.a642af11.js +1 -0
  214. package/dist/assets/messagebundle_pt.150a4c67.js +1 -0
  215. package/dist/assets/messagebundle_pt_PT.9c822d87.js +1 -0
  216. package/dist/assets/messagebundle_ro.8a4e217c.js +1 -0
  217. package/dist/assets/messagebundle_ru.3ab0178d.js +1 -0
  218. package/dist/assets/messagebundle_sh.67fd26db.js +1 -0
  219. package/dist/assets/messagebundle_sk.d5b20773.js +1 -0
  220. package/dist/assets/messagebundle_sl.2d887b8e.js +1 -0
  221. package/dist/assets/messagebundle_sv.e4cae15c.js +1 -0
  222. package/dist/assets/messagebundle_th.50b9123a.js +1 -0
  223. package/dist/assets/messagebundle_tr.6ea45efc.js +1 -0
  224. package/dist/assets/messagebundle_uk.9705fda1.js +1 -0
  225. package/dist/assets/messagebundle_uk.ed0a7c66.js +1 -0
  226. package/dist/assets/messagebundle_vi.fd114413.js +1 -0
  227. package/dist/assets/messagebundle_zh_CN.0f26b4c2.js +1 -0
  228. package/dist/assets/messagebundle_zh_TW.26f10b28.js +1 -0
  229. package/dist/assets/ms.073a5293.js +1 -0
  230. package/dist/assets/nb.2ac5f938.js +1 -0
  231. package/dist/assets/nl.32e385c8.js +1 -0
  232. package/dist/assets/nl_BE.5f2ba97a.js +1 -0
  233. package/dist/assets/pl.6bedf0c8.js +1 -0
  234. package/dist/assets/pt.98edc8e1.js +1 -0
  235. package/dist/assets/pt_PT.6026aa4b.js +1 -0
  236. package/dist/assets/ro.93c0d8c1.js +1 -0
  237. package/dist/assets/ru.0222a174.js +1 -0
  238. package/dist/assets/ru_UA.a32ee2f1.js +1 -0
  239. package/dist/assets/sk.42921e02.js +1 -0
  240. package/dist/assets/sl.2cdea3d5.js +1 -0
  241. package/dist/assets/sr.204807ce.js +1 -0
  242. package/dist/assets/sr_Latn.be10667b.js +1 -0
  243. package/dist/assets/sv.6ace6bc0.js +1 -0
  244. package/dist/assets/th.cb59bba6.js +1 -0
  245. package/dist/assets/tr.6fe122f4.js +1 -0
  246. package/dist/assets/uk.812ee10f.js +1 -0
  247. package/dist/assets/vi.33e14ba9.js +1 -0
  248. package/dist/assets/zh_CN.f23435f2.js +1 -0
  249. package/dist/assets/zh_HK.efe9e5bf.js +1 -0
  250. package/dist/assets/zh_SG.25dc8c02.js +1 -0
  251. package/dist/assets/zh_TW.a566ed25.js +1 -0
  252. package/dist/css/themes/Icon.css +1 -1
  253. package/dist/css/themes/StepInput.css +1 -1
  254. package/dist/custom-elements.json +1 -1
  255. package/dist/features/ColorPaletteMoreColors.js.map +1 -1
  256. package/dist/features/InputElementsFormSupport.d.ts +1 -1
  257. package/dist/features/InputElementsFormSupport.js.map +1 -1
  258. package/dist/features/InputSuggestions.js.map +1 -1
  259. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  266. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  267. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  268. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  269. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  270. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  276. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  277. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  278. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  279. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  284. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  285. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  286. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  287. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  288. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  289. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  290. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  291. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  292. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  304. package/dist/generated/i18n/i18n-defaults.d.ts +1 -2
  305. package/dist/generated/i18n/i18n-defaults.js +1 -2
  306. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  307. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  308. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  309. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  310. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  311. package/dist/generated/templates/SplitButtonTemplate.lit.js +2 -1
  312. package/dist/generated/templates/StepInputTemplate.lit.js +2 -2
  313. package/dist/generated/templates/TimePickerTemplate.lit.js +1 -1
  314. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +3 -3
  315. package/dist/generated/templates/TreeItemCustomTemplate.lit.js +3 -3
  316. package/dist/generated/templates/TreeItemTemplate.lit.js +3 -3
  317. package/dist/generated/themes/Avatar.css.js.map +1 -1
  318. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  319. package/dist/generated/themes/Badge.css.js.map +1 -1
  320. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  321. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  322. package/dist/generated/themes/BrowserScrollbar.css.js.map +1 -1
  323. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  324. package/dist/generated/themes/Button.css.js.map +1 -1
  325. package/dist/generated/themes/Calendar.css.js.map +1 -1
  326. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  327. package/dist/generated/themes/Card.css.js.map +1 -1
  328. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  329. package/dist/generated/themes/Carousel.css.js.map +1 -1
  330. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  331. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  332. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  333. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  334. package/dist/generated/themes/ColorPaletteStaticArea.css.js.map +1 -1
  335. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  336. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  337. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
  338. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  339. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  340. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  341. package/dist/generated/themes/DateRangePicker.css.js.map +1 -1
  342. package/dist/generated/themes/DateTimePicker.css.js.map +1 -1
  343. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  344. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  345. package/dist/generated/themes/Dialog.css.js.map +1 -1
  346. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  347. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  348. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  349. package/dist/generated/themes/Icon.css.js +1 -1
  350. package/dist/generated/themes/Icon.css.js.map +1 -1
  351. package/dist/generated/themes/Input.css.js.map +1 -1
  352. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  353. package/dist/generated/themes/InvisibleTextStyles.css.js.map +1 -1
  354. package/dist/generated/themes/Label.css.js.map +1 -1
  355. package/dist/generated/themes/Link.css.js.map +1 -1
  356. package/dist/generated/themes/List.css.js.map +1 -1
  357. package/dist/generated/themes/ListItem.css.js.map +1 -1
  358. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  359. package/dist/generated/themes/Menu.css.js.map +1 -1
  360. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  361. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  362. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  363. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  364. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  365. package/dist/generated/themes/Panel.css.js.map +1 -1
  366. package/dist/generated/themes/Popover.css.js.map +1 -1
  367. package/dist/generated/themes/Popup.css.js.map +1 -1
  368. package/dist/generated/themes/PopupGlobal.css.js.map +1 -1
  369. package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
  370. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  371. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  372. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  373. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  374. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  375. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  376. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  377. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  378. package/dist/generated/themes/Select.css.js.map +1 -1
  379. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  380. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  381. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  382. package/dist/generated/themes/StepInput.css.js +1 -1
  383. package/dist/generated/themes/StepInput.css.js.map +1 -1
  384. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  385. package/dist/generated/themes/Switch.css.js.map +1 -1
  386. package/dist/generated/themes/Tab.css.js.map +1 -1
  387. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  388. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  389. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  390. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  391. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  392. package/dist/generated/themes/TabSeparatorInStrip.css.js.map +1 -1
  393. package/dist/generated/themes/Table.css.js.map +1 -1
  394. package/dist/generated/themes/TableCell.css.js.map +1 -1
  395. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  396. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  397. package/dist/generated/themes/TableRow.css.js.map +1 -1
  398. package/dist/generated/themes/TapHighlightColor.css.js.map +1 -1
  399. package/dist/generated/themes/TextArea.css.js.map +1 -1
  400. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  401. package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
  402. package/dist/generated/themes/TimeSelection.css.js.map +1 -1
  403. package/dist/generated/themes/Title.css.js.map +1 -1
  404. package/dist/generated/themes/Toast.css.js.map +1 -1
  405. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  406. package/dist/generated/themes/Token.css.js.map +1 -1
  407. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  408. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  409. package/dist/generated/themes/Tree.css.js.map +1 -1
  410. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  411. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  412. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  413. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  414. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  415. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  416. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  417. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  418. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  419. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  420. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  421. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  422. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  423. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  424. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  425. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  426. package/dist/i18n/messagebundle.properties +0 -3
  427. package/dist/i18n/messagebundle_ar.properties +0 -2
  428. package/dist/i18n/messagebundle_bg.properties +0 -2
  429. package/dist/i18n/messagebundle_ca.properties +0 -2
  430. package/dist/i18n/messagebundle_cs.properties +0 -2
  431. package/dist/i18n/messagebundle_cy.properties +0 -2
  432. package/dist/i18n/messagebundle_da.properties +0 -2
  433. package/dist/i18n/messagebundle_de.properties +0 -2
  434. package/dist/i18n/messagebundle_el.properties +0 -2
  435. package/dist/i18n/messagebundle_en.properties +0 -2
  436. package/dist/i18n/messagebundle_en_GB.properties +0 -2
  437. package/dist/i18n/messagebundle_en_US_saprigi.properties +0 -2
  438. package/dist/i18n/messagebundle_es.properties +0 -2
  439. package/dist/i18n/messagebundle_es_MX.properties +0 -2
  440. package/dist/i18n/messagebundle_et.properties +0 -2
  441. package/dist/i18n/messagebundle_fi.properties +0 -2
  442. package/dist/i18n/messagebundle_fr.properties +0 -2
  443. package/dist/i18n/messagebundle_fr_CA.properties +0 -2
  444. package/dist/i18n/messagebundle_hi.properties +0 -2
  445. package/dist/i18n/messagebundle_hr.properties +0 -2
  446. package/dist/i18n/messagebundle_hu.properties +0 -2
  447. package/dist/i18n/messagebundle_id.properties +0 -2
  448. package/dist/i18n/messagebundle_it.properties +0 -2
  449. package/dist/i18n/messagebundle_iw.properties +0 -2
  450. package/dist/i18n/messagebundle_ja.properties +0 -2
  451. package/dist/i18n/messagebundle_kk.properties +0 -2
  452. package/dist/i18n/messagebundle_ko.properties +0 -2
  453. package/dist/i18n/messagebundle_lt.properties +0 -2
  454. package/dist/i18n/messagebundle_lv.properties +0 -2
  455. package/dist/i18n/messagebundle_ms.properties +0 -2
  456. package/dist/i18n/messagebundle_nl.properties +0 -2
  457. package/dist/i18n/messagebundle_no.properties +0 -2
  458. package/dist/i18n/messagebundle_pl.properties +0 -2
  459. package/dist/i18n/messagebundle_pt.properties +0 -2
  460. package/dist/i18n/messagebundle_pt_PT.properties +0 -2
  461. package/dist/i18n/messagebundle_ro.properties +0 -2
  462. package/dist/i18n/messagebundle_ru.properties +0 -2
  463. package/dist/i18n/messagebundle_sh.properties +0 -2
  464. package/dist/i18n/messagebundle_sk.properties +0 -2
  465. package/dist/i18n/messagebundle_sl.properties +0 -2
  466. package/dist/i18n/messagebundle_sv.properties +0 -2
  467. package/dist/i18n/messagebundle_th.properties +0 -2
  468. package/dist/i18n/messagebundle_tr.properties +0 -2
  469. package/dist/i18n/messagebundle_uk.properties +0 -2
  470. package/dist/i18n/messagebundle_vi.properties +0 -2
  471. package/dist/i18n/messagebundle_zh_CN.properties +0 -2
  472. package/dist/i18n/messagebundle_zh_TW.properties +0 -2
  473. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  474. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  475. package/dist/timepicker-utils/TimeSlider.js.map +1 -1
  476. package/dist/types/AvatarColorScheme.js.map +1 -1
  477. package/dist/types/AvatarGroupType.js.map +1 -1
  478. package/dist/types/AvatarShape.js.map +1 -1
  479. package/dist/types/AvatarSize.js.map +1 -1
  480. package/dist/types/BreadcrumbsDesign.js.map +1 -1
  481. package/dist/types/BreadcrumbsSeparatorStyle.js.map +1 -1
  482. package/dist/types/BusyIndicatorSize.js.map +1 -1
  483. package/dist/types/ButtonDesign.js.map +1 -1
  484. package/dist/types/CalendarPickersMode.js.map +1 -1
  485. package/dist/types/CalendarSelectionMode.js.map +1 -1
  486. package/dist/types/CarouselArrowsPlacement.js.map +1 -1
  487. package/dist/types/CarouselPageIndicatorStyle.js.map +1 -1
  488. package/dist/types/ComboBoxFilter.js.map +1 -1
  489. package/dist/types/HasPopup.js.map +1 -1
  490. package/dist/types/IconDesign.js.map +1 -1
  491. package/dist/types/InputType.js.map +1 -1
  492. package/dist/types/LinkDesign.js.map +1 -1
  493. package/dist/types/ListGrowingMode.js.map +1 -1
  494. package/dist/types/ListItemType.js.map +1 -1
  495. package/dist/types/ListMode.js.map +1 -1
  496. package/dist/types/ListSeparators.js.map +1 -1
  497. package/dist/types/MessageStripDesign.js.map +1 -1
  498. package/dist/types/PanelAccessibleRole.js.map +1 -1
  499. package/dist/types/PopoverHorizontalAlign.d.ts +4 -4
  500. package/dist/types/PopoverHorizontalAlign.js +4 -4
  501. package/dist/types/PopoverHorizontalAlign.js.map +1 -1
  502. package/dist/types/PopoverPlacementType.js.map +1 -1
  503. package/dist/types/PopoverVerticalAlign.js.map +1 -1
  504. package/dist/types/PopupAccessibleRole.js.map +1 -1
  505. package/dist/types/Priority.js.map +1 -1
  506. package/dist/types/SemanticColor.js.map +1 -1
  507. package/dist/types/SwitchDesign.js.map +1 -1
  508. package/dist/types/TabContainerBackgroundDesign.js.map +1 -1
  509. package/dist/types/TabContainerTabsPlacement.js.map +1 -1
  510. package/dist/types/TabLayout.js.map +1 -1
  511. package/dist/types/TableColumnPopinDisplay.js.map +1 -1
  512. package/dist/types/TableGrowingMode.js.map +1 -1
  513. package/dist/types/TableMode.js.map +1 -1
  514. package/dist/types/TableRowType.js.map +1 -1
  515. package/dist/types/TabsOverflowMode.js.map +1 -1
  516. package/dist/types/TitleLevel.js.map +1 -1
  517. package/dist/types/ToastPlacement.js.map +1 -1
  518. package/dist/types/WrappingType.js.map +1 -1
  519. package/package.json +7 -7
  520. package/src/ComboBox.hbs +9 -10
  521. package/src/DatePicker.hbs +12 -12
  522. package/src/MultiComboBox.hbs +10 -11
  523. package/src/MultiInput.hbs +7 -8
  524. package/src/SplitButton.hbs +3 -1
  525. package/src/StepInput.hbs +2 -2
  526. package/src/TimePicker.hbs +10 -10
  527. package/src/TreeItemBase.hbs +2 -3
  528. package/src/i18n/messagebundle.properties +0 -3
  529. package/src/i18n/messagebundle_ar.properties +0 -2
  530. package/src/i18n/messagebundle_bg.properties +0 -2
  531. package/src/i18n/messagebundle_ca.properties +0 -2
  532. package/src/i18n/messagebundle_cs.properties +0 -2
  533. package/src/i18n/messagebundle_cy.properties +0 -2
  534. package/src/i18n/messagebundle_da.properties +0 -2
  535. package/src/i18n/messagebundle_de.properties +0 -2
  536. package/src/i18n/messagebundle_el.properties +0 -2
  537. package/src/i18n/messagebundle_en.properties +0 -2
  538. package/src/i18n/messagebundle_en_GB.properties +0 -2
  539. package/src/i18n/messagebundle_en_US_saprigi.properties +0 -2
  540. package/src/i18n/messagebundle_es.properties +0 -2
  541. package/src/i18n/messagebundle_es_MX.properties +0 -2
  542. package/src/i18n/messagebundle_et.properties +0 -2
  543. package/src/i18n/messagebundle_fi.properties +0 -2
  544. package/src/i18n/messagebundle_fr.properties +0 -2
  545. package/src/i18n/messagebundle_fr_CA.properties +0 -2
  546. package/src/i18n/messagebundle_hi.properties +0 -2
  547. package/src/i18n/messagebundle_hr.properties +0 -2
  548. package/src/i18n/messagebundle_hu.properties +0 -2
  549. package/src/i18n/messagebundle_id.properties +0 -2
  550. package/src/i18n/messagebundle_it.properties +0 -2
  551. package/src/i18n/messagebundle_iw.properties +0 -2
  552. package/src/i18n/messagebundle_ja.properties +0 -2
  553. package/src/i18n/messagebundle_kk.properties +0 -2
  554. package/src/i18n/messagebundle_ko.properties +0 -2
  555. package/src/i18n/messagebundle_lt.properties +0 -2
  556. package/src/i18n/messagebundle_lv.properties +0 -2
  557. package/src/i18n/messagebundle_ms.properties +0 -2
  558. package/src/i18n/messagebundle_nl.properties +0 -2
  559. package/src/i18n/messagebundle_no.properties +0 -2
  560. package/src/i18n/messagebundle_pl.properties +0 -2
  561. package/src/i18n/messagebundle_pt.properties +0 -2
  562. package/src/i18n/messagebundle_pt_PT.properties +0 -2
  563. package/src/i18n/messagebundle_ro.properties +0 -2
  564. package/src/i18n/messagebundle_ru.properties +0 -2
  565. package/src/i18n/messagebundle_sh.properties +0 -2
  566. package/src/i18n/messagebundle_sk.properties +0 -2
  567. package/src/i18n/messagebundle_sl.properties +0 -2
  568. package/src/i18n/messagebundle_sv.properties +0 -2
  569. package/src/i18n/messagebundle_th.properties +0 -2
  570. package/src/i18n/messagebundle_tr.properties +0 -2
  571. package/src/i18n/messagebundle_uk.properties +0 -2
  572. package/src/i18n/messagebundle_vi.properties +0 -2
  573. package/src/i18n/messagebundle_zh_CN.properties +0 -2
  574. package/src/i18n/messagebundle_zh_TW.properties +0 -2
  575. package/src/themes/Icon.css +0 -4
  576. package/src/themes/StepInput.css +1 -0
  577. package/tsconfig.json +1 -0
  578. package/.dev-server-port +0 -1
  579. package/dist/DurationPicker.js +0 -312
  580. package/dist/assets/DurationPicker.d4e0845b.css +0 -1
  581. package/dist/assets/Popover.bde799ce.css +0 -1
  582. package/dist/assets/SAP-icons-TNT.9ee5f818.js +0 -1
  583. package/dist/assets/SAP-icons.216218d4.js +0 -1
  584. package/dist/assets/SAP-icons.4f7faebd.js +0 -1
  585. package/dist/assets/ar.c8a9c7c2.js +0 -1
  586. package/dist/assets/ar_EG.bc0b8c4a.js +0 -1
  587. package/dist/assets/ar_SA.e02fea0b.js +0 -1
  588. package/dist/assets/bg.1c4cbc9c.js +0 -1
  589. package/dist/assets/ca.a4e7480a.js +0 -1
  590. package/dist/assets/cs.e731c541.js +0 -1
  591. package/dist/assets/da.718b3439.js +0 -1
  592. package/dist/assets/de.ae411210.js +0 -1
  593. package/dist/assets/de_AT.cb17127f.js +0 -1
  594. package/dist/assets/de_CH.b0eaf2ed.js +0 -1
  595. package/dist/assets/el.7daeddb3.js +0 -1
  596. package/dist/assets/el_CY.dac8ac43.js +0 -1
  597. package/dist/assets/en.baed18b1.js +0 -1
  598. package/dist/assets/en_AU.8c929d24.js +0 -1
  599. package/dist/assets/en_GB.4e429aa6.js +0 -1
  600. package/dist/assets/en_HK.529b415b.js +0 -1
  601. package/dist/assets/en_IE.ff068141.js +0 -1
  602. package/dist/assets/en_IN.30d13a3a.js +0 -1
  603. package/dist/assets/en_NZ.2529c280.js +0 -1
  604. package/dist/assets/en_PG.649a81d5.js +0 -1
  605. package/dist/assets/en_SG.1fbf47e1.js +0 -1
  606. package/dist/assets/en_ZA.bb83c383.js +0 -1
  607. package/dist/assets/es.5d010a1f.js +0 -1
  608. package/dist/assets/es_AR.7f372ffe.js +0 -1
  609. package/dist/assets/es_BO.7ba05a1b.js +0 -1
  610. package/dist/assets/es_CL.a37af7ca.js +0 -1
  611. package/dist/assets/es_CO.36557bc1.js +0 -1
  612. package/dist/assets/es_MX.0539dea0.js +0 -1
  613. package/dist/assets/es_PE.925f6359.js +0 -1
  614. package/dist/assets/es_UY.c3cd8bb4.js +0 -1
  615. package/dist/assets/es_VE.6ee9a7fe.js +0 -1
  616. package/dist/assets/et.90440de4.js +0 -1
  617. package/dist/assets/fa.5717a297.js +0 -1
  618. package/dist/assets/fi.1bfca1c3.js +0 -1
  619. package/dist/assets/fr.491d3e0c.js +0 -1
  620. package/dist/assets/fr_BE.6ccfd56c.js +0 -1
  621. package/dist/assets/fr_CA.ffe12267.js +0 -1
  622. package/dist/assets/fr_CH.5d77b4bc.js +0 -1
  623. package/dist/assets/fr_LU.c07815db.js +0 -1
  624. package/dist/assets/he.79f10a9d.js +0 -1
  625. package/dist/assets/hi.29863484.js +0 -1
  626. package/dist/assets/hr.99813023.js +0 -1
  627. package/dist/assets/hu.23e0baa9.js +0 -1
  628. package/dist/assets/id.4c30fabd.js +0 -1
  629. package/dist/assets/it.528a18da.js +0 -1
  630. package/dist/assets/it_CH.87ff79eb.js +0 -1
  631. package/dist/assets/ja.8846f5e2.js +0 -1
  632. package/dist/assets/kk.01694e17.js +0 -1
  633. package/dist/assets/ko.d3b0053b.js +0 -1
  634. package/dist/assets/lt.a74d5456.js +0 -1
  635. package/dist/assets/lv.6831c2cc.js +0 -1
  636. package/dist/assets/messagebundle_ar.74efb031.js +0 -1
  637. package/dist/assets/messagebundle_bg.369c6fc8.js +0 -1
  638. package/dist/assets/messagebundle_ca.a3cd4b52.js +0 -1
  639. package/dist/assets/messagebundle_cs.289421ac.js +0 -1
  640. package/dist/assets/messagebundle_cy.b1830522.js +0 -1
  641. package/dist/assets/messagebundle_da.c05fe259.js +0 -1
  642. package/dist/assets/messagebundle_de.8a4032cc.js +0 -1
  643. package/dist/assets/messagebundle_el.7c63c645.js +0 -1
  644. package/dist/assets/messagebundle_en.6e890ca9.js +0 -1
  645. package/dist/assets/messagebundle_en_GB.6a665cc2.js +0 -1
  646. package/dist/assets/messagebundle_es.0f0c4cdc.js +0 -1
  647. package/dist/assets/messagebundle_es_MX.f88d6e93.js +0 -1
  648. package/dist/assets/messagebundle_et.6e83e7fa.js +0 -1
  649. package/dist/assets/messagebundle_fi.ebcedd15.js +0 -1
  650. package/dist/assets/messagebundle_fr.f0c09c02.js +0 -1
  651. package/dist/assets/messagebundle_fr_CA.241e035f.js +0 -1
  652. package/dist/assets/messagebundle_hi.ea9222e3.js +0 -1
  653. package/dist/assets/messagebundle_hr.29b90b8a.js +0 -1
  654. package/dist/assets/messagebundle_hu.28f6367c.js +0 -1
  655. package/dist/assets/messagebundle_it.ef9f06fc.js +0 -1
  656. package/dist/assets/messagebundle_iw.52eeba6c.js +0 -1
  657. package/dist/assets/messagebundle_ja.54f39fb4.js +0 -1
  658. package/dist/assets/messagebundle_kk.4795b8bf.js +0 -1
  659. package/dist/assets/messagebundle_ko.298dee97.js +0 -1
  660. package/dist/assets/messagebundle_lt.50d45929.js +0 -1
  661. package/dist/assets/messagebundle_lv.6deb88b8.js +0 -1
  662. package/dist/assets/messagebundle_ms.0eb3e9fb.js +0 -1
  663. package/dist/assets/messagebundle_nl.d86b913f.js +0 -1
  664. package/dist/assets/messagebundle_no.4b4b68f9.js +0 -1
  665. package/dist/assets/messagebundle_pl.90d2d216.js +0 -1
  666. package/dist/assets/messagebundle_pt.682bdce3.js +0 -1
  667. package/dist/assets/messagebundle_pt_PT.5931734e.js +0 -1
  668. package/dist/assets/messagebundle_ro.c8b49647.js +0 -1
  669. package/dist/assets/messagebundle_ru.03b05c74.js +0 -1
  670. package/dist/assets/messagebundle_sh.d85d5fca.js +0 -1
  671. package/dist/assets/messagebundle_sk.0c356651.js +0 -1
  672. package/dist/assets/messagebundle_sl.6fbd00d2.js +0 -1
  673. package/dist/assets/messagebundle_sv.fd3992b5.js +0 -1
  674. package/dist/assets/messagebundle_th.69c4b78b.js +0 -1
  675. package/dist/assets/messagebundle_tr.f5e05dea.js +0 -1
  676. package/dist/assets/messagebundle_uk.8fe7f052.js +0 -1
  677. package/dist/assets/messagebundle_uk.e712215f.js +0 -1
  678. package/dist/assets/messagebundle_vi.dfccc988.js +0 -1
  679. package/dist/assets/messagebundle_zh_CN.0bec6825.js +0 -1
  680. package/dist/assets/messagebundle_zh_TW.be5ac4ff.js +0 -1
  681. package/dist/assets/ms.da64ef13.js +0 -1
  682. package/dist/assets/nb.06945878.js +0 -1
  683. package/dist/assets/nl.d0a7a73f.js +0 -1
  684. package/dist/assets/nl_BE.70dbb313.js +0 -1
  685. package/dist/assets/pl.695e03e0.js +0 -1
  686. package/dist/assets/pt.c917a469.js +0 -1
  687. package/dist/assets/pt_PT.0a89cd6c.js +0 -1
  688. package/dist/assets/ro.862460c6.js +0 -1
  689. package/dist/assets/ru.d1fa0fbb.js +0 -1
  690. package/dist/assets/ru_UA.37f83cbb.js +0 -1
  691. package/dist/assets/sk.c3dcbb2e.js +0 -1
  692. package/dist/assets/sl.a8e1c9c9.js +0 -1
  693. package/dist/assets/sr.8153af77.js +0 -1
  694. package/dist/assets/sr_Latn.99cb0a61.js +0 -1
  695. package/dist/assets/sv.bc115d54.js +0 -1
  696. package/dist/assets/th.688dbee7.js +0 -1
  697. package/dist/assets/tr.b0d6f870.js +0 -1
  698. package/dist/assets/uk.ab69fcaa.js +0 -1
  699. package/dist/assets/vi.5516bb07.js +0 -1
  700. package/dist/assets/zh_CN.f1932ba8.js +0 -1
  701. package/dist/assets/zh_HK.2a75a13d.js +0 -1
  702. package/dist/assets/zh_SG.bd55647f.js +0 -1
  703. package/dist/assets/zh_TW.2cab47aa.js +0 -1
  704. package/src/Assets-static.ts +0 -6
  705. package/src/Assets.ts +0 -7
  706. package/src/Avatar.ts +0 -422
  707. package/src/AvatarGroup.ts +0 -609
  708. package/src/Badge.ts +0 -133
  709. package/src/Breadcrumbs.ts +0 -665
  710. package/src/BreadcrumbsItem.ts +0 -93
  711. package/src/BusyIndicator.ts +0 -247
  712. package/src/Button.ts +0 -491
  713. package/src/Calendar.ts +0 -523
  714. package/src/CalendarDate.ts +0 -37
  715. package/src/CalendarHeader.ts +0 -205
  716. package/src/CalendarPart.ts +0 -100
  717. package/src/Card.ts +0 -139
  718. package/src/CardHeader.ts +0 -265
  719. package/src/Carousel.ts +0 -724
  720. package/src/CheckBox.ts +0 -462
  721. package/src/ColorPalette.ts +0 -492
  722. package/src/ColorPaletteItem.ts +0 -116
  723. package/src/ColorPalettePopover.ts +0 -234
  724. package/src/ColorPicker.ts +0 -524
  725. package/src/ComboBox.ts +0 -1229
  726. package/src/ComboBoxGroupItem.ts +0 -52
  727. package/src/ComboBoxItem.ts +0 -69
  728. package/src/CustomListItem.ts +0 -85
  729. package/src/DateComponentBase.ts +0 -173
  730. package/src/DatePicker.ts +0 -882
  731. package/src/DateRangePicker.ts +0 -370
  732. package/src/DateTimePicker.ts +0 -431
  733. package/src/DayPicker.ts +0 -805
  734. package/src/Dialog.ts +0 -702
  735. package/src/DurationPicker.js +0 -312
  736. package/src/FileUploader.ts +0 -511
  737. package/src/Filters.ts +0 -28
  738. package/src/GroupHeaderListItem.ts +0 -79
  739. package/src/Icon.ts +0 -423
  740. package/src/Input.ts +0 -1757
  741. package/src/Interfaces.ts +0 -202
  742. package/src/Label.ts +0 -136
  743. package/src/Link.ts +0 -397
  744. package/src/List.ts +0 -1129
  745. package/src/ListItem.ts +0 -498
  746. package/src/ListItemBase.ts +0 -165
  747. package/src/Menu.ts +0 -597
  748. package/src/MenuItem.ts +0 -169
  749. package/src/MessageStrip.ts +0 -232
  750. package/src/MonthPicker.ts +0 -345
  751. package/src/MultiComboBox.ts +0 -1698
  752. package/src/MultiComboBoxGroupItem.ts +0 -53
  753. package/src/MultiComboBoxItem.ts +0 -38
  754. package/src/MultiInput.ts +0 -379
  755. package/src/Option.ts +0 -119
  756. package/src/Panel.ts +0 -437
  757. package/src/Popover.ts +0 -850
  758. package/src/Popup.ts +0 -648
  759. package/src/ProgressIndicator.ts +0 -224
  760. package/src/RadioButton.ts +0 -518
  761. package/src/RadioButtonGroup.ts +0 -236
  762. package/src/RangeSlider.ts +0 -907
  763. package/src/RatingIndicator.ts +0 -315
  764. package/src/ResponsivePopover.ts +0 -227
  765. package/src/SegmentedButton.ts +0 -309
  766. package/src/SegmentedButtonItem.ts +0 -104
  767. package/src/Select.ts +0 -911
  768. package/src/Slider.ts +0 -364
  769. package/src/SliderBase.ts +0 -760
  770. package/src/SplitButton.ts +0 -410
  771. package/src/StandardListItem.ts +0 -212
  772. package/src/StepInput.ts +0 -636
  773. package/src/SuggestionGroupItem.ts +0 -49
  774. package/src/SuggestionItem.ts +0 -132
  775. package/src/SuggestionListItem.ts +0 -73
  776. package/src/Switch.ts +0 -291
  777. package/src/Tab.ts +0 -469
  778. package/src/TabContainer.ts +0 -1328
  779. package/src/TabSeparator.ts +0 -89
  780. package/src/Table.ts +0 -1289
  781. package/src/TableCell.ts +0 -71
  782. package/src/TableColumn.ts +0 -128
  783. package/src/TableGroupRow.ts +0 -146
  784. package/src/TableRow.ts +0 -492
  785. package/src/TextArea.ts +0 -703
  786. package/src/TimePicker.ts +0 -155
  787. package/src/TimePickerBase.ts +0 -494
  788. package/src/TimeSelection.ts +0 -510
  789. package/src/Title.ts +0 -110
  790. package/src/Toast.ts +0 -226
  791. package/src/ToggleButton.ts +0 -74
  792. package/src/Token.ts +0 -237
  793. package/src/Tokenizer.ts +0 -737
  794. package/src/Tree.ts +0 -509
  795. package/src/TreeItem.ts +0 -90
  796. package/src/TreeItemBase.ts +0 -410
  797. package/src/TreeItemCustom.ts +0 -89
  798. package/src/TreeList.ts +0 -44
  799. package/src/WheelSlider.ts +0 -432
  800. package/src/YearPicker.ts +0 -386
  801. package/src/features/ColorPaletteMoreColors.ts +0 -45
  802. package/src/features/InputElementsFormSupport.ts +0 -141
  803. package/src/features/InputSuggestions.ts +0 -669
  804. package/src/popup-utils/OpenedPopupsRegistry.ts +0 -76
  805. package/src/popup-utils/PopoverRegistry.ts +0 -166
  806. package/src/timepicker-utils/TimeSlider.ts +0 -120
  807. package/src/types/AvatarColorScheme.ts +0 -89
  808. package/src/types/AvatarGroupType.ts +0 -28
  809. package/src/types/AvatarShape.ts +0 -26
  810. package/src/types/AvatarSize.ts +0 -52
  811. package/src/types/BreadcrumbsDesign.ts +0 -28
  812. package/src/types/BreadcrumbsSeparatorStyle.ts +0 -55
  813. package/src/types/BusyIndicatorSize.ts +0 -33
  814. package/src/types/ButtonDesign.ts +0 -54
  815. package/src/types/CalendarPickersMode.ts +0 -34
  816. package/src/types/CalendarSelectionMode.ts +0 -33
  817. package/src/types/CarouselArrowsPlacement.ts +0 -26
  818. package/src/types/CarouselPageIndicatorStyle.ts +0 -27
  819. package/src/types/ComboBoxFilter.ts +0 -40
  820. package/src/types/HasPopup.ts +0 -47
  821. package/src/types/IconDesign.ts +0 -68
  822. package/src/types/InputType.ts +0 -54
  823. package/src/types/LinkDesign.ts +0 -33
  824. package/src/types/ListGrowingMode.ts +0 -34
  825. package/src/types/ListItemType.ts +0 -40
  826. package/src/types/ListMode.ts +0 -63
  827. package/src/types/ListSeparators.ts +0 -32
  828. package/src/types/MessageStripDesign.ts +0 -40
  829. package/src/types/PanelAccessibleRole.ts +0 -37
  830. package/src/types/PopoverHorizontalAlign.ts +0 -40
  831. package/src/types/PopoverPlacementType.ts +0 -40
  832. package/src/types/PopoverVerticalAlign.ts +0 -40
  833. package/src/types/PopupAccessibleRole.ts +0 -34
  834. package/src/types/Priority.ts +0 -40
  835. package/src/types/SemanticColor.ts +0 -47
  836. package/src/types/SwitchDesign.ts +0 -26
  837. package/src/types/TabContainerBackgroundDesign.ts +0 -33
  838. package/src/types/TabContainerTabsPlacement.ts +0 -26
  839. package/src/types/TabLayout.ts +0 -26
  840. package/src/types/TableColumnPopinDisplay.ts +0 -26
  841. package/src/types/TableGrowingMode.ts +0 -34
  842. package/src/types/TableMode.ts +0 -33
  843. package/src/types/TableRowType.ts +0 -26
  844. package/src/types/TabsOverflowMode.ts +0 -26
  845. package/src/types/TitleLevel.ts +0 -54
  846. package/src/types/ToastPlacement.ts +0 -77
  847. package/src/types/WrappingType.ts +0 -26
  848. /package/dist/assets/{kitchen-scripts.7e433e08.css → kitchen-styles.7e433e08.css} +0 -0
@@ -1,1698 +0,0 @@
1
- import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
- import property from "@ui5/webcomponents-base/dist/decorators/property.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, Timeout } 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 ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
11
- import {
12
- isShow,
13
- isDown,
14
- isUp,
15
- isSpace,
16
- isSpaceCtrl,
17
- isSpaceShift,
18
- isRight,
19
- isHome,
20
- isEnd,
21
- isTabNext,
22
- isTabPrevious,
23
- isUpShift,
24
- isDownShift,
25
- isLeftCtrl,
26
- isRightCtrl,
27
- isUpCtrl,
28
- isDownCtrl,
29
- isHomeCtrl,
30
- isEndCtrl,
31
- isCtrlA,
32
- isCtrlV,
33
- isDeleteShift,
34
- isInsertShift,
35
- isInsertCtrl,
36
- isBackSpace,
37
- isDelete,
38
- isEscape,
39
- isEnter,
40
- } from "@ui5/webcomponents-base/dist/Keys.js";
41
- import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
42
- import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
43
- import {
44
- isPhone,
45
- isAndroid,
46
- } from "@ui5/webcomponents-base/dist/Device.js";
47
- import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
48
- import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
49
- import "@ui5/webcomponents-icons/dist/decline.js";
50
- import "@ui5/webcomponents-icons/dist/multiselect-all.js";
51
- import "@ui5/webcomponents-icons/dist/not-editable.js";
52
- import "@ui5/webcomponents-icons/dist/error.js";
53
- import "@ui5/webcomponents-icons/dist/alert.js";
54
- import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
55
- import "@ui5/webcomponents-icons/dist/information.js";
56
- import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
57
- import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
58
- import MultiComboBoxItem from "./MultiComboBoxItem.js";
59
- import MultiComboBoxGroupItem from "./MultiComboBoxGroupItem.js";
60
- import GroupHeaderListItem from "./GroupHeaderListItem.js";
61
- import Tokenizer, { ClipboardDataOperation } from "./Tokenizer.js";
62
- import type { TokenizerTokenDeleteEventDetail } from "./Tokenizer.js";
63
- import Token from "./Token.js";
64
- import Icon from "./Icon.js";
65
- import Popover from "./Popover.js";
66
- import ResponsivePopover from "./ResponsivePopover.js";
67
- import List from "./List.js";
68
- import type { SelectionChangeEventDetail } from "./List.js";
69
- import StandardListItem from "./StandardListItem.js";
70
- import ToggleButton from "./ToggleButton.js";
71
- import * as Filters from "./Filters.js";
72
- import Button from "./Button.js";
73
- import {
74
- VALUE_STATE_SUCCESS,
75
- VALUE_STATE_ERROR,
76
- VALUE_STATE_WARNING,
77
- VALUE_STATE_INFORMATION,
78
- VALUE_STATE_TYPE_SUCCESS,
79
- VALUE_STATE_TYPE_INFORMATION,
80
- VALUE_STATE_TYPE_ERROR,
81
- VALUE_STATE_TYPE_WARNING,
82
- INPUT_SUGGESTIONS_TITLE,
83
- SELECT_OPTIONS,
84
- MULTICOMBOBOX_DIALOG_OK_BUTTON,
85
- VALUE_STATE_ERROR_ALREADY_SELECTED,
86
- } from "./generated/i18n/i18n-defaults.js";
87
-
88
- // Templates
89
- import MultiComboBoxTemplate from "./generated/templates/MultiComboBoxTemplate.lit.js";
90
- import MultiComboBoxPopoverTemplate from "./generated/templates/MultiComboBoxPopoverTemplate.lit.js";
91
-
92
- // Styles
93
- import multiCbxStyles from "./generated/themes/MultiComboBox.css.js";
94
- import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
95
- import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
96
- import SuggestionsCss from "./generated/themes/Suggestions.css.js";
97
- import MultiComboBoxPopover from "./generated/themes/MultiComboBoxPopover.css.js";
98
- import ComboBoxFilter from "./types/ComboBoxFilter.js";
99
- import type FormSupportT from "./features/InputElementsFormSupport.js";
100
- import type ListItemBase from "./ListItemBase.js";
101
-
102
- interface IMultiComboBoxItem extends UI5Element {
103
- text: string,
104
- selected: boolean,
105
- isGroupItem?: boolean,
106
- stableDomRef: string,
107
- }
108
-
109
- type ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;
110
- type ValueStateTypeAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;
111
-
112
- type MultiComboBoxSelectionChangeEventDetail = {
113
- items: Array<MultiComboBoxItem>,
114
- };
115
-
116
- type MultiComboboxItemWithSelection = {
117
- ref: IMultiComboBoxItem,
118
- selected: boolean,
119
- };
120
-
121
- /**
122
- * @class
123
- *
124
- * <h3 class="comment-api-title">Overview</h3>
125
- *
126
- * The <code>ui5-multi-combobox</code> component consists of a list box with items and a text field allowing the user to either type a value directly into the text field, or choose from the list of existing items.
127
- *
128
- * The drop-down list is used for selecting and filtering values, it enables users to select one or more options from a predefined list. The control provides an editable input field to filter the list, and a dropdown arrow to expand/collapse the list of available options.
129
- * The options in the list have checkboxes that permit multi-selection. Entered values are displayed as tokens.
130
- * <h3>Structure</h3>
131
- * The <code>ui5-multi-combobox</code> consists of the following elements:
132
- * <ul>
133
- * <li> Tokenizer - a list of tokens with selected options.</li>
134
- * <li> Input field - displays the selected option/s as token/s. Users can type to filter the list.</li>
135
- * <li> Drop-down arrow - expands\collapses the option list.</li>
136
- * <li> Option list - the list of available options.</li>
137
- * </ul>
138
- * <h3>Keyboard Handling</h3>
139
- *
140
- * The <code>ui5-multi-combobox</code> provides advanced keyboard handling.
141
- *
142
- * <h4>Picker</h4>
143
- * If the <code>ui5-multi-combobox</code> is focused,
144
- * you can open or close the drop-down by pressing <code>F4</code>, <code>ALT+UP</code> or <code>ALT+DOWN</code> keys.
145
- * Once the drop-down is opened, you can use the <code>UP</code> and <code>DOWN</code> arrow keys
146
- * to navigate through the available options and select one by pressing the <code>Space</code> or <code>Enter</code> keys.
147
- * <br>
148
- *
149
- * <h4>Tokens</h4>
150
- * <ul>
151
- * <li> Left/Right arrow keys - moves the focus selection form the currently focused token to the previous/next one (if available). </li>
152
- * <li> Delete - deletes the token and focuses the previous token. </li>
153
- * <li> Backspace - deletes the token and focus the next token. </li>
154
- * </ul>
155
- *
156
- * <h3>CSS Shadow Parts</h3>
157
- *
158
- * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
159
- * <br>
160
- * The <code>ui5-multi-combobox</code> exposes the following CSS Shadow Parts:
161
- * <ul>
162
- * <li>token-{index} - Used to style each token(where <code>token-0</code> corresponds to the first item)</li>
163
- * </ul>
164
- *
165
- * <h3>ES6 Module Import</h3>
166
- *
167
- * <code>import "@ui5/webcomponents/dist/MultiComboBox";</code>
168
- *
169
- *
170
- * @constructor
171
- * @author SAP SE
172
- * @alias sap.ui.webc.main.MultiComboBox
173
- * @extends sap.ui.webc.base.UI5Element
174
- * @tagname ui5-multi-combobox
175
- * @public
176
- * @appenddocs sap.ui.webc.main.MultiComboBoxItem sap.ui.webc.main.MultiComboBoxGroupItem
177
- * @since 0.11.0
178
- */
179
- @customElement({
180
- tag: "ui5-multi-combobox",
181
- languageAware: true,
182
- renderer: litRender,
183
- template: MultiComboBoxTemplate,
184
- staticAreaTemplate: MultiComboBoxPopoverTemplate,
185
- styles: multiCbxStyles,
186
- staticAreaStyles: [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss, MultiComboBoxPopover],
187
- dependencies: [
188
- MultiComboBoxItem,
189
- MultiComboBoxGroupItem,
190
- Tokenizer,
191
- Token,
192
- Icon,
193
- ResponsivePopover,
194
- Popover,
195
- List,
196
- StandardListItem,
197
- GroupHeaderListItem,
198
- ToggleButton,
199
- Button,
200
- ],
201
- })
202
- /**
203
- * Fired when the input operation has finished by pressing Enter or on focusout.
204
- *
205
- * @event sap.ui.webc.main.MultiComboBox#change
206
- * @public
207
- */
208
- @event("change")
209
-
210
- /**
211
- * Fired when the value of the component changes at each keystroke.
212
- *
213
- * @event sap.ui.webc.main.MultiComboBox#input
214
- * @public
215
- */
216
- @event("input")
217
-
218
- /**
219
- * Fired when the dropdown is opened or closed.
220
- *
221
- * @event sap.ui.webc.main.MultiComboBox#open-change
222
- * @since 1.0.0-rc.5
223
- * @public
224
- */
225
- @event("open-change")
226
-
227
- /**
228
- * Fired when selection is changed by user interaction
229
- * in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
230
- *
231
- * @event sap.ui.webc.main.MultiComboBox#selection-change
232
- * @param {Array} items an array of the selected items.
233
- * @public
234
- */
235
- @event("selection-change", {
236
- detail: {
237
- items: { type: Array },
238
- },
239
- })
240
-
241
- class MultiComboBox extends UI5Element {
242
- /**
243
- * Defines the value of the component.
244
- * <br><br>
245
- * <b>Note:</b> The property is updated upon typing.
246
- *
247
- * @type {string}
248
- * @name sap.ui.webc.main.MultiComboBox.prototype.value
249
- * @defaultvalue ""
250
- * @formEvents change input
251
- * @formProperty
252
- * @public
253
- */
254
- @property()
255
- value!: string;
256
-
257
- /**
258
- * Defines whether the value will be autcompleted to match an item
259
- *
260
- * @type {boolean}
261
- * @name sap.ui.webc.main.MultiComboBox.prototype.noTypeahead
262
- * @defaultvalue false
263
- * @public
264
- * @since 1.4.0
265
- */
266
- @property({ type: Boolean })
267
- noTypeahead!: boolean;
268
-
269
- /**
270
- * Defines a short hint intended to aid the user with data entry when the
271
- * component has no value.
272
- * @type {string}
273
- * @name sap.ui.webc.main.MultiComboBox.prototype.placeholder
274
- * @defaultvalue ""
275
- * @public
276
- */
277
- @property()
278
- placeholder!: string;
279
-
280
- /**
281
- * Defines if the user input will be prevented, if no matching item has been found
282
- *
283
- * @type {boolean}
284
- * @name sap.ui.webc.main.MultiComboBox.prototype.allowCustomValues
285
- * @defaultvalue false
286
- * @public
287
- */
288
- @property({ type: Boolean })
289
- allowCustomValues!: boolean;
290
-
291
- /**
292
- * Defines whether the component is in disabled state.
293
- * <br><br>
294
- * <b>Note:</b> A disabled component is completely noninteractive.
295
- *
296
- * @type {boolean}
297
- * @name sap.ui.webc.main.MultiComboBox.prototype.disabled
298
- * @defaultvalue false
299
- * @public
300
- */
301
- @property({ type: Boolean })
302
- disabled!: boolean;
303
-
304
- /**
305
- * Defines the value state of the component.
306
- * <br><br>
307
- * Available options are:
308
- * <ul>
309
- * <li><code>None</code></li>
310
- * <li><code>Error</code></li>
311
- * <li><code>Warning</code></li>
312
- * <li><code>Success</code></li>
313
- * <li><code>Information</code></li>
314
- * </ul>
315
- *
316
- * @type {sap.ui.webc.base.types.ValueState}
317
- * @name sap.ui.webc.main.MultiComboBox.prototype.valueState
318
- * @defaultvalue "None"
319
- * @public
320
- */
321
- @property({ type: ValueState, defaultValue: ValueState.None })
322
- valueState!: ValueState;
323
-
324
- /**
325
- * Defines whether the component is read-only.
326
- * <br><br>
327
- * <b>Note:</b> A read-only component is not editable,
328
- * but still provides visual feedback upon user interaction.
329
- *
330
- * @type {boolean}
331
- * @name sap.ui.webc.main.MultiComboBox.prototype.readonly
332
- * @defaultvalue false
333
- * @public
334
- */
335
- @property({ type: Boolean })
336
- readonly!: boolean;
337
-
338
- /**
339
- * Defines whether the component is required.
340
- *
341
- * @type {boolean}
342
- * @name sap.ui.webc.main.MultiComboBox.prototype.required
343
- * @defaultvalue false
344
- * @public
345
- * @since 1.0.0-rc.5
346
- */
347
- @property({ type: Boolean })
348
- required!: boolean;
349
-
350
- /**
351
- * Defines the filter type of the component.
352
- * Available options are: <code>StartsWithPerTerm</code>, <code>StartsWith</code>, <code>Contains</code> and <code>None</code>.
353
- *
354
- * @type {string}
355
- * @name sap.ui.webc.main.MultiComboBox.prototype.filter
356
- * @defaultvalue "StartsWithPerTerm"
357
- * @public
358
- */
359
- @property({ type: ComboBoxFilter, defaultValue: ComboBoxFilter.StartsWithPerTerm })
360
- filter!: ComboBoxFilter;
361
-
362
- /**
363
- * Indicates whether the dropdown is open. True if the dropdown is open, false otherwise.
364
- *
365
- * @type {boolean}
366
- * @name sap.ui.webc.main.MultiComboBox.prototype.open
367
- * @defaultvalue false
368
- * @readonly
369
- * @since 1.0.0-rc.5
370
- * @public
371
- */
372
- @property({ type: Boolean })
373
- open!: boolean;
374
-
375
- /**
376
- * Defines the accessible ARIA name of the component.
377
- *
378
- * @type {string}
379
- * @name sap.ui.webc.main.MultiComboBox.prototype.accessibleName
380
- * @defaultvalue: ""
381
- * @public
382
- * @since 1.4.0
383
- */
384
- @property()
385
- accessibleName!: string;
386
-
387
- /**
388
- * Receives id(or many ids) of the elements that label the component.
389
- *
390
- * @type {string}
391
- * @name sap.ui.webc.main.MultiComboBox.prototype.accessibleNameRef
392
- * @defaultvalue ""
393
- * @public
394
- * @since 1.4.0
395
- */
396
- @property()
397
- accessibleNameRef!: string;
398
-
399
- @property({ type: Object, noAttribute: true, multiple: true })
400
- _filteredItems!: Array<IMultiComboBoxItem>;
401
-
402
- @property({ type: Boolean })
403
- filterSelected!: boolean;
404
-
405
- @property({ type: Boolean })
406
- focused!: boolean;
407
-
408
- @property({ type: Boolean, noAttribute: true })
409
- _tokenizerFocused!: boolean;
410
-
411
- @property({ type: Boolean, noAttribute: true })
412
- _iconPressed!: boolean;
413
-
414
- @property({ validator: Integer, noAttribute: true })
415
- _inputWidth!: number;
416
-
417
- @property({ validator: Integer, noAttribute: true, defaultValue: 0 })
418
- _listWidth!: number;
419
-
420
- @property({ type: Boolean, noAttribute: true })
421
- _performingSelectionTwice!: boolean;
422
-
423
- /**
424
- * Indicates whether the tokenizer has tokens
425
- * @private
426
- */
427
- @property({ type: Boolean })
428
- tokenizerAvailable!: boolean;
429
-
430
- /**
431
- * Defines the component items.
432
- *
433
- * @type {sap.ui.webc.main.IMultiComboBoxItem[]}
434
- * @name sap.ui.webc.main.MultiComboBox.prototype.default
435
- * @slot items
436
- * @public
437
- */
438
- @slot({ type: HTMLElement, "default": true, invalidateOnChildChange: true })
439
- items!: Array<IMultiComboBoxItem>;
440
-
441
- /**
442
- * Defines the icon to be displayed in the component.
443
- *
444
- * @type {sap.ui.webc.main.IIcon[]}
445
- * @name sap.ui.webc.main.MultiComboBox.prototype.icon
446
- * @slot
447
- * @public
448
- * @since 1.0.0-rc.9
449
- */
450
- @slot()
451
- icon!: Array<Icon>;
452
-
453
- /**
454
- * Defines the value state message that will be displayed as pop up under the component.
455
- * <br><br>
456
- *
457
- * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
458
- * <br>
459
- * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
460
- * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
461
- * @type {HTMLElement[]}
462
- * @name sap.ui.webc.main.MultiComboBox.prototype.valueStateMessage
463
- * @since 1.0.0-rc.9
464
- * @slot
465
- * @public
466
- */
467
- @slot()
468
- valueStateMessage!: Array<HTMLElement>;
469
-
470
- selectedValues: Array<IMultiComboBoxItem>;
471
- _inputLastValue: string;
472
- _valueBeforeOpen: string
473
- _deleting: boolean;
474
- _validationTimeout: Timeout | null;
475
- _handleResizeBound: ResizeObserverCallback;
476
- valueBeforeAutoComplete: string;
477
- currentItemIdx: number;
478
- _lastValue: string;
479
- _shouldFilterItems?: boolean;
480
- _showMorePressed?: boolean;
481
- allItemsPopover?: ResponsivePopover;
482
- valueStateHeader?: HTMLElement;
483
- list?: List;
484
- _shouldAutocomplete?: boolean;
485
- _preventTokenizerToggle?: boolean;
486
- _isOpenedByKeyboard?: boolean;
487
- _itemToFocus?: IMultiComboBoxItem;
488
- _itemsBeforeOpen: Array<MultiComboboxItemWithSelection>;
489
- selectedItems?: Array<IMultiComboBoxItem>;
490
- FormSupport?: typeof FormSupportT;
491
- static i18nBundle: I18nBundle;
492
-
493
- constructor() {
494
- super();
495
-
496
- this._filteredItems = [];
497
- this.selectedValues = [];
498
- this._itemsBeforeOpen = [];
499
- this._inputLastValue = "";
500
- this._valueBeforeOpen = "";
501
- this._deleting = false;
502
- this._validationTimeout = null;
503
- this._handleResizeBound = this._handleResize.bind(this);
504
- this.valueBeforeAutoComplete = "";
505
- this._lastValue = "";
506
- this.currentItemIdx = -1;
507
- this.FormSupport = undefined;
508
- }
509
-
510
- onEnterDOM() {
511
- ResizeHandler.register(this, this._handleResizeBound);
512
- }
513
-
514
- onExitDOM() {
515
- ResizeHandler.deregister(this, this._handleResizeBound);
516
- }
517
-
518
- _handleResize() {
519
- this._inputWidth = this.offsetWidth;
520
- }
521
-
522
- _inputChange() {
523
- this.fireEvent("change");
524
- }
525
-
526
- togglePopover() {
527
- this.allItemsPopover?.toggle(this);
528
- }
529
-
530
- togglePopoverByDropdownIcon() {
531
- this._shouldFilterItems = false;
532
- this.allItemsPopover?.toggle(this);
533
- }
534
-
535
- _showFilteredItems() {
536
- this.filterSelected = true;
537
- this._showMorePressed = true;
538
-
539
- this.togglePopover();
540
- }
541
-
542
- filterSelectedItems(e: MouseEvent) {
543
- this.filterSelected = (e.target as ToggleButton).pressed;
544
- const selectedItems = this._filteredItems.filter(item => item.selected);
545
- this.selectedItems = this.items.filter((item, idx, allItems) => MultiComboBox._groupItemFilter(item, ++idx, allItems, selectedItems) || selectedItems.indexOf(item) !== -1);
546
- }
547
-
548
- get _showAllItemsButtonPressed(): boolean {
549
- return this.filterSelected;
550
- }
551
-
552
- get _inputDom(): HTMLInputElement {
553
- return this.shadowRoot!.querySelector("#ui5-multi-combobox-input")!;
554
- }
555
-
556
- _inputLiveChange(e: InputEvent) {
557
- const input = e.target as HTMLInputElement;
558
- const value: string = input.value;
559
- const filteredItems: Array<IMultiComboBoxItem> = this._filterItems(value);
560
- const oldValueState: ValueState = this.valueState;
561
-
562
- this._shouldFilterItems = true;
563
-
564
- if (this.filterSelected) {
565
- this.filterSelected = false;
566
- }
567
-
568
- if (this._validationTimeout) {
569
- input.value = this._inputLastValue;
570
- return;
571
- }
572
-
573
- if (!filteredItems.length && value && !this.allowCustomValues) {
574
- input.value = this.valueBeforeAutoComplete || this._inputLastValue;
575
- this.valueState = ValueState.Error;
576
-
577
- this._shouldAutocomplete = false;
578
- this._resetValueState(oldValueState);
579
-
580
- return;
581
- }
582
-
583
- this._inputLastValue = input.value;
584
- this.value = input.value;
585
- this._filteredItems = filteredItems;
586
-
587
- if (!isPhone()) {
588
- if (filteredItems.length === 0) {
589
- this.allItemsPopover?.close();
590
- } else {
591
- this.allItemsPopover?.showAt(this);
592
- }
593
- }
594
-
595
- this.fireEvent("input");
596
- }
597
-
598
- _tokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {
599
- const token: Token = e.detail.ref;
600
- const deletingItem = this.items.find(item => item._id === token.getAttribute("data-ui5-id"))!;
601
-
602
- deletingItem.selected = false;
603
- this._deleting = true;
604
-
605
- this.fireSelectionChange();
606
- }
607
-
608
- get _getPlaceholder(): string {
609
- if (this._getSelectedItems().length) {
610
- return "";
611
- }
612
-
613
- return this.placeholder;
614
- }
615
-
616
- _handleArrowLeft() {
617
- const inputDomRef = this._inputDom;
618
- const cursorPosition = inputDomRef.selectionStart || 0;
619
- const isTextSelected = ((inputDomRef.selectionEnd || 0) - cursorPosition) > 0;
620
-
621
- if (cursorPosition === 0 && !isTextSelected) {
622
- this._tokenizer._focusLastToken();
623
- }
624
- }
625
-
626
- _tokenizerFocusOut(e: FocusEvent) {
627
- this._tokenizerFocused = false;
628
-
629
- const tokensCount = this._tokenizer.tokens.length;
630
- const selectedTokens = this._selectedTokensCount;
631
- const lastTokenBeingDeleted = tokensCount - 1 === 0 && this._deleting;
632
- const allTokensAreBeingDeleted = selectedTokens === tokensCount && this._deleting;
633
- const relatedTarget: HTMLElement | undefined = e.relatedTarget as HTMLElement;
634
-
635
- if (!relatedTarget || !relatedTarget.hasAttribute("ui5-token")) {
636
- this._tokenizer.tokens.forEach(token => {
637
- token.selected = false;
638
- });
639
-
640
- this._tokenizer.expanded = this._preventTokenizerToggle ? this._tokenizer.expanded : false;
641
- }
642
-
643
- if (allTokensAreBeingDeleted || lastTokenBeingDeleted) {
644
- setTimeout(() => {
645
- if (!isPhone()) {
646
- this._inputDom.focus();
647
- }
648
-
649
- this._deleting = false;
650
- }, 0);
651
- }
652
- }
653
-
654
- _tokenizerFocusIn() {
655
- this._tokenizerFocused = true;
656
- this.focused = false;
657
- }
658
-
659
- _onkeydown(e: KeyboardEvent) {
660
- const isArrowDownCtrl: boolean = isDownCtrl(e);
661
-
662
- if (isShow(e) && !this.disabled) {
663
- this._handleShow(e);
664
- return;
665
- }
666
-
667
- if (isDownShift(e) || isUpShift(e)) {
668
- e.preventDefault();
669
- return;
670
- }
671
-
672
- if (isUp(e) || isDown(e) || isUpCtrl(e) || isArrowDownCtrl) {
673
- this._handleArrowNavigation(e, isArrowDownCtrl);
674
- return;
675
- }
676
-
677
- // CTRL + Arrow Down navigation is performed by the ItemNavigation module of the List,
678
- // here we only implement the text selection of the selected item
679
- if (isArrowDownCtrl && !this.allItemsPopover?.opened) {
680
- setTimeout(() => this._inputDom.setSelectionRange(0, this._inputDom.value.length), 0);
681
- }
682
-
683
- if (isLeftCtrl(e) || isRightCtrl(e)) {
684
- this._handleArrowCtrl(e);
685
- return;
686
- }
687
-
688
- if (isCtrlV(e) || isInsertShift(e)) {
689
- this._handlePaste();
690
- return;
691
- }
692
-
693
- if (isSpaceShift(e)) {
694
- e.preventDefault();
695
- }
696
-
697
- if (
698
- e.key === "ArrowLeft"
699
- || e.key === "Show"
700
- || e.key === "PageUp"
701
- || e.key === "PageDown"
702
- || e.key === "Backspace"
703
- || e.key === "Escape"
704
- || e.key === "Home"
705
- || e.key === "End"
706
- || e.key === "Tab"
707
- || e.key === "ArrowDown"
708
- || e.key === "Enter"
709
- ) {
710
- this[`_handle${e.key}`](e);
711
- }
712
-
713
- this._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(e) || isDelete(e) || isEscape(e) || isEnter(e));
714
- }
715
-
716
- async _handlePaste() {
717
- if (this.readonly) {
718
- return;
719
- }
720
-
721
- const pastedText = await navigator.clipboard.readText();
722
-
723
- if (!pastedText) {
724
- return;
725
- }
726
-
727
- const separatedText = pastedText.split(/\r\n|\r|\n/g);
728
- const matchingItems = this.items.filter(item => separatedText.indexOf(item.text) > -1 && !item.selected);
729
-
730
- if (matchingItems.length) {
731
- matchingItems.forEach(item => {
732
- item.selected = true;
733
- this.value = "";
734
- this.fireSelectionChange();
735
- });
736
- } else {
737
- this.value = pastedText;
738
- this.fireEvent("input");
739
- }
740
- }
741
-
742
- _handleShow(e: KeyboardEvent) {
743
- const items = this.items;
744
- const selectedItem = this._getSelectedItems()[0];
745
- const focusedToken = this._tokenizer.tokens.find(token => token.focused);
746
- const value = this.value;
747
- const matchingItem = this.items.find(item => item.text.localeCompare(value, undefined, { sensitivity: "base" }) === 0);
748
-
749
- e.preventDefault();
750
-
751
- if (this.readonly) {
752
- return;
753
- }
754
-
755
- this._isOpenedByKeyboard = true;
756
- this._shouldFilterItems = false;
757
- this._filteredItems = this.items;
758
-
759
- this.togglePopover();
760
-
761
- if (!focusedToken && matchingItem) {
762
- this._itemToFocus = matchingItem;
763
- return;
764
- }
765
-
766
- if (selectedItem && !focusedToken) {
767
- this._itemToFocus = selectedItem;
768
- } else if (focusedToken && e.target === focusedToken) {
769
- this._itemToFocus = items.find(item => item.text === focusedToken.text);
770
- } else {
771
- this._itemToFocus = items[0];
772
- }
773
- }
774
-
775
- _handlePageUp(e: KeyboardEvent) {
776
- e.preventDefault();
777
- }
778
-
779
- _handlePageDown(e: KeyboardEvent) {
780
- e.preventDefault();
781
- }
782
-
783
- _handleBackspace(e: KeyboardEvent) {
784
- if ((e.target as HTMLInputElement).value === "") {
785
- e.preventDefault();
786
- this._tokenizer._focusLastToken();
787
- }
788
- }
789
-
790
- _handleEscape() {
791
- const innerInput = this._innerInput;
792
- const isAutoCompleted = ((innerInput.selectionEnd || 0) - (innerInput.selectionStart || 0)) > 0;
793
-
794
- if (isAutoCompleted) {
795
- this.value = this.valueBeforeAutoComplete;
796
- }
797
-
798
- if (!this.allowCustomValues || (!this.open && this.allowCustomValues)) {
799
- this.value = this._lastValue;
800
- }
801
- }
802
-
803
- _handleHome(e: KeyboardEvent) {
804
- const shouldFocusToken = this._isFocusInside && (e.target as HTMLInputElement).selectionStart === 0 && this._tokenizer.tokens.length > 0;
805
-
806
- if (shouldFocusToken) {
807
- e.preventDefault();
808
- this._tokenizer.tokens[0].focus();
809
- }
810
- }
811
-
812
- _handleEnd(e: KeyboardEvent) {
813
- const tokens = this._tokenizer.tokens;
814
- const lastTokenIdx = tokens.length - 1;
815
- const shouldFocusInput = e.target === tokens[lastTokenIdx] && tokens[lastTokenIdx] === this.shadowRoot!.activeElement;
816
-
817
- if (shouldFocusInput) {
818
- e.preventDefault();
819
- this._inputDom.focus();
820
- }
821
- }
822
-
823
- _handleTab() {
824
- this.allItemsPopover?.close();
825
- }
826
-
827
- _handleSelectAll() {
828
- const filteredItems = this._filteredItems;
829
- const allItemsSelected = filteredItems.every(item => item.selected);
830
-
831
- filteredItems.forEach(item => {
832
- item.selected = !allItemsSelected;
833
- });
834
-
835
- this.fireSelectionChange();
836
- }
837
-
838
- _onValueStateKeydown(e: KeyboardEvent) {
839
- const isArrowDown = isDown(e);
840
- const isArrowUp = isUp(e);
841
-
842
- if (isTabNext(e) || isTabPrevious(e)) {
843
- this._onItemTab();
844
- return;
845
- }
846
-
847
- e.preventDefault();
848
-
849
- if (isArrowDown || isDownCtrl(e)) {
850
- this._handleArrowDown();
851
- }
852
-
853
- if (isArrowUp || isUpCtrl(e)) {
854
- this._shouldAutocomplete = true;
855
- this._inputDom.focus();
856
- }
857
- }
858
-
859
- async _onItemKeydown(e: KeyboardEvent) {
860
- const isFirstItem = this.list?.items[0] === e.target;
861
- const isArrowUp = isUp(e) || isUpCtrl(e);
862
-
863
- if (this.hasValueStateMessage && !this.valueStateHeader) {
864
- await this._setValueStateHeader();
865
- }
866
-
867
- if (isTabNext(e) || isTabPrevious(e)) {
868
- this._onItemTab();
869
- return;
870
- }
871
-
872
- if (isHomeCtrl(e)) {
873
- this.list?._itemNavigation._handleHome();
874
- this.list?.items[this.list?._itemNavigation._currentIndex].focus();
875
- }
876
-
877
- if (isEndCtrl(e)) {
878
- this.list?._itemNavigation._handleEnd();
879
- this.list?.items[this.list?._itemNavigation._currentIndex].focus();
880
- }
881
-
882
- e.preventDefault();
883
-
884
- if (isDownShift(e) || isUpShift(e)) {
885
- this._handleItemRangeSelection(e);
886
- return;
887
- }
888
-
889
- if ((isUpCtrl(e)) && !isFirstItem) {
890
- this.list?._itemNavigation._handleUp();
891
- this.list?.items[this.list?._itemNavigation._currentIndex].focus();
892
- }
893
-
894
- if (isDownCtrl(e)) {
895
- this.list?._itemNavigation._handleDown();
896
- this.list?.items[this.list?._itemNavigation._currentIndex].focus();
897
- }
898
-
899
- if (isShow(e)) {
900
- this.togglePopover();
901
- }
902
-
903
- if (isCtrlA(e)) {
904
- this._handleSelectAll();
905
- return;
906
- }
907
-
908
- if (((isArrowUp && isFirstItem) || isHome(e)) && this.valueStateHeader) {
909
- this.valueStateHeader.focus();
910
- }
911
-
912
- if (!this.valueStateHeader && isFirstItem && isArrowUp) {
913
- this._inputDom.focus();
914
- this._shouldAutocomplete = true;
915
- }
916
- }
917
-
918
- _handleArrowCtrl(e: KeyboardEvent) {
919
- const input = this._inputDom;
920
- const isArrowLeft = isLeftCtrl(e);
921
-
922
- if (isArrowLeft && input.selectionStart === 0 && input.selectionEnd === 0) {
923
- e.preventDefault();
924
- }
925
-
926
- if (isArrowLeft && ((input.selectionEnd || 0) - (input.selectionStart || 0) > 0)) {
927
- input.setSelectionRange(0, 0);
928
- }
929
- }
930
-
931
- _onItemTab() {
932
- this._inputDom.focus();
933
- this.allItemsPopover?.close();
934
- }
935
-
936
- async _handleArrowNavigation(e: KeyboardEvent, isDownControl: boolean) {
937
- const isArrowDown = isDownControl || isDown(e);
938
- const hasSuggestions = this.items.length;
939
- const isOpen = this.allItemsPopover?.opened;
940
-
941
- e.preventDefault();
942
-
943
- if (this.hasValueStateMessage && !this.valueStateHeader) {
944
- await this._setValueStateHeader();
945
- }
946
-
947
- if (isArrowDown && isOpen && this.valueStateHeader) {
948
- this.value = this.valueBeforeAutoComplete || this.value;
949
- this.valueStateHeader.focus();
950
- return;
951
- }
952
-
953
- if (isArrowDown && hasSuggestions) {
954
- this._handleArrowDown();
955
- }
956
-
957
- if (!isArrowDown && !isOpen && !this.readonly) {
958
- this._navigateToPrevItem();
959
- }
960
- }
961
-
962
- _handleArrowDown() {
963
- const isOpen = this.allItemsPopover?.opened;
964
- const firstListItem = this.list?.items[0];
965
-
966
- if (isOpen) {
967
- firstListItem && this.list?._itemNavigation.setCurrentItem(firstListItem);
968
- this.value = this.valueBeforeAutoComplete || this.value;
969
- firstListItem?.focus();
970
- } else if (!this.readonly) {
971
- this._navigateToNextItem();
972
- }
973
- }
974
-
975
- _handleItemRangeSelection(e: KeyboardEvent) {
976
- const items = this.items;
977
- const listItems = this.list?.items;
978
- const currentItemIdx = listItems?.indexOf(e.target as ListItemBase) || -1;
979
- const nextItemIdx = currentItemIdx + 1;
980
- const prevItemIdx = currentItemIdx - 1;
981
-
982
- if (isDownShift(e) && items[nextItemIdx]) {
983
- items[nextItemIdx].selected = items[currentItemIdx].selected;
984
- items[nextItemIdx].focus();
985
- }
986
-
987
- if (isUpShift(e) && items[prevItemIdx]) {
988
- items[prevItemIdx].selected = items[currentItemIdx].selected;
989
- items[prevItemIdx].focus();
990
- }
991
-
992
- this.fireSelectionChange();
993
- }
994
-
995
- _navigateToNextItem() {
996
- const items = this.items;
997
- const itemsCount = items.length;
998
- const previousItemIdx = this.currentItemIdx;
999
-
1000
- if (previousItemIdx > -1 && items[previousItemIdx].text !== this.value) {
1001
- this.currentItemIdx = -1;
1002
- }
1003
-
1004
- if (previousItemIdx >= itemsCount - 1) {
1005
- return;
1006
- }
1007
-
1008
- let currentItem = this.items[++this.currentItemIdx];
1009
-
1010
- while ((this.currentItemIdx < itemsCount - 1 && currentItem.selected) || currentItem.isGroupItem) {
1011
- currentItem = this.items[++this.currentItemIdx];
1012
- }
1013
-
1014
- if (currentItem.selected === true || currentItem.isGroupItem) {
1015
- this.currentItemIdx = previousItemIdx;
1016
- return;
1017
- }
1018
-
1019
- this.value = currentItem.text;
1020
- this._innerInput.value = currentItem.text;
1021
- this._innerInput.setSelectionRange(0, currentItem.text.length);
1022
- }
1023
-
1024
- _navigateToPrevItem() {
1025
- const items = this.items;
1026
- let previousItemIdx = this.currentItemIdx;
1027
-
1028
- if ((!this.value && previousItemIdx !== -1) || (previousItemIdx !== -1 && this.value && this.value !== items[previousItemIdx].text)) {
1029
- previousItemIdx = -1;
1030
- }
1031
-
1032
- if (previousItemIdx === -1) {
1033
- this.currentItemIdx = items.length;
1034
- }
1035
-
1036
- if (previousItemIdx === 0) {
1037
- this.currentItemIdx = 0;
1038
- return;
1039
- }
1040
-
1041
- let currentItem = this.items[--this.currentItemIdx];
1042
-
1043
- while ((currentItem && this.currentItemIdx > 0) && (currentItem.selected || currentItem.isGroupItem)) {
1044
- currentItem = this.items[--this.currentItemIdx];
1045
- }
1046
-
1047
- if (!currentItem) {
1048
- return;
1049
- }
1050
-
1051
- if (currentItem.selected || currentItem.isGroupItem) {
1052
- this.currentItemIdx = previousItemIdx;
1053
- return;
1054
- }
1055
-
1056
- this.value = currentItem.text;
1057
- this._innerInput.value = currentItem.text;
1058
- this._innerInput.setSelectionRange(0, currentItem.text.length);
1059
- }
1060
-
1061
- _handleEnter() {
1062
- const lowerCaseValue = this.value.toLowerCase();
1063
- const matchingItem = this.items.find(item => (item.text.toLowerCase() === lowerCaseValue && !item.isGroupItem));
1064
- const oldValueState = this.valueState;
1065
- const innerInput = this._innerInput;
1066
-
1067
- if (this.FormSupport) {
1068
- this.FormSupport.triggerFormSubmit(this);
1069
- }
1070
-
1071
- if (matchingItem) {
1072
- if (matchingItem.selected) {
1073
- if (this._validationTimeout) {
1074
- return;
1075
- }
1076
-
1077
- this.valueState = ValueState.Error;
1078
- this._performingSelectionTwice = true;
1079
- this._resetValueState(oldValueState, () => {
1080
- this._performingSelectionTwice = false;
1081
- });
1082
- } else {
1083
- matchingItem.selected = true;
1084
- this.value = "";
1085
- this.fireSelectionChange();
1086
- }
1087
-
1088
- innerInput.setSelectionRange(matchingItem.text.length, matchingItem.text.length);
1089
- this.allItemsPopover?.close();
1090
- }
1091
- }
1092
-
1093
- _resetValueState(valueState: ValueState, callback?: () => void) {
1094
- this._validationTimeout = setTimeout(() => {
1095
- this.valueState = valueState;
1096
- this._validationTimeout = null;
1097
-
1098
- callback && callback();
1099
- }, 2000);
1100
- }
1101
-
1102
- _onTokenizerKeydown(e: KeyboardEvent) {
1103
- const isCtrl = !!(e.metaKey || e.ctrlKey);
1104
-
1105
- if (isRight(e)) {
1106
- const lastTokenIndex = this._tokenizer.tokens.length - this._tokenizer.overflownTokens.length - 1;
1107
-
1108
- if (e.target === this._tokenizer.tokens[lastTokenIndex]) {
1109
- setTimeout(() => {
1110
- this._inputDom.focus();
1111
- }, 0);
1112
- }
1113
- }
1114
-
1115
- if ((isCtrl && ["c", "x"].includes(e.key.toLowerCase())) || isDeleteShift(e) || isInsertCtrl(e)) {
1116
- e.preventDefault();
1117
-
1118
- const isCut = e.key.toLowerCase() === "x" || isDeleteShift(e);
1119
- const selectedTokens = this._tokenizer.tokens.filter(token => token.selected);
1120
-
1121
- if (isCut) {
1122
- const cutResult = this._tokenizer._fillClipboard(ClipboardDataOperation.cut, selectedTokens);
1123
- selectedTokens.forEach(token => {
1124
- this._tokenizer.deleteToken(token);
1125
- });
1126
-
1127
- this.focus();
1128
- return cutResult;
1129
- }
1130
- return this._tokenizer._fillClipboard(ClipboardDataOperation.copy, selectedTokens);
1131
- }
1132
-
1133
- if (isCtrlV(e) || isInsertShift(e)) {
1134
- this._handlePaste();
1135
- }
1136
-
1137
- if (isHome(e)) {
1138
- this._handleHome(e);
1139
- }
1140
-
1141
- if (isEnd(e)) {
1142
- this._handleEnd(e);
1143
- }
1144
-
1145
- if (isShow(e) && !this.readonly && !this.disabled) {
1146
- this._preventTokenizerToggle = true;
1147
- this._handleShow(e);
1148
- }
1149
- }
1150
-
1151
- _filterItems(str: string) {
1152
- const itemsToFilter = this.items.filter(item => !item.isGroupItem);
1153
- const filteredItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, itemsToFilter, "text");
1154
-
1155
- // Return the filtered items and their group items
1156
- return this.items.filter((item, idx, allItems) => MultiComboBox._groupItemFilter(item, ++idx, allItems, filteredItems) || filteredItems.indexOf(item) !== -1);
1157
- }
1158
-
1159
- /**
1160
- * Returns true if the group header should be shown (if there is a filtered suggestion item for this group item)
1161
- *
1162
- * @private
1163
- */
1164
- static _groupItemFilter(item: IMultiComboBoxItem, idx: number, allItems: Array<IMultiComboBoxItem>, filteredItems: Array<IMultiComboBoxItem>) {
1165
- if (item.isGroupItem) {
1166
- let groupHasFilteredItems;
1167
-
1168
- while (allItems[idx] && !allItems[idx].isGroupItem && !groupHasFilteredItems) {
1169
- groupHasFilteredItems = filteredItems.indexOf(allItems[idx]) !== -1;
1170
- idx++;
1171
- }
1172
-
1173
- return groupHasFilteredItems;
1174
- }
1175
- }
1176
-
1177
- _afterOpenPicker() {
1178
- this._toggle();
1179
-
1180
- if (!isPhone() && !this._isOpenedByKeyboard) {
1181
- this._innerInput.focus();
1182
- } else if (this._isOpenedByKeyboard) {
1183
- this._itemToFocus?.focus();
1184
- } else {
1185
- this.allItemsPopover?.focus();
1186
- }
1187
-
1188
- this._isOpenedByKeyboard = false;
1189
- }
1190
-
1191
- _toggle() {
1192
- this.open = !this.open;
1193
- this.fireEvent("open-change");
1194
- }
1195
-
1196
- _getSelectedItems(): Array<MultiComboBoxItem> {
1197
- // Angular 2 way data binding
1198
- this.selectedValues = this.items.filter(item => item.selected);
1199
- return this.selectedValues as Array<MultiComboBoxItem>;
1200
- }
1201
-
1202
- _listSelectionChange(e: CustomEvent<SelectionChangeEventDetail>) {
1203
- // sync list items and cb items
1204
- this.syncItems((e.target as List).items);
1205
-
1206
- // don't call selection change right after selection as user can cancel it on phone
1207
- if (!isPhone()) {
1208
- this.fireSelectionChange();
1209
- }
1210
-
1211
- // casted to KeyboardEvent since isSpace and isSpaceCtrl accepts KeyboardEvent only
1212
- const castedEvent = { key: e.detail.key } as KeyboardEvent;
1213
-
1214
- if (!e.detail.selectionComponentPressed && !isSpace(castedEvent) && !isSpaceCtrl(castedEvent)) {
1215
- this.allItemsPopover?.close();
1216
- this.value = "";
1217
-
1218
- // if the item (not checkbox) is clicked, call the selection change
1219
- if (isPhone()) {
1220
- this.fireSelectionChange();
1221
- }
1222
-
1223
- this.fireEvent("input");
1224
- }
1225
-
1226
- this.value = this.valueBeforeAutoComplete || "";
1227
- }
1228
-
1229
- syncItems(listItems: Array<ListItemBase>) {
1230
- listItems.forEach(item => {
1231
- this.items.forEach(mcbItem => {
1232
- if (mcbItem._id === item.getAttribute("data-ui5-token-id")) {
1233
- mcbItem.selected = item.selected;
1234
- }
1235
- });
1236
- });
1237
- }
1238
-
1239
- fireSelectionChange() {
1240
- this.fireEvent<MultiComboBoxSelectionChangeEventDetail>("selection-change", { items: this._getSelectedItems() });
1241
- // Angular 2 way data binding
1242
- this.fireEvent("value-changed");
1243
- }
1244
-
1245
- async _getRespPopover() {
1246
- const staticAreaItem = await this.getStaticAreaItemDomRef();
1247
- this.allItemsPopover = staticAreaItem!.querySelector(`.ui5-multi-combobox-all-items-responsive-popover`)!;
1248
- }
1249
-
1250
- async _getList(): Promise<List> {
1251
- const staticAreaItem = await this.getStaticAreaItemDomRef();
1252
- this.list = staticAreaItem!.querySelector(".ui5-multi-combobox-all-items-list")!;
1253
- return this.list;
1254
- }
1255
-
1256
- _click() {
1257
- if (isPhone() && !this.readonly && !this._showMorePressed && !this._deleting) {
1258
- this.allItemsPopover?.showAt(this);
1259
- }
1260
-
1261
- this._showMorePressed = false;
1262
- }
1263
-
1264
- _afterClosePicker() {
1265
- // close device's keyboard and prevent further typing
1266
- if (isPhone()) {
1267
- this.blur();
1268
- }
1269
-
1270
- this._toggle();
1271
-
1272
- this._iconPressed = false;
1273
- this._preventTokenizerToggle = false;
1274
- this.filterSelected = false;
1275
- }
1276
-
1277
- _beforeOpen() {
1278
- this._itemsBeforeOpen = this.items.map(item => {
1279
- return {
1280
- ref: item,
1281
- selected: item.selected,
1282
- };
1283
- });
1284
-
1285
- this._valueBeforeOpen = this.value;
1286
-
1287
- if (this.filterSelected) {
1288
- const selectedItems = this._filteredItems.filter(item => item.selected);
1289
- this.selectedItems = this.items.filter((item, idx, allItems) => MultiComboBox._groupItemFilter(item, ++idx, allItems, selectedItems) || selectedItems.indexOf(item) !== -1);
1290
- }
1291
- }
1292
-
1293
- _handleTypeAhead(item: IMultiComboBoxItem, filterValue: string) {
1294
- if (!item) {
1295
- return;
1296
- }
1297
-
1298
- const value = item.text;
1299
- const innerInput = this._innerInput;
1300
-
1301
- filterValue = filterValue || "";
1302
- this.value = value;
1303
-
1304
- innerInput.value = value;
1305
- innerInput.setSelectionRange(filterValue.length, value.length);
1306
-
1307
- this._shouldAutocomplete = false;
1308
- }
1309
-
1310
- _getFirstMatchingItem(current: string) {
1311
- if (!this.items.length) {
1312
- return;
1313
- }
1314
-
1315
- const matchingItems = this._startsWithMatchingItems(current).filter(item => !item.isGroupItem && !item.selected);
1316
-
1317
- if (matchingItems.length) {
1318
- return matchingItems[0];
1319
- }
1320
- }
1321
-
1322
- _startsWithMatchingItems(str: string) {
1323
- return Filters.StartsWith(str, this.items, "text");
1324
- }
1325
-
1326
- onBeforeRendering() {
1327
- const input = this._innerInput;
1328
- const autoCompletedChars = input && (input.selectionEnd || 0) - (input.selectionStart || 0);
1329
- const value = input && input.value;
1330
-
1331
- this.FormSupport = getFeature("FormSupport");
1332
- this._inputLastValue = value;
1333
-
1334
- if (input && !input.value) {
1335
- this.valueBeforeAutoComplete = "";
1336
- this._filteredItems = this.items;
1337
- }
1338
-
1339
- this.items.forEach(item => {
1340
- item._getRealDomRef = () => this.allItemsPopover!.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;
1341
- });
1342
-
1343
- this.tokenizerAvailable = this._getSelectedItems().length > 0;
1344
- this.style.setProperty("--_ui5-input-icons-count", `${this.iconsCount}`);
1345
-
1346
- if (!input || !value) {
1347
- return;
1348
- }
1349
-
1350
- // Typehead causes issues on Android devices, so we disable it for now
1351
- // If there is already a selection the autocomplete has already been performed
1352
- if (this._shouldAutocomplete && !isAndroid() && !autoCompletedChars) {
1353
- const item = this._getFirstMatchingItem(value);
1354
-
1355
- // Keep the original typed in text intact
1356
- this.valueBeforeAutoComplete = value;
1357
- item && this._handleTypeAhead(item, value);
1358
- }
1359
-
1360
- if (this._shouldFilterItems) {
1361
- this._filteredItems = this._filterItems(this._shouldAutocomplete || !!autoCompletedChars ? this.valueBeforeAutoComplete : value);
1362
- } else {
1363
- this._filteredItems = this.items;
1364
- }
1365
- }
1366
-
1367
- async onAfterRendering() {
1368
- await this._getRespPopover();
1369
- await this._getList();
1370
-
1371
- this.toggle(this.shouldDisplayOnlyValueStateMessage);
1372
- this.storeResponsivePopoverWidth();
1373
-
1374
- this._deleting = false;
1375
- // force resize of the tokenizer on invalidation
1376
- this._tokenizer._handleResize();
1377
- }
1378
-
1379
- get _isPhone() {
1380
- return isPhone();
1381
- }
1382
-
1383
- _onIconMousedown() {
1384
- this._iconPressed = true;
1385
- }
1386
-
1387
- storeResponsivePopoverWidth() {
1388
- if (this.open && !this._listWidth) {
1389
- this._listWidth = this.list!.offsetWidth;
1390
- }
1391
- }
1392
-
1393
- toggle(isToggled: boolean) {
1394
- if (isToggled && !this.open) {
1395
- this.openPopover();
1396
- } else {
1397
- this.closePopover();
1398
- }
1399
- }
1400
-
1401
- handleCancel() {
1402
- this._itemsBeforeOpen.forEach(item => {
1403
- item.ref.selected = item.selected;
1404
- });
1405
-
1406
- this.togglePopover();
1407
-
1408
- this.value = this._valueBeforeOpen;
1409
- }
1410
-
1411
- handleOK() {
1412
- if (isPhone()) {
1413
- this.fireSelectionChange();
1414
- }
1415
-
1416
- this.togglePopover();
1417
- }
1418
-
1419
- async openPopover() {
1420
- (await this._getPopover())?.showAt(this);
1421
- }
1422
-
1423
- _forwardFocusToInner() {
1424
- this._innerInput.focus();
1425
- }
1426
-
1427
- async closePopover() {
1428
- (await this._getPopover())?.close();
1429
- }
1430
-
1431
- async _getPopover() {
1432
- const staticAreaItem = await this.getStaticAreaItemDomRef();
1433
- return (staticAreaItem!.querySelector<Popover>("[ui5-popover]"))!;
1434
- }
1435
-
1436
- async _getResponsivePopover() {
1437
- const staticAreaItem = await this.getStaticAreaItemDomRef();
1438
- return staticAreaItem!.querySelector<ResponsivePopover>("[ui5-responsive-popover]")!;
1439
- }
1440
-
1441
- async _setValueStateHeader() {
1442
- const responsivePopover = await this._getResponsivePopover();
1443
- this.valueStateHeader = responsivePopover.querySelector("div.ui5-responsive-popover-header.ui5-valuestatemessage-root")!;
1444
- }
1445
-
1446
- get _tokenizer() {
1447
- return this.shadowRoot!.querySelector<Tokenizer>("[ui5-tokenizer]")!;
1448
- }
1449
-
1450
- inputFocusIn(e: FocusEvent) {
1451
- if (!isPhone() || this.readonly) {
1452
- this.focused = true;
1453
- this._tokenizer.expanded = true;
1454
- } else {
1455
- this._innerInput.blur();
1456
- }
1457
-
1458
- if (!isPhone() && (((e.relatedTarget as HTMLElement)?.tagName !== "UI5-STATIC-AREA-ITEM") || !e.relatedTarget)) {
1459
- this._innerInput.setSelectionRange(0, this.value.length);
1460
- }
1461
-
1462
- this._lastValue = this.value;
1463
- this.valueBeforeAutoComplete = "";
1464
- }
1465
-
1466
- inputFocusOut(e: FocusEvent) {
1467
- if (!this.shadowRoot!.contains(e.relatedTarget as Node) && !this._deleting) {
1468
- this.focused = false;
1469
- this._tokenizer.expanded = this.open;
1470
- // remove the value if user focus out the input and focus is not going in the popover
1471
- if (!isPhone() && !this.allowCustomValues && (this.staticAreaItem !== e.relatedTarget)) {
1472
- this.value = "";
1473
- }
1474
- }
1475
- }
1476
-
1477
- get editable() {
1478
- return !this.readonly;
1479
- }
1480
-
1481
- get _isFocusInside() {
1482
- return !isPhone() && (this.focused || this._tokenizerFocused);
1483
- }
1484
-
1485
- get selectedItemsListMode() {
1486
- return this.readonly ? "None" : "MultiSelect";
1487
- }
1488
-
1489
- get _listItemsType() {
1490
- return this.readonly ? "Inactive" : "Active";
1491
- }
1492
-
1493
- get hasValueState() {
1494
- return this.valueState !== ValueState.None;
1495
- }
1496
-
1497
- get hasValueStateMessage() {
1498
- return this.hasValueState && this.valueState !== ValueState.Success;
1499
- }
1500
-
1501
- get ariaValueStateHiddenText() {
1502
- if (!this.hasValueState) {
1503
- return;
1504
- }
1505
-
1506
- let text = "";
1507
-
1508
- if (this.valueState !== ValueState.None) {
1509
- text = this.valueStateTypeMappings[this.valueState];
1510
- }
1511
-
1512
- if (this.shouldDisplayDefaultValueStateMessage) {
1513
- return `${text} ${this.valueStateDefaultText || ""}`;
1514
- }
1515
-
1516
- return `${text}`.concat(" ", this.valueStateMessageText.map(el => el.textContent).join(" "));
1517
- }
1518
-
1519
- get valueStateDefaultText(): string {
1520
- if (this.valueState === ValueState.None) {
1521
- return "";
1522
- }
1523
-
1524
- if (this._performingSelectionTwice) {
1525
- return MultiComboBox.i18nBundle.getText(VALUE_STATE_ERROR_ALREADY_SELECTED);
1526
- }
1527
-
1528
- return this.valueStateTextMappings[this.valueState];
1529
- }
1530
-
1531
- get valueStateTextId() {
1532
- return this.hasValueState ? `ui5-multi-combobox-valueStateDesc` : undefined;
1533
- }
1534
-
1535
- get valueStateMessageText() {
1536
- return this.getSlottedNodes("valueStateMessage").map(el => el.cloneNode(true));
1537
- }
1538
-
1539
- get ariaLabelText() {
1540
- return getEffectiveAriaLabelText(this);
1541
- }
1542
-
1543
- /**
1544
- * This method is relevant for sap_horizon theme only
1545
- */
1546
- get _valueStateMessageIcon() {
1547
- if (this.valueState === ValueState.None) {
1548
- return "";
1549
- }
1550
-
1551
- return {
1552
- [ValueState.Error]: "error",
1553
- [ValueState.Warning]: "alert",
1554
- [ValueState.Success]: "sys-enter-2",
1555
- [ValueState.Information]: "information",
1556
- }[this.valueState];
1557
- }
1558
-
1559
- get _tokensCountText() {
1560
- if (!this._tokenizer) {
1561
- return;
1562
- }
1563
- return this._tokenizer._tokensCountText();
1564
- }
1565
-
1566
- get _tokensCountTextId() {
1567
- return "ui5-multi-combobox-hiddenText-nMore";
1568
- }
1569
-
1570
- get _selectedTokensCount() {
1571
- return this._tokenizer.tokens.filter(token => token.selected).length;
1572
- }
1573
-
1574
- get ariaDescribedByText() {
1575
- return this.valueStateTextId ? `${this._tokensCountTextId} ${this.valueStateTextId}` : `${this._tokensCountTextId}`;
1576
- }
1577
-
1578
- get shouldDisplayDefaultValueStateMessage() {
1579
- return !this.valueStateMessage.length && this.hasValueStateMessage;
1580
- }
1581
-
1582
- get shouldDisplayOnlyValueStateMessage() {
1583
- return this.focused && !this.readonly && this.hasValueStateMessage && !this._iconPressed;
1584
- }
1585
-
1586
- get valueStateTypeMappings(): ValueStateTypeAnnouncement {
1587
- return {
1588
- [ValueState.Success]: MultiComboBox.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),
1589
- [ValueState.Information]: MultiComboBox.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),
1590
- [ValueState.Error]: MultiComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),
1591
- [ValueState.Warning]: MultiComboBox.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),
1592
- };
1593
- }
1594
-
1595
- get valueStateTextMappings(): ValueStateAnnouncement {
1596
- return {
1597
- [ValueState.Success]: MultiComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),
1598
- [ValueState.Error]: MultiComboBox.i18nBundle.getText(VALUE_STATE_ERROR),
1599
- [ValueState.Warning]: MultiComboBox.i18nBundle.getText(VALUE_STATE_WARNING),
1600
- [ValueState.Information]: MultiComboBox.i18nBundle.getText(VALUE_STATE_INFORMATION),
1601
- };
1602
- }
1603
-
1604
- get _innerInput(): HTMLInputElement {
1605
- if (isPhone()) {
1606
- if (this.allItemsPopover?.opened) {
1607
- return this.allItemsPopover.querySelector("input")!;
1608
- }
1609
- }
1610
-
1611
- return this._inputDom;
1612
- }
1613
-
1614
- get _headerTitleText() {
1615
- return MultiComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1616
- }
1617
-
1618
- get _iconAccessibleNameText() {
1619
- return MultiComboBox.i18nBundle.getText(SELECT_OPTIONS);
1620
- }
1621
-
1622
- get _dialogOkButton() {
1623
- return MultiComboBox.i18nBundle.getText(MULTICOMBOBOX_DIALOG_OK_BUTTON);
1624
- }
1625
-
1626
- get _tokenizerExpanded() {
1627
- if (isPhone() || this.readonly) {
1628
- return false;
1629
- }
1630
-
1631
- if (this._preventTokenizerToggle) {
1632
- return this._tokenizer.expanded;
1633
- }
1634
-
1635
- const isCurrentlyExpanded = this._tokenizer?.expanded;
1636
- const shouldBeExpanded = this.focused || this.open || isCurrentlyExpanded;
1637
-
1638
- return shouldBeExpanded;
1639
- }
1640
-
1641
- get _valueStatePopoverHorizontalAlign() {
1642
- return this.effectiveDir !== "rtl" ? "Left" : "Right";
1643
- }
1644
-
1645
- get iconsCount() {
1646
- const slottedIconsCount = this.icon?.length || 0;
1647
- const arrowDownIconsCount = this.readonly ? 0 : 1;
1648
- return slottedIconsCount + arrowDownIconsCount;
1649
- }
1650
-
1651
- get classes(): ClassMap {
1652
- return {
1653
- popover: {
1654
- "ui5-multi-combobox-all-items-responsive-popover": true,
1655
- "ui5-suggestions-popover": true,
1656
- "ui5-suggestions-popover-with-value-state-header": this.hasValueStateMessage,
1657
- },
1658
- popoverValueState: {
1659
- "ui5-valuestatemessage-root": true,
1660
- "ui5-valuestatemessage-header": true,
1661
- "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
1662
- "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
1663
- "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
1664
- "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
1665
- },
1666
- };
1667
- }
1668
-
1669
- get styles() {
1670
- const remSizeIxPx = parseInt(getComputedStyle(document.documentElement).fontSize);
1671
- return {
1672
- popoverValueStateMessage: {
1673
- "width": `${this._listWidth || 0}px`,
1674
- "display": this._listWidth === 0 ? "none" : "inline-block",
1675
- },
1676
- popoverHeader: {
1677
- "max-width": isPhone() ? "100%" : `${this._inputWidth}px`,
1678
- },
1679
- suggestionsPopover: {
1680
- "min-width": `${this._inputWidth}px`,
1681
- "max-width": (this._inputWidth / remSizeIxPx) > 40 ? `${this._inputWidth}px` : "40rem",
1682
- },
1683
- };
1684
- }
1685
-
1686
- static async onDefine() {
1687
- MultiComboBox.i18nBundle = await getI18nBundle("@ui5/webcomponents");
1688
- }
1689
- }
1690
-
1691
- MultiComboBox.define();
1692
-
1693
- export default MultiComboBox;
1694
-
1695
- export type {
1696
- IMultiComboBoxItem,
1697
- MultiComboBoxSelectionChangeEventDetail,
1698
- };