@ui5/webcomponents-fiori 1.21.0 → 1.22.0-rc.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 (283) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/Bar.d.ts +6 -27
  3. package/dist/Bar.js +3 -14
  4. package/dist/Bar.js.map +1 -1
  5. package/dist/BarcodeScannerDialog.d.ts +2 -13
  6. package/dist/BarcodeScannerDialog.js +10 -12
  7. package/dist/BarcodeScannerDialog.js.map +1 -1
  8. package/dist/DynamicSideContent.d.ts +9 -35
  9. package/dist/DynamicSideContent.js +15 -7
  10. package/dist/DynamicSideContent.js.map +1 -1
  11. package/dist/FilterItem.d.ts +3 -14
  12. package/dist/FilterItem.js +1 -5
  13. package/dist/FilterItem.js.map +1 -1
  14. package/dist/FilterItemOption.d.ts +3 -11
  15. package/dist/FilterItemOption.js +1 -5
  16. package/dist/FilterItemOption.js.map +1 -1
  17. package/dist/FlexibleColumnLayout.d.ts +13 -51
  18. package/dist/FlexibleColumnLayout.js +28 -26
  19. package/dist/FlexibleColumnLayout.js.map +1 -1
  20. package/dist/IllustratedMessage.d.ts +9 -35
  21. package/dist/IllustratedMessage.js +1 -4
  22. package/dist/IllustratedMessage.js.map +1 -1
  23. package/dist/Interfaces.d.ts +28 -88
  24. package/dist/Interfaces.js +2 -113
  25. package/dist/Interfaces.js.map +1 -1
  26. package/dist/MediaGallery.d.ts +9 -26
  27. package/dist/MediaGallery.js +4 -8
  28. package/dist/MediaGallery.js.map +1 -1
  29. package/dist/MediaGalleryItem.d.ts +7 -22
  30. package/dist/MediaGalleryItem.js +2 -5
  31. package/dist/MediaGalleryItem.js.map +1 -1
  32. package/dist/NotificationAction.d.ts +7 -20
  33. package/dist/NotificationAction.js +3 -9
  34. package/dist/NotificationAction.js.map +1 -1
  35. package/dist/NotificationListGroupItem.d.ts +5 -27
  36. package/dist/NotificationListGroupItem.js +1 -16
  37. package/dist/NotificationListGroupItem.js.map +1 -1
  38. package/dist/NotificationListItem.d.ts +3 -27
  39. package/dist/NotificationListItem.js +2 -15
  40. package/dist/NotificationListItem.js.map +1 -1
  41. package/dist/NotificationListItemBase.d.ts +7 -32
  42. package/dist/NotificationListItemBase.js +15 -15
  43. package/dist/NotificationListItemBase.js.map +1 -1
  44. package/dist/Page.d.ts +7 -35
  45. package/dist/Page.js +2 -13
  46. package/dist/Page.js.map +1 -1
  47. package/dist/ProductSwitch.d.ts +3 -10
  48. package/dist/ProductSwitch.js +1 -5
  49. package/dist/ProductSwitch.js.map +1 -1
  50. package/dist/ProductSwitchItem.d.ts +9 -22
  51. package/dist/ProductSwitchItem.js +2 -7
  52. package/dist/ProductSwitchItem.js.map +1 -1
  53. package/dist/ShellBar.d.ts +30 -90
  54. package/dist/ShellBar.js +28 -41
  55. package/dist/ShellBar.js.map +1 -1
  56. package/dist/ShellBarItem.d.ts +9 -14
  57. package/dist/ShellBarItem.js +6 -6
  58. package/dist/ShellBarItem.js.map +1 -1
  59. package/dist/SideNavigation.d.ts +29 -17
  60. package/dist/SideNavigation.js +155 -9
  61. package/dist/SideNavigation.js.map +1 -1
  62. package/dist/SideNavigationItem.d.ts +4 -17
  63. package/dist/SideNavigationItem.js +1 -5
  64. package/dist/SideNavigationItem.js.map +1 -1
  65. package/dist/SideNavigationItemBase.d.ts +7 -36
  66. package/dist/SideNavigationItemBase.js +20 -12
  67. package/dist/SideNavigationItemBase.js.map +1 -1
  68. package/dist/SideNavigationSubItem.d.ts +1 -5
  69. package/dist/SideNavigationSubItem.js +1 -5
  70. package/dist/SideNavigationSubItem.js.map +1 -1
  71. package/dist/SortItem.d.ts +3 -11
  72. package/dist/SortItem.js +1 -5
  73. package/dist/SortItem.js.map +1 -1
  74. package/dist/Timeline.d.ts +5 -16
  75. package/dist/Timeline.js +1 -5
  76. package/dist/Timeline.js.map +1 -1
  77. package/dist/TimelineItem.d.ts +11 -34
  78. package/dist/TimelineItem.js +3 -15
  79. package/dist/TimelineItem.js.map +1 -1
  80. package/dist/UploadCollection.d.ts +11 -32
  81. package/dist/UploadCollection.js +7 -9
  82. package/dist/UploadCollection.js.map +1 -1
  83. package/dist/UploadCollectionItem.d.ts +16 -47
  84. package/dist/UploadCollectionItem.js +3 -10
  85. package/dist/UploadCollectionItem.js.map +1 -1
  86. package/dist/ViewSettingsDialog.d.ts +5 -28
  87. package/dist/ViewSettingsDialog.js +34 -18
  88. package/dist/ViewSettingsDialog.js.map +1 -1
  89. package/dist/Wizard.d.ts +15 -39
  90. package/dist/Wizard.js +23 -33
  91. package/dist/Wizard.js.map +1 -1
  92. package/dist/WizardStep.d.ts +8 -31
  93. package/dist/WizardStep.js +2 -5
  94. package/dist/WizardStep.js.map +1 -1
  95. package/dist/WizardTab.d.ts +20 -24
  96. package/dist/WizardTab.js +1 -5
  97. package/dist/WizardTab.js.map +1 -1
  98. package/dist/css/themes/Bar.css +1 -1
  99. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  100. package/dist/css/themes/MediaGallery.css +1 -1
  101. package/dist/css/themes/MediaGalleryItem.css +1 -1
  102. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  103. package/dist/css/themes/NotificationListItem.css +1 -1
  104. package/dist/css/themes/NotificationListItemBase.css +1 -1
  105. package/dist/css/themes/NotificationOverflowActionsPopover.css +1 -1
  106. package/dist/css/themes/Page.css +1 -1
  107. package/dist/css/themes/ProductSwitchItem.css +1 -1
  108. package/dist/css/themes/ShellBar.css +1 -1
  109. package/dist/css/themes/SideNavigation.css +1 -1
  110. package/dist/css/themes/SideNavigationPopover.css +1 -1
  111. package/dist/css/themes/Timeline.css +1 -1
  112. package/dist/css/themes/TimelineItem.css +1 -1
  113. package/dist/css/themes/UploadCollection.css +1 -1
  114. package/dist/css/themes/UploadCollectionItem.css +1 -1
  115. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  116. package/dist/css/themes/Wizard.css +1 -1
  117. package/dist/css/themes/WizardTab.css +1 -1
  118. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  119. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  120. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  121. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  122. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  124. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  125. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  126. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  127. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  128. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  129. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  130. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  131. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  132. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  133. package/dist/custom-elements-internal.json +6682 -0
  134. package/dist/custom-elements.json +4098 -1
  135. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  136. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  142. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  143. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  144. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  145. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  146. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  147. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  148. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  150. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  151. package/dist/generated/i18n/i18n-defaults.js +2 -1
  152. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  153. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +6 -2
  154. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js.map +1 -1
  155. package/dist/generated/templates/SideNavigationTemplate.lit.js +1 -1
  156. package/dist/generated/templates/SideNavigationTemplate.lit.js.map +1 -1
  157. package/dist/generated/themes/Bar.css.js +1 -1
  158. package/dist/generated/themes/Bar.css.js.map +1 -1
  159. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  160. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  161. package/dist/generated/themes/MediaGallery.css.js +1 -1
  162. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  163. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  164. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  165. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  166. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  167. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  168. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  169. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  170. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  171. package/dist/generated/themes/NotificationOverflowActionsPopover.css.js +1 -1
  172. package/dist/generated/themes/NotificationOverflowActionsPopover.css.js.map +1 -1
  173. package/dist/generated/themes/Page.css.js +1 -1
  174. package/dist/generated/themes/Page.css.js.map +1 -1
  175. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  176. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  177. package/dist/generated/themes/ShellBar.css.js +1 -1
  178. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  179. package/dist/generated/themes/SideNavigation.css.js +1 -1
  180. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  181. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  182. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  183. package/dist/generated/themes/Timeline.css.js +1 -1
  184. package/dist/generated/themes/Timeline.css.js.map +1 -1
  185. package/dist/generated/themes/TimelineItem.css.js +1 -1
  186. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  187. package/dist/generated/themes/UploadCollection.css.js +1 -1
  188. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  189. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  190. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  191. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  192. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  193. package/dist/generated/themes/Wizard.css.js +1 -1
  194. package/dist/generated/themes/Wizard.css.js.map +1 -1
  195. package/dist/generated/themes/WizardTab.css.js +1 -1
  196. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  197. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  198. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  199. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  200. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  201. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  202. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  203. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  204. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  205. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  206. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  207. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  208. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  209. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  210. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  211. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  212. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  213. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  214. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  215. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  216. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  217. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  218. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  219. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  220. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  221. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  222. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  223. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  224. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  225. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  226. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  227. package/dist/types/BarDesign.d.ts +0 -8
  228. package/dist/types/BarDesign.js +0 -8
  229. package/dist/types/BarDesign.js.map +1 -1
  230. package/dist/types/FCLLayout.d.ts +0 -13
  231. package/dist/types/FCLLayout.js +0 -13
  232. package/dist/types/FCLLayout.js.map +1 -1
  233. package/dist/types/IllustrationMessageSize.d.ts +0 -9
  234. package/dist/types/IllustrationMessageSize.js +0 -9
  235. package/dist/types/IllustrationMessageSize.js.map +1 -1
  236. package/dist/types/IllustrationMessageType.d.ts +0 -107
  237. package/dist/types/IllustrationMessageType.js +0 -107
  238. package/dist/types/IllustrationMessageType.js.map +1 -1
  239. package/dist/types/MediaGalleryItemLayout.d.ts +0 -6
  240. package/dist/types/MediaGalleryItemLayout.js +0 -6
  241. package/dist/types/MediaGalleryItemLayout.js.map +1 -1
  242. package/dist/types/MediaGalleryLayout.d.ts +0 -7
  243. package/dist/types/MediaGalleryLayout.js +0 -7
  244. package/dist/types/MediaGalleryLayout.js.map +1 -1
  245. package/dist/types/MediaGalleryMenuHorizontalAlign.d.ts +0 -6
  246. package/dist/types/MediaGalleryMenuHorizontalAlign.js +0 -6
  247. package/dist/types/MediaGalleryMenuHorizontalAlign.js.map +1 -1
  248. package/dist/types/MediaGalleryMenuVerticalAlign.d.ts +0 -6
  249. package/dist/types/MediaGalleryMenuVerticalAlign.js +0 -6
  250. package/dist/types/MediaGalleryMenuVerticalAlign.js.map +1 -1
  251. package/dist/types/PageBackgroundDesign.d.ts +0 -7
  252. package/dist/types/PageBackgroundDesign.js +0 -7
  253. package/dist/types/PageBackgroundDesign.js.map +1 -1
  254. package/dist/types/SideContentFallDown.d.ts +0 -8
  255. package/dist/types/SideContentFallDown.js +0 -8
  256. package/dist/types/SideContentFallDown.js.map +1 -1
  257. package/dist/types/SideContentPosition.d.ts +0 -6
  258. package/dist/types/SideContentPosition.js +0 -6
  259. package/dist/types/SideContentPosition.js.map +1 -1
  260. package/dist/types/SideContentVisibility.d.ts +0 -9
  261. package/dist/types/SideContentVisibility.js +0 -9
  262. package/dist/types/SideContentVisibility.js.map +1 -1
  263. package/dist/types/TimelineLayout.d.ts +0 -6
  264. package/dist/types/TimelineLayout.js +0 -6
  265. package/dist/types/TimelineLayout.js.map +1 -1
  266. package/dist/types/UploadCollectionDnDMode.d.ts +0 -7
  267. package/dist/types/UploadCollectionDnDMode.js +0 -7
  268. package/dist/types/UploadCollectionDnDMode.js.map +1 -1
  269. package/dist/types/UploadState.d.ts +0 -8
  270. package/dist/types/UploadState.js +0 -8
  271. package/dist/types/UploadState.js.map +1 -1
  272. package/dist/types/ViewSettingsDialogMode.d.ts +0 -6
  273. package/dist/types/ViewSettingsDialogMode.js +0 -6
  274. package/dist/types/ViewSettingsDialogMode.js.map +1 -1
  275. package/dist/types/WizardContentLayout.d.ts +0 -6
  276. package/dist/types/WizardContentLayout.js +0 -6
  277. package/dist/types/WizardContentLayout.js.map +1 -1
  278. package/package.json +7 -7
  279. package/src/SideNavigation.hbs +21 -0
  280. package/src/SideNavigationPopover.hbs +61 -28
  281. package/src/i18n/messagebundle.properties +3 -0
  282. package/src/themes/SideNavigation.css +11 -1
  283. package/dist/api.json +0 -1
@@ -62,11 +62,7 @@ type VSDInternalSettings = {
62
62
  * <code>import "@ui5/webcomponents-fiori/dist/ViewSettingsDialog";</code>
63
63
  *
64
64
  * @constructor
65
- * @author SAP SE
66
- * @alias sap.ui.webc.fiori.ViewSettingsDialog
67
- * @extends sap.ui.webc.base.UI5Element
68
- * @tagname ui5-view-settings-dialog
69
- * @appenddocs sap.ui.webc.fiori.SortItem sap.ui.webc.fiori.FilterItem sap.ui.webc.fiori.FilterItemOption
65
+ * @extends UI5Element
70
66
  * @since 1.0.0-rc.16
71
67
  * @public
72
68
  */
@@ -74,37 +70,31 @@ declare class ViewSettingsDialog extends UI5Element {
74
70
  /**
75
71
  * Defines the initial sort order.
76
72
  *
77
- * @name sap.ui.webc.fiori.ViewSettingsDialog.prototype.sortDescending
78
- * @type {boolean}
79
- * @defaultvalue false
73
+ * @default false
80
74
  * @public
81
75
  */
82
76
  sortDescending: boolean;
83
77
  /**
84
78
  * Keeps recently focused list in order to focus it on next dialog open.
85
79
  *
86
- * @type {object}
87
80
  * @private
88
81
  */
89
82
  _recentlyFocused: List;
90
83
  /**
91
84
  * Stores settings of the dialog before the initial open.
92
85
  *
93
- * @type {object}
94
86
  * @private
95
87
  */
96
88
  _initialSettings: VSDInternalSettings;
97
89
  /**
98
90
  * Stores settings of the dialog after confirmation.
99
91
  *
100
- * @type {object}
101
92
  * @private
102
93
  */
103
94
  _confirmedSettings: VSDInternalSettings;
104
95
  /**
105
96
  * Stores current settings of the dialog.
106
97
  *
107
- * @type {object}
108
98
  * @private
109
99
  */
110
100
  _currentSettings: VSDInternalSettings;
@@ -126,9 +116,6 @@ declare class ViewSettingsDialog extends UI5Element {
126
116
  * Defines the list of items against which the user could sort data.
127
117
  * <b>Note:</b> If you want to use this slot, you need to import used item: <code>import "@ui5/webcomponents-fiori/dist/SortItem";</code>
128
118
  *
129
- * @name sap.ui.webc.fiori.ViewSettingsDialog.prototype.sortItems
130
- * @type {sap.ui.webc.fiori.ISortItem[]}
131
- * @slot sortItems
132
119
  * @public
133
120
  */
134
121
  sortItems: Array<SortItem>;
@@ -136,9 +123,6 @@ declare class ViewSettingsDialog extends UI5Element {
136
123
  * Defines the <code>filterItems</code> list.
137
124
  * <b>Note:</b> If you want to use this slot, you need to import used item: <code>import "@ui5/webcomponents-fiori/dist/FilterItem";</code>
138
125
  *
139
- * @type {sap.ui.webc.fiori.IFilterItem[]}
140
- * @name sap.ui.webc.fiori.ViewSettingsDialog.prototype.filterItems
141
- * @slot filterItems
142
126
  * @public
143
127
  */
144
128
  filterItems: Array<FilterItem>;
@@ -199,8 +183,6 @@ declare class ViewSettingsDialog extends UI5Element {
199
183
  /**
200
184
  * Shows the dialog.
201
185
  * @public
202
- * @method
203
- * @name sap.ui.webc.fiori.ViewSettingsDialog#show
204
186
  */
205
187
  show(): void;
206
188
  _handleModeChange(e: CustomEvent): void;
@@ -234,7 +216,7 @@ declare class ViewSettingsDialog extends UI5Element {
234
216
  /**
235
217
  * If the dialog is closed by [ESC] key, do the same as if the <code>Cancel</code> button is pressed.
236
218
  *
237
- * @param {event} evt
219
+ * @param evt
238
220
  */
239
221
  _restoreConfirmedOnEscape(evt: CustomEvent): void;
240
222
  /**
@@ -244,7 +226,7 @@ declare class ViewSettingsDialog extends UI5Element {
244
226
  /**
245
227
  * Sets current settings to ones passed as <code>settings</code> argument.
246
228
  *
247
- * @param {Object} settings
229
+ * @param settings
248
230
  */
249
231
  _restoreSettings(settings: VSDInternalSettings): void;
250
232
  /**
@@ -272,13 +254,8 @@ declare class ViewSettingsDialog extends UI5Element {
272
254
  * ]
273
255
  * }
274
256
  * </pre>
275
- * @param {Object} settings - predefined settings.
276
- * @param {string} settings.sortOrder - sort order
277
- * @param {string} settings.sortBy - sort by
278
- * @param {Array.<Object>} settings.filters - filters
257
+ * @param settings - predefined settings.
279
258
  * @public
280
- * @method
281
- * @name sap.ui.webc.fiori.ViewSettingsDialog#setConfirmedSettings
282
259
  */
283
260
  setConfirmedSettings(settings: VSDSettings): void;
284
261
  }
@@ -55,11 +55,7 @@ import viewSettingsDialogCSS from "./generated/themes/ViewSettingsDialog.css.js"
55
55
  * <code>import "@ui5/webcomponents-fiori/dist/ViewSettingsDialog";</code>
56
56
  *
57
57
  * @constructor
58
- * @author SAP SE
59
- * @alias sap.ui.webc.fiori.ViewSettingsDialog
60
- * @extends sap.ui.webc.base.UI5Element
61
- * @tagname ui5-view-settings-dialog
62
- * @appenddocs sap.ui.webc.fiori.SortItem sap.ui.webc.fiori.FilterItem sap.ui.webc.fiori.FilterItemOption
58
+ * @extends UI5Element
63
59
  * @since 1.0.0-rc.16
64
60
  * @public
65
61
  */
@@ -252,8 +248,6 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
252
248
  /**
253
249
  * Shows the dialog.
254
250
  * @public
255
- * @method
256
- * @name sap.ui.webc.fiori.ViewSettingsDialog#show
257
251
  */
258
252
  show() {
259
253
  if (!this._dialog) {
@@ -363,7 +357,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
363
357
  /**
364
358
  * If the dialog is closed by [ESC] key, do the same as if the <code>Cancel</code> button is pressed.
365
359
  *
366
- * @param {event} evt
360
+ * @param evt
367
361
  */
368
362
  _restoreConfirmedOnEscape(evt) {
369
363
  if (evt.detail.escPressed) {
@@ -383,7 +377,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
383
377
  /**
384
378
  * Sets current settings to ones passed as <code>settings</code> argument.
385
379
  *
386
- * @param {Object} settings
380
+ * @param settings
387
381
  */
388
382
  _restoreSettings(settings) {
389
383
  this._currentSettings = JSON.parse(JSON.stringify(settings));
@@ -432,13 +426,8 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
432
426
  * ]
433
427
  * }
434
428
  * </pre>
435
- * @param {Object} settings - predefined settings.
436
- * @param {string} settings.sortOrder - sort order
437
- * @param {string} settings.sortBy - sort by
438
- * @param {Array.<Object>} settings.filters - filters
429
+ * @param settings - predefined settings.
439
430
  * @public
440
- * @method
441
- * @name sap.ui.webc.fiori.ViewSettingsDialog#setConfirmedSettings
442
431
  */
443
432
  setConfirmedSettings(settings) {
444
433
  if (settings && this._dialog && !this._dialog.isOpen()) {
@@ -531,7 +520,6 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
531
520
  /**
532
521
  * Fired when confirmation button is activated.
533
522
  *
534
- * @event sap.ui.webc.fiori.ViewSettingsDialog#confirm
535
523
  * @param {String} sortOrder The current sort order selected.
536
524
  * @param {String} sortBy The currently selected <code>ui5-sort-item</code> text attribute.
537
525
  * @param {HTMLElement} sortByItem The currently selected <code>ui5-sort-item</code>.
@@ -542,17 +530,31 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
542
530
  ,
543
531
  event("confirm", {
544
532
  detail: {
533
+ /**
534
+ * @public
535
+ */
545
536
  sortOrder: { type: String },
537
+ /**
538
+ * @public
539
+ */
546
540
  sortBy: { type: String },
541
+ /**
542
+ * @public
543
+ */
547
544
  sortByItem: { type: HTMLElement },
545
+ /**
546
+ * @public
547
+ */
548
548
  sortDescending: { type: Boolean },
549
+ /**
550
+ * @public
551
+ */
549
552
  filters: { type: Array },
550
553
  },
551
554
  })
552
555
  /**
553
556
  * Fired when cancel button is activated.
554
557
  *
555
- * @event sap.ui.webc.fiori.ViewSettingsDialog#cancel
556
558
  * @param {String} sortOrder The current sort order selected.
557
559
  * @param {String} sortBy The currently selected <code>ui5-sort-item</code> text attribute.
558
560
  * @param {HTMLElement} sortByItem The currently selected <code>ui5-sort-item</code>.
@@ -563,10 +565,25 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
563
565
  ,
564
566
  event("cancel", {
565
567
  detail: {
568
+ /**
569
+ * @public
570
+ */
566
571
  sortOrder: { type: String },
572
+ /**
573
+ * @public
574
+ */
567
575
  sortBy: { type: String },
576
+ /**
577
+ * @public
578
+ */
568
579
  sortByItem: { type: HTMLElement },
580
+ /**
581
+ * @public
582
+ */
569
583
  sortDescending: { type: Boolean },
584
+ /**
585
+ * @public
586
+ */
570
587
  filters: { type: Array },
571
588
  },
572
589
  })
@@ -574,7 +591,6 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
574
591
  * Fired before the component is opened. <b>This event does not bubble.</b>
575
592
  *
576
593
  * @public
577
- * @event sap.ui.webc.fiori.ViewSettingsDialog#before-open
578
594
  */
579
595
  ,
580
596
  event("before-open")
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSettingsDialog.js","sourceRoot":"","sources":["../src/ViewSettingsDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport GroupHeaderListItem from \"@ui5/webcomponents/dist/GroupHeaderListItem.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport StandardListItem from \"@ui5/webcomponents/dist/StandardListItem.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport SegmentedButton from \"@ui5/webcomponents/dist/SegmentedButton.js\";\nimport SegmentedButtonItem from \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";\n\nimport ViewSettingsDialogMode from \"./types/ViewSettingsDialogMode.js\";\nimport \"@ui5/webcomponents-icons/dist/sort.js\";\nimport \"@ui5/webcomponents-icons/dist/filter.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type SortItem from \"./SortItem.js\";\nimport type FilterItem from \"./FilterItem.js\";\n\nimport {\n\tVSD_DIALOG_TITLE_SORT,\n\tVSD_SUBMIT_BUTTON,\n\tVSD_CANCEL_BUTTON,\n\tVSD_RESET_BUTTON,\n\tVSD_SORT_ORDER,\n\tVSD_SORT_BY,\n\tVSD_ORDER_ASCENDING,\n\tVSD_ORDER_DESCENDING,\n\tVSD_FILTER_BY,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ViewSettingsDialogTemplate from \"./generated/templates/ViewSettingsDialogTemplate.lit.js\";\n\n// Styles\nimport viewSettingsDialogCSS from \"./generated/themes/ViewSettingsDialog.css.js\";\n\ntype VSDFilter = Record<string, Array<string>> // {\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}\ntype VSDFilters = Array<VSDFilter> // [{\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}, {\"Filter 3\": [\"Filter 8\"]}]\n\n// The data, passed to the public method + part of the events' detail\ntype VSDSettings = {\n\tsortOrder: string,\n\tsortBy: string,\n\tfilters: VSDFilters,\n}\n\n// Events' detail\ntype ViewSettingsDialogConfirmEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\ntype ViewSettingsDialogCancelEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\n// Common properties for several VSDInternalSettings fields\ntype VSDItem = {text: string, selected: boolean}\n\n// Used for the private properties _initialSettings, _confirmedSettings and _currentSettings\ntype VSDInternalSettings = {\n\tsortOrder: Array<VSDItem>,\n\tsortBy: Array<VSDItem & {index: number}>,\n\tfilters: Array<VSDItem & {filterOptions: Array<VSDItem>}>,\n}\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n * The <code>ui5-view-settings-dialog</code> component helps the user to sort data within a list or a table.\n * It consists of several lists like <code>Sort order</code> which is built-in and <code>Sort By</code> and <code>Filter By</code> lists,\n * for which you must be provide items(<code>ui5-sort-item</code> & <code>ui5-filter-item</code> respectively)\n * These options can be used to create sorters for a table.\n *\n * The <code>ui5-view-settings-dialog</code> interrupts the current application processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The <code>ui5-view-settings-dialog</code> is modal, which means that user action is required before returning to the parent window is possible.\n *\n * <h3>Structure</h3>\n * A <code>ui5-view-settings-dialog</code> consists of a header, content, and a footer for action buttons.\n * The <code>ui5-view-settings-dialog</code> is usually displayed at the center of the screen.\n *\n * <h3>Responsive Behavior</h3>\n * <code>ui5-view-settings-dialog</code> stretches on full screen on phones.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialog\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.fiori.ViewSettingsDialog\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-view-settings-dialog\n * @appenddocs sap.ui.webc.fiori.SortItem sap.ui.webc.fiori.FilterItem sap.ui.webc.fiori.FilterItemOption\n * @since 1.0.0-rc.16\n * @public\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog\",\n\trenderer: litRender,\n\tstyles: viewSettingsDialogCSS,\n\ttemplate: ViewSettingsDialogTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tTitle,\n\t\tDialog,\n\t\tLabel,\n\t\tList,\n\t\tStandardListItem,\n\t\tGroupHeaderListItem,\n\t\tSegmentedButton,\n\t\tSegmentedButtonItem,\n\t],\n})\n\n/**\n * Fired when confirmation button is activated.\n *\n * @event sap.ui.webc.fiori.ViewSettingsDialog#confirm\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected <code>ui5-sort-item</code> text attribute.\n * @param {HTMLElement} sortByItem The currently selected <code>ui5-sort-item</code>.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"confirm\", {\n\tdetail: {\n\t\tsortOrder: { type: String },\n\t\tsortBy: { type: String },\n\t\tsortByItem: { type: HTMLElement },\n\t\tsortDescending: { type: Boolean },\n\t\tfilters: { type: Array },\n\t},\n})\n\n/**\n * Fired when cancel button is activated.\n *\n * @event sap.ui.webc.fiori.ViewSettingsDialog#cancel\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected <code>ui5-sort-item</code> text attribute.\n * @param {HTMLElement} sortByItem The currently selected <code>ui5-sort-item</code>.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"cancel\", {\n\tdetail: {\n\t\tsortOrder: { type: String },\n\t\tsortBy: { type: String },\n\t\tsortByItem: { type: HTMLElement },\n\t\tsortDescending: { type: Boolean },\n\t\tfilters: { type: Array },\n\t},\n})\n\n/**\n * Fired before the component is opened. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.fiori.ViewSettingsDialog#before-open\n */\n@event(\"before-open\")\nclass ViewSettingsDialog extends UI5Element {\n\t/**\n\t * Defines the initial sort order.\n\t *\n\t * @name sap.ui.webc.fiori.ViewSettingsDialog.prototype.sortDescending\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsortDescending!: boolean;\n\n\t/**\n\t * Keeps recently focused list in order to focus it on next dialog open.\n\t *\n\t * @type {object}\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_recentlyFocused!: List;\n\n\t/**\n\t * Stores settings of the dialog before the initial open.\n\t *\n\t * @type {object}\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_initialSettings!: VSDInternalSettings;\n\n\t/**\n\t * Stores settings of the dialog after confirmation.\n\t *\n\t * @type {object}\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_confirmedSettings!: VSDInternalSettings;\n\n\t/**\n\t * Stores current settings of the dialog.\n\t *\n\t * @type {object}\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_currentSettings!: VSDInternalSettings;\n\n\t/**\n\t * Defnies the current mode of the component.\n\t *\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: ViewSettingsDialogMode, defaultValue: ViewSettingsDialogMode.Sort })\n\t_currentMode!: ViewSettingsDialogMode;\n\n\t/**\n\t * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.\n\t *\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterStepTwo!: boolean;\n\n\t/**\n\t * Defines the list of items against which the user could sort data.\n\t * <b>Note:</b> If you want to use this slot, you need to import used item: <code>import \"@ui5/webcomponents-fiori/dist/SortItem\";</code>\n\t *\n\t * @name sap.ui.webc.fiori.ViewSettingsDialog.prototype.sortItems\n\t * @type {sap.ui.webc.fiori.ISortItem[]}\n\t * @slot sortItems\n\t * @public\n\t */\n\t@slot()\n\tsortItems!: Array<SortItem>\n\n\t/**\n\t * Defines the <code>filterItems</code> list.\n\t * <b>Note:</b> If you want to use this slot, you need to import used item: <code>import \"@ui5/webcomponents-fiori/dist/FilterItem\";</code>\n\t *\n\t * @type {sap.ui.webc.fiori.IFilterItem[]}\n\t * @name sap.ui.webc.fiori.ViewSettingsDialog.prototype.filterItems\n\t * @slot filterItems\n\t * @public\n\t */\n\t@slot()\n\tfilterItems!: Array<FilterItem>;\n\n\t_dialog?: Dialog;\n\t_sortOrder?: List;\n\t_sortBy?: List;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._currentSettings = {\n\t\t\tsortOrder: [],\n\t\t\tsortBy: [],\n\t\t\tfilters: [],\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._currentSettings.filters && this._currentSettings.filters.length) {\n\t\t\tthis._setAdditionalTexts();\n\t\t}\n\n\t\tif (!this.shouldBuildSort && this.shouldBuildFilter) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Filter;\n\t\t}\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"slot\") {\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t}\n\t}\n\n\t_setAdditionalTexts() {\n\t\t// Add the additional text to the filter options\n\t\tthis.filterItems.forEach((filter, index) => {\n\t\t\tlet selectedCount = 0;\n\t\t\tfor (let i = 0; i < filter.values.length; i++) {\n\t\t\t\tif (this._currentSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tselectedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfilter.additionalText = !selectedCount ? \"\" : `${selectedCount}`;\n\t\t});\n\t}\n\n\tstatic async onDefine() {\n\t\tViewSettingsDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tget _selectedFilter() {\n\t\tfor (let i = 0; i < this._currentSettings.filters.length; i++) {\n\t\t\tif (this._currentSettings.filters[i].selected) {\n\t\t\t\treturn this._currentSettings.filters[i];\n\t\t\t}\n\t\t}\n\t}\n\n\tget shouldBuildSort() {\n\t\treturn !!this.sortItems.length;\n\t}\n\n\tget shouldBuildFilter() {\n\t\treturn !!this.filterItems.length;\n\t}\n\n\tget hasPagination() {\n\t\treturn this.shouldBuildSort && this.shouldBuildFilter;\n\t}\n\n\tget _filterByTitle() {\n\t\tconst selectedFilterText = this._selectedFilter ? this._selectedFilter.text : \"\";\n\t\treturn `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${selectedFilterText}`;\n\t}\n\n\tget _dialogTitle() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_DIALOG_TITLE_SORT);\n\t}\n\n\tget _okButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);\n\t}\n\n\tget _resetButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);\n\t}\n\n\tget _ascendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);\n\t}\n\n\tget _descendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);\n\t}\n\n\tget _sortOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);\n\t}\n\n\tget _filterByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);\n\t}\n\n\tget _sortByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _sortAscending() {\n\t\treturn !this.sortDescending;\n\t}\n\n\tget _title() {\n\t\treturn this.showBackButton\n\t\t\t? this._filterByTitle\n\t\t\t: this._dialogTitle;\n\t}\n\n\t/**\n\t * Determines disabled state of the <code>Reset</code> button.\n\t */\n\tget _disableResetButton() {\n\t\treturn this._dialog && this._sortSetttingsAreInitial && this._filteresAreInitial;\n\t}\n\n\tget _sortSetttingsAreInitial() {\n\t\tlet settingsAreInitial = true;\n\t\t[\"sortBy\", \"sortOrder\"].forEach(sortList => {\n\t\t\tthis._currentSettings[sortList as keyof VSDInternalSettings].forEach((item, index) => {\n\t\t\t\tif (item.selected !== this._initialSettings[sortList as keyof VSDInternalSettings][index].selected) {\n\t\t\t\t\tsettingsAreInitial = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn settingsAreInitial;\n\t}\n\n\tget _filteresAreInitial() {\n\t\tlet filtersAreInitial = true;\n\t\tthis._currentSettings.filters.forEach((filter, index) => {\n\t\t\tfor (let i = 0; i < filter.filterOptions.length; i++) {\n\t\t\t\tif (filter.filterOptions[i].selected !== this._initialSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tfiltersAreInitial = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn filtersAreInitial;\n\t}\n\n\t/**\n\t * Returns the current settings (current state of all lists).\n\t */\n\tget _settings(): VSDInternalSettings {\n\t\treturn {\n\t\t\tsortOrder: JSON.parse(JSON.stringify(this.initSortOrderItems)),\n\t\t\tsortBy: JSON.parse(JSON.stringify(this.initSortByItems)),\n\t\t\tfilters: this.filterItems.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.text,\n\t\t\t\t\tselected: false,\n\t\t\t\t\tfilterOptions: item.values.map(optionValue => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: optionValue.text,\n\t\t\t\t\t\t\tselected: optionValue.selected,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\n\tget initSortByItems() {\n\t\treturn this.sortItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initSortOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.sortDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.sortDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget expandContent() {\n\t\treturn this._filterStepTwo || !this.hasPagination;\n\t}\n\n\tget isModeSort() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Sort;\n\t}\n\n\tget isModeFilter() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Filter;\n\t}\n\n\tget showBackButton() {\n\t\treturn this.isModeFilter && this._filterStepTwo;\n\t}\n\n\tget _sortOrderListDomRef() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-order]\")!;\n\t}\n\n\tget _sortByList() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-by]\")!;\n\t}\n\n\tget _dialogDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.fiori.ViewSettingsDialog#show\n\t */\n\tshow() {\n\t\tif (!this._dialog) {\n\t\t\tthis._sortOrder = this._sortOrderListDomRef;\n\t\t\tthis._sortBy = this._sortByList;\n\n\t\t\t// Sorting\n\t\t\tthis._initialSettings = this._settings;\n\t\t\tthis._currentSettings = this._settings;\n\t\t\tthis._confirmedSettings = this._settings;\n\n\t\t\tthis._dialog = this._dialogDomRef;\n\t\t} else {\n\t\t\tthis._restoreSettings(this._confirmedSettings);\n\t\t}\n\n\t\tthis.fireEvent(\"before-open\", {}, true, false);\n\t\tthis._dialog.show(true);\n\n\t\tthis._dialog.querySelector<List>(\"[ui5-list]\")?.focusFirstItem();\n\t}\n\n\t_handleModeChange(e: CustomEvent) { // use SegmentedButton event when done\n\t\tconst mode: ViewSettingsDialogMode = e.detail.selectedItem.getAttribute(\"mode\");\n\t\tthis._currentMode = ViewSettingsDialogMode[mode];\n\t}\n\n\t_handleFilterValueItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\t// Update the component state\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tif (filter.selected) {\n\t\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\t\tif (option.text === e.detail.item.innerText) {\n\t\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t_navigateToFilters() {\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t_changeCurrentFilter(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._filterStepTwo = true;\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tfilter.selected = filter.text === e.detail.item.innerText;\n\t\t\treturn filter;\n\t\t});\n\t}\n\n\t/**\n\t * Closes the dialog.\n\t */\n\tclose() {\n\t\tthis._dialog && this._dialog.close();\n\t}\n\n\t/**\n\t * Sets focus on recently used control within the dialog.\n\t */\n\t_focusRecentlyUsedControl() {\n\t\tif (!this._recentlyFocused || !Object.keys(this._recentlyFocused).length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst recentlyFocusedSelectedItems = this._recentlyFocused.getSelectedItems();\n\t\tif (recentlyFocusedSelectedItems.length) {\n\t\t\trecentlyFocusedSelectedItems[0].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Stores current settings as confirmed and fires <code>confirm</code> event.\n\t */\n\t_confirmSettings() {\n\t\tthis.close();\n\t\tthis._confirmedSettings = this._currentSettings;\n\n\t\tthis.fireEvent<ViewSettingsDialogConfirmEventDetail>(\"confirm\", this.eventsParams);\n\t}\n\n\t/**\n\t * Sets current settings to recently confirmed ones and fires <code>cancel</code> event.\n\t */\n\t_cancelSettings() {\n\t\tthis._restoreSettings(this._confirmedSettings);\n\n\t\tthis.fireEvent<ViewSettingsDialogCancelEventDetail>(\"cancel\", this.eventsParams);\n\t\tthis.close();\n\t}\n\n\tget eventsParams() {\n\t\tconst _currentSortOrderSelected = this._currentSettings.sortOrder.filter(item => item.selected)[0],\n\t\t\t_currentSortBySelected = this._currentSettings.sortBy.filter(item => item.selected)[0],\n\t\t\tsortOrder = _currentSortOrderSelected && _currentSortOrderSelected.text,\n\t\t\tsortDescending = !this._currentSettings.sortOrder[0].selected,\n\t\t\tsortBy = _currentSortBySelected && _currentSortBySelected.text,\n\t\t\tsortByElementIndex = _currentSortBySelected && _currentSortBySelected.index,\n\t\t\tsortByItem = this.sortItems[sortByElementIndex];\n\t\treturn {\n\t\t\tsortOrder,\n\t\t\tsortDescending,\n\t\t\tsortBy,\n\t\t\tsortByItem,\n\t\t\tfilters: this.selectedFilters,\n\t\t};\n\t}\n\n\tget selectedFilters() {\n\t\tconst result: VSDFilters = [];\n\n\t\tthis._currentSettings.filters.forEach(filter => {\n\t\t\tconst selectedOptions: Array<string> = [];\n\n\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tselectedOptions.push(option.text);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (selectedOptions.length) {\n\t\t\t\tresult.push({});\n\t\t\t\tresult[result.length - 1][filter.text] = selectedOptions;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * If the dialog is closed by [ESC] key, do the same as if the <code>Cancel</code> button is pressed.\n\t *\n\t * @param {event} evt\n\t */\n\t_restoreConfirmedOnEscape(evt: CustomEvent) { // Dialog#before-close\n\t\tif (evt.detail.escPressed) {\n\t\t\tthis._cancelSettings();\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\t\tthis._filterStepTwo = false;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the control settings to their initial state.\n\t */\n\t _resetSettings() {\n\t\tthis._restoreSettings(this._initialSettings);\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._focusRecentlyUsedControl();\n\t}\n\n\t/**\n\t * Sets current settings to ones passed as <code>settings</code> argument.\n\t *\n\t * @param {Object} settings\n\t */\n\t_restoreSettings(settings: VSDInternalSettings) {\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(settings));\n\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t/**\n\t * Stores <code>Sort Order</code> list as recently used control and its selected item in current state.\n\t */\n\t_onSortOrderChange(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._currentSettings.sortOrder = this.initSortOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.item.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores <code>Sort By</code> list as recently used control and its selected item in current state.\n\t */\n\t _onSortByChange(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.item.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._sortBy!;\n\t\tthis._currentSettings.sortBy = this.initSortByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets a JavaScript object, as settings to the <code>ui5-view-settings-dialog</code>.\n\t * This method can be used after the dialog is initially open, as the dialog needs\n\t * to set its initial settings.<br>\n\t * The <code>ui5-view-settings-dialog</code> throws an event called \"before-open\",\n\t * which can be used as a trigger point.<br>\n\t * The object should have the following format:<br>\n\t * <pre>\n\t * {\n\t *\tsortOrder: \"Ascending\",\n\t *\tsortBy: \"Name\",\n\t *\tfilters: [\n\t *\t\t{\"Filter 1\": [\"Some filter 1\", \"Some filter 2\"]},\n\t *\t\t{\"Filter 2\": [\"Some filter 4\"]},\n\t *\t]\n\t * }\n\t * </pre>\n\t * @param {Object} settings - predefined settings.\n\t * @param {string} settings.sortOrder - sort order\n\t * @param {string} settings.sortBy - sort by\n\t * @param {Array.<Object>} settings.filters - filters\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.fiori.ViewSettingsDialog#setConfirmedSettings\n\t */\n\tsetConfirmedSettings(settings: VSDSettings) {\n\t\tif (settings && this._dialog && !this._dialog.isOpen()) {\n\t\t\tconst tempSettings: VSDInternalSettings = JSON.parse(JSON.stringify(this._confirmedSettings));\n\t\t\tif (settings.sortOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.sortOrder[i].text === settings.sortOrder) {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.sortBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortBy.length; i++) {\n\t\t\t\t\tif (tempSettings.sortBy[i].text === settings.sortBy) {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.filters) {\n\t\t\t\tconst inputFilters: VSDFilter = {};\n\t\t\t\tfor (let i = 0; i < settings.filters.length; i++) {\n\t\t\t\t\tinputFilters[Object.keys(settings.filters[i])[0]] = settings.filters[i][Object.keys(settings.filters[i])[0]];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < tempSettings.filters.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < tempSettings.filters[i].filterOptions.length; j++) {\n\t\t\t\t\t\tif (inputFilters[tempSettings.filters[i].text] && inputFilters[tempSettings.filters[i].text].indexOf(tempSettings.filters[i].filterOptions[j].text) > -1) {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._confirmedSettings = JSON.parse(JSON.stringify(tempSettings));\n\t\t}\n\t}\n}\n\nViewSettingsDialog.define();\n\nexport default ViewSettingsDialog;\nexport type {\n\tViewSettingsDialogConfirmEventDetail,\n\tViewSettingsDialogCancelEventDetail,\n};\n"]}
1
+ {"version":3,"file":"ViewSettingsDialog.js","sourceRoot":"","sources":["../src/ViewSettingsDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Label from \"@ui5/webcomponents/dist/Label.js\";\nimport GroupHeaderListItem from \"@ui5/webcomponents/dist/GroupHeaderListItem.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport StandardListItem from \"@ui5/webcomponents/dist/StandardListItem.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport SegmentedButton from \"@ui5/webcomponents/dist/SegmentedButton.js\";\nimport SegmentedButtonItem from \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";\n\nimport ViewSettingsDialogMode from \"./types/ViewSettingsDialogMode.js\";\nimport \"@ui5/webcomponents-icons/dist/sort.js\";\nimport \"@ui5/webcomponents-icons/dist/filter.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type SortItem from \"./SortItem.js\";\nimport type FilterItem from \"./FilterItem.js\";\n\nimport {\n\tVSD_DIALOG_TITLE_SORT,\n\tVSD_SUBMIT_BUTTON,\n\tVSD_CANCEL_BUTTON,\n\tVSD_RESET_BUTTON,\n\tVSD_SORT_ORDER,\n\tVSD_SORT_BY,\n\tVSD_ORDER_ASCENDING,\n\tVSD_ORDER_DESCENDING,\n\tVSD_FILTER_BY,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ViewSettingsDialogTemplate from \"./generated/templates/ViewSettingsDialogTemplate.lit.js\";\n\n// Styles\nimport viewSettingsDialogCSS from \"./generated/themes/ViewSettingsDialog.css.js\";\n\ntype VSDFilter = Record<string, Array<string>> // {\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}\ntype VSDFilters = Array<VSDFilter> // [{\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}, {\"Filter 3\": [\"Filter 8\"]}]\n\n// The data, passed to the public method + part of the events' detail\ntype VSDSettings = {\n\tsortOrder: string,\n\tsortBy: string,\n\tfilters: VSDFilters,\n}\n\n// Events' detail\ntype ViewSettingsDialogConfirmEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\ntype ViewSettingsDialogCancelEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n}\n\n// Common properties for several VSDInternalSettings fields\ntype VSDItem = {text: string, selected: boolean}\n\n// Used for the private properties _initialSettings, _confirmedSettings and _currentSettings\ntype VSDInternalSettings = {\n\tsortOrder: Array<VSDItem>,\n\tsortBy: Array<VSDItem & {index: number}>,\n\tfilters: Array<VSDItem & {filterOptions: Array<VSDItem>}>,\n}\n\n/**\n * @class\n * <h3 class=\"comment-api-title\">Overview</h3>\n * The <code>ui5-view-settings-dialog</code> component helps the user to sort data within a list or a table.\n * It consists of several lists like <code>Sort order</code> which is built-in and <code>Sort By</code> and <code>Filter By</code> lists,\n * for which you must be provide items(<code>ui5-sort-item</code> & <code>ui5-filter-item</code> respectively)\n * These options can be used to create sorters for a table.\n *\n * The <code>ui5-view-settings-dialog</code> interrupts the current application processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The <code>ui5-view-settings-dialog</code> is modal, which means that user action is required before returning to the parent window is possible.\n *\n * <h3>Structure</h3>\n * A <code>ui5-view-settings-dialog</code> consists of a header, content, and a footer for action buttons.\n * The <code>ui5-view-settings-dialog</code> is usually displayed at the center of the screen.\n *\n * <h3>Responsive Behavior</h3>\n * <code>ui5-view-settings-dialog</code> stretches on full screen on phones.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialog\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.16\n * @public\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog\",\n\trenderer: litRender,\n\tstyles: viewSettingsDialogCSS,\n\ttemplate: ViewSettingsDialogTemplate,\n\tdependencies: [\n\t\tButton,\n\t\tTitle,\n\t\tDialog,\n\t\tLabel,\n\t\tList,\n\t\tStandardListItem,\n\t\tGroupHeaderListItem,\n\t\tSegmentedButton,\n\t\tSegmentedButtonItem,\n\t],\n})\n\n/**\n * Fired when confirmation button is activated.\n *\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected <code>ui5-sort-item</code> text attribute.\n * @param {HTMLElement} sortByItem The currently selected <code>ui5-sort-item</code>.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"confirm\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortOrder: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortBy: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortByItem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortDescending: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfilters: { type: Array },\n\t},\n})\n\n/**\n * Fired when cancel button is activated.\n *\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected <code>ui5-sort-item</code> text attribute.\n * @param {HTMLElement} sortByItem The currently selected <code>ui5-sort-item</code>.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"cancel\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortOrder: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortBy: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortByItem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsortDescending: { type: Boolean },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfilters: { type: Array },\n\t},\n})\n\n/**\n * Fired before the component is opened. <b>This event does not bubble.</b>\n *\n * @public\n */\n@event(\"before-open\")\nclass ViewSettingsDialog extends UI5Element {\n\t/**\n\t * Defines the initial sort order.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsortDescending!: boolean;\n\n\t/**\n\t * Keeps recently focused list in order to focus it on next dialog open.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_recentlyFocused!: List;\n\n\t/**\n\t * Stores settings of the dialog before the initial open.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_initialSettings!: VSDInternalSettings;\n\n\t/**\n\t * Stores settings of the dialog after confirmation.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_confirmedSettings!: VSDInternalSettings;\n\n\t/**\n\t * Stores current settings of the dialog.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_currentSettings!: VSDInternalSettings;\n\n\t/**\n\t * Defnies the current mode of the component.\n\t *\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: ViewSettingsDialogMode, defaultValue: ViewSettingsDialogMode.Sort })\n\t_currentMode!: ViewSettingsDialogMode;\n\n\t/**\n\t * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.\n\t *\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterStepTwo!: boolean;\n\n\t/**\n\t * Defines the list of items against which the user could sort data.\n\t * <b>Note:</b> If you want to use this slot, you need to import used item: <code>import \"@ui5/webcomponents-fiori/dist/SortItem\";</code>\n\t *\n\t * @public\n\t */\n\t@slot()\n\tsortItems!: Array<SortItem>\n\n\t/**\n\t * Defines the <code>filterItems</code> list.\n\t * <b>Note:</b> If you want to use this slot, you need to import used item: <code>import \"@ui5/webcomponents-fiori/dist/FilterItem\";</code>\n\t *\n\t * @public\n\t */\n\t@slot()\n\tfilterItems!: Array<FilterItem>;\n\n\t_dialog?: Dialog;\n\t_sortOrder?: List;\n\t_sortBy?: List;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._currentSettings = {\n\t\t\tsortOrder: [],\n\t\t\tsortBy: [],\n\t\t\tfilters: [],\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._currentSettings.filters && this._currentSettings.filters.length) {\n\t\t\tthis._setAdditionalTexts();\n\t\t}\n\n\t\tif (!this.shouldBuildSort && this.shouldBuildFilter) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Filter;\n\t\t}\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"slot\") {\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t}\n\t}\n\n\t_setAdditionalTexts() {\n\t\t// Add the additional text to the filter options\n\t\tthis.filterItems.forEach((filter, index) => {\n\t\t\tlet selectedCount = 0;\n\t\t\tfor (let i = 0; i < filter.values.length; i++) {\n\t\t\t\tif (this._currentSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tselectedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfilter.additionalText = !selectedCount ? \"\" : `${selectedCount}`;\n\t\t});\n\t}\n\n\tstatic async onDefine() {\n\t\tViewSettingsDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tget _selectedFilter() {\n\t\tfor (let i = 0; i < this._currentSettings.filters.length; i++) {\n\t\t\tif (this._currentSettings.filters[i].selected) {\n\t\t\t\treturn this._currentSettings.filters[i];\n\t\t\t}\n\t\t}\n\t}\n\n\tget shouldBuildSort() {\n\t\treturn !!this.sortItems.length;\n\t}\n\n\tget shouldBuildFilter() {\n\t\treturn !!this.filterItems.length;\n\t}\n\n\tget hasPagination() {\n\t\treturn this.shouldBuildSort && this.shouldBuildFilter;\n\t}\n\n\tget _filterByTitle() {\n\t\tconst selectedFilterText = this._selectedFilter ? this._selectedFilter.text : \"\";\n\t\treturn `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${selectedFilterText}`;\n\t}\n\n\tget _dialogTitle() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_DIALOG_TITLE_SORT);\n\t}\n\n\tget _okButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);\n\t}\n\n\tget _resetButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);\n\t}\n\n\tget _ascendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);\n\t}\n\n\tget _descendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);\n\t}\n\n\tget _sortOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);\n\t}\n\n\tget _filterByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);\n\t}\n\n\tget _sortByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _sortAscending() {\n\t\treturn !this.sortDescending;\n\t}\n\n\tget _title() {\n\t\treturn this.showBackButton\n\t\t\t? this._filterByTitle\n\t\t\t: this._dialogTitle;\n\t}\n\n\t/**\n\t * Determines disabled state of the <code>Reset</code> button.\n\t */\n\tget _disableResetButton() {\n\t\treturn this._dialog && this._sortSetttingsAreInitial && this._filteresAreInitial;\n\t}\n\n\tget _sortSetttingsAreInitial() {\n\t\tlet settingsAreInitial = true;\n\t\t[\"sortBy\", \"sortOrder\"].forEach(sortList => {\n\t\t\tthis._currentSettings[sortList as keyof VSDInternalSettings].forEach((item, index) => {\n\t\t\t\tif (item.selected !== this._initialSettings[sortList as keyof VSDInternalSettings][index].selected) {\n\t\t\t\t\tsettingsAreInitial = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn settingsAreInitial;\n\t}\n\n\tget _filteresAreInitial() {\n\t\tlet filtersAreInitial = true;\n\t\tthis._currentSettings.filters.forEach((filter, index) => {\n\t\t\tfor (let i = 0; i < filter.filterOptions.length; i++) {\n\t\t\t\tif (filter.filterOptions[i].selected !== this._initialSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tfiltersAreInitial = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn filtersAreInitial;\n\t}\n\n\t/**\n\t * Returns the current settings (current state of all lists).\n\t */\n\tget _settings(): VSDInternalSettings {\n\t\treturn {\n\t\t\tsortOrder: JSON.parse(JSON.stringify(this.initSortOrderItems)),\n\t\t\tsortBy: JSON.parse(JSON.stringify(this.initSortByItems)),\n\t\t\tfilters: this.filterItems.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.text,\n\t\t\t\t\tselected: false,\n\t\t\t\t\tfilterOptions: item.values.map(optionValue => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: optionValue.text,\n\t\t\t\t\t\t\tselected: optionValue.selected,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\n\tget initSortByItems() {\n\t\treturn this.sortItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initSortOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.sortDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.sortDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget expandContent() {\n\t\treturn this._filterStepTwo || !this.hasPagination;\n\t}\n\n\tget isModeSort() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Sort;\n\t}\n\n\tget isModeFilter() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Filter;\n\t}\n\n\tget showBackButton() {\n\t\treturn this.isModeFilter && this._filterStepTwo;\n\t}\n\n\tget _sortOrderListDomRef() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-order]\")!;\n\t}\n\n\tget _sortByList() {\n\t\treturn this.shadowRoot!.querySelector<List>(\"[ui5-list][sort-by]\")!;\n\t}\n\n\tget _dialogDomRef() {\n\t\treturn this.shadowRoot!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t * @public\n\t */\n\tshow(): void {\n\t\tif (!this._dialog) {\n\t\t\tthis._sortOrder = this._sortOrderListDomRef;\n\t\t\tthis._sortBy = this._sortByList;\n\n\t\t\t// Sorting\n\t\t\tthis._initialSettings = this._settings;\n\t\t\tthis._currentSettings = this._settings;\n\t\t\tthis._confirmedSettings = this._settings;\n\n\t\t\tthis._dialog = this._dialogDomRef;\n\t\t} else {\n\t\t\tthis._restoreSettings(this._confirmedSettings);\n\t\t}\n\n\t\tthis.fireEvent(\"before-open\", {}, true, false);\n\t\tthis._dialog.show(true);\n\n\t\tthis._dialog.querySelector<List>(\"[ui5-list]\")?.focusFirstItem();\n\t}\n\n\t_handleModeChange(e: CustomEvent) { // use SegmentedButton event when done\n\t\tconst mode: ViewSettingsDialogMode = e.detail.selectedItem.getAttribute(\"mode\");\n\t\tthis._currentMode = ViewSettingsDialogMode[mode];\n\t}\n\n\t_handleFilterValueItemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\t// Update the component state\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tif (filter.selected) {\n\t\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\t\tif (option.text === e.detail.item.innerText) {\n\t\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t_navigateToFilters() {\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t_changeCurrentFilter(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._filterStepTwo = true;\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tfilter.selected = filter.text === e.detail.item.innerText;\n\t\t\treturn filter;\n\t\t});\n\t}\n\n\t/**\n\t * Closes the dialog.\n\t */\n\tclose() {\n\t\tthis._dialog && this._dialog.close();\n\t}\n\n\t/**\n\t * Sets focus on recently used control within the dialog.\n\t */\n\t_focusRecentlyUsedControl() {\n\t\tif (!this._recentlyFocused || !Object.keys(this._recentlyFocused).length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst recentlyFocusedSelectedItems = this._recentlyFocused.getSelectedItems();\n\t\tif (recentlyFocusedSelectedItems.length) {\n\t\t\trecentlyFocusedSelectedItems[0].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Stores current settings as confirmed and fires <code>confirm</code> event.\n\t */\n\t_confirmSettings() {\n\t\tthis.close();\n\t\tthis._confirmedSettings = this._currentSettings;\n\n\t\tthis.fireEvent<ViewSettingsDialogConfirmEventDetail>(\"confirm\", this.eventsParams);\n\t}\n\n\t/**\n\t * Sets current settings to recently confirmed ones and fires <code>cancel</code> event.\n\t */\n\t_cancelSettings() {\n\t\tthis._restoreSettings(this._confirmedSettings);\n\n\t\tthis.fireEvent<ViewSettingsDialogCancelEventDetail>(\"cancel\", this.eventsParams);\n\t\tthis.close();\n\t}\n\n\tget eventsParams() {\n\t\tconst _currentSortOrderSelected = this._currentSettings.sortOrder.filter(item => item.selected)[0],\n\t\t\t_currentSortBySelected = this._currentSettings.sortBy.filter(item => item.selected)[0],\n\t\t\tsortOrder = _currentSortOrderSelected && _currentSortOrderSelected.text,\n\t\t\tsortDescending = !this._currentSettings.sortOrder[0].selected,\n\t\t\tsortBy = _currentSortBySelected && _currentSortBySelected.text,\n\t\t\tsortByElementIndex = _currentSortBySelected && _currentSortBySelected.index,\n\t\t\tsortByItem = this.sortItems[sortByElementIndex];\n\t\treturn {\n\t\t\tsortOrder,\n\t\t\tsortDescending,\n\t\t\tsortBy,\n\t\t\tsortByItem,\n\t\t\tfilters: this.selectedFilters,\n\t\t};\n\t}\n\n\tget selectedFilters() {\n\t\tconst result: VSDFilters = [];\n\n\t\tthis._currentSettings.filters.forEach(filter => {\n\t\t\tconst selectedOptions: Array<string> = [];\n\n\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tselectedOptions.push(option.text);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (selectedOptions.length) {\n\t\t\t\tresult.push({});\n\t\t\t\tresult[result.length - 1][filter.text] = selectedOptions;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * If the dialog is closed by [ESC] key, do the same as if the <code>Cancel</code> button is pressed.\n\t *\n\t * @param evt\n\t */\n\t_restoreConfirmedOnEscape(evt: CustomEvent) { // Dialog#before-close\n\t\tif (evt.detail.escPressed) {\n\t\t\tthis._cancelSettings();\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\t\tthis._filterStepTwo = false;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the control settings to their initial state.\n\t */\n\t _resetSettings() {\n\t\tthis._restoreSettings(this._initialSettings);\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._focusRecentlyUsedControl();\n\t}\n\n\t/**\n\t * Sets current settings to ones passed as <code>settings</code> argument.\n\t *\n\t * @param settings\n\t */\n\t_restoreSettings(settings: VSDInternalSettings) {\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(settings));\n\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t/**\n\t * Stores <code>Sort Order</code> list as recently used control and its selected item in current state.\n\t */\n\t_onSortOrderChange(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._currentSettings.sortOrder = this.initSortOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.item.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores <code>Sort By</code> list as recently used control and its selected item in current state.\n\t */\n\t _onSortByChange(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.item.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._sortBy!;\n\t\tthis._currentSettings.sortBy = this.initSortByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets a JavaScript object, as settings to the <code>ui5-view-settings-dialog</code>.\n\t * This method can be used after the dialog is initially open, as the dialog needs\n\t * to set its initial settings.<br>\n\t * The <code>ui5-view-settings-dialog</code> throws an event called \"before-open\",\n\t * which can be used as a trigger point.<br>\n\t * The object should have the following format:<br>\n\t * <pre>\n\t * {\n\t *\tsortOrder: \"Ascending\",\n\t *\tsortBy: \"Name\",\n\t *\tfilters: [\n\t *\t\t{\"Filter 1\": [\"Some filter 1\", \"Some filter 2\"]},\n\t *\t\t{\"Filter 2\": [\"Some filter 4\"]},\n\t *\t]\n\t * }\n\t * </pre>\n\t * @param settings - predefined settings.\n\t * @public\n\t */\n\tsetConfirmedSettings(settings: VSDSettings): void {\n\t\tif (settings && this._dialog && !this._dialog.isOpen()) {\n\t\t\tconst tempSettings: VSDInternalSettings = JSON.parse(JSON.stringify(this._confirmedSettings));\n\t\t\tif (settings.sortOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.sortOrder[i].text === settings.sortOrder) {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.sortBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortBy.length; i++) {\n\t\t\t\t\tif (tempSettings.sortBy[i].text === settings.sortBy) {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.filters) {\n\t\t\t\tconst inputFilters: VSDFilter = {};\n\t\t\t\tfor (let i = 0; i < settings.filters.length; i++) {\n\t\t\t\t\tinputFilters[Object.keys(settings.filters[i])[0]] = settings.filters[i][Object.keys(settings.filters[i])[0]];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < tempSettings.filters.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < tempSettings.filters[i].filterOptions.length; j++) {\n\t\t\t\t\t\tif (inputFilters[tempSettings.filters[i].text] && inputFilters[tempSettings.filters[i].text].indexOf(tempSettings.filters[i].filterOptions[j].text) > -1) {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._confirmedSettings = JSON.parse(JSON.stringify(tempSettings));\n\t\t}\n\t}\n}\n\nViewSettingsDialog.define();\n\nexport default ViewSettingsDialog;\nexport type {\n\tViewSettingsDialogConfirmEventDetail,\n\tViewSettingsDialogCancelEventDetail,\n};\n"]}
package/dist/Wizard.d.ts CHANGED
@@ -54,16 +54,6 @@ type StepInfo = {
54
54
  * <br>
55
55
  * <b>Note:</b> If multiple selected steps are defined, the last step will be selected.
56
56
  *
57
- * <h3>CSS Shadow Parts</h3>
58
- *
59
- * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
60
- * <br>
61
- * The <code>ui5-wizard</code> exposes the following CSS Shadow Parts:
62
- * <ul>
63
- * <li>navigator - Used to style the progress navigator of the <code>ui5-wizard</code>.</li>
64
- * <li>step-content - Used to style a <code>ui5-wizard-step</code> container.</li>
65
- * </ul>
66
- *
67
57
  * <h3>Keyboard Handling</h3>
68
58
  * The user can navigate using the following keyboard shortcuts:
69
59
  * <br>
@@ -125,24 +115,20 @@ type StepInfo = {
125
115
  * <code>import "@ui5/webcomponents-fiori/dist/Wizard.js";</code> (includes &lt;ui5-wizard-step/&gt;)
126
116
  *
127
117
  * @constructor
128
- * @author SAP SE
129
- * @alias sap.ui.webc.fiori.Wizard
130
- * @extends sap.ui.webc.base.UI5Element
131
- * @tagname ui5-wizard
118
+ * @extends UI5Element
132
119
  * @since 1.0.0-rc.10
133
- * @appenddocs sap.ui.webc.fiori.WizardStep
134
120
  * @public
121
+ * @csspart navigator - Used to style the progress navigator of the <code>ui5-wizard</code>.</li>
122
+ * @csspart step-content - Used to style a <code>ui5-wizard-step</code> container.</li>
135
123
  */
136
124
  declare class Wizard extends UI5Element {
137
125
  /**
138
126
  * Defines how the content of the <code>ui5-wizard</code> would be visualized.
139
127
  * @public
140
- * @type {sap.ui.webc.fiori.types.WizardContentLayout}
141
128
  * @since 1.14.0
142
- * @name sap.ui.webc.fiori.Wizard.prototype.contentLayout
143
- * @defaultvalue "MultipleSteps"
129
+ * @default "MultipleSteps"
144
130
  */
145
- contentLayout?: WizardContentLayout;
131
+ contentLayout: WizardContentLayout;
146
132
  /**
147
133
  * Defines the width of the <code>ui5-wizard</code>.
148
134
  * @private
@@ -161,8 +147,7 @@ declare class Wizard extends UI5Element {
161
147
  * <b>Note:</b> Supported values are between 0.5 and 1
162
148
  * and values out of the range will be normalized to 0.5 and 1 respectively.
163
149
  * @private
164
- * @type {sap.ui.webc.base.types.Float}
165
- * @defaultvalue 0.7
150
+ * @default 0.7
166
151
  * @since 1.0.0-rc.13
167
152
  */
168
153
  stepSwitchThreshold: number;
@@ -178,10 +163,7 @@ declare class Wizard extends UI5Element {
178
163
  * <br><br>
179
164
  * <b>Note:</b> Use the available <code>ui5-wizard-step</code> component.
180
165
  *
181
- * @type {sap.ui.webc.fiori.IWizardStep[]}
182
- * @name sap.ui.webc.fiori.Wizard.prototype.default
183
166
  * @public
184
- * @slot steps
185
167
  */
186
168
  steps: Array<WizardStep>;
187
169
  static i18nBundle: I18nBundle;
@@ -245,21 +227,18 @@ declare class Wizard extends UI5Element {
245
227
  /**
246
228
  * Handles user click on steps' tabs within the header.
247
229
  * <b>Note:</b> the handler is bound in the template.
248
- * @param {MouseEvent} e
249
230
  * @private
250
231
  */
251
232
  onSelectionChangeRequested(e: MouseEvent): void;
252
233
  /**
253
234
  * Handles user scrolling with debouncing.
254
235
  * <b>Note:</b> the handler is bound in the template.
255
- * @param {MouseEvent} e
256
236
  * @private
257
237
  */
258
238
  onScroll(e: MouseEvent): void;
259
239
  /**
260
240
  * Handles when a step in the header is focused in order to update the <code>ItemNavigation</code>.
261
241
  * <b>Note:</b> the handler is bound in the template.
262
- * @param {FocusEvent} e
263
242
  * @private
264
243
  */
265
244
  onStepInHeaderFocused(e: FocusEvent): void;
@@ -288,7 +267,7 @@ declare class Wizard extends UI5Element {
288
267
  /**
289
268
  * Called upon <code>onScroll</code>.
290
269
  * Selects the closest step, based on the user scroll position.
291
- * @param {Integer} scrollPos the current scroll position
270
+ * @param scrollPos the current scroll position
292
271
  * @private
293
272
  */
294
273
  changeSelectionByScroll(scrollPos: number): void;
@@ -296,7 +275,7 @@ declare class Wizard extends UI5Element {
296
275
  * Called upon <code>onSelectionChangeRequested</code>.
297
276
  * Selects the external step (ui5-wizard-step),
298
277
  * based on the clicked or activated via keyboard step in the header (ui5-wizard-tab).
299
- * @param {WizardTab} stepInHeader the step equivalent in the header
278
+ * @param stepInHeader the step equivalent in the header
300
279
  * @private
301
280
  */
302
281
  changeSelectionByStepAction(stepInHeader: WizardTab): Promise<void>;
@@ -330,19 +309,16 @@ declare class Wizard extends UI5Element {
330
309
  /**
331
310
  * Returns an array of data objects, based on the user defined steps
332
311
  * to later build the steps (tabs) within the header.
333
- * @returns {Array<StepInfo>}
334
312
  * @private
335
313
  */
336
314
  getStepsInfo(): StepInfo[];
337
315
  /**
338
316
  * Returns the index of the selected step.
339
- * @returns {Integer}
340
317
  * @private
341
318
  */
342
319
  getSelectedStepIndex(): number;
343
320
  /**
344
321
  * Returns the index of the last enabled step.
345
- * @returns {Integer}
346
322
  * @private
347
323
  */
348
324
  getLastEnabledStepIndex(): number;
@@ -359,29 +335,29 @@ declare class Wizard extends UI5Element {
359
335
  * by given step index.
360
336
  *
361
337
  * @private
362
- * @param {Integer} stepIndex the index of a step
338
+ * @param stepIndex the index of a step
363
339
  */
364
340
  scrollToContentItem(stepIndex: number): void;
365
341
  /**
366
342
  * Returns to closest scroll position for the given step index.
367
343
  *
368
344
  * @private
369
- * @param {Integer} stepIndex the index of a step
345
+ * @param stepIndex the index of a step
370
346
  */
371
347
  getClosestScrollPosByStepIndex(stepIndex: number): number;
372
348
  /**
373
349
  * Returns the closest step index by given scroll position.
374
350
  * @private
375
- * @param {Integer} scrollPos the scroll position
351
+ * @param scrollPos the scroll position
376
352
  */
377
353
  getClosestStepIndexByScrollPos(scrollPos: number): number;
378
354
  /**
379
355
  * Switches the selection from the old step to the newly selected step.
380
356
  *
381
- * @param {WizardStep} selectedStep the old step
382
- * @param {WizardStep} stepToSelect the step to be selected
383
- * @param {Integer} stepToSelectIndex the index of the newly selected step
384
- * @param {boolean} changeWithClick the selection changed due to user click in the step navigation
357
+ * @param selectedStep the old step
358
+ * @param stepToSelect the step to be selected
359
+ * @param stepToSelectIndex the index of the newly selected step
360
+ * @param changeWithClick the selection changed due to user click in the step navigation
385
361
  * @private
386
362
  */
387
363
  switchSelectionFromOldToNewStep(selectedStep: WizardStep | null, stepToSelect: WizardStep, stepToSelectIndex: number, changeWithClick: boolean): void;