@openui5/sap.m 1.97.1 → 1.98.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 (580) hide show
  1. package/.reuse/dep5 +25 -30
  2. package/THIRDPARTY.txt +13 -20
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -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 +4 -4
  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 +1 -1
  13. package/src/sap/m/Breadcrumbs.js +1 -1
  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 +1 -1
  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 +2 -22
  20. package/src/sap/m/ColorPalette.js +1 -1
  21. package/src/sap/m/ColorPalettePopover.js +1 -1
  22. package/src/sap/m/Column.js +26 -7
  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 +7 -4
  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 +3 -3
  32. package/src/sap/m/ComboBoxBase.js +5 -5
  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 +16 -12
  39. package/src/sap/m/DateRangeSelection.js +2 -2
  40. package/src/sap/m/DateTimeField.js +1 -1
  41. package/src/sap/m/DateTimeInput.js +1 -1
  42. package/src/sap/m/DateTimePicker.js +49 -13
  43. package/src/sap/m/Dialog.js +14 -7
  44. package/src/sap/m/DisplayListItem.js +1 -1
  45. package/src/sap/m/DraftIndicator.js +1 -1
  46. package/src/sap/m/DynamicDate.js +1 -1
  47. package/src/sap/m/DynamicDateFormat.js +3 -2
  48. package/src/sap/m/DynamicDateOption.js +1 -1
  49. package/src/sap/m/DynamicDateRange.js +131 -44
  50. package/src/sap/m/DynamicDateUtil.js +76 -3
  51. package/src/sap/m/DynamicDateValueHelpUIType.js +7 -2
  52. package/src/sap/m/ExpandableText.js +1 -1
  53. package/src/sap/m/FacetFilter.js +21 -18
  54. package/src/sap/m/FacetFilterItem.js +1 -1
  55. package/src/sap/m/FacetFilterList.js +1 -1
  56. package/src/sap/m/FeedContent.js +1 -1
  57. package/src/sap/m/FeedInput.js +1 -1
  58. package/src/sap/m/FeedListItem.js +1 -1
  59. package/src/sap/m/FeedListItemAction.js +1 -1
  60. package/src/sap/m/Fiori20Adapter.js +2 -2
  61. package/src/sap/m/FlexBox.js +1 -1
  62. package/src/sap/m/FlexItemData.js +1 -1
  63. package/src/sap/m/FormattedText.js +1 -1
  64. package/src/sap/m/GenericTag.js +1 -1
  65. package/src/sap/m/GenericTile.js +32 -5
  66. package/src/sap/m/GenericTileLineModeRenderer.js +4 -12
  67. package/src/sap/m/GenericTileRenderer.js +4 -1
  68. package/src/sap/m/GroupHeaderListItem.js +1 -1
  69. package/src/sap/m/GrowingList.js +1 -1
  70. package/src/sap/m/HBox.js +1 -1
  71. package/src/sap/m/HeaderContainer.js +1 -1
  72. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  73. package/src/sap/m/IconTabBar.js +1 -1
  74. package/src/sap/m/IconTabBarSelectList.js +12 -1
  75. package/src/sap/m/IconTabBarSelectListRenderer.js +1 -1
  76. package/src/sap/m/IconTabFilter.js +14 -9
  77. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  78. package/src/sap/m/IconTabHeader.js +55 -31
  79. package/src/sap/m/IconTabSeparator.js +1 -1
  80. package/src/sap/m/IllustratedMessage.js +619 -0
  81. package/src/sap/m/IllustratedMessageRenderer.js +55 -0
  82. package/src/sap/m/IllustratedMessageSize.js +64 -0
  83. package/src/sap/m/IllustratedMessageType.js +319 -0
  84. package/src/sap/m/Illustration.js +117 -0
  85. package/src/sap/m/IllustrationPool.js +392 -0
  86. package/src/sap/m/IllustrationRenderer.js +41 -0
  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 +25 -10
  90. package/src/sap/m/InputBase.js +1 -1
  91. package/src/sap/m/InputListItem.js +1 -1
  92. package/src/sap/m/Label.js +22 -3
  93. package/src/sap/m/LabelRenderer.js +7 -4
  94. package/src/sap/m/LightBox.js +1 -1
  95. package/src/sap/m/LightBoxItem.js +1 -1
  96. package/src/sap/m/Link.js +1 -1
  97. package/src/sap/m/List.js +1 -1
  98. package/src/sap/m/ListBase.js +1 -1
  99. package/src/sap/m/ListItemBase.js +1 -1
  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 +3 -3
  104. package/src/sap/m/MenuButton.js +6 -2
  105. package/src/sap/m/MenuItem.js +1 -1
  106. package/src/sap/m/MenuListItem.js +1 -1
  107. package/src/sap/m/MessageItem.js +1 -1
  108. package/src/sap/m/MessageListItem.js +1 -1
  109. package/src/sap/m/MessagePage.js +1 -1
  110. package/src/sap/m/MessagePopover.js +1 -1
  111. package/src/sap/m/MessagePopoverItem.js +1 -1
  112. package/src/sap/m/MessageStrip.js +1 -1
  113. package/src/sap/m/MessageToast.js +1 -1
  114. package/src/sap/m/MessageView.js +8 -3
  115. package/src/sap/m/MultiComboBox.js +11 -11
  116. package/src/sap/m/MultiEditField.js +1 -1
  117. package/src/sap/m/MultiInput.js +14 -18
  118. package/src/sap/m/NavContainer.js +1 -1
  119. package/src/sap/m/NewsContent.js +1 -1
  120. package/src/sap/m/NotificationList.js +1 -1
  121. package/src/sap/m/NotificationListBase.js +1 -1
  122. package/src/sap/m/NotificationListGroup.js +1 -1
  123. package/src/sap/m/NotificationListItem.js +1 -1
  124. package/src/sap/m/NumericContent.js +1 -1
  125. package/src/sap/m/NumericInput.js +138 -0
  126. package/src/sap/m/NumericInputRenderer.js +124 -0
  127. package/src/sap/m/ObjectAttribute.js +20 -15
  128. package/src/sap/m/ObjectAttributeRenderer.js +14 -7
  129. package/src/sap/m/ObjectHeader.js +1 -1
  130. package/src/sap/m/ObjectIdentifier.js +1 -1
  131. package/src/sap/m/ObjectListItem.js +1 -1
  132. package/src/sap/m/ObjectMarker.js +1 -1
  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 +1 -1
  136. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  137. package/src/sap/m/OverflowToolbarButton.js +1 -1
  138. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  139. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  140. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  141. package/src/sap/m/P13nColumnsItem.js +1 -1
  142. package/src/sap/m/P13nColumnsPanel.js +3 -1
  143. package/src/sap/m/P13nConditionPanel.js +1 -1
  144. package/src/sap/m/P13nDialog.js +3 -2
  145. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  146. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  147. package/src/sap/m/P13nFilterItem.js +1 -1
  148. package/src/sap/m/P13nFilterPanel.js +12 -7
  149. package/src/sap/m/P13nGroupItem.js +1 -1
  150. package/src/sap/m/P13nGroupPanel.js +3 -2
  151. package/src/sap/m/P13nItem.js +1 -1
  152. package/src/sap/m/P13nPanel.js +1 -1
  153. package/src/sap/m/P13nSelectionItem.js +1 -1
  154. package/src/sap/m/P13nSelectionPanel.js +1 -1
  155. package/src/sap/m/P13nSortItem.js +1 -1
  156. package/src/sap/m/P13nSortPanel.js +3 -2
  157. package/src/sap/m/PDFViewer.js +1 -1
  158. package/src/sap/m/Page.js +1 -1
  159. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  160. package/src/sap/m/PagingButton.js +1 -1
  161. package/src/sap/m/Panel.js +1 -1
  162. package/src/sap/m/PlanningCalendar.js +1 -1
  163. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  164. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  165. package/src/sap/m/PlanningCalendarRow.js +1 -1
  166. package/src/sap/m/PlanningCalendarView.js +1 -1
  167. package/src/sap/m/Popover.js +1 -1
  168. package/src/sap/m/ProgressIndicator.js +1 -1
  169. package/src/sap/m/PullToRefresh.js +1 -1
  170. package/src/sap/m/QuickView.js +1 -1
  171. package/src/sap/m/QuickViewBase.js +1 -1
  172. package/src/sap/m/QuickViewCard.js +1 -1
  173. package/src/sap/m/QuickViewGroup.js +1 -1
  174. package/src/sap/m/QuickViewGroupElement.js +1 -1
  175. package/src/sap/m/QuickViewPage.js +1 -1
  176. package/src/sap/m/RadioButton.js +1 -1
  177. package/src/sap/m/RadioButtonGroup.js +1 -1
  178. package/src/sap/m/RangeSlider.js +1 -1
  179. package/src/sap/m/RatingIndicator.js +1 -1
  180. package/src/sap/m/ResponsivePopover.js +1 -1
  181. package/src/sap/m/ResponsiveScale.js +1 -1
  182. package/src/sap/m/ScrollBar.js +1 -1
  183. package/src/sap/m/ScrollContainer.js +1 -1
  184. package/src/sap/m/SearchField.js +1 -1
  185. package/src/sap/m/SegmentedButton.js +2 -2
  186. package/src/sap/m/SegmentedButtonItem.js +1 -1
  187. package/src/sap/m/Select.js +9 -1
  188. package/src/sap/m/SelectDialog.js +2 -2
  189. package/src/sap/m/SelectDialogBase.js +1 -1
  190. package/src/sap/m/SelectList.js +1 -1
  191. package/src/sap/m/SelectionDetails.js +1 -1
  192. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  193. package/src/sap/m/SelectionDetailsItem.js +1 -1
  194. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  195. package/src/sap/m/Shell.js +4 -4
  196. package/src/sap/m/SimpleFixFlex.js +1 -1
  197. package/src/sap/m/SinglePlanningCalendar.js +39 -2
  198. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +13 -3
  201. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +6 -2
  202. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarView.js +13 -2
  204. package/src/sap/m/SinglePlanningCalendarWeekView.js +15 -4
  205. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  206. package/src/sap/m/SlideTile.js +16 -1
  207. package/src/sap/m/SlideTileRenderer.js +4 -2
  208. package/src/sap/m/Slider.js +1 -1
  209. package/src/sap/m/SliderTooltip.js +1 -1
  210. package/src/sap/m/SliderTooltipBase.js +1 -1
  211. package/src/sap/m/SliderTooltipContainer.js +1 -1
  212. package/src/sap/m/SplitApp.js +1 -1
  213. package/src/sap/m/SplitButton.js +1 -1
  214. package/src/sap/m/SplitContainer.js +1 -1
  215. package/src/sap/m/StandardDynamicDateOption.js +126 -9
  216. package/src/sap/m/StandardListItem.js +34 -1
  217. package/src/sap/m/StandardListItemRenderer.js +4 -2
  218. package/src/sap/m/StandardTile.js +1 -1
  219. package/src/sap/m/StandardTreeItem.js +1 -1
  220. package/src/sap/m/StepInput.js +60 -158
  221. package/src/sap/m/SuggestionItem.js +1 -1
  222. package/src/sap/m/SuggestionsPopover.js +1 -1
  223. package/src/sap/m/Switch.js +16 -3
  224. package/src/sap/m/TabContainer.js +1 -1
  225. package/src/sap/m/TabContainerItem.js +1 -1
  226. package/src/sap/m/TabStrip.js +1 -1
  227. package/src/sap/m/TabStripItem.js +1 -1
  228. package/src/sap/m/Table.js +44 -3
  229. package/src/sap/m/TablePersoController.js +1 -1
  230. package/src/sap/m/TablePersoDialog.js +1 -1
  231. package/src/sap/m/TablePersoProvider.js +1 -1
  232. package/src/sap/m/TableRenderer.js +3 -2
  233. package/src/sap/m/TableSelectDialog.js +2 -2
  234. package/src/sap/m/Text.js +1 -1
  235. package/src/sap/m/TextArea.js +3 -38
  236. package/src/sap/m/Tile.js +1 -1
  237. package/src/sap/m/TileContainer.js +1 -1
  238. package/src/sap/m/TileContent.js +1 -1
  239. package/src/sap/m/TimePicker.js +44 -15
  240. package/src/sap/m/TimePickerClock.js +1 -1
  241. package/src/sap/m/TimePickerClocks.js +6 -1
  242. package/src/sap/m/TimePickerClocksRenderer.js +2 -0
  243. package/src/sap/m/TimePickerInputs.js +6 -1
  244. package/src/sap/m/TimePickerInputsRenderer.js +2 -0
  245. package/src/sap/m/TimePickerInternals.js +51 -3
  246. package/src/sap/m/TimePickerSlider.js +1 -1
  247. package/src/sap/m/TimePickerSliders.js +1 -1
  248. package/src/sap/m/Title.js +1 -1
  249. package/src/sap/m/TitlePropagationSupport.js +1 -1
  250. package/src/sap/m/ToggleButton.js +1 -1
  251. package/src/sap/m/Token.js +1 -1
  252. package/src/sap/m/Tokenizer.js +1 -1
  253. package/src/sap/m/Toolbar.js +1 -1
  254. package/src/sap/m/ToolbarLayoutData.js +1 -1
  255. package/src/sap/m/ToolbarSeparator.js +1 -1
  256. package/src/sap/m/ToolbarSpacer.js +1 -1
  257. package/src/sap/m/Tree.js +1 -1
  258. package/src/sap/m/TreeItemBase.js +1 -1
  259. package/src/sap/m/UploadCollection.js +1 -1
  260. package/src/sap/m/UploadCollectionItem.js +1 -1
  261. package/src/sap/m/UploadCollectionParameter.js +1 -1
  262. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  263. package/src/sap/m/VBox.js +1 -1
  264. package/src/sap/m/ValueStateHeader.js +1 -1
  265. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  266. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  267. package/src/sap/m/ViewSettingsDialog.js +1 -1
  268. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  269. package/src/sap/m/ViewSettingsItem.js +1 -1
  270. package/src/sap/m/VisibleItem.js +1 -1
  271. package/src/sap/m/WheelSlider.js +1 -1
  272. package/src/sap/m/WheelSliderContainer.js +1 -1
  273. package/src/sap/m/Wizard.js +39 -19
  274. package/src/sap/m/WizardProgressNavigator.js +1 -1
  275. package/src/sap/m/WizardStep.js +1 -1
  276. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  277. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  278. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  279. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  280. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  281. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  282. package/src/sap/m/delegate/ValueStateMessage.js +1 -1
  283. package/src/sap/m/designtime/Button.designtime.js +1 -1
  284. package/src/sap/m/designtime/StandardListItem.designtime.js +5 -1
  285. package/src/sap/m/library.js +288 -49
  286. package/src/sap/m/messagebundle.properties +273 -59
  287. package/src/sap/m/messagebundle_ar.properties +147 -29
  288. package/src/sap/m/messagebundle_bg.properties +155 -37
  289. package/src/sap/m/messagebundle_ca.properties +164 -46
  290. package/src/sap/m/messagebundle_cs.properties +167 -49
  291. package/src/sap/m/messagebundle_cy.properties +155 -37
  292. package/src/sap/m/messagebundle_da.properties +157 -39
  293. package/src/sap/m/messagebundle_de.properties +147 -29
  294. package/src/sap/m/messagebundle_el.properties +188 -70
  295. package/src/sap/m/messagebundle_en.properties +190 -72
  296. package/src/sap/m/messagebundle_en_GB.properties +190 -72
  297. package/src/sap/m/messagebundle_en_US_sappsd.properties +187 -71
  298. package/src/sap/m/messagebundle_en_US_saptrc.properties +189 -71
  299. package/src/sap/m/messagebundle_es.properties +174 -56
  300. package/src/sap/m/messagebundle_es_MX.properties +170 -52
  301. package/src/sap/m/messagebundle_et.properties +146 -28
  302. package/src/sap/m/messagebundle_fi.properties +141 -23
  303. package/src/sap/m/messagebundle_fr.properties +156 -38
  304. package/src/sap/m/messagebundle_fr_CA.properties +152 -34
  305. package/src/sap/m/messagebundle_hi.properties +150 -32
  306. package/src/sap/m/messagebundle_hr.properties +159 -41
  307. package/src/sap/m/messagebundle_hu.properties +153 -35
  308. package/src/sap/m/messagebundle_id.properties +202 -84
  309. package/src/sap/m/messagebundle_it.properties +159 -41
  310. package/src/sap/m/messagebundle_iw.properties +157 -39
  311. package/src/sap/m/messagebundle_ja.properties +139 -21
  312. package/src/sap/m/messagebundle_kk.properties +129 -11
  313. package/src/sap/m/messagebundle_ko.properties +156 -38
  314. package/src/sap/m/messagebundle_lt.properties +135 -17
  315. package/src/sap/m/messagebundle_lv.properties +154 -36
  316. package/src/sap/m/messagebundle_ms.properties +188 -70
  317. package/src/sap/m/messagebundle_nl.properties +153 -35
  318. package/src/sap/m/messagebundle_no.properties +151 -33
  319. package/src/sap/m/messagebundle_pl.properties +157 -39
  320. package/src/sap/m/messagebundle_pt.properties +164 -46
  321. package/src/sap/m/messagebundle_pt_PT.properties +151 -33
  322. package/src/sap/m/messagebundle_ro.properties +159 -41
  323. package/src/sap/m/messagebundle_ru.properties +156 -38
  324. package/src/sap/m/messagebundle_sh.properties +147 -29
  325. package/src/sap/m/messagebundle_sk.properties +154 -36
  326. package/src/sap/m/messagebundle_sl.properties +151 -33
  327. package/src/sap/m/messagebundle_sv.properties +146 -28
  328. package/src/sap/m/messagebundle_th.properties +147 -29
  329. package/src/sap/m/messagebundle_tr.properties +152 -34
  330. package/src/sap/m/messagebundle_uk.properties +145 -27
  331. package/src/sap/m/messagebundle_vi.properties +148 -30
  332. package/src/sap/m/messagebundle_zh_CN.properties +147 -29
  333. package/src/sap/m/messagebundle_zh_TW.properties +154 -36
  334. package/src/sap/m/p13n/AbstractContainer.js +16 -16
  335. package/src/sap/m/p13n/AbstractContainerItem.js +7 -8
  336. package/src/sap/m/p13n/BasePanel.js +37 -19
  337. package/src/sap/m/p13n/Container.js +8 -14
  338. package/src/sap/m/p13n/GroupPanel.js +31 -6
  339. package/src/sap/m/p13n/Popup.js +22 -19
  340. package/src/sap/m/p13n/QueryPanel.js +2 -3
  341. package/src/sap/m/p13n/SelectionPanel.js +14 -11
  342. package/src/sap/m/p13n/SortPanel.js +30 -6
  343. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  344. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  345. package/src/sap/m/plugins/PasteProvider.js +1 -1
  346. package/src/sap/m/plugins/PluginBase.js +1 -1
  347. package/src/sap/m/routing/RouteMatchedHandler.js +1 -1
  348. package/src/sap/m/routing/Router.js +9 -7
  349. package/src/sap/m/routing/TargetHandler.js +4 -4
  350. package/src/sap/m/routing/Targets.js +52 -42
  351. package/src/sap/m/routing/async/Targets.js +3 -3
  352. package/src/sap/m/routing/sync/Targets.js +3 -3
  353. package/src/sap/m/semantic/AddAction.js +1 -1
  354. package/src/sap/m/semantic/CancelAction.js +1 -1
  355. package/src/sap/m/semantic/DeleteAction.js +1 -1
  356. package/src/sap/m/semantic/DetailPage.js +1 -1
  357. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  358. package/src/sap/m/semantic/EditAction.js +1 -1
  359. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  360. package/src/sap/m/semantic/FilterAction.js +1 -1
  361. package/src/sap/m/semantic/FilterSelect.js +1 -1
  362. package/src/sap/m/semantic/FlagAction.js +1 -1
  363. package/src/sap/m/semantic/ForwardAction.js +1 -1
  364. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  365. package/src/sap/m/semantic/GroupAction.js +1 -1
  366. package/src/sap/m/semantic/GroupSelect.js +1 -1
  367. package/src/sap/m/semantic/MainAction.js +1 -1
  368. package/src/sap/m/semantic/MasterPage.js +1 -1
  369. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  370. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  371. package/src/sap/m/semantic/NegativeAction.js +1 -1
  372. package/src/sap/m/semantic/OpenInAction.js +1 -1
  373. package/src/sap/m/semantic/PositiveAction.js +1 -1
  374. package/src/sap/m/semantic/PrintAction.js +1 -1
  375. package/src/sap/m/semantic/SaveAction.js +1 -1
  376. package/src/sap/m/semantic/Segment.js +1 -1
  377. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  378. package/src/sap/m/semantic/SemanticButton.js +1 -1
  379. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  380. package/src/sap/m/semantic/SemanticControl.js +1 -1
  381. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  382. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  383. package/src/sap/m/semantic/SemanticPage.js +1 -1
  384. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  385. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  386. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  387. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  388. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  389. package/src/sap/m/semantic/ShareMenu.js +1 -1
  390. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  391. package/src/sap/m/semantic/SortAction.js +1 -1
  392. package/src/sap/m/semantic/SortSelect.js +1 -1
  393. package/src/sap/m/table/ActionItem.js +1 -1
  394. package/src/sap/m/table/ColumnMenu.js +49 -48
  395. package/src/sap/m/table/ColumnMenuEntry.js +1 -1
  396. package/src/sap/m/table/Item.js +1 -1
  397. package/src/sap/m/table/ItemBase.js +1 -1
  398. package/src/sap/m/table/QuickAction.js +1 -1
  399. package/src/sap/m/table/QuickActionBase.js +1 -1
  400. package/src/sap/m/table/Util.js +2 -2
  401. package/src/sap/m/themes/base/ColumnListItem.less +13 -5
  402. package/src/sap/m/themes/base/ComboBoxBase.less +18 -7
  403. package/src/sap/m/themes/base/DateTimePicker.less +8 -3
  404. package/src/sap/m/themes/base/DynamicDateRange.less +8 -0
  405. package/src/sap/m/themes/base/GenericTile.less +18 -29
  406. package/src/sap/m/themes/base/IconTabBar.less +4 -3
  407. package/src/sap/m/themes/base/IllustratedMessage.less +110 -0
  408. package/src/sap/m/themes/base/Illustration.less +58 -0
  409. package/src/sap/m/themes/base/Label.less +10 -3
  410. package/src/sap/m/themes/base/NavContainer.less +0 -9
  411. package/src/sap/m/themes/base/ObjectAttribute.less +4 -12
  412. package/src/sap/m/themes/base/ObjectStatus.less +4 -4
  413. package/src/sap/m/themes/base/Page.less +0 -1
  414. package/src/sap/m/themes/base/RadioButton.less +7 -2
  415. package/src/sap/m/themes/base/SegmentedButton.less +0 -16
  416. package/src/sap/m/themes/base/StandardListItem.less +4 -0
  417. package/src/sap/m/themes/base/SuggestionsPopover.less +2 -1
  418. package/src/sap/m/themes/base/Table.less +1 -1
  419. package/src/sap/m/themes/base/TimePickerClock.less +4 -0
  420. package/src/sap/m/themes/base/TimePickerClocks.less +3 -3
  421. package/src/sap/m/themes/base/TimePickerInputs.less +4 -0
  422. package/src/sap/m/themes/base/WizardProgressNavigator.less +17 -16
  423. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-AddColumn.svg +37 -0
  424. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-AddPeople.svg +31 -0
  425. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-BalloonSky.svg +33 -0
  426. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-BeforeSearch.svg +13 -0
  427. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Connection.svg +18 -0
  428. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -0
  429. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +21 -0
  430. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyPlanningCalendar.svg +78 -0
  431. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ErrorScreen.svg +34 -0
  432. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-FilterTable.svg +41 -0
  433. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-GroupTable.svg +67 -0
  434. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NewMail.svg +21 -0
  435. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoActivities.svg +18 -0
  436. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoData.svg +10 -0
  437. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +18 -0
  438. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoFilterResults.svg +24 -0
  439. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoMail.svg +11 -0
  440. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoMail_v1.svg +22 -0
  441. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +14 -0
  442. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoSavedItems.svg +13 -0
  443. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoSavedItems_v1.svg +36 -0
  444. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoSearchResults.svg +15 -0
  445. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoTasks.svg +18 -0
  446. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoTasks_v1.svg +53 -0
  447. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-PageNotFound.svg +29 -0
  448. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ReloadScreen.svg +34 -0
  449. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ResizeColumn.svg +41 -0
  450. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SearchEarth.svg +18 -0
  451. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SearchFolder.svg +27 -0
  452. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBalloon.svg +17 -0
  453. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +10 -0
  454. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +47 -0
  455. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCheckmark.svg +6 -0
  456. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleConnection.svg +18 -0
  457. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleEmptyDoc.svg +17 -0
  458. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleEmptyList.svg +10 -0
  459. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleError.svg +10 -0
  460. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleMagnifier.svg +10 -0
  461. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleMail.svg +13 -0
  462. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleNoSavedItems.svg +17 -0
  463. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleNotFoundMagnifier.svg +21 -0
  464. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleReload.svg +11 -0
  465. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleTask.svg +23 -0
  466. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +23 -0
  467. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SortColumn.svg +39 -0
  468. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessScreen.svg +32 -0
  469. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +26 -0
  470. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoad.svg +11 -0
  471. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToUpload.svg +13 -0
  472. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UploadCollection.svg +32 -0
  473. package/src/sap/m/themes/base/illustrations/sapIllus-Patterns.svg +20 -0
  474. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-AddColumn.svg +48 -0
  475. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-AddPeople.svg +30 -0
  476. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-BalloonSky.svg +42 -0
  477. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-BeforeSearch.svg +31 -0
  478. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +31 -0
  479. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -0
  480. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +27 -0
  481. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyPlanningCalendar.svg +91 -0
  482. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ErrorScreen.svg +78 -0
  483. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-FilterTable.svg +56 -0
  484. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-GroupTable.svg +76 -0
  485. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NewMail.svg +54 -0
  486. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoActivities.svg +28 -0
  487. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +23 -0
  488. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +32 -0
  489. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoFilterResults.svg +39 -0
  490. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoMail.svg +23 -0
  491. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoMail_v1.svg +55 -0
  492. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoNotifications.svg +36 -0
  493. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoSavedItems.svg +36 -0
  494. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoSavedItems_v1.svg +39 -0
  495. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoSearchResults.svg +15 -0
  496. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoTasks.svg +22 -0
  497. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoTasks_v1.svg +90 -0
  498. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-PageNotFound.svg +33 -0
  499. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ReloadScreen.svg +80 -0
  500. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ResizeColumn.svg +52 -0
  501. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SearchEarth.svg +30 -0
  502. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SearchFolder.svg +36 -0
  503. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBalloon.svg +20 -0
  504. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +13 -0
  505. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -0
  506. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCheckmark.svg +9 -0
  507. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleConnection.svg +22 -0
  508. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleEmptyDoc.svg +20 -0
  509. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleEmptyList.svg +13 -0
  510. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleError.svg +13 -0
  511. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleMagnifier.svg +13 -0
  512. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleMail.svg +16 -0
  513. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleNoSavedItems.svg +27 -0
  514. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleNotFoundMagnifier.svg +24 -0
  515. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleReload.svg +14 -0
  516. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleTask.svg +19 -0
  517. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +43 -0
  518. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SortColumn.svg +50 -0
  519. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessScreen.svg +78 -0
  520. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +54 -0
  521. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoad.svg +23 -0
  522. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToUpload.svg +13 -0
  523. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UploadCollection.svg +30 -0
  524. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-AddColumn.svg +37 -0
  525. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-AddPeople.svg +31 -0
  526. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-BalloonSky.svg +29 -0
  527. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-BeforeSearch.svg +10 -0
  528. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Connection.svg +22 -0
  529. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -0
  530. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +21 -0
  531. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyPlanningCalendar.svg +78 -0
  532. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ErrorScreen.svg +32 -0
  533. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-FilterTable.svg +46 -0
  534. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-GroupTable.svg +67 -0
  535. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NewMail.svg +18 -0
  536. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoActivities.svg +23 -0
  537. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoData.svg +9 -0
  538. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +22 -0
  539. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoFilterResults.svg +25 -0
  540. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoMail.svg +10 -0
  541. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoMail_v1.svg +16 -0
  542. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +15 -0
  543. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoSavedItems.svg +9 -0
  544. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoSavedItems_v1.svg +33 -0
  545. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoSearchResults.svg +13 -0
  546. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoTasks.svg +20 -0
  547. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoTasks_v1.svg +15 -0
  548. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-PageNotFound.svg +31 -0
  549. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ReloadScreen.svg +32 -0
  550. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ResizeColumn.svg +41 -0
  551. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SearchEarth.svg +55 -0
  552. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SearchFolder.svg +25 -0
  553. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBalloon.svg +7 -0
  554. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +9 -0
  555. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +46 -0
  556. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCheckmark.svg +5 -0
  557. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleConnection.svg +10 -0
  558. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleEmptyDoc.svg +6 -0
  559. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleEmptyList.svg +6 -0
  560. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleError.svg +9 -0
  561. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleMagnifier.svg +9 -0
  562. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleMail.svg +12 -0
  563. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleNoSavedItems.svg +23 -0
  564. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleNotFoundMagnifier.svg +10 -0
  565. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleReload.svg +7 -0
  566. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleTask.svg +22 -0
  567. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +22 -0
  568. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SortColumn.svg +39 -0
  569. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessScreen.svg +32 -0
  570. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +24 -0
  571. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoad.svg +10 -0
  572. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToUpload.svg +10 -0
  573. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UploadCollection.svg +31 -0
  574. package/src/sap/m/themes/base/library.source.less +2 -0
  575. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +12 -0
  576. package/src/sap/m/themes/sap_hcb/ObjectHeader.less +0 -21
  577. package/src/sap/m/themes/sap_hcb/SegmentedButton.less +0 -19
  578. package/src/sap/m/upload/UploadSet.js +62 -4
  579. package/src/sap/m/upload/UploadSetItem.js +14 -2
  580. package/src/sap/m/upload/Uploader.js +25 -3
@@ -0,0 +1,619 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ // Provides control sap.m.IllustratedMessage.
8
+ sap.ui.define([
9
+ "./library",
10
+ "sap/m/Text",
11
+ "sap/m/Title",
12
+ "sap/m/FormattedText",
13
+ "sap/m/Illustration",
14
+ "sap/ui/core/Control",
15
+ "sap/ui/core/Core",
16
+ 'sap/ui/core/library',
17
+ "sap/ui/core/ResizeHandler",
18
+ "sap/ui/thirdparty/jquery",
19
+ "./IllustratedMessageRenderer"
20
+ ], function(
21
+ library,
22
+ Text,
23
+ Title,
24
+ FormattedText,
25
+ Illustration,
26
+ Control,
27
+ Core,
28
+ coreLibrary,
29
+ ResizeHandler,
30
+ jQuery,
31
+ IllustratedMessageRenderer
32
+ ) {
33
+ "use strict";
34
+
35
+ // shortcut for sap.m.IllustratedMessageSize
36
+ var IllustratedMessageSize = library.IllustratedMessageSize;
37
+
38
+ // shortcut for sap.m.IllustratedMessageType
39
+ var IllustratedMessageType = library.IllustratedMessageType;
40
+
41
+ // shortcut for sap.ui.core.IllustratedMessageType
42
+ var TextAlign = coreLibrary.TextAlign;
43
+
44
+
45
+ /**
46
+ * Constructor for a new <code>IllustratedMessage</code>.
47
+ *
48
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
49
+ * @param {object} [mSettings] Initial settings for the new control
50
+ *
51
+ * @class
52
+ * A combination of message and illustration to represent an empty or a success state.
53
+ *
54
+ * <h3>Overview</h3>
55
+ *
56
+ * An <code>IllustratedMessage</code> is a recommended combination of a solution-oriented message,
57
+ * an engaging illustration, and conversational tone to better communicate an empty or a success state
58
+ * than just show a message alone.
59
+ * Empty states are moments in the user experience where there’s no data to display.
60
+ * Success states are occasions to celebrate and reward a user’s special accomplishment or the completion of an important task.
61
+ *
62
+ * The <code>IllustratedMessage</code> control is meant to be used inside container controls,
63
+ * for example a <code>Card</code>, a <code>Dialog</code>, or a <code>Page</code>.
64
+ *
65
+ * <h3>Structure</h3>
66
+ *
67
+ * The <code>IllustratedMessage</code> consists of the following elements, which are displayed below
68
+ * each other in the following order:
69
+ * <ul>
70
+ * <li>Illustration</li>
71
+ * <li>Title</li>
72
+ * <li>Description</li>
73
+ * <li>Additional Content</li>
74
+ * </ul>
75
+ *
76
+ * <h3>Responsive Behavior</h3>
77
+ *
78
+ * The <code>IllustratedMessage</code> control can adapt depending on the API settings provided by the app developer
79
+ * and the available space of its parent container. Some of the structural elements are displayed differently or
80
+ * are omitted in the different breakpoint sizes (XS, S, M, L).
81
+ *
82
+ * @extends sap.ui.core.Control
83
+ *
84
+ * @author SAP SE
85
+ * @version 1.98.0
86
+ *
87
+ * @constructor
88
+ * @public
89
+ * @since 1.98
90
+ * @alias sap.m.IllustratedMessage
91
+ * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
92
+ */
93
+ var IllustratedMessage = Control.extend("sap.m.IllustratedMessage", /** @lends sap.m.IllustratedMessage.prototype */ {
94
+ metadata: {
95
+ library: "sap.m",
96
+ properties: {
97
+
98
+ /**
99
+ * Defines the description displayed below the title.
100
+ *
101
+ * If there is no initial input from the app developer and the default illustration set is being used,
102
+ * a default description for the current illustration type is going to be displayed. The default
103
+ * description is stored in the <code>sap.m</code> resource bundle.
104
+ *
105
+ * @since 1.98
106
+ */
107
+ description : {type : "string", group : "Misc", defaultValue : ""},
108
+
109
+ /**
110
+ * Defines whether the value set in the <code>description</code> property is displayed
111
+ * as formatted text in HTML format.
112
+ *
113
+ * For details regarding supported HTML tags, see {@link sap.m.FormattedText}.
114
+ * @since 1.98
115
+ */
116
+ enableFormattedText: { type: "boolean", group: "Appearance", defaultValue: false },
117
+
118
+ /**
119
+ * Determines which illustration breakpoint variant is used.
120
+ *
121
+ * As <code>IllustratedMessage</code> adapts itself around the <code>Illustration</code>, the other
122
+ * elements of the control are displayed differently on the different breakpoints/illustration sizes.
123
+ *
124
+ * @since 1.98
125
+ */
126
+ illustrationSize : {type: "sap.m.IllustratedMessageSize", group: "Appearance", defaultValue: IllustratedMessageSize.Auto},
127
+
128
+ /**
129
+ * Determines which illustration type is displayed.
130
+ *
131
+ * <b>Note:</b> The {@link sap.m.IllustratedMessageType} enumeration contains a default illustration set.
132
+ * If you want to use another illustration set, you have to register it in the {@link sap.m.IllustrationPool}.
133
+ *
134
+ * Example input for the <code>illustrationType</code> property is <code>sapIllus-UnableToLoad</code>.
135
+ * The logic behind this format is as follows:
136
+ * <ul>
137
+ * <li>First is the the illustration set - sapIllus</li>
138
+ * <li>Second is the illustration type - UnableToLoad</li>
139
+ * </ul>
140
+ *
141
+ * @since 1.98
142
+ */
143
+ illustrationType : {type: "string", group: "Appearance", defaultValue: IllustratedMessageType.NoSearchResults},
144
+
145
+ /**
146
+ * Defines the title that is displayed below the illustration.
147
+ *
148
+ * If there is no initial input from the app developer and the default illustration set is being used,
149
+ * a default title is displayed corresponding to the current <code>illustrationType</code>.
150
+ *
151
+ * @since 1.98
152
+ */
153
+ title: {type: "string", group: "Misc", defaultValue: ""}
154
+ },
155
+ aggregations: {
156
+
157
+ /**
158
+ * Defines the controls placed below the description as additional content.
159
+ *
160
+ * <b>Note:</b> Not displayed when <code>illustrationSize</code> is set to <code>Base</code>.
161
+ *
162
+ * @since 1.98
163
+ */
164
+ additionalContent: {type: "sap.m.Button", multiple: true},
165
+
166
+ /**
167
+ * The description displayed under the title when <code>enableFormattedText</code> is <code>true</code>.
168
+ *
169
+ * @since 1.98
170
+ */
171
+ _formattedText: {type: "sap.m.FormattedText", multiple: false, visibility: "hidden" },
172
+
173
+ /**
174
+ * Defines the illustration used, according to the <code>illustrationType</code> property
175
+ * and the current state of <code>IllustratedMessage</code>.
176
+ *
177
+ * It is placed above all other aggregations. Not displayed <code>illustrationSize</code> is set to <code>Base</code>.
178
+ *
179
+ * @since 1.98
180
+ */
181
+ _illustration: {type: "sap.m.Illustration", visibility: "hidden", multiple: false },
182
+
183
+ /**
184
+ * The description displayed under the title when <code>enableFormattedText</code> is <code>false</code>.
185
+ *
186
+ * @since 1.98
187
+ */
188
+ _text: {type: "sap.m.Text", multiple: false, visibility: "hidden"},
189
+
190
+ /**
191
+ * The text displayed under the illustration.
192
+ *
193
+ * @since 1.98
194
+ */
195
+ _title: {type: "sap.m.Title", multiple: false, visibility: "hidden"}
196
+ },
197
+ dnd: { draggable: false, droppable: true }
198
+ }
199
+ });
200
+
201
+ /**
202
+ * STATIC MEMBERS
203
+ */
204
+
205
+ IllustratedMessage.ORIGINAL_TEXTS = {
206
+ UnableToLoad: "UnableToLoad",
207
+ UnableToUpload: "UnableToUpload",
208
+ NoActivities: "NoActivities",
209
+ BeforeSearch: "BeforeSearch",
210
+ NoSearchResults: "NoSearchResults",
211
+ NoEntries: "NoEntries",
212
+ NoData: "NoData",
213
+ NoNotifications: "NoNotifications",
214
+ BalloonSky: "BalloonSky",
215
+ SuccessScreen: "SuccessScreen",
216
+ NoMail: "NoMail",
217
+ NoSavedItems: "NoSavedItems",
218
+ NoTasks: "NoTasks"
219
+ };
220
+
221
+ IllustratedMessage.FALLBACK_TEXTS = {
222
+ ReloadScreen: IllustratedMessage.ORIGINAL_TEXTS.UnableToLoad,
223
+ Connection: IllustratedMessage.ORIGINAL_TEXTS.UnableToLoad,
224
+ ErrorScreen: IllustratedMessage.ORIGINAL_TEXTS.UnableToUpload,
225
+ EmptyCalendar: IllustratedMessage.ORIGINAL_TEXTS.NoActivities,
226
+ SearchEarth: IllustratedMessage.ORIGINAL_TEXTS.BeforeSearch,
227
+ SearchFolder: IllustratedMessage.ORIGINAL_TEXTS.NoSearchResults,
228
+ EmptyList: IllustratedMessage.ORIGINAL_TEXTS.NoEntries,
229
+ Tent: IllustratedMessage.ORIGINAL_TEXTS.NoData,
230
+ SleepingBell: IllustratedMessage.ORIGINAL_TEXTS.NoNotifications,
231
+ SimpleBalloon: IllustratedMessage.ORIGINAL_TEXTS.BalloonSky,
232
+ SimpleBell: IllustratedMessage.ORIGINAL_TEXTS.NoNotifications,
233
+ SimpleCalendar: IllustratedMessage.ORIGINAL_TEXTS.NoActivities,
234
+ SimpleCheckmark: IllustratedMessage.ORIGINAL_TEXTS.SuccessScreen,
235
+ SimpleConnection: IllustratedMessage.ORIGINAL_TEXTS.UnableToLoad,
236
+ SimpleEmptyDoc: IllustratedMessage.ORIGINAL_TEXTS.NoData,
237
+ SimpleEmptyList: IllustratedMessage.ORIGINAL_TEXTS.NoEntries,
238
+ SimpleError: IllustratedMessage.ORIGINAL_TEXTS.UnableToUpload,
239
+ SimpleMagnifier: IllustratedMessage.ORIGINAL_TEXTS.BeforeSearch,
240
+ SimpleMail: IllustratedMessage.ORIGINAL_TEXTS.NoMail,
241
+ SimpleNoSavedItems: IllustratedMessage.ORIGINAL_TEXTS.NoSavedItems,
242
+ SimpleNotFoundMagnifier: IllustratedMessage.ORIGINAL_TEXTS.NoSearchResults,
243
+ SimpleReload: IllustratedMessage.ORIGINAL_TEXTS.UnableToLoad,
244
+ SimpleTask: IllustratedMessage.ORIGINAL_TEXTS.NoTasks
245
+ };
246
+
247
+ IllustratedMessage.PREPENDS = {
248
+ DESCRIPTION: "IllustratedMessage_DESCRIPTION_",
249
+ TITLE: "IllustratedMessage_TITLE_"
250
+ };
251
+
252
+ IllustratedMessage.BREAK_POINTS = {
253
+ DIALOG: 679,
254
+ SPOT: 319,
255
+ BASE: 259
256
+ };
257
+
258
+ IllustratedMessage.MEDIA = {
259
+ BASE: "sapFIllustratedMessage-Base",
260
+ SPOT: "sapFIllustratedMessage-Spot",
261
+ DIALOG: "sapFIllustratedMessage-Dialog",
262
+ SCENE: "sapFIllustratedMessage-Scene"
263
+ };
264
+
265
+ IllustratedMessage.RESIZE_HANDLER_ID = {
266
+ CONTENT: "_sContentResizeHandlerId"
267
+ };
268
+
269
+ /**
270
+ * LIFECYCLE METHODS
271
+ */
272
+
273
+ IllustratedMessage.prototype.init = function () {
274
+ this._updateInternalIllustrationSetAndType(this.getIllustrationType());
275
+ };
276
+
277
+ IllustratedMessage.prototype.onBeforeRendering = function () {
278
+ this._detachResizeHandlers();
279
+ };
280
+
281
+ IllustratedMessage.prototype.onAfterRendering = function () {
282
+ this._updateDomSize();
283
+ this._attachResizeHandlers();
284
+ this._preventWidowWords(this._getTitle().getDomRef());
285
+ this._preventWidowWords(this._getDescription().getDomRef());
286
+ };
287
+
288
+ IllustratedMessage.prototype.exit = function () {
289
+ this._detachResizeHandlers();
290
+ };
291
+
292
+ /**
293
+ * GETTERS / SETTERS
294
+ */
295
+
296
+ IllustratedMessage.prototype.setIllustrationType = function (sValue) {
297
+ if (this.getIllustrationType() === sValue) {
298
+ return this;
299
+ }
300
+
301
+ this._updateInternalIllustrationSetAndType(sValue);
302
+
303
+ return this.setProperty("illustrationType", sValue);
304
+ };
305
+
306
+ /**
307
+ * Gets the default text for the description aggregation.
308
+ * @private
309
+ * @returns {string} The default text.
310
+ */
311
+ IllustratedMessage.prototype._getDefaultDescription = function () {
312
+ return this._findDefaultText(IllustratedMessage.PREPENDS.DESCRIPTION);
313
+ };
314
+
315
+ /**
316
+ * Gets the default text for the title aggregation.
317
+ * @private
318
+ * @returns {string} The default text.
319
+ */
320
+ IllustratedMessage.prototype._getDefaultTitle = function () {
321
+ return this._findDefaultText(IllustratedMessage.PREPENDS.TITLE);
322
+ };
323
+
324
+ /**
325
+ * Gets the default text for the title or the description aggregation.
326
+ * @private
327
+ * @param {string} sPrepend - prepend being either the title or the description for the bundle key
328
+ * @returns {string} The default text.
329
+ */
330
+ IllustratedMessage.prototype._findDefaultText = function(sPrepend) {
331
+ var oBundle = this._getResourceBundle();
332
+
333
+ // first we try to access the "original" text
334
+ // then try to fallback to "original" text without appended version (_v*** after the original type key)
335
+ // then try to fallback to "original" text from the IllustratedMessage.FALLBACK_TEXTS map
336
+ return oBundle.getText(sPrepend + this._sIllustrationType, null, true) ||
337
+ oBundle.getText(sPrepend + this._sIllustrationType.substr(0, this._sIllustrationType.indexOf('_v')) , null, true) ||
338
+ oBundle.getText(sPrepend + IllustratedMessage.FALLBACK_TEXTS[this._sIllustrationType], null, true);
339
+ };
340
+
341
+ /**
342
+ * Gets the correct aggregation for the description.
343
+ * If the enableFormattedText property is true, the function returns
344
+ * sap.m.FormattedText. If it's false, it returns sap.m.Text.
345
+ * @private
346
+ * @returns {sap.m.Text|sap.m.FormattedText} The aggregation which will be used as description
347
+ */
348
+ IllustratedMessage.prototype._getDescription = function () {
349
+ return this.getEnableFormattedText() ? this._getFormattedText() : this._getText();
350
+ };
351
+
352
+ /**
353
+ * Gets content of the _formattedText aggregation.
354
+ * @private
355
+ * @returns {sap.m.FormattedText}
356
+ */
357
+ IllustratedMessage.prototype._getFormattedText = function () {
358
+ var sDescription = this.getDescription(),
359
+ oFormattedText = this.getAggregation("_formattedText");
360
+
361
+ if (!oFormattedText) {
362
+ oFormattedText = new FormattedText({textAlign: TextAlign.Center});
363
+ this.setAggregation("_formattedText", oFormattedText);
364
+ }
365
+
366
+ if (sDescription) {
367
+ oFormattedText.setHtmlText(sDescription);
368
+ } else {
369
+ // Use default text for the description if applicable
370
+ oFormattedText.setHtmlText(this._getDefaultDescription());
371
+ }
372
+
373
+ return oFormattedText;
374
+ };
375
+
376
+ /**
377
+ * Gets content of the _illustration aggregation.
378
+ * @private
379
+ * @returns {sap.m.Illustration}
380
+ */
381
+ IllustratedMessage.prototype._getIllustration = function () {
382
+ var oIllustration = this.getAggregation("_illustration");
383
+
384
+ if (!oIllustration) {
385
+ oIllustration = new Illustration();
386
+
387
+ this.setAggregation("_illustration", oIllustration);
388
+ }
389
+
390
+ return oIllustration;
391
+ };
392
+
393
+ IllustratedMessage.prototype._getResourceBundle = function () {
394
+ return Core.getLibraryResourceBundle("sap.m");
395
+ };
396
+
397
+ /**
398
+ * Gets content of the _text aggregation.
399
+ * @private
400
+ * @returns {sap.m.Text}
401
+ */
402
+ IllustratedMessage.prototype._getText = function () {
403
+ var sDescription = this.getDescription(),
404
+ oText = this.getAggregation("_text");
405
+
406
+ if (!oText) {
407
+ oText = new Text({textAlign: TextAlign.Center});
408
+ this.setAggregation("_text", oText);
409
+ }
410
+
411
+ if (sDescription) {
412
+ oText.setText(sDescription);
413
+ } else {
414
+ // Use default text for the description if applicable
415
+ oText.setText(this._getDefaultDescription());
416
+ }
417
+
418
+ return oText;
419
+ };
420
+
421
+ /**
422
+ * Gets content of the _title aggregation.
423
+ * @private
424
+ * @returns {sap.m.Title}
425
+ */
426
+ IllustratedMessage.prototype._getTitle = function () {
427
+ var sTitle = this.getTitle(),
428
+ oTitle = this.getAggregation("_title");
429
+
430
+ if (!oTitle) {
431
+ oTitle = new Title({wrapping: true});
432
+ this.setAggregation("_title", oTitle);
433
+ }
434
+
435
+ if (sTitle) {
436
+ oTitle.setText(sTitle);
437
+ } else {
438
+ // Use default text for the title if applicable
439
+ oTitle.setText(this._getDefaultTitle());
440
+ }
441
+
442
+ return oTitle;
443
+ };
444
+
445
+ /**
446
+ * PRIVATE METHODS
447
+ */
448
+
449
+ /**
450
+ * Helper function which ensures that there is non-breaking space between the last two words
451
+ * of a given DOM content. By adding it, we prevent one word (widow) on the last row of a text node.
452
+ * @param {DOMRef} oDomRef - the DOM object which will be checked against
453
+ * @private
454
+ */
455
+ IllustratedMessage.prototype._preventWidowWords = function(oDomRef) {
456
+ var $DomRef,
457
+ sDomRefContent,
458
+ oHTMLElement = window.HTMLElement;
459
+
460
+ if (!(oHTMLElement && oDomRef instanceof oHTMLElement)) {
461
+ return;
462
+ }
463
+
464
+ $DomRef = jQuery(oDomRef);
465
+ sDomRefContent = $DomRef.html();
466
+
467
+ sDomRefContent = sDomRefContent.replace(/ ([^ ]*)$/,'&nbsp;$1');
468
+ $DomRef.html(sDomRefContent);
469
+ };
470
+
471
+ /**
472
+ * Updates the <code>IllustratedMessage</code> DOM elements according to its <code>illustrationSize</code> property.
473
+ * @private
474
+ */
475
+ IllustratedMessage.prototype._updateDomSize = function () {
476
+ var oDomRef = this.getDomRef(),
477
+ sSize;
478
+
479
+ if (oDomRef) {
480
+ sSize = this.getIllustrationSize();
481
+ if (sSize === IllustratedMessageSize.Auto) {
482
+ this._updateMedia(oDomRef.getBoundingClientRect().width);
483
+ } else {
484
+ this._updateMediaStyle(IllustratedMessage.MEDIA[sSize.toUpperCase()]);
485
+ }
486
+ }
487
+
488
+ };
489
+
490
+ /**
491
+ * Caches the <code>IllustratedMessage</code> illustration set and illustration type in private instance variables.
492
+ * @private
493
+ */
494
+ IllustratedMessage.prototype._updateInternalIllustrationSetAndType = function (sValue) {
495
+ var aValues = sValue.split("-");
496
+
497
+ this._sIllustrationSet = aValues[0];
498
+ this._sIllustrationType = aValues[1];
499
+ };
500
+
501
+ /**
502
+ * Handles the resize event of the <code>IllustratedMessage</code>.
503
+ * @param {jQuery.Event} oEvent
504
+ * @private
505
+ */
506
+ IllustratedMessage.prototype._onResize = function (oEvent) {
507
+ var iCurrentWidth = oEvent.size.width;
508
+
509
+ this._updateMedia(iCurrentWidth);
510
+ };
511
+
512
+ /**
513
+ * Updates the media size of the control based on its own width, not on the entire screen size (which media query does).
514
+ * @param {Number} iWidth - the actual width of the control
515
+ * @private
516
+ */
517
+ IllustratedMessage.prototype._updateMedia = function (iWidth) {
518
+ if (!iWidth) {
519
+ return;
520
+ }
521
+
522
+ if (iWidth <= IllustratedMessage.BREAK_POINTS.BASE) {
523
+ this._updateMediaStyle(IllustratedMessage.MEDIA.BASE);
524
+ } else if (iWidth <= IllustratedMessage.BREAK_POINTS.SPOT) {
525
+ this._updateMediaStyle(IllustratedMessage.MEDIA.SPOT);
526
+ } else if (iWidth <= IllustratedMessage.BREAK_POINTS.DIALOG) {
527
+ this._updateMediaStyle(IllustratedMessage.MEDIA.DIALOG);
528
+ } else {
529
+ this._updateMediaStyle(IllustratedMessage.MEDIA.SCENE);
530
+ }
531
+ };
532
+
533
+ /**
534
+ * It puts the appropriate classes on the control and updates illustration's symbol based on the current media size.
535
+ * @param {string} sCurrentMedia
536
+ * @private
537
+ */
538
+ IllustratedMessage.prototype._updateMediaStyle = function (sCurrentMedia) {
539
+ Object.keys(IllustratedMessage.MEDIA).forEach(function (sMedia) {
540
+ var bEnable = sCurrentMedia === IllustratedMessage.MEDIA[sMedia],
541
+ sIdMedia = sMedia.charAt(0) + sMedia.slice(1).toLowerCase();
542
+ this.toggleStyleClass(IllustratedMessage.MEDIA[sMedia], bEnable);
543
+ if (bEnable && sCurrentMedia !== IllustratedMessage.MEDIA.BASE) { // No need to require a resource for BASE illustrationSize, since there is none
544
+ this._getIllustration().setSet(this._sIllustrationSet, true)
545
+ .setMedia(sIdMedia, true)
546
+ .setType(this._sIllustrationType);
547
+ }
548
+ }, this);
549
+ };
550
+
551
+ /**
552
+ * ATTACH/DETACH HANDLERS
553
+ */
554
+
555
+ /**
556
+ * Attaches resize handlers on <code>IllustratedMessage</code>.
557
+ * @private
558
+ */
559
+ IllustratedMessage.prototype._attachResizeHandlers = function () {
560
+ var sIllustrationSize = this.getIllustrationSize();
561
+
562
+ if (this.getDomRef() && sIllustrationSize === IllustratedMessageSize.Auto) {
563
+ this._registerResizeHandler(IllustratedMessage.RESIZE_HANDLER_ID.CONTENT, this, this._onResize.bind(this));
564
+ }
565
+ };
566
+
567
+ /**
568
+ * Detaches resize handlers on <code>IllustratedMessage</code>.
569
+ * @private
570
+ */
571
+ IllustratedMessage.prototype._detachResizeHandlers = function () {
572
+ this._deRegisterResizeHandler(IllustratedMessage.RESIZE_HANDLER_ID.CONTENT);
573
+ };
574
+
575
+ /**
576
+ * Registers resize handler.
577
+ * @param {string} sHandler the handler ID
578
+ * @param {Object} oObject
579
+ * @param {Function} fnHandler
580
+ * @private
581
+ */
582
+ IllustratedMessage.prototype._registerResizeHandler = function (sHandler, oObject, fnHandler) {
583
+ if (!this[sHandler]) {
584
+ this[sHandler] = ResizeHandler.register(oObject, fnHandler);
585
+ }
586
+ };
587
+
588
+ /**
589
+ * De-registers resize handler.
590
+ * @param {string} sHandler the handler ID
591
+ * @private
592
+ */
593
+ IllustratedMessage.prototype._deRegisterResizeHandler = function (sHandler) {
594
+ if (this[sHandler]) {
595
+ ResizeHandler.deregister(this[sHandler]);
596
+ this[sHandler] = null;
597
+ }
598
+ };
599
+
600
+ /**
601
+ * Returns object with ID references of the title and description containers.
602
+ *
603
+ * <b>Note:</b> Changing the value of the <code>enableFormattedText</code> property changes the references of
604
+ * of title and description containers.
605
+ * @protected
606
+ * @since 1.98.0
607
+ * @returns {object} Object with 2 fields representing the ID references of the title and description in the IllustratedMessage
608
+ */
609
+ IllustratedMessage.prototype.getAccessibilityReferences = function () {
610
+ return {
611
+ title: this._getTitle().getId(),
612
+ description: this._getDescription().getId()
613
+ };
614
+ };
615
+
616
+
617
+ return IllustratedMessage;
618
+
619
+ });
@@ -0,0 +1,55 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([], function () {
8
+ "use strict";
9
+
10
+ /**
11
+ * IllustratedMessage renderer.
12
+ * @namespace
13
+ */
14
+ var IllustratedMessageRenderer = {
15
+ apiVersion: 2
16
+ };
17
+
18
+ /**
19
+ * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
20
+ *
21
+ * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the Render-Output-Buffer
22
+ * @param {sap.ui.core.Control} oIllustratedMessage An object representation of the control that should be rendered
23
+ */
24
+ IllustratedMessageRenderer.render = function (oRm, oIllustratedMessage) {
25
+ var oIllustratedMessageIllustration = oIllustratedMessage._getIllustration(),
26
+ oIllustratedMessageTitle = oIllustratedMessage._getTitle(),
27
+ oIllustratedMessageDescription = oIllustratedMessage._getDescription(),
28
+ oIllustratedMessageAdditionalContent = oIllustratedMessage.getAdditionalContent();
29
+
30
+ // IllustratedMessage's Root DOM Element.
31
+ oRm.openStart("figure", oIllustratedMessage);
32
+ oRm.class("sapFIllustratedMessage");
33
+ oRm.openEnd();
34
+
35
+ oRm.renderControl(oIllustratedMessageIllustration);
36
+
37
+ oRm.openStart("figcaption").openEnd();
38
+ oRm.renderControl(oIllustratedMessageTitle);
39
+ oRm.renderControl(oIllustratedMessageDescription.addStyleClass("sapFIllustratedMessageDescription"));
40
+ oRm.close("figcaption");
41
+
42
+ oRm.openStart("div");
43
+ oRm.class("sapFIllustratedMessageAdditionalContent"); // helper class in order to hide the additional content when on Base breakpoint
44
+ oRm.openEnd();
45
+ oIllustratedMessageAdditionalContent.forEach(function (oControl) {
46
+ oRm.renderControl(oControl);
47
+ });
48
+ oRm.close("div");
49
+
50
+ oRm.close("figure"); // Root end.
51
+ };
52
+
53
+ return IllustratedMessageRenderer;
54
+
55
+ }, /* bExport= */ true);