@openui5/sap.m 1.101.0 → 1.103.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 (473) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +2 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +4 -4
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/App.js +1 -1
  9. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  10. package/src/sap/m/Avatar.js +1 -1
  11. package/src/sap/m/Bar.js +12 -22
  12. package/src/sap/m/BarInPageEnabler.js +1 -1
  13. package/src/sap/m/Breadcrumbs.js +29 -4
  14. package/src/sap/m/BusyDialog.js +1 -1
  15. package/src/sap/m/BusyIndicator.js +1 -1
  16. package/src/sap/m/Button.js +4 -4
  17. package/src/sap/m/Carousel.js +1 -1
  18. package/src/sap/m/CarouselLayout.js +1 -1
  19. package/src/sap/m/CheckBox.js +1 -1
  20. package/src/sap/m/ColorPalette.js +13 -1
  21. package/src/sap/m/ColorPalettePopover.js +1 -1
  22. package/src/sap/m/Column.js +10 -1
  23. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  24. package/src/sap/m/ColumnListItem.js +1 -1
  25. package/src/sap/m/ColumnListItemRenderer.js +6 -2
  26. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  31. package/src/sap/m/ComboBox.js +22 -2
  32. package/src/sap/m/ComboBoxBase.js +7 -7
  33. package/src/sap/m/ComboBoxTextField.js +1 -1
  34. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  35. package/src/sap/m/CustomListItem.js +1 -1
  36. package/src/sap/m/CustomTile.js +1 -1
  37. package/src/sap/m/CustomTreeItem.js +1 -1
  38. package/src/sap/m/DatePicker.js +25 -7
  39. package/src/sap/m/DateRangeSelection.js +5 -5
  40. package/src/sap/m/DateTimeField.js +22 -10
  41. package/src/sap/m/DateTimeInput.js +1 -1
  42. package/src/sap/m/DateTimePicker.js +22 -10
  43. package/src/sap/m/DateTimePickerRenderer.js +1 -1
  44. package/src/sap/m/Dialog.js +4 -11
  45. package/src/sap/m/DialogRenderer.js +1 -1
  46. package/src/sap/m/DisplayListItem.js +1 -1
  47. package/src/sap/m/DraftIndicator.js +1 -1
  48. package/src/sap/m/DynamicDate.js +1 -1
  49. package/src/sap/m/DynamicDateFormat.js +72 -18
  50. package/src/sap/m/DynamicDateOption.js +1 -1
  51. package/src/sap/m/DynamicDateRange.js +105 -26
  52. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  53. package/src/sap/m/ExpandableText.js +1 -1
  54. package/src/sap/m/FacetFilter.js +36 -28
  55. package/src/sap/m/FacetFilterItem.js +1 -1
  56. package/src/sap/m/FacetFilterList.js +1 -1
  57. package/src/sap/m/FeedContent.js +1 -1
  58. package/src/sap/m/FeedInput.js +1 -1
  59. package/src/sap/m/FeedListItem.js +1 -1
  60. package/src/sap/m/FeedListItemAction.js +1 -1
  61. package/src/sap/m/Fiori20Adapter.js +2 -2
  62. package/src/sap/m/FlexBox.js +1 -1
  63. package/src/sap/m/FlexItemData.js +2 -2
  64. package/src/sap/m/FormattedText.js +10 -10
  65. package/src/sap/m/GenericTag.js +5 -5
  66. package/src/sap/m/GenericTile.js +98 -16
  67. package/src/sap/m/GenericTileLineModeRenderer.js +3 -1
  68. package/src/sap/m/GenericTileRenderer.js +98 -62
  69. package/src/sap/m/GroupHeaderListItem.js +1 -1
  70. package/src/sap/m/GrowingEnablement.js +171 -95
  71. package/src/sap/m/GrowingList.js +1 -1
  72. package/src/sap/m/HBox.js +1 -1
  73. package/src/sap/m/HeaderContainer.js +50 -65
  74. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  75. package/src/sap/m/IconTabBar.js +3 -2
  76. package/src/sap/m/IconTabBarSelectList.js +1 -1
  77. package/src/sap/m/IconTabFilter.js +4 -4
  78. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  79. package/src/sap/m/IconTabHeader.js +8 -2
  80. package/src/sap/m/IconTabSeparator.js +1 -1
  81. package/src/sap/m/IllustratedMessage.js +1 -1
  82. package/src/sap/m/Illustration.js +1 -1
  83. package/src/sap/m/Image.js +1 -1
  84. package/src/sap/m/ImageContent.js +1 -1
  85. package/src/sap/m/Input.js +2 -14
  86. package/src/sap/m/InputBase.js +16 -9
  87. package/src/sap/m/InputListItem.js +1 -1
  88. package/src/sap/m/InstanceManager.js +14 -19
  89. package/src/sap/m/Label.js +1 -1
  90. package/src/sap/m/LightBox.js +1 -1
  91. package/src/sap/m/LightBoxItem.js +1 -1
  92. package/src/sap/m/Link.js +1 -1
  93. package/src/sap/m/List.js +1 -1
  94. package/src/sap/m/ListBase.js +17 -16
  95. package/src/sap/m/ListItemBase.js +5 -4
  96. package/src/sap/m/MaskEnabler.js +1 -1
  97. package/src/sap/m/MaskInput.js +1 -1
  98. package/src/sap/m/MaskInputRenderer.js +10 -0
  99. package/src/sap/m/MaskInputRule.js +1 -1
  100. package/src/sap/m/Menu.js +1 -1
  101. package/src/sap/m/MenuButton.js +2 -1
  102. package/src/sap/m/MenuItem.js +1 -1
  103. package/src/sap/m/MenuListItem.js +3 -3
  104. package/src/sap/m/MessageBox.js +1020 -908
  105. package/src/sap/m/MessageItem.js +1 -1
  106. package/src/sap/m/MessageListItem.js +1 -1
  107. package/src/sap/m/MessagePage.js +1 -1
  108. package/src/sap/m/MessagePopover.js +1 -1
  109. package/src/sap/m/MessagePopoverItem.js +1 -1
  110. package/src/sap/m/MessageStrip.js +1 -1
  111. package/src/sap/m/MessageToast.js +1 -1
  112. package/src/sap/m/MessageView.js +1 -1
  113. package/src/sap/m/MultiComboBox.js +4 -4
  114. package/src/sap/m/MultiEditField.js +1 -1
  115. package/src/sap/m/MultiInput.js +15 -10
  116. package/src/sap/m/NavContainer.js +4 -4
  117. package/src/sap/m/NewsContent.js +1 -1
  118. package/src/sap/m/NotificationList.js +1 -1
  119. package/src/sap/m/NotificationListBase.js +175 -79
  120. package/src/sap/m/NotificationListGroup.js +1 -2
  121. package/src/sap/m/NotificationListGroupRenderer.js +4 -16
  122. package/src/sap/m/NotificationListItem.js +5 -16
  123. package/src/sap/m/NotificationListItemRenderer.js +0 -1
  124. package/src/sap/m/NumericContent.js +1 -1
  125. package/src/sap/m/NumericInput.js +1 -1
  126. package/src/sap/m/ObjectAttribute.js +14 -1
  127. package/src/sap/m/ObjectAttributeRenderer.js +5 -4
  128. package/src/sap/m/ObjectHeader.js +4 -4
  129. package/src/sap/m/ObjectHeaderRenderer.js +11 -11
  130. package/src/sap/m/ObjectIdentifier.js +3 -3
  131. package/src/sap/m/ObjectListItem.js +1 -1
  132. package/src/sap/m/ObjectMarker.js +7 -4
  133. package/src/sap/m/ObjectNumber.js +1 -1
  134. package/src/sap/m/ObjectStatus.js +1 -1
  135. package/src/sap/m/OverflowToolbar.js +51 -12
  136. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  137. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +5 -0
  138. package/src/sap/m/OverflowToolbarButton.js +1 -1
  139. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  140. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  141. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  142. package/src/sap/m/P13nColumnsItem.js +1 -1
  143. package/src/sap/m/P13nColumnsPanel.js +1 -1
  144. package/src/sap/m/P13nConditionPanel.js +32 -35
  145. package/src/sap/m/P13nDialog.js +3 -1
  146. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  147. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  148. package/src/sap/m/P13nFilterItem.js +1 -1
  149. package/src/sap/m/P13nFilterPanel.js +1 -1
  150. package/src/sap/m/P13nGroupItem.js +1 -1
  151. package/src/sap/m/P13nGroupPanel.js +1 -1
  152. package/src/sap/m/P13nItem.js +1 -1
  153. package/src/sap/m/P13nPanel.js +1 -1
  154. package/src/sap/m/P13nSelectionItem.js +1 -1
  155. package/src/sap/m/P13nSelectionPanel.js +1 -1
  156. package/src/sap/m/P13nSortItem.js +1 -1
  157. package/src/sap/m/P13nSortPanel.js +1 -1
  158. package/src/sap/m/PDFViewer.js +1 -1
  159. package/src/sap/m/Page.js +4 -4
  160. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  161. package/src/sap/m/PagingButton.js +1 -1
  162. package/src/sap/m/Panel.js +1 -1
  163. package/src/sap/m/PlanningCalendar.js +1 -1
  164. package/src/sap/m/PlanningCalendarHeader.js +2 -2
  165. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  166. package/src/sap/m/PlanningCalendarRow.js +1 -1
  167. package/src/sap/m/PlanningCalendarView.js +1 -1
  168. package/src/sap/m/Popover.js +3 -3
  169. package/src/sap/m/PopoverRenderer.js +2 -2
  170. package/src/sap/m/ProgressIndicator.js +15 -29
  171. package/src/sap/m/ProgressIndicatorRenderer.js +7 -1
  172. package/src/sap/m/PullToRefresh.js +1 -1
  173. package/src/sap/m/QuickView.js +2 -2
  174. package/src/sap/m/QuickViewBase.js +1 -1
  175. package/src/sap/m/QuickViewCard.js +1 -1
  176. package/src/sap/m/QuickViewGroup.js +1 -1
  177. package/src/sap/m/QuickViewGroupElement.js +2 -1
  178. package/src/sap/m/QuickViewPage.js +1 -1
  179. package/src/sap/m/RadioButton.js +2 -2
  180. package/src/sap/m/RadioButtonGroup.js +2 -2
  181. package/src/sap/m/RangeSlider.js +82 -59
  182. package/src/sap/m/RangeSliderRenderer.js +34 -2
  183. package/src/sap/m/RatingIndicator.js +1 -1
  184. package/src/sap/m/ResponsivePopover.js +7 -6
  185. package/src/sap/m/ResponsiveScale.js +1 -1
  186. package/src/sap/m/ScrollBar.js +1 -1
  187. package/src/sap/m/ScrollContainer.js +1 -1
  188. package/src/sap/m/SearchField.js +1 -1
  189. package/src/sap/m/SegmentedButton.js +5 -3
  190. package/src/sap/m/SegmentedButtonItem.js +1 -1
  191. package/src/sap/m/Select.js +31 -8
  192. package/src/sap/m/SelectDialog.js +14 -18
  193. package/src/sap/m/SelectDialogBase.js +1 -1
  194. package/src/sap/m/SelectList.js +8 -8
  195. package/src/sap/m/SelectListRenderer.js +2 -2
  196. package/src/sap/m/SelectRenderer.js +37 -13
  197. package/src/sap/m/SelectionDetails.js +1 -1
  198. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  199. package/src/sap/m/SelectionDetailsItem.js +1 -1
  200. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  201. package/src/sap/m/Shell.js +1 -1
  202. package/src/sap/m/SimpleFixFlex.js +5 -6
  203. package/src/sap/m/SimpleFixFlexRenderer.js +1 -0
  204. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  205. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  206. package/src/sap/m/SinglePlanningCalendarGrid.js +5 -5
  207. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  208. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  209. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  210. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  211. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  212. package/src/sap/m/SlideTile.js +1 -1
  213. package/src/sap/m/Slider.js +14 -5
  214. package/src/sap/m/SliderRenderer.js +27 -2
  215. package/src/sap/m/SliderTooltip.js +1 -1
  216. package/src/sap/m/SliderTooltipBase.js +1 -1
  217. package/src/sap/m/SliderTooltipContainer.js +3 -3
  218. package/src/sap/m/SplitApp.js +1 -1
  219. package/src/sap/m/SplitButton.js +1 -1
  220. package/src/sap/m/SplitContainer.js +3 -11
  221. package/src/sap/m/StandardDynamicDateOption.js +12 -10
  222. package/src/sap/m/StandardListItem.js +3 -3
  223. package/src/sap/m/StandardListItemRenderer.js +1 -1
  224. package/src/sap/m/StandardTile.js +1 -1
  225. package/src/sap/m/StandardTreeItem.js +1 -1
  226. package/src/sap/m/StepInput.js +1 -1
  227. package/src/sap/m/SuggestionItem.js +1 -1
  228. package/src/sap/m/SuggestionsPopover.js +1 -1
  229. package/src/sap/m/Switch.js +1 -1
  230. package/src/sap/m/TabContainer.js +3 -2
  231. package/src/sap/m/TabContainerItem.js +1 -1
  232. package/src/sap/m/TabStrip.js +6 -4
  233. package/src/sap/m/TabStripItem.js +1 -1
  234. package/src/sap/m/Table.js +7 -1
  235. package/src/sap/m/TablePersoController.js +2 -2
  236. package/src/sap/m/TablePersoDialog.js +2 -2
  237. package/src/sap/m/TablePersoProvider.js +2 -2
  238. package/src/sap/m/TableRenderer.js +27 -0
  239. package/src/sap/m/TableSelectDialog.js +13 -9
  240. package/src/sap/m/Text.js +2 -2
  241. package/src/sap/m/TextArea.js +4 -3
  242. package/src/sap/m/TextRenderer.js +2 -0
  243. package/src/sap/m/Tile.js +1 -1
  244. package/src/sap/m/TileContainer.js +6 -6
  245. package/src/sap/m/TileContent.js +26 -14
  246. package/src/sap/m/TileContentRenderer.js +16 -7
  247. package/src/sap/m/TimePicker.js +82 -20
  248. package/src/sap/m/TimePickerClock.js +1 -1
  249. package/src/sap/m/TimePickerClocks.js +1 -1
  250. package/src/sap/m/TimePickerClocksRenderer.js +1 -0
  251. package/src/sap/m/TimePickerInputs.js +1 -1
  252. package/src/sap/m/TimePickerInternals.js +1 -1
  253. package/src/sap/m/TimePickerSlider.js +1 -1
  254. package/src/sap/m/TimePickerSliders.js +1 -1
  255. package/src/sap/m/Title.js +2 -2
  256. package/src/sap/m/TitlePropagationSupport.js +1 -1
  257. package/src/sap/m/ToggleButton.js +1 -1
  258. package/src/sap/m/Token.js +1 -1
  259. package/src/sap/m/Tokenizer.js +14 -3
  260. package/src/sap/m/Toolbar.js +7 -1
  261. package/src/sap/m/ToolbarLayoutData.js +6 -2
  262. package/src/sap/m/ToolbarSeparator.js +1 -1
  263. package/src/sap/m/ToolbarSpacer.js +1 -1
  264. package/src/sap/m/Tree.js +1 -1
  265. package/src/sap/m/TreeItemBase.js +1 -1
  266. package/src/sap/m/UploadCollection.js +5 -5
  267. package/src/sap/m/UploadCollectionItem.js +2 -1
  268. package/src/sap/m/UploadCollectionParameter.js +2 -1
  269. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -1
  270. package/src/sap/m/VBox.js +1 -1
  271. package/src/sap/m/ValueStateHeader.js +1 -1
  272. package/src/sap/m/VariantManagement.js +2492 -0
  273. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  274. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  275. package/src/sap/m/ViewSettingsDialog.js +4 -4
  276. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  277. package/src/sap/m/ViewSettingsItem.js +1 -1
  278. package/src/sap/m/VisibleItem.js +1 -1
  279. package/src/sap/m/WheelSlider.js +1 -1
  280. package/src/sap/m/WheelSliderContainer.js +1 -1
  281. package/src/sap/m/Wizard.js +1 -1
  282. package/src/sap/m/WizardProgressNavigator.js +1 -2
  283. package/src/sap/m/WizardStep.js +1 -1
  284. package/src/sap/m/changeHandler/AddTableColumn.js +3 -5
  285. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  286. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  287. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  288. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  289. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  290. package/src/sap/m/designtime/VariantManagement.designtime.js +56 -0
  291. package/src/sap/m/designtime/messagebundle_de.properties +2 -2
  292. package/src/sap/m/inputUtils/forwardItemProperties.js +4 -0
  293. package/src/sap/m/inputUtils/highlightDOMElements.js +3 -2
  294. package/src/sap/m/library.js +48 -5
  295. package/src/sap/m/messagebundle.properties +156 -12
  296. package/src/sap/m/messagebundle_ar.properties +103 -7
  297. package/src/sap/m/messagebundle_bg.properties +103 -7
  298. package/src/sap/m/messagebundle_ca.properties +103 -7
  299. package/src/sap/m/messagebundle_cs.properties +105 -9
  300. package/src/sap/m/messagebundle_cy.properties +103 -7
  301. package/src/sap/m/messagebundle_da.properties +103 -7
  302. package/src/sap/m/messagebundle_de.properties +104 -8
  303. package/src/sap/m/messagebundle_el.properties +103 -7
  304. package/src/sap/m/messagebundle_en.properties +103 -7
  305. package/src/sap/m/messagebundle_en_GB.properties +103 -7
  306. package/src/sap/m/messagebundle_en_US_sappsd.properties +103 -7
  307. package/src/sap/m/messagebundle_en_US_saprigi.properties +105 -7
  308. package/src/sap/m/messagebundle_en_US_saptrc.properties +103 -7
  309. package/src/sap/m/messagebundle_es.properties +103 -7
  310. package/src/sap/m/messagebundle_es_MX.properties +103 -7
  311. package/src/sap/m/messagebundle_et.properties +103 -7
  312. package/src/sap/m/messagebundle_fi.properties +103 -7
  313. package/src/sap/m/messagebundle_fr.properties +117 -21
  314. package/src/sap/m/messagebundle_fr_CA.properties +103 -7
  315. package/src/sap/m/messagebundle_hi.properties +103 -7
  316. package/src/sap/m/messagebundle_hr.properties +103 -7
  317. package/src/sap/m/messagebundle_hu.properties +103 -7
  318. package/src/sap/m/messagebundle_id.properties +103 -7
  319. package/src/sap/m/messagebundle_it.properties +110 -14
  320. package/src/sap/m/messagebundle_iw.properties +103 -7
  321. package/src/sap/m/messagebundle_ja.properties +103 -7
  322. package/src/sap/m/messagebundle_kk.properties +103 -7
  323. package/src/sap/m/messagebundle_ko.properties +114 -18
  324. package/src/sap/m/messagebundle_lt.properties +103 -7
  325. package/src/sap/m/messagebundle_lv.properties +103 -7
  326. package/src/sap/m/messagebundle_ms.properties +103 -7
  327. package/src/sap/m/messagebundle_nl.properties +103 -7
  328. package/src/sap/m/messagebundle_no.properties +107 -11
  329. package/src/sap/m/messagebundle_pl.properties +103 -7
  330. package/src/sap/m/messagebundle_pt.properties +112 -16
  331. package/src/sap/m/messagebundle_pt_PT.properties +103 -7
  332. package/src/sap/m/messagebundle_ro.properties +104 -8
  333. package/src/sap/m/messagebundle_ru.properties +103 -7
  334. package/src/sap/m/messagebundle_sh.properties +104 -8
  335. package/src/sap/m/messagebundle_sk.properties +103 -7
  336. package/src/sap/m/messagebundle_sl.properties +105 -9
  337. package/src/sap/m/messagebundle_sv.properties +103 -7
  338. package/src/sap/m/messagebundle_th.properties +103 -7
  339. package/src/sap/m/messagebundle_tr.properties +104 -8
  340. package/src/sap/m/messagebundle_uk.properties +104 -8
  341. package/src/sap/m/messagebundle_vi.properties +103 -7
  342. package/src/sap/m/messagebundle_zh_CN.properties +104 -8
  343. package/src/sap/m/messagebundle_zh_TW.properties +107 -11
  344. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  345. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  346. package/src/sap/m/p13n/BasePanel.js +1 -1
  347. package/src/sap/m/p13n/Container.js +1 -1
  348. package/src/sap/m/p13n/GroupPanel.js +16 -5
  349. package/src/sap/m/p13n/Popup.js +1 -1
  350. package/src/sap/m/p13n/QueryPanel.js +55 -33
  351. package/src/sap/m/p13n/SelectionPanel.js +31 -6
  352. package/src/sap/m/p13n/SortPanel.js +24 -13
  353. package/src/sap/m/plugins/ColumnResizer.js +12 -6
  354. package/src/sap/m/plugins/DataStateIndicator.js +13 -4
  355. package/src/sap/m/plugins/PasteProvider.js +1 -1
  356. package/src/sap/m/plugins/PluginBase.js +2 -2
  357. package/src/sap/m/rules/CheckBox.support.js +1 -1
  358. package/src/sap/m/rules/DatePicker.support.js +4 -3
  359. package/src/sap/m/rules/Image.support.js +1 -1
  360. package/src/sap/m/rules/Link.support.js +1 -1
  361. package/src/sap/m/rules/MessagePage.support.js +1 -1
  362. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  363. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  364. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  365. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  366. package/src/sap/m/rules/Select.support.js +1 -1
  367. package/src/sap/m/rules/Table.support.js +3 -3
  368. package/src/sap/m/semantic/AddAction.js +1 -1
  369. package/src/sap/m/semantic/CancelAction.js +1 -1
  370. package/src/sap/m/semantic/DeleteAction.js +1 -1
  371. package/src/sap/m/semantic/DetailPage.js +1 -1
  372. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  373. package/src/sap/m/semantic/EditAction.js +1 -1
  374. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  375. package/src/sap/m/semantic/FilterAction.js +1 -1
  376. package/src/sap/m/semantic/FilterSelect.js +1 -1
  377. package/src/sap/m/semantic/FlagAction.js +1 -1
  378. package/src/sap/m/semantic/ForwardAction.js +1 -1
  379. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  380. package/src/sap/m/semantic/GroupAction.js +1 -1
  381. package/src/sap/m/semantic/GroupSelect.js +1 -1
  382. package/src/sap/m/semantic/MainAction.js +1 -1
  383. package/src/sap/m/semantic/MasterPage.js +1 -1
  384. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  385. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  386. package/src/sap/m/semantic/NegativeAction.js +1 -1
  387. package/src/sap/m/semantic/OpenInAction.js +1 -1
  388. package/src/sap/m/semantic/PositiveAction.js +1 -1
  389. package/src/sap/m/semantic/PrintAction.js +1 -1
  390. package/src/sap/m/semantic/SaveAction.js +1 -1
  391. package/src/sap/m/semantic/Segment.js +1 -1
  392. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  393. package/src/sap/m/semantic/SemanticButton.js +1 -1
  394. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  395. package/src/sap/m/semantic/SemanticControl.js +1 -1
  396. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +3 -3
  397. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +3 -3
  398. package/src/sap/m/semantic/SemanticPage.js +1 -1
  399. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  400. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  401. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  402. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  403. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  404. package/src/sap/m/semantic/ShareMenu.js +1 -1
  405. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  406. package/src/sap/m/semantic/SortAction.js +1 -1
  407. package/src/sap/m/semantic/SortSelect.js +1 -1
  408. package/src/sap/m/table/Util.js +17 -13
  409. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  410. package/src/sap/m/table/columnmenu/Entry.js +1 -11
  411. package/src/sap/m/table/columnmenu/Item.js +1 -1
  412. package/src/sap/m/table/columnmenu/ItemBase.js +11 -1
  413. package/src/sap/m/table/columnmenu/Menu.js +41 -27
  414. package/src/sap/m/table/columnmenu/MenuRenderer.js +4 -3
  415. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  416. package/src/sap/m/table/columnmenu/QuickActionBase.js +11 -1
  417. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -5
  418. package/src/sap/m/table/columnmenu/QuickGroup.js +2 -11
  419. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -13
  420. package/src/sap/m/table/columnmenu/QuickSort.js +2 -1
  421. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  422. package/src/sap/m/table/columnmenu/QuickTotal.js +2 -22
  423. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -13
  424. package/src/sap/m/themes/base/ActionListItem.less +2 -2
  425. package/src/sap/m/themes/base/Breadcrumbs.less +11 -0
  426. package/src/sap/m/themes/base/Button.less +1 -6
  427. package/src/sap/m/themes/base/Carousel.less +72 -87
  428. package/src/sap/m/themes/base/CheckBox.less +1 -0
  429. package/src/sap/m/themes/base/ColumnListItem.less +0 -3
  430. package/src/sap/m/themes/base/Dialog.less +6 -2
  431. package/src/sap/m/themes/base/GenericTag.less +5 -3
  432. package/src/sap/m/themes/base/GenericTile.less +412 -148
  433. package/src/sap/m/themes/base/IconTabBarSelectList.less +5 -4
  434. package/src/sap/m/themes/base/InputBase.less +2 -1
  435. package/src/sap/m/themes/base/LightBox.less +6 -16
  436. package/src/sap/m/themes/base/ListItemBase.less +1 -12
  437. package/src/sap/m/themes/base/MenuButton.less +16 -0
  438. package/src/sap/m/themes/base/MessageBox.less +9 -8
  439. package/src/sap/m/themes/base/NewsContent.less +0 -9
  440. package/src/sap/m/themes/base/NotificationListBase.less +9 -14
  441. package/src/sap/m/themes/base/NotificationListGroup.less +30 -44
  442. package/src/sap/m/themes/base/NotificationListItem.less +14 -18
  443. package/src/sap/m/themes/base/ObjectListItem.less +3 -0
  444. package/src/sap/m/themes/base/ObjectNumber.less +5 -0
  445. package/src/sap/m/themes/base/ObjectStatus.less +3 -0
  446. package/src/sap/m/themes/base/Panel.less +1 -1
  447. package/src/sap/m/themes/base/Popover.less +1 -1
  448. package/src/sap/m/themes/base/ProgressIndicator.less +0 -4
  449. package/src/sap/m/themes/base/QuickView.less +14 -2
  450. package/src/sap/m/themes/base/RatingIndicator.less +4 -0
  451. package/src/sap/m/themes/base/Select.less +1 -3
  452. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +3 -29
  453. package/src/sap/m/themes/base/SlideTile.less +19 -0
  454. package/src/sap/m/themes/base/Slider.less +18 -18
  455. package/src/sap/m/themes/base/StandardListItem.less +6 -9
  456. package/src/sap/m/themes/base/Table.less +22 -21
  457. package/src/sap/m/themes/base/TextArea.less +5 -0
  458. package/src/sap/m/themes/base/TimePickerClock.less +7 -0
  459. package/src/sap/m/themes/base/Title.less +1 -1
  460. package/src/sap/m/themes/base/Token.less +3 -2
  461. package/src/sap/m/themes/base/Toolbar.less +1 -1
  462. package/src/sap/m/themes/base/UploadCollection.less +2 -0
  463. package/src/sap/m/themes/base/VariantManagement.less +97 -0
  464. package/src/sap/m/themes/base/Wizard.less +5 -4
  465. package/src/sap/m/themes/base/WizardProgressNavigator.less +8 -0
  466. package/src/sap/m/themes/base/library.source.less +1 -0
  467. package/src/sap/m/themes/sap_hcb/Carousel.less +3 -7
  468. package/src/sap/m/themes/sap_hcb/Panel.less +4 -0
  469. package/src/sap/m/themes/sap_hcb/Slider.less +11 -0
  470. package/src/sap/m/themes/sap_hcb/Tokenizer.less +1 -0
  471. package/src/sap/m/upload/UploadSet.js +90 -14
  472. package/src/sap/m/upload/UploadSetItem.js +18 -5
  473. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +46 -0
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  *
38
38
  * @extends sap.ui.core.Item
39
39
  * @author SAP SE
40
- * @version 1.101.0
40
+ * @version 1.103.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.StandardListItem
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.101.0
33
+ * @version 1.103.0
34
34
  *
35
35
  * @constructor
36
36
  * @private
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  * @see {@link fiori:https://experience.sap.com/fiori-design-web/message-page/ Message Page}
73
73
  *
74
74
  * @extends sap.ui.core.Control
75
- * @version 1.101.0
75
+ * @version 1.103.0
76
76
  *
77
77
  * @constructor
78
78
  * @public
@@ -91,7 +91,7 @@ function(
91
91
  * @extends sap.ui.core.Control
92
92
  *
93
93
  * @author SAP SE
94
- * @version 1.101.0
94
+ * @version 1.103.0
95
95
  *
96
96
  * @constructor
97
97
  * @public
@@ -19,7 +19,7 @@ sap.ui.define(["./library", "./MessageItem"],
19
19
  * @extends sap.m.MessageItem
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.101.0
22
+ * @version 1.103.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -83,7 +83,7 @@ sap.ui.define([
83
83
  * @extends sap.ui.core.Control
84
84
  *
85
85
  * @author SAP SE
86
- * @version 1.101.0
86
+ * @version 1.103.0
87
87
  *
88
88
  * @constructor
89
89
  * @public
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * The message toast has the same behavior on all devices. However, you can adjust the width of the control, for example, for use on a desktop device.
71
71
  *
72
72
  * @author SAP SE
73
- * @version 1.101.0
73
+ * @version 1.103.0
74
74
  *
75
75
  * @namespace
76
76
  * @public
@@ -112,7 +112,7 @@ sap.ui.define([
112
112
  * The responsiveness of the <code>MessageView</code> is determined by the container in which it is embedded. For that reason the control could not be visualized if the
113
113
  * container’s sizes are not defined.
114
114
  * @author SAP SE
115
- * @version 1.101.0
115
+ * @version 1.103.0
116
116
  *
117
117
  * @extends sap.ui.core.Control
118
118
  * @constructor
@@ -159,7 +159,7 @@ function(
159
159
  * </ul>
160
160
  *
161
161
  * @author SAP SE
162
- * @version 1.101.0
162
+ * @version 1.103.0
163
163
  *
164
164
  * @constructor
165
165
  * @extends sap.m.ComboBoxBase
@@ -2824,10 +2824,10 @@ function(
2824
2824
  };
2825
2825
 
2826
2826
  /**
2827
- * Removes an selectedItem from the association named <code>selectedItems</code>.
2827
+ * Removes a selected item from the association named <code>selectedItems</code>.
2828
2828
  *
2829
- * @param {sap.ui.core.Item | sap.ui.core.ID | string} oItem The item to be removed
2830
- * @returns {sap.ui.core.ID | null} The removed selectedItem or null
2829
+ * @param {sap.ui.core.Item | sap.ui.core.ID} oItem The item to be removed or its ID
2830
+ * @returns {sap.ui.core.Item | null} The removed item or <code>null</code>
2831
2831
  * @public
2832
2832
  */
2833
2833
  MultiComboBox.prototype.removeSelectedItem = function(oItem) {
@@ -17,7 +17,7 @@ sap.ui.define(["sap/ui/core/XMLComposite", "./library", "sap/ui/core/Item"], fun
17
17
  * @implements sap.ui.core.IFormContent
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.101.0
20
+ * @version 1.103.0
21
21
  * @experimental since 1.52
22
22
  * @since 1.52.0
23
23
  * @alias sap.m.MultiEditField
@@ -121,7 +121,7 @@ function(
121
121
  * @implements sap.ui.core.ISemanticFormContent
122
122
  *
123
123
  * @author SAP SE
124
- * @version 1.101.0
124
+ * @version 1.103.0
125
125
  *
126
126
  * @constructor
127
127
  * @public
@@ -281,7 +281,7 @@ function(
281
281
  .attachAfterClose(this._onAfterCloseTokensPicker.bind(this))
282
282
 
283
283
  /* Prevent closing of n more popover when input is clicked */
284
- ._getPopup().setAutoCloseAreas([oTokenizer, this]);
284
+ ._getPopup().setExtraContent([oTokenizer, this]);
285
285
 
286
286
  this.setAggregation("tokenizer", oTokenizer);
287
287
 
@@ -855,7 +855,12 @@ function(
855
855
  // for the purpose to copy from column in excel and paste in MultiInput/MultiComboBox
856
856
  sOriginalText = oEvent.originalEvent.clipboardData.getData('text/plain');
857
857
 
858
- aSeparatedText = sOriginalText.split(/\r\n|\r|\n/g);
858
+ // Pasting from Excel on Windows always adds "\r\n" at the end, even if a single cell is selected
859
+ if (sOriginalText.length && sOriginalText.endsWith("\r\n")) {
860
+ sOriginalText = sOriginalText.substring(0, sOriginalText.lastIndexOf("\r\n"));
861
+ }
862
+
863
+ aSeparatedText = sOriginalText.split(/\r\n|\r|\n|\t/g);
859
864
 
860
865
  // if only one piece of text was pasted, we can assume that the user wants to alter it before it is converted into a token
861
866
  // in this case we leave it as plain text input
@@ -1185,12 +1190,12 @@ function(
1185
1190
  *
1186
1191
  * @private
1187
1192
  * @param {string} sText The given starting text
1188
- * @param {array} aItems The item array
1193
+ * @param {Array<sap.ui.core.Item|sap.m.ColumnListItem>} aItems The item array
1189
1194
  * @param {boolean} bExactMatch Whether the match should be exact
1190
- * @param {function} fGetText Function to extract text from a single item
1191
- * @return {object} A found item or null
1195
+ * @param {function} fnGetText Function to extract text from a single item
1196
+ * @returns {sap.ui.core.Item|sap.m.ColumnListItem|undefined} A found item or undefined
1192
1197
  */
1193
- MultiInput.prototype._findItem = function (sText, aItems, bExactMatch, fGetText) {
1198
+ MultiInput.prototype._findItem = function (sText, aItems, bExactMatch, fnGetText) {
1194
1199
  if (!sText) {
1195
1200
  return;
1196
1201
  }
@@ -1204,7 +1209,7 @@ function(
1204
1209
  var length = aItems.length;
1205
1210
  for (var i = 0; i < length; i++) {
1206
1211
  var item = aItems[i];
1207
- var compareText = fGetText(item);
1212
+ var compareText = fnGetText(item);
1208
1213
  if (!compareText) {
1209
1214
  continue;
1210
1215
  }
@@ -1226,7 +1231,7 @@ function(
1226
1231
  * @private
1227
1232
  * @param {string} sText The search text
1228
1233
  * @param {boolean} bExactMatch If true, only items will be returned which exactly matches the text
1229
- * @return {sap.ui.core.Item} A found item or null
1234
+ * @returns {sap.ui.core.Item|undefined} A found item or undefined
1230
1235
  */
1231
1236
  MultiInput.prototype._getSuggestionItem = function (sText, bExactMatch) {
1232
1237
  var items = null;
@@ -1806,7 +1811,7 @@ function(
1806
1811
  * @private
1807
1812
  * @param {object} oParameters Parameter bag containing fields for text, token, suggestionObject and validation callback
1808
1813
  * @param {function[]} aValidators [optional] Array of all validators to be used
1809
- * @returns {sap.m.Token} A valid token or null
1814
+ * @returns {sap.m.Token|null} A valid token or null
1810
1815
  */
1811
1816
  MultiInput.prototype._validateToken = function(oParameters, aValidators) {
1812
1817
  var oToken = oParameters.token,
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @extends sap.ui.core.Control
44
44
  *
45
45
  * @author SAP SE
46
- * @version 1.101.0
46
+ * @version 1.103.0
47
47
  *
48
48
  * @constructor
49
49
  * @public
@@ -402,12 +402,12 @@ sap.ui.define([
402
402
 
403
403
 
404
404
  /**
405
- * Returns the control with the given ID from the "pages" aggregation (if available).
405
+ * Returns the control with the given ID from the <code>pages</code> aggregation (if available).
406
406
  *
407
407
  * @param {string} pageId The ID of the aggregated control to find
408
408
  * @public
409
409
  * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
410
- * @returns {sap.ui.core.Control} The control with the given ID or null if it doesn`t exist
410
+ * @returns {sap.ui.core.Control|null} The control with the given ID or <code>null</code> if it doesn't exist
411
411
  */
412
412
  NavContainer.prototype.getPage = function (pageId) {
413
413
  var aPages = this.getPages();
@@ -1713,7 +1713,7 @@ sap.ui.define([
1713
1713
  * or that <code>Control</code> itself;
1714
1714
  * if <code>vPage</code> is invalid, a negative value or a value greater or equal than the current size
1715
1715
  * of the aggregation, nothing is removed.
1716
- * @return {sap.ui.core.Control} the removed page or null
1716
+ * @returns {sap.ui.core.Control|null} the removed page or <code>null</code>
1717
1717
  * @protected
1718
1718
  * @override
1719
1719
  */
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.core.Control
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.101.0
29
+ * @version 1.103.0
30
30
  * @since 1.34
31
31
  *
32
32
  * @public
@@ -27,7 +27,7 @@ function(
27
27
  * @extends sap.m.ListBase
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.101.0
30
+ * @version 1.103.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -9,6 +9,7 @@ sap.ui.define([
9
9
  'sap/ui/core/Core',
10
10
  'sap/ui/core/Element',
11
11
  'sap/ui/Device',
12
+ 'sap/ui/core/ResizeHandler',
12
13
  './ListItemBase',
13
14
  './Button',
14
15
  './ToolbarSeparator',
@@ -21,6 +22,7 @@ sap.ui.define([
21
22
  Core,
22
23
  Element,
23
24
  Device,
25
+ ResizeHandler,
24
26
  ListItemBase,
25
27
  Button,
26
28
  ToolbarSeparator,
@@ -31,12 +33,18 @@ sap.ui.define([
31
33
  coreLibrary) {
32
34
  'use strict';
33
35
 
36
+ var NLI_RANGE_SET = "NLIRangeSet";
37
+ Device.media.initRangeSet(NLI_RANGE_SET, [600], "px", ["S", "M"], true);
38
+
34
39
  // shortcut for sap.ui.core.Priority
35
40
  var Priority = coreLibrary.Priority;
36
41
 
37
42
  // shortcut for sap.m.ButtonType
38
43
  var ButtonType = library.ButtonType;
39
44
 
45
+ // shortcut for sap.m.ToolbarStyle
46
+ var ToolbarStyle = library.ToolbarStyle;
47
+
40
48
  // shortcut for sap.m.OverflowToolbarPriority
41
49
  var OverflowToolbarPriority = library.OverflowToolbarPriority;
42
50
 
@@ -78,7 +86,7 @@ sap.ui.define([
78
86
  * @extends sap.m.ListItemBase
79
87
  *
80
88
  * @author SAP SE
81
- * @version 1.101.0
89
+ * @version 1.103.0
82
90
  *
83
91
  * @constructor
84
92
  * @public
@@ -183,8 +191,16 @@ sap.ui.define([
183
191
  return '';
184
192
  };
185
193
 
186
- NotificationListBase.prototype.getButtons = function () {
194
+ /**
195
+ * @override
196
+ */
197
+ NotificationListBase.prototype.setProperty = function () {
198
+ this._resetButtonsOverflow();
187
199
 
200
+ return ListItemBase.prototype.setProperty.apply(this, arguments);
201
+ };
202
+
203
+ NotificationListBase.prototype.getButtons = function () {
188
204
  var closeButton = this._getCloseButton(),
189
205
  toolbarSeparator = this._getToolbarSeparator();
190
206
 
@@ -194,25 +210,25 @@ sap.ui.define([
194
210
  };
195
211
 
196
212
  NotificationListBase.prototype.addButton = function (oButton) {
197
-
198
213
  var overflowToolbar = this._getOverflowToolbar(),
199
214
  index = overflowToolbar.getContent().length;
200
215
 
201
- if (Device.system.phone) {
216
+ if (this._getToolbarSeparator()) {
202
217
  index -= 2;
203
218
  }
204
219
 
205
220
  overflowToolbar.insertContent(oButton, index);
206
221
 
222
+ this._resetButtonsOverflow();
207
223
  this.invalidate();
208
224
 
209
225
  return this;
210
226
  };
211
227
 
212
228
  NotificationListBase.prototype.insertButton = function (oButton, index) {
213
-
214
229
  this._getOverflowToolbar().insertContent(oButton, index);
215
230
 
231
+ this._resetButtonsOverflow();
216
232
  this.invalidate();
217
233
 
218
234
  return this;
@@ -221,6 +237,7 @@ sap.ui.define([
221
237
  NotificationListBase.prototype.removeButton = function (oButton) {
222
238
  var result = this._getOverflowToolbar().removeContent(oButton.getId());
223
239
 
240
+ this._resetButtonsOverflow();
224
241
  this.invalidate();
225
242
 
226
243
  return result;
@@ -231,9 +248,10 @@ sap.ui.define([
231
248
  buttons = this.getButtons();
232
249
 
233
250
  buttons.forEach(function (button) {
234
- overflowToolbar.removeContent(button.getId());
251
+ overflowToolbar.removeContent(button);
235
252
  });
236
253
 
254
+ this._resetButtonsOverflow();
237
255
  this.invalidate();
238
256
 
239
257
  return this;
@@ -246,6 +264,7 @@ sap.ui.define([
246
264
  button.destroy();
247
265
  });
248
266
 
267
+ this._resetButtonsOverflow();
249
268
  this.invalidate();
250
269
 
251
270
  return this;
@@ -270,30 +289,13 @@ sap.ui.define([
270
289
  };
271
290
 
272
291
  NotificationListBase.prototype._getOverflowToolbar = function () {
273
- var overflowToolbar = this.getAggregation('_overflowToolbar'),
274
- toolbarSeparator,
275
- oCloseButton;
292
+ var overflowToolbar = this.getAggregation('_overflowToolbar');
276
293
 
277
294
  if (!overflowToolbar) {
278
- overflowToolbar = new OverflowToolbar(this.getId() + '-overflowToolbar', {});
279
-
295
+ overflowToolbar = new OverflowToolbar(this.getId() + '-overflowToolbar', {
296
+ style: ToolbarStyle.Clear
297
+ });
280
298
  this.setAggregation("_overflowToolbar", overflowToolbar, true);
281
-
282
- if (Device.system.phone) {
283
-
284
- oCloseButton = this._getCloseButton();
285
- oCloseButton.setLayoutData(new OverflowToolbarLayoutData({
286
- priority: OverflowToolbarPriority.AlwaysOverflow
287
- }));
288
-
289
- toolbarSeparator = new ToolbarSeparator();
290
- toolbarSeparator.setLayoutData(new OverflowToolbarLayoutData({
291
- priority: OverflowToolbarPriority.AlwaysOverflow
292
- }));
293
-
294
- overflowToolbar.addContent(toolbarSeparator);
295
- overflowToolbar.addContent(oCloseButton);
296
- }
297
299
  }
298
300
 
299
301
  return overflowToolbar;
@@ -306,67 +308,70 @@ sap.ui.define([
306
308
  overflowToolbarContent,
307
309
  closeButtonIndex;
308
310
 
309
- if (Device.system.phone) {
310
-
311
- overflowToolbar = this._getOverflowToolbar();
312
- overflowToolbarContent = overflowToolbar.getContent();
311
+ overflowToolbar = this._getOverflowToolbar();
312
+ overflowToolbarContent = overflowToolbar.getContent();
313
313
 
314
- if (overflowToolbar && overflowToolbarContent.length) {
315
- closeButtonIndex = overflowToolbarContent.length - 1;
314
+ if (overflowToolbarContent.length) {
315
+ closeButtonIndex = overflowToolbarContent.length - 1;
316
+ closeButton = overflowToolbarContent[closeButtonIndex];
316
317
 
317
- closeButton = overflowToolbarContent[closeButtonIndex];
318
+ if (closeButton.getId() !== this.getId() + "-closeButtonX") {
319
+ closeButton = null;
318
320
  }
319
- } else {
320
- closeButton = this.getAggregation("_closeButton");
321
321
  }
322
322
 
323
323
  if (!closeButton) {
324
- if (Device.system.phone) {
325
- closeButton = new Button(this.getId() + '-closeButtonOverflow', {
326
- text: this.isA("sap.m.NotificationListItem") ? closeText : closeAllText,
327
- type: ButtonType.Default,
328
- press: function () {
329
- this.close();
330
- }.bind(this)
331
- });
332
- } else {
333
- closeButton = new Button(this.getId() + '-closeButtonX', {
334
- icon: IconPool.getIconURI('decline'),
335
- type: ButtonType.Transparent,
336
- tooltip: this.isA("sap.m.NotificationListItem") ? closeText : closeAllText,
337
- press: function () {
338
- this.close();
339
- }.bind(this)
340
- });
341
-
342
- this.setAggregation("_closeButton", closeButton);
343
- }
324
+ closeButton = this.getAggregation("_closeButton");
344
325
  }
345
326
 
346
327
  return closeButton;
347
328
  };
348
329
 
349
- NotificationListBase.prototype._getToolbarSeparator = function () {
330
+ NotificationListBase.prototype._createCloseButton = function () {
331
+ var closeButton,
332
+ isNotificationListGroup = this.isA("sap.m.NotificationListGroup"),
333
+ isCollapsed = isNotificationListGroup && this.getCollapsed();
334
+
335
+ if (this._isSmallSize() && !isCollapsed) {
336
+ closeButton = new Button(this.getId() + '-closeButtonX', {
337
+ text: this.isA("sap.m.NotificationListItem") ? closeText : closeAllText,
338
+ type: ButtonType.Default,
339
+ press: function () {
340
+ this.close();
341
+ }.bind(this)
342
+ });
343
+ } else {
344
+ closeButton = new Button(this.getId() + '-closeButtonX', {
345
+ icon: IconPool.getIconURI('decline'),
346
+ type: ButtonType.Transparent,
347
+ tooltip: this.isA("sap.m.NotificationListItem") ? closeText : closeAllText,
348
+ press: function () {
349
+ this.close();
350
+ }.bind(this)
351
+ });
350
352
 
351
- if (!Device.system.phone) {
352
- return null;
353
+ this.setAggregation("_closeButton", closeButton);
353
354
  }
354
355
 
356
+ return closeButton;
357
+ };
358
+
359
+ NotificationListBase.prototype._getToolbarSeparator = function () {
355
360
  var toolbarSeparator,
356
361
  overflowToolbar = this._getOverflowToolbar(),
357
362
  overflowToolbarContent = overflowToolbar.getContent(),
358
363
  toolbarSeparatorIndex;
359
364
 
360
- if (overflowToolbar && overflowToolbarContent.length) {
365
+ if (overflowToolbarContent.length) {
361
366
  toolbarSeparatorIndex = overflowToolbarContent.length - 2;
362
367
  toolbarSeparator = overflowToolbarContent[toolbarSeparatorIndex];
363
368
  }
364
369
 
365
- return toolbarSeparator;
366
- };
367
-
368
- NotificationListBase.prototype.exit = function () {
370
+ if (toolbarSeparator && toolbarSeparator.isA("sap.m.ToolbarSeparator")) {
371
+ return toolbarSeparator;
372
+ }
369
373
 
374
+ return null;
370
375
  };
371
376
 
372
377
  NotificationListBase.prototype._hasActionButtons = function () {
@@ -374,14 +379,13 @@ sap.ui.define([
374
379
  };
375
380
 
376
381
  NotificationListBase.prototype._shouldRenderCloseButton = function () {
377
- return !Device.system.phone && this.getShowCloseButton();
382
+ return !this._isSmallSize() && this.getShowCloseButton();
378
383
  };
379
384
 
380
385
  NotificationListBase.prototype._shouldRenderOverflowToolbar = function () {
381
-
382
386
  var hasActionButtons = this._hasActionButtons();
383
387
 
384
- if (Device.system.phone) {
388
+ if (this._isSmallSize()) {
385
389
  return hasActionButtons || this.getShowCloseButton();
386
390
  }
387
391
 
@@ -389,36 +393,108 @@ sap.ui.define([
389
393
  };
390
394
 
391
395
  NotificationListBase.prototype.onBeforeRendering = function () {
396
+ if (this._resizeListenerId) {
397
+ ResizeHandler.deregister(this._resizeListenerId);
398
+ this._resizeListenerId = null;
399
+ }
392
400
 
393
- var buttons = this.getButtons(),
394
- firstButtonOverflow,
395
- button;
401
+ if (!this._sCurrentLayoutClassName) {
402
+ this._destroyCloseBtnAndSeparator();
403
+ }
404
+ };
405
+
406
+ NotificationListBase.prototype.onAfterRendering = function() {
407
+ if (this.getDomRef()) {
408
+ this._resizeListenerId = ResizeHandler.register(this.getDomRef(), this._onResize.bind(this));
409
+ }
396
410
 
397
- if (Device.system.phone) {
398
- this._updatePhoneButtons();
411
+ this._onResize();
412
+ };
413
+
414
+ NotificationListBase.prototype.exit = function () {
415
+ if (this._resizeListenerId) {
416
+ ResizeHandler.deregister(this._resizeListenerId);
417
+ this._resizeListenerId = null;
418
+ }
419
+
420
+ this._sCurrentLayoutClassName = null;
421
+ };
422
+
423
+ NotificationListBase.prototype._onResize = function () {
424
+ var oDomRef = this.getDomRef(),
425
+ oMediaRange,
426
+ sClassName;
427
+
428
+ if (!oDomRef) {
429
+ return;
430
+ }
431
+
432
+ oMediaRange = Device.media.getCurrentRange(NLI_RANGE_SET, oDomRef.offsetWidth);
433
+ sClassName = "sapMNLIB-Layout" + oMediaRange.name;
434
+
435
+ if (this._sCurrentLayoutClassName === sClassName) {
399
436
  return;
400
437
  }
401
438
 
402
- firstButtonOverflow = buttons.length > 1 ? OverflowToolbarPriority.AlwaysOverflow : OverflowToolbarPriority.NeverOverflow;
439
+ if (this._sCurrentLayoutClassName) {
440
+ this.removeStyleClass(this._sCurrentLayoutClassName);
441
+ }
442
+
443
+ this.addStyleClass(sClassName);
444
+
445
+ this._sCurrentLayoutClassName = sClassName;
446
+
447
+ this._arrangeButtons();
448
+ };
449
+
450
+ NotificationListBase.prototype._destroyCloseBtnAndSeparator = function () {
451
+ var closeButton = this._getCloseButton(),
452
+ toolbarSeparator = this._getToolbarSeparator();
453
+
454
+ if (closeButton) {
455
+ closeButton.destroy();
456
+ }
457
+
458
+ if (toolbarSeparator) {
459
+ toolbarSeparator.destroy();
460
+ }
461
+ };
462
+
463
+ NotificationListBase.prototype._arrangeButtons = function () {
464
+ this._destroyCloseBtnAndSeparator();
465
+
466
+ if (this._isSmallSize()) {
467
+ this._arrangeSSizeButtons();
468
+ } else {
469
+ this._arrangeMSizeButtons();
470
+ }
471
+ };
472
+
473
+ NotificationListBase.prototype._arrangeMSizeButtons = function () {
474
+ var button,
475
+ buttons = this.getButtons(),
476
+ buttonOverflowPriorityType = buttons.length > 1 ? OverflowToolbarPriority.AlwaysOverflow : OverflowToolbarPriority.NeverOverflow;
477
+
478
+ this._createCloseButton();
403
479
 
404
480
  for (var i = 0; i < buttons.length; i++) {
405
481
  button = buttons[i];
406
482
 
407
483
  button.setLayoutData(new OverflowToolbarLayoutData({
408
- priority: i === 0 ? firstButtonOverflow : OverflowToolbarPriority.AlwaysOverflow
484
+ priority: buttonOverflowPriorityType
409
485
  }));
410
486
  }
411
487
  };
412
488
 
413
- NotificationListBase.prototype._updatePhoneButtons = function () {
414
-
415
- var closeButton = this._getCloseButton(),
489
+ NotificationListBase.prototype._arrangeSSizeButtons = function () {
490
+ var overflowToolbar = this._getOverflowToolbar(),
491
+ closeButton = this._createCloseButton(),
416
492
  isNotificationListGroup = this.isA("sap.m.NotificationListGroup"),
417
493
  buttonText = isNotificationListGroup ? closeAllText : closeText,
418
494
  isCollapsed = isNotificationListGroup && this.getCollapsed(),
419
495
  hasActionButtons = !isCollapsed && this._hasActionButtons(),
420
496
  showCloseButton = this.getShowCloseButton(),
421
- toolbarSeparator = this._getToolbarSeparator(),
497
+ toolbarSeparator = new ToolbarSeparator(),
422
498
  priority;
423
499
 
424
500
  this.getButtons().forEach(function (button) {
@@ -435,6 +511,17 @@ sap.ui.define([
435
511
  }));
436
512
  });
437
513
 
514
+ closeButton.setLayoutData(new OverflowToolbarLayoutData({
515
+ priority: OverflowToolbarPriority.AlwaysOverflow
516
+ }));
517
+
518
+ toolbarSeparator.setLayoutData(new OverflowToolbarLayoutData({
519
+ priority: OverflowToolbarPriority.AlwaysOverflow
520
+ }));
521
+
522
+ overflowToolbar.addContent(toolbarSeparator);
523
+ overflowToolbar.addContent(closeButton);
524
+
438
525
  if (!showCloseButton) {
439
526
  closeButton.setVisible(false);
440
527
  toolbarSeparator.setVisible(false);
@@ -453,7 +540,6 @@ sap.ui.define([
453
540
  }));
454
541
 
455
542
  toolbarSeparator.setVisible(true);
456
-
457
543
  } else {
458
544
  closeButton.setText('');
459
545
  closeButton.setTooltip(buttonText);
@@ -503,5 +589,15 @@ sap.ui.define([
503
589
  return priorityIcon;
504
590
  };
505
591
 
592
+ NotificationListBase.prototype._isSmallSize = function () {
593
+ return this._sCurrentLayoutClassName === "sapMNLIB-LayoutS";
594
+ };
595
+
596
+ NotificationListBase.prototype._resetButtonsOverflow = function () {
597
+ // with this line, the actions buttons will be re-arranged
598
+ // next time when the "_onResize" is called
599
+ this._sCurrentLayoutClassName = null;
600
+ };
601
+
506
602
  return NotificationListBase;
507
603
  });