@openui5/sap.m 1.102.2 → 1.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +17 -0
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +35 -2
  5. package/package.json +4 -4
  6. package/src/sap/m/.library +1 -1
  7. package/src/sap/m/AccButton.js +1 -1
  8. package/src/sap/m/ActionListItem.js +1 -1
  9. package/src/sap/m/ActionSelect.js +4 -4
  10. package/src/sap/m/ActionSheet.js +1 -1
  11. package/src/sap/m/App.js +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +1 -1
  14. package/src/sap/m/Bar.js +11 -10
  15. package/src/sap/m/BarInPageEnabler.js +1 -1
  16. package/src/sap/m/Breadcrumbs.js +27 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +6 -5
  20. package/src/sap/m/Carousel.js +1 -1
  21. package/src/sap/m/CarouselLayout.js +1 -1
  22. package/src/sap/m/CheckBox.js +1 -1
  23. package/src/sap/m/ColorPalette.js +1 -1
  24. package/src/sap/m/ColorPalettePopover.js +1 -1
  25. package/src/sap/m/Column.js +1 -1
  26. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  27. package/src/sap/m/ColumnListItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  33. package/src/sap/m/ComboBox.js +1 -1
  34. package/src/sap/m/ComboBoxBase.js +7 -7
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  37. package/src/sap/m/CustomListItem.js +1 -1
  38. package/src/sap/m/CustomTile.js +1 -1
  39. package/src/sap/m/CustomTreeItem.js +1 -1
  40. package/src/sap/m/DatePicker.js +15 -23
  41. package/src/sap/m/DateRangeSelection.js +48 -41
  42. package/src/sap/m/DateTimeField.js +87 -20
  43. package/src/sap/m/DateTimeInput.js +1 -1
  44. package/src/sap/m/DateTimePicker.js +54 -24
  45. package/src/sap/m/DateTimePickerRenderer.js +1 -1
  46. package/src/sap/m/Dialog.js +3 -10
  47. package/src/sap/m/DisplayListItem.js +1 -1
  48. package/src/sap/m/DraftIndicator.js +1 -1
  49. package/src/sap/m/DynamicDate.js +1 -1
  50. package/src/sap/m/DynamicDateFormat.js +31 -13
  51. package/src/sap/m/DynamicDateOption.js +6 -4
  52. package/src/sap/m/DynamicDateRange.js +20 -3
  53. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  54. package/src/sap/m/ExpandableText.js +1 -1
  55. package/src/sap/m/FacetFilter.js +29 -28
  56. package/src/sap/m/FacetFilterItem.js +1 -1
  57. package/src/sap/m/FacetFilterList.js +1 -1
  58. package/src/sap/m/FeedContent.js +1 -1
  59. package/src/sap/m/FeedInput.js +1 -1
  60. package/src/sap/m/FeedListItem.js +1 -1
  61. package/src/sap/m/FeedListItemAction.js +1 -1
  62. package/src/sap/m/Fiori20Adapter.js +2 -2
  63. package/src/sap/m/FlexBox.js +1 -1
  64. package/src/sap/m/FlexItemData.js +2 -2
  65. package/src/sap/m/FormattedText.js +1 -1
  66. package/src/sap/m/GenericTag.js +5 -5
  67. package/src/sap/m/GenericTile.js +11 -7
  68. package/src/sap/m/GenericTileLineModeRenderer.js +4 -5
  69. package/src/sap/m/GenericTileRenderer.js +18 -6
  70. package/src/sap/m/GroupHeaderListItem.js +1 -1
  71. package/src/sap/m/GrowingEnablement.js +59 -10
  72. package/src/sap/m/GrowingList.js +1 -1
  73. package/src/sap/m/HBox.js +1 -1
  74. package/src/sap/m/HeaderContainer.js +5 -24
  75. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  76. package/src/sap/m/IconTabBar.js +2 -1
  77. package/src/sap/m/IconTabBarSelectList.js +1 -1
  78. package/src/sap/m/IconTabFilter.js +4 -4
  79. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  80. package/src/sap/m/IconTabHeader.js +14 -3
  81. package/src/sap/m/IconTabSeparator.js +1 -1
  82. package/src/sap/m/IllustratedMessage.js +63 -24
  83. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  84. package/src/sap/m/Illustration.js +1 -1
  85. package/src/sap/m/IllustrationPool.js +1 -0
  86. package/src/sap/m/Image.js +1 -1
  87. package/src/sap/m/ImageContent.js +1 -1
  88. package/src/sap/m/Input.js +2 -17
  89. package/src/sap/m/InputBase.js +12 -5
  90. package/src/sap/m/InputListItem.js +1 -1
  91. package/src/sap/m/InstanceManager.js +14 -19
  92. package/src/sap/m/Label.js +1 -1
  93. package/src/sap/m/LightBox.js +1 -1
  94. package/src/sap/m/LightBoxItem.js +1 -1
  95. package/src/sap/m/Link.js +41 -5
  96. package/src/sap/m/LinkRenderer.js +18 -10
  97. package/src/sap/m/List.js +1 -1
  98. package/src/sap/m/ListBase.js +4 -1
  99. package/src/sap/m/ListItemBase.js +10 -2
  100. package/src/sap/m/MaskEnabler.js +52 -2
  101. package/src/sap/m/MaskInput.js +23 -1
  102. package/src/sap/m/MaskInputRenderer.js +10 -0
  103. package/src/sap/m/MaskInputRule.js +1 -1
  104. package/src/sap/m/Menu.js +1 -1
  105. package/src/sap/m/MenuButton.js +2 -1
  106. package/src/sap/m/MenuItem.js +1 -1
  107. package/src/sap/m/MenuListItem.js +3 -3
  108. package/src/sap/m/MessageBox.js +1020 -908
  109. package/src/sap/m/MessageItem.js +1 -1
  110. package/src/sap/m/MessageListItem.js +1 -1
  111. package/src/sap/m/MessagePage.js +1 -1
  112. package/src/sap/m/MessagePopover.js +4 -1
  113. package/src/sap/m/MessagePopoverItem.js +1 -1
  114. package/src/sap/m/MessageStrip.js +1 -1
  115. package/src/sap/m/MessageToast.js +1 -1
  116. package/src/sap/m/MessageView.js +1 -1
  117. package/src/sap/m/MultiComboBox.js +4 -4
  118. package/src/sap/m/MultiEditField.js +1 -1
  119. package/src/sap/m/MultiInput.js +8 -8
  120. package/src/sap/m/NavContainer.js +23 -19
  121. package/src/sap/m/NewsContent.js +1 -1
  122. package/src/sap/m/NotificationList.js +1 -1
  123. package/src/sap/m/NotificationListBase.js +1 -1
  124. package/src/sap/m/NotificationListGroup.js +1 -1
  125. package/src/sap/m/NotificationListItem.js +1 -1
  126. package/src/sap/m/NumericContent.js +1 -1
  127. package/src/sap/m/NumericInput.js +1 -1
  128. package/src/sap/m/ObjectAttribute.js +14 -1
  129. package/src/sap/m/ObjectAttributeRenderer.js +5 -4
  130. package/src/sap/m/ObjectHeader.js +4 -4
  131. package/src/sap/m/ObjectHeaderRenderer.js +11 -11
  132. package/src/sap/m/ObjectIdentifier.js +3 -3
  133. package/src/sap/m/ObjectListItem.js +1 -1
  134. package/src/sap/m/ObjectMarker.js +7 -4
  135. package/src/sap/m/ObjectNumber.js +1 -1
  136. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  137. package/src/sap/m/ObjectStatus.js +1 -1
  138. package/src/sap/m/OverflowToolbar.js +35 -12
  139. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  140. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +5 -0
  141. package/src/sap/m/OverflowToolbarButton.js +1 -1
  142. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  143. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  144. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  145. package/src/sap/m/P13nColumnsItem.js +1 -1
  146. package/src/sap/m/P13nColumnsPanel.js +1 -1
  147. package/src/sap/m/P13nConditionPanel.js +24 -24
  148. package/src/sap/m/P13nDialog.js +3 -1
  149. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  150. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  151. package/src/sap/m/P13nFilterItem.js +1 -1
  152. package/src/sap/m/P13nFilterPanel.js +1 -1
  153. package/src/sap/m/P13nGroupItem.js +1 -1
  154. package/src/sap/m/P13nGroupPanel.js +1 -1
  155. package/src/sap/m/P13nItem.js +1 -1
  156. package/src/sap/m/P13nPanel.js +1 -1
  157. package/src/sap/m/P13nSelectionItem.js +1 -1
  158. package/src/sap/m/P13nSelectionPanel.js +1 -1
  159. package/src/sap/m/P13nSortItem.js +1 -1
  160. package/src/sap/m/P13nSortPanel.js +1 -1
  161. package/src/sap/m/PDFViewer.js +1 -1
  162. package/src/sap/m/PDFViewerRenderer.js +1 -0
  163. package/src/sap/m/Page.js +1 -1
  164. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  165. package/src/sap/m/PagingButton.js +1 -1
  166. package/src/sap/m/Panel.js +1 -1
  167. package/src/sap/m/PlanningCalendar.js +1 -1
  168. package/src/sap/m/PlanningCalendarHeader.js +2 -2
  169. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  170. package/src/sap/m/PlanningCalendarRow.js +1 -1
  171. package/src/sap/m/PlanningCalendarView.js +1 -1
  172. package/src/sap/m/Popover.js +5 -5
  173. package/src/sap/m/PopoverRenderer.js +2 -2
  174. package/src/sap/m/ProgressIndicator.js +15 -29
  175. package/src/sap/m/ProgressIndicatorRenderer.js +12 -3
  176. package/src/sap/m/PullToRefresh.js +1 -1
  177. package/src/sap/m/QuickView.js +2 -2
  178. package/src/sap/m/QuickViewBase.js +1 -1
  179. package/src/sap/m/QuickViewCard.js +1 -1
  180. package/src/sap/m/QuickViewGroup.js +1 -1
  181. package/src/sap/m/QuickViewGroupElement.js +2 -1
  182. package/src/sap/m/QuickViewPage.js +1 -1
  183. package/src/sap/m/RadioButton.js +1 -1
  184. package/src/sap/m/RadioButtonGroup.js +2 -2
  185. package/src/sap/m/RangeSlider.js +75 -55
  186. package/src/sap/m/RangeSliderRenderer.js +34 -2
  187. package/src/sap/m/RatingIndicator.js +8 -1
  188. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  189. package/src/sap/m/ResponsivePopover.js +7 -6
  190. package/src/sap/m/ResponsiveScale.js +1 -1
  191. package/src/sap/m/ScrollBar.js +1 -1
  192. package/src/sap/m/ScrollContainer.js +1 -1
  193. package/src/sap/m/SearchField.js +1 -1
  194. package/src/sap/m/SegmentedButton.js +1 -1
  195. package/src/sap/m/SegmentedButtonItem.js +1 -1
  196. package/src/sap/m/Select.js +16 -18
  197. package/src/sap/m/SelectDialog.js +2 -2
  198. package/src/sap/m/SelectDialogBase.js +1 -1
  199. package/src/sap/m/SelectList.js +8 -8
  200. package/src/sap/m/SelectListRenderer.js +2 -2
  201. package/src/sap/m/SelectRenderer.js +37 -13
  202. package/src/sap/m/SelectionDetails.js +1 -1
  203. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  204. package/src/sap/m/SelectionDetailsItem.js +1 -1
  205. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  206. package/src/sap/m/Shell.js +1 -1
  207. package/src/sap/m/SimpleFixFlex.js +5 -6
  208. package/src/sap/m/SimpleFixFlexRenderer.js +1 -0
  209. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  210. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  211. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  212. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  213. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  214. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  215. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  216. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  217. package/src/sap/m/SlideTile.js +1 -1
  218. package/src/sap/m/Slider.js +14 -5
  219. package/src/sap/m/SliderRenderer.js +27 -2
  220. package/src/sap/m/SliderTooltip.js +1 -1
  221. package/src/sap/m/SliderTooltipBase.js +1 -1
  222. package/src/sap/m/SliderTooltipContainer.js +3 -3
  223. package/src/sap/m/SplitApp.js +1 -1
  224. package/src/sap/m/SplitButton.js +1 -1
  225. package/src/sap/m/SplitContainer.js +3 -11
  226. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  227. package/src/sap/m/StandardListItem.js +1 -1
  228. package/src/sap/m/StandardTile.js +1 -1
  229. package/src/sap/m/StandardTreeItem.js +1 -1
  230. package/src/sap/m/StepInput.js +1 -1
  231. package/src/sap/m/SuggestionItem.js +1 -1
  232. package/src/sap/m/SuggestionsPopover.js +1 -1
  233. package/src/sap/m/Switch.js +1 -1
  234. package/src/sap/m/TabContainer.js +3 -2
  235. package/src/sap/m/TabContainerItem.js +1 -1
  236. package/src/sap/m/TabStrip.js +2 -2
  237. package/src/sap/m/TabStripItem.js +1 -1
  238. package/src/sap/m/Table.js +1 -1
  239. package/src/sap/m/TablePersoController.js +2 -2
  240. package/src/sap/m/TablePersoDialog.js +2 -2
  241. package/src/sap/m/TablePersoProvider.js +2 -2
  242. package/src/sap/m/TableSelectDialog.js +2 -2
  243. package/src/sap/m/Text.js +2 -2
  244. package/src/sap/m/TextArea.js +4 -3
  245. package/src/sap/m/TextRenderer.js +2 -0
  246. package/src/sap/m/Tile.js +1 -1
  247. package/src/sap/m/TileContainer.js +6 -6
  248. package/src/sap/m/TileContent.js +9 -9
  249. package/src/sap/m/TileContentRenderer.js +1 -1
  250. package/src/sap/m/TimePicker.js +73 -18
  251. package/src/sap/m/TimePickerClock.js +1 -1
  252. package/src/sap/m/TimePickerClocks.js +5 -3
  253. package/src/sap/m/TimePickerClocksRenderer.js +1 -0
  254. package/src/sap/m/TimePickerInputs.js +1 -1
  255. package/src/sap/m/TimePickerInternals.js +1 -1
  256. package/src/sap/m/TimePickerSlider.js +1 -1
  257. package/src/sap/m/TimePickerSliders.js +1 -1
  258. package/src/sap/m/Title.js +2 -2
  259. package/src/sap/m/TitlePropagationSupport.js +1 -1
  260. package/src/sap/m/ToggleButton.js +2 -2
  261. package/src/sap/m/Token.js +1 -1
  262. package/src/sap/m/Tokenizer.js +1 -1
  263. package/src/sap/m/Toolbar.js +1 -1
  264. package/src/sap/m/ToolbarLayoutData.js +6 -2
  265. package/src/sap/m/ToolbarSeparator.js +1 -1
  266. package/src/sap/m/ToolbarSpacer.js +1 -1
  267. package/src/sap/m/Tree.js +1 -1
  268. package/src/sap/m/TreeItemBase.js +1 -1
  269. package/src/sap/m/UploadCollection.js +6 -6
  270. package/src/sap/m/UploadCollectionItem.js +1 -1
  271. package/src/sap/m/UploadCollectionParameter.js +1 -1
  272. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  273. package/src/sap/m/VBox.js +1 -1
  274. package/src/sap/m/ValueStateHeader.js +1 -1
  275. package/src/sap/m/VariantItem.js +160 -0
  276. package/src/sap/m/VariantManagement.js +610 -547
  277. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  278. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  279. package/src/sap/m/ViewSettingsDialog.js +3 -3
  280. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  281. package/src/sap/m/ViewSettingsItem.js +1 -1
  282. package/src/sap/m/VisibleItem.js +1 -1
  283. package/src/sap/m/WheelSlider.js +1 -1
  284. package/src/sap/m/WheelSliderContainer.js +1 -1
  285. package/src/sap/m/Wizard.js +1 -1
  286. package/src/sap/m/WizardProgressNavigator.js +1 -1
  287. package/src/sap/m/WizardStep.js +1 -1
  288. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  289. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  290. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  291. package/src/sap/m/changeHandler/MoveTableColumns.js +2 -2
  292. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  293. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  294. package/src/sap/m/designtime/VariantManagement.designtime.js +34 -24
  295. package/src/sap/m/designtime/messagebundle_de.properties +2 -2
  296. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  297. package/src/sap/m/inputUtils/forwardItemProperties.js +4 -0
  298. package/src/sap/m/library.js +32 -9
  299. package/src/sap/m/messagebundle.properties +33 -2
  300. package/src/sap/m/messagebundle_ar.properties +27 -12
  301. package/src/sap/m/messagebundle_bg.properties +22 -7
  302. package/src/sap/m/messagebundle_ca.properties +22 -7
  303. package/src/sap/m/messagebundle_cs.properties +24 -9
  304. package/src/sap/m/messagebundle_cy.properties +22 -7
  305. package/src/sap/m/messagebundle_da.properties +22 -7
  306. package/src/sap/m/messagebundle_de.properties +23 -8
  307. package/src/sap/m/messagebundle_el.properties +23 -8
  308. package/src/sap/m/messagebundle_en.properties +22 -7
  309. package/src/sap/m/messagebundle_en_GB.properties +22 -7
  310. package/src/sap/m/messagebundle_en_US_sappsd.properties +22 -7
  311. package/src/sap/m/messagebundle_en_US_saprigi.properties +22 -7
  312. package/src/sap/m/messagebundle_en_US_saptrc.properties +22 -7
  313. package/src/sap/m/messagebundle_es.properties +22 -7
  314. package/src/sap/m/messagebundle_es_MX.properties +22 -7
  315. package/src/sap/m/messagebundle_et.properties +22 -7
  316. package/src/sap/m/messagebundle_fi.properties +22 -7
  317. package/src/sap/m/messagebundle_fr.properties +35 -20
  318. package/src/sap/m/messagebundle_fr_CA.properties +22 -7
  319. package/src/sap/m/messagebundle_hi.properties +22 -7
  320. package/src/sap/m/messagebundle_hr.properties +26 -11
  321. package/src/sap/m/messagebundle_hu.properties +24 -9
  322. package/src/sap/m/messagebundle_id.properties +22 -7
  323. package/src/sap/m/messagebundle_it.properties +29 -14
  324. package/src/sap/m/messagebundle_iw.properties +23 -8
  325. package/src/sap/m/messagebundle_ja.properties +22 -7
  326. package/src/sap/m/messagebundle_kk.properties +22 -7
  327. package/src/sap/m/messagebundle_ko.properties +39 -24
  328. package/src/sap/m/messagebundle_lt.properties +22 -7
  329. package/src/sap/m/messagebundle_lv.properties +22 -7
  330. package/src/sap/m/messagebundle_ms.properties +22 -7
  331. package/src/sap/m/messagebundle_nl.properties +36 -21
  332. package/src/sap/m/messagebundle_no.properties +27 -12
  333. package/src/sap/m/messagebundle_pl.properties +23 -8
  334. package/src/sap/m/messagebundle_pt.properties +27 -12
  335. package/src/sap/m/messagebundle_pt_PT.properties +22 -7
  336. package/src/sap/m/messagebundle_ro.properties +23 -8
  337. package/src/sap/m/messagebundle_ru.properties +22 -7
  338. package/src/sap/m/messagebundle_sh.properties +23 -8
  339. package/src/sap/m/messagebundle_sk.properties +22 -7
  340. package/src/sap/m/messagebundle_sl.properties +24 -9
  341. package/src/sap/m/messagebundle_sv.properties +22 -7
  342. package/src/sap/m/messagebundle_th.properties +45 -30
  343. package/src/sap/m/messagebundle_tr.properties +23 -8
  344. package/src/sap/m/messagebundle_uk.properties +23 -8
  345. package/src/sap/m/messagebundle_vi.properties +22 -7
  346. package/src/sap/m/messagebundle_zh_CN.properties +24 -9
  347. package/src/sap/m/messagebundle_zh_TW.properties +26 -11
  348. package/src/sap/m/p13n/AbstractContainer.js +5 -5
  349. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  350. package/src/sap/m/p13n/BasePanel.js +4 -3
  351. package/src/sap/m/p13n/Container.js +1 -1
  352. package/src/sap/m/p13n/Engine.js +1253 -0
  353. package/src/sap/m/p13n/FlexUtil.js +162 -0
  354. package/src/sap/m/p13n/GroupController.js +145 -0
  355. package/src/sap/m/p13n/GroupPanel.js +10 -3
  356. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  357. package/src/sap/m/p13n/PersistenceProvider.js +135 -0
  358. package/src/sap/m/p13n/Popup.js +46 -9
  359. package/src/sap/m/p13n/QueryPanel.js +1 -1
  360. package/src/sap/m/p13n/SelectionController.js +563 -0
  361. package/src/sap/m/p13n/SelectionPanel.js +13 -1
  362. package/src/sap/m/p13n/SortController.js +153 -0
  363. package/src/sap/m/p13n/SortPanel.js +11 -1
  364. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  365. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  366. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  367. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  368. package/src/sap/m/p13n/modification/ModificationHandler.js +133 -0
  369. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  370. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +124 -0
  371. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  372. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  373. package/src/sap/m/p13n/modules/xConfigAPI.js +286 -0
  374. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  375. package/src/sap/m/plugins/DataStateIndicator.js +12 -4
  376. package/src/sap/m/plugins/PasteProvider.js +1 -1
  377. package/src/sap/m/plugins/PluginBase.js +2 -2
  378. package/src/sap/m/rules/DatePicker.support.js +4 -3
  379. package/src/sap/m/semantic/AddAction.js +1 -1
  380. package/src/sap/m/semantic/CancelAction.js +1 -1
  381. package/src/sap/m/semantic/DeleteAction.js +1 -1
  382. package/src/sap/m/semantic/DetailPage.js +1 -1
  383. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  384. package/src/sap/m/semantic/EditAction.js +1 -1
  385. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  386. package/src/sap/m/semantic/FilterAction.js +1 -1
  387. package/src/sap/m/semantic/FilterSelect.js +1 -1
  388. package/src/sap/m/semantic/FlagAction.js +1 -1
  389. package/src/sap/m/semantic/ForwardAction.js +1 -1
  390. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  391. package/src/sap/m/semantic/GroupAction.js +1 -1
  392. package/src/sap/m/semantic/GroupSelect.js +1 -1
  393. package/src/sap/m/semantic/MainAction.js +1 -1
  394. package/src/sap/m/semantic/MasterPage.js +1 -1
  395. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  396. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  397. package/src/sap/m/semantic/NegativeAction.js +1 -1
  398. package/src/sap/m/semantic/OpenInAction.js +1 -1
  399. package/src/sap/m/semantic/PositiveAction.js +1 -1
  400. package/src/sap/m/semantic/PrintAction.js +1 -1
  401. package/src/sap/m/semantic/SaveAction.js +1 -1
  402. package/src/sap/m/semantic/Segment.js +1 -1
  403. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  404. package/src/sap/m/semantic/SemanticButton.js +1 -1
  405. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  406. package/src/sap/m/semantic/SemanticControl.js +1 -1
  407. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +3 -3
  408. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +3 -3
  409. package/src/sap/m/semantic/SemanticPage.js +1 -1
  410. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  411. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  412. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  413. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  414. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  415. package/src/sap/m/semantic/ShareMenu.js +1 -1
  416. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  417. package/src/sap/m/semantic/SortAction.js +1 -1
  418. package/src/sap/m/semantic/SortSelect.js +1 -1
  419. package/src/sap/m/table/Util.js +8 -3
  420. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  421. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  422. package/src/sap/m/table/columnmenu/Item.js +1 -1
  423. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  424. package/src/sap/m/table/columnmenu/Menu.js +9 -3
  425. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  426. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  427. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  428. package/src/sap/m/table/columnmenu/QuickGroup.js +21 -1
  429. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  430. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  431. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  432. package/src/sap/m/table/columnmenu/QuickTotal.js +21 -1
  433. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  434. package/src/sap/m/themes/base/ActionListItem.less +1 -1
  435. package/src/sap/m/themes/base/Breadcrumbs.less +17 -0
  436. package/src/sap/m/themes/base/CheckBox.less +2 -0
  437. package/src/sap/m/themes/base/Dialog.less +1 -2
  438. package/src/sap/m/themes/base/FeedContent.less +13 -5
  439. package/src/sap/m/themes/base/GenericTag.less +5 -3
  440. package/src/sap/m/themes/base/GenericTile.less +13 -9
  441. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  442. package/src/sap/m/themes/base/LightBox.less +0 -12
  443. package/src/sap/m/themes/base/MessageBox.less +4 -3
  444. package/src/sap/m/themes/base/NumericContent.less +1 -1
  445. package/src/sap/m/themes/base/ObjectNumber.less +5 -0
  446. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  447. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  448. package/src/sap/m/themes/base/ProgressIndicator.less +0 -4
  449. package/src/sap/m/themes/base/Select.less +1 -3
  450. package/src/sap/m/themes/base/SelectList.less +0 -5
  451. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  452. package/src/sap/m/themes/base/SlideTile.less +5 -4
  453. package/src/sap/m/themes/base/StandardListItem.less +1 -0
  454. package/src/sap/m/themes/base/Table.less +11 -1
  455. package/src/sap/m/themes/base/TimePickerClock.less +7 -0
  456. package/src/sap/m/themes/base/Title.less +1 -1
  457. package/src/sap/m/upload/UploadSet.js +98 -15
  458. package/src/sap/m/upload/UploadSetItem.js +16 -4
  459. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  460. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +2 -1
@@ -332,6 +332,7 @@ border-radius: 0.25rem;
332
332
  display: flex;
333
333
  align-items: flex-end;
334
334
  justify-content: flex-end;
335
+ min-width: 0;
335
336
  }
336
337
  .sapMGTTInfo {
337
338
  padding: 0.125rem 1rem 0.125rem 0.25rem;
@@ -352,9 +353,6 @@ border-radius: 0.25rem;
352
353
  padding-left: 0.15rem;
353
354
  }
354
355
  }
355
- .sapMGTMarginTop4px{
356
- margin-top: 0.25rem;
357
- }
358
356
  .sapMGTAppAndSystemInfoDivider{
359
357
  height: 0.25rem;
360
358
  }
@@ -563,7 +561,7 @@ border-radius: 0.25rem;
563
561
  flex-direction: row-reverse;
564
562
  }
565
563
  .sapMGTTInfoContainer {
566
- max-width: 13.5rem;
564
+ max-width: 10.875rem;
567
565
  margin-left: 0.25rem;
568
566
  margin-bottom: 0.5rem;
569
567
  .sapMGTTInfo{
@@ -815,8 +813,8 @@ html.sap-desktop .sapMGT:focus:not([tabindex]) {
815
813
  border-radius: 50%;
816
814
  padding: 0px;
817
815
  position: absolute;
818
- top: -0.5rem;
819
- right: -0.5rem;
816
+ top: -0.375rem;
817
+ right: -0.375rem;
820
818
  z-index: 3; // Remark: If increased, this will break FLP footer visualization.
821
819
  background-color: @sapUiButtonBackground;
822
820
  color: @sapUiButtonTextColor;
@@ -1183,6 +1181,12 @@ html.sap-desktop .sapMGT:focus:not([tabindex]) {
1183
1181
  text-align: start;
1184
1182
  }
1185
1183
 
1184
+ .sapMGT.sapMGTScopeActions.sapMGTLineMode.sapMGTFailed,.sapMGT.sapMGTScopeSingleAction.sapMGTLineMode.sapMGTFailed {
1185
+ .sapMBtn.sapMGTRemoveButton {
1186
+ opacity: 1 !important;
1187
+ }
1188
+ }
1189
+
1186
1190
  /* COMPACT */
1187
1191
  .sapUiMedia-GenericTileDeviceSet-small {
1188
1192
  &.sapUiSizeCompact, .sapUiSizeCompact {
@@ -1287,7 +1291,7 @@ html.sap-desktop .sapMGT:focus:not([tabindex]) {
1287
1291
 
1288
1292
  .sapMGTLineMode.sapMGTScopeSingleAction {
1289
1293
  .sapMGTHdrTxt:last-of-type, .sapMGTSubHdrTxt {
1290
- padding-right: 1rem;
1294
+ padding-right: 1.3rem;
1291
1295
  }
1292
1296
  }
1293
1297
 
@@ -1543,7 +1547,7 @@ html[data-sap-ui-browser*='ff'] {
1543
1547
 
1544
1548
  .sapMImageContentImageIcon {
1545
1549
  height: 100%;
1546
- max-height: 2rem;
1550
+ max-height: 1.75rem;
1547
1551
  }
1548
1552
  }
1549
1553
  .sapMTileCntContent > div:first-child {
@@ -1615,7 +1619,6 @@ html[data-sap-ui-browser*='ff'] {
1615
1619
  .TwoByOne.sapMGTActionMode {
1616
1620
  height: 10.5rem;
1617
1621
  width: 20rem;
1618
- overflow: hidden;
1619
1622
  box-shadow: @sapContent_Shadow0;
1620
1623
  .sapMGTTitle {
1621
1624
  font-weight: bold;
@@ -2226,4 +2229,5 @@ html[data-sap-ui-browser*='ff'] {
2226
2229
 
2227
2230
  html.sap-desktop .sapMGT.sapMGTTwoByHalf.sapMGTIconMode.HighContrastTile:not(.sapMGTStateDisabled):hover {
2228
2231
  box-shadow: 0 0 0 0.188rem @sapUiContentShadowColor inset;
2232
+ border: none;
2229
2233
  }
@@ -24,6 +24,13 @@
24
24
  font-size: @sapMFontMediumSize;
25
25
  }
26
26
 
27
+ &.sapMIllustratedMessageScalable {
28
+ height: 100%;
29
+ display: flex;
30
+ align-items: center;
31
+ flex-direction: column;
32
+ }
33
+
27
34
  &.sapMIllustratedMessage-Base {
28
35
  figcaption {
29
36
  max-width: 10rem;
@@ -126,18 +126,6 @@ html[data-sap-ui-browser^='sf'] .sapMLightBox {
126
126
  padding-right: 0.25rem;
127
127
  }
128
128
 
129
- .sapMTitle.sapMLightBoxTitle {
130
- color: @sapUiBaseText;
131
- font-family: @_sap_m_LightBox_FontFamily;
132
- font-size: @sapMFontMediumSize;
133
- }
134
-
135
- .sapMLabel.sapMLightBoxSubtitle {
136
- color: @sapUiContentLabelColor;
137
- font-family: @sapUiFontFamily;
138
- font-size: @sapMFontMediumSize;
139
- }
140
-
141
129
  .sapMTitle.sapMLightBoxTitle,
142
130
  .sapMLabel.sapMLightBoxSubtitle {
143
131
  white-space: nowrap;
@@ -12,12 +12,13 @@
12
12
  @_sap_m_MessageBox_QuestionShadow: @_sap_m_MessageBox_HeaderShadow @sapUiContentHeaderShadow;
13
13
 
14
14
  .sapMMessageBoxLinkText {
15
- margin-top: 1rem;
16
- float: left;
15
+ vertical-align: bottom;
17
16
  }
18
17
 
18
+ .sapMMessageBoxLinkText,
19
+ .sapMMessageBoxErrorText,
19
20
  .sapMMessageBoxDetails {
20
- padding-top: 1rem;
21
+ margin-top: 1rem;
21
22
  }
22
23
 
23
24
  .sapMDialog.sapMMessageBoxInfo .sapMDialogIcon.sapUiIcon {
@@ -55,7 +55,7 @@ td .sapMNCValue.WithoutMargin {
55
55
  font-family: @sapUiFontHeaderFamily;
56
56
  font-size: 1.75rem;
57
57
  font-weight: @sapUiFontHeaderWeight;
58
- color: @sapUiTileIconColor;
58
+ color: @sapTile_IconColor;
59
59
 
60
60
  &.sapMNCLargeFontSize:before {
61
61
  padding-bottom: 0.25rem;
@@ -5,6 +5,11 @@
5
5
 
6
6
  @sapMONInformativeElement: @sapUiInformativeElement;
7
7
 
8
+ .sapMObjectNumberLarge .sapMObjectNumberText,
9
+ .sapMObjectNumberLarge .sapMObjectNumberUnit {
10
+ font-size: 1.5rem;
11
+ }
12
+
8
13
  .sapMObjectNumber {
9
14
  display: block;
10
15
  white-space: normal;
@@ -82,7 +82,8 @@
82
82
  }
83
83
 
84
84
  .sapMObjStatusText {
85
- word-break: break-word;
85
+ word-break: normal;
86
+ overflow-wrap: break-word;
86
87
  }
87
88
 
88
89
  .sapMObjStatus > .sapMObjStatusTitle {
@@ -97,8 +97,12 @@
97
97
  &.sapMPopover .sapMPopoverCont .sapMPopoverScroll {
98
98
  padding: 0.1875rem 0.375rem;
99
99
  }
100
- }
101
100
 
101
+ .sapMBtnInner.sapMBtnIconFirst:not(.sapMBtnBack) {
102
+ padding-left: 0.5rem;
103
+ padding-right: 0.5rem;
104
+ }
105
+ }
102
106
  }
103
107
 
104
108
  /* Phone mode overrides */
@@ -145,10 +145,6 @@
145
145
  display: inline-block;
146
146
  }
147
147
 
148
- .sapMPIAnimate .sapMPIText {
149
- display: none;
150
- }
151
-
152
148
  /* Progress Indicator Bar */
153
149
  .sapMPIValueMax .sapMPIBar {
154
150
  border-top-right-radius: 0.5rem;
@@ -334,9 +334,7 @@
334
334
  /* table context */
335
335
  /* ------------------------------ */
336
336
 
337
- .sapUiTableCell .sapMSlt,
338
- .sapUiSizeCondensed .sapUiTableCell .sapMSlt,
339
- .sapUiSizeCompact .sapUiTableCell .sapMSlt {
337
+ .sapUiSizeCondensed .sapUiTableCell .sapMSlt {
340
338
  margin: 0;
341
339
  }
342
340
 
@@ -33,11 +33,6 @@
33
33
  background: @sapUiListBackground;
34
34
  }
35
35
 
36
- .sapMSelectListTableLayout {
37
- display: table;
38
- border-collapse: collapse;
39
- }
40
-
41
36
  /* ------------------------------ */
42
37
  /* item */
43
38
  /* ------------------------------ */
@@ -597,6 +597,13 @@ html.sap-desktop {
597
597
  background-color: fade(@bcolor, 90%);
598
598
  }
599
599
  }
600
+ //Special Dates
601
+ .sapMSinglePCGrid .@{iitemtypeclass} {
602
+ //day view
603
+ .sapMSinglePCBlockersColumn {
604
+ box-shadow: inset 0 0.25rem 0 @color;
605
+ }
606
+ }
600
607
  }
601
608
 
602
609
  .calendarRowTypeColorMixIn(sapUiCalendarAppType01, sapUiCalItemType01, @_sap_m_SinglePlanningCalendar_sapUiCalendarAppType01, @_sap_m_SinglePlanningCalendar_sapUiCalendarAppBackgroundType01);
@@ -36,6 +36,7 @@
36
36
  bottom: 0.6rem;
37
37
  left: 0.9rem;
38
38
  border: 0;
39
+ color: @sapButton_Lite_TextColor;
39
40
  }
40
41
  &:focus {
41
42
  outline: none;
@@ -209,13 +210,13 @@ html.sap-tablet .sapMGTHvrOutln:active {
209
210
  height: 2rem;
210
211
  width: 2rem;
211
212
  z-index: 1;
212
- opacity: 0.3;
213
+ opacity: 0.6;
213
214
  overflow: hidden;
214
215
  border-radius: 50%;
215
216
  }
216
217
 
217
218
  html.sap-desktop .sapMST .sapMSTIconClickTapArea:hover ~.sapMSTIconDisplayArea {
218
- opacity: 0.6;
219
+ opacity: 0.8;
219
220
  }
220
221
 
221
222
 
@@ -232,8 +233,8 @@ html.sap-desktop .sapMST.sapMSTIconPressed .sapMSTIconClickTapArea:hover ~.sapMS
232
233
  position: absolute;
233
234
 
234
235
  .sapUiIcon {
235
- width: 2rem;
236
- line-height: inherit;
236
+ width: 2rem;
237
+ line-height: inherit;
237
238
  }
238
239
  }
239
240
 
@@ -174,6 +174,7 @@ html[dir=rtl] .sapMSLIInfo {
174
174
  .sapMSLIInfo.sapMSLIInfoStateInverted {
175
175
  padding: 0.0625rem 0.25rem;
176
176
  text-align: center;
177
+ text-shadow: @sapContent_ContrastTextShadow;
177
178
  }
178
179
 
179
180
  .sapMSLIInfoStateInverted.sapMSLIInfoNone {
@@ -107,7 +107,7 @@ tr.sapMListTblHeaderNone > .sapMTableTH {
107
107
  .sapMListTblSubCntSpr,
108
108
  .sapMListTblSubCntHdr,
109
109
  .sapMListTblSubCntVal {
110
- display: inline;
110
+ display: inline-flex;
111
111
  }
112
112
 
113
113
  .sapMListTblSubCntValBlock {
@@ -364,6 +364,11 @@ tr.sapMListTblHeaderNone > .sapMTableTH {
364
364
  outline-color: @sapUiContentContrastFocusColor;
365
365
  }
366
366
 
367
+ // Allows truncation of text within children of a flex item.
368
+ .sapMColumnHeaderContent {
369
+ min-width: 0;
370
+ }
371
+
367
372
  .sapMColumnHeaderActive:active > .sapMColumnHeaderContent {
368
373
  color: @sapUiListActiveTextColor;
369
374
  }
@@ -386,6 +391,7 @@ tr.sapMListTblHeaderNone > .sapMTableTH {
386
391
  align-self: center;
387
392
  padding-left: 0.5rem;
388
393
  padding-right: 0.5rem;
394
+ box-sizing: border-box;
389
395
  }
390
396
 
391
397
  [aria-sort=ascending] > .sapMColumnHeader::after {
@@ -460,6 +466,10 @@ html[data-sap-ui-browser^='ff'] .sapMTableRowCustomFocus:focus > :not(.sapMListT
460
466
  .sapMObjStatus {
461
467
  vertical-align: middle;
462
468
  line-height: 1.4;
469
+
470
+ .sapMObjStatusText {
471
+ line-height: inherit;
472
+ }
463
473
  }
464
474
  }
465
475
 
@@ -152,6 +152,13 @@
152
152
  transform: rotate(-@angle);
153
153
  }
154
154
  }
155
+
156
+ html[dir=rtl] .@{class} {
157
+ transform: translate(-50%) rotate(-@angle);
158
+ .sapMTPCNumber {
159
+ transform: rotate(@angle);
160
+ }
161
+ }
155
162
  }
156
163
 
157
164
  .sapMTPNow {
@@ -43,7 +43,7 @@
43
43
  }
44
44
 
45
45
  .sapMTB-Transparent-CTX > .sapMTitleTB.sapMTitleStyleAuto {
46
- font-size: @sapMFontHeader4Size;
46
+ font-size: @sapUiGroupTitleFontSize;
47
47
  }
48
48
 
49
49
  /* Level H1 */
@@ -6,7 +6,6 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/ui/core/Control",
9
- "sap/ui/core/Icon",
10
9
  "sap/ui/events/KeyCodes",
11
10
  "sap/base/Log",
12
11
  "sap/base/util/deepEqual",
@@ -27,9 +26,13 @@ sap.ui.define([
27
26
  "sap/ui/core/dnd/DragDropInfo",
28
27
  "sap/ui/core/dnd/DropInfo",
29
28
  "sap/m/library",
30
- "sap/m/upload/UploadSetToolbarPlaceholder"
31
- ], function (Control, Icon, KeyCodes, Log, deepEqual, MobileLibrary, Button, Dialog, List, MessageBox, OverflowToolbar,
32
- StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod, DragDropInfo, DropInfo, Library, UploadSetToolbarPlaceholder) {
29
+ "sap/m/upload/UploadSetToolbarPlaceholder",
30
+ "sap/m/IllustratedMessage",
31
+ "sap/m/IllustratedMessageType",
32
+ "sap/m/IllustratedMessageSize"
33
+ ], function (Control, KeyCodes, Log, deepEqual, MobileLibrary, Button, Dialog, List, MessageBox, OverflowToolbar,
34
+ StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod,
35
+ DragDropInfo, DropInfo, Library, UploadSetToolbarPlaceholder, IllustratedMessage,IllustratedMessageType, IllustratedMessageSize) {
33
36
  "use strict";
34
37
 
35
38
  /**
@@ -43,7 +46,7 @@ sap.ui.define([
43
46
  * and requests, unified behavior of instant and deferred uploads, as well as improved progress indication.
44
47
  * @extends sap.ui.core.Control
45
48
  * @author SAP SE
46
- * @version 1.102.2
49
+ * @version 1.104.0
47
50
  * @constructor
48
51
  * @public
49
52
  * @since 1.63
@@ -83,6 +86,14 @@ sap.ui.define([
83
86
  * Defines custom text for the 'No data' description label.
84
87
  */
85
88
  noDataDescription: {type: "string", defaultValue: null},
89
+ /**
90
+ * Defines custom text for the 'No data' text label.
91
+ */
92
+ dragDropText: {type: "string", defaultValue: null},
93
+ /**
94
+ * Defines custom text for the 'No data' description label.
95
+ */
96
+ dragDropDescription: {type: "string", defaultValue: null},
86
97
  /**
87
98
  * Defines whether the upload process should be triggered as soon as the file is added.<br>
88
99
  * If set to <code>false</code>, no upload is triggered when a file is added.
@@ -156,7 +167,12 @@ sap.ui.define([
156
167
  /**
157
168
  * Defines the uploader to be used. If not specified, the default implementation is used.
158
169
  */
159
- uploader: {type: "sap.m.upload.Uploader", multiple: false}
170
+ uploader: {type: "sap.m.upload.Uploader", multiple: false},
171
+ /**
172
+ * An illustrated message is displayed when no data is loaded or provided
173
+ * @private
174
+ */
175
+ _illustratedMessage: { type: "sap.m.IllustratedMessage", multiple: false, visibility: "hidden" }
160
176
  },
161
177
  events: {
162
178
  /**
@@ -462,14 +478,12 @@ sap.ui.define([
462
478
  this._oRb = sap.ui.getCore().getLibraryResourceBundle("sap.m");
463
479
 
464
480
  this._oList = null;
465
- this._oNoDataIcon = new Icon(this.getId() + "-no-data-icon", {
466
- src: "sap-icon://document",
467
- size: "6rem",
468
- noTabStop: true
469
- });
470
481
  this._oEditedItem = null;
471
482
  this._oItemToBeDeleted = null;
472
483
  this._mListItemIdToItemMap = {};
484
+ this._oUploadButton = null;
485
+ this._oDragIndicator = false;
486
+ this._bAttachEventListener = false;
473
487
 
474
488
  // Drag&drop
475
489
  this._$Body = null;
@@ -479,11 +493,16 @@ sap.ui.define([
479
493
  this._aGroupHeadersAdded = [];
480
494
  this._iFileUploaderPH = null;
481
495
  this._oItemToUpdate = null;
496
+ var illustratedMessage = new IllustratedMessage({
497
+ illustrationType: IllustratedMessageType.NoData,
498
+ illustrationSize: IllustratedMessageSize.Auto,
499
+ title: this.getNoDataText(),
500
+ description: this.getNoDataDescription()
501
+ });
502
+ this.setAggregation("_illustratedMessage", illustratedMessage);
482
503
  };
483
504
 
484
505
  UploadSet.prototype.exit = function () {
485
- this._oNoDataIcon.destroy();
486
- this._oNoDataIcon = null;
487
506
  if (this._oList) {
488
507
  this._oList.destroy();
489
508
  this._oList = null;
@@ -607,6 +626,18 @@ sap.ui.define([
607
626
  return sNoDataDescription;
608
627
  };
609
628
 
629
+ UploadSet.prototype.getDragDropText = function () {
630
+ var sDragDropText = this.getProperty("dragDropText");
631
+ sDragDropText = sDragDropText || this._oRb.getText("IllustratedMessage_TITLE_UploadCollection");
632
+ return sDragDropText;
633
+ };
634
+
635
+ UploadSet.prototype.getDragDropDescription = function () {
636
+ var sDragDropDescription = this.getProperty("dragDropDescription");
637
+ sDragDropDescription = sDragDropDescription || this._oRb.getText("IllustratedMessage_DESCRIPTION_UploadCollection");
638
+ return sDragDropDescription;
639
+ };
640
+
610
641
  UploadSet.prototype.setToolbar = function (oToolbar) {
611
642
  this.setAggregation("toolbar", oToolbar);
612
643
  this.getToolbar();
@@ -788,6 +819,42 @@ sap.ui.define([
788
819
  return this;
789
820
  };
790
821
 
822
+ UploadSet.prototype._getIllustratedMessage = function () {
823
+ var oAggregation = this.getAggregation("_illustratedMessage");
824
+ if (oAggregation) {
825
+ if (this._getDragIndicator()) {
826
+ oAggregation.setIllustrationType(IllustratedMessageType.UploadCollection);
827
+ oAggregation.setTitle(this.getDragDropText());
828
+ oAggregation.setDescription(this.getDragDropDescription());
829
+ oAggregation.removeAllAdditionalContent();
830
+ } else {
831
+ oAggregation.setIllustrationType(IllustratedMessageType.NoData);
832
+ oAggregation.setTitle(this.getNoDataText());
833
+ oAggregation.setDescription(this.getNoDataDescription());
834
+ oAggregation.addAdditionalContent(this.getUploadButtonForIllustratedMessage());
835
+ }
836
+ }
837
+ return oAggregation;
838
+ };
839
+
840
+ UploadSet.prototype.getUploadButtonForIllustratedMessage = function () {
841
+ if (!this._oUploadButton) {
842
+ this._oUploadButton = new Button({
843
+ id: this.getId() + "-uploadButton",
844
+ type: MobileLibrary.ButtonType.Standard,
845
+ visible: this.getUploadEnabled(),
846
+ text: this._oRb.getText("UPLOADCOLLECTION_UPLOAD"),
847
+ ariaDescribedBy: this.getAggregation("_illustratedMessage").getId(),
848
+ press: function () {
849
+ var FileUploader = this.getDefaultFileUploader();
850
+ FileUploader.$().find("input[type=file]").trigger("click");
851
+ }.bind(this)
852
+ });
853
+ }
854
+
855
+ return this._oUploadButton;
856
+ };
857
+
791
858
  /* ============== */
792
859
  /* Public methods */
793
860
  /* ============== */
@@ -838,6 +905,15 @@ sap.ui.define([
838
905
  UploadSet.prototype._onDragEnterFile = function (oEvent) {
839
906
  var oDragSession = oEvent.getParameter("dragSession");
840
907
  var oDraggedControl = oDragSession.getDragControl();
908
+ if (!this._bAttachEventListener) {
909
+ window.addEventListener("focus", function() {
910
+ this._oDragIndicator = false;
911
+ this._getIllustratedMessage();
912
+ }.bind(this), true);
913
+ this._bAttachEventListener = true;
914
+ }
915
+ this._oDragIndicator = true;
916
+ this._getIllustratedMessage();
841
917
  if (oDraggedControl) {
842
918
  oEvent.preventDefault();
843
919
  }
@@ -845,6 +921,8 @@ sap.ui.define([
845
921
 
846
922
  UploadSet.prototype._onDropFile = function (oEvent) {
847
923
  var oFiles;
924
+ this._oDragIndicator = false;
925
+ this._getIllustratedMessage();
848
926
  oEvent.preventDefault();
849
927
  if (this.getUploadEnabled()) {
850
928
  oFiles = oEvent.getParameter("browserEvent").dataTransfer.files;
@@ -859,6 +937,10 @@ sap.ui.define([
859
937
  }
860
938
  };
861
939
 
940
+ UploadSet.prototype._getDragIndicator = function () {
941
+ return this._oDragIndicator;
942
+ };
943
+
862
944
  /**
863
945
  * Starts uploading all files that comply with the restrictions defined in the <code>fileTypes</code>,
864
946
  * <code>maxFileNameLength</code>, <code>maxFileSize</code>, and <code>mediaTypes</code> properties.
@@ -955,7 +1037,7 @@ sap.ui.define([
955
1037
 
956
1038
  /**
957
1039
  * Retrieves the currently selected UploadSetItem.
958
- * @returns {sap.m.upload.UploadSetItem | null} The currently selected item or null
1040
+ * @returns {sap.m.upload.UploadSetItem | null} The currently selected item or <code>null</code>
959
1041
  * @public
960
1042
  * @since 1.100.0
961
1043
  */
@@ -1012,6 +1094,7 @@ sap.ui.define([
1012
1094
  * Opens the FileUploader dialog. When an UploadSetItem is provided, this method can be used to update a file with a new version.
1013
1095
  * @param {sap.m.UploadSetItem} item The UploadSetItem to update with a new version. This parameter is mandatory.
1014
1096
  * @returns {this} this to allow method chaining
1097
+ * @since 1.103.0
1015
1098
  * @public
1016
1099
  */
1017
1100
  UploadSet.prototype.openFileDialog = function(item) {
@@ -1635,4 +1718,4 @@ sap.ui.define([
1635
1718
  this._oToolbar.insertContent(fileUploader, this._iFileUploaderPH);
1636
1719
  };
1637
1720
  return UploadSet;
1638
- });
1721
+ });
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @class Item that represents one file to be uploaded using the {@link sap.m.upload.UploadSet} control.
37
37
  * @extends sap.ui.core.Element
38
38
  * @author SAP SE
39
- * @version 1.102.2
39
+ * @version 1.104.0
40
40
  * @constructor
41
41
  * @public
42
42
  * @since 1.63
@@ -352,8 +352,8 @@ sap.ui.define([
352
352
  // Below we handle change of icon case for existing uploadSetItem.For creation of uploadSetItem icon is created using _getIcon method.
353
353
  if (this._oListItem && sUrl) {
354
354
  for (var i = 0; i < this._oListItem.getContent().length; i++) {
355
- if (this._oListItem.getContent()[i] instanceof sap.ui.core.Icon || this._oListItem.getContent()[i] instanceof sap.m.Image) {
356
- var oItem = this._oListItem.getContent()[i];
355
+ var oItem = this._oListItem.getContent()[i];
356
+ if (oItem && oItem.isA(["sap.ui.core.Icon", "sap.m.Image"])) {
357
357
  this._oListItem.removeContent(oItem);
358
358
  if (this._oIcon) {
359
359
  this._oIcon.destroy();
@@ -460,6 +460,18 @@ sap.ui.define([
460
460
  return this._isRestricted();
461
461
  };
462
462
 
463
+ /**
464
+ * Returns edit state of the item.
465
+ *
466
+ * @public
467
+ * @since 1.104.0
468
+ * @returns {boolean} edit state of uploadSetItem
469
+ *
470
+ */
471
+ UploadSetItem.prototype.getEditState = function () {
472
+ return this._bInEditMode;
473
+ };
474
+
463
475
  /* ============== */
464
476
  /* Event handlers */
465
477
  /* ============== */
@@ -699,7 +711,7 @@ sap.ui.define([
699
711
  * Retrieves the sap.m.ListItem from the internal sap.m.List based on the ID
700
712
  * @param {string} listItemId The item ID used for finding the UploadSetItem
701
713
  * @param {sap.m.ListItemBase[]} listItems The array of list items to search in
702
- * @returns {sap.m.UploadSetItem} The matching UploadSetItem or null if none is found
714
+ * @returns {sap.m.UploadSetItem|null} The matching UploadSetItem or null if none is found
703
715
  * @private
704
716
  */
705
717
  UploadSetItem._findById = function(listItemId, listItems) {
@@ -54,29 +54,21 @@ sap.ui.define([
54
54
 
55
55
  UploadSetRenderer.renderNoData = function(oRm, oControl) {
56
56
  var oUploadSet = oControl.getParent();
57
+ oUploadSet.fnOriginalRenderDummyArea = oUploadSet.getList().getRenderer().renderDummyArea;
58
+ oUploadSet.getList().getRenderer().renderDummyArea = oUploadSet.getRenderer().renderDummyArea;
57
59
  oRm.openStart("li", oUploadSet.getList().getId("nodata"));
58
60
  oRm.attr("tabindex", 0);
59
61
  oRm.class("sapMLIB").class("sapMUCNoDataPage");
60
62
  ListItemBaseRenderer.addFocusableClasses.call(ListItemBaseRenderer, oRm);
61
63
  oRm.openEnd();
62
-
63
- oRm.renderControl(oUploadSet._oNoDataIcon);
64
-
65
- oRm.openStart("div", oUploadSet.getId() + "-no-data-text");
66
- oRm.class("sapMUCNoDataText");
67
- oRm.openEnd();
68
- oRm.text(oUploadSet.getNoDataText());
69
- oRm.close("div");
70
-
71
- if (oUploadSet.getUploadEnabled()) {
72
- oRm.openStart("div" , oUploadSet.getId() + "-no-data-description");
73
- oRm.class("sapMUCNoDataDescription");
74
- oRm.openEnd();
75
- oRm.text(oUploadSet.getNoDataDescription());
76
- oRm.close("div");
77
- }
64
+ oRm.renderControl(oUploadSet._getIllustratedMessage());
78
65
  oRm.close("li");
79
66
  };
80
67
 
68
+ UploadSetRenderer.renderDummyArea = function(oRm, oControl, sAreaId, iTabIndex) {
69
+ var oUploadSet = oControl.getParent();
70
+ oUploadSet.getList().getRenderer().renderDummyArea = oUploadSet.fnOriginalRenderDummyArea;
71
+ };
72
+
81
73
  return UploadSetRenderer;
82
74
  });
@@ -22,10 +22,11 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Control
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.102.2
25
+ * @version 1.104.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
29
+ * @since 1.103.0
29
30
  * @alias sap.m.upload.UploadSetToolbarPlaceholder
30
31
  */
31
32