@ui5/webcomponents 2.12.0 → 2.13.0-rc.1

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 (530) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Breadcrumbs.d.ts +1 -0
  4. package/dist/Breadcrumbs.js +3 -0
  5. package/dist/Breadcrumbs.js.map +1 -1
  6. package/dist/ComboBox.d.ts +23 -6
  7. package/dist/ComboBox.js +128 -54
  8. package/dist/ComboBox.js.map +1 -1
  9. package/dist/ComboBoxPopoverTemplate.js +0 -1
  10. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  11. package/dist/ComboBoxTemplate.js +2 -1
  12. package/dist/ComboBoxTemplate.js.map +1 -1
  13. package/dist/DateComponentBase.d.ts +3 -3
  14. package/dist/DateComponentBase.js +3 -3
  15. package/dist/DateComponentBase.js.map +1 -1
  16. package/dist/DateTimePicker.d.ts +3 -1
  17. package/dist/DateTimePicker.js +12 -1
  18. package/dist/DateTimePicker.js.map +1 -1
  19. package/dist/FileUploader.d.ts +52 -13
  20. package/dist/FileUploader.js +165 -48
  21. package/dist/FileUploader.js.map +1 -1
  22. package/dist/FileUploaderPopoverTemplate.js +1 -3
  23. package/dist/FileUploaderPopoverTemplate.js.map +1 -1
  24. package/dist/FileUploaderTemplate.js +5 -4
  25. package/dist/FileUploaderTemplate.js.map +1 -1
  26. package/dist/Input.d.ts +19 -5
  27. package/dist/Input.js +115 -17
  28. package/dist/Input.js.map +1 -1
  29. package/dist/InputTemplate.js +2 -1
  30. package/dist/InputTemplate.js.map +1 -1
  31. package/dist/List.js +3 -0
  32. package/dist/List.js.map +1 -1
  33. package/dist/ListItemBase.d.ts +1 -0
  34. package/dist/ListItemBase.js +3 -0
  35. package/dist/ListItemBase.js.map +1 -1
  36. package/dist/ListItemStandard.d.ts +12 -8
  37. package/dist/ListItemStandard.js +3 -8
  38. package/dist/ListItemStandard.js.map +1 -1
  39. package/dist/MultiComboBox.d.ts +23 -1
  40. package/dist/MultiComboBox.js +135 -23
  41. package/dist/MultiComboBox.js.map +1 -1
  42. package/dist/MultiComboBoxPopoverTemplate.js +1 -1
  43. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
  44. package/dist/MultiComboBoxTemplate.js +2 -1
  45. package/dist/MultiComboBoxTemplate.js.map +1 -1
  46. package/dist/MultiInput.js +1 -1
  47. package/dist/MultiInput.js.map +1 -1
  48. package/dist/RangeSlider.d.ts +0 -7
  49. package/dist/RangeSlider.js +0 -7
  50. package/dist/RangeSlider.js.map +1 -1
  51. package/dist/Slider.d.ts +0 -7
  52. package/dist/Slider.js +0 -7
  53. package/dist/Slider.js.map +1 -1
  54. package/dist/SliderBase.d.ts +0 -4
  55. package/dist/SliderBase.js +7 -3
  56. package/dist/SliderBase.js.map +1 -1
  57. package/dist/SliderBaseTemplate.js +1 -1
  58. package/dist/SliderBaseTemplate.js.map +1 -1
  59. package/dist/SplitButtonTemplate.js +1 -1
  60. package/dist/SplitButtonTemplate.js.map +1 -1
  61. package/dist/TimeSelectionClocksTemplate.js +1 -1
  62. package/dist/TimeSelectionClocksTemplate.js.map +1 -1
  63. package/dist/Tokenizer.js +4 -0
  64. package/dist/Tokenizer.js.map +1 -1
  65. package/dist/TokenizerPopoverTemplate.js +1 -1
  66. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  67. package/dist/css/themes/Avatar.css +1 -1
  68. package/dist/css/themes/AvatarGroup.css +1 -1
  69. package/dist/css/themes/Bar.css +1 -1
  70. package/dist/css/themes/Breadcrumbs.css +1 -1
  71. package/dist/css/themes/BusyIndicator.css +1 -1
  72. package/dist/css/themes/Button.css +1 -1
  73. package/dist/css/themes/ButtonBadge.css +1 -1
  74. package/dist/css/themes/Calendar.css +1 -1
  75. package/dist/css/themes/CalendarHeader.css +1 -1
  76. package/dist/css/themes/CalendarLegend.css +1 -1
  77. package/dist/css/themes/CalendarLegendItem.css +1 -1
  78. package/dist/css/themes/Card.css +1 -1
  79. package/dist/css/themes/CardHeader.css +1 -1
  80. package/dist/css/themes/Carousel.css +1 -1
  81. package/dist/css/themes/CheckBox.css +1 -1
  82. package/dist/css/themes/ColorPalette.css +1 -1
  83. package/dist/css/themes/ColorPaletteItem.css +1 -1
  84. package/dist/css/themes/ColorPalettePopover.css +1 -1
  85. package/dist/css/themes/ColorPicker.css +1 -1
  86. package/dist/css/themes/ComboBox.css +1 -1
  87. package/dist/css/themes/ComboBoxItem.css +1 -1
  88. package/dist/css/themes/DatePicker.css +1 -1
  89. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  90. package/dist/css/themes/DayPicker.css +1 -1
  91. package/dist/css/themes/Dialog.css +1 -1
  92. package/dist/css/themes/DynamicDateRange.css +1 -1
  93. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  94. package/dist/css/themes/FileUploader.css +1 -1
  95. package/dist/css/themes/Form.css +1 -1
  96. package/dist/css/themes/FormItem.css +1 -1
  97. package/dist/css/themes/FormItemSpan.css +1 -1
  98. package/dist/css/themes/GrowingButton.css +1 -1
  99. package/dist/css/themes/Icon.css +1 -1
  100. package/dist/css/themes/Input.css +1 -1
  101. package/dist/css/themes/InputIcon.css +1 -1
  102. package/dist/css/themes/InputSharedStyles.css +1 -1
  103. package/dist/css/themes/Link.css +1 -1
  104. package/dist/css/themes/List.css +1 -1
  105. package/dist/css/themes/ListItem.css +1 -1
  106. package/dist/css/themes/ListItemBase.css +1 -1
  107. package/dist/css/themes/ListItemCustom.css +1 -1
  108. package/dist/css/themes/ListItemGroup.css +1 -1
  109. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  110. package/dist/css/themes/ListItemIcon.css +1 -1
  111. package/dist/css/themes/Menu.css +1 -1
  112. package/dist/css/themes/MenuItem.css +1 -1
  113. package/dist/css/themes/MessageStrip.css +1 -1
  114. package/dist/css/themes/MonthPicker.css +1 -1
  115. package/dist/css/themes/MultiComboBox.css +1 -1
  116. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  117. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  118. package/dist/css/themes/MultiInput.css +1 -1
  119. package/dist/css/themes/OptionBase.css +1 -1
  120. package/dist/css/themes/Panel.css +1 -1
  121. package/dist/css/themes/Popover.css +1 -1
  122. package/dist/css/themes/PopupsCommon.css +1 -1
  123. package/dist/css/themes/ProgressIndicator.css +1 -1
  124. package/dist/css/themes/RadioButton.css +1 -1
  125. package/dist/css/themes/RangeSlider.css +1 -1
  126. package/dist/css/themes/RatingIndicator.css +1 -1
  127. package/dist/css/themes/ResponsivePopover.css +1 -1
  128. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  129. package/dist/css/themes/SegmentedButton.css +1 -1
  130. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  131. package/dist/css/themes/Select.css +1 -1
  132. package/dist/css/themes/SliderBase.css +1 -1
  133. package/dist/css/themes/SplitButton.css +1 -1
  134. package/dist/css/themes/StepInput.css +1 -1
  135. package/dist/css/themes/SuggestionItem.css +1 -1
  136. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  137. package/dist/css/themes/Switch.css +1 -1
  138. package/dist/css/themes/TabContainer.css +1 -1
  139. package/dist/css/themes/TabInOverflow.css +1 -1
  140. package/dist/css/themes/TabInStrip.css +1 -1
  141. package/dist/css/themes/TabSemanticIcon.css +1 -1
  142. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  143. package/dist/css/themes/TableCellBase.css +1 -1
  144. package/dist/css/themes/TableHeaderRow.css +1 -1
  145. package/dist/css/themes/TableRow.css +1 -1
  146. package/dist/css/themes/TableRowActionBase.css +1 -1
  147. package/dist/css/themes/TableRowBase.css +1 -1
  148. package/dist/css/themes/Tag.css +1 -1
  149. package/dist/css/themes/Text.css +1 -1
  150. package/dist/css/themes/TextArea.css +1 -1
  151. package/dist/css/themes/TimePicker.css +1 -1
  152. package/dist/css/themes/Toast.css +1 -1
  153. package/dist/css/themes/ToggleButton.css +1 -1
  154. package/dist/css/themes/Token.css +1 -1
  155. package/dist/css/themes/Tokenizer.css +1 -1
  156. package/dist/css/themes/TokenizerPopover.css +1 -1
  157. package/dist/css/themes/Toolbar.css +1 -1
  158. package/dist/css/themes/ToolbarPopover.css +1 -1
  159. package/dist/css/themes/ToolbarSeparator.css +1 -1
  160. package/dist/css/themes/TreeItem.css +1 -1
  161. package/dist/css/themes/ValueStateMessage.css +1 -1
  162. package/dist/css/themes/ValueStateVariables.css +1 -0
  163. package/dist/css/themes/YearPicker.css +1 -1
  164. package/dist/css/themes/YearRangePicker.css +1 -1
  165. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  166. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  167. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  168. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  169. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  170. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  171. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  172. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  173. package/dist/custom-elements-internal.json +91 -33
  174. package/dist/custom-elements.json +89 -32
  175. package/dist/features/InputSuggestions.d.ts +0 -3
  176. package/dist/features/InputSuggestions.js +4 -50
  177. package/dist/features/InputSuggestions.js.map +1 -1
  178. package/dist/features/InputSuggestionsTemplate.js +0 -1
  179. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  180. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  181. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  182. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  183. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  184. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  185. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  186. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  187. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  188. package/dist/generated/i18n/i18n-defaults.d.ts +11 -3
  189. package/dist/generated/i18n/i18n-defaults.js +11 -3
  190. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  191. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  192. package/dist/generated/themes/Avatar.css.js +1 -1
  193. package/dist/generated/themes/Avatar.css.js.map +1 -1
  194. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  195. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  196. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  197. package/dist/generated/themes/Bar.css.d.ts +1 -1
  198. package/dist/generated/themes/Bar.css.js +1 -1
  199. package/dist/generated/themes/Bar.css.js.map +1 -1
  200. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  201. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  202. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  203. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  204. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  205. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  206. package/dist/generated/themes/Button.css.d.ts +1 -1
  207. package/dist/generated/themes/Button.css.js +1 -1
  208. package/dist/generated/themes/Button.css.js.map +1 -1
  209. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  210. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  211. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  212. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  213. package/dist/generated/themes/Calendar.css.js +1 -1
  214. package/dist/generated/themes/Calendar.css.js.map +1 -1
  215. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  216. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  217. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  218. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  219. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  220. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  221. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  222. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  223. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  224. package/dist/generated/themes/Card.css.d.ts +1 -1
  225. package/dist/generated/themes/Card.css.js +1 -1
  226. package/dist/generated/themes/Card.css.js.map +1 -1
  227. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  228. package/dist/generated/themes/CardHeader.css.js +1 -1
  229. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  230. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  231. package/dist/generated/themes/Carousel.css.js +1 -1
  232. package/dist/generated/themes/Carousel.css.js.map +1 -1
  233. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  234. package/dist/generated/themes/CheckBox.css.js +1 -1
  235. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  236. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  237. package/dist/generated/themes/ColorPalette.css.js +1 -1
  238. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  239. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  240. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  241. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  242. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  243. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  244. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  245. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  246. package/dist/generated/themes/ColorPicker.css.js +1 -1
  247. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  248. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  249. package/dist/generated/themes/ComboBox.css.js +1 -1
  250. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  251. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  252. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  253. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  254. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  255. package/dist/generated/themes/DatePicker.css.js +1 -1
  256. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  257. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  258. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  259. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  260. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  261. package/dist/generated/themes/DayPicker.css.js +1 -1
  262. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  263. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  264. package/dist/generated/themes/Dialog.css.js +1 -1
  265. package/dist/generated/themes/Dialog.css.js.map +1 -1
  266. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  267. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  268. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  269. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  270. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  271. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  272. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  273. package/dist/generated/themes/FileUploader.css.js +1 -1
  274. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  275. package/dist/generated/themes/Form.css.d.ts +1 -1
  276. package/dist/generated/themes/Form.css.js +1 -1
  277. package/dist/generated/themes/Form.css.js.map +1 -1
  278. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  279. package/dist/generated/themes/FormItem.css.js +1 -1
  280. package/dist/generated/themes/FormItem.css.js.map +1 -1
  281. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  282. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  283. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  284. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  285. package/dist/generated/themes/GrowingButton.css.js +1 -1
  286. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  287. package/dist/generated/themes/Icon.css.d.ts +1 -1
  288. package/dist/generated/themes/Icon.css.js +1 -1
  289. package/dist/generated/themes/Icon.css.js.map +1 -1
  290. package/dist/generated/themes/Input.css.d.ts +1 -1
  291. package/dist/generated/themes/Input.css.js +1 -1
  292. package/dist/generated/themes/Input.css.js.map +1 -1
  293. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  294. package/dist/generated/themes/InputIcon.css.js +1 -1
  295. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  296. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  297. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  298. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  299. package/dist/generated/themes/Link.css.d.ts +1 -1
  300. package/dist/generated/themes/Link.css.js +1 -1
  301. package/dist/generated/themes/Link.css.js.map +1 -1
  302. package/dist/generated/themes/List.css.d.ts +1 -1
  303. package/dist/generated/themes/List.css.js +1 -1
  304. package/dist/generated/themes/List.css.js.map +1 -1
  305. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  306. package/dist/generated/themes/ListItem.css.js +1 -1
  307. package/dist/generated/themes/ListItem.css.js.map +1 -1
  308. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  309. package/dist/generated/themes/ListItemBase.css.js +1 -1
  310. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  311. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  312. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  313. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  314. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  315. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  316. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  317. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  318. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  319. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  320. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  321. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  322. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  323. package/dist/generated/themes/Menu.css.d.ts +1 -1
  324. package/dist/generated/themes/Menu.css.js +1 -1
  325. package/dist/generated/themes/Menu.css.js.map +1 -1
  326. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  327. package/dist/generated/themes/MenuItem.css.js +1 -1
  328. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  329. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  330. package/dist/generated/themes/MessageStrip.css.js +1 -1
  331. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  332. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  333. package/dist/generated/themes/MonthPicker.css.js +1 -1
  334. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  335. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  336. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  337. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  338. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  339. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  340. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  341. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  342. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  343. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  344. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  345. package/dist/generated/themes/MultiInput.css.js +1 -1
  346. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  347. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  348. package/dist/generated/themes/OptionBase.css.js +1 -1
  349. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  350. package/dist/generated/themes/Panel.css.d.ts +1 -1
  351. package/dist/generated/themes/Panel.css.js +1 -1
  352. package/dist/generated/themes/Panel.css.js.map +1 -1
  353. package/dist/generated/themes/Popover.css.d.ts +1 -1
  354. package/dist/generated/themes/Popover.css.js +1 -1
  355. package/dist/generated/themes/Popover.css.js.map +1 -1
  356. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  357. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  358. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  359. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  360. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  361. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  362. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  363. package/dist/generated/themes/RadioButton.css.js +1 -1
  364. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  365. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  366. package/dist/generated/themes/RangeSlider.css.js +1 -1
  367. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  368. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  369. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  370. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  371. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  372. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  373. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  374. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  375. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  376. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  377. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  378. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  379. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  380. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  381. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  382. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  383. package/dist/generated/themes/Select.css.d.ts +1 -1
  384. package/dist/generated/themes/Select.css.js +1 -1
  385. package/dist/generated/themes/Select.css.js.map +1 -1
  386. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  387. package/dist/generated/themes/SliderBase.css.js +1 -1
  388. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  389. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  390. package/dist/generated/themes/SplitButton.css.js +1 -1
  391. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  392. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  393. package/dist/generated/themes/StepInput.css.js +1 -1
  394. package/dist/generated/themes/StepInput.css.js.map +1 -1
  395. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  396. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  397. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  398. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  399. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  400. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  401. package/dist/generated/themes/Switch.css.d.ts +1 -1
  402. package/dist/generated/themes/Switch.css.js +1 -1
  403. package/dist/generated/themes/Switch.css.js.map +1 -1
  404. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  405. package/dist/generated/themes/TabContainer.css.js +1 -1
  406. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  407. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  408. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  409. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  410. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  411. package/dist/generated/themes/TabInStrip.css.js +1 -1
  412. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  413. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  414. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  415. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  416. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  417. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  418. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  419. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  420. package/dist/generated/themes/TableCellBase.css.js +1 -1
  421. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  422. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  423. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  424. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  425. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  426. package/dist/generated/themes/TableRow.css.js +1 -1
  427. package/dist/generated/themes/TableRow.css.js.map +1 -1
  428. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  429. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  430. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  431. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  432. package/dist/generated/themes/TableRowBase.css.js +1 -1
  433. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  434. package/dist/generated/themes/Tag.css.d.ts +1 -1
  435. package/dist/generated/themes/Tag.css.js +1 -1
  436. package/dist/generated/themes/Tag.css.js.map +1 -1
  437. package/dist/generated/themes/Text.css.d.ts +1 -1
  438. package/dist/generated/themes/Text.css.js +1 -1
  439. package/dist/generated/themes/Text.css.js.map +1 -1
  440. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  441. package/dist/generated/themes/TextArea.css.js +1 -1
  442. package/dist/generated/themes/TextArea.css.js.map +1 -1
  443. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  444. package/dist/generated/themes/TimePicker.css.js +1 -1
  445. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  446. package/dist/generated/themes/Toast.css.d.ts +1 -1
  447. package/dist/generated/themes/Toast.css.js +1 -1
  448. package/dist/generated/themes/Toast.css.js.map +1 -1
  449. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  450. package/dist/generated/themes/ToggleButton.css.js +1 -1
  451. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  452. package/dist/generated/themes/Token.css.d.ts +1 -1
  453. package/dist/generated/themes/Token.css.js +1 -1
  454. package/dist/generated/themes/Token.css.js.map +1 -1
  455. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  456. package/dist/generated/themes/Tokenizer.css.js +1 -1
  457. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  458. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  459. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  460. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  461. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  462. package/dist/generated/themes/Toolbar.css.js +1 -1
  463. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  464. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  465. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  466. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  467. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  468. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  469. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  470. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  471. package/dist/generated/themes/TreeItem.css.js +1 -1
  472. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  473. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  474. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  475. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  476. package/dist/generated/themes/ValueStateVariables.css.d.ts +2 -0
  477. package/dist/generated/themes/ValueStateVariables.css.js +8 -0
  478. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -0
  479. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  480. package/dist/generated/themes/YearPicker.css.js +1 -1
  481. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  482. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  483. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  484. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  485. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  486. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  487. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  488. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  489. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  490. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  491. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  492. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  493. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  494. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  495. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  496. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  497. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  498. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  499. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  500. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  501. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  502. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  503. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  504. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  505. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  506. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  507. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  508. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  509. package/dist/vscode.html-custom-data.json +32 -17
  510. package/dist/web-types.json +54 -24
  511. package/package.json +9 -9
  512. package/src/ComboBoxPopoverTemplate.tsx +0 -1
  513. package/src/ComboBoxTemplate.tsx +4 -1
  514. package/src/FileUploaderPopoverTemplate.tsx +1 -3
  515. package/src/FileUploaderTemplate.tsx +77 -25
  516. package/src/InputTemplate.tsx +4 -0
  517. package/src/MultiComboBoxPopoverTemplate.tsx +1 -1
  518. package/src/MultiComboBoxTemplate.tsx +4 -0
  519. package/src/SliderBaseTemplate.tsx +9 -10
  520. package/src/SplitButtonTemplate.tsx +1 -1
  521. package/src/TimeSelectionClocksTemplate.tsx +1 -0
  522. package/src/TokenizerPopoverTemplate.tsx +1 -1
  523. package/src/features/InputSuggestionsTemplate.tsx +0 -1
  524. package/src/i18n/messagebundle.properties +28 -3
  525. package/src/themes/Button.css +2 -2
  526. package/src/themes/FileUploader.css +140 -32
  527. package/src/themes/SliderBase.css +20 -10
  528. package/src/themes/ValueStateMessage.css +1 -1
  529. package/src/themes/ValueStateVariables.css +27 -0
  530. package/src/themes/base/FileUploader-parameters.css +2 -0
@@ -1,5 +1,7 @@
1
+ import Icon from "./Icon.js";
2
+ import Tokenizer from "./Tokenizer.js";
3
+ import Token from "./Token.js";
1
4
  import type FileUploader from "./FileUploader.js";
2
- import Input from "./Input.js";
3
5
  import FileUploaderPopoverTemplate from "./FileUploaderPopoverTemplate.js";
4
6
 
5
7
  export default function FileUploaderTemplate(this: FileUploader) {
@@ -7,39 +9,89 @@ export default function FileUploaderTemplate(this: FileUploader) {
7
9
  <>
8
10
  <div
9
11
  class="ui5-file-uploader-root"
10
- onMouseOver={this._onmouseover}
11
- onMouseOut={this._onmouseout}
12
12
  onFocusIn={this._onfocusin}
13
13
  onFocusOut={this._onfocusout}
14
14
  onKeyDown={this._onkeydown}
15
15
  onKeyUp={this._onkeyup}
16
16
  onClick={this._onclick}
17
+ onMouseDown={this._onmousedown}
17
18
  onDragOver={this._ondrag}
18
19
  onDrop={this._ondrop}
19
20
  >
20
- <div class="ui5-file-uploader-mask">
21
- {!this.hideInput &&
22
- <Input
23
- value={this.value}
24
- valueState={this.valueState}
25
- placeholder={this.placeholder}
26
- disabled={this.disabled}
27
- tabindex={-1}
28
- class="ui5-file-uploader-input"
29
- />
30
- }
21
+ <form class="ui5-file-uploader-form" onSubmit={this._onFormSubmit}>
22
+ <input
23
+ type="file"
24
+ class="ui5-file-uploader-native-input"
25
+ name={this.name}
26
+ multiple={this.multiple}
27
+ accept={this.accept}
28
+ disabled={this.disabled}
29
+ title={this.inputTitle}
30
+ aria-roledescription={this.accInfo.ariaRoledescription}
31
+ aria-haspopup={this.accInfo.ariaHasPopup}
32
+ aria-label={this.accInfo.ariaLabel}
33
+ aria-required={this.accInfo.ariaRequired}
34
+ aria-invalid={this.accInfo.ariaInvalid}
35
+ onClick={this._onNativeInputClick}
36
+ onChange={this._onChange}
37
+ data-sap-focus-ref
38
+ />
39
+ </form>
40
+
41
+ {this.hideInput ? (
31
42
  <slot></slot>
32
- </div>
33
- <input
34
- type="file"
35
- tabindex={-1}
36
- aria-hidden="true"
37
- multiple={this.multiple}
38
- accept={this.accept}
39
- title={this.titleText}
40
- disabled={this.disabled}
41
- onChange={this._onChange}
42
- />
43
+ ) : (
44
+ <div class="ui5-file-uploader-display-container">
45
+ <div class="ui5-file-uploader-display-elements">
46
+ {this._selectedFilesNames.length > 0 ? (
47
+ <>
48
+ <Tokenizer
49
+ class="ui5-file-uploader-tokenizer"
50
+ expanded={this._tokenizerExpanded}
51
+ open={this._tokenizerOpen}
52
+ popoverMinWidth={this._formWidth}
53
+ onClick={this._onTokenizerClick}
54
+ onMouseDown={this._onTokenizerMouseDown}
55
+ onKeyDown={this._onTokenizerKeyDown}
56
+ onKeyUp={this._onTokenizerKeyUp}
57
+ preventInitialFocus
58
+ readonly
59
+ >
60
+ {this._selectedFilesNames.map(fileName => (
61
+ <Token
62
+ text={fileName}
63
+ />
64
+ ))}
65
+ </Tokenizer>
66
+ <Icon
67
+ name="decline"
68
+ class="ui5-file-uploader-clear-icon inputIcon"
69
+ onClick={this._onClearIconClick}
70
+ title={this.clearIconTitle}
71
+ />
72
+ </>
73
+ ) : (
74
+ <input
75
+ class="ui5-file-uploader-display-input"
76
+ tabindex={-1}
77
+ aria-hidden="true"
78
+ title={this.inputTitle}
79
+ placeholder={this.resolvedPlaceholder}
80
+ inner-input
81
+ readonly
82
+ />
83
+ )}
84
+
85
+ <Icon
86
+ name="value-help"
87
+ class="ui5-file-uploader-value-help-icon inputIcon"
88
+ title={this.valueHelpTitle}
89
+ />
90
+ </div>
91
+
92
+ <slot></slot>
93
+ </div>
94
+ )}
43
95
  </div>
44
96
 
45
97
  { FileUploaderPopoverTemplate.call(this) }
@@ -108,6 +108,10 @@ export default function InputTemplate(this: Input, hooks?: { preContent: Templat
108
108
  <span id="accessibleDescription" class="ui5-hidden-text">{this.accInfo.accessibleDescription}</span>
109
109
  }
110
110
 
111
+ {this.linksInAriaValueStateHiddenText.length > 0 &&
112
+ <span id="hiddenText-value-state-link-shortcut" class="ui5-hidden-text">{this.valueStateLinksShortcutsTextAcc}</span>
113
+ }
114
+
111
115
  {this.hasValueState &&
112
116
  <span id="valueStateDesc" class="ui5-hidden-text">{this.ariaValueStateHiddenText}</span>
113
117
  }
@@ -78,7 +78,7 @@ export default function MultiComboBoxPopoverTemplate(this: MultiComboBox) {
78
78
 
79
79
  {!this._isPhone && <>
80
80
  {this.hasValueStateMessage &&
81
- <div slot="header" onKeyDown={this._onListHeaderKeydown} tabIndex={0} class={this.classes.responsivePopoverHeaderValueState} style={this.styles.popoverValueStateMessage}>
81
+ <div slot="header" onKeyDown={this._onListHeaderKeydown} class={this.classes.responsivePopoverHeaderValueState} style={this.styles.popoverValueStateMessage}>
82
82
  <Icon class="ui5-input-value-state-message-icon" name={this._valueStateMessageIcon}></Icon>
83
83
  {this.open && valueStateMessage.call(this)}
84
84
  </div>
@@ -14,6 +14,10 @@ export default function MultiComboBoxTemplate(this: MultiComboBox) {
14
14
  <span id="ui5-multi-combobox-valueStateDesc" class="ui5-hidden-text">{this.ariaValueStateHiddenText}</span>
15
15
  }
16
16
 
17
+ {this.linksInAriaValueStateHiddenText.length > 0 &&
18
+ <span id="hiddenText-value-state-link-shortcut" class="ui5-hidden-text">{this.getValueStateLinksShortcutsTextAcc}</span>
19
+ }
20
+
17
21
  <Tokenizer
18
22
  slot="_beginContent"
19
23
  preventPopoverOpen={true}
@@ -35,16 +35,15 @@ export default function SliderBaseTemplate(this: SliderBase, hooks?: {
35
35
  </>)}
36
36
  </ul>
37
37
  {!!this.labelInterval &&
38
- <ul class={{
39
- "ui5-slider-labels": true,
40
- "ui5-slider-hidden-labels": this._labelsOverlapping,
41
- }}
42
- style={this.styles.labelContainer}
43
- >
44
- {this._labels.map(l =>
45
- <li style={this.styles.label}>{l}</li>
46
- )}
47
- </ul>
38
+ <ul class={{
39
+ "ui5-slider-labels": true,
40
+ "ui5-slider-hidden-labels": this._labelsOverlapping,
41
+ }}
42
+ >
43
+ {this._labels.map(l =>
44
+ <li data-counter={l}></li>
45
+ )}
46
+ </ul>
48
47
  }
49
48
  </>}
50
49
 
@@ -8,7 +8,7 @@ export default function SplitButtonTemplate(this: SplitButton) {
8
8
  role={this._hideArrowButton ? "button" : "group"}
9
9
  class="ui5-split-button-root"
10
10
  tabindex={this._tabIndex}
11
- aria-labelledby={`${this._id}-invisibleTextDefault ${this._id}}-invisibleText`}
11
+ aria-labelledby={`${this._id}-invisibleTextDefault ${this._id}-invisibleText`}
12
12
  onFocusOut={this._onFocusOut}
13
13
  onKeyDown={this._onKeyDown}
14
14
  onKeyUp={this._onKeyUp}
@@ -19,6 +19,7 @@ export default function TimeSelectionClocksTemplate(this: TimeSelectionClocks) {
19
19
  <>
20
20
  { entity.hasSeparator && <span class="ui5-time-selection-separator">:</span> }
21
21
  <ToggleSpinButton
22
+ data-sap-focus-ref
22
23
  id={`${this._id}_button_${entity.entity}`}
23
24
  data-ui5-clock={entity.entity}
24
25
  valueMin={entity.attributes && entity.attributes.min}
@@ -42,7 +42,7 @@ export default function TokenizerPopoverTemplate(this: Tokenizer) {
42
42
  onItemDelete={this.itemDelete}
43
43
  >
44
44
  {this._tokens
45
- .map(token => <ListItemStandard key={String(token._id)} data-ui5-token-ref-id={token._id} wrappingType="Normal">{token.text}</ListItemStandard>)}
45
+ .map(token => <ListItemStandard key={String(token._id)} data-ui5-token-ref-id={token._id} wrappingType="Normal" text={token.text}></ListItemStandard>)}
46
46
  </List>
47
47
 
48
48
  {this._isPhone &&
@@ -72,7 +72,6 @@ export default function InputSuggestionsTemplate(this: Input, hooks?: { suggesti
72
72
  slot="header"
73
73
  class={{
74
74
  "ui5-responsive-popover-header": true,
75
- "ui5-responsive-popover-header--focused": this._isValueStateFocused,
76
75
  ...this.classes.popoverValueState,
77
76
  }}
78
77
  style={this.styles.suggestionPopoverHeader}
@@ -218,10 +218,23 @@ EXPANDABLE_TEXT_SHOW_MORE_POPOVER_ARIA_LABEL=Show the full text
218
218
  #XACT: ARIA-label text for link that allows the user to close the popover with the complete text
219
219
  EXPANDABLE_TEXT_SHOW_LESS_POPOVER_ARIA_LABEL=Close the popover
220
220
 
221
- FILEUPLOAD_BROWSE=Browse...
221
+ #XACT: ARIA announcement for the FileUploader's roledescription attribute
222
+ FILEUPLOADER_ROLE_DESCRIPTION=File Uploader
222
223
 
223
- #XACT: File uploader title
224
- FILEUPLOADER_TITLE=Upload File
224
+ #XACT: Default placeholder text for the ui5-file-uploader
225
+ FILEUPLOADER_DEFAULT_PLACEHOLDER=Browse or drop a file
226
+
227
+ #XACT: Default placeholder text for the multiple ui5-file-uploader
228
+ FILEUPLOADER_DEFAULT_MULTIPLE_PLACEHOLDER=Browse or drop multiple files
229
+
230
+ #XTOL: Default tooltip text for the ui5-file-uploader's input field
231
+ FILEUPLOADER_INPUT_TOOLTIP=All files will be replaced on each upload
232
+
233
+ #XTOL: Default tooltip text for the ui5-file-uploader's value help icon
234
+ FILEUPLOADER_VALUE_HELP_TOOLTIP=Browse and replace all files
235
+
236
+ #XTOL: Default tooltip text for the ui5-file-uploader's clear icon
237
+ FILEUPLOADER_CLEAR_ICON_TOOLTIP=Remove all files
225
238
 
226
239
  GROUP_HEADER_TEXT=Group Header
227
240
 
@@ -564,6 +577,18 @@ VALUE_STATE_INFORMATION=Informative entry
564
577
  #XTOL: text that is appended to the tooltips of input fields etc. which are marked to be in success state
565
578
  VALUE_STATE_SUCCESS=Entry successfully validated
566
579
 
580
+ #XACT: ARIA announcement for keyboard shortcut to value state link
581
+ VALUE_STATE_LINK=To move the focus to the link, press Ctrl+Alt+F8
582
+
583
+ #XACT: ARIA announcement for keyboard shortcut to value state link on Mac
584
+ VALUE_STATE_LINK_MAC=To move the focus to the link, press Cmd+Option+F8
585
+
586
+ #XACT: ARIA announcement for keyboard shortcut to value state multiple links
587
+ VALUE_STATE_LINKS=To go to the first link, press Ctrl+Alt+F8. To move to the next link, use Tab
588
+
589
+ #XACT: ARIA announcement for keyboard shortcut to value state multiple links on Mac
590
+ VALUE_STATE_LINKS_MAC=To go to the first link, press Cmd+Option+F8. To move to the next link, use Tab
591
+
567
592
  #XBUT: Tooltip text for 'Next' button in the Calendar Header
568
593
  CALENDAR_HEADER_NEXT_BUTTON = Next
569
594
 
@@ -318,7 +318,7 @@ bdi {
318
318
  top: 0;
319
319
  inset-inline-end: 0;
320
320
  margin: -0.5rem;
321
- z-index: 1000;
321
+ z-index: 1;
322
322
  font-family: "72override", var(--sapButton_FontFamily);
323
323
  font-size: var(--sapFontSmallSize);
324
324
  --_ui5-tag-height: 0.625rem;
@@ -331,7 +331,7 @@ bdi {
331
331
  top: 0;
332
332
  inset-inline-end: 0;
333
333
  margin: -0.25rem;
334
- z-index: 1000;
334
+ z-index: 1;
335
335
  }
336
336
 
337
337
  :host(:state(has-overlay-badge)) {
@@ -1,66 +1,174 @@
1
1
  @import "./FormComponents.css";
2
+ @import "./Input.css";
3
+ @import "./InputIcon.css";
4
+ @import "./ValueStateVariables.css";
2
5
 
3
6
  :host {
4
7
  display: inline-block;
5
8
  }
6
9
 
7
- .ui5-file-uploader-root {
8
- position: relative;
10
+ :host([hide-input]) {
11
+ width: max-content;
12
+ height: max-content;
9
13
  }
10
14
 
11
- .ui5-file-uploader-root input[type=file] {
12
- opacity: 0;
15
+ :host([hide-input]) .ui5-file-uploader-form {
13
16
  position: absolute;
14
17
  top: 0;
15
18
  left: 0;
16
- height: 100%;
17
19
  width: 100%;
18
- font-size: 0;
20
+ height: 100%;
21
+ display: block;
19
22
  }
20
23
 
21
- .ui5-file-uploader-root input[type=file]:not([disabled]) {
22
- cursor: pointer;
24
+ .ui5-file-uploader-root,
25
+ .ui5-file-uploader-form {
26
+ position: relative;
27
+ width: inherit;
28
+ height: inherit;
29
+ }
30
+
31
+ .ui5-file-uploader-root .ui5-file-uploader-native-input {
32
+ position: relative;
33
+ display: block;
34
+ width: inherit;
35
+ height: inherit;
36
+ opacity: 0;
37
+ font-size: 0;
23
38
  }
24
39
 
25
- .ui5-file-uploader-mask {
40
+ .ui5-file-uploader-display-container {
41
+ position: absolute;
42
+ top: 0;
43
+ inset-inline-start: 0;
44
+ width: inherit;
45
+ height: inherit;
26
46
  display: flex;
47
+ column-gap: 0.5rem;
27
48
  align-items: center;
28
49
  }
29
50
 
30
- .ui5-file-uploader-mask [ui5-input] {
31
- margin-right: 0.25rem;
51
+ .ui5-file-uploader-display-elements {
52
+ height: inherit;
53
+ flex: 1;
54
+ display: flex;
55
+ position: relative;
32
56
  }
33
57
 
34
- :host([value-state="None"]:not([disabled]):hover) [ui5-input],
35
- :host(:not([value-state]):not([disabled]):hover) [ui5-input] {
36
- border: var(--_ui5_file_uploader_hover_border);
37
- background-color: var(--sapField_Hover_Background);
38
- box-shadow: var(--sapField_Hover_Shadow);
58
+ .ui5-file-uploader-tokenizer,
59
+ .ui5-file-uploader-display-input {
60
+ position: absolute;
61
+ top: 0;
62
+ inset-inline-start: 0;
63
+ height: inherit;
64
+ border: none;
65
+ outline: none;
66
+ cursor: pointer;
39
67
  }
40
68
 
41
- :host([value-state="Negative"]:not([disabled]):hover) [ui5-input] {
42
- background-color: var(--_ui5_file_uploader_value_state_error_hover_background_color);
43
- box-shadow: var(--sapField_Hover_InvalidShadow);
69
+ .ui5-file-uploader-clear-icon,
70
+ .ui5-file-uploader-value-help-icon {
71
+ position: absolute;
72
+ cursor: pointer;
44
73
  }
45
74
 
46
- :host([value-state="Critical"]:not([disabled]):hover) [ui5-input] {
47
- background-color: var(--sapField_Hover_Background);
48
- box-shadow: var(--sapField_Hover_WarningShadow);
75
+ .ui5-file-uploader-tokenizer {
76
+ max-width: var(--_ui5_file_uploader_tokenizer_width);
49
77
  }
50
78
 
51
- :host([value-state="Positive"]:not([disabled]):hover) [ui5-input] {
52
- background-color: var(--sapField_Hover_Background);
53
- box-shadow: var(--sapField_Hover_SuccessShadow);
79
+ .ui5-file-uploader-display-input {
80
+ width: var(--_ui5_file_uploader_display_input_width);
81
+ }
82
+
83
+ .ui5-file-uploader-clear-icon {
84
+ inset-inline-end: var(--_ui5_input_icon_width);
85
+ }
86
+
87
+ .ui5-file-uploader-value-help-icon {
88
+ inset-inline-end: 0rem;
89
+ }
90
+
91
+ /* Input styles overrides */
92
+ :host(:not([readonly])),
93
+ :host([readonly][disabled]),
94
+ :host([value-state="None"]:not([readonly]):hover),
95
+ :host([value-state="Negative"]:not([readonly]):not([disabled])),
96
+ :host([value-state="Negative"]:not([readonly])[focused][opened]:hover),
97
+ :host([value-state="Negative"]:not([readonly]):not([focused]):hover),
98
+ :host([value-state="Critical"]:not([readonly]):not([disabled])),
99
+ :host([value-state="Critical"]:not([readonly])[focused][opened]:hover),
100
+ :host([value-state="Critical"]:not([readonly]):not([focused]):hover),
101
+ :host([value-state="Positive"]:not([readonly]):not([disabled])),
102
+ :host([value-state="Positive"]:not([readonly])[focused][opened]:hover),
103
+ :host([value-state="Positive"]:not([readonly]):not([focused]):hover),
104
+ :host([value-state="Information"]:not([readonly]):not([disabled])),
105
+ :host([value-state="Information"]:not([readonly])[focused][opened]:hover),
106
+ :host([value-state="Information"]:not([readonly]):not([focused]):hover),
107
+ :host(:not([value-state]):not([readonly]):hover) {
108
+ box-shadow: none;
109
+ background: none;
110
+ }
111
+
112
+ :host(:not([readonly])) .ui5-file-uploader-display-elements,
113
+ :host([readonly][disabled]) .ui5-file-uploader-display-elements {
114
+ box-shadow: var(--sapField_Shadow);
115
+ border: var(--_ui5-input-border);
116
+ border-radius: var(--_ui5_input_border_radius);
117
+ background: var(--sapField_BackgroundStyle);
54
118
  }
55
119
 
56
- :host([value-state="Information"]:not([disabled]):hover) [ui5-input] {
120
+ /* Value state styles */
121
+ :host([value-state="Negative"]:not([readonly]):not([disabled])) .ui5-file-uploader-display-elements,
122
+ :host([value-state="Critical"]:not([readonly]):not([disabled])) .ui5-file-uploader-display-elements,
123
+ :host([value-state="Positive"]:not([readonly]):not([disabled])) .ui5-file-uploader-display-elements,
124
+ :host([value-state="Information"]:not([readonly]):not([disabled])) .ui5-file-uploader-display-elements {
125
+ box-shadow: var(--ui5_value_state-box-shadow);
126
+ background: var(--ui5_value_state-background);
127
+ background-color: var(--ui5_value_state-background-color);
128
+ }
129
+
130
+ /* Value state hover styles */
131
+ :host([value-state="None"]:not([readonly]):hover) .ui5-file-uploader-display-elements,
132
+ :host(:not([value-state]):not([readonly]):hover) .ui5-file-uploader-display-elements {
133
+ box-shadow: var(--sapField_Hover_Shadow);
134
+ background: var(--sapField_Hover_BackgroundStyle);
135
+ }
136
+
137
+ :host([value-state="Negative"]:not([readonly]):not([focused]):hover) .ui5-file-uploader-display-elements,
138
+ :host([value-state="Negative"]:not([readonly])[focused][opened]:hover) .ui5-file-uploader-display-elements {
139
+ background-color: var(--_ui5_input_value_state_error_hover_background);
140
+ box-shadow: var(--sapField_Hover_InvalidShadow);
141
+ }
142
+
143
+ :host([value-state="Negative"][focused]:not([opened]):not([readonly])) .ui5-file-uploader-display-elements,
144
+ :host([value-state="Positive"]:not([readonly]):not([focused]):hover) .ui5-file-uploader-display-elements,
145
+ :host([value-state="Positive"]:not([readonly])[focused][opened]:hover) .ui5-file-uploader-display-elements,
146
+ :host([value-state="Positive"][focused]:not([opened]):not([readonly])) .ui5-file-uploader-display-elements,
147
+ :host([value-state="Critical"]:not([readonly]):not([focused]):hover) .ui5-file-uploader-display-elements,
148
+ :host([value-state="Critical"]:not([readonly])[focused][opened]:hover) .ui5-file-uploader-display-elements,
149
+ :host([value-state="Critical"][focused]:not([opened]):not([readonly])) .ui5-file-uploader-display-elements,
150
+ :host([value-state="Information"]:not([readonly]):not([focused]):hover) .ui5-file-uploader-display-elements,
151
+ :host([value-state="Information"]:not([readonly])[focused][opened]:hover) .ui5-file-uploader-display-elements,
152
+ :host([value-state="Information"][focused]:not([opened]):not([readonly])) .ui5-file-uploader-display-elements{
57
153
  background-color: var(--sapField_Hover_Background);
58
- box-shadow: var(--sapField_Hover_InformationShadow);
59
154
  }
60
155
 
61
- :host(:not([disabled]):active) [ui5-button] {
62
- background-color: var(--sapButton_Active_Background);
63
- border-color: var(--sapButton_Active_BorderColor);
64
- color: var(--sapButton_Active_TextColor);
65
- text-shadow: none;
156
+ /* Value state focus styles */
157
+ :host([focused][hide-input]) .ui5-file-uploader-root:has(.ui5-file-uploader-native-input:focus)::after,
158
+ :host([focused]) .ui5-file-uploader-root:has(.ui5-file-uploader-native-input:focus) .ui5-file-uploader-display-elements::after {
159
+ content: var(--ui5_input_focus_pseudo_element_content);
160
+ position: absolute;
161
+ pointer-events: none;
162
+ z-index: 2;
163
+ border: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--_ui5_input_focus_outline_color);
164
+ border-radius: var(--_ui5_input_focus_border_radius);
165
+ top: var(--_ui5_input_focus_offset);
166
+ bottom: var(--_ui5_input_focus_offset);
167
+ left: var(--_ui5_input_focus_offset);
168
+ right: var(--_ui5_input_focus_offset);
169
+ }
170
+
171
+ :host([focused]:not([opened]):not([readonly]):not([hide-input]))
172
+ .ui5-file-uploader-root:has(.ui5-file-uploader-native-input:focus) .ui5-file-uploader-display-elements::after {
173
+ border-color: var(--ui5_value_state-focus-outline, var(--_ui5_input_focus_outline_color));
66
174
  }
@@ -93,7 +93,7 @@
93
93
 
94
94
  .ui5-slider-tickmarks li {
95
95
  height: var(--_ui5_slider_tickmark_height);
96
- border-inline-start: 1px solid var(--_ui5_slider_tickmark_bg);
96
+ border-inline-start: 0.0625rem solid var(--_ui5_slider_tickmark_bg);
97
97
  }
98
98
 
99
99
  .ui5-slider-handle {
@@ -203,28 +203,38 @@
203
203
  margin: 0;
204
204
  padding: 0;
205
205
  white-space: nowrap;
206
+ height: 1rem;
207
+ width: 100%;
208
+ display: flex;
209
+ justify-content: space-between;
206
210
  }
207
211
 
208
212
  .ui5-slider-labels li {
209
- position: relative;
213
+ position: relative;
210
214
  list-style: none;
211
- padding-top: 0.3125rem;
212
- height: 1rem;
213
215
  margin: 0;
214
216
  text-align: center;
215
217
  display: inline-block;
216
- color: var(--_ui5_slider_label_color);
217
218
  font-family: var(--sapFontFamily);
218
219
  font-size: var(--_ui5_slider_label_fontsize);
219
220
  padding-top: 0;
220
221
  box-sizing: border-box;
221
- display: inline-flex;
222
- justify-content: center;
223
- align-items: center;
224
- vertical-align: top;
222
+ width: 0.0625rem;
223
+ visibility: hidden;
224
+ }
225
+
226
+ .ui5-slider-labels li::after {
227
+ content: attr(data-counter);
228
+ position: absolute;
229
+ top: 0;
230
+ visibility: visible;
231
+ display: inline-block;
232
+ width: 2rem;
233
+ color: var(--_ui5_slider_label_color);
234
+ transform: translateX(-50%);
225
235
  }
226
236
 
227
- .ui5-slider-hidden-labels li:not(:first-child):not(:last-child) {
237
+ .ui5-slider-hidden-labels li:not(:first-child):not(:last-child)::after {
228
238
  visibility: hidden;
229
239
  }
230
240
 
@@ -74,7 +74,7 @@
74
74
  background: var(--sapInformationBackground);
75
75
  }
76
76
 
77
- .ui5-responsive-popover-header.ui5-responsive-popover-header--focused, .ui5-responsive-popover-header:focus {
77
+ .ui5-responsive-popover-header:focus {
78
78
  outline-offset: var(--_ui5_value_state_header_offset);
79
79
  outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);
80
80
  }
@@ -0,0 +1,27 @@
1
+ :host([value-state="Negative"]:not([readonly]):not([disabled])) {
2
+ --ui5_value_state-background: var(--sapField_InvalidBackgroundStyle);
3
+ --ui5_value_state-background-color: var(--sapField_InvalidBackground);
4
+ --ui5_value_state-box-shadow: var(--sapField_InvalidShadow);
5
+ --ui5_value_state-focus-outline: var(--_ui5_input_focused_value_state_error_focus_outline_color);
6
+ }
7
+
8
+ :host([value-state="Critical"]:not([readonly]):not([disabled])) {
9
+ --ui5_value_state-background: var(--sapField_WarningBackgroundStyle);
10
+ --ui5_value_state-background-color: var(--sapField_WarningBackground);
11
+ --ui5_value_state-box-shadow: var(--sapField_WarningShadow);
12
+ --ui5_value_state-focus-outline: var(--_ui5_input_focused_value_state_warning_focus_outline_color);
13
+ }
14
+
15
+ :host([value-state="Positive"]:not([readonly]):not([disabled])) {
16
+ --ui5_value_state-background: var(--sapField_SuccessBackgroundStyle);
17
+ --ui5_value_state-background-color: var(--sapField_SuccessBackground);
18
+ --ui5_value_state-box-shadow: var(--sapField_SuccessShadow);
19
+ --ui5_value_state-focus-outline: var(--_ui5_input_focused_value_state_success_focus_outline_color);
20
+ }
21
+
22
+ :host([value-state="Information"]:not([readonly]):not([disabled])) {
23
+ --ui5_value_state-background: var(--sapField_InformationBackgroundStyle);
24
+ --ui5_value_state-background-color: var(--sapField_InformationBackground);
25
+ --ui5_value_state-box-shadow: var(--sapField_InformationShadow);
26
+ --ui5_value_state-focus-outline: var(--_ui5_input_focused_value_state_information_focus_outline_color);
27
+ }
@@ -1,4 +1,6 @@
1
1
  :root {
2
2
  --_ui5_file_uploader_hover_border: 1px solid var(--sapField_Hover_BorderColor);
3
3
  --_ui5_file_uploader_value_state_error_hover_background_color: var(--sapField_Hover_Background);
4
+ --_ui5_file_uploader_display_input_width: calc(100% - var(--_ui5_input_icon_width));
5
+ --_ui5_file_uploader_tokenizer_width: calc(100% - 2 * var(--_ui5_input_icon_width) - var(--_ui5_input_inner_space_to_tokenizer));
4
6
  }