@openui5/types 1.113.0 → 1.114.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -280,7 +280,7 @@ declare namespace sap {
280
280
  }
281
281
  }
282
282
 
283
- // For Library Version: 1.113.0
283
+ // For Library Version: 1.114.1
284
284
 
285
285
  declare module "sap/base/assert" {
286
286
  /**
@@ -300,7 +300,7 @@ declare module "sap/base/assert" {
300
300
  * Message that will be logged when the result is `false`. In case this is a function, the return value
301
301
  * of the function will be displayed. This can be used to execute complex code only if the assertion fails.
302
302
  */
303
- vMessage: string | Function
303
+ vMessage: string | (() => any)
304
304
  ): void;
305
305
  }
306
306
 
@@ -609,7 +609,7 @@ declare module "sap/base/Log" {
609
609
  */
610
610
  interface Log {
611
611
  /**
612
- * Allows to add a new LogListener that will be notified for new log entries.
612
+ * Allows to add a new listener that will be notified for new log entries.
613
613
  *
614
614
  * The given object must provide method `onLogEntry` and can also be informed about `onDetachFromLog`, `onAttachToLog`
615
615
  * and `onDiscardLogEntries`.
@@ -618,7 +618,7 @@ declare module "sap/base/Log" {
618
618
  /**
619
619
  * The new listener object that should be informed
620
620
  */
621
- oListener: object
621
+ oListener: Listener
622
622
  ): void;
623
623
  /**
624
624
  * Creates a new debug-level entry in the log with the given message, details and calling component.
@@ -718,9 +718,9 @@ declare module "sap/base/Log" {
718
718
  *
719
719
  * @returns an array containing the recorded log entries
720
720
  */
721
- getLogEntries(): object[];
721
+ getLogEntries(): Entry[];
722
722
  /**
723
- * Returns a dedicated logger for a component
723
+ * Returns a dedicated logger for a component.
724
724
  *
725
725
  * The logger comes with the same API as the `sap/base/Log` module:
726
726
  * `#fatal` - see: {@link module:sap/base/Log.fatal} `#error` - see: {@link module:sap/base/Log.error}
@@ -740,7 +740,7 @@ declare module "sap/base/Log" {
740
740
  * The default log level
741
741
  */
742
742
  iDefaultLogLevel?: Level
743
- ): object;
743
+ ): Logger;
744
744
  /**
745
745
  * Creates a new info-level entry in the log with the given message, details and calling component.
746
746
  */
@@ -789,9 +789,9 @@ declare module "sap/base/Log" {
789
789
  */
790
790
  removeLogListener(
791
791
  /**
792
- * The new listener object that should be removed
792
+ * The listener object that should be removed
793
793
  */
794
- oListener: object
794
+ oListener: Listener
795
795
  ): void;
796
796
  /**
797
797
  * Defines the maximum `sap/base/Log.Level` of log entries that will be recorded. Log entries with a higher
@@ -866,6 +866,41 @@ declare module "sap/base/Log" {
866
866
  const Log: Log;
867
867
  export default Log;
868
868
 
869
+ export type Entry = {
870
+ /**
871
+ * The number of milliseconds since the epoch
872
+ */
873
+ timestamp: float;
874
+ /**
875
+ * Time string in format HH:mm:ss:mmmnnn
876
+ */
877
+ time: string;
878
+ /**
879
+ * Date string in format yyyy-MM-dd
880
+ */
881
+ date: string;
882
+ /**
883
+ * The level of the log entry, see {@link module:sap/base/Log.Level}
884
+ */
885
+ level: Level;
886
+ /**
887
+ * The message of the log entry
888
+ */
889
+ message: string;
890
+ /**
891
+ * The detailed information of the log entry
892
+ */
893
+ details: string;
894
+ /**
895
+ * The component that creates the log entry
896
+ */
897
+ component: string;
898
+ /**
899
+ * Callback that returns an additional support object to be logged in support mode.
900
+ */
901
+ supportInfo?: () => any;
902
+ };
903
+
869
904
  /**
870
905
  * Enumeration of the configurable log levels that a Logger should persist to the log.
871
906
  *
@@ -906,6 +941,265 @@ declare module "sap/base/Log" {
906
941
  */
907
942
  WARNING = "undefined",
908
943
  }
944
+ /**
945
+ * Interface to be implemented by a log listener.
946
+ *
947
+ * Typically, a listener will at least implement the {@link #.onLogEntry} method, but in general, all methods
948
+ * are optional.
949
+ */
950
+ export interface Listener {
951
+ __implements__sap_base_Log_Listener: boolean;
952
+
953
+ /**
954
+ * The function that is called once the Listener is attached
955
+ */
956
+ onAttachToLog?(
957
+ /**
958
+ * The Log instance where the listener is attached
959
+ */
960
+ oLog: Log
961
+ ): void;
962
+ /**
963
+ * The function that is called once the Listener is detached
964
+ */
965
+ onDetachFromLog?(
966
+ /**
967
+ * The Log instance where the listener is detached
968
+ */
969
+ oLog: Log
970
+ ): void;
971
+ /**
972
+ * The function that is called once log entries are discarded due to the exceed of total log entry amount
973
+ */
974
+ onDiscardLogEntries?(
975
+ /**
976
+ * The discarded log entries
977
+ */
978
+ aDiscardedEntries: Entry[]
979
+ ): void;
980
+ /**
981
+ * The function that is called when a new log entry is created
982
+ */
983
+ onLogEntry?(
984
+ /**
985
+ * The newly created log entry
986
+ */
987
+ oLogEntry: Entry
988
+ ): void;
989
+ }
990
+
991
+ /**
992
+ * The logger comes with a subset of the API of the `sap/base/Log` module:
993
+ * `#fatal` - see: {@link module:sap/base/Log.fatal} `#error` - see: {@link module:sap/base/Log.error}
994
+ * `#warning` - see: {@link module:sap/base/Log.warning} `#info` - see: {@link module:sap/base/Log.info}
995
+ * `#debug` - see: {@link module:sap/base/Log.debug} `#trace` - see: {@link module:sap/base/Log.trace}
996
+ * `#setLevel` - see: {@link module:sap/base/Log.setLevel} `#getLevel` - see: {@link module:sap/base/Log.getLevel}
997
+ * `#isLoggable` - see: {@link module:sap/base/Log.isLoggable}
998
+ */
999
+ export interface Logger {
1000
+ __implements__sap_base_Log_Logger: boolean;
1001
+
1002
+ /**
1003
+ * Creates a new debug-level entry in the log with the given message, details and calling component.
1004
+ */
1005
+ debug(
1006
+ /**
1007
+ * Message text to display
1008
+ */
1009
+ sMessage: string,
1010
+ /**
1011
+ * Optional details about the message, might be omitted. Can be an Error object which will be logged with
1012
+ * the stack.
1013
+ */
1014
+ vDetails?: string | Error,
1015
+ /**
1016
+ * Name of the component that produced the log entry
1017
+ */
1018
+ sComponent?: string,
1019
+ /**
1020
+ * Callback that returns an additional support object to be logged in support mode. This function is only
1021
+ * called if support info mode is turned on with `logSupportInfo(true)`. To avoid negative effects regarding
1022
+ * execution times and memory consumption, the returned object should be a simple immutable JSON object
1023
+ * with mostly static and stable content.
1024
+ */
1025
+ fnSupportInfo?: Function
1026
+ ): void;
1027
+ /**
1028
+ * Creates a new error-level entry in the log with the given message, details and calling component.
1029
+ */
1030
+ error(
1031
+ /**
1032
+ * Message text to display
1033
+ */
1034
+ sMessage: string,
1035
+ /**
1036
+ * Optional details about the message, might be omitted. Can be an Error object which will be logged together
1037
+ * with its stacktrace.
1038
+ */
1039
+ vDetails?: string | Error,
1040
+ /**
1041
+ * Name of the component that produced the log entry
1042
+ */
1043
+ sComponent?: string,
1044
+ /**
1045
+ * Callback that returns an additional support object to be logged in support mode. This function is only
1046
+ * called if support info mode is turned on with `logSupportInfo(true)`. To avoid negative effects regarding
1047
+ * execution times and memory consumption, the returned object should be a simple immutable JSON object
1048
+ * with mostly static and stable content.
1049
+ */
1050
+ fnSupportInfo?: Function
1051
+ ): void;
1052
+ /**
1053
+ * Creates a new fatal-level entry in the log with the given message, details and calling component.
1054
+ */
1055
+ fatal(
1056
+ /**
1057
+ * Message text to display
1058
+ */
1059
+ sMessage: string,
1060
+ /**
1061
+ * Optional details about the message, might be omitted. Can be an Error object which will be logged together
1062
+ * with its stacktrace.
1063
+ */
1064
+ vDetails?: string | Error,
1065
+ /**
1066
+ * Name of the component that produced the log entry
1067
+ */
1068
+ sComponent?: string,
1069
+ /**
1070
+ * Callback that returns an additional support object to be logged in support mode. This function is only
1071
+ * called if support info mode is turned on with `logSupportInfo(true)`. To avoid negative effects regarding
1072
+ * execution times and memory consumption, the returned object should be a simple immutable JSON object
1073
+ * with mostly static and stable content.
1074
+ */
1075
+ fnSupportInfo?: Function
1076
+ ): void;
1077
+ /**
1078
+ * Returns the log level currently effective for the given component. If no component is given or when no
1079
+ * level has been configured for a given component, the log level for the default component of this logger
1080
+ * is returned.
1081
+ *
1082
+ * @returns The log level for the given component or the default log level
1083
+ */
1084
+ getLevel(
1085
+ /**
1086
+ * Name of the component to retrieve the log level for
1087
+ */
1088
+ sComponent?: string
1089
+ ): Level;
1090
+ /**
1091
+ * Creates a new info-level entry in the log with the given message, details and calling component.
1092
+ */
1093
+ info(
1094
+ /**
1095
+ * Message text to display
1096
+ */
1097
+ sMessage: string,
1098
+ /**
1099
+ * Optional details about the message, might be omitted. Can be an Error object which will be logged with
1100
+ * the stack.
1101
+ */
1102
+ vDetails?: string | Error,
1103
+ /**
1104
+ * Name of the component that produced the log entry
1105
+ */
1106
+ sComponent?: string,
1107
+ /**
1108
+ * Callback that returns an additional support object to be logged in support mode. This function is only
1109
+ * called if support info mode is turned on with `logSupportInfo(true)`. To avoid negative effects regarding
1110
+ * execution times and memory consumption, the returned object should be a simple immutable JSON object
1111
+ * with mostly static and stable content.
1112
+ */
1113
+ fnSupportInfo?: Function
1114
+ ): void;
1115
+ /**
1116
+ * Checks whether logging is enabled for the given log level, depending on the currently effective log level
1117
+ * for the given component.
1118
+ *
1119
+ * If no component is given, the default component of this logger will be taken into account.
1120
+ *
1121
+ * @returns Whether logging is enabled or not
1122
+ */
1123
+ isLoggable(
1124
+ /**
1125
+ * The log level in question
1126
+ */
1127
+ iLevel?: Level,
1128
+ /**
1129
+ * Name of the component to check the log level for
1130
+ */
1131
+ sComponent?: string
1132
+ ): boolean;
1133
+ /**
1134
+ * Defines the maximum `sap/base/Log.Level` of log entries that will be recorded. Log entries with a higher
1135
+ * (less important) log level will be omitted from the log. When a component name is given, the log level
1136
+ * will be configured for that component only, otherwise the log level for the default component of this
1137
+ * logger is set. For the global logger, the global default level is set.
1138
+ *
1139
+ * **Note**: Setting a global default log level has no impact on already defined component log levels. They
1140
+ * always override the global default log level.
1141
+ */
1142
+ setLevel(
1143
+ /**
1144
+ * The new log level
1145
+ */
1146
+ iLogLevel: Level,
1147
+ /**
1148
+ * The log component to set the log level for
1149
+ */
1150
+ sComponent?: string
1151
+ ): void;
1152
+ /**
1153
+ * Creates a new trace-level entry in the log with the given message, details and calling component.
1154
+ */
1155
+ trace(
1156
+ /**
1157
+ * Message text to display
1158
+ */
1159
+ sMessage: string,
1160
+ /**
1161
+ * Optional details about the message, might be omitted. Can be an Error object which will be logged with
1162
+ * the stack.
1163
+ */
1164
+ vDetails?: string | Error,
1165
+ /**
1166
+ * Name of the component that produced the log entry
1167
+ */
1168
+ sComponent?: string,
1169
+ /**
1170
+ * Callback that returns an additional support object to be logged in support mode. This function is only
1171
+ * called if support info mode is turned on with `logSupportInfo(true)`. To avoid negative effects regarding
1172
+ * execution times and memory consumption, the returned object should be a simple immutable JSON object
1173
+ * with mostly static and stable content.
1174
+ */
1175
+ fnSupportInfo?: Function
1176
+ ): void;
1177
+ /**
1178
+ * Creates a new warning-level entry in the log with the given message, details and calling component.
1179
+ */
1180
+ warning(
1181
+ /**
1182
+ * Message text to display
1183
+ */
1184
+ sMessage: string,
1185
+ /**
1186
+ * Optional details about the message, might be omitted. Can be an Error object which will be logged together
1187
+ * with its stacktrace.
1188
+ */
1189
+ vDetails?: string | Error,
1190
+ /**
1191
+ * Name of the component that produced the log entry
1192
+ */
1193
+ sComponent?: string,
1194
+ /**
1195
+ * Callback that returns an additional support object to be logged in support mode. This function is only
1196
+ * called if support info mode is turned on with `logSupportInfo(true)`. To avoid negative effects regarding
1197
+ * execution times and memory consumption, the returned object should be a simple immutable JSON object
1198
+ * with mostly static and stable content.
1199
+ */
1200
+ fnSupportInfo?: Function
1201
+ ): void;
1202
+ }
909
1203
  }
910
1204
 
911
1205
  declare module "sap/base/security/encodeCSS" {
@@ -1528,12 +1822,12 @@ declare module "sap/base/util/Deferred" {
1528
1822
  * object creates a `Promise` instance which functions as a proxy for the future result. This `Promise`
1529
1823
  * object can be accessed via the `promise` property of the `Deferred` object.
1530
1824
  */
1531
- export default class Deferred {
1825
+ export default class Deferred<T extends any = any> {
1532
1826
  constructor();
1533
1827
  /**
1534
1828
  * Promise instance of the Deferred
1535
1829
  */
1536
- promise: Promise<any>;
1830
+ promise: Promise<T>;
1537
1831
 
1538
1832
  /**
1539
1833
  * Proxy call to the `reject` method of the wrapped Promise
@@ -1551,7 +1845,7 @@ declare module "sap/base/util/Deferred" {
1551
1845
  /**
1552
1846
  * Fulfillment value
1553
1847
  */
1554
- value?: any
1848
+ value?: T
1555
1849
  ): void;
1556
1850
  }
1557
1851
  }
@@ -2379,11 +2673,14 @@ declare module "sap/ui/core/date/UI5Date" {
2379
2673
  *
2380
2674
  * A date implementation considering the configured time zone
2381
2675
  *
2382
- * A subclass of JavaScript `Date` that considers the configured time zone, see {@link sap.ui.core.Configuration.getTimezone}.
2676
+ * A subclass of JavaScript `Date` that considers the configured time zone, see {@link sap.ui.core.Configuration#getTimezone}.
2383
2677
  * All JavaScript `Date` functions that use the local browser time zone, like `getDate`, `setDate`, and
2384
2678
  * `toString`, are overwritten and use the configured time zone to compute the values.
2385
2679
  *
2386
2680
  * Use {@link module:sap/ui/core/date/UI5Date.getInstance} to create new date instances.
2681
+ *
2682
+ * **Note:** Adjusting the time zone in a running application can lead to unexpected data inconsistencies.
2683
+ * For more information, see {@link sap.ui.core.Configuration#setTimezone}.
2387
2684
  */
2388
2685
  export default class UI5Date extends Date {
2389
2686
  constructor();
@@ -2392,8 +2689,11 @@ declare module "sap/ui/core/date/UI5Date" {
2392
2689
  * Creates a date instance (either JavaScript Date or `UI5Date`) which considers the configured time zone
2393
2690
  * wherever JavaScript Date uses the local browser time zone, for example in `getDate`, `toString`, or `setHours`.
2394
2691
  * The supported parameters are the same as the ones supported by the JavaScript Date constructor.
2692
+ *
2693
+ * **Note:** Adjusting the time zone in a running application can lead to unexpected data inconsistencies.
2694
+ * For more information, see {@link sap.ui.core.Configuration#setTimezone}.
2395
2695
  * See:
2396
- * sap.ui.core.Configuration.getTimezone
2696
+ * sap.ui.core.Configuration#getTimezone
2397
2697
  *
2398
2698
  * @returns The date instance that considers the configured time zone in all local getters and setters.
2399
2699
  */
@@ -2407,23 +2707,23 @@ declare module "sap/ui/core/date/UI5Date" {
2407
2707
  */
2408
2708
  vMonthIndex?: int | string,
2409
2709
  /**
2410
- * Same meaning as in the Date constructor
2710
+ * Same meaning as in the JavaScript Date constructor
2411
2711
  */
2412
2712
  vDay?: int | string,
2413
2713
  /**
2414
- * Same meaning as in the Date constructor
2714
+ * Same meaning as in the JavaScript Date constructor
2415
2715
  */
2416
2716
  vHours?: int | string,
2417
2717
  /**
2418
- * Same meaning as in the Date constructor
2718
+ * Same meaning as in the JavaScript Date constructor
2419
2719
  */
2420
2720
  vMinutes?: int | string,
2421
2721
  /**
2422
- * Same meaning as in the Date constructor
2722
+ * Same meaning as in the JavaScript Date constructor
2423
2723
  */
2424
2724
  vSeconds?: int | string,
2425
2725
  /**
2426
- * Same meaning as in the Date constructor
2726
+ * Same meaning as in the JavaScript Date constructor
2427
2727
  */
2428
2728
  vMilliseconds?: int | string
2429
2729
  ): Date | UI5Date;
@@ -3216,12 +3516,12 @@ declare module "sap/ui/dom/includeScript" {
3216
3516
  /**
3217
3517
  * callback function to get notified once the script has been loaded
3218
3518
  */
3219
- fnLoadCallback?: Function,
3519
+ fnLoadCallback?: (p1: Event) => void,
3220
3520
  /**
3221
3521
  * callback function to get notified once the script loading failed
3222
3522
  */
3223
- fnErrorCallback?: Function
3224
- ): void | Promise<any>;
3523
+ fnErrorCallback?: (p1: Event) => void
3524
+ ): void | Promise<Event>;
3225
3525
  }
3226
3526
 
3227
3527
  declare module "sap/ui/dom/includeStylesheet" {
@@ -3268,12 +3568,12 @@ declare module "sap/ui/dom/includeStylesheet" {
3268
3568
  /**
3269
3569
  * callback function to get notified once the stylesheet has been loaded
3270
3570
  */
3271
- fnLoadCallback?: Function,
3571
+ fnLoadCallback?: (p1: Event) => void,
3272
3572
  /**
3273
3573
  * callback function to get notified once the stylesheet loading failed.
3274
3574
  */
3275
- fnErrorCallback?: Function
3276
- ): void | Promise<any>;
3575
+ fnErrorCallback?: (p1: Event) => void
3576
+ ): void | Promise<Event>;
3277
3577
  }
3278
3578
 
3279
3579
  declare module "sap/ui/events/checkMouseEnterOrLeave" {
@@ -3324,7 +3624,7 @@ declare module "sap/ui/events/ControlEvents" {
3324
3624
  /**
3325
3625
  * Callback function
3326
3626
  */
3327
- fnCallback: Function
3627
+ fnCallback: (p1: Event) => void
3328
3628
  ): void;
3329
3629
  /**
3330
3630
  * Unbinds all events for listening with the given callback function.
@@ -3333,7 +3633,7 @@ declare module "sap/ui/events/ControlEvents" {
3333
3633
  /**
3334
3634
  * Callback function
3335
3635
  */
3336
- fnCallback: Function
3636
+ fnCallback: (p1: Event) => void
3337
3637
  ): void;
3338
3638
  }
3339
3639
  const ControlEvents: ControlEvents;
@@ -3557,6 +3857,34 @@ declare module "sap/ui/events/PseudoEvents" {
3557
3857
  * @SINCE 1.58
3558
3858
  */
3559
3859
  interface PseudoEvents {
3860
+ /**
3861
+ * Map of all so called "pseudo events", a useful classification of standard browser events as implied by
3862
+ * SAP product standards.
3863
+ *
3864
+ * This map is intended to be used internally in UI5 framework and UI5 Controls.
3865
+ *
3866
+ * Whenever a browser event is recognized as one or more pseudo events, then this classification is attached
3867
+ * to the original {@link jQuery.Event} object and thereby delivered to any jQuery-style listeners registered
3868
+ * for that browser event.
3869
+ *
3870
+ * Pure JavaScript listeners can evaluate the classification information using the {@link jQuery.Event.prototype.isPseudoType}
3871
+ * method.
3872
+ *
3873
+ * Instead of using the procedure as described above, the SAPUI5 controls and elements should simply implement
3874
+ * an `onpseudo-event(oEvent)` method. It will be invoked only when that specific pseudo event has
3875
+ * been recognized. This simplifies event dispatching even further.
3876
+ */
3877
+ events: Record<
3878
+ string,
3879
+ {
3880
+ sName: string;
3881
+
3882
+ aTypes: string[];
3883
+
3884
+ fnCheck: (p1: Event) => boolean;
3885
+ }
3886
+ >;
3887
+
3560
3888
  /**
3561
3889
  * Ordered array of the {@link module:sap/ui/events/PseudoEvents.events}.
3562
3890
  *
@@ -3567,228 +3895,6 @@ declare module "sap/ui/events/PseudoEvents" {
3567
3895
  }
3568
3896
  const PseudoEvents: PseudoEvents;
3569
3897
  export default PseudoEvents;
3570
-
3571
- /**
3572
- * Enumeration of all so called "pseudo events", a useful classification of standard browser events as implied
3573
- * by SAP product standards.
3574
- *
3575
- * Whenever a browser event is recognized as one or more pseudo events, then this classification is attached
3576
- * to the original {@link jQuery.Event} object and thereby delivered to any jQuery-style listeners registered
3577
- * for that browser event.
3578
- *
3579
- * Pure JavaScript listeners can evaluate the classification information using the {@link jQuery.Event.prototype.isPseudoType}
3580
- * method.
3581
- *
3582
- * Instead of using the procedure as described above, the SAPUI5 controls and elements should simply implement
3583
- * an `onpseudo-event(oEvent)` method. It will be invoked only when that specific pseudo event has
3584
- * been recognized. This simplifies event dispatching even further.
3585
- */
3586
- export enum events {
3587
- /**
3588
- * Pseudo event for keyboard backspace without modifiers (Ctrl, Alt or Shift)
3589
- */
3590
- sapbackspace = "undefined",
3591
- /**
3592
- * Pseudo event for keyboard backspace with modifiers (Ctrl, Alt or Shift)
3593
- */
3594
- sapbackspacemodifiers = "undefined",
3595
- /**
3596
- * Pseudo event for pseudo bottom event
3597
- */
3598
- sapbottom = "undefined",
3599
- /**
3600
- * Pseudo event for pseudo collapse event (keyboard numpad -) without modifiers (Ctrl, Alt or Shift)
3601
- */
3602
- sapcollapse = "undefined",
3603
- /**
3604
- * Pseudo event for pseudo collapse event (keyboard numpad *)
3605
- */
3606
- sapcollapseall = "undefined",
3607
- /**
3608
- * Pseudo event for pseudo collapse event (keyboard numpad -) with modifiers (Ctrl, Alt or Shift)
3609
- */
3610
- sapcollapsemodifiers = "undefined",
3611
- /**
3612
- * Pseudo event for pseudo 'decrease' event without modifiers (Ctrl, Alt or Shift)
3613
- */
3614
- sapdecrease = "undefined",
3615
- /**
3616
- * Pseudo event for pseudo 'decrease' event with modifiers (Ctrl, Alt or Shift)
3617
- */
3618
- sapdecreasemodifiers = "undefined",
3619
- /**
3620
- * Pseudo event indicating delayed double click (e.g. for inline edit)
3621
- */
3622
- sapdelayeddoubleclick = "undefined",
3623
- /**
3624
- * Pseudo event for keyboard delete without modifiers (Ctrl, Alt or Shift)
3625
- */
3626
- sapdelete = "undefined",
3627
- /**
3628
- * Pseudo event for keyboard delete with modifiers (Ctrl, Alt or Shift)
3629
- */
3630
- sapdeletemodifiers = "undefined",
3631
- /**
3632
- * Pseudo event for keyboard arrow down without modifiers (Ctrl, Alt or Shift)
3633
- */
3634
- sapdown = "undefined",
3635
- /**
3636
- * Pseudo event for keyboard arrow down with modifiers (Ctrl, Alt or Shift)
3637
- */
3638
- sapdownmodifiers = "undefined",
3639
- /**
3640
- * Pseudo event for keyboard End without modifiers (Ctrl, Alt or Shift)
3641
- */
3642
- sapend = "undefined",
3643
- /**
3644
- * Pseudo event for keyboard End with modifiers (Ctrl, Alt or Shift)
3645
- */
3646
- sapendmodifiers = "undefined",
3647
- /**
3648
- * Pseudo event for keyboard enter without modifiers (Ctrl, Alt or Shift)
3649
- */
3650
- sapenter = "undefined",
3651
- /**
3652
- * Pseudo event for keyboard enter with modifiers (Ctrl, Alt or Shift)
3653
- */
3654
- sapentermodifiers = "undefined",
3655
- /**
3656
- * Pseudo event for keyboard escape
3657
- */
3658
- sapescape = "undefined",
3659
- /**
3660
- * Pseudo event for pseudo expand event (keyboard numpad +) without modifiers (Ctrl, Alt or Shift)
3661
- */
3662
- sapexpand = "undefined",
3663
- /**
3664
- * Pseudo event for pseudo expand event (keyboard numpad +) with modifiers (Ctrl, Alt or Shift)
3665
- */
3666
- sapexpandmodifiers = "undefined",
3667
- /**
3668
- * Pseudo event for pseudo 'hide' event (Alt + up-Arrow)
3669
- */
3670
- saphide = "undefined",
3671
- /**
3672
- * Pseudo event for keyboard Home/Pos1 with modifiers (Ctrl, Alt or Shift)
3673
- */
3674
- saphome = "undefined",
3675
- /**
3676
- * Pseudo event for keyboard Home/Pos1 without modifiers (Ctrl, Alt or Shift)
3677
- */
3678
- saphomemodifiers = "undefined",
3679
- /**
3680
- * Pseudo event for pseudo 'increase' event without modifiers (Ctrl, Alt or Shift)
3681
- */
3682
- sapincrease = "undefined",
3683
- /**
3684
- * Pseudo event for pseudo 'increase' event with modifiers (Ctrl, Alt or Shift)
3685
- */
3686
- sapincreasemodifiers = "undefined",
3687
- /**
3688
- * Pseudo event for keyboard arrow left without modifiers (Ctrl, Alt or Shift)
3689
- */
3690
- sapleft = "undefined",
3691
- /**
3692
- * Pseudo event for keyboard arrow left with modifiers (Ctrl, Alt or Shift)
3693
- */
3694
- sapleftmodifiers = "undefined",
3695
- /**
3696
- * Pseudo event for pressing the '-' (minus) sign.
3697
- */
3698
- sapminus = "undefined",
3699
- /**
3700
- * Pseudo event for pseudo 'next' event without modifiers (Ctrl, Alt or Shift)
3701
- */
3702
- sapnext = "undefined",
3703
- /**
3704
- * Pseudo event for pseudo 'next' event with modifiers (Ctrl, Alt or Shift)
3705
- */
3706
- sapnextmodifiers = "undefined",
3707
- /**
3708
- * Pseudo event for keyboard page down without modifiers (Ctrl, Alt or Shift)
3709
- */
3710
- sappagedown = "undefined",
3711
- /**
3712
- * Pseudo event for keyboard page down with modifiers (Ctrl, Alt or Shift)
3713
- */
3714
- sappagedownmodifiers = "undefined",
3715
- /**
3716
- * Pseudo event for keyboard page up without modifiers (Ctrl, Alt or Shift)
3717
- */
3718
- sappageup = "undefined",
3719
- /**
3720
- * Pseudo event for keyboard page up with modifiers (Ctrl, Alt or Shift)
3721
- */
3722
- sappageupmodifiers = "undefined",
3723
- /**
3724
- * Pseudo event for pressing the '+' (plus) sign.
3725
- */
3726
- sapplus = "undefined",
3727
- /**
3728
- * Pseudo event for pseudo 'previous' event without modifiers (Ctrl, Alt or Shift)
3729
- */
3730
- sapprevious = "undefined",
3731
- /**
3732
- * Pseudo event for pseudo 'previous' event with modifiers (Ctrl, Alt or Shift)
3733
- */
3734
- sappreviousmodifiers = "undefined",
3735
- /**
3736
- * Pseudo event for keyboard arrow right without modifiers (Ctrl, Alt or Shift)
3737
- */
3738
- sapright = "undefined",
3739
- /**
3740
- * Pseudo event for keyboard arrow right with modifiers (Ctrl, Alt or Shift)
3741
- */
3742
- saprightmodifiers = "undefined",
3743
- /**
3744
- * Pseudo event for pseudo 'select' event... space, enter, ... without modifiers (Ctrl, Alt or Shift)
3745
- */
3746
- sapselect = "undefined",
3747
- /**
3748
- * Pseudo event for pseudo 'select' event... space, enter, ... with modifiers (Ctrl, Alt or Shift)
3749
- */
3750
- sapselectmodifiers = "undefined",
3751
- /**
3752
- * Pseudo event for pseudo 'show' event (F4, Alt + down-Arrow)
3753
- */
3754
- sapshow = "undefined",
3755
- /**
3756
- * Pseudo event for pseudo skip back (F6 + shift modifier or ctrl + alt + ArrowUp)
3757
- */
3758
- sapskipback = "undefined",
3759
- /**
3760
- * Pseudo event for pseudo skip forward (F6 + no modifier or ctrl + alt + ArrowDown)
3761
- */
3762
- sapskipforward = "undefined",
3763
- /**
3764
- * Pseudo event for keyboard space without modifiers (Ctrl, Alt or Shift)
3765
- */
3766
- sapspace = "undefined",
3767
- /**
3768
- * Pseudo event for keyboard space with modifiers (Ctrl, Alt or Shift)
3769
- */
3770
- sapspacemodifiers = "undefined",
3771
- /**
3772
- * Pseudo event for keyboard tab (TAB + no modifier)
3773
- */
3774
- saptabnext = "undefined",
3775
- /**
3776
- * Pseudo event for keyboard tab (TAB + shift modifier)
3777
- */
3778
- saptabprevious = "undefined",
3779
- /**
3780
- * Pseudo event for pseudo top event
3781
- */
3782
- saptop = "undefined",
3783
- /**
3784
- * Pseudo event for keyboard arrow up without modifiers (Ctrl, Alt or Shift)
3785
- */
3786
- sapup = "undefined",
3787
- /**
3788
- * Pseudo event for keyboard arrow up with modifiers (Ctrl, Alt or Shift)
3789
- */
3790
- sapupmodifiers = "undefined",
3791
- }
3792
3898
  }
3793
3899
 
3794
3900
  declare module "sap/ui/model/FilterProcessor" {
@@ -3831,7 +3937,7 @@ declare module "sap/ui/performance/Measurement" {
3831
3937
  *
3832
3938
  * This is useful to add external measurements (e.g. from a backend) to the common measurement UI
3833
3939
  *
3834
- * @returns [] current measurement containing id, info and start-timestamp, end-timestamp, time, duration,
3940
+ * @returns current measurement containing id, info and start-timestamp, end-timestamp, time, duration,
3835
3941
  * categories (false if error)
3836
3942
  */
3837
3943
  add(
@@ -3863,7 +3969,7 @@ declare module "sap/ui/performance/Measurement" {
3863
3969
  * An optional list of categories for the measure
3864
3970
  */
3865
3971
  aCategories?: string | string[]
3866
- ): object;
3972
+ ): Entry | boolean | undefined;
3867
3973
  /**
3868
3974
  * Starts an average performance measure.
3869
3975
  *
@@ -3885,7 +3991,7 @@ declare module "sap/ui/performance/Measurement" {
3885
3991
  * An optional list of categories for the measure
3886
3992
  */
3887
3993
  aCategories?: string | string[]
3888
- ): object;
3994
+ ): Entry | boolean | undefined;
3889
3995
  /**
3890
3996
  * Clears all performance measurements.
3891
3997
  */
@@ -3901,7 +4007,7 @@ declare module "sap/ui/performance/Measurement" {
3901
4007
  * ID of the measurement
3902
4008
  */
3903
4009
  sId: string
3904
- ): object;
4010
+ ): Entry | boolean | undefined;
3905
4011
  /**
3906
4012
  * Gets all performance measurements where a provided filter function returns a truthy value.
3907
4013
  *
@@ -3916,7 +4022,7 @@ declare module "sap/ui/performance/Measurement" {
3916
4022
  /**
3917
4023
  * a filter function that returns true if the passed measurement should be added to the result
3918
4024
  */
3919
- fnFilter?: Function,
4025
+ fnFilter?: (p1: Entry) => void,
3920
4026
  /**
3921
4027
  * Optional parameter to determine if either completed or incomplete measurements should be returned (both
3922
4028
  * if not set or undefined)
@@ -3945,7 +4051,7 @@ declare module "sap/ui/performance/Measurement" {
3945
4051
  * are returned
3946
4052
  */
3947
4053
  bCompleted?: boolean
3948
- ): Entry;
4054
+ ): Entry[];
3949
4055
  /**
3950
4056
  * Gets a performance measure.
3951
4057
  *
@@ -3957,7 +4063,7 @@ declare module "sap/ui/performance/Measurement" {
3957
4063
  * ID of the measurement
3958
4064
  */
3959
4065
  sId: string
3960
- ): Entry;
4066
+ ): Entry | boolean;
3961
4067
  /**
3962
4068
  * Pauses a performance measure.
3963
4069
  *
@@ -3968,7 +4074,7 @@ declare module "sap/ui/performance/Measurement" {
3968
4074
  * ID of the measurement
3969
4075
  */
3970
4076
  sId: string
3971
- ): object;
4077
+ ): Entry | boolean | undefined;
3972
4078
  /**
3973
4079
  * Registers an average measurement for a given objects method.
3974
4080
  *
@@ -4011,7 +4117,7 @@ declare module "sap/ui/performance/Measurement" {
4011
4117
  * ID of the measurement
4012
4118
  */
4013
4119
  sId: string
4014
- ): object;
4120
+ ): Entry | boolean | undefined;
4015
4121
  /**
4016
4122
  * Activates or deactivates the performance measure functionality.
4017
4123
  *
@@ -4050,7 +4156,7 @@ declare module "sap/ui/performance/Measurement" {
4050
4156
  * An optional list of categories for the measure
4051
4157
  */
4052
4158
  aCategories?: string | string[]
4053
- ): object;
4159
+ ): Entry | boolean | undefined;
4054
4160
  /**
4055
4161
  * Unregisters all average measurements.
4056
4162
  */
@@ -4156,6 +4262,8 @@ declare module "sap/ui/performance/trace/FESRHelper" {
4156
4262
  }
4157
4263
 
4158
4264
  declare module "sap/ui/performance/trace/Interaction" {
4265
+ import { Entry as Entry1 } from "sap/ui/performance/Measurement";
4266
+
4159
4267
  /**
4160
4268
  * @SINCE 1.76
4161
4269
  *
@@ -4186,7 +4294,7 @@ declare module "sap/ui/performance/trace/Interaction" {
4186
4294
  * a filter function that returns true if the passed measurement should be added to the result
4187
4295
  */
4188
4296
  fnFilter: Function
4189
- ): object[];
4297
+ ): Entry[];
4190
4298
  /**
4191
4299
  * @SINCE 1.76
4192
4300
  *
@@ -4207,7 +4315,7 @@ declare module "sap/ui/performance/trace/Interaction" {
4207
4315
  * finalize the current pending interaction so that it is contained in the returned array
4208
4316
  */
4209
4317
  bFinalize: boolean
4210
- ): object[];
4318
+ ): Entry[];
4211
4319
  /**
4212
4320
  * @SINCE 1.76
4213
4321
  *
@@ -4222,6 +4330,114 @@ declare module "sap/ui/performance/trace/Interaction" {
4222
4330
  }
4223
4331
  const Interaction: Interaction;
4224
4332
  export default Interaction;
4333
+
4334
+ /**
4335
+ * Interaction Entry
4336
+ */
4337
+ export type Entry = {
4338
+ /**
4339
+ * The event which triggered the interaction. The default value is "startup".
4340
+ */
4341
+ event: string;
4342
+ /**
4343
+ * The control which triggered the interaction.
4344
+ */
4345
+ trigger: string;
4346
+ /**
4347
+ * The identifier of the component or app that is associated with the interaction.
4348
+ */
4349
+ component: string;
4350
+ /**
4351
+ * The application version as from app descriptor
4352
+ */
4353
+ appVersion: string;
4354
+ /**
4355
+ * The start timestamp of the interaction which is initially set to the `fetchStart`
4356
+ */
4357
+ start: float;
4358
+ /**
4359
+ * The end timestamp of the interaction
4360
+ */
4361
+ end: float;
4362
+ /**
4363
+ * The sum over all navigation times
4364
+ */
4365
+ navigation: float;
4366
+ /**
4367
+ * The time from first request sent to last received response end - without gaps and ignored overlap
4368
+ */
4369
+ roundtrip: float;
4370
+ /**
4371
+ * The client processing time
4372
+ */
4373
+ processing: float;
4374
+ /**
4375
+ * The interaction duration
4376
+ */
4377
+ duration: float;
4378
+ /**
4379
+ * The Performance API requests during interaction
4380
+ */
4381
+ requests: PerformanceResourceTiming[];
4382
+ /**
4383
+ * The Performance measurements
4384
+ */
4385
+ measurements: Entry1[];
4386
+ /**
4387
+ * The SAP Statistics for OData
4388
+ */
4389
+ sapStatistics: SAPStatistics[];
4390
+ /**
4391
+ * The sum over all requests in the interaction
4392
+ */
4393
+ requestTime: float;
4394
+ /**
4395
+ * The request time minus server time from the header
4396
+ */
4397
+ networkTime: float;
4398
+ /**
4399
+ * The sum over all requests bytes
4400
+ */
4401
+ bytesSent: int;
4402
+ /**
4403
+ * The sum over all responses bytes
4404
+ */
4405
+ bytesReceived: int;
4406
+ /**
4407
+ * It's set with value "X" by default When compression does not match SAP rules, we report an empty string.
4408
+ */
4409
+ requestCompression: "X" | "";
4410
+ /**
4411
+ * The sum of the global busy indicator duration during the interaction
4412
+ */
4413
+ busyDuration: float;
4414
+ /**
4415
+ * The ID of the interaction
4416
+ */
4417
+ id: string;
4418
+ /**
4419
+ * The default PassportAction for startup
4420
+ */
4421
+ passportAction: string;
4422
+ };
4423
+
4424
+ /**
4425
+ * The SAP Statistics for OData
4426
+ */
4427
+ export type SAPStatistics = {
4428
+ /**
4429
+ * The url of the response
4430
+ */
4431
+ url: string;
4432
+ /**
4433
+ * The response header under the key "sap-statistics"
4434
+ */
4435
+ statistics: string;
4436
+ /**
4437
+ * The last performance resource timing
4438
+ */
4439
+ timing: PerformanceResourceTiming;
4440
+ };
4225
4441
  }
4226
4442
 
4227
4443
  declare module "sap/ui/test/opaQunit" {
@@ -4442,7 +4658,37 @@ declare module "sap/ui/util/Mobile" {
4442
4658
  * by using icons with glare effect, so the "precomposed" property can be set to "true". Some Android devices
4443
4659
  * may also use the favicon for bookmarks instead of the home icons.
4444
4660
  */
4445
- setIcons(oIcons: object): void;
4661
+ setIcons(
4662
+ /**
4663
+ * Icon settings
4664
+ */
4665
+ oIcons: {
4666
+ /**
4667
+ * a 120x120 pixel version for iPhones with low pixel density
4668
+ */
4669
+ phone?: string;
4670
+ /**
4671
+ * a 152x152 pixel version for iPads with low pixel density
4672
+ */
4673
+ tablet?: string;
4674
+ /**
4675
+ * a 180x180 pixel version for iPhones with high pixel density
4676
+ */
4677
+ "phone@2"?: string;
4678
+ /**
4679
+ * a 167x167 pixel version for iPads with high pixel density
4680
+ */
4681
+ "tablet@2"?: string;
4682
+ /**
4683
+ * whether the home icons already have some glare effect (otherwise iOS will add it)
4684
+ */
4685
+ precomposed?: boolean;
4686
+ /**
4687
+ * the ICO file to be used inside the browser and for desktop shortcuts
4688
+ */
4689
+ favicon?: string;
4690
+ }
4691
+ ): void;
4446
4692
  /**
4447
4693
  * Sets the "apple-mobile-web-app-capable" and "mobile-web-app-capable" meta information which defines whether
4448
4694
  * the application is loaded in full screen mode (browser address bar and toolbar are hidden) after the
@@ -6170,7 +6416,7 @@ declare module "sap/ui/base/ManagedObject" {
6170
6416
  /**
6171
6417
  * the settings to apply to this managed object
6172
6418
  */
6173
- mSettings: object,
6419
+ mSettings: $ManagedObjectSettings,
6174
6420
  /**
6175
6421
  * Scope object to resolve types and formatters
6176
6422
  */
@@ -7011,9 +7257,9 @@ declare module "sap/ui/base/ManagedObject" {
7011
7257
  */
7012
7258
  sAssociationName: string,
7013
7259
  /**
7014
- * the object that is used in case the current aggregation is empty (only null or empty array allowed)
7260
+ * the value that is used in case the current aggregation is empty (only null or empty array is allowed)
7015
7261
  */
7016
- oDefaultForCreation: object
7262
+ oDefaultForCreation: null | any[]
7017
7263
  ): string | string[] | null;
7018
7264
  /**
7019
7265
  * Get the binding object for a specific aggregation/property.
@@ -7066,7 +7312,7 @@ declare module "sap/ui/base/ManagedObject" {
7066
7312
  * Name of the property or aggregation
7067
7313
  */
7068
7314
  sName: string
7069
- ): object;
7315
+ ): PropertyBindingInfo | AggregationBindingInfo;
7070
7316
  /**
7071
7317
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
7072
7318
  *
@@ -7159,14 +7405,18 @@ declare module "sap/ui/base/ManagedObject" {
7159
7405
  *
7160
7406
  * If no origin info is available, `null` will be returned.
7161
7407
  *
7162
- * @returns An object describing the origin of this property's value or `null`
7408
+ * @returns |null} An object describing the origin of this property's value or `null`
7163
7409
  */
7164
7410
  getOriginInfo(
7165
7411
  /**
7166
7412
  * Name of the property
7167
7413
  */
7168
7414
  sPropertyName: string
7169
- ): object | null;
7415
+ ): {
7416
+ source: string;
7417
+
7418
+ locale: string;
7419
+ };
7170
7420
  /**
7171
7421
  * @SINCE 1.88.0
7172
7422
  *
@@ -7617,7 +7867,7 @@ declare module "sap/ui/base/ManagedObject" {
7617
7867
  /**
7618
7868
  * the managed object that is set as aggregated object
7619
7869
  */
7620
- oObject: object,
7870
+ oObject: ManagedObject,
7621
7871
  /**
7622
7872
  * if true, this ManagedObject is not marked as changed
7623
7873
  */
@@ -7951,7 +8201,7 @@ declare module "sap/ui/base/ManagedObject" {
7951
8201
  * used for the created object and the binding context for which the object has to be created; the function
7952
8202
  * must return an object appropriate for the bound aggregation
7953
8203
  */
7954
- factory?: Function;
8204
+ factory?: (p1: string, p2: Context) => ManagedObject;
7955
8205
  /**
7956
8206
  * Whether the binding should be suspended initially
7957
8207
  */
@@ -7976,7 +8226,7 @@ declare module "sap/ui/base/ManagedObject" {
7976
8226
  * Name of the key property or a function getting the context as only parameter to calculate a key for entries.
7977
8227
  * This can be used to improve update behaviour in models, where a key is not already available.
7978
8228
  */
7979
- key?: string | Function;
8229
+ key?: string | ((p1: Context) => string);
7980
8230
  /**
7981
8231
  * Map of additional parameters for this binding; the names and value ranges of the supported parameters
7982
8232
  * depend on the model implementation, they should be documented with the `bindList` method of the corresponding
@@ -7987,7 +8237,7 @@ declare module "sap/ui/base/ManagedObject" {
7987
8237
  * A factory function to generate custom group visualization (optional). It should return a control suitable
7988
8238
  * to visualize a group header (e.g. a `sap.m.GroupHeaderListItem` for a `sap.m.List`).
7989
8239
  */
7990
- groupHeaderFactory?: Function;
8240
+ groupHeaderFactory?: (p1: { key: string }) => ManagedObject;
7991
8241
  /**
7992
8242
  * Map of event handler functions keyed by the name of the binding events that they should be attached to
7993
8243
  */
@@ -8258,7 +8508,7 @@ declare module "sap/ui/base/ManagedObject" {
8258
8508
  /**
8259
8509
  * Map of event handler functions keyed by the name of the binding events that they should be attached to
8260
8510
  */
8261
- events?: object;
8511
+ events?: Record<string, Function>;
8262
8512
  /**
8263
8513
  * Array of binding info objects for the parts of a composite binding; the structure of each binding info
8264
8514
  * is the same as described for the `oBindingInfo` as a whole.
@@ -8625,7 +8875,11 @@ declare module "sap/ui/base/ManagedObject" {
8625
8875
  declare module "sap/ui/base/ManagedObjectMetadata" {
8626
8876
  import Metadata from "sap/ui/base/Metadata";
8627
8877
 
8628
- import ManagedObject from "sap/ui/base/ManagedObject";
8878
+ import {
8879
+ MetadataOptions,
8880
+ default as ManagedObject,
8881
+ MetadataOptions as MetadataOptions1,
8882
+ } from "sap/ui/base/ManagedObject";
8629
8883
 
8630
8884
  /**
8631
8885
  * @SINCE 0.8.6
@@ -8672,7 +8926,12 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8672
8926
  /**
8673
8927
  * static info to construct the metadata from
8674
8928
  */
8675
- oClassInfo: object
8929
+ oClassInfo: {
8930
+ /**
8931
+ * The metadata object describing the class
8932
+ */
8933
+ metadata?: MetadataOptions;
8934
+ }
8676
8935
  );
8677
8936
 
8678
8937
  /**
@@ -8778,7 +9037,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8778
9037
  * name of the aggregation or empty
8779
9038
  */
8780
9039
  sName?: string
8781
- ): Object | undefined;
9040
+ ): MetadataOptions1.Aggregation | undefined;
8782
9041
  /**
8783
9042
  * Returns a map of info objects for the public aggregations of the described class. Aggregations declared
8784
9043
  * by ancestor classes are not included.
@@ -8792,7 +9051,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8792
9051
  *
8793
9052
  * @returns Map of aggregation info objects keyed by aggregation names
8794
9053
  */
8795
- getAggregations(): Record<string, Object>;
9054
+ getAggregations(): Record<string, MetadataOptions1.Aggregation>;
8796
9055
  /**
8797
9056
  * Returns a map of info objects for all public aggregations of the described class, including public aggregations
8798
9057
  * form the ancestor classes.
@@ -8806,7 +9065,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8806
9065
  *
8807
9066
  * @returns Map of aggregation info objects keyed by aggregation names
8808
9067
  */
8809
- getAllAggregations(): Record<string, Object>;
9068
+ getAllAggregations(): Record<string, MetadataOptions1.Aggregation>;
8810
9069
  /**
8811
9070
  * Returns a map of info objects for all public associations of the described class, including public associations
8812
9071
  * form the ancestor classes.
@@ -8820,7 +9079,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8820
9079
  *
8821
9080
  * @returns Map of association info objects keyed by association names
8822
9081
  */
8823
- getAllAssociations(): Record<string, Object>;
9082
+ getAllAssociations(): Record<string, MetadataOptions1.Association>;
8824
9083
  /**
8825
9084
  * Returns a map of info objects for all public events of the described class, including public events form
8826
9085
  * the ancestor classes.
@@ -8833,7 +9092,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8833
9092
  *
8834
9093
  * @returns Map of event info objects keyed by event names
8835
9094
  */
8836
- getAllEvents(): Record<string, Object>;
9095
+ getAllEvents(): Record<string, MetadataOptions1.Event>;
8837
9096
  /**
8838
9097
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
8839
9098
  *
@@ -8849,7 +9108,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8849
9108
  *
8850
9109
  * @returns Map of aggregation info objects keyed by aggregation names
8851
9110
  */
8852
- getAllPrivateAggregations(): Record<string, Object>;
9111
+ getAllPrivateAggregations(): Record<string, MetadataOptions1.Aggregation>;
8853
9112
  /**
8854
9113
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
8855
9114
  *
@@ -8865,7 +9124,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8865
9124
  *
8866
9125
  * @returns Map of association info objects keyed by association names
8867
9126
  */
8868
- getAllPrivateAssociations(): Record<string, Object>;
9127
+ getAllPrivateAssociations(): Record<string, MetadataOptions1.Association>;
8869
9128
  /**
8870
9129
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
8871
9130
  *
@@ -8880,7 +9139,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8880
9139
  *
8881
9140
  * @returns Map of property info objects keyed by property names
8882
9141
  */
8883
- getAllPrivateProperties(): Record<string, Object>;
9142
+ getAllPrivateProperties(): Record<string, MetadataOptions1.Property>;
8884
9143
  /**
8885
9144
  * Returns a map of info objects for all public properties of the described class, including public properties
8886
9145
  * from the ancestor classes.
@@ -8893,7 +9152,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8893
9152
  *
8894
9153
  * @returns Map of property info objects keyed by the property names
8895
9154
  */
8896
- getAllProperties(): Record<string, Object>;
9155
+ getAllProperties(): Record<string, MetadataOptions1.Property>;
8897
9156
  /**
8898
9157
  * @SINCE 1.27.0
8899
9158
  *
@@ -8914,7 +9173,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8914
9173
  * name of the association
8915
9174
  */
8916
9175
  sName: string
8917
- ): Object | undefined;
9176
+ ): MetadataOptions1.Association | undefined;
8918
9177
  /**
8919
9178
  * Returns a map of info objects for all public associations of the described class. Associations declared
8920
9179
  * by ancestor classes are not included.
@@ -8928,7 +9187,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8928
9187
  *
8929
9188
  * @returns Map of association info objects keyed by association names
8930
9189
  */
8931
- getAssociations(): Record<string, Object>;
9190
+ getAssociations(): Record<string, MetadataOptions1.Association>;
8932
9191
  /**
8933
9192
  * @SINCE 1.73
8934
9193
  *
@@ -8939,7 +9198,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8939
9198
  *
8940
9199
  * @returns An info object for the default aggregation
8941
9200
  */
8942
- getDefaultAggregation(): Object;
9201
+ getDefaultAggregation(): MetadataOptions1.Aggregation;
8943
9202
  /**
8944
9203
  * @SINCE 1.73
8945
9204
  *
@@ -8971,7 +9230,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8971
9230
  * name of the event
8972
9231
  */
8973
9232
  sName: string
8974
- ): Object | undefined;
9233
+ ): MetadataOptions1.Event | undefined;
8975
9234
  /**
8976
9235
  * Returns a map of info objects for the public events of the described class. Events declared by ancestor
8977
9236
  * classes are not included.
@@ -8984,7 +9243,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
8984
9243
  *
8985
9244
  * @returns Map of event info objects keyed by event names
8986
9245
  */
8987
- getEvents(): Record<string, Object>;
9246
+ getEvents(): Record<string, MetadataOptions1.Event>;
8988
9247
  /**
8989
9248
  * Returns the name of the library that contains the described UIElement.
8990
9249
  *
@@ -9011,7 +9270,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
9011
9270
  * name of the aggregation to be retrieved or empty
9012
9271
  */
9013
9272
  sAggregationName: string
9014
- ): object | undefined;
9273
+ ): MetadataOptions1.Aggregation | undefined;
9015
9274
  /**
9016
9275
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
9017
9276
  *
@@ -9029,7 +9288,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
9029
9288
  * name of the association to be retrieved
9030
9289
  */
9031
9290
  sName: string
9032
- ): object | undefined;
9291
+ ): MetadataOptions1.Association | undefined;
9033
9292
  /**
9034
9293
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
9035
9294
  *
@@ -9050,7 +9309,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
9050
9309
  * name of the property to be retrieved or empty
9051
9310
  */
9052
9311
  sName: string
9053
- ): object | undefined;
9312
+ ): MetadataOptions1.Property | undefined;
9054
9313
  /**
9055
9314
  * Returns a map of info objects for the public properties of the described class. Properties declared by
9056
9315
  * ancestor classes are not included.
@@ -9063,7 +9322,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
9063
9322
  *
9064
9323
  * @returns Map of property info objects keyed by the property names
9065
9324
  */
9066
- getProperties(): Record<string, Object>;
9325
+ getProperties(): Record<string, MetadataOptions1.Property>;
9067
9326
  /**
9068
9327
  * @SINCE 1.27.0
9069
9328
  *
@@ -9084,7 +9343,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
9084
9343
  * name of the property
9085
9344
  */
9086
9345
  sName: string
9087
- ): Object | undefined;
9346
+ ): MetadataOptions1.Property | undefined;
9088
9347
  /**
9089
9348
  * Returns a map of default values for all properties declared by the described class and its ancestors,
9090
9349
  * keyed by the property name.
@@ -9113,7 +9372,7 @@ declare module "sap/ui/base/ManagedObjectMetadata" {
9113
9372
  * name of the property like setting
9114
9373
  */
9115
9374
  sName: string
9116
- ): Object | undefined;
9375
+ ): MetadataOptions1.Property | MetadataOptions1.Aggregation | undefined;
9117
9376
  /**
9118
9377
  * Checks the existence of the given public aggregation by its name.
9119
9378
  *
@@ -11818,7 +12077,7 @@ declare module "sap/ui/core/Component" {
11818
12077
  /**
11819
12078
  * Settings of the new Component
11820
12079
  */
11821
- settings?: object;
12080
+ settings?: $ComponentSettings;
11822
12081
  /**
11823
12082
  * Whether and from where to load the manifest.json for the Component. When set to any truthy value, the
11824
12083
  * manifest will be loaded and evaluated before the Component controller. If it is set to a falsy value,
@@ -12141,13 +12400,13 @@ declare module "sap/ui/core/Component" {
12141
12400
  /**
12142
12401
  * Settings for the nested component like for {#link sap.ui.component} or the component constructor
12143
12402
  */
12144
- settings?: object;
12403
+ settings?: $ComponentSettings;
12145
12404
  /**
12146
12405
  * Initial data of the component (@see sap.ui.core.Component#getComponentData)
12147
12406
  */
12148
12407
  componentData?: object;
12149
12408
  }
12150
- ): Component | Promise<any>;
12409
+ ): Component | Promise<Component>;
12151
12410
  /**
12152
12411
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
12153
12412
  *
@@ -12305,7 +12564,7 @@ declare module "sap/ui/core/Component" {
12305
12564
  * Local service alias as defined in the manifest.json
12306
12565
  */
12307
12566
  sLocalServiceAlias: string
12308
- ): Promise<any>;
12567
+ ): Promise</* was: sap.ui.core.service.Service */ any>;
12309
12568
  /**
12310
12569
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
12311
12570
  *
@@ -12539,6 +12798,8 @@ declare module "sap/ui/core/ComponentContainer" {
12539
12798
 
12540
12799
  import ElementMetadata from "sap/ui/core/ElementMetadata";
12541
12800
 
12801
+ import { $ComponentSettings } from "sap/ui/core/Component";
12802
+
12542
12803
  import { PropertyBindingInfo } from "sap/ui/base/ManagedObject";
12543
12804
 
12544
12805
  /**
@@ -12923,7 +13184,7 @@ declare module "sap/ui/core/ComponentContainer" {
12923
13184
  *
12924
13185
  * @returns Value of property `settings`
12925
13186
  */
12926
- getSettings(): object;
13187
+ getSettings(): $ComponentSettings;
12927
13188
  /**
12928
13189
  * Gets current value of property {@link #getUrl url}.
12929
13190
  *
@@ -13131,7 +13392,7 @@ declare module "sap/ui/core/ComponentContainer" {
13131
13392
  /**
13132
13393
  * New value for property `settings`
13133
13394
  */
13134
- oSettings?: object
13395
+ oSettings?: $ComponentSettings
13135
13396
  ): this;
13136
13397
  /**
13137
13398
  * Sets a new value for property {@link #getUrl url}.
@@ -13216,7 +13477,7 @@ declare module "sap/ui/core/ComponentContainer" {
13216
13477
  /**
13217
13478
  * The settings object passed to the component when created. This property can only be applied initially.
13218
13479
  */
13219
- settings?: object | PropertyBindingInfo | `{${string}}`;
13480
+ settings?: $ComponentSettings | PropertyBindingInfo | `{${string}}`;
13220
13481
 
13221
13482
  /**
13222
13483
  * Defines whether binding information is propagated to the component.
@@ -13303,6 +13564,8 @@ declare module "sap/ui/core/ComponentContainer" {
13303
13564
  declare module "sap/ui/core/ComponentMetadata" {
13304
13565
  import ManagedObjectMetadata from "sap/ui/base/ManagedObjectMetadata";
13305
13566
 
13567
+ import { MetadataOptions } from "sap/ui/core/Component";
13568
+
13306
13569
  import Manifest from "sap/ui/core/Manifest";
13307
13570
 
13308
13571
  /**
@@ -13320,7 +13583,12 @@ declare module "sap/ui/core/ComponentMetadata" {
13320
13583
  /**
13321
13584
  * Static info to construct the metadata from
13322
13585
  */
13323
- oClassInfo: object
13586
+ oClassInfo: {
13587
+ /**
13588
+ * The metadata object describing the class
13589
+ */
13590
+ metadata?: MetadataOptions;
13591
+ }
13324
13592
  );
13325
13593
 
13326
13594
  /**
@@ -13532,6 +13800,8 @@ declare module "sap/ui/core/Configuration" {
13532
13800
 
13533
13801
  import Metadata from "sap/ui/base/Metadata";
13534
13802
 
13803
+ import { URI } from "sap/ui/core/library";
13804
+
13535
13805
  import CalendarType from "sap/ui/core/CalendarType";
13536
13806
 
13537
13807
  import BaseObject from "sap/ui/base/Object";
@@ -13863,7 +14133,7 @@ declare module "sap/ui/core/Configuration" {
13863
14133
  *
13864
14134
  * @returns the security token handlers (an empty array if there are none)
13865
14135
  */
13866
- getSecurityTokenHandlers(): Function[];
14136
+ getSecurityTokenHandlers(): Array<(p1: URI) => Promise<any>>;
13867
14137
  /**
13868
14138
  * @SINCE 1.106.0
13869
14139
  *
@@ -13884,10 +14154,6 @@ declare module "sap/ui/core/Configuration" {
13884
14154
  /**
13885
14155
  * @SINCE 1.99.0
13886
14156
  *
13887
- * **Note: Due to compatibility considerations, the time zone can only be changed for test purposes via
13888
- * the `sap-timezone` URL parameter. If this parameter is not set, the time zone of the browser/host system
13889
- * is returned.**
13890
- *
13891
14157
  * Retrieves the configured IANA timezone ID.
13892
14158
  *
13893
14159
  * @returns The configured IANA timezone ID, e.g. "America/New_York"
@@ -14081,16 +14347,19 @@ declare module "sap/ui/core/Configuration" {
14081
14347
  /**
14082
14348
  * The security token handlers
14083
14349
  */
14084
- aSecurityTokenHandlers: Function[]
14350
+ aSecurityTokenHandlers: Array<(p1: URI) => Promise<any>>
14085
14351
  ): void;
14086
14352
  /**
14087
14353
  * @SINCE 1.99.0
14088
14354
  *
14089
- * **Note: Due to compatibility considerations, this function has no effect in this release. The timezone
14090
- * configuration will always reflect the timezone of the browser/host system.**
14091
- *
14092
14355
  * Sets the timezone such that all date and time based calculations use this timezone.
14093
14356
  *
14357
+ * **Important:** It is strongly recommended to only use this API at the earliest point of time while initializing
14358
+ * a UI5 app. A later adjustment of the time zone should be avoided. It can lead to unexpected data inconsistencies
14359
+ * in a running application, because date objects could still be related to a previously configured time
14360
+ * zone. Instead, the app should be completely restarted with the new time zone. For more information, see
14361
+ * {@link topic:6c9e61dc157a40c19460660ece8368bc Dates, Times, Timestamps, and Time Zones}.
14362
+ *
14094
14363
  * When the timezone has changed, the Core will fire its {@link sap.ui.core.Core#event:localizationChanged
14095
14364
  * localizationChanged} event.
14096
14365
  *
@@ -14116,7 +14385,24 @@ declare module "sap/ui/core/Configuration" {
14116
14385
  * scenarios or levels. The implementation of the Control (JavaScript or CSS) has to be done differently
14117
14386
  * for each animation mode.
14118
14387
  */
14119
- export enum AnimationMode {}
14388
+ export enum AnimationMode {
14389
+ /**
14390
+ * `basic` can be used for a reduced, more light-weight set of animations.
14391
+ */
14392
+ basic = "undefined",
14393
+ /**
14394
+ * `full` represents a mode with unrestricted animation capabilities.
14395
+ */
14396
+ full = "undefined",
14397
+ /**
14398
+ * `minimal` includes animations of fundamental functionality.
14399
+ */
14400
+ minimal = "undefined",
14401
+ /**
14402
+ * `none` deactivates the animation completely.
14403
+ */
14404
+ none = "undefined",
14405
+ }
14120
14406
  /**
14121
14407
  * Encapsulates configuration settings that are related to data formatting/parsing.
14122
14408
  *
@@ -14168,14 +14454,14 @@ declare module "sap/ui/core/Configuration" {
14168
14454
  /**
14169
14455
  * adds to the currency map
14170
14456
  */
14171
- mCurrencies: object
14457
+ mCurrencies: Record<string, object>
14172
14458
  ): this;
14173
14459
  /**
14174
14460
  * Retrieves the custom currencies. E.g. ` { "KWD": {"digits": 3}, "TND" : {"digits": 3} } `
14175
14461
  *
14176
14462
  * @returns the mapping between custom currencies and its digits
14177
14463
  */
14178
- getCustomCurrencies(): object;
14464
+ getCustomCurrencies(): Record<string, object>;
14179
14465
  /**
14180
14466
  * Returns the currently set date pattern or undefined if no pattern has been defined.
14181
14467
  */
@@ -14196,10 +14482,9 @@ declare module "sap/ui/core/Configuration" {
14196
14482
  /**
14197
14483
  * Returns the currently set customizing data for Islamic calendar support
14198
14484
  *
14199
- * @returns Returns an array contains the customizing data. Each element in the array has properties: dateFormat,
14200
- * islamicMonthStart, gregDate. For details, please see {@link #setLegacyDateCalendarCustomizing}
14485
+ * @returns Returns an array contains the customizing data. For details, please see {@link #setLegacyDateCalendarCustomizing}
14201
14486
  */
14202
- getLegacyDateCalendarCustomizing(): object[];
14487
+ getLegacyDateCalendarCustomizing(): LegacyDateCalendarCustomizing[];
14203
14488
  /**
14204
14489
  * Returns the currently set legacy ABAP date format (its id) or undefined if none has been set.
14205
14490
  *
@@ -14282,7 +14567,7 @@ declare module "sap/ui/core/Configuration" {
14282
14567
  /**
14283
14568
  * currency map which is set
14284
14569
  */
14285
- mCurrencies: object
14570
+ mCurrencies: Record<string, object>
14286
14571
  ): this;
14287
14572
  /**
14288
14573
  * Defines the preferred format pattern for the given date format style.
@@ -14341,20 +14626,7 @@ declare module "sap/ui/core/Configuration" {
14341
14626
  /**
14342
14627
  * contains the customizing data for the support of Islamic calendar.
14343
14628
  */
14344
- aMappings: Array<{
14345
- /**
14346
- * The date format
14347
- */
14348
- dateFormat: string;
14349
- /**
14350
- * The Islamic date
14351
- */
14352
- islamicMonthStart: string;
14353
- /**
14354
- * The corresponding Gregorian date
14355
- */
14356
- gregDate: string;
14357
- }>
14629
+ aMappings: LegacyDateCalendarCustomizing[]
14358
14630
  ): this;
14359
14631
  /**
14360
14632
  * Allows to specify one of the legacy ABAP date formats.
@@ -14495,6 +14767,23 @@ declare module "sap/ui/core/Configuration" {
14495
14767
  bTrailingCurrencyCode: boolean
14496
14768
  ): this;
14497
14769
  }
14770
+ /**
14771
+ * The object that contains the information for date calendar customizing
14772
+ */
14773
+ export type LegacyDateCalendarCustomizing = {
14774
+ /**
14775
+ * The IO of the date format. It has value "A" or "B".
14776
+ */
14777
+ dateFormat: "A" | "B";
14778
+ /**
14779
+ * The Islamic date in format "yyyyMMdd".
14780
+ */
14781
+ islamicMonthStart: string;
14782
+ /**
14783
+ * The corresponding Gregorian date in format "yyyyMMdd".
14784
+ */
14785
+ gregDate: string;
14786
+ };
14498
14787
  }
14499
14788
 
14500
14789
  declare module "sap/ui/core/Control" {
@@ -14504,7 +14793,10 @@ declare module "sap/ui/core/Control" {
14504
14793
 
14505
14794
  import { AccessibilityInfo, BusyIndicatorSize } from "sap/ui/core/library";
14506
14795
 
14507
- import ElementMetadata from "sap/ui/core/ElementMetadata";
14796
+ import {
14797
+ default as ElementMetadata,
14798
+ ControlRenderer,
14799
+ } from "sap/ui/core/ElementMetadata";
14508
14800
 
14509
14801
  import {
14510
14802
  default as ManagedObject,
@@ -15009,7 +15301,7 @@ declare module "sap/ui/core/Control" {
15009
15301
  *
15010
15302
  * @returns a Renderer suitable for this Control instance.
15011
15303
  */
15012
- getRenderer(): object;
15304
+ getRenderer(): ControlRenderer;
15013
15305
  /**
15014
15306
  * Gets current value of property {@link #getVisible visible}.
15015
15307
  *
@@ -15363,6 +15655,83 @@ declare module "sap/ui/core/Control" {
15363
15655
  }
15364
15656
  }
15365
15657
 
15658
+ declare module "sap/ui/core/ElementMetadata" {
15659
+ import RenderManager from "sap/ui/core/RenderManager";
15660
+
15661
+ import {
15662
+ default as UI5Element,
15663
+ MetadataOptions,
15664
+ MetadataOptions as MetadataOptions1,
15665
+ } from "sap/ui/core/Element";
15666
+
15667
+ import ManagedObjectMetadata from "sap/ui/base/ManagedObjectMetadata";
15668
+
15669
+ /**
15670
+ * Control Renderer
15671
+ */
15672
+ export type ControlRenderer = {
15673
+ /**
15674
+ * The function that renders the control
15675
+ */
15676
+ render: (p1: RenderManager, p2: UI5Element) => void;
15677
+ /**
15678
+ * The API version of the RenderManager that are used in this renderer. See {@link sap.ui.core.RenderManager
15679
+ * RenderManager} API documentation for detailed information
15680
+ */
15681
+ apiVersion?: 1 | 2 | 4;
15682
+ };
15683
+
15684
+ /**
15685
+ * @SINCE 0.8.6
15686
+ */
15687
+ export default class ElementMetadata extends ManagedObjectMetadata {
15688
+ /**
15689
+ * Creates a new metadata object for a UIElement subclass.
15690
+ */
15691
+ constructor(
15692
+ /**
15693
+ * fully qualified name of the class that is described by this metadata object
15694
+ */
15695
+ sClassName: string,
15696
+ /**
15697
+ * static info to construct the metadata from
15698
+ */
15699
+ oClassInfo: {
15700
+ /**
15701
+ * The metadata object describing the class
15702
+ */
15703
+ metadata?: MetadataOptions;
15704
+ }
15705
+ );
15706
+
15707
+ /**
15708
+ * Calculates a new id based on a prefix.
15709
+ *
15710
+ * @returns A (hopefully unique) control id
15711
+ */
15712
+ static uid(): string;
15713
+ /**
15714
+ * @SINCE 1.56
15715
+ *
15716
+ * Returns an info object describing the drag-and-drop behavior.
15717
+ *
15718
+ * @returns An info object about the drag-and-drop behavior.
15719
+ */
15720
+ getDragDropInfo(
15721
+ /**
15722
+ * name of the aggregation or empty.
15723
+ */
15724
+ sAggregationName?: string
15725
+ ): MetadataOptions1.DnD;
15726
+ /**
15727
+ * By default, the element name is equal to the class name
15728
+ *
15729
+ * @returns the qualified name of the UIElement class
15730
+ */
15731
+ getElementName(): string;
15732
+ }
15733
+ }
15734
+
15366
15735
  declare module "sap/ui/core/Core" {
15367
15736
  import Control from "sap/ui/core/Control";
15368
15737
 
@@ -16491,46 +16860,7 @@ declare module "sap/ui/core/Core" {
16491
16860
  /**
16492
16861
  * Info object for the library
16493
16862
  */
16494
- oLibInfo: {
16495
- /**
16496
- * Name of the library; when given it must match the name by which the library has been loaded
16497
- */
16498
- name?: string;
16499
- /**
16500
- * Version of the library
16501
- */
16502
- version: string;
16503
- /**
16504
- * List of libraries that this library depends on; names are in dot notation (e.g. "sap.ui.core")
16505
- */
16506
- dependencies?: string[];
16507
- /**
16508
- * List of names of types that this library provides; names are in dot notation (e.g. "sap.ui.core.CSSSize")
16509
- */
16510
- types?: string[];
16511
- /**
16512
- * List of names of interface types that this library provides; names are in dot notation (e.g. "sap.ui.core.PopupInterface")
16513
- */
16514
- interfaces?: string[];
16515
- /**
16516
- * Names of control types that this library provides; names are in dot notation (e.g. "sap.ui.core.ComponentContainer")
16517
- */
16518
- controls?: string[];
16519
- /**
16520
- * Names of element types that this library provides (excluding controls); names are in dot notation (e.g.
16521
- * "sap.ui.core.Item")
16522
- */
16523
- elements?: string[];
16524
- /**
16525
- * Indicates whether the library doesn't provide / use theming. When set to true, no library.css will be
16526
- * loaded for this library
16527
- */
16528
- noLibraryCSS?: boolean;
16529
- /**
16530
- * Potential extensions of the library metadata; structure not defined by the UI5 core framework.
16531
- */
16532
- extensions?: object;
16533
- }
16863
+ oLibInfo: LibraryInfo
16534
16864
  ): object | undefined;
16535
16865
  /**
16536
16866
  * Returns true if the Core has already been initialized. This means that instances of RenderManager etc.
@@ -16663,7 +16993,7 @@ declare module "sap/ui/core/Core" {
16663
16993
  */
16664
16994
  url?: string;
16665
16995
  }
16666
- ): object | Promise<object>;
16996
+ ): LibraryInfo | Promise<LibraryInfo>;
16667
16997
  /**
16668
16998
  * Locks the Core. No browser events are dispatched to the controls.
16669
16999
  *
@@ -16904,6 +17234,50 @@ declare module "sap/ui/core/Core" {
16904
17234
  }
16905
17235
  const Core: Core;
16906
17236
  export default Core;
17237
+
17238
+ /**
17239
+ * Info object for the library
17240
+ */
17241
+ export type LibraryInfo = {
17242
+ /**
17243
+ * Version of the library
17244
+ */
17245
+ version: string;
17246
+ /**
17247
+ * Name of the library; when given it must match the name by which the library has been loaded
17248
+ */
17249
+ name?: string;
17250
+ /**
17251
+ * List of libraries that this library depends on; names are in dot notation (e.g. "sap.ui.core")
17252
+ */
17253
+ dependencies?: string[];
17254
+ /**
17255
+ * List of names of types that this library provides; names are in dot notation (e.g. "sap.ui.core.CSSSize")
17256
+ */
17257
+ types?: string[];
17258
+ /**
17259
+ * List of names of interface types that this library provides; names are in dot notation (e.g. "sap.ui.core.PopupInterface")
17260
+ */
17261
+ interfaces?: string[];
17262
+ /**
17263
+ * Names of control types that this library provides; names are in dot notation (e.g. "sap.ui.core.ComponentContainer")
17264
+ */
17265
+ controls?: string[];
17266
+ /**
17267
+ * Names of element types that this library provides (excluding controls); names are in dot notation (e.g.
17268
+ * "sap.ui.core.Item")
17269
+ */
17270
+ elements?: string[];
17271
+ /**
17272
+ * Indicates whether the library doesn't provide/use theming. When set to true, no library.css will be loaded
17273
+ * for this library
17274
+ */
17275
+ noLibraryCSS?: boolean;
17276
+ /**
17277
+ * Potential extensions of the library metadata; structure not defined by the UI5 core framework.
17278
+ */
17279
+ extensions?: Record<string, any>;
17280
+ };
16907
17281
  }
16908
17282
 
16909
17283
  declare module "sap/ui/core/CustomData" {
@@ -20446,55 +20820,6 @@ declare module "sap/ui/core/Element" {
20446
20820
  }
20447
20821
  }
20448
20822
 
20449
- declare module "sap/ui/core/ElementMetadata" {
20450
- import ManagedObjectMetadata from "sap/ui/base/ManagedObjectMetadata";
20451
-
20452
- /**
20453
- * @SINCE 0.8.6
20454
- */
20455
- export default class ElementMetadata extends ManagedObjectMetadata {
20456
- /**
20457
- * Creates a new metadata object for a UIElement subclass.
20458
- */
20459
- constructor(
20460
- /**
20461
- * fully qualified name of the class that is described by this metadata object
20462
- */
20463
- sClassName: string,
20464
- /**
20465
- * static info to construct the metadata from
20466
- */
20467
- oClassInfo: object
20468
- );
20469
-
20470
- /**
20471
- * Calculates a new id based on a prefix.
20472
- *
20473
- * @returns A (hopefully unique) control id
20474
- */
20475
- static uid(): string;
20476
- /**
20477
- * @SINCE 1.56
20478
- *
20479
- * Returns an info object describing the drag-and-drop behavior.
20480
- *
20481
- * @returns An info object about the drag-and-drop behavior.
20482
- */
20483
- getDragDropInfo(
20484
- /**
20485
- * name of the aggregation or empty.
20486
- */
20487
- sAggregationName?: string
20488
- ): Object;
20489
- /**
20490
- * By default, the element name is equal to the class name
20491
- *
20492
- * @returns the qualified name of the UIElement class
20493
- */
20494
- getElementName(): string;
20495
- }
20496
- }
20497
-
20498
20823
  declare module "sap/ui/core/EnabledPropagator" {
20499
20824
  export default class EnabledPropagator {
20500
20825
  /**
@@ -20641,7 +20966,7 @@ declare module "sap/ui/core/EventBus" {
20641
20966
  * by the event is provided as the third argument (if present). Handlers must not change the content of
20642
20967
  * this map.
20643
20968
  */
20644
- fnFunction: Function,
20969
+ fnFunction: (p1: string, p2: string, p3: Object) => void,
20645
20970
  /**
20646
20971
  * The object that wants to be notified when the event occurs (`this` context within the handler function).
20647
20972
  * If it is not specified, the handler function is called in the context of the event bus.
@@ -20665,7 +20990,7 @@ declare module "sap/ui/core/EventBus" {
20665
20990
  * by the event is provided as the third argument (if present). Handlers must not change the content of
20666
20991
  * this map.
20667
20992
  */
20668
- fnFunction: Function,
20993
+ fnFunction: (p1: string, p2: string, p3: Object) => void,
20669
20994
  /**
20670
20995
  * The object that wants to be notified when the event occurs (`this` context within the handler function).
20671
20996
  * If it is not specified, the handler function is called in the context of the event bus.
@@ -20701,7 +21026,7 @@ declare module "sap/ui/core/EventBus" {
20701
21026
  * by the event is provided as the third argument (if present). Handlers must not change the content of
20702
21027
  * this map.
20703
21028
  */
20704
- fnFunction: Function,
21029
+ fnFunction: (p1: string, p2: string, p3: Object) => void,
20705
21030
  /**
20706
21031
  * The object that wants to be notified when the event occurs (`this` context within the handler function).
20707
21032
  * If it is not specified, the handler function is called in the context of the event bus.
@@ -20731,7 +21056,7 @@ declare module "sap/ui/core/EventBus" {
20731
21056
  * by the event is provided as the third argument (if present). Handlers must not change the content of
20732
21057
  * this map.
20733
21058
  */
20734
- fnFunction: Function,
21059
+ fnFunction: (p1: string, p2: string, p3: Object) => void,
20735
21060
  /**
20736
21061
  * The object that wants to be notified when the event occurs (`this` context within the handler function).
20737
21062
  * If it is not specified, the handler function is called in the context of the event bus.
@@ -20758,7 +21083,7 @@ declare module "sap/ui/core/EventBus" {
20758
21083
  /**
20759
21084
  * The handler function to unsubscribe from the event
20760
21085
  */
20761
- fnFunction: Function,
21086
+ fnFunction: (p1: string, p2: string, p3: Object) => void,
20762
21087
  /**
20763
21088
  * The object that wanted to be notified when the event occurred
20764
21089
  */
@@ -20780,7 +21105,7 @@ declare module "sap/ui/core/EventBus" {
20780
21105
  /**
20781
21106
  * The handler function to unsubscribe from the event
20782
21107
  */
20783
- fnFunction: Function,
21108
+ fnFunction: (p1: string, p2: string, p3: Object) => void,
20784
21109
  /**
20785
21110
  * The object that wanted to be notified when the event occurred
20786
21111
  */
@@ -21325,7 +21650,7 @@ declare module "sap/ui/core/format/DateFormat" {
21325
21650
  * local timezone to convert the given date.
21326
21651
  *
21327
21652
  * When using instances from getDateTimeWithTimezoneInstance, please see the corresponding documentation:
21328
- * {@link sap.ui.core.format.DateFormat.getDateTimeWithTimezoneInstance#format}.
21653
+ * {@link sap.ui.core.format.DateFormat.DateTimeWithTimezone#format}.
21329
21654
  *
21330
21655
  * @returns the formatted output value. If an invalid date is given, an empty string is returned.
21331
21656
  */
@@ -21346,7 +21671,7 @@ declare module "sap/ui/core/format/DateFormat" {
21346
21671
  * local timezone to convert the given date.
21347
21672
  *
21348
21673
  * When using instances from getDateTimeWithTimezoneInstance, please see the corresponding documentation:
21349
- * {@link sap.ui.core.format.DateFormat.getDateTimeWithTimezoneInstance#parse}.
21674
+ * {@link sap.ui.core.format.DateFormat.DateTimeWithTimezone#parse}.
21350
21675
  *
21351
21676
  * @returns the parsed value(s)
21352
21677
  */
@@ -24357,10 +24682,10 @@ declare module "sap/ui/core/Icon" {
24357
24682
  declare module "sap/ui/core/IconPool" {
24358
24683
  import ResourceBundle from "sap/base/i18n/ResourceBundle";
24359
24684
 
24360
- import Control from "sap/ui/core/Control";
24361
-
24362
24685
  import { URI } from "sap/ui/core/library";
24363
24686
 
24687
+ import Control from "sap/ui/core/Control";
24688
+
24364
24689
  /**
24365
24690
  * The IconPool is a static class for retrieving or registering icons. It also provides helping methods
24366
24691
  * for easier consumption of icons. There are already icons registered in IconPool, please use the Demo
@@ -24415,19 +24740,7 @@ declare module "sap/ui/core/IconPool" {
24415
24740
  */
24416
24741
  resourceBundle?: ResourceBundle;
24417
24742
  }
24418
- ): {
24419
- name: string;
24420
-
24421
- collection: string;
24422
-
24423
- uri: string;
24424
-
24425
- fontFamily: string;
24426
-
24427
- content: string | string[];
24428
-
24429
- suppressMirroring: boolean;
24430
- };
24743
+ ): IconInfo;
24431
24744
  /**
24432
24745
  * Creates an instance of {@link sap.ui.core.Icon} if the given URI is an icon URI, otherwise the given
24433
24746
  * constructor is called. The given URI is set to the src property of the control.
@@ -24440,7 +24753,14 @@ declare module "sap/ui/core/IconPool" {
24440
24753
  * associated constructor can be used. Unknown properties are ignored. It should contain at least a property
24441
24754
  * named src. If it's given with a string type, it will be taken as the value of src property.
24442
24755
  */
24443
- setting: string | object,
24756
+ setting:
24757
+ | string
24758
+ | {
24759
+ /**
24760
+ * either an icon URI or the URL that points to the image file
24761
+ */
24762
+ src: URI;
24763
+ },
24444
24764
  /**
24445
24765
  * The constructor function which is called when the given URI isn't an icon URI
24446
24766
  */
@@ -24514,7 +24834,7 @@ declare module "sap/ui/core/IconPool" {
24514
24834
  * afterwards the icon info
24515
24835
  */
24516
24836
  loadingMode?: string
24517
- ): object | Promise<any> | undefined;
24837
+ ): IconInfo | undefined | Promise<IconInfo | undefined>;
24518
24838
  /**
24519
24839
  * Returns all name of icons that are registered under the given collection.
24520
24840
  *
@@ -24613,6 +24933,38 @@ declare module "sap/ui/core/IconPool" {
24613
24933
  }
24614
24934
  const IconPool: IconPool;
24615
24935
  export default IconPool;
24936
+
24937
+ export type IconInfo = {
24938
+ /**
24939
+ * the name of the icon
24940
+ */
24941
+ name: string;
24942
+ /**
24943
+ * the collection name of the icon. For the default icon font with name 'SAP-icons', this property is set
24944
+ * with `undefined`
24945
+ */
24946
+ collection: string;
24947
+ /**
24948
+ * The URI representing the icon following pattern `sap-icon://collection-name/icon-name`
24949
+ */
24950
+ uri: URI;
24951
+ /**
24952
+ * the name of the font when importing the font using @font-face in CSS
24953
+ */
24954
+ fontFamily: string;
24955
+ /**
24956
+ * the hexadecimal code in string format without the prefix, for example "e000"
24957
+ */
24958
+ content: string;
24959
+ /**
24960
+ * the translated text for the icon under the current used locale
24961
+ */
24962
+ text: string;
24963
+ /**
24964
+ * indicates whether this icon should NOT be mirrored in RTL (right to left) mode
24965
+ */
24966
+ suppressMirroring: boolean;
24967
+ };
24616
24968
  }
24617
24969
 
24618
24970
  declare module "sap/ui/core/IndicationColorSupport" {
@@ -26942,7 +27294,7 @@ declare module "sap/ui/core/Manifest" {
26942
27294
  */
26943
27295
  activeTerminologies?: string[];
26944
27296
  }
26945
- ): Manifest | Promise<any>;
27297
+ ): Manifest | Promise<Manifest>;
26946
27298
  /**
26947
27299
  * Returns the Component name which is defined in the manifest as `sap.ui5/componentName` or `sap.app/id`
26948
27300
  *
@@ -28098,10 +28450,9 @@ declare module "sap/ui/core/mvc/Controller" {
28098
28450
  */
28099
28451
  constructor(
28100
28452
  /**
28101
- * The name of the controller to instantiate. If a controller is defined as real sub-class, the "arguments"
28102
- * of the sub-class constructor should be given instead.
28453
+ * The name of the controller to instantiate.
28103
28454
  */
28104
- sName: string | object[]
28455
+ sName: string
28105
28456
  );
28106
28457
 
28107
28458
  /**
@@ -28122,7 +28473,7 @@ declare module "sap/ui/core/mvc/Controller" {
28122
28473
  */
28123
28474
  name: string;
28124
28475
  }
28125
- ): Promise<any>;
28476
+ ): Promise<Controller>;
28126
28477
  /**
28127
28478
  * Creates a new subclass of class sap.ui.core.mvc.Controller with name `sClassName` and enriches it with
28128
28479
  * the information contained in `oClassInfo`.
@@ -28465,7 +28816,7 @@ declare module "sap/ui/core/mvc/ControllerExtension" {
28465
28816
  /**
28466
28817
  * The custom extension definition
28467
28818
  */
28468
- oExtension: object
28819
+ oExtension: Record<string, Function>
28469
28820
  ): Function;
28470
28821
  /**
28471
28822
  * Returns an Element of the connected view with the given local ID.
@@ -29284,7 +29635,9 @@ declare module "sap/ui/core/mvc/View" {
29284
29635
  /**
29285
29636
  * module path of the preprocessor implementation or a preprocessor function
29286
29637
  */
29287
- vPreprocessor: string | Function,
29638
+ vPreprocessor:
29639
+ | string
29640
+ | ((p1: Object, p2: Preprocessor.ViewInfo, p3: object) => void),
29288
29641
  /**
29289
29642
  * type of the calling view, e.g. `XML`
29290
29643
  */
@@ -29772,7 +30125,17 @@ declare module "sap/ui/core/mvc/View" {
29772
30125
  * Describes the view execution, true if sync
29773
30126
  */
29774
30127
  bSync: boolean
29775
- ): object;
30128
+ ): {
30129
+ name: string;
30130
+
30131
+ componentId: string;
30132
+
30133
+ id: string;
30134
+
30135
+ caller: string;
30136
+
30137
+ sync: boolean;
30138
+ };
29776
30139
  /**
29777
30140
  * Returns user specific data object.
29778
30141
  *
@@ -29850,7 +30213,7 @@ declare module "sap/ui/core/mvc/View" {
29850
30213
  *
29851
30214
  * @returns resolves with the complete view instance, rejects with any thrown error
29852
30215
  */
29853
- loaded(): Promise<any>;
30216
+ loaded(): Promise<View>;
29854
30217
  /**
29855
30218
  * Removes all the controls from the aggregation {@link #getContent content}.
29856
30219
  *
@@ -30007,44 +30370,26 @@ declare module "sap/ui/core/mvc/View" {
30007
30370
  */
30008
30371
  componentId: string;
30009
30372
  }
30010
- ): string | Promise<any>;
30373
+ ): string | Promise<string>;
30011
30374
  /**
30012
30375
  * Processing method that must be implemented by a Preprocessor.
30013
30376
  *
30014
- * @returns the processed resource or a promise which resolves with the processed resource or an error according
30015
- * to the declared preprocessor sync capability
30377
+ * @returns the processed resource or a promise which resolves with the processed resource
30016
30378
  */
30017
30379
  process(
30018
30380
  /**
30019
30381
  * the source to be processed
30020
30382
  */
30021
- vSource: object,
30383
+ vSource: Object,
30022
30384
  /**
30023
30385
  * identification information about the calling instance
30024
30386
  */
30025
- oViewInfo: {
30026
- /**
30027
- * the id
30028
- */
30029
- id: string;
30030
- /**
30031
- * the name
30032
- */
30033
- name: string;
30034
- /**
30035
- * the id of the owning Component
30036
- */
30037
- componentId: string;
30038
- /**
30039
- * identifies the caller of this preprocessor; basis for log or exception messages
30040
- */
30041
- caller: string;
30042
- },
30387
+ oViewInfo: Preprocessor.ViewInfo,
30043
30388
  /**
30044
30389
  * settings object containing the settings provided with the preprocessor
30045
30390
  */
30046
30391
  mSettings?: object
30047
- ): object | Promise<any>;
30392
+ ): Object | Promise<Object>;
30048
30393
  }
30049
30394
 
30050
30395
  export interface $ViewSettings extends $ControlSettings {
@@ -30096,6 +30441,30 @@ declare module "sap/ui/core/mvc/View" {
30096
30441
  */
30097
30442
  beforeRendering?: (oEvent: Event) => void;
30098
30443
  }
30444
+
30445
+ export namespace Preprocessor {
30446
+ /**
30447
+ * Information about the view that is processed by the preprocessor
30448
+ */
30449
+ type ViewInfo = {
30450
+ /**
30451
+ * the ID of the view
30452
+ */
30453
+ id: string;
30454
+ /**
30455
+ * the name of the view
30456
+ */
30457
+ name: string;
30458
+ /**
30459
+ * the ID of the owning Component of the view
30460
+ */
30461
+ componentId: string;
30462
+ /**
30463
+ * identifies the caller of this preprocessor; basis for log or exception messages
30464
+ */
30465
+ caller: string;
30466
+ };
30467
+ }
30099
30468
  }
30100
30469
 
30101
30470
  declare module "sap/ui/core/mvc/ViewType" {
@@ -30140,7 +30509,11 @@ declare module "sap/ui/core/mvc/ViewType" {
30140
30509
  }
30141
30510
 
30142
30511
  declare module "sap/ui/core/mvc/XMLView" {
30143
- import { default as View, $ViewSettings } from "sap/ui/core/mvc/View";
30512
+ import {
30513
+ default as View,
30514
+ Preprocessor,
30515
+ $ViewSettings,
30516
+ } from "sap/ui/core/mvc/View";
30144
30517
 
30145
30518
  import Controller from "sap/ui/core/mvc/Controller";
30146
30519
 
@@ -30342,7 +30715,9 @@ declare module "sap/ui/core/mvc/XMLView" {
30342
30715
  /**
30343
30716
  * module path of the preprocessor implementation or a preprocessor function
30344
30717
  */
30345
- vPreprocessor: string | Function,
30718
+ vPreprocessor:
30719
+ | string
30720
+ | ((p1: Object, p2: Preprocessor.ViewInfo, p3: object) => void),
30346
30721
  /**
30347
30722
  * Since 1.89, added for signature compatibility with {@link sap.ui.core.mvc.View#registerPreprocessor View#registerPreprocessor}.
30348
30723
  * Only supported value is "XML".
@@ -30390,7 +30765,9 @@ declare module "sap/ui/core/mvc/XMLView" {
30390
30765
  /**
30391
30766
  * module path of the preprocessor implementation or a preprocessor function
30392
30767
  */
30393
- vPreprocessor: string | Function,
30768
+ vPreprocessor:
30769
+ | string
30770
+ | ((p1: Object, p2: Preprocessor.ViewInfo, p3: object) => void),
30394
30771
  /**
30395
30772
  * declares if the vPreprocessor ensures safe sync processing. This means the preprocessor will be executed
30396
30773
  * also for sync views. Please be aware that any kind of async processing (like Promises, XHR, etc) may
@@ -30923,7 +31300,7 @@ declare module "sap/ui/core/Popup" {
30923
31300
  *
30924
31301
  * @returns if a function was set it is returned otherwise a boolean value whether the follow of is activated
30925
31302
  */
30926
- getFollowOf(): boolean | Function;
31303
+ getFollowOf(): boolean | ((p1: PositionInfo) => void);
30927
31304
  /**
30928
31305
  * Returns the last z-index that has been handed out. does not increase the internal z-index counter.
30929
31306
  *
@@ -30999,7 +31376,7 @@ declare module "sap/ui/core/Popup" {
30999
31376
  /**
31000
31377
  * defines whether the popup should follow the dock reference when the reference changes its position.
31001
31378
  */
31002
- followOf?: boolean | Function | null
31379
+ followOf?: boolean | ((p1: PositionInfo) => void) | null
31003
31380
  ): void;
31004
31381
  /**
31005
31382
  * Opens the popup's content at the position either specified here or beforehand via {@link #setPosition}.
@@ -31041,7 +31418,7 @@ declare module "sap/ui/core/Popup" {
31041
31418
  /**
31042
31419
  * defines whether the popup should follow the dock reference when the reference changes its position.
31043
31420
  */
31044
- followOf?: boolean | Function | null
31421
+ followOf?: boolean | ((p1: PositionInfo) => void) | null
31045
31422
  ): void;
31046
31423
  /**
31047
31424
  * Sets the animation functions to use for opening and closing the Popup. Any null value will be ignored
@@ -31055,11 +31432,11 @@ declare module "sap/ui/core/Popup" {
31055
31432
  /**
31056
31433
  * The function which executes the custom opening animation
31057
31434
  */
31058
- fnOpen: Function,
31435
+ fnOpen: (p1: jQuery, p2: int, p3: Function) => void,
31059
31436
  /**
31060
31437
  * The function which executes the custom closing animation
31061
31438
  */
31062
- fnClose: Function
31439
+ fnClose: (p1: jQuery, p2: int, p3: Function) => void
31063
31440
  ): this;
31064
31441
  /**
31065
31442
  * Used to specify whether the Popup should close as soon as - for non-touch environment: the focus leaves
@@ -31137,7 +31514,7 @@ declare module "sap/ui/core/Popup" {
31137
31514
  * a boolean value enabled/disables the default followOf-Handler. Or an individual handler can be given.
31138
31515
  * null deletes all followOf settings.
31139
31516
  */
31140
- followOf: boolean | Function | null
31517
+ followOf: boolean | ((p1: PositionInfo) => void) | null
31141
31518
  ): void;
31142
31519
  /**
31143
31520
  * Sets the ID of the element that should be focused once the popup opens. If the given ID is the ID of
@@ -31262,6 +31639,21 @@ declare module "sap/ui/core/Popup" {
31262
31639
  RightTop = "right top",
31263
31640
  }
31264
31641
 
31642
+ export type PositionInfo = {
31643
+ /**
31644
+ * The last position value
31645
+ */
31646
+ lastPosition: object;
31647
+ /**
31648
+ * The DOMRect of the previous "of" element
31649
+ */
31650
+ lastOfRect: DOMRect;
31651
+ /**
31652
+ * The DOMRect of the current "of" element
31653
+ */
31654
+ currentOfRect: DOMRect;
31655
+ };
31656
+
31265
31657
  export interface $PopupSettings extends $ManagedObjectSettings {
31266
31658
  opened?: (oEvent: Event) => void;
31267
31659
 
@@ -31444,6 +31836,8 @@ declare module "sap/ui/core/RenderManager" {
31444
31836
 
31445
31837
  import Configuration from "sap/ui/core/Configuration";
31446
31838
 
31839
+ import { ControlRenderer } from "sap/ui/core/ElementMetadata";
31840
+
31447
31841
  import { URI, ID } from "sap/ui/core/library";
31448
31842
 
31449
31843
  /**
@@ -32051,7 +32445,7 @@ declare module "sap/ui/core/RenderManager" {
32051
32445
  * the control that should be rendered
32052
32446
  */
32053
32447
  oControl: Control
32054
- ): object;
32448
+ ): ControlRenderer;
32055
32449
  /**
32056
32450
  * Writes either an <img> tag for normal URI or a <span> tag with needed properties for an icon
32057
32451
  * URI.
@@ -32598,368 +32992,132 @@ declare module "sap/ui/core/ResizeHandler" {
32598
32992
  * object is passed as first argument to the event handler. See the description of this function for more
32599
32993
  * details about the available parameters of this event.
32600
32994
  */
32601
- fnHandler: Function
32995
+ fnHandler: (p1: {
32996
+ target: Element;
32997
+
32998
+ size: {
32999
+ width: float;
33000
+
33001
+ height: float;
33002
+ };
33003
+
33004
+ oldSize: {
33005
+ width: float;
33006
+
33007
+ height: float;
33008
+ };
33009
+
33010
+ control?: Control;
33011
+ }) => void
32602
33012
  ): string | null;
32603
33013
  }
32604
33014
  }
32605
33015
 
32606
- declare module "sap/ui/core/routing/HashChanger" {
32607
- import HashChangerBase from "sap/ui/core/routing/HashChangerBase";
33016
+ declare module "sap/ui/core/routing/Route" {
33017
+ import EventProvider from "sap/ui/base/EventProvider";
33018
+
33019
+ import Router from "sap/ui/core/routing/Router";
32608
33020
 
32609
33021
  import Metadata from "sap/ui/base/Metadata";
32610
33022
 
32611
33023
  /**
32612
- * Class for manipulating and receiving changes of the browser hash with the hasher framework.
32613
- *
32614
- * Fires a `hashChanged` event if the browser hash changes.
33024
+ * Configuration object for a route
32615
33025
  */
32616
- export default class HashChanger extends HashChangerBase {
32617
- constructor();
32618
-
33026
+ export type $RouteSettings = {
32619
33027
  /**
32620
- * Creates a new subclass of class sap.ui.core.routing.HashChanger with name `sClassName` and enriches it
32621
- * with the information contained in `oClassInfo`.
32622
- *
32623
- * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.routing.HashChangerBase.extend}.
32624
- *
32625
- * @returns Created class / constructor function
32626
- */
32627
- static extend<T extends Record<string, unknown>>(
32628
- /**
32629
- * Name of the class being created
32630
- */
32631
- sClassName: string,
32632
- /**
32633
- * Object literal with information about the class
32634
- */
32635
- oClassInfo?: sap.ClassInfo<T, HashChanger>,
32636
- /**
32637
- * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
32638
- * used by this class
32639
- */
32640
- FNMetaImpl?: Function
32641
- ): Function;
32642
- /**
32643
- * Gets a global singleton of the HashChanger. The singleton will get created when this function is invoked
32644
- * for the first time.
32645
- *
32646
- * @returns The global HashChanger
32647
- */
32648
- static getInstance(): HashChanger;
32649
- /**
32650
- * Returns a metadata object for class sap.ui.core.routing.HashChanger.
32651
- *
32652
- * @returns Metadata object describing this class
32653
- */
32654
- static getMetadata(): Metadata;
32655
- /**
32656
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32657
- *
32658
- * Sets the hashChanger to a new instance, destroys the old one and copies all its event listeners to the
32659
- * new one
32660
- */
32661
- static replaceHashChanger(
32662
- /**
32663
- * the new instance for the global singleton
32664
- */
32665
- oHashChanger: HashChanger
32666
- ): void;
32667
- /**
32668
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32669
- *
32670
- * Cleans the event registration
32671
- * See:
32672
- * sap.ui.base.Object.prototype.destroy
32673
- */
32674
- destroy(): void;
32675
- /**
32676
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32677
- *
32678
- * Fires the hashchanged event, may be extended to modify the hash before fireing the event
32679
- */
32680
- fireHashChanged(
32681
- /**
32682
- * the new hash of the browser
32683
- */
32684
- sNewHash: string,
32685
- /**
32686
- * the previous hash
32687
- */
32688
- sOldHash: string
32689
- ): void;
32690
- /**
32691
- * Gets the current hash
32692
- *
32693
- * @returns the current hash
32694
- */
32695
- getHash(): string;
32696
- /**
32697
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32698
- *
32699
- * Defines the events and its parameters which should be used for tracking the hash changes
32700
- *
32701
- * @returns The array containing the events info
32702
- */
32703
- getRelevantEventsInfo(): HashChangerEventInfo[];
32704
- /**
32705
- * Will start listening to hashChanges with the parseHash function. This will also fire a hashchanged event
32706
- * with the initial hash.
32707
- *
32708
- * @returns false if it was initialized before, true if it was initialized the first time
32709
- */
32710
- init(): boolean;
32711
- /**
32712
- * Replaces the hash with a certain value. When using the replace function, no browser history entry is
32713
- * written. If you want to have an entry in the browser history, please use the {@link #setHash} function.
32714
- */
32715
- replaceHash(
32716
- /**
32717
- * New hash
32718
- */
32719
- sHash: string
32720
- ): void;
32721
- /**
32722
- * Sets the hash to a certain value. When using this function, a browser history entry is written. If you
32723
- * do not want to have an entry in the browser history, please use the {@link #replaceHash} function.
32724
- */
32725
- setHash(
32726
- /**
32727
- * New hash
32728
- */
32729
- sHash: string
32730
- ): void;
32731
- }
32732
- /**
32733
- * @SINCE 1.82.0
32734
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32735
- *
32736
- * The object containing the event info for the events that are forwarded to {@link sap.ui.core.routing.RouterHashChanger}.
32737
- */
32738
- export type HashChangerEventInfo = {
32739
- /**
32740
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32741
- *
32742
- * The name of the event that is fired by the HashChanger and should be forwarded to the RouterHashChanger
33028
+ * Name of the route, it will be used to retrieve the route from the router, it needs to be unique per router
33029
+ * instance
32743
33030
  */
32744
33031
  name: string;
32745
33032
  /**
32746
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32747
- *
32748
- * The optional defined parameter name mapping that is used for forwarding the event to the {@link sap.ui.core.routing.RouterHashChanger}.
32749
- */
32750
- paramMapping?: HashChangerEventParameterMapping;
32751
- /**
32752
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33033
+ * URL pattern where it needs to match again. A pattern may consist of the following:
33034
+ * - hardcoded parts: "pattern" : "product/settings" - this pattern will only match if the hash of the
33035
+ * browser is product/settings and no arguments will be passed to the events of the route.
32753
33036
  *
32754
- * Indicates whether the event is ignored by every RouterHashChanger instance and is only relevant for the
32755
- * other routing classes, for example {@link sap.ui.core.routing.History}.
32756
- */
32757
- updateHashOnly: boolean;
32758
- };
32759
-
32760
- /**
32761
- * @SINCE 1.82.0
32762
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32763
- *
32764
- * The object containing the parameter mapping for forwarding the event to the {@link sap.ui.core.routing.RouterHashChanger}.
32765
- */
32766
- export type HashChangerEventParameterMapping = {
32767
- /**
32768
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33037
+ * - mandatory parameters: "pattern" : "product/{id}" - {id} is a mandatory parameter, e. g. the following
33038
+ * hashes would match: product/5, product/3. The pattenMatched event will get 5 or 3 passed as id in its
33039
+ * arguments.The hash product/ will not match.
32769
33040
  *
32770
- * The name of the parameter whose value is used as the `newHash` parameter in the event that is forwarded
32771
- * to the {@link sap.ui.core.routing.RouterHashChanger}. If this isn't set, the value is taken from the
32772
- * property `newHash`.
32773
- */
32774
- newHash?: string;
32775
- /**
32776
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33041
+ * - optional parameters: "pattern" : "product/{id}/detail/:detailId:" - :detailId: is an optional parameter,
33042
+ * e. g. the following hashes would match: product/5/detail, product/3/detail/2
32777
33043
  *
32778
- * The name of the parameter whose value is used as the `oldHash` parameter in the event that is forwarded
32779
- * to the {@link sap.ui.core.routing.RouterHashChanger}. If this isn't set, the value is taken from the
32780
- * property `oldHash`.
33044
+ * - query parameters: "pattern" : "product{?query}" // {?query} allows you to pass queries with any
33045
+ * parameters, e. g. the following hashes would match: product?first=firstValue, product?first=firstValue&second=secondValue
33046
+ * rest as string parameters: "pattern" : ":all*:" - this pattern will define an optional variable
33047
+ * that will pass the whole hash as string to the routing events. It may be used to define a catchall route,
33048
+ * e. g. the following hashes would match: foo, product/5/3, product/5/detail/3/foo. You can also combine
33049
+ * it with the other variables but make sure a variable with a * is the last one.
32781
33050
  */
32782
- oldHash?: string;
33051
+ pattern?: string;
32783
33052
  /**
32784
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32785
- *
32786
- * The name of the parameter whose value is used as the `fullHash` parameter in the event that is forwarded
32787
- * to the {@link sap.ui.core.routing.RouterHashChanger}. If this isn't set, the value is taken from the
32788
- * property `fullHash`.
33053
+ * Since 1.27. By default only the first route matching the hash, will fire events. If greedy is turned
33054
+ * on for a route, its events will be fired even if another route has already matched.
32789
33055
  */
32790
- fullHash?: string;
32791
- };
32792
- }
32793
-
32794
- declare module "sap/ui/core/routing/HashChangerBase" {
32795
- import EventProvider from "sap/ui/base/EventProvider";
32796
-
32797
- import Metadata from "sap/ui/base/Metadata";
32798
-
32799
- import { routing } from "sap/ui/core/library";
32800
-
32801
- /**
32802
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32803
- *
32804
- * Base Class for manipulating and receiving changes of hash segment.
32805
- *
32806
- * Fires a `hashChanged` event if the relevant hash changes.
32807
- */
32808
- export default class HashChangerBase extends EventProvider {
33056
+ greedy?: boolean;
32809
33057
  /**
32810
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33058
+ * Since 1.32. This property contains the information about the route which nests this route in the form:
33059
+ * "[componentName:]routeName". The nesting routes pattern will be prefixed to this routes pattern and hence
33060
+ * the nesting route also matches if this one matches.
32811
33061
  */
32812
- constructor();
32813
-
33062
+ parent?: string;
32814
33063
  /**
32815
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32816
- *
32817
- * Creates a new subclass of class sap.ui.core.routing.HashChangerBase with name `sClassName` and enriches
32818
- * it with the information contained in `oClassInfo`.
32819
- *
32820
- * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.EventProvider.extend}.
32821
- *
32822
- * @returns Created class / constructor function
33064
+ * One or multiple name of targets {@link sap.ui.core.routing.Targets}. As soon as the route matches, the
33065
+ * target(s) will be displayed. All the deprecated parameters are ignored, if a target is used.
32823
33066
  */
32824
- static extend<T extends Record<string, unknown>>(
32825
- /**
32826
- * Name of the class being created
32827
- */
32828
- sClassName: string,
32829
- /**
32830
- * Object literal with information about the class
32831
- */
32832
- oClassInfo?: sap.ClassInfo<T, HashChangerBase>,
32833
- /**
32834
- * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
32835
- * used by this class
32836
- */
32837
- FNMetaImpl?: Function
32838
- ): Function;
33067
+ target?: string | string[];
32839
33068
  /**
32840
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32841
- *
32842
- * Returns a metadata object for class sap.ui.core.routing.HashChangerBase.
32843
- *
32844
- * @returns Metadata object describing this class
33069
+ * **Deprecated since 1.28, use `target.viewName` instead.**
33070
+ * The name of a view that will be created, the first time this route will be matched. To place the view
33071
+ * into a Control use the targetAggregation and targetControl. Views will only be created once per Router
32845
33072
  */
32846
- static getMetadata(): Metadata;
33073
+ view?: string;
32847
33074
  /**
32848
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32849
- *
32850
- * Replaces the hash with a certain value. When using the replace function, no browser history entry is
32851
- * written. If you want to have an entry in the browser history, please use the {@link #setHash} function.
32852
- *
32853
- * The `sDirection` parameter can be used to provide direction information on the navigation which leads
32854
- * to this hash replacement. This is typically used when synchronizing the hashes between multiple frames
32855
- * to provide information to the frame where the hash is replaced with the navigation direction in the other
32856
- * frame where the navigation occurs.
33075
+ * **Deprecated since 1.28, use `target.viewType` instead.**
33076
+ * The type of the view that is going to be created. eg: "XML", "JS"
32857
33077
  */
32858
- replaceHash(
32859
- /**
32860
- * New hash
32861
- */
32862
- sHash: string,
32863
- /**
32864
- * The direction information for this hash replacement
32865
- */
32866
- sDirection:
32867
- | routing.HistoryDirection
32868
- | keyof typeof routing.HistoryDirection
32869
- ): void;
33078
+ viewType?: string;
32870
33079
  /**
32871
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
32872
- *
32873
- * Sets the hash to a certain value. When using this function, a browser history entry is written. If you
32874
- * do not want to have an entry in the browser history, please use the {@link #replaceHash} function.
33080
+ * **Deprecated since 1.28, use `target.viewPath` instead.**
33081
+ * A prefix that will be prepended in front of the view eg: view is set to "myView" and viewPath is set
33082
+ * to "myApp" - the created view will be "myApp.myView"
32875
33083
  */
32876
- setHash(
32877
- /**
32878
- * New hash
32879
- */
32880
- sHash: string
32881
- ): void;
32882
- }
32883
- }
32884
-
32885
- declare module "sap/ui/core/routing/History" {
32886
- import HashChanger from "sap/ui/core/routing/HashChanger";
32887
-
32888
- import { routing } from "sap/ui/core/library";
32889
-
32890
- export default class History {
33084
+ viewPath?: string;
32891
33085
  /**
32892
- * Used to determine the {@link sap.ui.core.routing.HistoryDirection} of the current or a future navigation,
32893
- * done with a {@link sap.ui.core.routing.Router} or {@link sap.ui.core.routing.HashChanger}.
32894
- *
32895
- * **ATTENTION:** this class will not be accurate if someone does hash-replacement without the named classes
32896
- * above. If you are manipulating the hash directly, this class is not supported anymore.
33086
+ * **Deprecated since 1.28, use `config.rootView` (only available in the router config) instead.**
33087
+ * The ID of the parent of the targetControl - This should be the ID of the view where your targetControl
33088
+ * is located in. By default, this will be the view created by a component, or if the Route is a subroute
33089
+ * the view of the parent route is taken. You only need to specify this, if you are not using a router created
33090
+ * by a component on your top level routes
32897
33091
  */
32898
- constructor(
32899
- /**
32900
- * required, without a HashChanger this class cannot work. The class needs to be aware of the hash-changes.
32901
- */
32902
- oHashChanger: HashChanger
32903
- );
32904
-
33092
+ targetParent?: string;
32905
33093
  /**
32906
- *
32907
- * @returns a global singleton that gets created as soon as the sap.ui.core.routing.History is required
33094
+ * **Deprecated since 1.28, use `target.controlId` instead.**
33095
+ * Views will be put into a container Control, this might be an {@link sap.ui.ux3.Shell} control or an
33096
+ * {@link sap.m.NavContainer} if working with mobile, or any other container. The ID of this control has
33097
+ * to be put in here
32908
33098
  */
32909
- static getInstance(): History;
33099
+ targetControl?: string;
32910
33100
  /**
32911
- * Determines what the navigation direction for a newly given hash would be It will say Unknown if there
32912
- * is a history foo - bar (current history) - foo If you now ask for the direction of the hash "foo" you
32913
- * get Unknown because it might be backwards or forwards. For hash replacements, the history stack will
32914
- * be replaced at this position for the history.
32915
- *
32916
- * @returns Direction for the given hash or `undefined`, if no navigation has taken place yet.
33101
+ * **Deprecated since 1.28, use `target.controlAggregation` instead.**
33102
+ * The name of an aggregation of the targetControl, that contains views. Eg: an {@link sap.m.NavContainer}
33103
+ * has an aggregation "pages", another Example is the {@link sap.ui.ux3.Shell} it has "content".
32917
33104
  */
32918
- getDirection(
32919
- /**
32920
- * optional, if this parameter is not passed the last hashChange is taken.
32921
- */
32922
- sNewHash?: string
32923
- ):
32924
- | (routing.HistoryDirection | keyof typeof routing.HistoryDirection)
32925
- | undefined;
33105
+ targetAggregation?: string;
32926
33106
  /**
32927
- * @SINCE 1.70
32928
- *
32929
- * Returns the length difference between the history state stored in browser's pushState and the state maintained
32930
- * in this class.
32931
- *
32932
- * The function returns `undefined` when
32933
- * - The current state in browser's history pushState isn't initialized, for example, between a new hash
32934
- * is set or replaced and the "hashChange" event is processed by this class
32935
- * - History pushState is already used before UI5 History is initialized, and UI5 can't maintain the hash
32936
- * history by using the browser pushState
32937
- *
32938
- * Once the "hashChange" event is processed by this class, this method always returns 0. However, before
32939
- * a "hashChange" event reaches this class, it returns the offset between the new hash and the previous
32940
- * one within the history state.
32941
- *
32942
- * @returns The length difference or returns `undefined` when browser pushState can't be used at the moment
32943
- * when this function is called
33107
+ * **Deprecated since 1.28, use `target.clearControlAggregation` instead.**
33108
+ * Defines a boolean that can be passed to specify if the aggregation should be cleared before adding the
33109
+ * View to it. When using an {@link sap.ui.ux3.Shell} this should be true. For an {@link sap.m.NavContainer}
33110
+ * it should be false
32944
33111
  */
32945
- getHistoryStateOffset(): int | undefined;
33112
+ clearTarget?: boolean;
32946
33113
  /**
32947
- * Gets the previous hash in the history.
32948
- *
32949
- * If the last direction was Unknown or there was no navigation yet, `undefined` will be returned.
32950
- *
32951
- * @returns Previous hash in the history or `undefined`
33114
+ * **Deprecated since 1.28, use `targets.parent` instead.** one or multiple route configs taking all of
33115
+ * these parameters again. If a subroute is hit, it will fire the routeMatched event for all its parents.
33116
+ * The routePatternMatched event will only be fired for the subroute not the parents. The routing will also
33117
+ * display all the targets of the subroutes and its parents.
32952
33118
  */
32953
- getPreviousHash(): string | undefined;
32954
- }
32955
- }
32956
-
32957
- declare module "sap/ui/core/routing/Route" {
32958
- import EventProvider from "sap/ui/base/EventProvider";
32959
-
32960
- import Router from "sap/ui/core/routing/Router";
32961
-
32962
- import Metadata from "sap/ui/base/Metadata";
33119
+ subroutes?: object;
33120
+ };
32963
33121
 
32964
33122
  export default class Route extends EventProvider {
32965
33123
  /**
@@ -32973,101 +33131,7 @@ declare module "sap/ui/core/routing/Route" {
32973
33131
  /**
32974
33132
  * Configuration object for the route
32975
33133
  */
32976
- oConfig: {
32977
- /**
32978
- * Name of the route, it will be used to retrieve the route from the router, it needs to be unique per router
32979
- * instance
32980
- */
32981
- name: string;
32982
- /**
32983
- * URL pattern where it needs to match again. A pattern may consist of the following:
32984
- * - hardcoded parts: "pattern" : "product/settings" - this pattern will only match if the hash of the
32985
- * browser is product/settings and no arguments will be passed to the events of the route.
32986
- *
32987
- * - mandatory parameters: "pattern" : "product/{id}" - {id} is a mandatory parameter, e. g. the following
32988
- * hashes would match: product/5, product/3. The pattenMatched event will get 5 or 3 passed as id in its
32989
- * arguments.The hash product/ will not match.
32990
- *
32991
- * - optional parameters: "pattern" : "product/{id}/detail/:detailId:" - :detailId: is an optional parameter,
32992
- * e. g. the following hashes would match: product/5/detail, product/3/detail/2
32993
- *
32994
- * - query parameters: "pattern" : "product{?query}" // {?query} allows you to pass queries with any
32995
- * parameters, e. g. the following hashes would match: product?first=firstValue, product?first=firstValue&second=secondValue
32996
- * rest as string parameters: "pattern" : ":all*:" - this pattern will define an optional variable
32997
- * that will pass the whole hash as string to the routing events. It may be used to define a catchall route,
32998
- * e. g. the following hashes would match: foo, product/5/3, product/5/detail/3/foo. You can also combine
32999
- * it with the other variables but make sure a variable with a * is the last one.
33000
- */
33001
- pattern?: string;
33002
- /**
33003
- * Since 1.27. By default only the first route matching the hash, will fire events. If greedy is turned
33004
- * on for a route, its events will be fired even if another route has already matched.
33005
- */
33006
- greedy?: boolean;
33007
- /**
33008
- * Since 1.32. This property contains the information about the route which nests this route in the form:
33009
- * "[componentName:]routeName". The nesting routes pattern will be prefixed to this routes pattern and hence
33010
- * the nesting route also matches if this one matches.
33011
- */
33012
- parent?: string;
33013
- /**
33014
- * One or multiple name of targets {@link sap.ui.core.routing.Targets}. As soon as the route matches, the
33015
- * target(s) will be displayed. All the deprecated parameters are ignored, if a target is used.
33016
- */
33017
- target?: string | string[];
33018
- /**
33019
- * **Deprecated since 1.28, use `target.viewName` instead.**
33020
- * The name of a view that will be created, the first time this route will be matched. To place the view
33021
- * into a Control use the targetAggregation and targetControl. Views will only be created once per Router
33022
- */
33023
- view?: string;
33024
- /**
33025
- * **Deprecated since 1.28, use `target.viewType` instead.**
33026
- * The type of the view that is going to be created. eg: "XML", "JS"
33027
- */
33028
- viewType?: string;
33029
- /**
33030
- * **Deprecated since 1.28, use `target.viewPath` instead.**
33031
- * A prefix that will be prepended in front of the view eg: view is set to "myView" and viewPath is set
33032
- * to "myApp" - the created view will be "myApp.myView"
33033
- */
33034
- viewPath?: string;
33035
- /**
33036
- * **Deprecated since 1.28, use `config.rootView` (only available in the router config) instead.**
33037
- * The id of the parent of the targetControl - This should be the id view your targetControl is located
33038
- * in. By default, this will be the view created by a component, or if the Route is a subroute the view
33039
- * of the parent route is taken. You only need to specify this, if you are not using a router created by
33040
- * a component on your top level routes
33041
- */
33042
- targetParent?: string;
33043
- /**
33044
- * **Deprecated since 1.28, use `target.controlId` instead.**
33045
- * Views will be put into a container Control, this might be an {@link sap.ui.ux3.Shell} control or an
33046
- * {@link sap.m.NavContainer} if working with mobile, or any other container. The id of this control has
33047
- * to be put in here
33048
- */
33049
- targetControl?: string;
33050
- /**
33051
- * **Deprecated since 1.28, use `target.controlAggregation` instead.**
33052
- * The name of an aggregation of the targetControl, that contains views. Eg: an {@link sap.m.NavContainer}
33053
- * has an aggregation "pages", another Example is the {@link sap.ui.ux3.Shell} it has "content".
33054
- */
33055
- targetAggregation?: string;
33056
- /**
33057
- * **Deprecated since 1.28, use `target.clearControlAggregation` instead.**
33058
- * Defines a boolean that can be passed to specify if the aggregation should be cleared before adding the
33059
- * View to it. When using an {@link sap.ui.ux3.Shell} this should be true. For an {@link sap.m.NavContainer}
33060
- * it should be false
33061
- */
33062
- clearTarget?: boolean;
33063
- /**
33064
- * **Deprecated since 1.28, use `targets.parent` instead.** one or multiple route configs taking all of
33065
- * these parameters again. If a subroute is hit, it will fire the routeMatched event for all its parents.
33066
- * The routePatternMatched event will only be fired for the subroute not the parents. The routing will also
33067
- * display all the targets of the subroutes and its parents.
33068
- */
33069
- subroutes?: object;
33070
- },
33134
+ oConfig: $RouteSettings,
33071
33135
  /**
33072
33136
  * The parent route - if a parent route is given, the routeMatched event of this route will also trigger
33073
33137
  * the route matched of the parent and it will also create the view of the parent(if provided).
@@ -33353,19 +33417,789 @@ declare module "sap/ui/core/routing/Route" {
33353
33417
  }
33354
33418
  }
33355
33419
 
33420
+ declare module "sap/ui/core/routing/Target" {
33421
+ import EventProvider from "sap/ui/base/EventProvider";
33422
+
33423
+ import Control from "sap/ui/core/Control";
33424
+
33425
+ import View from "sap/ui/core/mvc/View";
33426
+
33427
+ import Metadata from "sap/ui/base/Metadata";
33428
+
33429
+ /**
33430
+ * Configuration object for a routing Target
33431
+ */
33432
+ export type $TargetSettings = {
33433
+ /**
33434
+ * Defines whether the target creates an instance of 'View' or 'Component'.
33435
+ */
33436
+ type: string;
33437
+ /**
33438
+ * Defines the name of the View or Component that will be created. For type 'Component', use option 'usage'
33439
+ * instead if an owner component exists. To place the view or component into a Control, use the options
33440
+ * `controlAggregation` and `controlId`. Instance of View or Component will only be created once per `name`
33441
+ * or `usage` combined with `id`.
33442
+ * ```javascript
33443
+ *
33444
+ *
33445
+ * {
33446
+ * targets: {
33447
+ * // If display("masterWelcome") is called, the master view will be placed in the 'MasterPages' of a control with the id splitContainter
33448
+ * masterWelcome: {
33449
+ * type: "View",
33450
+ * name: "Welcome",
33451
+ * controlId: "splitContainer",
33452
+ * controlAggregation: "masterPages"
33453
+ * },
33454
+ * // If display("detailWelcome") is called after the masterWelcome, the view will be removed from the master pages and added to the detail pages, since the same instance is used. Also the controls inside of the view will have the same state.
33455
+ * detailWelcome: {
33456
+ * // same view here, that's why the same instance is used
33457
+ * type: "View",
33458
+ * name: "Welcome",
33459
+ * controlId: "splitContainer",
33460
+ * controlAggregation: "detailPages"
33461
+ * }
33462
+ * }
33463
+ * }
33464
+ *
33465
+ * ```
33466
+ *
33467
+ *
33468
+ * If you want to have a second instance of the 'welcome' view you can set different 'id' to the targets:
33469
+ *
33470
+ *
33471
+ * ```javascript
33472
+ *
33473
+ *
33474
+ * {
33475
+ * targets: {
33476
+ * // If display("masterWelcome") is called, the view with name "Welcome" will be placed in the 'MasterPages' of a control with the ID splitContainter
33477
+ * masterWelcome: {
33478
+ * type: "View",
33479
+ * name: "Welcome",
33480
+ * id: "masterWelcome",
33481
+ * controlId: "splitContainer",
33482
+ * controlAggregation: "masterPages"
33483
+ * },
33484
+ * // If display("detailWelcome") is called after the "masterWelcome" target, a second instance of the same view with its own controller instance will be added in the detail pages.
33485
+ * detailWelcome: {
33486
+ * type: "View",
33487
+ * name: "Welcome",
33488
+ * // another instance will be created because a different ID is used
33489
+ * id: "detailWelcome",
33490
+ * controlId: "splitContainer",
33491
+ * controlAggregation: "detailPages"
33492
+ * }
33493
+ * }
33494
+ * }
33495
+ *
33496
+ * ```
33497
+ */
33498
+ name?: string;
33499
+ /**
33500
+ * Defines the 'usage' name for 'Component' target which refers to the '/sap.ui5/componentUsages' entry
33501
+ * in the owner component's manifest.
33502
+ */
33503
+ usage?: string;
33504
+ /**
33505
+ * The type of the view that is going to be created. These are the supported types: {@link sap.ui.core.mvc.ViewType}.
33506
+ * You always have to provide a viewType except it's defined in the shared `config` or when using {@link
33507
+ * sap.ui.core.routing.Views#setView}.
33508
+ */
33509
+ viewType?: string;
33510
+ /**
33511
+ * A prefix that will be prepended in front of the `name`.
33512
+ * **Example:** `name` is set to "myView" and `path` is set to "myApp" - the created view's name will be
33513
+ * "myApp.myView".
33514
+ */
33515
+ path?: string;
33516
+ /**
33517
+ * The ID of the created instance. This is will be prefixed with the ID of the component set to the views
33518
+ * instance provided in oOptions.views. For details see {@link sap.ui.core.routing.Views#getView}.
33519
+ */
33520
+ id?: string;
33521
+ /**
33522
+ * The ID of the parent of the controlId - This should be the ID of the view that contains your controlId,
33523
+ * since the target control will be retrieved by calling the {@link sap.ui.core.mvc.View#byId} function
33524
+ * of the targetParent. By default, this will be the view created by a component, so you do not have to
33525
+ * provide this parameter. If you are using children, the view created by the parent of the child is taken.
33526
+ * You only need to specify this, if you are not using a Targets instance created by a component and you
33527
+ * should give the ID of root view of your application to this property.
33528
+ */
33529
+ targetParent?: string;
33530
+ /**
33531
+ * The ID of the control where you want to place the instance created by this target. You also need to set
33532
+ * "controlAggregation" property to specify to which aggregation of the control should the created instance
33533
+ * be added. An example for containers are {@link sap.ui.ux3.Shell} with the aggregation 'content' or a
33534
+ * {@link sap.m.NavContainer} with the aggregation 'pages'.
33535
+ */
33536
+ controlId?: string;
33537
+ /**
33538
+ * The name of an aggregation of the controlId, where the created instance from the target will be added.
33539
+ * Eg: a {@link sap.m.NavContainer} has an aggregation 'pages', another Example is the {@link sap.ui.ux3.Shell}
33540
+ * it has 'content'.
33541
+ */
33542
+ controlAggregation?: string;
33543
+ /**
33544
+ * Defines a boolean that can be passed to specify if the aggregation should be cleared - all items will
33545
+ * be removed - before adding the View to it. When using a {@link sap.ui.ux3.Shell} this should be true.
33546
+ * For a {@link sap.m.NavContainer} it should be false. When you use the {@link sap.m.routing.Router} the
33547
+ * default will be false.
33548
+ */
33549
+ clearControlAggregation?: boolean;
33550
+ /**
33551
+ * A reference to another target, using the name of the target. If you display a target that has a parent,
33552
+ * the parent will also be displayed. Also the control you specify with the controlId parameter, will be
33553
+ * searched inside of the created instance of the parent not in the rootView, provided in the config. The
33554
+ * control will be searched using the byId function of a view. When it is not found, the global ID is checked.
33555
+ *
33556
+ * The main use case for the parent property is placing a view or component inside a smaller container
33557
+ * of an instance, which is also created by targets. This is useful for lazy loading views or components,
33558
+ * only if the user really navigates to this part of your application.
33559
+ * **Example:** Our aim is to lazy load a tab of an IconTabBar (a control that displays a view initially
33560
+ * and when a user clicks on it the view changes). It's a perfect candidate to lazy load something inside
33561
+ * of it.
33562
+ * **Example app structure:**
33563
+ * We have a rootView that is returned by the createContent function of our UIComponent. This view contains
33564
+ * an sap.m.App control with the ID 'myApp'
33565
+ * ```javascript
33566
+ *
33567
+ *
33568
+ * <View xmlns="sap.m">
33569
+ * <App id="myApp"/>
33570
+ * </View>
33571
+ *
33572
+ * ```
33573
+ * an xml view called 'Detail'
33574
+ * ```javascript
33575
+ *
33576
+ *
33577
+ * <View xmlns="sap.m">
33578
+ * <IconTabBar>
33579
+ * <items>
33580
+ * <IconTabFilter>
33581
+ * <!-- content of our first tab -->
33582
+ * <IconTabFilter>
33583
+ * <IconTabFilter id="mySecondTab">
33584
+ * <!-- nothing here, since we will lazy load this one with a target -->
33585
+ * <IconTabFilter>
33586
+ * </items>
33587
+ * </IconTabBar>
33588
+ * </View>
33589
+ *
33590
+ * ```
33591
+ * and a view called 'SecondTabContent', this one contains our content we want to have lazy loaded. Now
33592
+ * we need to define the routing config within "sap.ui5/routing" section in manifest.json of a Component:
33593
+ *
33594
+ * ```javascript
33595
+ *
33596
+ *
33597
+ * {
33598
+ * "config": {
33599
+ * // all of our views have that type
33600
+ * "viewType": "XML",
33601
+ * // a reference to the app control in the rootView created by our UIComponent
33602
+ * "controlId": "myApp",
33603
+ * // An app has a pages aggregation where the views need to be put into
33604
+ * "controlAggregation": "pages"
33605
+ * },
33606
+ * "targets": {
33607
+ * "detail": {
33608
+ * "type": "View",
33609
+ * "name": "Detail"
33610
+ * },
33611
+ * "secondTabContent": {
33612
+ * // A reference to the detail target defined above
33613
+ * "parent": "detail",
33614
+ * // A reference to the second Tab container in the Detail view. Here the target does not look in the rootView, it looks in the Parent view (Detail).
33615
+ * "controlId": "mySecondTab",
33616
+ * // An IconTabFilter has an aggregation called content so we need to overwrite the pages set in the config as default.
33617
+ * "controlAggregation": "content",
33618
+ * // A view containing the content
33619
+ * "type": "View",
33620
+ * "name": "SecondTabContent"
33621
+ * }
33622
+ * }
33623
+ * }
33624
+ *
33625
+ * ```
33626
+ *
33627
+ *
33628
+ * Now if the target with name "secondTabContent" is displayed, 2 views will be created: Detail and SecondTabContent.
33629
+ * The 'Detail' view will be put into the pages aggregation of the App. And afterwards the 'SecondTabContent'
33630
+ * view will be put into the content Aggregation of the second IconTabFilter. So a parent will always be
33631
+ * created before the target referencing it.
33632
+ */
33633
+ parent?: string;
33634
+ };
33635
+
33636
+ /**
33637
+ * @SINCE 1.28.1
33638
+ *
33639
+ * Provides a convenient way for placing views into the correct containers of your application.
33640
+ *
33641
+ * The main benefit of Targets is lazy loading: you do not have to create the views until you really need
33642
+ * them.
33643
+ */
33644
+ export default class Target extends EventProvider {
33645
+ /**
33646
+ * **Don't call this constructor directly**, use {@link sap.ui.core.routing.Targets} instead, it will create
33647
+ * instances of a Target.
33648
+ * If you are using the mobile library, please use the {@link sap.m.routing.Targets} constructor, please
33649
+ * read the documentation there.
33650
+ */
33651
+ constructor(
33652
+ /**
33653
+ * all of the parameters defined in {@link sap.m.routing.Targets#constructor} are accepted here, except
33654
+ * for children you need to specify the parent.
33655
+ */
33656
+ oOptions: object,
33657
+ /**
33658
+ * All views required by this target will get created by the views instance using {@link sap.ui.core.routing.Views#getView}
33659
+ */
33660
+ oCache: /* was: sap.ui.core.routing.TargetCache */ any,
33661
+ /**
33662
+ * the parent of this target. Will also get displayed, if you display this target. In the config you have
33663
+ * the fill the children property {@link sap.m.routing.Targets#constructor}
33664
+ */
33665
+ oParent?: Target
33666
+ );
33667
+
33668
+ /**
33669
+ * Creates a new subclass of class sap.ui.core.routing.Target with name `sClassName` and enriches it with
33670
+ * the information contained in `oClassInfo`.
33671
+ *
33672
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.EventProvider.extend}.
33673
+ *
33674
+ * @returns Created class / constructor function
33675
+ */
33676
+ static extend<T extends Record<string, unknown>>(
33677
+ /**
33678
+ * Name of the class being created
33679
+ */
33680
+ sClassName: string,
33681
+ /**
33682
+ * Object literal with information about the class
33683
+ */
33684
+ oClassInfo?: sap.ClassInfo<T, Target>,
33685
+ /**
33686
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
33687
+ * used by this class
33688
+ */
33689
+ FNMetaImpl?: Function
33690
+ ): Function;
33691
+ /**
33692
+ * Returns a metadata object for class sap.ui.core.routing.Target.
33693
+ *
33694
+ * @returns Metadata object describing this class
33695
+ */
33696
+ static getMetadata(): Metadata;
33697
+ /**
33698
+ * @SINCE 1.46.1
33699
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33700
+ *
33701
+ * This function is called between the target view is loaded and the view is added to the container.
33702
+ *
33703
+ * This function can be used for applying modification on the view or the container to make the rerendering
33704
+ * occur together with the later aggregation change.
33705
+ */
33706
+ _beforePlacingViewIntoContainer(
33707
+ /**
33708
+ * the object containing the arguments
33709
+ */
33710
+ mArguments: {
33711
+ /**
33712
+ * the container where the view will be added
33713
+ */
33714
+ container: Control;
33715
+ /**
33716
+ * the view which will be added to the container
33717
+ */
33718
+ view: Control;
33719
+ /**
33720
+ * the data passed from {@link sap.ui.core.routing.Target#display} method
33721
+ */
33722
+ data?: object;
33723
+ }
33724
+ ): void;
33725
+ /**
33726
+ * Attaches event handler `fnFunction` to the {@link #event:display display} event of this `sap.ui.core.routing.Target`.
33727
+ *
33728
+ * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified,
33729
+ * otherwise it will be bound to this `sap.ui.core.routing.Target` itself.
33730
+ *
33731
+ * @returns Reference to `this` in order to allow method chaining
33732
+ */
33733
+ attachDisplay(
33734
+ /**
33735
+ * An application-specific payload object that will be passed to the event handler along with the event
33736
+ * object when firing the event
33737
+ */
33738
+ oData: object,
33739
+ /**
33740
+ * The function to be called, when the event occurs
33741
+ */
33742
+ fnFunction: Function,
33743
+ /**
33744
+ * Context object to call the event handler with. Defaults to this `sap.ui.core.routing.Target` itself
33745
+ */
33746
+ oListener?: object
33747
+ ): this;
33748
+ /**
33749
+ * Attaches event handler `fnFunction` to the {@link #event:display display} event of this `sap.ui.core.routing.Target`.
33750
+ *
33751
+ * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified,
33752
+ * otherwise it will be bound to this `sap.ui.core.routing.Target` itself.
33753
+ *
33754
+ * @returns Reference to `this` in order to allow method chaining
33755
+ */
33756
+ attachDisplay(
33757
+ /**
33758
+ * The function to be called, when the event occurs
33759
+ */
33760
+ fnFunction: Function,
33761
+ /**
33762
+ * Context object to call the event handler with. Defaults to this `sap.ui.core.routing.Target` itself
33763
+ */
33764
+ oListener?: object
33765
+ ): this;
33766
+ /**
33767
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33768
+ *
33769
+ * Destroys the target, will be called by {@link sap.m.routing.Targets} don't call this directly.
33770
+ *
33771
+ * @returns this for chaining.
33772
+ */
33773
+ destroy(): Target;
33774
+ /**
33775
+ * Detaches event handler `fnFunction` from the {@link #event:display display} event of this `sap.ui.core.routing.Target`.
33776
+ *
33777
+ * The passed function and listener object must match the ones used for event registration.
33778
+ *
33779
+ * @returns Reference to `this` in order to allow method chaining
33780
+ */
33781
+ detachDisplay(
33782
+ /**
33783
+ * The function to be called, when the event occurs
33784
+ */
33785
+ fnFunction: Function,
33786
+ /**
33787
+ * Context object on which the given function had to be called
33788
+ */
33789
+ oListener?: object
33790
+ ): this;
33791
+ /**
33792
+ * Creates a view and puts it in an aggregation of a control that has been defined in the {@link sap.ui.core.routing.Target#constructor}.
33793
+ *
33794
+ * @returns resolves with {name: *, view: *, control: *} if the target can be successfully displayed otherwise
33795
+ * it resolves with {name: *, error: *}
33796
+ */
33797
+ display(
33798
+ /**
33799
+ * an object that will be passed to the display event in the data property. If the target has parents, the
33800
+ * data will also be passed to them.
33801
+ */
33802
+ vData?: object
33803
+ ): Promise<{
33804
+ name: string;
33805
+
33806
+ view: View;
33807
+
33808
+ control: Control;
33809
+ }>;
33810
+ /**
33811
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33812
+ *
33813
+ * Fires event {@link #event:created created} to attached listeners.
33814
+ *
33815
+ * @returns Reference to `this` in order to allow method chaining
33816
+ */
33817
+ fireDisplay(
33818
+ /**
33819
+ * Parameters to pass along with the event
33820
+ */
33821
+ oParameters?: object
33822
+ ): this;
33823
+ /**
33824
+ * Suspends the object which is loaded by the target.
33825
+ *
33826
+ * Currently this function stops the router of the component when the object which is loaded by this target
33827
+ * is an instance of UIComponent. This is done only when the target is already loaded. When the target is
33828
+ * not loaded yet or still being loaded, the router of the component isn't stopped.
33829
+ *
33830
+ * @returns The 'this' to chain the call
33831
+ */
33832
+ suspend(): Target;
33833
+ }
33834
+ }
33835
+
33836
+ declare module "sap/ui/core/routing/HashChanger" {
33837
+ import HashChangerBase from "sap/ui/core/routing/HashChangerBase";
33838
+
33839
+ import Metadata from "sap/ui/base/Metadata";
33840
+
33841
+ /**
33842
+ * Class for manipulating and receiving changes of the browser hash with the hasher framework.
33843
+ *
33844
+ * Fires a `hashChanged` event if the browser hash changes.
33845
+ */
33846
+ export default class HashChanger extends HashChangerBase {
33847
+ constructor();
33848
+
33849
+ /**
33850
+ * Creates a new subclass of class sap.ui.core.routing.HashChanger with name `sClassName` and enriches it
33851
+ * with the information contained in `oClassInfo`.
33852
+ *
33853
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.routing.HashChangerBase.extend}.
33854
+ *
33855
+ * @returns Created class / constructor function
33856
+ */
33857
+ static extend<T extends Record<string, unknown>>(
33858
+ /**
33859
+ * Name of the class being created
33860
+ */
33861
+ sClassName: string,
33862
+ /**
33863
+ * Object literal with information about the class
33864
+ */
33865
+ oClassInfo?: sap.ClassInfo<T, HashChanger>,
33866
+ /**
33867
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
33868
+ * used by this class
33869
+ */
33870
+ FNMetaImpl?: Function
33871
+ ): Function;
33872
+ /**
33873
+ * Gets a global singleton of the HashChanger. The singleton will get created when this function is invoked
33874
+ * for the first time.
33875
+ *
33876
+ * @returns The global HashChanger
33877
+ */
33878
+ static getInstance(): HashChanger;
33879
+ /**
33880
+ * Returns a metadata object for class sap.ui.core.routing.HashChanger.
33881
+ *
33882
+ * @returns Metadata object describing this class
33883
+ */
33884
+ static getMetadata(): Metadata;
33885
+ /**
33886
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33887
+ *
33888
+ * Sets the hashChanger to a new instance, destroys the old one and copies all its event listeners to the
33889
+ * new one
33890
+ */
33891
+ static replaceHashChanger(
33892
+ /**
33893
+ * the new instance for the global singleton
33894
+ */
33895
+ oHashChanger: HashChanger
33896
+ ): void;
33897
+ /**
33898
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33899
+ *
33900
+ * Cleans the event registration
33901
+ * See:
33902
+ * sap.ui.base.Object.prototype.destroy
33903
+ */
33904
+ destroy(): void;
33905
+ /**
33906
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33907
+ *
33908
+ * Fires the hashchanged event, may be extended to modify the hash before fireing the event
33909
+ */
33910
+ fireHashChanged(
33911
+ /**
33912
+ * the new hash of the browser
33913
+ */
33914
+ sNewHash: string,
33915
+ /**
33916
+ * the previous hash
33917
+ */
33918
+ sOldHash: string
33919
+ ): void;
33920
+ /**
33921
+ * Gets the current hash
33922
+ *
33923
+ * @returns the current hash
33924
+ */
33925
+ getHash(): string;
33926
+ /**
33927
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33928
+ *
33929
+ * Defines the events and its parameters which should be used for tracking the hash changes
33930
+ *
33931
+ * @returns The array containing the events info
33932
+ */
33933
+ getRelevantEventsInfo(): HashChangerEventInfo[];
33934
+ /**
33935
+ * Will start listening to hashChanges with the parseHash function. This will also fire a hashchanged event
33936
+ * with the initial hash.
33937
+ *
33938
+ * @returns false if it was initialized before, true if it was initialized the first time
33939
+ */
33940
+ init(): boolean;
33941
+ /**
33942
+ * Replaces the hash with a certain value. When using the replace function, no browser history entry is
33943
+ * written. If you want to have an entry in the browser history, please use the {@link #setHash} function.
33944
+ */
33945
+ replaceHash(
33946
+ /**
33947
+ * New hash
33948
+ */
33949
+ sHash: string
33950
+ ): void;
33951
+ /**
33952
+ * Sets the hash to a certain value. When using this function, a browser history entry is written. If you
33953
+ * do not want to have an entry in the browser history, please use the {@link #replaceHash} function.
33954
+ */
33955
+ setHash(
33956
+ /**
33957
+ * New hash
33958
+ */
33959
+ sHash: string
33960
+ ): void;
33961
+ }
33962
+ /**
33963
+ * @SINCE 1.82.0
33964
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33965
+ *
33966
+ * The object containing the event info for the events that are forwarded to {@link sap.ui.core.routing.RouterHashChanger}.
33967
+ */
33968
+ export type HashChangerEventInfo = {
33969
+ /**
33970
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33971
+ *
33972
+ * The name of the event that is fired by the HashChanger and should be forwarded to the RouterHashChanger
33973
+ */
33974
+ name: string;
33975
+ /**
33976
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33977
+ *
33978
+ * The optional defined parameter name mapping that is used for forwarding the event to the {@link sap.ui.core.routing.RouterHashChanger}.
33979
+ */
33980
+ paramMapping?: HashChangerEventParameterMapping;
33981
+ /**
33982
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33983
+ *
33984
+ * Indicates whether the event is ignored by every RouterHashChanger instance and is only relevant for the
33985
+ * other routing classes, for example {@link sap.ui.core.routing.History}.
33986
+ */
33987
+ updateHashOnly: boolean;
33988
+ };
33989
+
33990
+ /**
33991
+ * @SINCE 1.82.0
33992
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33993
+ *
33994
+ * The object containing the parameter mapping for forwarding the event to the {@link sap.ui.core.routing.RouterHashChanger}.
33995
+ */
33996
+ export type HashChangerEventParameterMapping = {
33997
+ /**
33998
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
33999
+ *
34000
+ * The name of the parameter whose value is used as the `newHash` parameter in the event that is forwarded
34001
+ * to the {@link sap.ui.core.routing.RouterHashChanger}. If this isn't set, the value is taken from the
34002
+ * property `newHash`.
34003
+ */
34004
+ newHash?: string;
34005
+ /**
34006
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34007
+ *
34008
+ * The name of the parameter whose value is used as the `oldHash` parameter in the event that is forwarded
34009
+ * to the {@link sap.ui.core.routing.RouterHashChanger}. If this isn't set, the value is taken from the
34010
+ * property `oldHash`.
34011
+ */
34012
+ oldHash?: string;
34013
+ /**
34014
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34015
+ *
34016
+ * The name of the parameter whose value is used as the `fullHash` parameter in the event that is forwarded
34017
+ * to the {@link sap.ui.core.routing.RouterHashChanger}. If this isn't set, the value is taken from the
34018
+ * property `fullHash`.
34019
+ */
34020
+ fullHash?: string;
34021
+ };
34022
+ }
34023
+
34024
+ declare module "sap/ui/core/routing/HashChangerBase" {
34025
+ import EventProvider from "sap/ui/base/EventProvider";
34026
+
34027
+ import Metadata from "sap/ui/base/Metadata";
34028
+
34029
+ import { routing } from "sap/ui/core/library";
34030
+
34031
+ /**
34032
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34033
+ *
34034
+ * Base Class for manipulating and receiving changes of hash segment.
34035
+ *
34036
+ * Fires a `hashChanged` event if the relevant hash changes.
34037
+ */
34038
+ export default class HashChangerBase extends EventProvider {
34039
+ /**
34040
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34041
+ */
34042
+ constructor();
34043
+
34044
+ /**
34045
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34046
+ *
34047
+ * Creates a new subclass of class sap.ui.core.routing.HashChangerBase with name `sClassName` and enriches
34048
+ * it with the information contained in `oClassInfo`.
34049
+ *
34050
+ * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.EventProvider.extend}.
34051
+ *
34052
+ * @returns Created class / constructor function
34053
+ */
34054
+ static extend<T extends Record<string, unknown>>(
34055
+ /**
34056
+ * Name of the class being created
34057
+ */
34058
+ sClassName: string,
34059
+ /**
34060
+ * Object literal with information about the class
34061
+ */
34062
+ oClassInfo?: sap.ClassInfo<T, HashChangerBase>,
34063
+ /**
34064
+ * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
34065
+ * used by this class
34066
+ */
34067
+ FNMetaImpl?: Function
34068
+ ): Function;
34069
+ /**
34070
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34071
+ *
34072
+ * Returns a metadata object for class sap.ui.core.routing.HashChangerBase.
34073
+ *
34074
+ * @returns Metadata object describing this class
34075
+ */
34076
+ static getMetadata(): Metadata;
34077
+ /**
34078
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34079
+ *
34080
+ * Replaces the hash with a certain value. When using the replace function, no browser history entry is
34081
+ * written. If you want to have an entry in the browser history, please use the {@link #setHash} function.
34082
+ *
34083
+ * The `sDirection` parameter can be used to provide direction information on the navigation which leads
34084
+ * to this hash replacement. This is typically used when synchronizing the hashes between multiple frames
34085
+ * to provide information to the frame where the hash is replaced with the navigation direction in the other
34086
+ * frame where the navigation occurs.
34087
+ */
34088
+ replaceHash(
34089
+ /**
34090
+ * New hash
34091
+ */
34092
+ sHash: string,
34093
+ /**
34094
+ * The direction information for this hash replacement
34095
+ */
34096
+ sDirection:
34097
+ | routing.HistoryDirection
34098
+ | keyof typeof routing.HistoryDirection
34099
+ ): void;
34100
+ /**
34101
+ * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34102
+ *
34103
+ * Sets the hash to a certain value. When using this function, a browser history entry is written. If you
34104
+ * do not want to have an entry in the browser history, please use the {@link #replaceHash} function.
34105
+ */
34106
+ setHash(
34107
+ /**
34108
+ * New hash
34109
+ */
34110
+ sHash: string
34111
+ ): void;
34112
+ }
34113
+ }
34114
+
34115
+ declare module "sap/ui/core/routing/History" {
34116
+ import HashChanger from "sap/ui/core/routing/HashChanger";
34117
+
34118
+ import { routing } from "sap/ui/core/library";
34119
+
34120
+ export default class History {
34121
+ /**
34122
+ * Used to determine the {@link sap.ui.core.routing.HistoryDirection} of the current or a future navigation,
34123
+ * done with a {@link sap.ui.core.routing.Router} or {@link sap.ui.core.routing.HashChanger}.
34124
+ *
34125
+ * **ATTENTION:** this class will not be accurate if someone does hash-replacement without the named classes
34126
+ * above. If you are manipulating the hash directly, this class is not supported anymore.
34127
+ */
34128
+ constructor(
34129
+ /**
34130
+ * required, without a HashChanger this class cannot work. The class needs to be aware of the hash-changes.
34131
+ */
34132
+ oHashChanger: HashChanger
34133
+ );
34134
+
34135
+ /**
34136
+ *
34137
+ * @returns a global singleton that gets created as soon as the sap.ui.core.routing.History is required
34138
+ */
34139
+ static getInstance(): History;
34140
+ /**
34141
+ * Determines what the navigation direction for a newly given hash would be It will say Unknown if there
34142
+ * is a history foo - bar (current history) - foo If you now ask for the direction of the hash "foo" you
34143
+ * get Unknown because it might be backwards or forwards. For hash replacements, the history stack will
34144
+ * be replaced at this position for the history.
34145
+ *
34146
+ * @returns Direction for the given hash or `undefined`, if no navigation has taken place yet.
34147
+ */
34148
+ getDirection(
34149
+ /**
34150
+ * optional, if this parameter is not passed the last hashChange is taken.
34151
+ */
34152
+ sNewHash?: string
34153
+ ):
34154
+ | (routing.HistoryDirection | keyof typeof routing.HistoryDirection)
34155
+ | undefined;
34156
+ /**
34157
+ * @SINCE 1.70
34158
+ *
34159
+ * Returns the length difference between the history state stored in browser's pushState and the state maintained
34160
+ * in this class.
34161
+ *
34162
+ * The function returns `undefined` when
34163
+ * - The current state in browser's history pushState isn't initialized, for example, between a new hash
34164
+ * is set or replaced and the "hashChange" event is processed by this class
34165
+ * - History pushState is already used before UI5 History is initialized, and UI5 can't maintain the hash
34166
+ * history by using the browser pushState
34167
+ *
34168
+ * Once the "hashChange" event is processed by this class, this method always returns 0. However, before
34169
+ * a "hashChange" event reaches this class, it returns the offset between the new hash and the previous
34170
+ * one within the history state.
34171
+ *
34172
+ * @returns The length difference or returns `undefined` when browser pushState can't be used at the moment
34173
+ * when this function is called
34174
+ */
34175
+ getHistoryStateOffset(): int | undefined;
34176
+ /**
34177
+ * Gets the previous hash in the history.
34178
+ *
34179
+ * If the last direction was Unknown or there was no navigation yet, `undefined` will be returned.
34180
+ *
34181
+ * @returns Previous hash in the history or `undefined`
34182
+ */
34183
+ getPreviousHash(): string | undefined;
34184
+ }
34185
+ }
34186
+
33356
34187
  declare module "sap/ui/core/routing/Router" {
33357
34188
  import EventProvider from "sap/ui/base/EventProvider";
33358
34189
 
34190
+ import { $RouteSettings, default as Route } from "sap/ui/core/routing/Route";
34191
+
33359
34192
  import UIComponent from "sap/ui/core/UIComponent";
33360
34193
 
33361
- import Route from "sap/ui/core/routing/Route";
34194
+ import {
34195
+ $TargetSettings,
34196
+ default as Target,
34197
+ } from "sap/ui/core/routing/Target";
33362
34198
 
33363
34199
  import RouterHashChanger from "sap/ui/core/routing/RouterHashChanger";
33364
34200
 
33365
34201
  import Metadata from "sap/ui/base/Metadata";
33366
34202
 
33367
- import Target from "sap/ui/core/routing/Target";
33368
-
33369
34203
  import Targets from "sap/ui/core/routing/Targets";
33370
34204
 
33371
34205
  import View from "sap/ui/core/mvc/View";
@@ -33390,7 +34224,9 @@ declare module "sap/ui/core/routing/Router" {
33390
34224
  constructor(
33391
34225
  /**
33392
34226
  * may contain many Route configurations as {@link sap.ui.core.routing.Route#constructor}.
33393
- * Each of the routes contained in the array/object will be added to the router.
34227
+ *
34228
+ *
34229
+ * Each of the routes contained in the array/object will be added to the router.
33394
34230
  *
33395
34231
  *
33396
34232
  * One way of defining routes is an array:
@@ -33451,7 +34287,7 @@ declare module "sap/ui/core/routing/Router" {
33451
34287
  * ```
33452
34288
  * The values that may be provided are the same as in {@link sap.ui.core.routing.Route#constructor}
33453
34289
  */
33454
- oRoutes?: object | object[],
34290
+ oRoutes?: Record<string, $RouteSettings> | $RouteSettings[],
33455
34291
  /**
33456
34292
  * Default values for route configuration - also takes the same parameters as {@link sap.ui.core.routing.Target#constructor}.
33457
34293
  * This config will be used for routes and for targets, used in the router
@@ -33587,7 +34423,7 @@ declare module "sap/ui/core/routing/Router" {
33587
34423
  * })
33588
34424
  * ```
33589
34425
  */
33590
- oTargetsConfig?: object
34426
+ oTargetsConfig?: Record<string, $TargetSettings>
33591
34427
  );
33592
34428
 
33593
34429
  /**
@@ -33637,7 +34473,7 @@ declare module "sap/ui/core/routing/Router" {
33637
34473
  /**
33638
34474
  * Configuration object for the route @see sap.ui.core.routing.Route#constructor
33639
34475
  */
33640
- oConfig: object,
34476
+ oConfig: $RouteSettings,
33641
34477
  /**
33642
34478
  * The parent route - if a parent route is given, the `routeMatched` event of this route will also trigger
33643
34479
  * the `routeMatched` of the parent and it will also create the view of the parent (if provided).
@@ -34609,216 +35445,22 @@ declare module "sap/ui/core/routing/RouterHashChanger" {
34609
35445
  }
34610
35446
  }
34611
35447
 
34612
- declare module "sap/ui/core/routing/Target" {
35448
+ declare module "sap/ui/core/routing/Targets" {
34613
35449
  import EventProvider from "sap/ui/base/EventProvider";
34614
35450
 
34615
- import Control from "sap/ui/core/Control";
34616
-
34617
- import Metadata from "sap/ui/base/Metadata";
34618
-
34619
- /**
34620
- * @SINCE 1.28.1
34621
- *
34622
- * Provides a convenient way for placing views into the correct containers of your application.
34623
- *
34624
- * The main benefit of Targets is lazy loading: you do not have to create the views until you really need
34625
- * them.
34626
- */
34627
- export default class Target extends EventProvider {
34628
- /**
34629
- * **Don't call this constructor directly**, use {@link sap.ui.core.routing.Targets} instead, it will create
34630
- * instances of a Target.
34631
- * If you are using the mobile library, please use the {@link sap.m.routing.Targets} constructor, please
34632
- * read the documentation there.
34633
- */
34634
- constructor(
34635
- /**
34636
- * all of the parameters defined in {@link sap.m.routing.Targets#constructor} are accepted here, except
34637
- * for children you need to specify the parent.
34638
- */
34639
- oOptions: object,
34640
- /**
34641
- * All views required by this target will get created by the views instance using {@link sap.ui.core.routing.Views#getView}
34642
- */
34643
- oCache: /* was: sap.ui.core.routing.TargetCache */ any,
34644
- /**
34645
- * the parent of this target. Will also get displayed, if you display this target. In the config you have
34646
- * the fill the children property {@link sap.m.routing.Targets#constructor}
34647
- */
34648
- oParent?: Target
34649
- );
35451
+ import Views from "sap/ui/core/routing/Views";
34650
35452
 
34651
- /**
34652
- * Creates a new subclass of class sap.ui.core.routing.Target with name `sClassName` and enriches it with
34653
- * the information contained in `oClassInfo`.
34654
- *
34655
- * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.base.EventProvider.extend}.
34656
- *
34657
- * @returns Created class / constructor function
34658
- */
34659
- static extend<T extends Record<string, unknown>>(
34660
- /**
34661
- * Name of the class being created
34662
- */
34663
- sClassName: string,
34664
- /**
34665
- * Object literal with information about the class
34666
- */
34667
- oClassInfo?: sap.ClassInfo<T, Target>,
34668
- /**
34669
- * Constructor function for the metadata object; if not given, it defaults to the metadata implementation
34670
- * used by this class
34671
- */
34672
- FNMetaImpl?: Function
34673
- ): Function;
34674
- /**
34675
- * Returns a metadata object for class sap.ui.core.routing.Target.
34676
- *
34677
- * @returns Metadata object describing this class
34678
- */
34679
- static getMetadata(): Metadata;
34680
- /**
34681
- * @SINCE 1.46.1
34682
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34683
- *
34684
- * This function is called between the target view is loaded and the view is added to the container.
34685
- *
34686
- * This function can be used for applying modification on the view or the container to make the rerendering
34687
- * occur together with the later aggregation change.
34688
- */
34689
- _beforePlacingViewIntoContainer(
34690
- /**
34691
- * the object containing the arguments
34692
- */
34693
- mArguments: {
34694
- /**
34695
- * the container where the view will be added
34696
- */
34697
- container: Control;
34698
- /**
34699
- * the view which will be added to the container
34700
- */
34701
- view: Control;
34702
- /**
34703
- * the data passed from {@link sap.ui.core.routing.Target#display} method
34704
- */
34705
- data?: object;
34706
- }
34707
- ): void;
34708
- /**
34709
- * Attaches event handler `fnFunction` to the {@link #event:display display} event of this `sap.ui.core.routing.Target`.
34710
- *
34711
- * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified,
34712
- * otherwise it will be bound to this `sap.ui.core.routing.Target` itself.
34713
- *
34714
- * @returns Reference to `this` in order to allow method chaining
34715
- */
34716
- attachDisplay(
34717
- /**
34718
- * An application-specific payload object that will be passed to the event handler along with the event
34719
- * object when firing the event
34720
- */
34721
- oData: object,
34722
- /**
34723
- * The function to be called, when the event occurs
34724
- */
34725
- fnFunction: Function,
34726
- /**
34727
- * Context object to call the event handler with. Defaults to this `sap.ui.core.routing.Target` itself
34728
- */
34729
- oListener?: object
34730
- ): this;
34731
- /**
34732
- * Attaches event handler `fnFunction` to the {@link #event:display display} event of this `sap.ui.core.routing.Target`.
34733
- *
34734
- * When called, the context of the event handler (its `this`) will be bound to `oListener` if specified,
34735
- * otherwise it will be bound to this `sap.ui.core.routing.Target` itself.
34736
- *
34737
- * @returns Reference to `this` in order to allow method chaining
34738
- */
34739
- attachDisplay(
34740
- /**
34741
- * The function to be called, when the event occurs
34742
- */
34743
- fnFunction: Function,
34744
- /**
34745
- * Context object to call the event handler with. Defaults to this `sap.ui.core.routing.Target` itself
34746
- */
34747
- oListener?: object
34748
- ): this;
34749
- /**
34750
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34751
- *
34752
- * Destroys the target, will be called by {@link sap.m.routing.Targets} don't call this directly.
34753
- *
34754
- * @returns this for chaining.
34755
- */
34756
- destroy(): Target;
34757
- /**
34758
- * Detaches event handler `fnFunction` from the {@link #event:display display} event of this `sap.ui.core.routing.Target`.
34759
- *
34760
- * The passed function and listener object must match the ones used for event registration.
34761
- *
34762
- * @returns Reference to `this` in order to allow method chaining
34763
- */
34764
- detachDisplay(
34765
- /**
34766
- * The function to be called, when the event occurs
34767
- */
34768
- fnFunction: Function,
34769
- /**
34770
- * Context object on which the given function had to be called
34771
- */
34772
- oListener?: object
34773
- ): this;
34774
- /**
34775
- * Creates a view and puts it in an aggregation of a control that has been defined in the {@link sap.ui.core.routing.Target#constructor}.
34776
- *
34777
- * @returns resolves with {name: *, view: *, control: *} if the target can be successfully displayed otherwise
34778
- * it resolves with {name: *, error: *}
34779
- */
34780
- display(
34781
- /**
34782
- * an object that will be passed to the display event in the data property. If the target has parents, the
34783
- * data will also be passed to them.
34784
- */
34785
- vData?: any
34786
- ): Promise<any>;
34787
- /**
34788
- * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
34789
- *
34790
- * Fires event {@link #event:created created} to attached listeners.
34791
- *
34792
- * @returns Reference to `this` in order to allow method chaining
34793
- */
34794
- fireDisplay(
34795
- /**
34796
- * Parameters to pass along with the event
34797
- */
34798
- oParameters?: object
34799
- ): this;
34800
- /**
34801
- * Suspends the object which is loaded by the target.
34802
- *
34803
- * Currently this function stops the router of the component when the object which is loaded by this target
34804
- * is an instance of UIComponent. This is done only when the target is already loaded. When the target is
34805
- * not loaded yet or still being loaded, the router of the component isn't stopped.
34806
- *
34807
- * @returns The 'this' to chain the call
34808
- */
34809
- suspend(): Target;
34810
- }
34811
- }
35453
+ import {
35454
+ $TargetSettings,
35455
+ default as Target,
35456
+ } from "sap/ui/core/routing/Target";
34812
35457
 
34813
- declare module "sap/ui/core/routing/Targets" {
34814
- import EventProvider from "sap/ui/base/EventProvider";
35458
+ import View from "sap/ui/core/mvc/View";
34815
35459
 
34816
- import Views from "sap/ui/core/routing/Views";
35460
+ import Control from "sap/ui/core/Control";
34817
35461
 
34818
35462
  import Metadata from "sap/ui/base/Metadata";
34819
35463
 
34820
- import Target from "sap/ui/core/routing/Target";
34821
-
34822
35464
  /**
34823
35465
  * @SINCE 1.84.0
34824
35466
  * @PROTECTED - DO NOT USE IN APPLICATIONS (only for related classes in the framework)
@@ -34939,281 +35581,16 @@ declare module "sap/ui/core/routing/Targets" {
34939
35581
  */
34940
35582
  rootView?: string;
34941
35583
  /**
34942
- * @since 1.34 Whether the views which are created through this Targets are loaded asyncly. This option
34943
- * can be set only when the Targets is used standalone without the involvement of a Router. Otherwise the
34944
- * async option is inherited from the Router.
35584
+ * @since 1.34 Whether the views which are created through this Targets are loaded asynchronously. This
35585
+ * option can be set only when the Targets is used standalone without the involvement of a Router. Otherwise
35586
+ * the async option is inherited from the Router.
34945
35587
  */
34946
35588
  async?: boolean;
34947
35589
  };
34948
35590
  /**
34949
35591
  * One or multiple targets in a map.
34950
35592
  */
34951
- targets: {
34952
- /**
34953
- * a new target, the key severs as a name. An example:
34954
- * ```javascript
34955
- *
34956
- *
34957
- * {
34958
- * targets: {
34959
- * welcome: {
34960
- * type: "View",
34961
- * name: "Welcome",
34962
- * viewType: "XML",
34963
- * ....
34964
- * // Other target parameters
34965
- * },
34966
- * goodbye: {
34967
- * type: "Component",
34968
- * usage: "myreuse",
34969
- * containerSettings: {
34970
- * // settings for the component container
34971
- * }
34972
- * ....
34973
- * // Other target parameters
34974
- * }
34975
- * }
34976
- * }
34977
- *
34978
- * ```
34979
- *
34980
- *
34981
- * This will create two targets named 'welcome' and 'goodbye' you can display both of them or one of them
34982
- * using the {@link #display} function.
34983
- *
34984
- * The 'welcome' target creates a View instance when it's displayed. The 'goodbye' target creates a Component
34985
- * instance.
34986
- *
34987
- *
34988
- * The settings for the Component are defined in the manifest of the owner component of the router under
34989
- * path '/sap.ui5/componentUsages' and it can be used in the target by setting the 'usage' option with the
34990
- * name in the 'componentUsages'.
34991
- * See the following manifest.json example of the owner component. There's a component settings object
34992
- * defined with name "myreuse" which can be used to set the "usage" option in a target's configuration.
34993
- *
34994
- * ```javascript
34995
- *
34996
- *
34997
- * {
34998
- * "sap.ui5": {
34999
- * "componentUsages": {
35000
- * "myreuse": {
35001
- * "name": "reuse.component",
35002
- * "settings": {},
35003
- * "componentData": {},
35004
- * "lazy": false,
35005
- * }
35006
- * }
35007
- * }
35008
- * }
35009
- *
35010
- * ```
35011
- */
35012
- anyName: {
35013
- /**
35014
- * Defines whether the target creates an instance of 'View' or 'Component'.
35015
- */
35016
- type: string;
35017
- /**
35018
- * Defines the name of the View or Component that will be created. For type 'Component', use option 'usage'
35019
- * instead if an owner component exists. To place the view or component into a Control, use the options
35020
- * `controlAggregation` and `controlId`. Instance of View or Component will only be created once per `name`
35021
- * or `usage` combined with `id`.
35022
- * ```javascript
35023
- *
35024
- *
35025
- * {
35026
- * targets: {
35027
- * // If display("masterWelcome") is called, the master view will be placed in the 'MasterPages' of a control with the id splitContainter
35028
- * masterWelcome: {
35029
- * type: "View",
35030
- * name: "Welcome",
35031
- * controlId: "splitContainer",
35032
- * controlAggregation: "masterPages"
35033
- * },
35034
- * // If display("detailWelcome") is called after the masterWelcome, the view will be removed from the master pages and added to the detail pages, since the same instance is used. Also the controls inside of the view will have the same state.
35035
- * detailWelcome: {
35036
- * // same view here, that's why the same instance is used
35037
- * type: "View",
35038
- * name: "Welcome",
35039
- * controlId: "splitContainer",
35040
- * controlAggregation: "detailPages"
35041
- * }
35042
- * }
35043
- * }
35044
- *
35045
- * ```
35046
- *
35047
- *
35048
- * If you want to have a second instance of the 'welcome' view you can set different 'id' to the targets:
35049
- *
35050
- *
35051
- * ```javascript
35052
- *
35053
- *
35054
- * {
35055
- * targets: {
35056
- * // If display("masterWelcome") is called, the view with name "Welcome" will be placed in the 'MasterPages' of a control with the id splitContainter
35057
- * masterWelcome: {
35058
- * type: "View",
35059
- * name: "Welcome",
35060
- * id: "masterWelcome",
35061
- * controlId: "splitContainer",
35062
- * controlAggregation: "masterPages"
35063
- * },
35064
- * // If display("detailWelcome") is called after the "masterWelcome" target, a second instance of the same view with its own controller instance will be added in the detail pages.
35065
- * detailWelcome: {
35066
- * type: "View",
35067
- * name: "Welcome",
35068
- * // another instance will be created because a different id is used
35069
- * id: "detailWelcome",
35070
- * controlId: "splitContainer",
35071
- * controlAggregation: "detailPages"
35072
- * }
35073
- * }
35074
- * }
35075
- *
35076
- * ```
35077
- */
35078
- name?: string;
35079
- /**
35080
- * Defines the 'usage' name for 'Component' target which refers to the '/sap.ui5/componentUsages' entry
35081
- * in the owner component's manifest.
35082
- */
35083
- usage?: string;
35084
- /**
35085
- * The type of the view that is going to be created. These are the supported types: {@link sap.ui.core.mvc.ViewType}.
35086
- * You always have to provide a viewType except if `oOptions.config.viewType` is set or when using {@link
35087
- * sap.ui.core.routing.Views#setView}.
35088
- */
35089
- viewType?: string;
35090
- /**
35091
- * A prefix that will be prepended in front of the `name`.
35092
- * **Example:** `name` is set to "myView" and `path` is set to "myApp" - the created view's name will be
35093
- * "myApp.myView".
35094
- */
35095
- path?: string;
35096
- /**
35097
- * The ID of the created instance. This is will be prefixed with the id of the component set to the views
35098
- * instance provided in oOptions.views. For details see {@link sap.ui.core.routing.Views#getView}.
35099
- */
35100
- id?: string;
35101
- /**
35102
- * The id of the parent of the controlId - This should be the id of the view that contains your controlId,
35103
- * since the target control will be retrieved by calling the {@link sap.ui.core.mvc.View#byId} function
35104
- * of the targetParent. By default, this will be the view created by a component, so you do not have to
35105
- * provide this parameter. If you are using children, the view created by the parent of the child is taken.
35106
- * You only need to specify this, if you are not using a Targets instance created by a component and you
35107
- * should give the id of root view of your application to this property.
35108
- */
35109
- targetParent?: string;
35110
- /**
35111
- * The ID of the control where you want to place the instance created by this target. You also need to set
35112
- * "controlAggregation" property to specify to which aggregation of the control should the created instance
35113
- * be added. An example for containers are {@link sap.ui.ux3.Shell} with the aggregation 'content' or a
35114
- * {@link sap.m.NavContainer} with the aggregation 'pages'.
35115
- */
35116
- controlId?: string;
35117
- /**
35118
- * The name of an aggregation of the controlId, where the created instance from the target will be added.
35119
- * Eg: a {@link sap.m.NavContainer} has an aggregation 'pages', another Example is the {@link sap.ui.ux3.Shell}
35120
- * it has 'content'.
35121
- */
35122
- controlAggregation?: string;
35123
- /**
35124
- * Defines a boolean that can be passed to specify if the aggregation should be cleared - all items will
35125
- * be removed - before adding the View to it. When using a {@link sap.ui.ux3.Shell} this should be true.
35126
- * For a {@link sap.m.NavContainer} it should be false. When you use the {@link sap.m.routing.Router} the
35127
- * default will be false.
35128
- */
35129
- clearControlAggregation?: boolean;
35130
- /**
35131
- * A reference to another target, using the name of the target. If you display a target that has a parent,
35132
- * the parent will also be displayed. Also the control you specify with the controlId parameter, will be
35133
- * searched inside of the created instance of the parent not in the rootView, provided in the config. The
35134
- * control will be searched using the byId function of a view. When it is not found, the global id is checked.
35135
- *
35136
- * The main usecase for the parent property is placing a view or component inside a smaller container of
35137
- * an instance, which is also created by targets. This is useful for lazy loading views or components, only
35138
- * if the user really navigates to this part of your application.
35139
- * **Example:** Our aim is to lazy load a tab of an IconTabBar (a control that displays a view initially
35140
- * and when a user clicks on it the view changes). It's a perfect candidate to lazy load something inside
35141
- * of it.
35142
- * **Example app structure:**
35143
- * We have a rootView that is returned by the createContent function of our UIComponent. This view contains
35144
- * an sap.m.App control with the id 'myApp'
35145
- * ```javascript
35146
- *
35147
- *
35148
- * <View xmlns="sap.m">
35149
- * <App id="myApp"/>
35150
- * </View>
35151
- *
35152
- * ```
35153
- * an xml view called 'Detail'
35154
- * ```javascript
35155
- *
35156
- *
35157
- * <View xmlns="sap.m">
35158
- * <IconTabBar>
35159
- * <items>
35160
- * <IconTabFilter>
35161
- * <!-- content of our first tab -->
35162
- * <IconTabFilter>
35163
- * <IconTabFilter id="mySecondTab">
35164
- * <!-- nothing here, since we will lazy load this one with a target -->
35165
- * <IconTabFilter>
35166
- * </items>
35167
- * </IconTabBar>
35168
- * </View>
35169
- *
35170
- * ```
35171
- * and a view called 'SecondTabContent', this one contains our content we want to have lazy loaded. Now
35172
- * we need to create our Targets instance with a config matching our app:
35173
- * ```javascript
35174
- *
35175
- *
35176
- * new Targets({
35177
- * //Creates our views except for root, we created this one before - when using a component you
35178
- * views: new Views(),
35179
- * config: {
35180
- * // all of our views have that type
35181
- * viewType: 'XML',
35182
- * // a reference to the app control in the rootView created by our UIComponent
35183
- * controlId: 'myApp',
35184
- * // An app has a pages aggregation where the views need to be put into
35185
- * controlAggregation: 'pages'
35186
- * },
35187
- * targets: {
35188
- * detail: {
35189
- * type: "View",
35190
- * name: 'Detail'
35191
- * },
35192
- * secondTabContent: {
35193
- * // A reference to the detail target defined above
35194
- * parent: 'detail',
35195
- * // A reference to the second Tab container in the Detail view. Here the target does not look in the rootView, it looks in the Parent view (Detail).
35196
- * controlId: 'mySecondTab',
35197
- * // An IconTabFilter has an aggregation called content so we need to overwrite the pages set in the config as default.
35198
- * controlAggregation: 'content',
35199
- * // A view containing the content
35200
- * type: "View",
35201
- * name: 'SecondTabContent'
35202
- * }
35203
- * }
35204
- * });
35205
- *
35206
- * ```
35207
- *
35208
- *
35209
- * Now if we call ` oTargets.display("secondTabContent") `, 2 views will be created: Detail and SecondTabContent.
35210
- * The 'Detail' view will be put into the pages aggregation of the App. And afterwards the 'SecondTabContent'
35211
- * view will be put into the content Aggregation of the second IconTabFilter. So a parent will always be
35212
- * created before the target referencing it.
35213
- */
35214
- parent?: string;
35215
- };
35216
- };
35593
+ targets: Record<string, $TargetSettings>;
35217
35594
  });
35218
35595
 
35219
35596
  /**
@@ -35262,7 +35639,7 @@ declare module "sap/ui/core/routing/Targets" {
35262
35639
  * Options of a target. The option names are the same as the ones in "oOptions.targets.anyName" of {@link
35263
35640
  * #constructor}.
35264
35641
  */
35265
- oTargetOptions: object
35642
+ oTargetOptions: $TargetSettings
35266
35643
  ): this;
35267
35644
  /**
35268
35645
  * Attaches event handler `fnFunction` to the {@link #event:display display} event of this `sap.ui.core.routing.Targets`.
@@ -35408,7 +35785,19 @@ declare module "sap/ui/core/routing/Targets" {
35408
35785
  * titleChanged} event
35409
35786
  */
35410
35787
  sTitleTarget?: string
35411
- ): Targets | Promise<any>;
35788
+ ):
35789
+ | this
35790
+ | Promise<
35791
+ Array<{
35792
+ name: string;
35793
+
35794
+ view: View;
35795
+
35796
+ control: Control;
35797
+
35798
+ targetInfo: TargetInfo;
35799
+ }>
35800
+ >;
35412
35801
  /**
35413
35802
  * Fires event {@link #event:created created} to attached listeners.
35414
35803
  *
@@ -35544,7 +35933,7 @@ declare module "sap/ui/core/routing/Views" {
35544
35933
  */
35545
35934
  viewName: string;
35546
35935
  }
35547
- ): Promise<any>;
35936
+ ): Promise<View>;
35548
35937
  /**
35549
35938
  * Adds or overwrites a view in the cache of the Views instance. The viewName serves as a key for caching.
35550
35939
  *
@@ -36513,14 +36902,14 @@ declare module "sap/ui/core/theming/Parameters" {
36513
36902
  * If given, the callback is only executed in case there are still parameters pending and one or more of
36514
36903
  * the requested parameters is missing.
36515
36904
  */
36516
- callback?: Function;
36905
+ callback?: (p1: Value) => void;
36517
36906
  },
36518
36907
  /**
36519
36908
  * Element / control instance to take into account when looking for a parameter value. This can make a difference
36520
36909
  * when a parameter value is overridden in a theme scope set via a CSS class.
36521
36910
  */
36522
36911
  oElement?: UI5Element
36523
- ): string | object | undefined;
36912
+ ): Value;
36524
36913
  /**
36525
36914
  * @deprecated (since 1.92)
36526
36915
  *
@@ -36531,6 +36920,11 @@ declare module "sap/ui/core/theming/Parameters" {
36531
36920
  }
36532
36921
  const Parameters: Parameters;
36533
36922
  export default Parameters;
36923
+
36924
+ /**
36925
+ * Theming Parameter Value
36926
+ */
36927
+ export type Value = string | Record<string, string> | undefined;
36534
36928
  }
36535
36929
 
36536
36930
  declare module "sap/ui/core/Title" {
@@ -39003,6 +39397,8 @@ declare module "sap/ui/core/UIComponent" {
39003
39397
 
39004
39398
  import ComponentContainer from "sap/ui/core/ComponentContainer";
39005
39399
 
39400
+ import { $RouteSettings } from "sap/ui/core/routing/Route";
39401
+
39006
39402
  /**
39007
39403
  * @SINCE 1.9.2
39008
39404
  *
@@ -39331,18 +39727,20 @@ declare module "sap/ui/core/UIComponent" {
39331
39727
  * ```javascript
39332
39728
  *
39333
39729
  * routing: {
39334
- * "routes": {
39335
- * "welcome": {
39730
+ * "routes": [
39731
+ * {
39732
+ * "name": "welcome",
39336
39733
  * // If the URL has no hash e.g.: index.html or index.html# , this route will be matched.
39337
39734
  * "pattern": "",
39338
39735
  * // Displays the target called "welcome" specified in metadata.routing.targets.welcome.
39339
39736
  * "target": "welcome"
39340
- * }
39341
- * "product": {
39737
+ * },
39738
+ * {
39739
+ * "name": "product",
39342
39740
  * "pattern": "Product/{id}",
39343
39741
  * "target": "product"
39344
39742
  * }
39345
- * }
39743
+ * ],
39346
39744
  * // Default values for targets
39347
39745
  * "config": {
39348
39746
  * // For a detailed documentation of these parameters have a look at the sap.ui.core.routing.Targets documentation
@@ -39352,13 +39750,13 @@ declare module "sap/ui/core/UIComponent" {
39352
39750
  * "viewNamespace": "myApplication.namespace",
39353
39751
  * // If you are using the mobile library, you have to use an sap.m.Router, to get support for
39354
39752
  * // the controls sap.m.App, sap.m.SplitApp, sap.m.NavContainer and sap.m.SplitContainer.
39355
- * "routerClass": "sap.m.routing.Router"
39753
+ * "routerClass": "sap.m.routing.Router",
39356
39754
  * // What happens if no route matches the hash?
39357
39755
  * "bypassed": {
39358
39756
  * // the not found target gets displayed
39359
39757
  * "target": "notFound"
39360
39758
  * }
39361
- * }
39759
+ * },
39362
39760
  * "targets": {
39363
39761
  * "welcome": {
39364
39762
  * // Referenced by the route "welcome"
@@ -39369,7 +39767,7 @@ declare module "sap/ui/core/UIComponent" {
39369
39767
  * // Referenced by the route "Product"
39370
39768
  * "viewName": "Product",
39371
39769
  * "viewLevel": 1
39372
- * }
39770
+ * },
39373
39771
  * "notFound": {
39374
39772
  * // Referenced by the bypassed section of the config
39375
39773
  * "viewName": "NotFound"
@@ -39381,15 +39779,10 @@ declare module "sap/ui/core/UIComponent" {
39381
39779
  */
39382
39780
  export type RoutingMetadata = {
39383
39781
  /**
39384
- * An object containing the routes that should be added to the router. See {@link sap.ui.core.routing.Route}
39782
+ * An array containing the routes that should be added to the router. See {@link sap.ui.core.routing.Route}
39385
39783
  * for the allowed properties.
39386
39784
  */
39387
- routes?: object;
39388
- /**
39389
- * Since 1.28.1. An object containing the targets that will be available for the router and the `Targets`
39390
- * instance. See {@link sap.ui.core.routing.Targets} for the allowed values.
39391
- */
39392
- targets?: object;
39785
+ routes?: $RouteSettings[] | Record<string, $RouteSettings>;
39393
39786
  /**
39394
39787
  * Since 1.16. An object containing default values used for routes and targets. See {@link sap.ui.core.routing.Router#constructor}
39395
39788
  * and {@link sap.ui.core.routing.Targets} for more documentation.
@@ -42753,7 +43146,7 @@ declare module "sap/ui/Device" {
42753
43146
  * If this range set is initialized, a CSS class is added to the page root (`html` tag) which indicates
42754
43147
  * the current screen width range: `sapUiMedia-3Step-NAME_OF_THE_INTERVAL`.
42755
43148
  */
42756
- export const SAP_3STEPS: undefined;
43149
+ export const SAP_3STEPS: string;
42757
43150
 
42758
43151
  /**
42759
43152
  * A 4-step range set (S-XL).
@@ -42769,7 +43162,7 @@ declare module "sap/ui/Device" {
42769
43162
  * If this range set is initialized, a CSS class is added to the page root (`html` tag) which indicates
42770
43163
  * the current screen width range: `sapUiMedia-4Step-NAME_OF_THE_INTERVAL`.
42771
43164
  */
42772
- export const SAP_4STEPS: undefined;
43165
+ export const SAP_4STEPS: string;
42773
43166
 
42774
43167
  /**
42775
43168
  * A 6-step range set (XS-XXL).
@@ -42787,7 +43180,7 @@ declare module "sap/ui/Device" {
42787
43180
  * If this range set is initialized, a CSS class is added to the page root (`html` tag) which indicates
42788
43181
  * the current screen width range: `sapUiMedia-6Step-NAME_OF_THE_INTERVAL`.
42789
43182
  */
42790
- export const SAP_6STEPS: undefined;
43183
+ export const SAP_6STEPS: string;
42791
43184
 
42792
43185
  /**
42793
43186
  * A 3-step range set (Phone, Tablet, Desktop).
@@ -42811,7 +43204,7 @@ declare module "sap/ui/Device" {
42811
43204
  *
42812
43205
  * - `sapUiVisibleOnlyOnDesktop`: Will be visible only if the screen has 1024px or more
42813
43206
  */
42814
- export const SAP_STANDARD: undefined;
43207
+ export const SAP_STANDARD: string;
42815
43208
 
42816
43209
  /**
42817
43210
  * A 4-step range set (Phone, Tablet, Desktop, LargeDesktop).
@@ -42827,7 +43220,7 @@ declare module "sap/ui/Device" {
42827
43220
  *
42828
43221
  * A CSS class is added to the page root (`html` tag) which indicates the current screen width range: `sapUiMedia-StdExt-NAME_OF_THE_INTERVAL`.
42829
43222
  */
42830
- export const SAP_STANDARD_EXTENDED: undefined;
43223
+ export const SAP_STANDARD_EXTENDED: string;
42831
43224
  }
42832
43225
  }
42833
43226
 
@@ -54228,7 +54621,7 @@ declare module "sap/ui/model/odata/type/DateTime" {
54228
54621
  * which represents a timestamp in the configured time zone. Validates the resulting value against the constraints
54229
54622
  * of this type instance.
54230
54623
  * See:
54231
- * {@link sap.ui.core.Configuration.getTimezone}
54624
+ * {@link sap.ui.core.Configuration#getTimezone}
54232
54625
  *
54233
54626
  * @returns The model representation for the given Date
54234
54627
  */
@@ -54663,6 +55056,15 @@ declare module "sap/ui/model/odata/type/DateTimeWithTimezone" {
54663
55056
  * messages to the attached control
54664
55057
  */
54665
55058
  getPartsIgnoringMessages(): number[];
55059
+ /**
55060
+ * @EXPERIMENTAL (since 1.114.0)
55061
+ *
55062
+ * Returns a language-dependent placeholder text such as "e.g. " where is formatted
55063
+ * using this type.
55064
+ *
55065
+ * @returns The language-dependent placeholder text or `undefined` if the type does not offer a placeholder
55066
+ */
55067
+ getPlaceholderText(): string | undefined;
54666
55068
  /**
54667
55069
  * Parses the given value.
54668
55070
  *
@@ -55597,6 +55999,15 @@ declare module "sap/ui/model/odata/type/ODataType" {
55597
55999
  * @returns Metadata object describing this class
55598
56000
  */
55599
56001
  static getMetadata(): Metadata;
56002
+ /**
56003
+ * @EXPERIMENTAL (since 1.114.0)
56004
+ *
56005
+ * Returns a language-dependent placeholder text such as "e.g. " where is formatted
56006
+ * using this type.
56007
+ *
56008
+ * @returns The language-dependent placeholder text or `undefined` if the type does not offer a placeholder
56009
+ */
56010
+ getPlaceholderText(): string | undefined;
55600
56011
  }
55601
56012
  }
55602
56013
 
@@ -58958,6 +59369,16 @@ declare module "sap/ui/model/odata/v2/ODataModel" {
58958
59369
  * then this OData model's cache is updated with the values of the returned entities. Otherwise they are
58959
59370
  * ignored, and the `response` can be processed in the `success` callback.
58960
59371
  *
59372
+ * The `contextCreated` property of the returned object is a function that returns a Promise which resolves
59373
+ * with an `sap.ui.model.odata.v2.Context`. This context can be used to modify the function import parameter
59374
+ * values and to bind the function call's result. Changes of a parameter value via that context after the
59375
+ * function import has been processed lead to another function call with the modified parameters. Changed
59376
+ * function import parameters are considered as pending changes, see {@link #hasPendingChanges} or {@link
59377
+ * #getPendingChanges}, and can be reset via {@link #resetChanges}. If the function import returns an entity
59378
+ * or a collection of entities, the `$result` property relative to that context can be used to bind the
59379
+ * result to a control, see {@link topic:6c47b2b39db9404582994070ec3d57a2#loio6cb8d585ed594ee4b447b5b560f292a4
59380
+ * Binding of Function Import Parameters}.
59381
+ *
58961
59382
  * @returns An object which has a `contextCreated` function that returns a `Promise`. This resolves with
58962
59383
  * the created {@link sap.ui.model.Context}. In addition it has an `abort` function to abort the current
58963
59384
  * request. The Promise returned by `contextCreated` is rejected if the function name cannot be found in
@@ -59960,14 +60381,17 @@ declare module "sap/ui/model/odata/v2/ODataModel" {
59960
60381
  oContext?: object
59961
60382
  ): any;
59962
60383
  /**
59963
- * Returns the changed properties of all changed entities in a map which are still pending. The key is the
59964
- * string name of the entity, and the value is an object which contains the changed properties. The tree
59965
- * hierarchy changes for removed nodes are represented via an empty object.
60384
+ * Returns the pending changes in this model.
59966
60385
  *
59967
- * In contrast to the two related functions {@link #hasPendingChanges} and {@link #resetChanges}, only client
59968
- * data changes are supported.
60386
+ * Only changes triggered through {@link #createEntry} or {@link #setProperty}, and tree hierarchy changes
60387
+ * are taken into account. Changes are returned as a map from the changed entity's key to an object containing
60388
+ * the changed properties. A node removed from a tree hierarchy has the empty object as value in this map;
60389
+ * all other pending entity deletions are not contained in the map.
60390
+ * See:
60391
+ * #hasPendingChanges
60392
+ * #resetChanges
59969
60393
  *
59970
- * @returns the pending changes in a map
60394
+ * @returns The map of pending changes
59971
60395
  */
59972
60396
  getPendingChanges(): Record<string, object>;
59973
60397
  /**
@@ -60043,6 +60467,9 @@ declare module "sap/ui/model/odata/v2/ODataModel" {
60043
60467
  *
60044
60468
  * If `bAll` is set to `true`, also deferred requests triggered through {@link #create}, {@link #update},
60045
60469
  * and {@link #remove} are taken into account.
60470
+ * See:
60471
+ * #getPendingChanges
60472
+ * #resetChanges
60046
60473
  *
60047
60474
  * @returns `true` if there are pending changes, `false` otherwise.
60048
60475
  */
@@ -60347,9 +60774,9 @@ declare module "sap/ui/model/odata/v2/ODataModel" {
60347
60774
  /**
60348
60775
  * Resets pending changes and aborts corresponding requests.
60349
60776
  *
60350
- * By default, only changes triggered through {@link #createEntry} or {@link #setProperty} are taken into
60351
- * account. If `bAll` is set, also deferred requests triggered through {@link #create}, {@link #update}
60352
- * or {@link #remove} are taken into account.
60777
+ * By default, only changes triggered through {@link #createEntry} or {@link #setProperty}, and tree hierarchy
60778
+ * changes are taken into account. If `bAll` is set, also deferred requests triggered through {@link #create},
60779
+ * {@link #update} or {@link #remove} are taken into account.
60353
60780
  *
60354
60781
  * With a given `aPath` only specified entities are reset. Note that tree hierarchy changes are only affected
60355
60782
  * if a given path is equal to the tree binding's resolved binding path.
@@ -60359,6 +60786,9 @@ declare module "sap/ui/model/odata/v2/ODataModel" {
60359
60786
  * - {@link #createEntry}, provided it is not yet persisted in the back end and is active (see {@link
60360
60787
  * sap.ui.model.odata.v2.Context#isInactive}),
60361
60788
  * - {@link #callFunction}.
60789
+ * See:
60790
+ * #getPendingChanges
60791
+ * #hasPendingChanges
60362
60792
  *
60363
60793
  * @returns Resolves when all regarded changes have been reset.
60364
60794
  */
@@ -62957,9 +63387,10 @@ declare module "sap/ui/model/odata/v4/ODataListBinding" {
62957
63387
  * bind the list relative to a transient context. Calling this method then adds a transient entity to the
62958
63388
  * parent's navigation property, which is sent with the payload of the parent entity. Such a nested context
62959
63389
  * also has a {@link sap.ui.model.odata.v4.Context#created created} promise, which resolves when the deep
62960
- * create resolves. **Beware:** After a succesful creation of the main entity the context returned for a
62961
- * nested entity is no longer valid. New contexts are created for the nested collection because it is not
62962
- * possible to reliably assign the response entities to those of the request, especially if the count differs.
63390
+ * create resolves; it cannot be inactive. **Beware:** After a succesful creation of the main entity the
63391
+ * context returned for a nested entity is no longer valid. New contexts are created for the nested collection
63392
+ * because it is not possible to reliably assign the response entities to those of the request, especially
63393
+ * if the count differs.
62963
63394
  *
62964
63395
  * Deep create requires the autoExpandSelect parameter at the {@link sap.ui.model.odata.v4.ODataModel#constructor
62965
63396
  * model}. The refresh after a deep create is optimized. Only the (navigation) properties missing from the
@@ -68031,6 +68462,15 @@ declare module "sap/ui/model/type/Date" {
68031
68462
  * @returns The output pattern
68032
68463
  */
68033
68464
  getOutputPattern(): string;
68465
+ /**
68466
+ * @EXPERIMENTAL (since 1.114.0)
68467
+ *
68468
+ * Returns a language-dependent placeholder text such as "e.g. " where is formatted
68469
+ * using this type.
68470
+ *
68471
+ * @returns The language-dependent placeholder text or `undefined` if the type does not offer a placeholder
68472
+ */
68473
+ getPlaceholderText(): string | undefined;
68034
68474
  }
68035
68475
  }
68036
68476
 
@@ -68159,6 +68599,15 @@ declare module "sap/ui/model/type/DateInterval" {
68159
68599
  */
68160
68600
  sTargetType: string
68161
68601
  ): string;
68602
+ /**
68603
+ * @EXPERIMENTAL (since 1.114.0)
68604
+ *
68605
+ * Returns a language-dependent placeholder text such as "e.g. " where is formatted
68606
+ * using this type.
68607
+ *
68608
+ * @returns The language-dependent placeholder text or `undefined` if the type does not offer a placeholder
68609
+ */
68610
+ getPlaceholderText(): string | undefined;
68162
68611
  /**
68163
68612
  * Parses the given value to an array of two values representing the start date and the end date of the
68164
68613
  * interval, where the time part of the start date is 0 and the time part of end date is the end of day
@@ -70653,7 +71102,7 @@ declare module "sap/ui/test/gherkin/StepDefinitions" {
70653
71102
  */
70654
71103
  register(
70655
71104
  /**
70656
- * the regular expression that matches the feature file step (with leading "Given", "When", "Then", "But"
71105
+ * The regular expression that matches the feature file step (with leading "Given", "When", "Then", "But"
70657
71106
  * or "*" removed). E.g. if the feature file has the step "Then I should be served a coffee" it will be
70658
71107
  * truncated to "I should be served a coffee" and tested against "rRegex" to check for a match. The simple
70659
71108
  * regular expression /^I should be served a coffee$/i would match this text. The regular expression can
@@ -74864,7 +75313,7 @@ declare module "sap/ui/test/OpaPlugin" {
74864
75313
  /**
74865
75314
  * Gets the constructor function of a certain controlType
74866
75315
  *
74867
- * @returns When the type is loaded, the contstructor is returned, if it is a lazy stub or not yet loaded,
75316
+ * @returns When the type is loaded, the constructor is returned, if it is a lazy stub or not yet loaded,
74868
75317
  * null will be returned and there will be a log entry.
74869
75318
  */
74870
75319
  getControlConstructor(