@openui5/sap.m 1.100.0 → 1.102.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +2 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +1 -1
  7. package/src/sap/m/ActionSelect.js +1 -1
  8. package/src/sap/m/ActionSheet.js +10 -3
  9. package/src/sap/m/App.js +1 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -1
  12. package/src/sap/m/Bar.js +12 -21
  13. package/src/sap/m/Breadcrumbs.js +3 -3
  14. package/src/sap/m/BreadcrumbsRenderer.js +0 -5
  15. package/src/sap/m/BusyDialog.js +1 -1
  16. package/src/sap/m/BusyIndicator.js +1 -1
  17. package/src/sap/m/Button.js +1 -1
  18. package/src/sap/m/Carousel.js +4 -1
  19. package/src/sap/m/CarouselLayout.js +1 -1
  20. package/src/sap/m/CarouselRenderer.js +2 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  22. package/src/sap/m/ColorPalette.js +13 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +10 -1
  25. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +1 -1
  27. package/src/sap/m/ColumnListItemRenderer.js +1 -0
  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 +22 -2
  34. package/src/sap/m/ComboBoxBase.js +4 -2
  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 +53 -7
  41. package/src/sap/m/DatePickerRenderer.js +0 -1
  42. package/src/sap/m/DateRangeSelection.js +42 -4
  43. package/src/sap/m/DateTimeField.js +5 -2
  44. package/src/sap/m/DateTimeInput.js +1 -1
  45. package/src/sap/m/DateTimePicker.js +40 -53
  46. package/src/sap/m/DateTimePickerRenderer.js +2 -2
  47. package/src/sap/m/Dialog.js +21 -8
  48. package/src/sap/m/DialogRenderer.js +1 -1
  49. package/src/sap/m/DisplayListItem.js +1 -1
  50. package/src/sap/m/DraftIndicator.js +1 -1
  51. package/src/sap/m/DynamicDate.js +1 -1
  52. package/src/sap/m/DynamicDateFormat.js +5 -4
  53. package/src/sap/m/DynamicDateOption.js +12 -2
  54. package/src/sap/m/DynamicDateRange.js +107 -16
  55. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  56. package/src/sap/m/ExpandableText.js +1 -1
  57. package/src/sap/m/FacetFilter.js +8 -1
  58. package/src/sap/m/FacetFilterItem.js +1 -1
  59. package/src/sap/m/FacetFilterList.js +1 -1
  60. package/src/sap/m/FeedContent.js +1 -1
  61. package/src/sap/m/FeedInput.js +2 -2
  62. package/src/sap/m/FeedListItem.js +1 -1
  63. package/src/sap/m/FeedListItemAction.js +1 -1
  64. package/src/sap/m/Fiori20Adapter.js +2 -2
  65. package/src/sap/m/FlexBox.js +1 -1
  66. package/src/sap/m/FlexItemData.js +1 -1
  67. package/src/sap/m/FormattedText.js +10 -10
  68. package/src/sap/m/GenericTag.js +1 -1
  69. package/src/sap/m/GenericTagRenderer.js +10 -2
  70. package/src/sap/m/GenericTile.js +132 -16
  71. package/src/sap/m/GenericTileLineModeRenderer.js +80 -3
  72. package/src/sap/m/GenericTileRenderer.js +174 -87
  73. package/src/sap/m/GroupHeaderListItem.js +1 -1
  74. package/src/sap/m/GrowingEnablement.js +127 -93
  75. package/src/sap/m/GrowingList.js +1 -1
  76. package/src/sap/m/HBox.js +1 -1
  77. package/src/sap/m/HeaderContainer.js +41 -21
  78. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  79. package/src/sap/m/IconTabBar.js +3 -3
  80. package/src/sap/m/IconTabBarSelectList.js +1 -1
  81. package/src/sap/m/IconTabFilter.js +1 -1
  82. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  83. package/src/sap/m/IconTabHeader.js +1 -1
  84. package/src/sap/m/IconTabSeparator.js +1 -1
  85. package/src/sap/m/IllustratedMessage.js +19 -1
  86. package/src/sap/m/Illustration.js +1 -1
  87. package/src/sap/m/Image.js +1 -1
  88. package/src/sap/m/ImageContent.js +1 -1
  89. package/src/sap/m/Input.js +4 -10
  90. package/src/sap/m/InputBase.js +5 -5
  91. package/src/sap/m/InputListItem.js +1 -1
  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 +1 -1
  96. package/src/sap/m/List.js +1 -1
  97. package/src/sap/m/ListBase.js +52 -20
  98. package/src/sap/m/ListBaseRenderer.js +19 -3
  99. package/src/sap/m/ListItemBase.js +7 -5
  100. package/src/sap/m/MaskEnabler.js +1 -1
  101. package/src/sap/m/MaskInput.js +1 -1
  102. package/src/sap/m/MaskInputRule.js +1 -1
  103. package/src/sap/m/Menu.js +1 -1
  104. package/src/sap/m/MenuButton.js +5 -1
  105. package/src/sap/m/MenuItem.js +1 -1
  106. package/src/sap/m/MenuListItem.js +1 -1
  107. package/src/sap/m/MessageBox.js +1 -1
  108. package/src/sap/m/MessageItem.js +1 -1
  109. package/src/sap/m/MessageListItem.js +1 -1
  110. package/src/sap/m/MessagePage.js +1 -1
  111. package/src/sap/m/MessagePopover.js +18 -36
  112. package/src/sap/m/MessagePopoverItem.js +1 -1
  113. package/src/sap/m/MessageStrip.js +1 -1
  114. package/src/sap/m/MessageToast.js +1 -1
  115. package/src/sap/m/MessageView.js +1 -1
  116. package/src/sap/m/MultiComboBox.js +3 -2
  117. package/src/sap/m/MultiEditField.js +1 -1
  118. package/src/sap/m/MultiInput.js +8 -3
  119. package/src/sap/m/NavContainer.js +40 -40
  120. package/src/sap/m/NewsContent.js +1 -1
  121. package/src/sap/m/NotificationList.js +1 -1
  122. package/src/sap/m/NotificationListBase.js +175 -79
  123. package/src/sap/m/NotificationListGroup.js +1 -2
  124. package/src/sap/m/NotificationListGroupRenderer.js +4 -16
  125. package/src/sap/m/NotificationListItem.js +5 -16
  126. package/src/sap/m/NotificationListItemRenderer.js +0 -1
  127. package/src/sap/m/NumericContent.js +1 -1
  128. package/src/sap/m/NumericInput.js +3 -2
  129. package/src/sap/m/NumericInputRenderer.js +13 -1
  130. package/src/sap/m/ObjectAttribute.js +1 -1
  131. package/src/sap/m/ObjectAttributeRenderer.js +1 -1
  132. package/src/sap/m/ObjectHeader.js +1 -1
  133. package/src/sap/m/ObjectIdentifier.js +1 -1
  134. package/src/sap/m/ObjectListItem.js +1 -1
  135. package/src/sap/m/ObjectMarker.js +34 -10
  136. package/src/sap/m/ObjectMarkerRenderer.js +14 -2
  137. package/src/sap/m/ObjectNumber.js +1 -1
  138. package/src/sap/m/ObjectStatus.js +1 -1
  139. package/src/sap/m/OverflowToolbar.js +17 -1
  140. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  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 +9 -12
  148. package/src/sap/m/P13nDialog.js +1 -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 +3 -3
  162. package/src/sap/m/PDFViewerRenderer.js +15 -7
  163. package/src/sap/m/Page.js +4 -4
  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 +14 -14
  168. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  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 +15 -10
  173. package/src/sap/m/ProgressIndicator.js +1 -1
  174. package/src/sap/m/PullToRefresh.js +1 -1
  175. package/src/sap/m/QuickView.js +1 -1
  176. package/src/sap/m/QuickViewBase.js +1 -1
  177. package/src/sap/m/QuickViewCard.js +1 -1
  178. package/src/sap/m/QuickViewGroup.js +1 -1
  179. package/src/sap/m/QuickViewGroupElement.js +1 -1
  180. package/src/sap/m/QuickViewPage.js +1 -1
  181. package/src/sap/m/RadioButton.js +2 -2
  182. package/src/sap/m/RadioButtonGroup.js +3 -2
  183. package/src/sap/m/RangeSlider.js +19 -4
  184. package/src/sap/m/RatingIndicator.js +1 -1
  185. package/src/sap/m/ResponsivePopover.js +1 -1
  186. package/src/sap/m/ResponsiveScale.js +1 -1
  187. package/src/sap/m/ScrollBar.js +1 -1
  188. package/src/sap/m/ScrollContainer.js +1 -1
  189. package/src/sap/m/SearchField.js +1 -1
  190. package/src/sap/m/SegmentedButton.js +5 -3
  191. package/src/sap/m/SegmentedButtonItem.js +1 -1
  192. package/src/sap/m/Select.js +24 -3
  193. package/src/sap/m/SelectDialog.js +14 -18
  194. package/src/sap/m/SelectDialogBase.js +1 -1
  195. package/src/sap/m/SelectList.js +1 -1
  196. package/src/sap/m/SelectionDetails.js +1 -1
  197. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  198. package/src/sap/m/SelectionDetailsItem.js +1 -1
  199. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  200. package/src/sap/m/Shell.js +1 -1
  201. package/src/sap/m/SimpleFixFlex.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarGrid.js +94 -52
  205. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +10 -9
  206. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +22 -10
  207. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  208. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  209. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  210. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  211. package/src/sap/m/SlideTile.js +1 -1
  212. package/src/sap/m/Slider.js +1 -1
  213. package/src/sap/m/SliderTooltip.js +1 -1
  214. package/src/sap/m/SliderTooltipBase.js +1 -1
  215. package/src/sap/m/SliderTooltipContainer.js +5 -1
  216. package/src/sap/m/SplitApp.js +1 -1
  217. package/src/sap/m/SplitButton.js +1 -1
  218. package/src/sap/m/SplitContainer.js +1 -1
  219. package/src/sap/m/StandardDynamicDateOption.js +36 -13
  220. package/src/sap/m/StandardListItem.js +3 -3
  221. package/src/sap/m/StandardListItemRenderer.js +1 -1
  222. package/src/sap/m/StandardTile.js +1 -1
  223. package/src/sap/m/StandardTreeItem.js +1 -1
  224. package/src/sap/m/StepInput.js +3 -3
  225. package/src/sap/m/SuggestionItem.js +1 -1
  226. package/src/sap/m/SuggestionsPopover.js +5 -13
  227. package/src/sap/m/Switch.js +1 -1
  228. package/src/sap/m/TabContainer.js +1 -1
  229. package/src/sap/m/TabContainerItem.js +1 -1
  230. package/src/sap/m/TabStrip.js +5 -3
  231. package/src/sap/m/TabStripItem.js +1 -1
  232. package/src/sap/m/Table.js +34 -3
  233. package/src/sap/m/TablePersoController.js +1 -1
  234. package/src/sap/m/TablePersoDialog.js +1 -1
  235. package/src/sap/m/TablePersoProvider.js +1 -1
  236. package/src/sap/m/TableRenderer.js +9 -4
  237. package/src/sap/m/TableSelectDialog.js +13 -9
  238. package/src/sap/m/Text.js +1 -1
  239. package/src/sap/m/TextArea.js +1 -1
  240. package/src/sap/m/Tile.js +1 -1
  241. package/src/sap/m/TileContainer.js +1 -1
  242. package/src/sap/m/TileContent.js +8 -14
  243. package/src/sap/m/TileContentRenderer.js +16 -7
  244. package/src/sap/m/TimePicker.js +52 -60
  245. package/src/sap/m/TimePickerClock.js +1 -1
  246. package/src/sap/m/TimePickerClocks.js +1 -1
  247. package/src/sap/m/TimePickerInputs.js +1 -1
  248. package/src/sap/m/TimePickerInternals.js +1 -1
  249. package/src/sap/m/TimePickerRenderer.js +0 -1
  250. package/src/sap/m/TimePickerSlider.js +1 -1
  251. package/src/sap/m/TimePickerSliders.js +1 -1
  252. package/src/sap/m/Title.js +1 -1
  253. package/src/sap/m/TitlePropagationSupport.js +1 -1
  254. package/src/sap/m/ToggleButton.js +1 -1
  255. package/src/sap/m/Token.js +1 -1
  256. package/src/sap/m/Tokenizer.js +15 -3
  257. package/src/sap/m/Toolbar.js +7 -1
  258. package/src/sap/m/ToolbarLayoutData.js +1 -1
  259. package/src/sap/m/ToolbarSeparator.js +1 -1
  260. package/src/sap/m/ToolbarSpacer.js +1 -1
  261. package/src/sap/m/Tree.js +1 -1
  262. package/src/sap/m/TreeItemBase.js +1 -1
  263. package/src/sap/m/UploadCollection.js +1 -1
  264. package/src/sap/m/UploadCollectionItem.js +2 -1
  265. package/src/sap/m/UploadCollectionParameter.js +2 -1
  266. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -1
  267. package/src/sap/m/VBox.js +1 -1
  268. package/src/sap/m/ValueStateHeader.js +1 -1
  269. package/src/sap/m/VariantManagement.js +2492 -0
  270. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  271. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  272. package/src/sap/m/ViewSettingsDialog.js +8 -9
  273. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  274. package/src/sap/m/ViewSettingsItem.js +1 -1
  275. package/src/sap/m/VisibleItem.js +2 -2
  276. package/src/sap/m/WheelSlider.js +1 -1
  277. package/src/sap/m/WheelSliderContainer.js +1 -1
  278. package/src/sap/m/Wizard.js +22 -4
  279. package/src/sap/m/WizardProgressNavigator.js +10 -3
  280. package/src/sap/m/WizardStep.js +1 -1
  281. package/src/sap/m/changeHandler/AddTableColumn.js +3 -5
  282. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  283. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  284. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  285. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  286. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  287. package/src/sap/m/designtime/ListBase.designtime.js +3 -0
  288. package/src/sap/m/designtime/VariantManagement.designtime.js +56 -0
  289. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  290. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  291. package/src/sap/m/inputUtils/highlightDOMElements.js +3 -2
  292. package/src/sap/m/library.js +55 -19
  293. package/src/sap/m/messagebundle.properties +168 -27
  294. package/src/sap/m/messagebundle_ar.properties +104 -14
  295. package/src/sap/m/messagebundle_bg.properties +104 -14
  296. package/src/sap/m/messagebundle_ca.properties +104 -14
  297. package/src/sap/m/messagebundle_cs.properties +104 -14
  298. package/src/sap/m/messagebundle_cy.properties +104 -14
  299. package/src/sap/m/messagebundle_da.properties +104 -14
  300. package/src/sap/m/messagebundle_de.properties +104 -14
  301. package/src/sap/m/messagebundle_el.properties +104 -14
  302. package/src/sap/m/messagebundle_en.properties +103 -13
  303. package/src/sap/m/messagebundle_en_GB.properties +103 -13
  304. package/src/sap/m/messagebundle_en_US_sappsd.properties +102 -12
  305. package/src/sap/m/messagebundle_en_US_saprigi.properties +102 -12
  306. package/src/sap/m/messagebundle_en_US_saptrc.properties +102 -12
  307. package/src/sap/m/messagebundle_es.properties +104 -14
  308. package/src/sap/m/messagebundle_es_MX.properties +104 -14
  309. package/src/sap/m/messagebundle_et.properties +104 -14
  310. package/src/sap/m/messagebundle_fi.properties +103 -13
  311. package/src/sap/m/messagebundle_fr.properties +105 -15
  312. package/src/sap/m/messagebundle_fr_CA.properties +104 -14
  313. package/src/sap/m/messagebundle_hi.properties +104 -14
  314. package/src/sap/m/messagebundle_hr.properties +104 -14
  315. package/src/sap/m/messagebundle_hu.properties +104 -14
  316. package/src/sap/m/messagebundle_id.properties +104 -14
  317. package/src/sap/m/messagebundle_it.properties +112 -22
  318. package/src/sap/m/messagebundle_iw.properties +104 -14
  319. package/src/sap/m/messagebundle_ja.properties +104 -14
  320. package/src/sap/m/messagebundle_kk.properties +104 -14
  321. package/src/sap/m/messagebundle_ko.properties +105 -15
  322. package/src/sap/m/messagebundle_lt.properties +104 -14
  323. package/src/sap/m/messagebundle_lv.properties +103 -13
  324. package/src/sap/m/messagebundle_ms.properties +104 -14
  325. package/src/sap/m/messagebundle_nl.properties +103 -13
  326. package/src/sap/m/messagebundle_no.properties +104 -14
  327. package/src/sap/m/messagebundle_pl.properties +104 -14
  328. package/src/sap/m/messagebundle_pt.properties +112 -22
  329. package/src/sap/m/messagebundle_pt_PT.properties +104 -14
  330. package/src/sap/m/messagebundle_ro.properties +104 -14
  331. package/src/sap/m/messagebundle_ru.properties +104 -14
  332. package/src/sap/m/messagebundle_sh.properties +104 -14
  333. package/src/sap/m/messagebundle_sk.properties +104 -14
  334. package/src/sap/m/messagebundle_sl.properties +104 -14
  335. package/src/sap/m/messagebundle_sv.properties +105 -15
  336. package/src/sap/m/messagebundle_th.properties +104 -14
  337. package/src/sap/m/messagebundle_tr.properties +104 -14
  338. package/src/sap/m/messagebundle_uk.properties +104 -14
  339. package/src/sap/m/messagebundle_vi.properties +104 -14
  340. package/src/sap/m/messagebundle_zh_CN.properties +104 -14
  341. package/src/sap/m/messagebundle_zh_TW.properties +104 -14
  342. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  343. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  344. package/src/sap/m/p13n/BasePanel.js +9 -3
  345. package/src/sap/m/p13n/Container.js +11 -4
  346. package/src/sap/m/p13n/GroupPanel.js +17 -5
  347. package/src/sap/m/p13n/Popup.js +9 -2
  348. package/src/sap/m/p13n/QueryPanel.js +89 -37
  349. package/src/sap/m/p13n/SelectionPanel.js +30 -5
  350. package/src/sap/m/p13n/SortPanel.js +27 -13
  351. package/src/sap/m/plugins/ColumnResizer.js +41 -6
  352. package/src/sap/m/plugins/DataStateIndicator.js +3 -2
  353. package/src/sap/m/plugins/PasteProvider.js +1 -1
  354. package/src/sap/m/plugins/PluginBase.js +1 -1
  355. package/src/sap/m/rules/CheckBox.support.js +1 -1
  356. package/src/sap/m/rules/Image.support.js +1 -1
  357. package/src/sap/m/rules/Link.support.js +1 -1
  358. package/src/sap/m/rules/MessagePage.support.js +1 -1
  359. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  360. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  361. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  362. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  363. package/src/sap/m/rules/Select.support.js +1 -1
  364. package/src/sap/m/rules/Table.support.js +3 -3
  365. package/src/sap/m/semantic/AddAction.js +1 -1
  366. package/src/sap/m/semantic/CancelAction.js +1 -1
  367. package/src/sap/m/semantic/DeleteAction.js +1 -1
  368. package/src/sap/m/semantic/DetailPage.js +1 -1
  369. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  370. package/src/sap/m/semantic/EditAction.js +1 -1
  371. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  372. package/src/sap/m/semantic/FilterAction.js +1 -1
  373. package/src/sap/m/semantic/FilterSelect.js +1 -1
  374. package/src/sap/m/semantic/FlagAction.js +1 -1
  375. package/src/sap/m/semantic/ForwardAction.js +1 -1
  376. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  377. package/src/sap/m/semantic/GroupAction.js +1 -1
  378. package/src/sap/m/semantic/GroupSelect.js +1 -1
  379. package/src/sap/m/semantic/MainAction.js +1 -1
  380. package/src/sap/m/semantic/MasterPage.js +1 -1
  381. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  382. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  383. package/src/sap/m/semantic/NegativeAction.js +1 -1
  384. package/src/sap/m/semantic/OpenInAction.js +1 -1
  385. package/src/sap/m/semantic/PositiveAction.js +1 -1
  386. package/src/sap/m/semantic/PrintAction.js +1 -1
  387. package/src/sap/m/semantic/SaveAction.js +1 -1
  388. package/src/sap/m/semantic/Segment.js +1 -1
  389. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  390. package/src/sap/m/semantic/SemanticButton.js +1 -1
  391. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  392. package/src/sap/m/semantic/SemanticControl.js +1 -1
  393. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  394. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  395. package/src/sap/m/semantic/SemanticPage.js +1 -1
  396. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  397. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  398. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  399. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  400. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  401. package/src/sap/m/semantic/ShareMenu.js +1 -1
  402. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  403. package/src/sap/m/semantic/SortAction.js +1 -1
  404. package/src/sap/m/semantic/SortSelect.js +1 -1
  405. package/src/sap/m/table/Util.js +98 -16
  406. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  407. package/src/sap/m/table/columnmenu/Entry.js +1 -11
  408. package/src/sap/m/table/columnmenu/Item.js +1 -1
  409. package/src/sap/m/table/columnmenu/ItemBase.js +11 -1
  410. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  411. package/src/sap/m/table/columnmenu/Menu.js +222 -34
  412. package/src/sap/m/table/columnmenu/MenuRenderer.js +5 -28
  413. package/src/sap/m/table/columnmenu/QuickAction.js +14 -3
  414. package/src/sap/m/table/columnmenu/QuickActionBase.js +11 -1
  415. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  416. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -5
  417. package/src/sap/m/table/columnmenu/QuickGroup.js +20 -16
  418. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  419. package/src/sap/m/table/columnmenu/QuickSort.js +2 -1
  420. package/src/sap/m/table/columnmenu/QuickSortItem.js +29 -28
  421. package/src/sap/m/table/columnmenu/QuickTotal.js +20 -25
  422. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  423. package/src/sap/m/themes/base/ActionListItem.less +1 -1
  424. package/src/sap/m/themes/base/Avatar.less +11 -5
  425. package/src/sap/m/themes/base/Button.less +1 -6
  426. package/src/sap/m/themes/base/Carousel.less +72 -87
  427. package/src/sap/m/themes/base/CheckBox.less +0 -1
  428. package/src/sap/m/themes/base/ColumnListItem.less +0 -3
  429. package/src/sap/m/themes/base/ColumnMenu.less +12 -4
  430. package/src/sap/m/themes/base/Dialog.less +10 -6
  431. package/src/sap/m/themes/base/GenericTile.less +758 -179
  432. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  433. package/src/sap/m/themes/base/IconTabBarSelectList.less +5 -4
  434. package/src/sap/m/themes/base/Input.less +1 -1
  435. package/src/sap/m/themes/base/InputBase.less +114 -11
  436. package/src/sap/m/themes/base/Label.less +3 -0
  437. package/src/sap/m/themes/base/LightBox.less +9 -7
  438. package/src/sap/m/themes/base/Link.less +12 -4
  439. package/src/sap/m/themes/base/ListBase.less +4 -0
  440. package/src/sap/m/themes/base/ListItemBase.less +1 -12
  441. package/src/sap/m/themes/base/MenuButton.less +16 -0
  442. package/src/sap/m/themes/base/MessageBox.less +5 -5
  443. package/src/sap/m/themes/base/MultiInput.less +1 -1
  444. package/src/sap/m/themes/base/NewsContent.less +0 -9
  445. package/src/sap/m/themes/base/NotificationListBase.less +9 -14
  446. package/src/sap/m/themes/base/NotificationListGroup.less +30 -44
  447. package/src/sap/m/themes/base/NotificationListItem.less +14 -18
  448. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  449. package/src/sap/m/themes/base/ObjectListItem.less +3 -0
  450. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  451. package/src/sap/m/themes/base/ObjectStatus.less +8 -0
  452. package/src/sap/m/themes/base/Panel.less +1 -1
  453. package/src/sap/m/themes/base/Popover.less +10 -7
  454. package/src/sap/m/themes/base/QuickView.less +14 -2
  455. package/src/sap/m/themes/base/RadioButton.less +21 -3
  456. package/src/sap/m/themes/base/RatingIndicator.less +4 -0
  457. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +3 -29
  458. package/src/sap/m/themes/base/SlideTile.less +18 -0
  459. package/src/sap/m/themes/base/Slider.less +18 -18
  460. package/src/sap/m/themes/base/StandardListItem.less +5 -9
  461. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  462. package/src/sap/m/themes/base/Table.less +18 -21
  463. package/src/sap/m/themes/base/TextArea.less +32 -0
  464. package/src/sap/m/themes/base/Token.less +17 -15
  465. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  466. package/src/sap/m/themes/base/Toolbar.less +1 -1
  467. package/src/sap/m/themes/base/UploadCollection.less +2 -0
  468. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  469. package/src/sap/m/themes/base/VariantManagement.less +97 -0
  470. package/src/sap/m/themes/base/Wizard.less +5 -4
  471. package/src/sap/m/themes/base/WizardProgressNavigator.less +8 -0
  472. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  473. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  474. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  475. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  476. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  477. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  478. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  479. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  480. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  481. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  482. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  483. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  484. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  485. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  486. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  487. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  488. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  489. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  490. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  491. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  492. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  493. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  494. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  495. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  496. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  497. package/src/sap/m/themes/base/library.source.less +1 -0
  498. package/src/sap/m/themes/sap_hcb/Carousel.less +3 -7
  499. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  500. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  501. package/src/sap/m/themes/sap_hcb/Panel.less +4 -0
  502. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  503. package/src/sap/m/themes/sap_hcb/Slider.less +11 -0
  504. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  505. package/src/sap/m/themes/sap_hcb/Tokenizer.less +1 -0
  506. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  507. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  508. package/src/sap/m/upload/UploadSet.js +162 -17
  509. package/src/sap/m/upload/UploadSetItem.js +24 -1
  510. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +45 -0
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * <code>Table, Form</code> etc, should not be aggregated as content.
24
24
  * @extends sap.m.TreeItemBase
25
25
  * @author SAP SE
26
- * @version 1.100.0
26
+ * @version 1.102.1
27
27
  * @constructor
28
28
  * @public
29
29
  * @since 1.48.0
@@ -9,6 +9,8 @@ sap.ui.define([
9
9
  'sap/ui/thirdparty/jquery',
10
10
  'sap/ui/Device',
11
11
  "sap/ui/core/Element",
12
+ "sap/ui/core/format/TimezoneUtil",
13
+ "sap/ui/core/format/DateFormat",
12
14
  './InputBase',
13
15
  './DateTimeField',
14
16
  './Button',
@@ -38,6 +40,8 @@ sap.ui.define([
38
40
  jQuery,
39
41
  Device,
40
42
  Element,
43
+ TimezoneUtil,
44
+ DateFormat,
41
45
  InputBase,
42
46
  DateTimeField,
43
47
  Button,
@@ -148,7 +152,7 @@ sap.ui.define([
148
152
  * the close event), or select Cancel.
149
153
  *
150
154
  * @extends sap.m.DateTimeField
151
- * @version 1.100.0
155
+ * @version 1.102.1
152
156
  *
153
157
  * @constructor
154
158
  * @public
@@ -283,7 +287,19 @@ sap.ui.define([
283
287
  afterPopupOpened : {type : "boolean"}
284
288
 
285
289
  }
286
- }
290
+ },
291
+
292
+ /**
293
+ * Fired when <code>value help</code> dialog opens.
294
+ * @since 1.102.0
295
+ */
296
+ afterValueHelpOpen : {},
297
+
298
+ /**
299
+ * Fired when <code>value help</code> dialog closes.
300
+ * @since 1.102.0
301
+ */
302
+ afterValueHelpClose : {}
287
303
  },
288
304
  designtime: "sap/m/designtime/DatePicker.designtime",
289
305
  dnd: { draggable: false, droppable: true }
@@ -1184,7 +1200,7 @@ sap.ui.define([
1184
1200
  if (!oDomRef) {
1185
1201
  oDomRef = this.getDomRef();
1186
1202
  }
1187
- this._oPopup._getPopup().setAutoCloseAreas([oDomRef]);
1203
+ this._oPopup._getPopup().setExtraContent([oDomRef]);
1188
1204
  this._oPopup.openBy(oDomRef || this);
1189
1205
  };
1190
1206
 
@@ -1248,7 +1264,6 @@ sap.ui.define([
1248
1264
  this._getCalendar().addSelectedDate(this._oDateRange);
1249
1265
  this._getCalendar()._setSpecialDatesControlOrigin(this);
1250
1266
  this._getCalendar().attachCancel(_cancel, this);
1251
- this._getCalendar().setPopupMode(true);
1252
1267
 
1253
1268
  if (this.$().closest(".sapUiSizeCompact").length > 0) {
1254
1269
  this._getCalendar().addStyleClass("sapUiSizeCompact");
@@ -1320,13 +1335,19 @@ sap.ui.define([
1320
1335
  };
1321
1336
 
1322
1337
  DatePicker.prototype._fillDateRange = function(){
1323
-
1338
+ var sFormattedDate;
1324
1339
  var oDate = this.getDateValue();
1325
1340
 
1326
1341
  if (oDate &&
1327
1342
  oDate.getTime() >= this._oMinDate.getTime() &&
1328
1343
  oDate.getTime() <= this._oMaxDate.getTime()) {
1329
1344
 
1345
+ sFormattedDate = this._getPickerParser().format(
1346
+ oDate,
1347
+ this._getTimezone(true)
1348
+ );
1349
+ oDate = this._getPickerParser().parse(sFormattedDate, TimezoneUtil.getLocalTimezone())[0];
1350
+
1330
1351
  this._getCalendar().focusDate(new Date(oDate.getTime()));
1331
1352
  if (!this._oDateRange.getStartDate() || this._oDateRange.getStartDate().getTime() != oDate.getTime()) {
1332
1353
  this._oDateRange.setStartDate(new Date(oDate.getTime()));
@@ -1335,6 +1356,12 @@ sap.ui.define([
1335
1356
  var oInitialFocusedDateValue = this.getInitialFocusedDateValue();
1336
1357
  var oFocusDate = oInitialFocusedDateValue ? oInitialFocusedDateValue : new Date();
1337
1358
 
1359
+ sFormattedDate = this._getPickerParser().format(
1360
+ oFocusDate,
1361
+ this._getTimezone(true)
1362
+ );
1363
+ oFocusDate = this._getPickerParser().parse(sFormattedDate, TimezoneUtil.getLocalTimezone())[0];
1364
+
1338
1365
  if (oFocusDate.getTime() < this._oMinDate.getTime()) {
1339
1366
  oFocusDate = this._oMinDate;
1340
1367
  } else if (oFocusDate.getTime() > this._oMaxDate.getTime()) {
@@ -1374,6 +1401,13 @@ sap.ui.define([
1374
1401
  oDate = this._getSelectedDate(),
1375
1402
  sValue = "";
1376
1403
 
1404
+ var sFormattedDate = this._getPickerParser().format(oDate, TimezoneUtil.getLocalTimezone());
1405
+ var oParts = this._getPickerParser().parse(
1406
+ sFormattedDate,
1407
+ this._getTimezone(true)
1408
+ );
1409
+ oDate = oParts && oParts[0];
1410
+
1377
1411
  // do not use this.onChange() because output pattern will change date (e.g. only last 2 number of year -> 1966 -> 2066 )
1378
1412
  if (!deepEqual(oDate, oDateOld)) {
1379
1413
  this.setDateValue(new Date(oDate.getTime()));
@@ -1414,6 +1448,10 @@ sap.ui.define([
1414
1448
  this._selectDate();
1415
1449
  };
1416
1450
 
1451
+ DatePicker.prototype._getTimezone = function(bUseDefaultAsFallback) {
1452
+ return sap.ui.getCore().getConfiguration().getTimezone();
1453
+ };
1454
+
1417
1455
  /* sets cursor inside the input in order to focus it */
1418
1456
  DatePicker.prototype._focusInput = function(){
1419
1457
 
@@ -1571,11 +1609,11 @@ sap.ui.define([
1571
1609
  this._renderedDays = this._getCalendar().$("-Month0-days").find(".sapUiCalItem").length;
1572
1610
 
1573
1611
  this.$("inner").attr("aria-owns", this.getId() + "-cal");
1574
- this.$("inner").attr("aria-expanded", true);
1575
1612
 
1576
1613
  InstanceManager.addPopoverInstance(this._oPopup);
1577
1614
 
1578
1615
  this._oCalendar.focus();
1616
+ this.fireAfterValueHelpOpen();
1579
1617
  }
1580
1618
 
1581
1619
  function _handleClose() {
@@ -1583,11 +1621,11 @@ sap.ui.define([
1583
1621
  this._oPopup.getBeginButton().setEnabled(false);
1584
1622
  }
1585
1623
  this.removeStyleClass(InputBase.ICON_PRESSED_CSS_CLASS);
1586
- this.$("inner").attr("aria-expanded", false);
1587
1624
 
1588
1625
  this._getCalendar()._closePickers();
1589
1626
 
1590
1627
  InstanceManager.removePopoverInstance(this._oPopup);
1628
+ this.fireAfterValueHelpClose();
1591
1629
  }
1592
1630
 
1593
1631
  function _resizeCalendar(oEvent){
@@ -1624,6 +1662,14 @@ sap.ui.define([
1624
1662
 
1625
1663
  }
1626
1664
 
1665
+ DatePicker.prototype._getPickerParser = function() {
1666
+ if (!this._calendarParser) {
1667
+ this._calendarParser = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
1668
+ }
1669
+
1670
+ return this._calendarParser;
1671
+ };
1672
+
1627
1673
  /**
1628
1674
  * Fired when the input operation has finished and the value has changed.
1629
1675
  *
@@ -49,7 +49,6 @@ sap.ui.define(['sap/ui/core/Renderer', './InputBaseRenderer', 'sap/ui/core/libra
49
49
  mAccessibilityState["roledescription"] = sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("ACC_CTR_TYPE_DATEINPUT");
50
50
  mAccessibilityState["autocomplete"] = "none";
51
51
  mAccessibilityState["haspopup"] = coreLibrary.aria.HasPopup.Grid.toLowerCase();
52
- mAccessibilityState["expanded"] = false;
53
52
  // aria-disabled is not necessary if we already have a native 'disabled' attribute
54
53
  mAccessibilityState["disabled"] = null;
55
54
 
@@ -11,6 +11,7 @@ sap.ui.define([
11
11
  './library',
12
12
  'sap/ui/core/LocaleData',
13
13
  'sap/ui/core/format/DateFormat',
14
+ 'sap/ui/core/format/TimezoneUtil',
14
15
  'sap/ui/core/date/UniversalDate',
15
16
  './DateRangeSelectionRenderer',
16
17
  "sap/ui/unified/calendar/CustomMonthPicker",
@@ -26,6 +27,7 @@ sap.ui.define([
26
27
  library,
27
28
  LocaleData,
28
29
  DateFormat,
30
+ TimezoneUtil,
29
31
  UniversalDate,
30
32
  DateRangeSelectionRenderer,
31
33
  CustomMonthPicker,
@@ -126,8 +128,8 @@ sap.ui.define([
126
128
  * compact mode and provides a touch-friendly size in cozy mode.
127
129
  *
128
130
  * @extends sap.m.DatePicker
129
- * @version 1.100.0
130
- * @version 1.100.0
131
+ * @version 1.102.1
132
+ * @version 1.102.1
131
133
  *
132
134
  * @constructor
133
135
  * @public
@@ -200,6 +202,7 @@ sap.ui.define([
200
202
  oCalendar._getYearPicker().setIntervalSelection(true);
201
203
  }
202
204
 
205
+ this._getCalendar().detachWeekNumberSelect(this._handleWeekSelect, this);
203
206
  this._getCalendar().attachWeekNumberSelect(this._handleWeekSelect, this);
204
207
  this._getCalendar().getSelectedDates()[0].setStartDate(this._oDateRange.getStartDate());
205
208
  this._getCalendar().getSelectedDates()[0].setEndDate(this._oDateRange.getEndDate());
@@ -807,11 +810,18 @@ sap.ui.define([
807
810
  DatePicker.prototype._fillDateRange.apply(this, arguments);
808
811
 
809
812
  var oEndDate = this.getSecondDateValue();
813
+ var sFormattedEndDate;
810
814
 
811
815
  if (oEndDate &&
812
816
  oEndDate.getTime() >= this._oMinDate.getTime() &&
813
817
  oEndDate.getTime() <= this._oMaxDate.getTime()) {
814
818
  if (!this._oDateRange.getEndDate() || this._oDateRange.getEndDate().getTime() !== oEndDate.getTime()) {
819
+ sFormattedEndDate = this._getPickerParser().format(
820
+ oEndDate,
821
+ sap.ui.getCore().getConfiguration().getTimezone()
822
+ );
823
+ oEndDate = this._getPickerParser().parse(sFormattedEndDate, TimezoneUtil.getLocalTimezone())[0];
824
+
815
825
  this._oDateRange.setEndDate(new Date(oEndDate.getTime()));
816
826
  }
817
827
  } else {
@@ -824,6 +834,8 @@ sap.ui.define([
824
834
 
825
835
  DateRangeSelection.prototype._selectDate = function () {
826
836
  var aSelectedDates = this._getCalendar().getSelectedDates();
837
+ var sFormattedDate, oParts;
838
+ var sTimezone = sap.ui.getCore().getConfiguration().getTimezone();
827
839
 
828
840
  if (aSelectedDates.length > 0) {
829
841
  var oDate1 = aSelectedDates[0].getStartDate();
@@ -836,6 +848,17 @@ sap.ui.define([
836
848
  // the selected range includes all of the hours from the second date
837
849
  oDate2.setHours(23, 59, 59, 999);
838
850
 
851
+ sFormattedDate = this._getPickerParser().format(oDate1, TimezoneUtil.getLocalTimezone());
852
+ oParts = this._getPickerParser().parse(sFormattedDate, sTimezone);
853
+ oDate1 = oParts && oParts[0];
854
+
855
+ sFormattedDate = this._getPickerParser().format(oDate2, TimezoneUtil.getLocalTimezone());
856
+ oParts = this._getPickerParser().parse(sFormattedDate, sTimezone);
857
+ oDate2 = oParts && oParts[0];
858
+
859
+ //the parser does not include milliseconds, so restore them
860
+ oDate2.setMilliseconds(999);
861
+
839
862
  var sValue;
840
863
  if (!deepEqual(oDate1, oDate1Old) || !deepEqual(oDate2, oDate2Old)) {
841
864
  // compare Dates because value can be the same if only 2 digits for year
@@ -888,8 +911,15 @@ sap.ui.define([
888
911
 
889
912
  DateRangeSelection.prototype._handleWeekSelect = function(oEvent){
890
913
  var oSelectedDates = oEvent.getParameter("weekDays"),
891
- oSelectedStartDate = oSelectedDates.getStartDate(),
892
- oSelectedEndDate = oSelectedDates.getEndDate();
914
+ oSelectedStartDate,
915
+ oSelectedEndDate;
916
+
917
+ if (!oSelectedDates) {
918
+ return;
919
+ }
920
+
921
+ oSelectedStartDate = oSelectedDates.getStartDate();
922
+ oSelectedEndDate = oSelectedDates.getEndDate();
893
923
 
894
924
  if (this.getShowFooter()) {
895
925
  this._oPopup.getBeginButton().setEnabled(!!(oSelectedStartDate && oSelectedEndDate));
@@ -1058,6 +1088,14 @@ sap.ui.define([
1058
1088
  }
1059
1089
  };
1060
1090
 
1091
+ DateRangeSelection.prototype._getPickerParser = function() {
1092
+ if (!this._calendarParser) {
1093
+ this._calendarParser = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
1094
+ }
1095
+
1096
+ return this._calendarParser;
1097
+ };
1098
+
1061
1099
  function _getIncrementedDate(oOldDate, iNumber, sUnit) {
1062
1100
  // use UniversalDate to calculate new date based on used calendar
1063
1101
  var oBinding = this.getBinding("value"),
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.m.InputBase
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.100.0
62
+ * @version 1.102.1
63
63
  *
64
64
  * @constructor
65
65
  * @public
@@ -239,7 +239,10 @@ sap.ui.define([
239
239
  // open value state message popup when focus is in the input
240
240
  this.openValueStateMessage();
241
241
  } else if (this._oValueStateHeader) {
242
- this._oValueStateHeader.setVisible(this.getValueState() !== ValueState.None);
242
+ this._oValueStateHeader
243
+ .setValueState(this.getValueState())
244
+ .setText(this._getTextForPickerValueStateContent())
245
+ .setVisible(this.getValueState() !== ValueState.None);
243
246
  }
244
247
 
245
248
  };
@@ -62,7 +62,7 @@ function(
62
62
  * @extends sap.ui.core.Control
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.100.0
65
+ * @version 1.102.1
66
66
  *
67
67
  * @constructor
68
68
  * @public
@@ -16,9 +16,9 @@ sap.ui.define([
16
16
  'sap/ui/core/Control',
17
17
  'sap/ui/Device',
18
18
  'sap/ui/core/format/DateFormat',
19
- 'sap/ui/core/format/DateFormatTimezoneDisplay',
20
19
  'sap/ui/core/LocaleData',
21
20
  'sap/ui/core/Core',
21
+ 'sap/ui/core/format/TimezoneUtil',
22
22
  './TimePickerClocks',
23
23
  './DateTimePickerRenderer',
24
24
  './SegmentedButton',
@@ -39,9 +39,9 @@ sap.ui.define([
39
39
  Control,
40
40
  Device,
41
41
  DateFormat,
42
- DateFormatTimezoneDisplay,
43
42
  LocaleData,
44
43
  Core,
44
+ TimezoneUtil,
45
45
  TimePickerClocks,
46
46
  DateTimePickerRenderer,
47
47
  SegmentedButton,
@@ -145,7 +145,7 @@ sap.ui.define([
145
145
  * mobile devices, it opens in full screen.
146
146
  *
147
147
  * @extends sap.m.DatePicker
148
- * @version 1.100.0
148
+ * @version 1.102.1
149
149
  *
150
150
  * @constructor
151
151
  * @public
@@ -313,19 +313,14 @@ sap.ui.define([
313
313
  if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone") || this.getForcePhoneView()) {
314
314
  oSwitcher.setVisible(true);
315
315
  oSwitcher.setSelectedKey("Cal");
316
+ this.getCalendar().addDelegate({
317
+ onAfterRendering: function() {
318
+ this._switchVisibility(oSwitcher.getSelectedKey());
319
+ }.bind(this)
320
+ });
316
321
  } else {
317
322
  oSwitcher.setVisible(false);
318
323
  }
319
-
320
- },
321
-
322
- onAfterRendering: function() {
323
- if (Device.system.phone || jQuery('html').hasClass("sapUiMedia-Std-Phone") || this.getForcePhoneView()) {
324
- var oSwitcher = this.getAggregation("_switcher");
325
- var sKey = oSwitcher.getSelectedKey();
326
- this._switchVisibility(sKey);
327
- }
328
-
329
324
  },
330
325
 
331
326
  _handleSelect: function(oEvent) {
@@ -349,7 +344,7 @@ sap.ui.define([
349
344
  }
350
345
 
351
346
  if (sKey === "Cal") {
352
- oCalendar.$().css("display", "");
347
+ oCalendar.$().css("display", "flex");
353
348
  oClocks.$().css("display", "none");
354
349
  oCalendar.getFocusDomRef() && oCalendar.getFocusDomRef().focus();
355
350
  } else {
@@ -373,21 +368,6 @@ sap.ui.define([
373
368
 
374
369
  return this._oDateTimePicker.getSpecialDates();
375
370
 
376
- },
377
-
378
- onkeydown: function(oEvent) {
379
- var bIsTabForward = oEvent.keyCode === KeyCodes.TAB && !oEvent.shiftKey;
380
- var bIsTabBackward = oEvent.keyCode === KeyCodes.TAB && oEvent.shiftKey;
381
- if (bIsTabForward) {
382
- if (oEvent.target.classList.contains('sapUiCalHeadToday')
383
- || (oEvent.target.classList.contains('sapUiCalHeadBLast') && !this._oDateTimePicker._oCalendar.getShowCurrentDateButton())) {
384
- this.getAggregation('clocks').getDomRef().children[0].children[0].focus();
385
- }
386
- }
387
- if (bIsTabBackward && oEvent.target.classList.contains('sapUiCalItem')) {
388
- var iLastElementIndex = this.oParent.getAggregation("footer").getAggregation("content").length - 1;
389
- this.oParent.getAggregation("footer").getAggregation("content")[iLastElementIndex].focus();
390
- }
391
371
  }
392
372
  });
393
373
 
@@ -578,6 +558,7 @@ sap.ui.define([
578
558
  var oResourceBundle;
579
559
 
580
560
  if (this._oTimezonePopup) {
561
+ this._oTimezonePopup.setTitle(this._getTimezone(true));
581
562
  return this._oTimezonePopup;
582
563
  }
583
564
 
@@ -659,7 +640,7 @@ sap.ui.define([
659
640
 
660
641
  if (bDisplayFormat || !this._getTimezone() ||
661
642
  (oBindingType && !oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"]))) {
662
- oFormatOptions.showTimezone = DateFormatTimezoneDisplay.Hide;
643
+ oFormatOptions.showTimezone = false;
663
644
  }
664
645
 
665
646
  if (oFormatOptions.relative === undefined) {
@@ -703,7 +684,7 @@ sap.ui.define([
703
684
  oBindingType = oBinding && oBinding.getType();
704
685
 
705
686
  if (this.getShowTimezone() === undefined && oBindingType && oBindingType.isA(["sap.ui.model.odata.type.DateTimeWithTimezone"])) {
706
- return oBindingType.getFormatOptions().showTimezone !== DateFormatTimezoneDisplay.Hide;
687
+ return oBindingType.getFormatOptions().showTimezone !== false;
707
688
  }
708
689
 
709
690
  return this.getShowTimezone();
@@ -804,12 +785,24 @@ sap.ui.define([
804
785
 
805
786
  DateTimePicker.prototype._getFallbackParser = function() {
806
787
  if (!this._fallbackParser) {
807
- this._fallbackParser = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: "Only" });
788
+ this._fallbackParser = DateFormat.getDateTimeWithTimezoneInstance({
789
+ showDate: false,
790
+ showTime: false,
791
+ showTimezone: true
792
+ });
808
793
  }
809
794
 
810
795
  return this._fallbackParser;
811
796
  };
812
797
 
798
+ DateTimePicker.prototype._getPickerParser = function() {
799
+ if (!this._clocksParser) {
800
+ this._clocksParser = DateFormat.getDateTimeWithTimezoneInstance({ showTimezone: false });
801
+ }
802
+
803
+ return this._clocksParser;
804
+ };
805
+
813
806
  DateTimePicker.prototype._getLocaleBasedPattern = function(sPlaceholder) {
814
807
  var oLocaleData = LocaleData.getInstance(
815
808
  Core.getConfiguration().getFormatSettings().getFormatLocale()
@@ -899,7 +892,7 @@ sap.ui.define([
899
892
  this.addStyleClass(InputBase.ICON_PRESSED_CSS_CLASS);
900
893
 
901
894
  var oPopover = this._oPopup.getAggregation("_popup");
902
- oPopover.oPopup.setAutoCloseAreas([oDomRef]);
895
+ oPopover.oPopup.setExtraContent([oDomRef]);
903
896
 
904
897
  this._oPopup.openBy(oDomRef || this);
905
898
  };
@@ -966,6 +959,10 @@ sap.ui.define([
966
959
  this._oOKButton.setEnabled(false);
967
960
  }
968
961
 
962
+ // convert the date to local date for the calendar and the clocks
963
+ sFormattedDate = this._getPickerParser().format(oDate, this._getTimezone(true));
964
+ oDate = this._getPickerParser().parse(sFormattedDate, TimezoneUtil.getLocalTimezone())[0];
965
+
969
966
  this._oCalendar.focusDate(oDate);
970
967
 
971
968
  if (bDateFound) {
@@ -974,19 +971,18 @@ sap.ui.define([
974
971
  }
975
972
  }
976
973
 
977
- sFormattedDate = this._formatValue(oDate, false);
978
- oDate = this._parseValue(sFormattedDate, true, Core.getConfiguration().getTimezone());
979
974
  this._oClocks._setTimeValues(oDate);
980
975
  };
981
976
 
982
977
  DateTimePicker.prototype._getSelectedDate = function(){
983
-
984
978
  var oDate = DatePicker.prototype._getSelectedDate.apply(this, arguments),
985
- sFormattedDate;
979
+ oDateTime,
980
+ sPattern;
986
981
 
987
982
  if (oDate) {
988
- var oDateTime = this._oClocks.getTimeValues();
989
- var sPattern = this._oClocks._getDisplayFormatPattern();
983
+ oDateTime = this._oClocks.getTimeValues();
984
+ sPattern = this._oClocks._getDisplayFormatPattern();
985
+
990
986
  if (sPattern.search("h") >= 0 || sPattern.search("H") >= 0) {
991
987
  oDate.setHours(oDateTime.getHours());
992
988
  }
@@ -1004,9 +1000,6 @@ sap.ui.define([
1004
1000
  }
1005
1001
  }
1006
1002
 
1007
- sFormattedDate = this._formatValue(oDate, false, Core.getConfiguration().getTimezone());
1008
- oDate = this._parseValue(sFormattedDate, true, this._getTimezone(true));
1009
-
1010
1003
  return oDate;
1011
1004
  };
1012
1005
 
@@ -1053,23 +1046,23 @@ sap.ui.define([
1053
1046
  } else {
1054
1047
  oSwitcher.setVisible(false);
1055
1048
  oClocks.$().css("display", "");
1056
- oCalendar.$().css("display", "");
1049
+ oCalendar.$().css("display", "flex");
1057
1050
  }
1058
1051
  };
1059
1052
 
1060
1053
  function _handleAfterOpen(oEvent){
1061
- this.$("inner").attr("aria-expanded", true);
1062
1054
  this._oCalendar.focus();
1063
1055
 
1064
1056
  Device.media.attachHandler(this._handleWindowResize, this);
1057
+ this.fireAfterValueHelpOpen();
1065
1058
  }
1066
1059
 
1067
1060
  function _handleAfterClose(){
1068
1061
  this.removeStyleClass(InputBase.ICON_PRESSED_CSS_CLASS);
1069
- this.$("inner").attr("aria-expanded", false);
1070
1062
 
1071
1063
  this._oCalendar._closePickers();
1072
1064
  Device.media.detachHandler(this._handleWindowResize, this);
1065
+ this.fireAfterValueHelpClose();
1073
1066
  }
1074
1067
 
1075
1068
  function _getTimePattern(){
@@ -1108,15 +1101,9 @@ sap.ui.define([
1108
1101
  }
1109
1102
 
1110
1103
  function _handleCalendarSelect(oEvent) {
1111
- var oDelegate = {
1112
- onAfterRendering: function () {
1113
- this._oPopupContent.getCalendar().getAggregation("month")[0].removeEventDelegate(oDelegate, this);
1114
- this._oPopupContent.switchToTime();
1115
- this._oPopupContent.getClocks()._focusActiveButton();
1116
- }
1117
- };
1104
+ this._oPopupContent.switchToTime();
1105
+ this._oPopupContent.getClocks()._focusActiveButton();
1118
1106
  this._oOKButton.setEnabled(true);
1119
- this._oPopupContent.getCalendar().getAggregation("month")[0].addEventDelegate(oDelegate, this);
1120
1107
  }
1121
1108
 
1122
1109
  return DateTimePicker;
@@ -62,8 +62,8 @@ sap.ui.define(['sap/ui/core/Renderer', './DatePickerRenderer', './InputBaseRende
62
62
 
63
63
  // try to choose the date that is the longest when formatted
64
64
  oRm.text(oControl._getFormatter(true).format(
65
- new Date(2000, 10, 20, 10, 10, 10),
66
- sap.ui.getCore().getConfiguration().getTimezone()));
65
+ new Date(Date.UTC(2000, 10, 20, 10, 10, 10)),
66
+ "UTC"));
67
67
  oRm.close("span");
68
68
  };
69
69
 
@@ -164,7 +164,7 @@ function(
164
164
  * <li>If the <code>contentWidth</code> and/or <code>contentHeight</code> properties are set, the Dialog will try to fill those sizes.</li>
165
165
  * <li>If there is no specific sizing, the Dialog will try to adjust its size to its content.</li>
166
166
  * </ul>
167
- * When using the <code>sap.m.Dialog</code> in SAP Quartz themes, the breakpoints and layout paddings could be determined by the Dialog's width. To enable this concept and add responsive paddings to an element of the Dialog control, you have to add the following classes depending on your use case: <code>sapUiResponsivePadding--header</code>, <code>sapUiResponsivePadding--subHeader</code>, <code>sapUiResponsivePadding--content</code>, <code>sapUiResponsivePadding--footer</code>.
167
+ * When using the <code>sap.m.Dialog</code> in SAP Quartz and Horizon themes, the breakpoints and layout paddings could be determined by the Dialog's width. To enable this concept and add responsive paddings to an element of the Dialog control, you have to add the following classes depending on your use case: <code>sapUiResponsivePadding--header</code>, <code>sapUiResponsivePadding--subHeader</code>, <code>sapUiResponsivePadding--content</code>, <code>sapUiResponsivePadding--footer</code>.
168
168
  * <h4>Smartphones</h4>
169
169
  * If the Dialog has one or two actions, they will cover the entire footer. If there are more actions, they will overflow.
170
170
  * <h4>Tablets</h4>
@@ -175,7 +175,7 @@ function(
175
175
  *
176
176
  * @implements sap.ui.core.PopupInterface
177
177
  * @author SAP SE
178
- * @version 1.100.0
178
+ * @version 1.102.1
179
179
  *
180
180
  * @constructor
181
181
  * @public
@@ -325,13 +325,23 @@ function(
325
325
  customHeader: {type: "sap.m.IBar", multiple: false},
326
326
 
327
327
  /**
328
- * The button which is rendered to the left side (right side in RTL mode) of the <code>endButton</code> in the footer area inside the Dialog. As of version 1.21.1, there's a new aggregation <code>buttons</code> created with which more than 2 buttons can be added to the footer area of the Dialog. If the new <code>buttons</code> aggregation is set, any change made to this aggregation has no effect anymore. With the Belize themes when running on a phone, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered at the center of the footer area. While with the Quartz themes when running on a phone, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered on the right side of the footer area. When running on other platforms, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered at the right side (left side in RTL mode) of the footer area.
328
+ * The button which is rendered to the left side (right side in RTL mode) of the <code>endButton</code> in the footer area inside the Dialog.
329
+ * As of version 1.21.1, there's a new aggregation <code>buttons</code> created with which more than 2 buttons can be added to the footer area of the Dialog.
330
+ * If the new <code>buttons</code> aggregation is set, any change made to this aggregation has no effect anymore.
331
+ * With the Belize themes when running on a phone, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered at the center of the footer area.
332
+ * While with the Quartz themes when running on a phone, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered on the right side of the footer area.
333
+ * When running on other platforms, this <code>button</code> (and the <code>endButton</code> together when set) is (are) rendered at the right side (left side in RTL mode) of the footer area.
329
334
  * @since 1.15.1
330
335
  */
331
336
  beginButton: {type: "sap.m.Button", multiple: false},
332
337
 
333
338
  /**
334
- * The button which is rendered to the right side (left side in RTL mode) of the <code>beginButton</code> in the footer area inside the Dialog. As of version 1.21.1, there's a new aggregation <code>buttons</code> created with which more than 2 buttons can be added to the footer area of Dialog. If the new <code>buttons</code> aggregation is set, any change made to this aggregation has no effect anymore. With the Belize themes when running on a phone, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered at the center of the footer area. While with the Quartz themes when running on a phone, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered on the right side of the footer area. When running on other platforms, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered at the right side (left side in RTL mode) of the footer area.
339
+ * The button which is rendered to the right side (left side in RTL mode) of the <code>beginButton</code> in the footer area inside the Dialog.
340
+ * As of version 1.21.1, there's a new aggregation <code>buttons</code> created with which more than 2 buttons can be added to the footer area of Dialog.
341
+ * If the new <code>buttons</code> aggregation is set, any change made to this aggregation has no effect anymore.
342
+ * With the Belize themes when running on a phone, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered at the center of the footer area.
343
+ * While with the Quartz themes when running on a phone, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered on the right side of the footer area.
344
+ * When running on other platforms, this <code>button</code> (and the <code>beginButton</code> together when set) is (are) rendered at the right side (left side in RTL mode) of the footer area.
335
345
  * @since 1.15.1
336
346
  */
337
347
  endButton: {type: "sap.m.Button", multiple: false},
@@ -550,10 +560,13 @@ function(
550
560
  this._createToolbarButtons();
551
561
 
552
562
  if (Core.getConfiguration().getAccessibility() && this.getState() != ValueState.None) {
553
- var oValueState = new InvisibleText({text: this.getValueStateString(this.getState())});
563
+ if (!this._oValueState) {
564
+ this._oValueState = new InvisibleText();
554
565
 
555
- this.setAggregation("_valueState", oValueState);
556
- this.addAriaLabelledBy(oValueState.getId());
566
+ this.setAggregation("_valueState", this._oValueState);
567
+ this.addAriaLabelledBy(this._oValueState.getId());
568
+ }
569
+ this._oValueState.setText(this.getValueStateString(this.getState()));
557
570
  }
558
571
 
559
572
  // title alignment
@@ -1231,7 +1244,7 @@ function(
1231
1244
  $this = this.$(),
1232
1245
  iHeaderHeight = $this.find(".sapMDialogTitle").height() || 0,
1233
1246
  iSubHeaderHeight = $this.find(".sapMDialogSubHeader").height() || 0,
1234
- iFooterHeight = $this.find("footer").height() || 0,
1247
+ iFooterHeight = $this.find("> footer").height() || 0,
1235
1248
  iHeightAsPadding = iHeaderHeight + iSubHeaderHeight + iFooterHeight,
1236
1249
  iMaxHeight,
1237
1250
  iMaxWidth;
@@ -151,7 +151,7 @@ sap.ui.define([
151
151
  if (Device.system.desktop) {
152
152
 
153
153
  if (oDialog.getResizable() && !bStretch) {
154
- oRM.icon("sap-icon://resize-corner", ["sapMDialogResizeHandler"], { "title": "" });
154
+ oRM.icon("sap-icon://resize-corner", ["sapMDialogResizeHandler"], {"title": "", "aria-label": ""});
155
155
  }
156
156
 
157
157
  // Invisible element which is used to determine when desktop keyboard navigation
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.100.0
33
+ * @version 1.102.1
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @abstract
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.100.0
30
+ * @version 1.102.1
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.model.SimpleType
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.100.0
39
+ * @version 1.102.1
40
40
  *
41
41
  * @constructor
42
42
  * @public