/** * An integer number */ declare type int = number; /** * A number, potentially with decimals */ declare type float = number; /** * An alternative name for the global type Element. * * UI5 defines its own type sap.ui.core.Element, which, in the scope of the sap.ui.core * namespace, hides the global type. As there are other entities in the same namespace * that refer to the global Element in their signatures, this naming conflict can cause * type mismatches between sap.ui.core code and other code subclassing from it. * * To avoid these issues, the alternative name can be used in sap.ui.core signatures. * * @todo check if HTMLElement could be used instead in UI5 method signatures */ declare type global_Element = Element; declare type jQuery = JQuery; declare namespace jQuery { export type Event = JQuery.Event; export type Deferred = JQuery.Deferred; export type Promise = JQuery.Promise; } declare namespace QUnit { export type Assert = globalThis.Assert; } interface JQuery extends Iterable { /** * Adds the given ID reference to the aria-describedby attribute. */ addAriaDescribedBy( /** * The ID reference of an element */ sId: string, /** * whether prepend or not */ bPrepend?: boolean ): jQuery; /** * Adds the given ID reference to the aria-labelledby attribute. */ addAriaLabelledBy( /** * The ID reference of an element */ sId: string, /** * Whether prepend or not */ bPrepend?: boolean ): jQuery; /** * Extension function to the jQuery.fn which identifies SAPUI5 controls in the given jQuery context. * @deprecated As of version 1.106, use {@link sap.ui.core.Element.closestTo} instead. */ control( /** * Whether or not to respect the associated DOM elements to a control via data-sap-ui-related attribute. */ includeRelated?: boolean ): Array; /** * Extension function to the jQuery.fn which identifies SAPUI5 controls in the given jQuery context. * @deprecated As of version 1.106, use {@link sap.ui.core.Element.closestTo} instead. */ control( /** * Parameter to return the control instance at the given index in the array. */ index: int, /** * Whether or not to respect the associated DOM elements to a control via data-sap-ui-related attribute. */ includeRelated?: boolean ): import("sap/ui/core/Control").default | null; /** * Gets the position of the cursor in an element that supports cursor positioning. */ cursorPos(): int; /** * Sets the position of the cursor in an element that supports cursor positioning. */ cursorPos( /** * The cursor position to set */ iPos: int ): jQuery; /** * Disable HTML elements selection. */ disableSelection(): jQuery; /** * Enable HTML elements to get selected. */ enableSelection(): jQuery; /** * Returns the first focusable domRef in a given container (the first element of the collection) */ firstFocusableDomRef(): Element; /** * Retrieve the selected text in the first element of the collection. * * Note: This feature is only supported for input element’s type of text, search, url, tel and password. */ getSelectedText(): string; /** * Returns true if the first element has a set tabindex. */ hasTabIndex(): boolean; /** * Returns the last focusable domRef in a given container */ lastFocusableDomRef(): Element; /** * Gets the next parent DOM element with a given attribute and attribute value starting above the first given element */ parentByAttribute( /** * Name of the attribute */ sAttribute: string, /** * Value of the attribute (optional) */ sValue: string ): Element; /** * Returns a rectangle describing the current visual positioning of the first DOM object in the collection * (or null if no element was given). */ rect(): object; /** * Returns whether a point described by X and Y is inside this Rectangle's boundaries. */ rectContains( /** * The X coordinate */ posX: int, /** * The Y coordinate */ posY: int ): boolean; /** * Removes the given ID reference from the aria-describedby attribute. */ removeAriaDescribedBy( /** * The ID reference of an element */ sId: string ): jQuery; /** * Removes the given ID reference from the aria-labelledby attribute. */ removeAriaLabelledBy( /** * The ID reference of an element */ sId: string ): jQuery; /** * Returns the scrollLeft value of the first element in the given jQuery collection in right-to-left mode. * * Precondition: The element is rendered in RTL mode. * * Reason for this method is that the major browsers use three different values for the same scroll position * when in RTL mode. This method hides those differences and returns/applies the same value that would be * returned in LTR mode: The distance in px how far the given container is scrolled away from the leftmost * scroll position. * * Returns "undefined" if no element is given. */ scrollLeftRTL(): int | undefined; /** * Sets the scrollLeft value of the first element in the given jQuery collection in right-to-left mode. * * Precondition: The element is rendered in RTL mode. * * Reason for this method is that the major browsers use three different values for the same scroll position * when in RTL mode. This method hides those differences and returns/applies the same value that would be * returned in LTR mode: The distance in px how far the given container is scrolled away from the leftmost * scroll position. */ scrollLeftRTL( /** * The desired scroll position */ iPos: int ): jQuery; /** * Returns the MIRRORED scrollLeft value of the first element in the given jQuery collection in right-to-left mode. * * Precondition: The element is rendered in RTL mode. * * Reason for this method is that the major browsers return three different values for the same scroll position * when in RTL mode. This method hides those differences and returns the value that would be returned in LTR mode * if the UI would be mirrored horizontally: The distance in px how far the given container is scrolled away * from the rightmost scroll position. * * Returns "undefined" if no element is in the given jQuery collection. */ scrollRightRTL(): int | undefined; /** * Sets the text selection in the first element of the collection. * * Note: This feature is only supported for input element's type of text, search, url, tel and password. */ selectText( /** * Start position of the selection (inclusive) */ iStart: int, /** * End position of the selection (exclusive) */ iEnd: int ): jQuery; /** * Get the z-index for an element. */ zIndex(): number; /** * Set the z-index for an element. */ zIndex( /** * The z-index to set */ zIndex: int ): jQuery; } declare module "sap/ui/thirdparty/jquery" { export default jQuery; } declare module "sap/ui/thirdparty/qunit-2" { export default QUnit; } declare namespace sap { interface IUI5DefineDependencyNames { "sap/ui/thirdparty/jquery": undefined; "sap/ui/thirdparty/qunit-2": undefined; } } // For Library Version: 1.147.0 declare module "sap/base/assert" { /** * A simple assertion mechanism that logs a message when a given condition is not met. * * **Note:** Calls to this method might be removed when the JavaScript code is optimized during build. Therefore, * callers should not rely on any side effects of this method. * * @since 1.58 */ export default function assert( /** * Result of the checked assertion */ bResult: boolean, /** * Message that will be logged when the result is `false`. In case this is a function, the return value * of the function will be displayed. This can be used to execute complex code only if the assertion fails. */ vMessage: string | (() => any) ): void; } declare module "sap/base/i18n/date/CalendarType" { /** * The types of `Calendar`. * * @since 1.120 */ enum CalendarType { /** * The Thai buddhist calendar */ Buddhist = "Buddhist", /** * The Gregorian calendar */ Gregorian = "Gregorian", /** * The Islamic calendar */ Islamic = "Islamic", /** * The Japanese emperor calendar */ Japanese = "Japanese", /** * The Persian Jalali calendar */ Persian = "Persian", } export default CalendarType; } declare module "sap/base/i18n/date/CalendarWeekNumbering" { /** * The `CalendarWeekNumbering` enum defines how to calculate calendar weeks. Each value defines: * - The first day of the week, * - the first week of the year. * * @since 1.120 */ enum CalendarWeekNumbering { /** * The default calendar week numbering: * * The framework determines the week numbering scheme; currently it is derived from the active format locale. * Future versions of UI5 might select a different week numbering scheme. */ Default = "Default", /** * Official calendar week numbering in most of Europe (ISO 8601 standard): * Monday is first day of the week, the week containing January 4th is first week of the year. */ ISO_8601 = "ISO_8601", /** * Official calendar week numbering in much of the Middle East (Middle Eastern calendar): * Saturday is first day of the week, the week containing January 1st is first week of the year. */ MiddleEastern = "MiddleEastern", /** * Official calendar week numbering in the United States, Canada, Brazil, Israel, Japan, and other countries * (Western traditional calendar): * Sunday is first day of the week, the week containing January 1st is first week of the year. */ WesternTraditional = "WesternTraditional", } export default CalendarWeekNumbering; } declare module "sap/base/i18n/Formatting" { import CalendarType from "sap/base/i18n/date/CalendarType"; import CalendarWeekNumbering from "sap/base/i18n/date/CalendarWeekNumbering"; import LanguageTag from "sap/base/i18n/LanguageTag"; /** * Configuration for formatting specific parameters * * @since 1.120 */ interface Formatting { /** * Adds custom currencies. There is a special currency code named "DEFAULT" that is optional. In case it * is set it is used for all currencies not contained in the list, otherwise currency digits as defined * by the CLDR are used as a fallback. * * **Note:** Adding custom currencies affects all applications running with the current UI5 core instance. * * @since 1.120 */ addCustomCurrencies( /** * A map with the currency code as key and a custom currency definition as value; already existing custom * currencies are replaced, new ones are added; the custom currency code must contain at least one non-digit * character, so that the currency part can be distinguished from the amount part; see {@link #.getCustomCurrencies Formatting.getCustomCurrencies } * for an example */ mCurrencies?: Record ): void; /** * Adds custom units. * * **Note:** Adding custom units affects all applications running with the current UI5 core instance. * * @since 1.123 */ addCustomUnits( /** * A map with the unit code as key and a custom unit definition as value; already existing custom units * are replaced, new ones are added; see {@link #.getCustomUnits Formatting.getCustomUnits} for an example */ mUnits: Record ): void; /** * Attaches the `fnFunction` event handler to the {@link #event:change change} event of `module:sap/base/i18n/Formatting`. * * @since 1.120 */ attachChange( /** * The function to be called when the event occurs */ fnFunction: (p1: Formatting$ChangeEvent) => void ): void; /** * Detaches event handler `fnFunction` from the {@link #event:change change} event of this `module:sap/base/i18n/Formatting`. * * @since 1.120 */ detachChange( /** * Function to be called when the event occurs */ fnFunction: (p1: Formatting$ChangeEvent) => void ): void; /** * Returns the currently set ABAP date format (its id) or undefined if none has been set. * * @since 1.120 * * @returns ID of the ABAP date format, if not set or set to `""`, `undefined` will be returned */ getABAPDateFormat(): | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" | undefined; /** * Returns the currently set ABAP number format (its id) or undefined if none has been set. * * @since 1.120 * * @returns ID of the ABAP number format, if not set or set to `""`, `undefined` will be returned */ getABAPNumberFormat(): " " | "X" | "Y" | undefined; /** * Returns the currently set ABAP time format (its id) or undefined if none has been set. * * @since 1.120 * * @returns ID of the ABAP date format, if not set or set to `""`, `undefined` will be returned */ getABAPTimeFormat(): "0" | "1" | "2" | "3" | "4" | undefined; /** * Returns the calendar type which is being used in locale dependent functionality. * * When it's explicitly set by calling `setCalendarType`, the set calendar type is returned. Otherwise, * the calendar type is determined by checking the format settings and current locale. * * @since 1.120 * * @returns the current calendar type, e.g. `Gregorian` */ getCalendarType(): CalendarType; /** * Returns the calendar week numbering algorithm used to determine the first day of the week and the first * calendar week of the year, see {@link module:sap/base/i18n/date/CalendarWeekNumbering CalendarWeekNumbering}. * * @since 1.120 * * @returns The calendar week numbering algorithm */ getCalendarWeekNumbering(): CalendarWeekNumbering; /** * Gets the custom currencies that have been set via {@link #.addCustomCurrencies Formatting.addCustomCurrencies } * or {@link #.setCustomCurrencies Formatting.setCustomCurrencies}. There is a special currency code named * "DEFAULT" that is optional. If it is set it is used for all currencies not contained in the list, otherwise * currency digits as defined by the CLDR are used as a fallback. * * @since 1.120 * * @returns A map with the currency code as key and a custom currency definition containing the number of * decimals as value; or `undefined` if there are no custom currencies */ getCustomCurrencies(): Record | undefined; /** * Returns the currently set customizing data for Islamic calendar support. * * See: {@link module:sap/base/i18n/Formatting.CustomIslamicCalendarData} * * @since 1.120 * * @returns Returns an array that contains the customizing data. Each element in the array has properties: * dateFormat, islamicMonthStart, gregDate. For details, please see {@link #.setCustomIslamicCalendarData} */ getCustomIslamicCalendarData(): CustomIslamicCalendarData[] | undefined; /** * Gets the custom units that have been set via {@link #.addCustomUnits Formatting.addCustomUnits} or {@link #.setCustomUnits Formatting.setCustomUnits}. * * @since 1.123 * * @returns A map with the unit code as key and a custom unit definition containing a display name and different * unit patterns as value; or `undefined` if there are no custom units */ getCustomUnits(): Record | undefined; /** * Returns the currently set date pattern or undefined if no pattern has been defined. * * @since 1.120 * * @returns The resulting date pattern */ getDatePattern( /** * The date style (short, medium, long or full) */ sStyle: "short" | "medium" | "long" | "full" ): string; /** * Returns the LanguageTag to be used for formatting. * * If no such LanguageTag has been defined, this method falls back to the language, see {@link module:sap/base/i18n/Localization.getLanguage Localization.getLanguage()}. * * If any user preferences for date, time or number formatting have been set, and if no format LanguageTag * has been specified, then a special private use subtag is added to the LanguageTag, indicating to the * framework that these user preferences should be applied. * * @since 1.120 * * @returns the format LanguageTag */ getLanguageTag(): LanguageTag; /** * Returns the currently set number symbol of the given type or undefined if no symbol has been defined. * * @since 1.120 * * @returns A non-numerical symbol used as part of a number for the given type, e.g. for locale de_DE: * * - "group": "." (grouping separator) * - "decimal": "," (decimal separator) * - "plusSign": "+" (plus sign) * - "minusSign": "-" (minus sign) */ getNumberSymbol( /** * the type of symbol */ sType: "group" | "decimal" | "plusSign" | "minusSign" ): string; /** * Returns the currently set time pattern or undefined if no pattern has been defined. * * @since 1.120 * * @returns The resulting time pattern */ getTimePattern( /** * The time style (short, medium, long or full) */ sStyle: "short" | "medium" | "long" | "full" ): string; /** * Returns current trailingCurrencyCode configuration for new NumberFormatter instances * * @since 1.120 * * @returns Whether currency codes shall always be placed after the numeric value */ getTrailingCurrencyCode(): boolean; /** * Allows to specify one of the ABAP date formats. * * This method modifies the date patterns for 'short' and 'medium' style with the corresponding ABAP format. * When called with a null or undefined format id, any previously applied format will be removed. * * After changing the date format, the framework tries to update localization specific parts of the UI. * See the documentation of {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage() } * for details and restrictions. * * @since 1.120 */ setABAPDateFormat( /** * ID of the ABAP date format, `""` will reset the date patterns for 'short' and 'medium' style to the locale-specific * ones. */ sFormatId?: | "" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" ): void; /** * Allows to specify one of the ABAP number format. * * This method will modify the 'group' and 'decimal' symbols. When called with a null or undefined format * id, any previously applied format will be removed. * * After changing the number format, the framework tries to update localization specific parts of the UI. * See the documentation of {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage() } * for details and restrictions. * * @since 1.120 */ setABAPNumberFormat( /** * ID of the ABAP number format set, `""` will reset the 'group' and 'decimal' symbols to the locale-specific * ones. */ sFormatId?: "" | " " | "X" | "Y" ): void; /** * Allows to specify one of the ABAP time formats. * * This method sets the time patterns for 'short' and 'medium' style to the corresponding ABAP formats and * sets the day period texts to "AM"/"PM" or "am"/"pm" respectively. When called with a null or undefined * format id, any previously applied format will be removed. * * After changing the time format, the framework tries to update localization specific parts of the UI. * See the documentation of {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage() } * for details and restrictions. * * @since 1.120 */ setABAPTimeFormat( /** * ID of the ABAP time format, `""` will reset the time patterns for 'short' and 'medium' style and the * day period texts to the locale-specific ones. */ sFormatId?: "" | "0" | "1" | "2" | "3" | "4" ): void; /** * Sets the new calendar type to be used from now on in locale dependent functionality (for example, formatting, * translation texts, etc.). * * @since 1.120 */ setCalendarType( /** * the new calendar type. Set it with null to clear the calendar type and the calendar type is calculated * based on the format settings and current locale. */ sCalendarType: (CalendarType | keyof typeof CalendarType) | null ): void; /** * Sets the calendar week numbering algorithm which is used to determine the first day of the week and the * first calendar week of the year, see {@link module:sap/base/i18n/date/CalendarWeekNumbering CalendarWeekNumbering}. * * @since 1.120 */ setCalendarWeekNumbering( /** * The calendar week numbering algorithm */ sCalendarWeekNumbering: | CalendarWeekNumbering | keyof typeof CalendarWeekNumbering ): void; /** * Replaces existing custom currencies by the given custom currencies. There is a special currency code * named "DEFAULT" that is optional. In case it is set, it is used for all currencies not contained in the * list, otherwise currency digits as defined by the CLDR are used as a fallback. * * **Note:** Setting custom units affects all applications running with the current UI5 core instance. * See: * {@link module:sap/base/i18n/Formatting.addCustomCurrencies Formatting.addCustomCurrencies} * * @since 1.120 */ setCustomCurrencies( /** * A map with the currency code as key and a custom currency definition as value; the custom currency code * must contain at least one non-digit character, so that the currency part can be distinguished from the * amount part; `mCurrencies` replaces the current custom currencies; if not given, all custom currencies * are deleted; see {@link #.getCustomCurrencies Formatting.getCustomCurrencies} for an example */ mCurrencies?: Record ): void; /** * Allows to specify the customizing data for Islamic calendar support * * See: {@link module:sap/base/i18n/Formatting.CustomIslamicCalendarData} * * @since 1.120 */ setCustomIslamicCalendarData( /** * Contains the customizing data for the support of Islamic calendar. One JSON object in the array represents * one row of data from Table TISLCAL */ aCustomCalendarData: CustomIslamicCalendarData[] ): void; /** * Replaces existing custom units by the given custom units. * * **Note:** Setting custom units affects all applications running with the current UI5 core instance. * See: * {@link module:sap/base/i18n/Formatting.addCustomUnits Formatting.addCustomUnits} * * @since 1.123 */ setCustomUnits( /** * A map with the unit code as key and a custom unit definition as value; `mUnits` replaces the current * custom units; if not given, all custom units are deleted; see {@link #.getCustomUnits Formatting.getCustomUnits } * for an example */ mUnits?: Record ): void; /** * Defines the preferred format pattern for the given date format style. * * Calling this method with a null or undefined pattern removes a previously set pattern. * * If a pattern is defined, it will be preferred over patterns derived from the current locale. * * See class {@link sap.ui.core.format.DateFormat DateFormat} for details about the pattern syntax. * * After changing the date pattern, the framework tries to update localization specific parts of the UI. * See the documentation of {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage() } * for details and restrictions. * * @since 1.120 */ setDatePattern( /** * must be one of short, medium, long or full. */ sStyle: "short" | "medium" | "long" | "full", /** * the format pattern to be used in LDML syntax. */ sPattern: string ): void; /** * Sets a new language tag to be used from now on for retrieving language specific formatters. Modifying * this setting does not have an impact on the retrieval of translated texts! * * Can either be set to a concrete value (a BCP47 or Java locale compliant language tag) or to `null`. When * set to `null` (default value) then locale specific formatters are retrieved for the current language. * * After changing the format locale, the framework tries to update localization specific parts of the UI. * See the documentation of {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage() } * for details and restrictions. * * **Note**: When a language tag is set, it has higher priority than a number, date or time format defined * with a call to `setABAPNumberFormat`, `setABAPDateFormat` or `setABAPTimeFormat`. * * **Note**: See documentation of {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage() } * for restrictions. * * @since 1.120 */ setLanguageTag( /** * the new BCP47 compliant language tag; case doesn't matter and underscores can be used instead of hyphens * to separate components (compatibility with Java Locale IDs) */ vLanguageTag: string | LanguageTag | null ): void; /** * Defines the string to be used for the given number symbol. * * Calling this method with a null or undefined symbol removes a previously set symbol string. Note that * an empty string is explicitly allowed. * * If a symbol is defined, it will be preferred over symbols derived from the current locale. * * See class {@link sap.ui.core.format.NumberFormat NumberFormat} for details about the symbols. * * After changing the number symbol, the framework tries to update localization specific parts of the UI. * See the documentation of {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage() } * for details and restrictions. * * @since 1.120 */ setNumberSymbol( /** * the type of symbol */ sType: "group" | "decimal" | "plusSign" | "minusSign", /** * will be used to represent the given symbol type */ sSymbol: string ): void; /** * Defines the preferred format pattern for the given time format style. * * Calling this method with a null or undefined pattern removes a previously set pattern. * * If a pattern is defined, it will be preferred over patterns derived from the current locale. * * See class {@link sap.ui.core.format.DateFormat DateFormat} for details about the pattern syntax. * * After changing the time pattern, the framework tries to update localization specific parts of the UI. * See the documentation of {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage() } * for details and restrictions. * * @since 1.120 */ setTimePattern( /** * must be one of short, medium, long or full. */ sStyle: "short" | "medium" | "long" | "full", /** * the format pattern to be used in LDML syntax. */ sPattern: string ): void; /** * Define whether the NumberFormatter shall always place the currency code after the numeric value, with * the only exception of right-to-left locales, where the currency code shall be placed before the numeric * value. Default configuration setting is `true`. * * When set to `false` the placement of the currency code is done dynamically, depending on the configured * locale using data provided by the Unicode Common Locale Data Repository (CLDR). * * Each currency instance ({@link sap.ui.core.format.NumberFormat.getCurrencyInstance NumberFormat.getCurrencyInstance}) * will be created with this setting unless overwritten on instance level. * * @since 1.120 */ setTrailingCurrencyCode( /** * Whether currency codes shall always be placed after the numeric value */ bTrailingCurrencyCode: boolean ): void; } const Formatting: Formatting; export default Formatting; /** * Definition of a custom currency. */ export type CustomCurrency = { /** * The number of decimal digits to be used for the currency */ digits: int; }; /** * Customizing data for the support of Islamic calendar. Represents one row of data from Table TISLCAL. */ export type CustomIslamicCalendarData = { /** * The date format. Column DATFM in TISLCAL. */ dateFormat: "A" | "B"; /** * The Islamic date in format: 'yyyyMMdd'. Column ISLMONTHSTART in TISLCAL. */ islamicMonthStart: string; /** * The corresponding Gregorian date format: 'yyyyMMdd'. Column GREGDATE in TISLCAL. */ gregDate: string; }; /** * Definition of a custom unit. * See: * {@link sap.ui.core.LocaleData#getPluralCategories} */ export type CustomUnit = { /** * The unit's display name */ displayName: string; /** * The unit pattern for the plural form "zero"; `{0}` in the pattern is replaced by the number */ "unitPattern-count-zero"?: string; /** * The unit pattern for the plural form "one"; `{0}` in the pattern is replaced by the number */ "unitPattern-count-one"?: string; /** * The unit pattern for the plural form "two"; `{0}` in the pattern is replaced by the number */ "unitPattern-count-two"?: string; /** * The unit pattern for the plural form "few"; `{0}` in the pattern is replaced by the number */ "unitPattern-count-few"?: string; /** * The unit pattern for the plural form "many"; `{0}` in the pattern is replaced by the number */ "unitPattern-count-many"?: string; /** * The unit pattern for all other numbers which do not match the plural forms of the other given patterns; * `{0}` in the pattern is replaced by the number */ "unitPattern-count-other": string; }; /** * The formatting change event. Contains only the parameters which were changed. * * The list below shows the possible combinations of parameters available as part of the change event. * * * - {@link module:sap/base/i18n/Formatting.setLanguageTag Formatting.setLanguageTag}: * `languageTag` * - {@link module:sap/base/i18n/Formatting.setCustomIslamicCalendarData Formatting.setCustomIslamicCalendarData}: * * `customIslamicCalendarData` * - {@link module:sap/base/i18n/Formatting.setCalendarWeekNumbering Formatting.setCalendarWeekNumbering}: * * `calendarWeekNumbering` * - {@link module:sap/base/i18n/Formatting.setCalendarType Formatting.setCalendarType}: * `calendarType` * - {@link module:sap/base/i18n/Formatting.addCustomCurrencies Formatting.addCustomCurrencies} / {@link module:sap/base/i18n/Formatting.setCustomCurrencies Formatting.setCustomCurrencies}: * * `currency` * - {@link module:sap/base/i18n/Formatting.setABAPDateFormat Formatting.setABAPDateFormat} (all parameters * listed below): * `ABAPDateFormat` * - `"dateFormats-short"` * - `"dateFormats-medium"` * - {@link module:sap/base/i18n/Formatting.setABAPTimeFormat Formatting.setABAPTimeFormat} (all parameters * listed below): * `ABAPTimeFormat` * - `"timeFormats-short"` * - `"timeFormats-medium"` * - `"dayPeriods-format-abbreviated"` * - {@link module:sap/base/i18n/Formatting.setABAPNumberFormat Formatting.setABAPNumberFormat} (all parameters * listed below): * `ABAPNumberFormat` * - `"symbols-latn-group"` * - `"symbols-latn-decimal"` * - {@link module:sap/base/i18n/Formatting.setDatePattern Formatting.setDatePattern} (one of the parameters * listed below): * `"dateFormats-short"` * - `"dateFormats-medium"` * - `"dateFormats-long"` * - `"dateFormats-full"` * - {@link module:sap/base/i18n/Formatting.setTimePattern Formatting.setTimePattern} (one of the parameters * listed below): * `"timeFormats-short"` * - `"timeFormats-medium"` * - `"timeFormats-long"` * - `"timeFormats-full"` * - {@link module:sap/base/i18n/Formatting.setNumberSymbol Formatting.setNumberSymbol} (one of the parameters * listed below): * `"symbols-latn-group"` * - `"symbols-latn-decimal"` * - `"symbols-latn-plusSign"` * - `"symbols-latn-minusSign"` * * @since 1.120 */ export type Formatting$ChangeEvent = { /** * The formatting language tag. */ languageTag?: string; /** * The ABAP date format. */ ABAPDateFormat?: string; /** * The ABAP time format. */ ABAPTimeFormat?: string; /** * The ABAP number format. */ ABAPNumberFormat?: string; /** * The legacy date calendar customizing. */ legacyDateCalendarCustomizing?: object[]; /** * The calendar week numbering. */ calendarWeekNumbering?: object; /** * The calendar type. */ calendarType?: object; /** * The short date format. */ "dateFormats-short"?: string; /** * The medium date format. */ "dateFormats-medium"?: string; /** * The long date format. */ "dateFormats-long"?: string; /** * The full date format. */ "dateFormats-full"?: string; /** * The short time format. */ "timeFormats-short"?: string; /** * The medium time format. */ "timeFormats-medium"?: string; /** * The long time format. */ "timeFormats-long"?: string; /** * The full time format. */ "timeFormats-full"?: string; /** * The latin symbols group. */ "symbols-latn-group"?: string; /** * The latin symbols decimal. */ "symbols-latn-decimal"?: string; /** * The latin symbols plusSign. */ "symbols-latn-plusSign"?: string; /** * The latin symbols minusSign. */ "symbols-latn-minusSign"?: string; /** * The currency. */ currency?: Record; /** * The abbreviated day periods format. */ "dayPeriods-format-abbreviated"?: string[]; }; } declare module "sap/base/i18n/LanguageTag" { /** * Creates an LanguageTag instance. LanguageTag represents a BCP-47 language tag, consisting of a language, * script, region, variants, extensions and private use section. */ export default class LanguageTag { constructor( /** * the language tag identifier, in format en-US or en_US. */ sLanguageTag: string ); /** * Get the extension as a single string or `null`. * * The extension always consists of a singleton character (not 'x'), a hyphen '-' and one or more extension * token, each separated again with a hyphen. */ extension: string | null; /** * Get the extensions as an array of tokens. * * The leading singleton and the separating hyphens are not part of the result. If there is no extensions * section in the language tag, an empty array is returned. */ extensionSubtags: string[]; /** * Get the language. * * Note that the case might differ from the original script tag (Lower case is enforced as recommended by * BCP47/ISO639). */ language: string; /** * Get the region or `null` if none was specified. * * Note that the case might differ from the original script tag (Upper case is enforced as recommended by * BCP47/ISO3166-1). */ region: string; /** * Get the script or `null` if none was specified. * * Note that the case might differ from the original language tag (Upper case first letter and lower case * reminder enforced as recommended by BCP47/ISO15924) */ script: string | null; /** * Get the variants as a single string or `null`. * * Multiple variants are separated by a hyphen '-'. */ variant: string | null; /** * Get the variants as an array of individual variants. * * The separating hyphens are not part of the result. If there is no variant section in the language tag, * an empty array is returned. */ variantSubtags: string[]; } } declare module "sap/base/i18n/Localization" { import LanguageTag from "sap/base/i18n/LanguageTag"; /** * Configuration for localization specific parameters * * @since 1.118 */ interface Localization { /** * Attaches the `fnFunction` event handler to the {@link #event:change change} event of `module:sap/base/i18n/Localization`. * * @since 1.120.0 */ attachChange( /** * The function to be called when the event occurs */ fnFunction: (p1: Localization$ChangeEvent) => void ): void; /** * Detaches event handler `fnFunction` from the {@link #event:change change} event of this `module:sap/base/i18n/Localization`. * * @since 1.120.0 */ detachChange( /** * Function to be called when the event occurs */ fnFunction: (p1: Localization$ChangeEvent) => void ): void; /** * Returns the list of active terminologies defined via the Configuration. * * @since 1.119.0 * * @returns if no active terminologies are set, the default value `undefined` is returned. */ getActiveTerminologies(): string[] | undefined; /** * Returns a string that identifies the current language. * * The value returned by config method in most cases corresponds to the exact value that has been configured * by the user or application or that has been determined from the user agent settings. It has not been * normalized, but has been validated against a relaxed version of {@link http://www.ietf.org/rfc/bcp/bcp47.txt BCP47}, * allowing underscores ('_') instead of the suggested hyphens ('-') and not taking the case of letters * into account. * * The exceptions mentioned above affect languages that have been specified via the URL parameter `sap-language`. * That parameter by definition represents an SAP logon language code ('ABAP language'). Most but not all * of these language codes are valid ISO639 two-letter languages and as such are valid BCP47 language tags. * For better BCP47 compliance, the framework maps the following non-BCP47 SAP logon codes to a BCP47 substitute: * * ```javascript * * "ZH" --> "zh-Hans" // script 'Hans' added to distinguish it from zh-Hant * "ZF" --> "zh-Hant" // ZF is not a valid ISO639 code, use the compliant language + script 'Hant' * "1Q" --> "en-US-x-saptrc" // special language code for supportability (tracing), * represented as en-US with a private extension * "2Q" --> "en-US-x-sappsd" // special language code for supportability (pseudo translation), * represented as en-US with a private extension * "3Q" --> "en-US-x-saprigi" // special language code for the Rigi pseudo language, * represented as en-US with a private extension * ``` * * * Call {@link module:sap/base/i18n/Localization.getLanguageTag getLanguageTag} to get a {@link module:sap/base/i18n/LanguageTag LanguageTag } * object matching the language. For a normalized BCP47 tag, call {@link module:sap/base/i18n/LanguageTag.toString toString() } * on the returned `LanguageTag` * * @since 1.120.0 * * @returns Language string as configured */ getLanguage(): string; /** * Returns a LanguageTag object for the current language. * * The LanguageTag is derived from {@link module:sap/base/i18n/Localization.getLanguage Localization.getLanguage}. * * @since 1.120.0 * * @returns The LanguageTag */ getLanguageTag(): LanguageTag; /** * Returns whether the page uses the RTL text direction. * * If no mode has been explicitly set (neither `true` nor `false`), the mode is derived from the current * language setting. * * @since 1.120.0 * * @returns whether the page uses the RTL text direction */ getRTL(): boolean; /** * Returns an SAP logon language for the current language. * * It will be returned in uppercase. e.g. "EN", "DE" * * @since 1.120.0 * * @returns The SAP logon language code for the current language */ getSAPLogonLanguage(): string; /** * Retrieves the configured IANA timezone ID. * * @since 1.120.0 * * @returns The configured IANA timezone ID, e.g. "America/New_York" */ getTimezone(): string; /** * Sets a new language to be used from now on for language/region dependent functionality (e.g. formatting, * data types, translated texts, ...). * * When the language can't be interpreted as a BCP47 language (using the relaxed syntax described in {@link #getLanguage}, * an error will be thrown. * * When the language has changed, the Localization will fire its {@link module:sap/base/i18n/Localization.change change } * event. * * Restrictions: * * The framework **does not** guarantee that already created, language dependent objects will be updated * by config call. It therefore remains best practice for applications to switch the language early, e.g. * before any language dependent objects are created. Applications that need to support more dynamic changes * of the language should listen to the `localizationChanged` event and adapt all language dependent objects * that they use (e.g. by rebuilding their UI). * * Currently, the framework notifies the following objects about a change of the localization settings before * it fires the `localizationChanged` event: * * * - date and number data types that are used in property bindings or composite bindings in existing Elements, * Controls, UIAreas or Components * - ResourceModels currently assigned to the Core, a UIArea, Component, Element or Control * - Elements or Controls that implement the `onLocalizationChanged` hook * * It furthermore derives the RTL mode from the new language, if no explicit RTL mode has been set. If the * RTL mode changes, the following additional actions will be taken: * * * - the URLs of already loaded library theme files will be changed * - the `dir` attribute of the page will be changed to reflect the new mode. * - all UIAreas will be invalidated (which results in a rendering of the whole UI5 UI) * * config method does not accept SAP language codes for `sLanguage`. Instead, a second parameter `sSAPLogonLanguage` * can be provided with an SAP language code corresponding to the given language. A given value will be * returned by the {@link module:sap/base/i18n/Localization.getSAPLogonLanguage getSAPLogonLanguage} method. * It is up to the caller to provide a consistent pair of BCP47 language and SAP language code. The SAP * language code is only checked to be of length 2 and must consist of letters or digits only. * * **Note**: When using config method please take note of and respect the above mentioned restrictions. * See: * http://scn.sap.com/docs/DOC-14377 * * @since 1.120.0 */ setLanguage( /** * the new language as a BCP47 compliant language tag; case doesn't matter and underscores can be used instead * of hyphens to separate components (compatibility with Java Locale IDs) */ sLanguage: string, /** * SAP language code that corresponds to the `sLanguage`; if a value is specified, future calls to `getSAPLogonLanguage` * will return that value; if no value is specified, the framework will use the ISO639 language part of * `sLanguage` as SAP Logon language. */ sSAPLogonLanguage?: string ): void; /** * Sets the character orientation mode to be used from now on. * * Can either be set to a concrete value (true meaning right-to-left, false meaning left-to-right) or to * `null` which means that the character orientation mode should be derived from the current language (incl. * region) setting. * * After changing the character orientation mode, the framework tries to update localization specific parts * of the UI. See the documentation of {@link module:sap/base/i18n/Localization.setLanguage setLanguage } * for details and restrictions. * * **Note**: See documentation of {@link module:sap/base/i18n/Localization.setLanguage setLanguage} for * restrictions. * * @since 1.120.0 */ setRTL( /** * new character orientation mode or `null` */ bRTL: boolean | null ): void; /** * Sets the timezone such that all date and time based calculations use config timezone. * * **Important:** It is strongly recommended to only use config API at the earliest point of time while * initializing a UI5 app. A later adjustment of the time zone should be avoided. It can lead to unexpected * data inconsistencies in a running application, because date objects could still be related to a previously * configured time zone. Instead, the app should be completely restarted with the new time zone. For more * information, see {@link https://ui5.sap.com/#/topic/6c9e61dc157a40c19460660ece8368bc Dates, Times, Timestamps, and Time Zones}. * * When the timezone has changed, the Localization will fire its {@link #event:change change} event. * * @since 1.120.0 */ setTimezone( /** * IANA timezone ID, e.g. "America/New_York". Use `null` to reset the timezone to the browser's local timezone. * An invalid IANA timezone ID will fall back to the browser's timezone. */ sTimezone?: string | null ): void; } const Localization: Localization; export default Localization; /** * The localization change event. Contains only the parameters which were changed. * * The list below shows the possible combinations of parameters available as part of the change event. * * * - {@link module:sap/base/i18n/Localization.setLanguage Localization.setLanguage}: * `language` * - `rtl?` (only if language change also changed RTL) * - {@link module:sap/base/i18n/Localization.setRTL Localization.setRTL}: * `rtl` * - {@link module:sap/base/i18n/Localization.setTimezone Localization.setTimezone}: * `timezone` * * @since 1.120.0 */ export type Localization$ChangeEvent = { /** * The newly set language. */ language?: string; /** * Whether the page uses the RTL text direction. */ rtl?: boolean; /** * The newly set timezone. */ timezone?: string; }; } declare module "sap/base/i18n/ResourceBundle" { /** * Contains locale-specific texts. * * If you need a locale-specific text within your application, you can use the resource bundle to load the * locale-specific file from the server and access the texts of it. * * Use {@link module:sap/base/i18n/ResourceBundle.create} to create an instance of sap/base/i18n/ResourceBundle * (.properties without any locale information, e.g. "mybundle.properties"), and optionally a locale. The * locale is defined as a string of the language and an optional country code separated by underscore (e.g. * "en_GB" or "fr"). If no locale is passed, the default locale is "en" if the SAPUI5 framework is not available. * Otherwise the default locale is taken from the SAPUI5 configuration. * * With the getText() method of the resource bundle, a locale-specific string value for a given key will * be returned. * * With the given locale, the resource bundle requests the locale-specific properties file (e.g. "mybundle_fr_FR.properties"). * If no file is found for the requested locale or if the file does not contain a text for the given key, * a sequence of fallback locales is tried one by one. First, if the locale contains a region information * (fr_FR), then the locale without the region is tried (fr). If that also can't be found or doesn't contain * the requested text, a fallback language will be used, if given (defaults to en (English), assuming that * most development projects contain at least English texts). If that also fails, the file without locale * (base URL of the bundle, often called the 'raw' bundle) is tried. * * If none of the requested files can be found or none of them contains a text for the given key, then the * key itself is returned as text. * * Exception: Fallback for "zh_HK" is "zh_TW" before "zh". * * @since 1.58 */ export default class ResourceBundle { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Creates and returns a new instance of {@link module:sap/base/i18n/ResourceBundle} using the given URL * and locale to determine what to load. * * Before loading the ResourceBundle, the locale is evaluated with a fallback chain. Sample fallback chain * for locale="de-DE" and fallbackLocale="fr_FR" `"de-DE" -> "de" -> "fr_FR" -> "fr" -> raw` * * Only those locales are considered for loading, which are in the supportedLocales array (if the array * is supplied and not empty). * * Note: The fallbackLocale should be included in the supportedLocales array. * * * @returns A new resource bundle or a Promise on that bundle (in asynchronous case) */ static create( /** * Parameters used to initialize the resource bundle */ mParams?: { /** * URL pointing to the base .properties file of a bundle (.properties file without any locale information, * e.g. "mybundle.properties") if not provided, `bundleUrl` or `bundleName` can be used; if both are set, * `bundleName` wins */ url?: string; /** * URL pointing to the base .properties file of a bundle (.properties file without any locale information, * e.g. "i18n/mybundle.properties") */ bundleUrl?: string; /** * UI5 module name in dot notation pointing to the base .properties file of a bundle (.properties file without * any locale information, e.g. "i18n.mybundle") */ bundleName?: string; /** * Optional locale (aka 'language tag') to load the texts for. Can either be a BCP47 language tag or a JDK * compatible locale string (e.g. "en-GB", "en_GB" or "en"). Defaults to the current session locale ({@link module:sap/base/i18n/Localization.getLanguage Localization.getLanguage}) * if available, otherwise to the provided `fallbackLocale` */ locale?: string; /** * Whether to include origin information into the returned property values */ includeInfo?: boolean; /** * List of supported locales (aka 'language tags') to restrict the fallback chain. Each entry in the array * can either be a BCP47 language tag or a JDK compatible locale string (e.g. "en-GB", "en_GB" or "en"). * An empty string (`""`) represents the 'raw' bundle. **Note:** The given language tags can use modern * or legacy ISO639 language codes. Whatever language code is used in the list of supported locales will * also be used when requesting a file from the server. If the `locale` contains a legacy language code * like "iw" and the `supportedLocales` contains [...,"he",...], "he" will be used in the URL. This mapping * works in both directions. */ supportedLocales?: string[]; /** * A fallback locale to be used after all locales derived from `locale` have been tried, but before the * 'raw' bundle is used. Can either be a BCP47 language tag or a JDK compatible locale string (e.g. "en-GB", * "en_GB" or "en"). To prevent a generic fallback, use the empty string (`""`). E.g. by providing `fallbackLocale: * ""` and `supportedLocales: ["en"]`, only the bundle "en" is requested without any fallback. */ fallbackLocale?: string; /** * map of terminologies. The key is the terminology identifier and the value is a ResourceBundle terminology * configuration. A terminology is a resource bundle configuration for a specific use case (e.g. "oil"). * It does neither have a `fallbackLocale` nor can it be enhanced with `enhanceWith`. */ terminologies?: Record; /** * The list of active terminologies, e.g. `["oil", "retail"]`. The order in this array represents the lookup * order. */ activeTerminologies?: string[]; /** * List of ResourceBundle configurations which enhance the current one. The order of the enhancements is * significant, because the lookup checks the last enhancement first. Each enhancement represents a ResourceBundle * with limited options ('bundleUrl', 'bundleName', 'terminologies', 'fallbackLocale', 'supportedLocales'). * Note: supportedLocales and fallbackLocale are inherited from the parent ResourceBundle if not present. */ enhanceWith?: Configuration[]; /** * Whether the first bundle should be loaded asynchronously Note: Fallback bundles loaded by {@link #getText } * are always loaded synchronously. **As of version 1.135, synchronous loading is deprecated.** The `async` * parameter must have the value `true`. */ async?: boolean; } ): ResourceBundle | Promise; /** * Returns a locale-specific string value for the given key sKey. * * The text is searched in this resource bundle according to the fallback chain described in {@link module:sap/base/i18n/ResourceBundle}. * If no text could be found, the key itself is used as text. * * Placeholders: * * A text can contain placeholders that will be replaced with concrete values when `getText` is called. * The replacement is triggered by the `aArgs` parameter. * * Whenever this parameter is given, then the text and the arguments are additionally run through the {@link module:sap/base/strings/formatMessage } * API to replace placeholders in the text with the corresponding values from the arguments array. The resulting * string is returned by `getText`. * * As the `formatMessage` API imposes some requirements on the input text (regarding curly braces and single * apostrophes), text authors need to be aware of the specifics of the `formatMessage` API. Callers of `getText`, * on the other side, should only supply `aArgs` when the text has been created with the `formatMessage` * API in mind. Otherwise, single apostrophes in the text might be removed unintentionally. * * When `getText` is called without `aArgs`, the `formatMessage` API is not applied and the transformation * reg. placeholders and apostrophes does not happen. * * For more details on the replacement mechanism refer to {@link module:sap/base/strings/formatMessage}. * * * @returns The value belonging to the key, if found; otherwise the key itself or `undefined` depending * on `bIgnoreKeyFallback`. */ getText( /** * Key to retrieve the text for */ sKey: string, /** * List of parameter values which should replace the placeholders "{n}" (n is the index) in * the found locale-specific string value. Note that the replacement is done whenever `aArgs` is given (not * `undefined`), no matter whether the text contains placeholders or not and no matter whether `aArgs` contains * a value for n or not. */ aArgs?: any[], /** * If set, `undefined` is returned instead of the key string, when the key is not found in any bundle or * fallback bundle. */ bIgnoreKeyFallback?: boolean ): string | undefined; /** * Checks whether a text for the given key can be found in the first loaded resource bundle or not. Neither * the custom resource bundles nor the fallback chain will be processed. * * This method allows to check for the existence of a text without triggering requests for the fallback * locales. * * When requesting the resource bundle asynchronously this check must only be used after the resource bundle * has been loaded. * * * @returns Whether the text has been found in the concrete bundle */ hasText( /** * Key to check */ sKey: string ): boolean; } /** * ResourceBundle Configuration * * A ResourceBundle Configuration holds information on where to load the ResourceBundle from using the fallback * chain and terminologies. The location is retrieved from the `bundleUrl` and `bundleName` parameters The * locale used is influenced by the `supportedLocales` and `fallbackLocale` parameters Terminologies of * this ResourceBundle are loaded via the `terminologies` parameter * * Note: If omitted, the supportedLocales and the fallbackLocale are inherited from the parent ResourceBundle * Configuration */ export type Configuration = { /** * URL pointing to the base .properties file of a bundle (.properties file without any locale information, * e.g. "i18n/mybundle.properties") */ bundleUrl?: string; /** * UI5 module name in dot notation pointing to the base .properties file of a bundle (.properties file without * any locale information, e.g. "i18n.mybundle") */ bundleName?: string; /** * List of supported locales (aka 'language tags') to restrict the fallback chain. Each entry in the array * can either be a BCP47 language tag or a JDK compatible locale string (e.g. "en-GB", "en_GB" or "en"). * An empty string (`""`) represents the 'raw' bundle. **Note:** The given language tags can use modern * or legacy ISO639 language codes. Whatever language code is used in the list of supported locales will * also be used when requesting a file from the server. If the `locale` contains a legacy language code * like "iw" and the `supportedLocales` contains [...,"he",...], "he" will be used in the URL. This mapping * works in both directions. */ supportedLocales?: string[]; /** * A fallback locale to be used after all locales derived from `locale` have been tried, but before the * 'raw' bundle is used. Can either be a BCP47 language tag or a JDK compatible locale string (e.g. "en-GB", * "en_GB" or "en"), defaults to "en" (English). To prevent a generic fallback, use the empty string (`""`). * E.g. by providing `fallbackLocale: ""` and `supportedLocales: ["en"]`, only the bundle "en" is requested * without any fallback. */ fallbackLocale?: string; /** * An object, mapping a terminology identifier (e.g. "oil") to a `ResourceBundle.TerminologyConfiguration`. * A terminology is a resource bundle configuration for a specific use case (e.g. "oil"). It does neither * have a `fallbackLocale` nor can it be enhanced with `enhanceWith`. */ terminologies?: Record; }; /** * ResourceBundle Terminology Configuration * * Terminologies represent a variant of a ResourceBundle. They can be used to provide domain specific texts, * e.g. for industries, e.g. "oil", "retail" or "health". While "oil" could refer to a user as "driller", * in "retail" a user could be a "customer" and in "health" a "patient". While "oil" could refer to a duration * as "hitch", in "retail" a duration could be a "season" and in "health" an "incubation period". * * Note: Terminologies do neither support a fallbackLocale nor nested terminologies in their configuration. */ export type TerminologyConfiguration = { /** * URL pointing to the base .properties file of a bundle (.properties file without any locale information, * e.g. "i18n/mybundle.properties") */ bundleUrl?: string; /** * UI5 module name in dot notation pointing to the base .properties file of a bundle (.properties file without * any locale information, e.g. "i18n.mybundle") */ bundleName?: string; /** * List of supported locales (aka 'language tags') to restrict the fallback chain. Each entry in the array * can either be a BCP47 language tag or a JDK compatible locale string (e.g. "en-GB", "en_GB" or "en"). * An empty string (`""`) represents the 'raw' bundle. **Note:** The given language tags can use modern * or legacy ISO639 language codes. Whatever language code is used in the list of supported locales will * also be used when requesting a file from the server. If the `locale` contains a legacy language code * like "iw" and the `supportedLocales` contains [...,"he",...], "he" will be used in the URL. This mapping * works in both directions. */ supportedLocales?: string[]; }; } declare module "sap/base/Log" { /** * A Logging API for JavaScript. * * Provides methods to manage a client-side log and to create entries in it. Each of the logging methods * {@link module:sap/base/Log.debug}, {@link module:sap/base/Log.info}, {@link module:sap/base/Log.warning}, * {@link module:sap/base/Log.error} and {@link module:sap/base/Log.fatal} creates and records a log entry, * containing a timestamp, a log level, a message with details and a component info. The log level will * be one of {@link module:sap/base/Log.Level} and equals the name of the concrete logging method. * * By using the {@link module:sap/base/Log.setLevel} method, consumers can determine the least important * log level which should be recorded. Less important entries will be filtered out. (Note that higher numeric * values represent less important levels). The initially set level depends on the mode that UI5 is running * in. When the optimized sources are executed, the default level will be {@link module:sap/base/Log.Level.ERROR}. * For normal (debug sources), the default level is {@link module:sap/base/Log.Level.DEBUG}. * * All logging methods allow to specify a **component**. These components are simple strings and don't have * a special meaning to the UI5 framework. However they can be used to semantically group log entries that * belong to the same software component (or feature). There are two APIs that help to manage logging for * such a component. With {@link module:sap/base/Log.getLogger}, one can retrieve a logger that automatically * adds the given `sComponent` as component parameter to each log entry, if no other component is specified. * Typically, JavaScript code will retrieve such a logger once during startup and reuse it for the rest * of its lifecycle. Second, the {@link module:sap/base/Log.setLevel}(iLevel, sComponent) method allows * to set the log level for a specific component only. This allows a more fine grained control about the * created logging entries. {@link module:sap/base/Log.getLevel} allows to retrieve the currently effective * log level for a given component. * * {@link module:sap/base/Log.getLogEntries} returns an array of the currently collected log entries. * * Furthermore, a listener can be registered to the log. It will be notified whenever a new entry is added * to the log. The listener can be used for displaying log entries in a separate page area, or for sending * it to some external target (server). * * @since 1.58 */ interface Log { /** * Enumeration of the configurable log levels that a Logger should persist to the log. * * Only if the current LogLevel is higher than the level {@link module:sap/base/Log.Level} of the currently * added log entry, then this very entry is permanently added to the log. Otherwise it is ignored. * * This enum is part of the 'sap/base/Log' module export and must be accessed by the property 'Level'. */ Level: typeof Level; /** * Allows to add a new listener that will be notified for new log entries. * * The given object must provide method `onLogEntry` and can also be informed about `onDetachFromLog`, `onAttachToLog` * and `onDiscardLogEntries`. */ addLogListener( /** * The new listener object that should be informed */ oListener: Listener ): void; /** * Creates a new debug-level entry in the log with the given message, details and calling component. */ debug( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged with * the stack. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Creates a new error-level entry in the log with the given message, details and calling component. */ error( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged together * with its stacktrace. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Creates a new fatal-level entry in the log with the given message, details and calling component. */ fatal( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged together * with its stacktrace. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Returns the log level currently effective for the given component. If no component is given or when no * level has been configured for a given component, the log level for the default component of this logger * is returned. * * * @returns The log level for the given component or the default log level */ getLevel( /** * Name of the component to retrieve the log level for */ sComponent?: string ): Level; /** * Returns the logged entries recorded so far as an array. * * Log entries are plain JavaScript objects with the following properties * timestamp {number} point in time when the entry was created level {module:sap/base/Log.Level} LogLevel * level of the entry message {string} message text of the entry The default amount of stored * log entries is limited to 3000 entries. * * * @returns an array containing the recorded log entries */ getLogEntries(): Entry[]; /** * Returns a dedicated logger for a component. * * The logger comes with the same API as the `sap/base/Log` module: * `#fatal` - see: {@link module:sap/base/Log.fatal} `#error` - see: {@link module:sap/base/Log.error } * `#warning` - see: {@link module:sap/base/Log.warning} `#info` - see: {@link module:sap/base/Log.info } * `#debug` - see: {@link module:sap/base/Log.debug} `#trace` - see: {@link module:sap/base/Log.trace } * `#setLevel` - see: {@link module:sap/base/Log.setLevel} `#getLevel` - see: {@link module:sap/base/Log.getLevel } * `#isLoggable` - see: {@link module:sap/base/Log.isLoggable} * * * @returns A logger with a specified component */ getLogger( /** * Name of the component which should be logged */ sComponent: string, /** * The default log level */ iDefaultLogLevel?: Level ): Logger; /** * Creates a new info-level entry in the log with the given message, details and calling component. */ info( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged with * the stack. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Checks whether logging is enabled for the given log level, depending on the currently effective log level * for the given component. * * If no component is given, the default component of this logger will be taken into account. * * * @returns Whether logging is enabled or not */ isLoggable( /** * The log level in question */ iLevel?: Level, /** * Name of the component to check the log level for */ sComponent?: string ): boolean; /** * Allows to remove a registered LogListener. */ removeLogListener( /** * The listener object that should be removed */ oListener: Listener ): void; /** * Defines the maximum `sap/base/Log.Level` of log entries that will be recorded. Log entries with a higher * (less important) log level will be omitted from the log. When a component name is given, the log level * will be configured for that component only, otherwise the log level for the default component of this * logger is set. For the global logger, the global default level is set. * * **Note**: Setting a global default log level has no impact on already defined component log levels. They * always override the global default log level. */ setLevel( /** * The new log level */ iLogLevel: Level, /** * The log component to set the log level for */ sComponent?: string ): void; /** * Creates a new trace-level entry in the log with the given message, details and calling component. */ trace( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged with * the stack. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Creates a new warning-level entry in the log with the given message, details and calling component. */ warning( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged together * with its stacktrace. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; } const Log: Log; export default Log; export type Entry = { /** * The number of milliseconds since the epoch */ timestamp: float; /** * Time string in format HH:mm:ss:mmmnnn */ time: string; /** * Date string in format yyyy-MM-dd */ date: string; /** * The level of the log entry, see {@link module:sap/base/Log.Level} */ level: Level; /** * The message of the log entry */ message: string; /** * The detailed information of the log entry */ details: string; /** * The component that creates the log entry */ component: string; /** * Callback that returns an additional support object to be logged in support mode. */ supportInfo?: () => any; }; /** * Enumeration of the configurable log levels that a Logger should persist to the log. * * Only if the current LogLevel is higher than the level {@link module:sap/base/Log.Level} of the currently * added log entry, then this very entry is permanently added to the log. Otherwise it is ignored. * * This enum is part of the 'sap/base/Log' module export and must be accessed by the property 'Level'. */ enum Level { /** * Trace level to log everything. */ ALL = "undefined", /** * Debug level. Use this for logging information necessary for debugging */ DEBUG = "undefined", /** * Error level. Use this for logging of erroneous but still recoverable situations */ ERROR = "undefined", /** * Fatal level. Use this for logging unrecoverable situations */ FATAL = "undefined", /** * Info level. Use this for logging information of purely informative nature */ INFO = "undefined", /** * Do not log anything */ NONE = "undefined", /** * Trace level. Use this for tracing the program flow. */ TRACE = "undefined", /** * Warning level. Use this for logging unwanted but foreseen situations */ WARNING = "undefined", } /** * Interface to be implemented by a log listener. * * Typically, a listener will at least implement the {@link #.onLogEntry} method, but in general, all methods * are optional. */ export interface Listener { __implements__sap_base_Log_Listener: boolean; /** * The function that is called once the Listener is attached */ onAttachToLog?( /** * The Log instance where the listener is attached */ oLog: Log ): void; /** * The function that is called once the Listener is detached */ onDetachFromLog?( /** * The Log instance where the listener is detached */ oLog: Log ): void; /** * The function that is called once log entries are discarded due to the exceed of total log entry amount */ onDiscardLogEntries?( /** * The discarded log entries */ aDiscardedEntries: Entry[] ): void; /** * The function that is called when a new log entry is created */ onLogEntry?( /** * The newly created log entry */ oLogEntry: Entry ): void; } /** * The logger comes with a subset of the API of the `sap/base/Log` module: * `#fatal` - see: {@link module:sap/base/Log.fatal} `#error` - see: {@link module:sap/base/Log.error } * `#warning` - see: {@link module:sap/base/Log.warning} `#info` - see: {@link module:sap/base/Log.info } * `#debug` - see: {@link module:sap/base/Log.debug} `#trace` - see: {@link module:sap/base/Log.trace } * `#setLevel` - see: {@link module:sap/base/Log.setLevel} `#getLevel` - see: {@link module:sap/base/Log.getLevel } * `#isLoggable` - see: {@link module:sap/base/Log.isLoggable} */ export interface Logger { __implements__sap_base_Log_Logger: boolean; /** * Creates a new debug-level entry in the log with the given message, details and calling component. */ debug( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged with * the stack. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Creates a new error-level entry in the log with the given message, details and calling component. */ error( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged together * with its stacktrace. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Creates a new fatal-level entry in the log with the given message, details and calling component. */ fatal( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged together * with its stacktrace. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Returns the log level currently effective for the given component. If no component is given or when no * level has been configured for a given component, the log level for the default component of this logger * is returned. * * * @returns The log level for the given component or the default log level */ getLevel( /** * Name of the component to retrieve the log level for */ sComponent?: string ): Level; /** * Creates a new info-level entry in the log with the given message, details and calling component. */ info( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged with * the stack. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Checks whether logging is enabled for the given log level, depending on the currently effective log level * for the given component. * * If no component is given, the default component of this logger will be taken into account. * * * @returns Whether logging is enabled or not */ isLoggable( /** * The log level in question */ iLevel?: Level, /** * Name of the component to check the log level for */ sComponent?: string ): boolean; /** * Defines the maximum `sap/base/Log.Level` of log entries that will be recorded. Log entries with a higher * (less important) log level will be omitted from the log. When a component name is given, the log level * will be configured for that component only, otherwise the log level for the default component of this * logger is set. For the global logger, the global default level is set. * * **Note**: Setting a global default log level has no impact on already defined component log levels. They * always override the global default log level. */ setLevel( /** * The new log level */ iLogLevel: Level, /** * The log component to set the log level for */ sComponent?: string ): void; /** * Creates a new trace-level entry in the log with the given message, details and calling component. */ trace( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged with * the stack. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; /** * Creates a new warning-level entry in the log with the given message, details and calling component. */ warning( /** * Message text to display */ sMessage: string, /** * Optional details about the message, might be omitted. Can be an Error object which will be logged together * with its stacktrace. */ vDetails?: string | Error, /** * Name of the component that produced the log entry */ sComponent?: string, /** * Callback that returns an additional support object to be logged in support mode. This function is only * called if support info mode is turned on via the Support Assistant. To avoid negative effects regarding * execution times and memory consumption, the returned object should be a simple immutable JSON object * with mostly static and stable content. */ fnSupportInfo?: Function ): void; } } declare module "sap/base/security/encodeCSS" { /** * Encode the string for inclusion into CSS string literals or identifiers. * * @since 1.58 * * @returns The encoded string */ export default function encodeCSS( /** * The string to be escaped */ sString: string ): string; } declare module "sap/base/security/encodeJS" { /** * Encode the string for inclusion into a JS string literal. * * @since 1.58 * * @returns The encoded string */ export default function encodeJS( /** * The string to be escaped */ sString: string ): string; } declare module "sap/base/security/encodeURL" { /** * Encode the string for inclusion into a URL parameter. * * Unescaped characters: alphabetic, decimal digits, -_. (hyphen, underscore, dot) * * @since 1.58 * * @returns The encoded string */ export default function encodeURL( /** * The string to be escaped */ sString: string ): string; } declare module "sap/base/security/encodeURLParameters" { /** * Encode a map of parameters into a combined URL parameter string. * * @since 1.58 * * @returns The URL encoded parameter string */ export default function encodeURLParameters( /** * The map of parameters to encode */ mParams: Record ): string; } declare module "sap/base/security/encodeXML" { /** * Encode the string for inclusion into XML content/attribute. * * @since 1.58 * * @returns The encoded string */ export default function encodeXML( /** * The string to be escaped */ sString: string ): string; } declare module "sap/base/security/URLListValidator" { /** * Registry to manage allowed URLs and validate against them. * * @since 1.85 */ interface URLListValidator { /** * Adds an allowed entry. * * Note: Adding the first entry to the list of allowed entries will disallow all URLs but the ones matching * the newly added entry. * * **Note**: It is strongly recommended to set a path only in combination with an origin (never set a path * alone). There's almost no case where checking only the path of a URL would allow to ensure its validity. */ add( /** * The protocol of the URL, can be falsy to allow all protocols for an entry e.g. "", "http", "mailto" */ protocol?: string, /** * The host of the URL, can be falsy to allow all hosts. A wildcard asterisk can be set at the beginning, * e.g. "examples.com", "*.example.com" */ host?: string, /** * The port of the URL, can be falsy to allow all ports, e.g. "", "8080" */ port?: string, /** * the path of the URL, e.g. "/my-news". Can be falsy to allow all paths. A wildcard asterisk can be set * at the end to ensure a path starts with the given string, e.g. "/my-example*". When using wildcards, * make sure to only provide normalized URLs to the validate function in order to mitigate the risk of path * traversal attacks. */ path?: string ): void; /** * Clears the allowed entries for URL validation. This makes all URLs allowed. */ clear(): void; /** * Gets the list of allowed entries. * * * @returns The allowed entries */ entries(): Entry[]; /** * Validates a URL. Check if it's not a script or other security issue. * * **Note**: It is strongly recommended to validate only absolute, normalized URLs. There's almost no case * where checking only the path of a URL would allow to ensure its validity. For compatibility reasons, * this API does not normalize URLs and cannot automatically resolve URLs relative to `document.baseURI`, * but callers should do so. In that case, and when the allow list is not empty, an entry for the origin * of `document.baseURI` must be added to the allow list. * * Any measures to mitigate path traversal or similar attack vectors must be taken by the caller, e.g. by * using the {@link https://developer.mozilla.org/docs/Web/API/URL URL} API to normalize the URL beforehand. * * Details: Splits the given URL into components and checks for allowed characters according to RFC 3986: * * * ```javascript * * authority = [ userinfo "@" ] host [ ":" port ] * userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) * host = IP-literal / IPv4address / reg-name * * IP-literal = "[" ( IPv6address / IPvFuture ) "]" * IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) * IPv6address = 6( h16 ":" ) ls32 * / "::" 5( h16 ":" ) ls32 * / [ h16 ] "::" 4( h16 ":" ) ls32 * / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 * / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 * / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 * / [ *4( h16 ":" ) h16 ] "::" ls32 * / [ *5( h16 ":" ) h16 ] "::" h16 * / [ *6( h16 ":" ) h16 ] "::" * ls32 = ( h16 ":" h16 ) / IPv4address * ; least-significant 32 bits of address * h16 = 1*4HEXDIG * ; 16 bits of address represented in hexadecimal * * IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet * dec-octet = DIGIT ; 0-9 * / %x31-39 DIGIT ; 10-99 * / "1" 2DIGIT ; 100-199 * / "2" %x30-34 DIGIT ; 200-249 * / "25" %x30-35 ; 250-255 * * reg-name = *( unreserved / pct-encoded / sub-delims ) * * pct-encoded = "%" HEXDIG HEXDIG * reserved = gen-delims / sub-delims * gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" * / "*" / "+" / "," / ";" / "=" * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" * * path = path-abempty ; begins with "/" or is empty * / path-absolute ; begins with "/" but not "//" * / path-noscheme ; begins with a non-colon segment * / path-rootless ; begins with a segment * / path-empty ; zero characters * * path-abempty = *( "/" segment ) * path-absolute = "/" [ segment-nz *( "/" segment ) ] * path-noscheme = segment-nz-nc *( "/" segment ) * path-rootless = segment-nz *( "/" segment ) * path-empty = 0 * segment = *pchar * segment-nz = 1*pchar * segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" ) * ; non-zero-length segment without any colon ":" * * query = *( pchar / "/" / "?" ) * * fragment = *( pchar / "/" / "?" ) * ``` * * * For the hostname component, we are checking for valid DNS hostnames according to RFC 952 / RFC 1123: * * * ```javascript * * hname = name *("." name) * name = let-or-digit ( *( let-or-digit-or-hyphen ) let-or-digit ) * ``` * * * When the URI uses the protocol 'mailto:', the address part is additionally checked against the most commonly * used parts of RFC 6068: * * * ```javascript * * mailtoURI = "mailto:" [ to ] [ hfields ] * to = addr-spec *("," addr-spec ) * hfields = "?" hfield *( "&" hfield ) * hfield = hfname "=" hfvalue * hfname = *qchar * hfvalue = *qchar * addr-spec = local-part "@" domain * local-part = dot-atom-text // not accepted: quoted-string * domain = dot-atom-text // not accepted: "[" *dtext-no-obs "]" * dtext-no-obs = %d33-90 / ; Printable US-ASCII * %d94-126 ; characters not including * ; "[", "]", or "\" * qchar = unreserved / pct-encoded / some-delims * some-delims = "!" / "$" / "'" / "(" / ")" / "*" * / "+" / "," / ";" / ":" / "@" * * Note: * A number of characters that can appear in MUST be * percent-encoded. These are the characters that cannot appear in * a URI according to [STD66] as well as "%" (because it is used for * percent-encoding) and all the characters in gen-delims except "@" * and ":" (i.e., "/", "?", "#", "[", and "]"). Of the characters * in sub-delims, at least the following also have to be percent- * encoded: "&", ";", and "=". Care has to be taken both when * encoding as well as when decoding to make sure these operations * are applied only once. * * ``` * * * When a list of allowed entries has been configured using {@link #add}, any URL that passes the syntactic * checks above, additionally will be tested against the content of this list. * * * @returns true if valid, false if not valid */ validate( /** * URL to be validated */ sUrl: string ): boolean; } const URLListValidator: URLListValidator; export default URLListValidator; /** * Entry object of the URLListValidator. */ export type Entry = { /** * The protocol of the URL, can be falsy to allow all protocols for an entry e.g. "", "http", "mailto" */ protocol?: string; /** * The host of the URL, can be falsy to allow all hosts. A wildcard asterisk can be set at the beginning, * e.g. "examples.com", "*.example.com" */ host?: string; /** * The port of the URL, can be falsy to allow all ports, e.g. "", "8080" */ port?: string; /** * the path of the URL, path of the url, can be falsy to allow all paths. A wildcard asterisk can be set * at the end, e.g. "/my-example*", "/my-news" */ path?: string; }; } declare module "sap/base/security/URLWhitelist" { /** * Entry object of the URLWhitelist. * * @deprecated As of version 1.85. use {@link module:sap/base/security/URLListValidator.Entry} instead. */ export type Entry = { /** * The protocol of the URL */ protocol: string; /** * The host of the URL */ host: string; /** * The port of the URL */ port: string; /** * the path of the URL */ path: string; }; } declare module "sap/base/strings/camelize" { /** * Transforms a hyphen separated string to a camel case string. * * @since 1.58 * * @returns The transformed string */ export default function camelize( /** * Hyphen separated string */ sString: string ): string; } declare module "sap/base/strings/capitalize" { /** * Converts first character of the string to upper case. * * @since 1.58 * * @returns String input with first character uppercase */ export default function capitalize( /** * String for which first character should be converted */ sString: string ): string; } declare module "sap/base/strings/escapeRegExp" { /** * Escapes all characters that would have a special meaning in a regular expression. * * This method can be used when a string with arbitrary content has to be integrated into a regular expression * and when the whole string should match literally. * * @since 1.58 * * @returns The escaped string */ export default function escapeRegExp( /** * String to escape */ sString: string ): string; } declare module "sap/base/strings/formatMessage" { /** * Creates a string from a pattern by replacing placeholders with concrete values. * * The syntax of the pattern is inspired by (but not fully equivalent to) the java.util.MessageFormat. * * Placeholders have the form `{ integer }`, where any occurrence of `{0}` is replaced by the value with * index 0 in `aValues`, `{1}` by the value with index 1 in `aValues` etc. * * To avoid interpretation of curly braces as placeholders, any non-placeholder fragment of the pattern * can be enclosed in single quotes. The surrounding single quotes will be omitted from the result. Single * quotes that are not meant to escape a fragment and that should appear in the result, need to be doubled. * In the result, only a single single quote will occur. * * Example: Pattern Strings * ```javascript * * formatMessage("Say {0}", ["Hello"]) -> "Say Hello" // normal use case * formatMessage("Say '{0}'", ["Hello"]) -> "Say {0}" // escaped placeholder * formatMessage("Say ''{0}''", ["Hello"]) -> "Say 'Hello'" // doubled single quote * formatMessage("Say '{0}'''", ["Hello"]) -> "Say {0}'" // doubled single quote in quoted fragment * ``` * In contrast to java.util.MessageFormat, format types or format styles are not supported. Everything * after the argument index and up to the first closing curly brace is ignored. Nested placeholders (as * supported by java.lang.MessageFormat for the format type choice) are not ignored but reported as a parse * error. * * This method throws an Error when the pattern syntax is not fulfilled (e.g. unbalanced curly braces, nested * placeholders or a non-numerical argument index). * * This method can also be used as a formatter within a binding. The first part of a composite binding will * be used as pattern, the following parts as aValues. If there is only one value and this value is an array * it will be handled like the default described above. * * @since 1.58 * * @returns The formatted result string */ export default function formatMessage( /** * A pattern string in the described syntax */ sPattern: string, /** * The values to be used instead of the placeholders. */ aValues?: any[] ): string; } declare module "sap/base/strings/hyphenate" { /** * Transforms a camel case string (camelCase) into a hyphen separated string (kebab-case). * * @since 1.58 * * @returns The transformed string */ export default function hyphenate( /** * camel case string */ sString: string ): string; } declare module "sap/base/util/array/diff" { /** * Calculates delta of old list and new list. * * This function implements the algorithm described in "A Technique for Isolating Differences Between Files" * (Commun. ACM, April 1978, Volume 21, Number 4, Pages 264-268). * * Items in the arrays are not compared directly. Instead, a substitute symbol is determined for each item * by applying the provided function `fnSymbol` to it. Items with strictly equal symbols are assumed to * represent the same logical item: * ```javascript * * fnSymbol(a) === fnSymbol(b) <=> a 'is logically the same as' b * ``` * As an additional constraint, casting the symbols to string should not modify the comparison result. * If this second constraint is not met, this method might report more diffs than necessary. * * If no symbol function is provided, a default implementation is used which applies `JSON.stringify` to * non-string items and reduces the strings to a hash code. It is not guaranteed that this default implementation * fulfills the above constraint in all cases, but it is a compromise between implementation effort, generality * and performance. If items are known to be non-stringifiable (e.g. because they may contain cyclic references) * or when hash collisions are likely, an own `symbol` function must be provided via the configuration object. * * The result of the diff is a sequence of update operations, each consisting of a `type` (either `"insert"`, * `"delete"` or `"replace"` when enabled via configuration object) and an `index`. By applying the operations * one after the other to the old array, it can be transformed to an array whose items are equal to the * new array. * * @since 1.58 * * @returns List of update operations */ export default function diff( /** * Old Array */ aOld: any[], /** * New Array */ aNew: any[], /** * Configuration object or a function to calculate substitute symbols for array items */ vConfigOrSymbol?: | { /** * Function to calculate substitute symbols for array items */ symbol?: Function; /** * Switch for the `replace` type which specifies that an item within the array has been changed */ replace?: boolean; } | Function ): Array<{ type: string; index: int; }>; } declare module "sap/base/util/array/uniqueSort" { /** * Sorts the given array in-place and removes any duplicates (identified by "==="). * * Uses Array#sort() * See: * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort * * Use `jQuery.uniqueSort()` for arrays of DOMElements. * * @since 1.58 * * @returns Same array as given (for chaining) */ export default function uniqueSort( /** * An Array of any type */ aArray: any[] ): any[]; } declare module "sap/base/util/deepClone" { /** * Creates a deep clone of the source value. * * Only arrays, JavaScript Date objects and objects that pass the {@link module:sap/base/util/isPlainObject isPlainObject } * check will be cloned. For other object types, a `TypeError` will be thrown as there's no standard way * to clone them. Primitive values (boolean, number, string) as well as `null` and `undefined` will be copied, * they have value semantics anyhow. * * `deepClone` is designed to match the semantics of {@link module:sap/base/util/deepEqual deepEqual}. Any * deeply cloned object should be deep-equal to the source. However, not every object that can be handled * by `deepEqual` can also be deeply cloned (e.g. `deepClone` fails on non-plain objects). * * To limit the time needed for a deep clone and to avoid endless recursion in case of cyclic structures, * the recursion depth is limited by the parameter `maxDepth`, which defaults to 10. When the recursion * depth exceeds the given limit, a `TypeError` is thrown. * * Note that object identities are not honored by the clone operation. If the original source contained * multiple references to the same plain object instance, the clone will contain a different clone for each * reference. * * @since 1.63 * * @returns A clone of the source value */ export default function deepClone( /** * Source value that shall be cloned */ src: any, /** * Maximum recursion depth for the clone operation, deeper structures will throw an error */ maxDepth?: int ): any; } declare module "sap/base/util/deepEqual" { /** * Compares the two given values for equality, especially by comparing the content. * * **Note:** Function does not work with comparing XML objects. * * @since 1.58 * * @returns Whether a and b are equal */ export default function deepEqual( /** * A value of any type */ a: any, /** * A value of any type */ b: any, /** * Maximum recursion depth */ maxDepth?: int, /** * Whether all existing properties in a are equal as in b */ contains?: boolean ): boolean; } declare module "sap/base/util/deepExtend" { /** * Performs object extension by merging source objects into a target object. Copies are always deep. * * If during merging a key in the target object exists it is overwritten with the source object's value. * Usage is the same as `jQuery.extend(true, ...)`. Values that are `undefined` are ignored. * * For shallow copies, you may use {@link module:sap/base/util/extend sap/base/util/extend} or `Object.assign`, * but note that `Object.assign` only copies enumerable and own properties and doesn't copy properties on * the prototype and non-enumerable properties. Also, values that are `undefined` are NOT ignored. * * @since 1.71 * * @returns the target object which is the result of the merge */ export default function deepExtend( /** * The object that will receive new properties */ target: object, /** * One or more objects which get merged into the target object */ ...source: object[] ): object; } declare module "sap/base/util/Deferred" { /** * Creates a `Deferred` instance which represents a future value. * * While a `Promise` can only be resolved or rejected by calling the respective methods in its constructor, * a `Deferred` can be resolved or rejected via `resolve` or `reject` methods at any point. A `Deferred` * object creates a `Promise` instance which functions as a proxy for the future result. This `Promise` * object can be accessed via the `promise` property of the `Deferred` object. * * @since 1.90 */ export default class Deferred { constructor(); /** * Promise instance of the Deferred */ promise: Promise; /** * Proxy call to the `reject` method of the wrapped Promise */ reject( /** * Failure reason */ reason?: any ): void; /** * Proxy call to the `resolve` method of the wrapped Promise */ resolve( /** * Fulfillment value */ value?: T ): void; } } declare module "sap/base/util/each" { /** * Iterates over elements of the given object or array. * * Numeric indexes are only used for instances of `Array`. For all other objects, including those with a * numeric `length` property, the properties are iterated by name. * * When `fnCallback` returns `false`, then the iteration stops (break). * * @since 1.58 * * @returns the given `oObject` */ export default function each( /** * object or array to enumerate the properties of */ oObject: object | any[], /** * function to call for each property name */ fnCallback: (this: any, p1: Key, p2: any) => boolean ): object | any[]; /** * The key that is passed to the callback as the first parameter */ export type Key = int | string; } declare module "sap/base/util/extend" { /** * Performs object extension by merging source objects into a target object. Generates a shallow copy. * * If during merging a key in the target object exists it is overwritten with the source object's value. * Usage is the same as `jQuery.extend(...)`. Values that are `undefined` are ignored. * * As alternative you may also use `Object.assign`, but note that `Object.assign` only copies enumerable * and own properties and doesn't copy properties on the prototype and non-enumerable properties. Also, * values that are `undefined` are NOT ignored. * * For deep copies, you may use {@link module:sap/base/util/deepExtend sap/base/util/deepExtend}. * * @since 1.71 * * @returns the target object which is the result of the merge */ export default function extend( /** * The object that will receive new properties */ target: object, /** * One or more objects which get merged into the target object */ ...source: object[] ): object; } declare module "sap/base/util/includes" { /** * Checks if value is included in collection. * * @since 1.58 * @deprecated As of version 1.90. Use the `Array.prototype.includes` or `String.prototype.includes` instead, * but note that `Array.prototype.includes` or `String.prototype.includes` fail when called on null values. * * @returns - true if value is in the collection, false otherwise */ export default function includes( /** * Collection to be checked */ vCollection: any[] | object | string, /** * The value to be checked */ vValue: any, /** * optional start index, negative start index will start from the end */ iFromIndex?: int ): boolean; } declare module "sap/base/util/isEmptyObject" { /** * Validates if the given object is empty, that is that it has no enumerable properties. * * Note that `null` and `undefined` comply with this definition of 'empty'. The behavior for non-object * values is undefined and might change in future. * * @since 1.65 * * @returns whether or not the given object is empty */ export default function isEmptyObject( /** * the object which is checked */ obj: Object ): boolean; } declare module "sap/base/util/isPlainObject" { /** * Checks whether the object is a plain object (created using "{}" or "new Object"). * * @since 1.58 * * @returns whether or not the object is a plain object (created using "{}" or "new Object"). */ export default function isPlainObject( /** * the object which is checked */ obj: Object ): boolean; } declare module "sap/base/util/merge" { /** * Performs object extension by merging source objects into a target object. Copies are always deep. * * If during merging a key in the target object exists it is overwritten with the source object's value. * Usage is the same as `jQuery.extend(true, ...)`, but values that are `undefined` are NOT ignored. * * For shallow copies, you may use `Object.assign`, but note that `Object.assign` only copies enumerable * and own properties and doesn't copy properties on the prototype and non-enumerable properties. * * @since 1.58 * * @returns the target object which is the result of the merge */ export default function merge( /** * The object that will receive new properties */ target: object, /** * One or more objects which get merged into the target object */ ...source: object[] ): object; } declare module "sap/base/util/now" { /** * Returns a high resolution timestamp in microseconds. The timestamp is based on 01/01/1970 00:00:00 (UNIX * epoch) as float with microsecond precision. The fractional part of the timestamp represents fractions * of a millisecond. Converting to a `Date` is possible by using `require(["sap/base/util/now"], function(now){new * Date(now());}` * * @since 1.58 * * @returns timestamp in microseconds */ export default function now(): float; } declare module "sap/base/util/ObjectPath" { /** * Manages an object path. * * The object path can be just created with {@link #.create}, then an empty nested object path will be created * from the provided string. If a value is set for an object path {@link #.set} it is also created if it * not already exists. Values can be retrieved from the objectpath with {@link #get}. * * @since 1.58 */ interface ObjectPath { /** * Creates a object path from the provided path in the provided root context. * * The provided path is used to navigate through the nested objects, starting with the root context. * * * @returns The newly created context object, e.g. base.my.test.module */ create( /** * Path as string where each name is separated by '.'. Can also be an array of names. */ vObjectPath: string | string[], /** * Root context where the path starts */ oRootContext?: Object ): Object; /** * Returns a value located in the provided path. If the provided path cannot be resolved completely, `undefined` * is returned. * * The provided object path is used to navigate through the nested objects, starting with the root context. * If no root context is provided, the object path begins with `globalThis`. * * * @returns Returns the value located in the provided path, or `undefined` if the path does not exist completely. */ get( /** * Path as string where each name is separated by '.'. Can also be an array of names. */ vObjectPath: string | string[], /** * Root context where the path starts */ oRootContext?: Object ): any | undefined; /** * Sets a value located in the provided path. * * The provided path is used to navigate through the nested objects, starting with the root context. * * **Note:** Ensures that the object path exists. */ set( /** * vObjectPath Path as string where each name is separated by '.'. Can also be an array of names. */ vObjectPath: string | string[], /** * The value to be set in the root context's object path */ vValue: any, /** * Root context where the path starts */ oRootContext?: Object ): void; } const ObjectPath: ObjectPath; export default ObjectPath; } declare module "sap/base/util/Properties" { /** * Represents a collection of string properties (key/value pairs). * * Each key and its corresponding value in the collection is a string, keys are case-sensitive. * * Use {@link module:sap/base/util/Properties.create} to create an instance of {@link module:sap/base/util/Properties}. * * The {@link #getProperty} method can be used to retrieve a value from the collection, {@link #setProperty } * to store or change a value for a key and {@link #getKeys} can be used to retrieve an array of all keys * that are currently stored in the collection. * * @since 1.58 */ export default class Properties { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Creates and returns a new instance of {@link module:sap/base/util/Properties}. * * If option 'url' is passed, immediately a load request for the given target is triggered. A property file * that is loaded can contain comments with a leading ! or #. The loaded property list does not contain * any comments. * * * @returns A new property collection (synchronous case) or `null` if the file could not be loaded and `returnNullIfMissing` * was set; in case of asynchronous loading, always a Promise is returned, which resolves with the property * collection or with `null` if the file could not be loaded and `returnNullIfMissing` was set to true */ static create( /** * Parameters used to initialize the property list */ mParams?: { /** * The URL to the .properties file which should be loaded */ url?: string; /** * Whether the .properties file should be loaded asynchronously or not */ async?: boolean; /** * A map of additional header key/value pairs to send along with the request (see `headers` option of `jQuery.ajax`) */ headers?: Record; /** * Whether `null` should be returned for a missing properties file; by default an empty collection is returned */ returnNullIfMissing?: boolean; } ): Properties | null | Promise; /** * Creates and returns a clone of the property collection. * * * @returns A clone of the property collection */ clone(): Properties; /** * Returns an array of all keys in the property collection. * * * @returns All keys in the property collection */ getKeys(): string[]; /** * Returns the value for the given key or `null` if the collection has no value for the key. * * Optionally, a default value can be given which will be returned if the collection does not contain a * value for the key; only non-empty default values are supported. * * * @returns Value for the given key or the default value or `null` if no default value or a falsy default * value was given */ getProperty( /** * Key to return the value for */ sKey: string, /** * Optional, a default value that will be returned if the requested key is not in the collection */ sDefaultValue?: string ): string | null; /** * Stores or changes the value for the given key in the collection. * * If the given value is not a string, the collection won't be modified. The key is always cast to a string. */ setProperty( /** * Key of the property */ sKey: string, /** * String value for the key */ sValue: string ): void; } } declare module "sap/base/util/uid" { /** * Creates and returns a pseudo-unique ID. * * No means for detection of overlap with already present or future UIDs. * * @since 1.58 * * @returns A pseudo-unique id. */ export default function uid(): string; } declare module "sap/base/util/UriParameters" { /** * Provides access to the individual parameters of a URL query string. * * This class parses the query string from a URL and provides access to the values of individual parameters. * There are methods to check whether the query string {@link #has contains a parameter (`has()`)}, to {@link #get get a single value (`get()`) } * for a parameter and to {@link #getAll get a list of all values (`getAll()`)} for a parameter. Another * method allows to {@link #keys iterate over all parameter names (`keys()`)}. * * Decoding: * * The constructor and the factory methods expect percentage encoded input whereas all other APIs expect * and return decoded strings. After parsing the query string, any plus sign (0x2b) in names or values is * replaced by a blank (0x20) and the resulting strings are percentage decoded (`decodeURIComponent`). * * Deprecation: * * This class is deprecated in favor of the URL web standard classes `URLSearchParams` / `URL`. * * `UriParameters.fromQuery(input)` can be migrated to `new URLSearchParams(input)` * * `UriParameters.fromURL(input)` can be migrated to `new URL(input).searchParams` * * Caveats: * * The API has already been designed to be a drop-in replacement but there are some important caveats to * consider when switching to the standard APIs `URLSearchParams` / `URL`: * - `new URL(input).searchParams` validates the given URL according to the WHATWG URL Standard ({@link https://url.spec.whatwg.org}). * `UriParameters.fromURL(input)` only extracts the query string from the given input but does not perform * any validation. * - In some edge cases, especially for incomplete/invalid encoding, decoding behaves differently. Decoding * in `UriParameters` is described in the section above. For details about the encoding/decoding of `URLSearchParams`, * see the WHATWG URL Standard ({@link https://url.spec.whatwg.org}). * - The `get` method's second parameter, `bAll`, is not available; use the `getAll` method instead. * - The `keys` method's return value contains an entry for every occurrence of the key within the query, * in the defined order and including duplicates. `UriParameters#keys()` yields unique key values, even * when there are multiple values for the same key. * - The internal `mParams` property is not available anymore (you should never access internal properties * of UI5 classes or objects). With the predecessor of this API, access to `mParams` was often used to check * whether a parameter is defined at all. Using the `has` method or checking the result of `get` against * `null` serves the same purpose. * * @since 1.68 * @deprecated As of version 1.119. See class description for details. */ export default class UriParameters { /** * See: * https://url.spec.whatwg.org/#interface-urlsearchparams */ constructor( /** * URL with parameters */ sURL?: string ); /** * Parses the given query string and returns an interface to access the individual parameters. * * Callers using `UriParameters.fromQuery(input)` can be migrated to `new URLSearchParams(input)` once that * API is available (or polyfilled) in all supported browsers. * * * @returns Object providing read access to the query parameters */ static fromQuery( /** * Query string to parse, a leading question mark (?) will be ignored */ sQuery?: string ): UriParameters; /** * Parses the query portion of the given URL and returns an object to access the individual parameters. * * Callers using `UriParameters.fromURL(input)` can be migrated to `new URL(input).searchParams` once that * API is available (or polyfilled) in all supported browsers. * * * @returns Object providing read access to the query parameters */ static fromURL( /** * to parse the query portion of. */ sURL: string ): UriParameters; /** * Returns the first value of the named query parameter. * * The value of the first occurrence of the parameter with name `sName` in the query string is returned. * If that first occurrence does not contain a value (it does not contain an equal sign), then an empty * string is returned. * * If (and only if) the parameter does not occur in the query string, `null` is returned. * * * @returns First value of the query parameter with the given name or `null` */ get( /** * Name of the query parameter to get the value for */ sName: string, /** * Whether all values for the parameter should be returned; the use of this parameter is deprecated and * highly discouraged; use the {@link #getAll} method instead */ bAll?: boolean ): string | null; /** * Returns all values of the query parameter with the given name. * * An array of string values of all occurrences of the parameter with the given name is returned. This array * is empty if (and only if) the parameter does not occur in the query string. * * * @returns Array with all values of the query parameter with the given name */ getAll( /** * Name of the query parameter */ sName: string ): string[]; /** * Checks whether a parameter occurs at least once in the query string. * * * @returns Whether the parameter has been defined */ has( /** * Name of the query parameter to check */ sName: string ): boolean; /** * Returns an iterator for all contained parameter names. * * * @returns Iterator for all parameter names. */ keys(): Iterator; } } declare module "sap/base/util/values" { /** * Returns values from an object. * * **Note:**Whenever possible, please try to use the native function `Object.values` instead. Especially, * if you don't need to rely on handling null values as argument. * * @since 1.58 * * @returns - array of object values, if object does not contain values, an empty array will be returned */ export default function values( /** * Object to be extracted */ mObject: Object | undefined ): any[]; } declare module "sap/base/util/Version" { /** * Represents a version consisting of major, minor, patch version, and suffix, for example '1.2.7-SNAPSHOT'. * * @since 1.58 */ export default class Version { /** * Returns a Version instance created from the given parameters. * * This function can either be called as a constructor (using `new`) or as a normal function. It always * returns an immutable Version instance. * * The parts of the version number (major, minor, patch, suffix) can be provided in several ways: * - Version("1.2.3-SNAPSHOT") - as a dot-separated string. Any non-numerical char or a dot followed by * a non-numerical char starts the suffix portion. Any missing major, minor or patch versions will be set * to 0. * - Version(1,2,3,"-SNAPSHOT") - as individual parameters. Major, minor and patch must be integer numbers * or empty, suffix must be a string not starting with digits. * - Version([1,2,3,"-SNAPSHOT"]) - as an array with the individual parts. The same type restrictions * apply as before. * - Version(otherVersion) - as a Version instance (cast operation). Returns the given instance instead * of creating a new one. * * To keep the code size small, this implementation mainly validates the single string variant. All other * variants are only validated to some degree. It is the responsibility of the caller to provide proper * parts. */ constructor( /** * the major part of the version (int) or any of the single parameter variants explained above. */ vMajor: int | string | any[] | Version, /** * the minor part of the version number */ iMinor?: int, /** * the patch part of the version number */ iPatch?: int, /** * the suffix part of the version number */ sSuffix?: string ); /** * Compares this version with a given one. * * The version with which this version should be compared can be given as a `sap/base/util/Version` instance, * as a string (e.g. `v.compareTo("1.4.5")`). Or major, minor, patch and suffix values can be given as separate * parameters (e.g. `v.compareTo(1, 4, 5)`) or in an array (e.g. `v.compareTo([1, 4, 5])`). * * * @returns 0, if the given version is equal to this version, a negative value if the given other version * is greater and a positive value otherwise */ compareTo( /** * The major part (an integer) of the version to compare to or the full version in any of the single parameter * variants, as documented for the {@link module:sap/base/util/Version constructor}. */ vOtherMajor: int | string | any[] | Version, /** * A minor version to compare to (only valid when `vOther` is a single integer) */ iOtherMinor?: int, /** * A patch version to compare to (only valid when `vOther` is a single integer) */ iOtherPatch?: int, /** * A version suffix like "-SNAPSHOT" to compare to (only valid when `vOther` is an integer) */ sOtherSuffix?: string ): int; /** * Returns the major version part of this version. * * * @returns the major version part of this version */ getMajor(): int; /** * Returns the minor version part of this version. * * * @returns the minor version part of this version */ getMinor(): int; /** * Returns the patch (or micro) version part of this version. * * * @returns the patch version part of this version */ getPatch(): int; /** * Returns the version suffix of this version. * * * @returns the version suffix of this version */ getSuffix(): string; /** * Checks whether this version is in the range of the given interval (start inclusive, end exclusive). * * The boundaries against which this version should be checked can be given as `sap/base/util/Version` instances * (e.g. `v.inRange(v1, v2)`), as strings (e.g. `v.inRange("1.4", "2.7")`) or as arrays (e.g. `v.inRange([1,4], * [2,7])`). * * * @returns `true` if this version is greater or equal to `vMin` and smaller than `vMax`, `false` otherwise. */ inRange( /** * the start of the range (inclusive) */ vMin: string | any[] | Version, /** * the end of the range (exclusive) */ vMax: string | any[] | Version ): boolean; /** * Returns a string representation of this version. * * * @returns a string representation of this version. */ toString(): string; } } declare module "sap/ui/util/XMLHelper" { import { URI } from "sap/ui/core/library"; /** * Error information as provided by the `DOMParser`. * * Note that the set of properties with meaningful content differs between browsers. */ export type XMLParseErrorInfo = { errorCode?: int; url?: URI; reason?: string; srcText?: string; line?: int; linepos?: int; filepos?: int; type?: "error" | "warning"; }; /** * Provides functionality for parsing XML formatted strings and serializing XML documents. * * @since 1.58 */ interface XMLHelper { /** * Extracts parse error information from the specified document (if any). * * If an error was found, the returned object contains a browser-specific subset of the properties described * in {@link module:sap/base/util/XMLHelper.XMLParseErrorInfo XMLParseErrorInfo}. Otherwise, it just contains * an `errorCode` property with value 0. * * * @returns A browser-specific error info object if errors were found, or an object with an errorCode * of 0 only */ getParseError( /** * The parsed XML document */ oDocument: XMLDocument ): XMLParseErrorInfo; /** * Parses the specified XML string into an XML document, using the native parsing functionality of the browser. * If an error occurs during parsing, a {@link module:sap/base/util/XMLHelper.XMLParseErrorInfo parse error info object } * is attached as the `parseError` property of the returned document. * * * @returns the parsed XML document with a `parseError` property as described in {@link #getParseError}. * An error occurred if the `errorCode` property of the `parseError` is not 0. */ parse( /** * An XML string */ sXMLText: string ): XMLDocument; /** * Serializes the specified DOM tree into a string representation. * See: * {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLSerializer/serializeToString} * * * @returns the serialized XML string */ serialize( /** * the XML document object to be serialized as string */ oXMLDocument: Node | Attr ): string; } const XMLHelper: XMLHelper; export default XMLHelper; } declare module "sap/ui/core/AnimationMode" { /** * Enumerable list with available animation modes. * * This enumerable is used to validate the animation mode. Animation modes allow to specify different animation * scenarios or levels. The implementation of the Control (JavaScript or CSS) has to be done differently * for each animation mode. * * @since 1.120 */ enum AnimationMode { /** * `basic` can be used for a reduced, more light-weight set of animations. */ basic = "basic", /** * `full` represents a mode with unrestricted animation capabilities. */ full = "full", /** * `minimal` includes animations of fundamental functionality. */ minimal = "minimal", /** * `none` deactivates the animation completely. */ none = "none", } export default AnimationMode; } declare module "sap/ui/core/ComponentRegistry" { import { ID } from "sap/ui/core/library"; import Component from "sap/ui/core/Component"; /** * Registry of all `Component`s that currently exist. * * @since 1.120 */ interface ComponentRegistry { /** * Number of existing components. */ size: int; /** * Return an object with all instances of `sap.ui.core.Component`, keyed by their ID. * * Each call creates a new snapshot object. Depending on the size of the UI, this operation therefore might * be expensive. Consider to use the `forEach` or `filter` method instead of executing similar operations * on the returned object. * * **Note**: The returned object is created by a call to `Object.create(null)`, and therefore lacks all * methods of `Object.prototype`, e.g. `toString` etc. * * * @returns Object with all components, keyed by their ID */ all(): Record; /** * Returns an array with components for which the given `callback` returns a value that coerces to `true`. * * The expected signature of the callback is * ```javascript * * function callback(oComponent, sID) * ``` * where `oComponent` is the currently visited component instance and `sID` is the ID of that instance. * * If components are created or destroyed within the `callback`, then the behavior is not specified. Newly * added objects might or might not be visited. When a component is destroyed during the filtering and was * not visited yet, it might or might not be visited. As the behavior for such concurrent modifications * is not specified, it may change in newer releases. * * If a `thisArg` is given, it will be provided as `this` context when calling `callback`. The `this` value * that the implementation of `callback` sees, depends on the usual resolution mechanism. E.g. when `callback` * was bound to some context object, that object wins over the given `thisArg`. * * This function returns an array with all components matching the given predicate. The order of the components * in the array is not specified and might change between calls (over time and across different versions * of UI5). * * * @returns Array of components matching the predicate; order is undefined and might change in newer versions * of UI5 */ filter( /** * predicate against which each Component is tested */ callback: (p1: Component, p2: ID) => boolean, /** * context object to provide as `this` in each call of `callback` */ thisArg?: Object ): Component[]; /** * Calls the given `callback` for each existing component. * * The expected signature of the callback is * ```javascript * * function callback(oComponent, sID) * ``` * where `oComponent` is the currently visited component instance and `sID` is the ID of that instance. * * The order in which the callback is called for components is not specified and might change between calls * (over time and across different versions of UI5). * * If components are created or destroyed within the `callback`, then the behavior is not specified. Newly * added objects might or might not be visited. When a component is destroyed during the filtering and was * not visited yet, it might or might not be visited. As the behavior for such concurrent modifications * is not specified, it may change in newer releases. * * If a `thisArg` is given, it will be provided as `this` context when calling `callback`. The `this` value * that the implementation of `callback` sees, depends on the usual resolution mechanism. E.g. when `callback` * was bound to some context object, that object wins over the given `thisArg`. */ forEach( /** * Function to call for each Component */ callback: (p1: Component, p2: ID) => void, /** * Context object to provide as `this` in each call of `callback` */ thisArg?: Object ): void; /** * Retrieves a Component by its ID. * * When the ID is `null` or `undefined` or when there's no Component with the given ID, then `undefined` * is returned. * * * @returns Component with the given ID or `undefined` */ get( /** * ID of the Component to retrieve */ id: ID ): Component | undefined; } const ComponentRegistry: ComponentRegistry; export default ComponentRegistry; } declare module "sap/ui/core/ComponentSupport" { /** * The module `sap/ui/core/ComponentSupport` provides functionality which is used to find declared Components * in the HTML page and to create the Component instances which will be put into a {@link sap.ui.core.ComponentContainer}. * * The {@link module:sap/ui/core/ComponentSupport.run} function is called automatically once the module * has been required. This allows declarative support for components. * * Usage: To enable the `sap/ui/core/ComponentSupport` include it as the `oninit` module in the bootstrap: * * ```javascript * * * ``` * * * To load and render components inside the HTML page, a special data attribute has to be specified on the * respective DOM elements: `data-sap-ui-component`. All DOM elements marked with this data attribute will * be regarded as container elements for the created `ComponentContainer` instances. * * * ```javascript * * * ... *
*
* ... * * ``` * * * Configuration: All configuration settings for the `ComponentContainer` have to be defined as `data` attributes * on the respective HTML tags. Each data attribute will be interpreted as a setting and parsed considering * the data type of the matching property in the `ComponentContainer`. * * **NOTE:** The following `data` attributes for registering event handlers have been deprecated since UI5 * version 1.120 and won't work in the next major version because of the removal of accessing the global * namespace: * - `data-component-created` * - `data-component-failed` * * Alternatively, you can provide your own module in the bootstrap via `oninit`, in which you create an * instance of the {@link sap.ui.core.ComponentContainer ComponentContainer} in the JavaScript code. * * As HTML is case-insensitive, in order to define a property with upper-case characters, you have to "escape" * them with a hyphen character, similar to CSS attributes. The following code gives an example: * * * ```javascript * *
* ``` * * * **Beware:** * * The `ComponentSupport` module enforces asynchronous loading of the respective component and its library * dependencies. This is done by applying default settings for the following properties of the `ComponentContainer`: * * * - `async` {boolean} (**forced to `true`**) * - `manifest` {boolean|string} (**forced to `true` if no string is provided to ensure manifest first**) * * - `lifecycle` {sap.ui.core.ComponentLifecycle} (defaults to `Container`) * - `autoPrefixId` {boolean} (defaults to `true`) * * See {@link https://ui5.sap.com/#/topic/82a0fcecc3cb427c91469bc537ebdddf Declarative API for Initial Components}. * * @since 1.58.0 */ interface ComponentSupport { /** * Find all DOM elements with the attribute `data-sap-ui-component` and parse the attributes from these * DOM elements for the settings of the `ComponentContainer` which will be placed into these DOM elements. * * This function is called automatically once the module has been required. */ run(): void; } const ComponentSupport: ComponentSupport; export default ComponentSupport; } declare module "sap/ui/core/ControlBehavior" { import AnimationMode from "sap/ui/core/AnimationMode"; /** * Provides control behavior relevant configuration options * * @since 1.120 */ interface ControlBehavior { /** * Returns the current animation mode. * * @since 1.120 * * @returns The current animationMode */ getAnimationMode(): AnimationMode; /** * Returns whether the accessibility mode is enabled or not. * * @since 1.120 * * @returns whether the accessibility mode is enabled or not */ isAccessibilityEnabled(): boolean; /** * Sets the current animation mode. * * Expects an animation mode as string and validates it. If a wrong animation mode was set, an error is * thrown. If the mode is valid it is set, then the attributes `data-sap-ui-animation` and `data-sap-ui-animation-mode` * of the HTML document root element are also updated. If the `animationMode` is `AnimationMode.none` the * old `animation` property is set to `false`, otherwise it is set to `true`. * * @since 1.120 */ setAnimationMode( /** * A valid animation mode */ sAnimationMode: AnimationMode | keyof typeof AnimationMode ): void; } const ControlBehavior: ControlBehavior; export default ControlBehavior; } declare module "sap/ui/core/date/CalendarUtils" { import CalendarWeekNumbering from "sap/base/i18n/date/CalendarWeekNumbering"; import Locale from "sap/ui/core/Locale"; /** * Provides calendar-related utilities. * * @since 1.108.0 */ interface CalendarUtils { /** * Resolves calendar week configuration. * * Returns an object with the following fields: * - `firstDayOfWeek`: specifies the first day of the week starting with `0` (which is Sunday) * - `minimalDaysInFirstWeek`: minimal days at the beginning of the year which define the first calendar * week * * @since 1.108.0 * * @returns The calendar week configuration, or `undefined for an invalid value of module:sap/base/i18n/date/CalendarWeekNumbering`. */ getWeekConfigurationValues( /** * The calendar week numbering; if omitted, the calendar week numbering of the configuration is used; see * {@link module:sap/base/i18n/Formatting.getCalendarWeekNumbering Formatting.getCalendarWeekNumbering}. * If this value is `Default` the returned calendar week configuration is derived from the given `oLocale`. */ sCalendarWeekNumbering?: | CalendarWeekNumbering | keyof typeof CalendarWeekNumbering, /** * The locale to use; if no locale is given, a locale for the currently configured language is used; see * {@link module:sap/base/i18n/Formatting.getLanguageTag Formatting.getLanguageTag}. Is only used when `sCalendarWeekNumbering` * is set to `Default`. */ oLocale?: Locale ): | { firstDayOfWeek: int; minimalDaysInFirstWeek: int; } | undefined; } const CalendarUtils: CalendarUtils; export default CalendarUtils; } declare module "sap/ui/core/date/UI5Date" { /** * A date implementation considering the configured time zone * * A subclass of JavaScript `Date` that considers the configured time zone, see {@link module:sap/base/i18n/Localization.getTimezone Localization.getTimezone}. * All JavaScript `Date` functions that use the local browser time zone, like `getDate`, `setDate`, and * `toString`, are overwritten and use the configured time zone to compute the values. * * Use {@link module:sap/ui/core/date/UI5Date.getInstance} to create new date instances. * * **Note:** Adjusting the time zone in a running application can lead to unexpected data inconsistencies. * For more information, see {@link module:sap/base/i18n/Localization.setTimezone Localization.setTimezone}. * * @since 1.111.0 */ export default class UI5Date extends Date { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Creates a date instance (either JavaScript Date or `UI5Date`) which considers the configured time zone * wherever JavaScript Date uses the local browser time zone, for example in `getDate`, `toString`, or `setHours`. * The supported parameters are the same as the ones supported by the JavaScript Date constructor. * * **Note:** Adjusting the time zone in a running application can lead to unexpected data inconsistencies. * For more information, see {@link module:sap/base/i18n/Localization.setTimezone Localization.setTimezone}. * See: * module:sap/base/i18n/Localization.getTimezone * * * @returns The date instance that considers the configured time zone in all local getters and setters. */ static getInstance( /** * Same meaning as in the JavaScript Date constructor */ vYearOrValue?: int | string | Date | UI5Date | null, /** * Same meaning as in the JavaScript Date constructor */ vMonthIndex?: int | string, /** * Same meaning as in the JavaScript Date constructor */ vDay?: int | string, /** * Same meaning as in the JavaScript Date constructor */ vHours?: int | string, /** * Same meaning as in the JavaScript Date constructor */ vMinutes?: int | string, /** * Same meaning as in the JavaScript Date constructor */ vSeconds?: int | string, /** * Same meaning as in the JavaScript Date constructor */ vMilliseconds?: int | string ): Date | UI5Date; /** * Returns the day of the month of this date instance according to the configured time zone, see `Date.prototype.getDate`. * * * @returns A number between 1 and 31 representing the day of the month of this date instance according * to the configured time zone */ getDate(): int; /** * Returns the day of the week of this date instance according to the configured time zone, see `Date.prototype.getDay`. * * * @returns A number between 0 (Sunday) and 6 (Saturday) representing the day of the week of this date instance * according to the configured time zone */ getDay(): int; /** * Returns the year of this date instance according to the configured time zone, see `Date.prototype.getFullYear`. * * * @returns The year of this date instance according to the configured time zone */ getFullYear(): int; /** * Returns the hours of this date instance according to the configured time zone, see `Date.prototype.getHours`. * * * @returns A number between 0 and 23 representing the hours of this date instance according to the configured * time zone */ getHours(): int; /** * Returns the milliseconds of this date instance according to the configured time zone, see `Date.prototype.getMilliseconds`. * * * @returns A number between 0 and 999 representing the milliseconds of this date instance according to * the configured time zone */ getMilliseconds(): int; /** * Returns the minutes of this date instance according to the configured time zone, see `Date.prototype.getMinutes`. * * * @returns A number between 0 and 59 representing the minutes of this date instance according to the configured * time zone */ getMinutes(): int; /** * Returns the month index of this date instance according to the configured time zone, see `Date.prototype.getMonth`. * * * @returns The month index between 0 (January) and 11 (December) of this date instance according to the * configured time zone */ getMonth(): int; /** * Returns the seconds of this date instance according to the configured time zone, see `Date.prototype.getSeconds`. * * * @returns A number between 0 and 59 representing the seconds of this date instance according to the configured * time zone */ getSeconds(): int; /** * Returns this date object to the given time represented by a number of milliseconds based on the UNIX * epoch, see `Date.prototype.getTime`. * * * @returns The timestamp in milliseconds of this date based on the UNIX epoch, or `NaN` if the date is * an invalid date */ getTime(): int; /** * Returns the difference in minutes between the UTC and the configured time zone for this date, see `Date.prototype.getTimezoneOffset`. * * * @returns The difference in minutes between the UTC and the configured time zone for this date */ getTimezoneOffset(): int; /** * Returns the day of the month of this date instance according to universal time, see `Date.prototype.getUTCDate`. * * * @returns A number between 1 and 31 representing the day of the month of this date instance according * to universal time */ getUTCDate(): int; /** * Returns the day of the week of this date instance according to universal time, see `Date.prototype.getUTCDay`. * * * @returns A number between 0 (Sunday) and 6 (Saturday) representing the day of the week of this date instance * according to universal time */ getUTCDay(): int; /** * Returns the year of this date instance according to universal time, see `Date.prototype.getUTCFullYear`. * * * @returns The year of this date instance according to universal time */ getUTCFullYear(): int; /** * Returns the hours of this date instance according to universal time, see `Date.prototype.getUTCHours`. * * * @returns A number between 0 and 23 representing the hours of this date instance according to universal * time */ getUTCHours(): int; /** * Returns the milliseconds of this date instance according to universal time, see `Date.prototype.getUTCMilliseconds`. * * * @returns A number between 0 and 999 representing the milliseconds of this date instance according to * universal time */ getUTCMilliseconds(): int; /** * Returns the minutes of this date instance according to universal time, see `Date.prototype.getUTCMinutes`. * * * @returns A number between 0 and 59 representing the minutes of this date instance according to universal * time */ getUTCMinutes(): int; /** * Returns the month index of this date instance according to universal time, see `Date.prototype.getUTCMonth`. * * * @returns The month index between 0 (January) and 11 (December) of this date instance according to universal * time */ getUTCMonth(): int; /** * Returns the seconds of this date instance according to universal time, see `Date.prototype.getUTCSeconds`. * * * @returns A number between 0 and 59 representing the seconds of this date instance according to universal * time */ getUTCSeconds(): int; /** * Returns the year of this date instance minus 1900 according to the configured time zone, see `Date.prototype.getYear`. * * @deprecated As of version 1.111. as it is deprecated in the base class JavaScript Date; use {@link #getFullYear } * instead * * @returns The year of this date instance minus 1900 according to the configured time zone */ getYear(): int; /** * Sets the day of the month for this date instance considering the configured time zone, see `Date.prototype.setDate`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setDate( /** * An integer representing the new day value, see `Date.prototype.setDate` */ iDay: int ): int; /** * Sets the year, month and day for this date instance considering the configured time zone, see `Date.prototype.setFullYear`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setFullYear( /** * An integer representing the new year value */ iYear: int, /** * An integer representing the new month index */ iMonth?: int, /** * An integer representing the new day value */ iDay?: int ): int; /** * Sets the hours, minutes, seconds and milliseconds for this date instance considering the configured time * zone, see `Date.prototype.setHours`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setHours( /** * An integer representing the new hour value */ iHours: int, /** * An integer representing the new minutes value */ iMinutes?: int, /** * An integer representing the new seconds value */ iSeconds?: int, /** * An integer representing the new milliseconds value */ iMilliseconds?: int ): int; /** * Sets the milliseconds for this date instance considering the configured time zone, see `Date.prototype.setMilliseconds`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setMilliseconds( /** * An integer representing the new milliseconds value */ iMilliseconds: int ): int; /** * Sets the minutes, seconds and milliseconds for this date instance considering the configured time zone, * see `Date.prototype.setMinutes`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setMinutes( /** * An integer representing the new minutes value */ iMinutes: int, /** * An integer representing the new seconds value */ iSeconds?: int, /** * An integer representing the new milliseconds value */ iMilliseconds?: int ): int; /** * Sets the month and day for this date instance considering the configured time zone, see `Date.prototype.setMonth`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setMonth( /** * An integer representing the new month index */ iMonth: int, /** * An integer representing the new day value */ iDay?: int ): int; /** * Sets the seconds and milliseconds for this date instance considering the configured time zone, see `Date.prototype.setSeconds`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setSeconds( /** * An integer representing the new seconds value */ iSeconds: int, /** * An integer representing the new milliseconds value */ iMilliseconds?: int ): int; /** * Sets this date object to the given time represented by a number of milliseconds based on the UNIX epoch * and resets the previously set date parts, see `Date.prototype.setTime`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setTime( /** * The date time in milliseconds based in the UNIX epoch */ iTime: int ): int; /** * Sets the day of the month for this date instance according to universal time, see `Date.prototype.setUTCDate`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setUTCDate( /** * An integer representing the new day value, see `Date.prototype.setUTCDate` */ iDay: int ): int; /** * Sets the year, month and day for this date instance according to universal time, see `Date.prototype.setUTCFullYear`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setUTCFullYear( /** * An integer representing the new year value */ iYear: int, /** * An integer representing the new month index */ iMonth?: int, /** * An integer representing the new day value */ iDay?: int ): int; /** * Sets the hours, minutes, seconds and milliseconds for this date instance according to universal time, * see `Date.prototype.setUTCHours`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setUTCHours( /** * An integer representing the new hour value */ iHours: int, /** * An integer representing the new minutes value */ iMinutes?: int, /** * An integer representing the new seconds value */ iSeconds?: int, /** * An integer representing the new milliseconds value */ iMilliseconds?: int ): int; /** * Sets the milliseconds for this date instance according to universal time, see `Date.prototype.setUTCMilliseconds`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setUTCMilliseconds( /** * An integer representing the new milliseconds value */ iMilliseconds: int ): int; /** * Sets the minutes, seconds and milliseconds for this date instance according to universal time, see `Date.prototype.setUTCMinutes`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setUTCMinutes( /** * An integer representing the new minutes value */ iMinutes: int, /** * An integer representing the new seconds value */ iSeconds?: int, /** * An integer representing the new milliseconds value */ iMilliseconds?: int ): int; /** * Sets the month and day for this date instance according to universal time, see `Date.prototype.setUTCMonth`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setUTCMonth( /** * An integer representing the new month index */ iMonth: int, /** * An integer representing the new day value */ iDay?: int ): int; /** * Sets the seconds and milliseconds for this date instance according to universal time, see `Date.prototype.setUTCSeconds`. * * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setUTCSeconds( /** * An integer representing the new seconds value */ iSeconds: int, /** * An integer representing the new milliseconds value */ iMilliseconds?: int ): int; /** * Sets the year for this date instance plus 1900 considering the configured time zone, see `Date.prototype.setYear`. * * @deprecated As of version 1.111. as it is deprecated in the base class JavaScript Date; use {@link #setFullYear } * instead * * @returns The milliseconds of the new timestamp based on the UNIX epoch, or `NaN` if the timestamp could * not be updated */ setYear( /** * The year which is to be set for this date. If iYear is a number between 0 and 99 (inclusive), then the * year for this date is set to 1900 + iYear. Otherwise, the year for this date is set to iYear. */ iYear: int ): int; /** * Returns the date portion of this date object interpreted in the configured time zone in English, see * `Date.prototype.toDateString`. * * * @returns The date portion of this date object interpreted in the configured time zone in English */ toDateString(): string; /** * Converts this date to a string, interpreting it in the UTC time zone, see `Date.prototype.toGMTString`. * * * @returns The converted date as string in the UTC time zone */ toGMTString(): string; /** * Converts this date to a string in ISO format in the UTC offset zero time zone, as denoted by the suffix * `Z`, see `Date.prototype.toISOString`. * * * @returns The converted date as a string in ISO format, in the UTC offset zero time zone */ toISOString(): string; /** * Returns a string representation of this date object, see `Date.prototype.toJSON`. * * * @returns The date object representation as a string */ toJSON(): string; /** * Returns a string with a language-dependent representation of the date part of this date object interpreted * by default in the configured time zone, see `Date.prototype.toLocaleDateString`. * * * @returns The language-dependent representation of the date part of this date object */ toLocaleDateString( /** * The locale used for formatting; by default, the string representation of {@link module:sap/base/i18n/Localization.getLanguageTag Localization.getLanguageTag} */ sLocale?: string, /** * The options object used for formatting, corresponding to the options parameter of the `Intl.DateTimeFormat` * constructor */ oOptions?: { /** * The IANA time zone ID; by default {@link module:sap/base/i18n/Localization.getTimezone Localization.getTimezone} */ timeZone?: string; } ): string; /** * Returns a string with a language-dependent representation of this date object interpreted by default * in the configured time zone, see `Date.prototype.toLocaleString`. * * * @returns The language-dependent representation of this date object */ toLocaleString( /** * The locale used for formatting; by default, the string representation of {@link module:sap/base/i18n/Localization.getLanguageTag Localization.getLanguageTag} */ sLocale?: string, /** * The options object used for formatting, corresponding to the options parameter of the `Intl.DateTimeFormat` * constructor */ oOptions?: { /** * The IANA time zone ID; by default {@link module:sap/base/i18n/Localization.getTimezone Localization.getTimezone} */ timeZone?: string; } ): string; /** * Returns a string with a language-dependent representation of the time part of this date object interpreted * by default in the configured time zone, see `Date.prototype.toLocaleTimeString`. * * * @returns The language-dependent representation of the time part of this date object */ toLocaleTimeString( /** * The locale used for formatting; by default, the string representation of {@link module:sap/base/i18n/Localization.getLanguageTag Localization.getLanguageTag} */ sLocale?: string, /** * The options object used for formatting, corresponding to the options parameter of the `Intl.DateTimeFormat` * constructor */ oOptions?: { /** * The IANA time zone ID; by default {@link module:sap/base/i18n/Localization.getTimezone Localization.getTimezone} */ timeZone?: string; } ): string; /** * Returns a string representing this date object interpreted in the configured time zone. * * * @returns A string representing this date object interpreted in the configured time zone */ toString(): string; /** * Returns the time portion of this date object interpreted in the configured time zone in English. * * * @returns The time portion of this date object interpreted in the configured time zone in English */ toTimeString(): string; /** * Converts this date to a string, interpreting it in the UTC time zone, see `Date.prototype.toUTCString`. * * * @returns The converted date as a string in the UTC time zone */ toUTCString(): string; /** * Returns the value of this date object in milliseconds based on the UNIX epoch, see `Date.prototype.valueOf`. * * * @returns The primitive value of this date object in milliseconds based on the UNIX epoch */ valueOf(): int; } } declare module "sap/ui/core/ElementRegistry" { import { ID } from "sap/ui/core/library"; import UI5Element from "sap/ui/core/Element"; /** * Registry of all `sap.ui.core.Element`s that currently exist. * * @since 1.120 */ interface ElementRegistry { /** * Number of existing elements. */ size: int; /** * Return an object with all instances of `sap.ui.core.Element`, keyed by their ID. * * Each call creates a new snapshot object. Depending on the size of the UI, this operation therefore might * be expensive. Consider to use the `forEach` or `filter` method instead of executing similar operations * on the returned object. * * **Note**: The returned object is created by a call to `Object.create(null)`, and therefore lacks all * methods of `Object.prototype`, e.g. `toString` etc. * * * @returns Object with all elements, keyed by their ID */ all(): Record; /** * Returns an array with elements for which the given `callback` returns a value that coerces to `true`. * * The expected signature of the callback is * ```javascript * * function callback(oElement, sID) * ``` * where `oElement` is the currently visited element instance and `sID` is the ID of that instance. * * If elements are created or destroyed within the `callback`, then the behavior is not specified. Newly * added objects might or might not be visited. When an element is destroyed during the filtering and was * not visited yet, it might or might not be visited. As the behavior for such concurrent modifications * is not specified, it may change in newer releases. * * If a `thisArg` is given, it will be provided as `this` context when calling `callback`. The `this` value * that the implementation of `callback` sees, depends on the usual resolution mechanism. E.g. when `callback` * was bound to some context object, that object wins over the given `thisArg`. * * This function returns an array with all elements matching the given predicate. The order of the elements * in the array is not specified and might change between calls (over time and across different versions * of UI5). * * * @returns Array of elements matching the predicate; order is undefined and might change in newer versions * of UI5 */ filter( /** * predicate against which each element is tested */ callback: (p1: UI5Element, p2: ID) => boolean, /** * context object to provide as `this` in each call of `callback` */ thisArg?: Object ): UI5Element[]; /** * Calls the given `callback` for each element. * * The expected signature of the callback is * ```javascript * * function callback(oElement, sID) * ``` * where `oElement` is the currently visited element instance and `sID` is the ID of that instance. * * The order in which the callback is called for elements is not specified and might change between calls * (over time and across different versions of UI5). * * If elements are created or destroyed within the `callback`, then the behavior is not specified. Newly * added objects might or might not be visited. When an element is destroyed during the filtering and was * not visited yet, it might or might not be visited. As the behavior for such concurrent modifications * is not specified, it may change in newer releases. * * If a `thisArg` is given, it will be provided as `this` context when calling `callback`. The `this` value * that the implementation of `callback` sees, depends on the usual resolution mechanism. E.g. when `callback` * was bound to some context object, that object wins over the given `thisArg`. */ forEach( /** * Function to call for each element */ callback: (p1: UI5Element, p2: ID) => void, /** * Context object to provide as `this` in each call of `callback` */ thisArg?: Object ): void; /** * Retrieves an Element by its ID. * * When the ID is `null` or `undefined` or when there's no element with the given ID, then `undefined` is * returned. * * * @returns Element with the given ID or `undefined` */ get( /** * ID of the element to retrieve */ id: ID ): UI5Element | undefined; } const ElementRegistry: ElementRegistry; export default ElementRegistry; } declare module "sap/ui/core/fieldhelp/FieldHelpUtil" { import UI5Element from "sap/ui/core/Element"; /** * Utility class to set field help information for controls for which field help information cannot be deduced * automatically from OData metadata or for which the automatically deduced field help needs to be overwritten. * These can be controls like filter fields that don't have OData property bindings. * * @since 1.133.0 */ export default class FieldHelpUtil { /** * @ui5-protected Do not call from applications (only from related classes in the framework) */ protected constructor(); /** * Sets the field help information for the given element as `sap-ui-DocumentationRef` custom data. Note * that field help inferred from data bindings of control properties is overwritten by this method unless * an empty array is given in parameter `vDocumentationRefs`. */ static setDocumentationRef( /** * The element on which to set the field help */ oElement: UI5Element, /** * The string value or an array of string values of `com.sap.vocabularies.Common.v1.DocumentationRef` OData * annotations, for example `"urn:sap-com:documentation:key?=type=DE&id=MY_ID&origin=MY_ORIGIN"`" */ vDocumentationRefs: string | string[] ): void; } } declare module "sap/ui/core/getCompatibilityVersion" { import Version from "sap/base/util/Version"; /** * Returns the used compatibility version for the given feature. * * @deprecated As of version 1.119. without a replacement. All features that have been controlled by a compatibility * version in UI5 1.x will abandon their legacy behavior, starting with the next major version. In other * words, they will behave as if compatibility version "edge" was configured. Due to this, no more access * to the compatibility version will be required starting with the next major version. * * @returns the used compatibility version */ export default function getCompatibilityVersion( /** * the key of desired feature */ sFeature: string ): Version; } declare module "sap/ui/core/InvisibleRenderer" { import Control from "sap/ui/core/Control"; import RenderManager from "sap/ui/core/RenderManager"; import UI5Element from "sap/ui/core/Element"; /** * Provides the default renderer for the controls that have set their `visible` property to `false`. * * @since 1.66.0 * @ui5-protected DO NOT USE IN APPLICATIONS (only for related classes in the framework) */ interface InvisibleRenderer { /** * Creates the ID to be used for the invisible placeholder DOM element. * * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns The ID used for the invisible placeholder of this element */ createInvisiblePlaceholderId( /** * The `control` instance for which to create the placeholder ID */ oControl: Control ): string; /** * Returns the placeholder DOM element of the provided control. * * @ui5-protected Do not call from applications (only from related classes in the framework) * * @returns The placeholder DOM element */ getDomRef( /** * The `control` instance for which to get the placeholder DOM element */ oControl: Control ): HTMLElement | null; /** * Renders an invisible placeholder to identify the location of the invisible control within the DOM tree. * * The standard implementation renders an invisible element for controls with `visible:false` * to improve re-rendering performance. Due to the fault tolerance of the HTML5 standard, such * elements are accepted in many scenarios and won't appear in the render tree of the browser. However, * in some cases, controls might need to write a different element if is not an allowed element * (for example, within the or
  • group). In this case, the caller can require this module * and use the third parameter to define the HTML tag. * * @ui5-protected Do not call from applications (only from related classes in the framework) */ render( /** * The `RenderManager` instance */ oRm?: RenderManager, /** * The instance of the invisible element */ oElement?: UI5Element, /** * HTML tag of the invisible placeholder; void tags are not allowed. */ sTagName?: string ): void; } const InvisibleRenderer: InvisibleRenderer; export default InvisibleRenderer; } declare module "sap/ui/core/message/MessageType" { /** * Specifies possible message types. * * @since 1.118 */ enum MessageType { /** * Message is an error */ Error = "Error", /** * Message should be just an information */ Information = "Information", /** * Message has no specific level */ None = "None", /** * Message is a success message */ Success = "Success", /** * Message is a warning */ Warning = "Warning", } export default MessageType; } declare module "sap/ui/core/Messaging" { import Message from "sap/ui/core/message/Message"; import MessageModel from "sap/ui/model/message/MessageModel"; import MessageProcessor from "sap/ui/core/message/MessageProcessor"; import ManagedObject from "sap/ui/base/ManagedObject"; /** * Messaging provides a central place for managing `sap.ui.core.message.Message`s. * * @since 1.118.0 */ interface Messaging { /** * Add messages to Messaging */ addMessages( /** * Array of `Message` or single `Message` */ vMessages: Message | Message[] ): void; /** * Get the MessageModel * * * @returns oMessageModel The Message Model */ getMessageModel(): MessageModel; /** * Register MessageProcessor */ registerMessageProcessor( /** * The MessageProcessor */ oProcessor: MessageProcessor ): void; /** * When using the databinding type system, the validation/parsing of a new property value could fail. In * this case, a validationError/parseError event is fired. These events bubble up to the core. For registered * ManagedObjects, the Messaging attaches to these events and creates a `sap.ui.core.message.Message` (bHandleValidation=true) * for each of these errors and cancels the event bubbling. */ registerObject( /** * The sap.ui.base.ManagedObject */ oObject: ManagedObject, /** * Handle validationError/parseError events for this object. If set to true, the Messaging creates a Message * for each validation/parse error. The event bubbling is canceled in every case. */ bHandleValidation: boolean ): void; /** * Remove all messages */ removeAllMessages(): void; /** * Remove given Messages */ removeMessages( /** * The message(s) to be removed. */ vMessages: Message | Message[] ): void; /** * Deregister MessageProcessor */ unregisterMessageProcessor( /** * The MessageProcessor */ oProcessor: MessageProcessor ): void; /** * Unregister ManagedObject */ unregisterObject( /** * The sap.ui.base.ManagedObject */ oObject: ManagedObject ): void; /** * Update Messages by providing two arrays of old and new messages. * * The old ones will be removed, the new ones will be added. */ updateMessages( /** * Array of old messages to be removed */ aOldMessages: Message[], /** * Array of new messages to be added */ aNewMessages: Message[] ): void; } const Messaging: Messaging; export default Messaging; } declare module "sap/ui/core/StaticArea" { import UIArea from "sap/ui/core/UIArea"; /** * Helper module to access the static area. * * The static area is a hidden DOM element with a unique ID and managed by the framework. It is typically * used for hidden or temporarily hidden elements like InvisibleText, Popup, Shadow, Blocklayer etc. * * All methods throw an `Error` when they are called before the document is ready. */ interface StaticArea { /** * Checks whether the given DOM element is part of the static area. * * * @returns Whether the given DOM reference is part of the static UIArea */ contains( /** * The DOM element to check */ oDomRef: Element ): boolean; /** * Returns the root element of the static, hidden area. * * It can be used e.g. for hiding elements like Popup, Shadow, Blocklayer etc. If it is not yet available, * a DIV element is created and appended to the body. * * * @returns the root DOM element of the static, hidden area */ getDomRef(): Element; /** * Returns the `UIArea` instance for the static area. If none exists yet, one gets created. * * * @returns The `UIArea` instance for the static area */ getUIArea(): UIArea; } const StaticArea: StaticArea; export default StaticArea; } declare module "sap/ui/core/syncStyleClass" { import Control from "sap/ui/core/Control"; /** * Search ancestors of the given source DOM element for the specified CSS class name. * * If the class name is found, set it to the root DOM element of the target control. If the class name is * not found, it is also removed from the target DOM element. * * @since 1.58 * * @returns Target element */ export default function syncStyleClass( /** * CSS class name */ sStyleClass: string, /** * jQuery object, control or an id of the source element. */ vSource: jQuery | Control | string, /** * target jQuery object or a control. */ vDestination: jQuery | Control ): jQuery | Element; } declare module "sap/ui/core/Theming" { /** * Provides theming related API * * @since 1.118 */ interface Theming { /** * Attaches event handler `fnFunction` to the {@link #event:applied applied} event. * * The given handler is called when the the applied event is fired. If the theme is already applied the * handler will be called immediately. The handler stays attached to the applied event for future theme * changes. * * @since 1.118.0 */ attachApplied( /** * The function to be called, when the event occurs */ fnFunction: (p1: Theming$AppliedEvent) => void ): void; /** * Detaches event handler `fnFunction` from the {@link #event:applied applied} event * * The passed function must match the one used for event registration. * * @since 1.118.0 */ detachApplied( /** * The function to be called, when the event occurs */ fnFunction: (p1: Theming$AppliedEvent) => void ): void; /** * Returns the theme name * * @since 1.118 * * @returns the theme name */ getTheme(): string; /** * Notify content density changes * * @since 1.118.0 */ notifyContentDensityChanged(): void; /** * Sets the favicon. The path must be relative to the current origin. Absolute URLs are not allowed. * * @since 1.135 * * @returns A promise that resolves when the favicon has been set with undefined */ setFavicon( /** * A string containing a specific relative path to the favicon, 'true' to use a favicon from custom theme * or the default favicon in case no custom favicon is maintained, 'false' or undefined to disable the favicon */ vFavicon: string | boolean | undefined ): Promise; /** * Allows setting the theme name * * @since 1.118 */ setTheme( /** * the theme name */ sTheme: string ): void; } const Theming: Theming; export default Theming; /** * The theme applied Event. * * @since 1.118.0 */ export type Theming$AppliedEvent = { /** * The newly set theme. */ theme: string; }; } declare module "sap/ui/dom/containsOrEquals" { /** * Returns whether `oDomRefChild` is contained in or equal to `oDomRefContainer`. * * For compatibility reasons it returns `true` if `oDomRefContainer` and `oDomRefChild` are equal. * * This method intentionally does not operate on the jQuery object, as the original `jQuery.contains()` * method also does not do so. * * @since 1.58 * * @returns Whether `oDomRefChild` is contained in or equal to `oDomRefContainer` */ export default function containsOrEquals( /** * The container element */ oDomRefContainer: Element, /** * The child element (must not be a text node, must be an element) */ oDomRefChild: Element ): boolean; } declare module "sap/ui/dom/denormalizeScrollBeginRTL" { /** * For the given scroll position measured from the "beginning" of a container (the right edge in RTL mode) * this method returns the scrollLeft value as understood by the current browser in RTL mode. This value * is specific to the given DOM element, as the computation may involve its dimensions. * * So when oDomRef should be scrolled 2px from the beginning, the number "2" must be given as `iNormalizedScrollBegin` * and the result of this method (which may be a large or even negative number, depending on the browser) * can then be set as `oDomRef.scrollLeft` to achieve the desired (cross-browser-consistent) scrolling position. * Low values make the right part of the content visible, high values the left part. * * This method does no scrolling on its own, it only calculates the value to set (so it can also be used * for animations). * * Only use this method in RTL mode, as the behavior in LTR mode is undefined and may change! * * @since 1.58 * * @returns The scroll position that must be set for the DOM element */ export default function denormalizeScrollBeginRTL( /** * The distance from the rightmost position to which the element should be scrolled */ iNormalizedScrollBegin: int, /** * The DOM Element to which scrollLeft will be applied */ oDomRef: Element ): int; } declare module "sap/ui/dom/denormalizeScrollLeftRTL" { /** * For the given scrollLeft value this method returns the scrollLeft value as understood by the current * browser in RTL mode. This value is specific to the given DOM element, as the computation may involve * its dimensions. * * So when oDomRef should be scrolled 2px from the leftmost position, the number "2" must be given as `iNormalizedScrollLeft` * and the result of this method (which may be a large or even negative number, depending on the browser) * can then be set as `oDomRef.scrollLeft` to achieve the desired (cross-browser-consistent) scrolling position. * * This method does no scrolling on its own, it only calculates the value to set (so it can also be used * for animations). * * @since 1.58 * * @returns The scroll position that must be set for the DOM element */ export default function denormalizeScrollLeftRTL( /** * The distance from the leftmost position to which the element should be scrolled */ iNormalizedScrollLeft: int, /** * The DOM Element to which scrollLeft will be applied */ oDomRef: Element ): int; } declare module "sap/ui/dom/getOwnerWindow" { /** * Returns the window reference for a DomRef. * * @since 1.58 * * @returns Window reference */ export default function getOwnerWindow( /** * The DOM reference */ oDomRef: Element ): Window; } declare module "sap/ui/dom/getScrollbarSize" { /** * Returns the size (width of the vertical / height of the horizontal) native browser scrollbars. * * This function must only be used when the DOM is ready. * * @since 1.58 * * @returns Object with properties `width` and `height` (the values are of type number and are pixels). */ export default function getScrollbarSize( /** * The CSS class that should be added to the test element. */ sClasses?: string, /** * Force recalculation of size (e.g. when CSS was changed). When no classes are passed all calculated sizes * are reset. */ bForce?: boolean ): { width: number; height: number; }; } declare module "sap/ui/dom/includeScript" { /** * Includes the script (via * ``` * * * This is a shortcut for `sap.ui.getCore().setRoot()`. * * Internally, if a string is given that does not identify a UIArea or a control then implicitly a new `UIArea` * is created for the given DOM reference and the given control is added. * * @deprecated As of version 1.1. use {@link sap.ui.core.Control#placeAt Control#placeAt} instead. */ function setRoot( /** * a DOM Element or Id String of the UIArea */ oDomRef: string | Element | import("sap/ui/core/Control").default, /** * the Control that should be added to the `UIArea`. */ oControl: | import("sap/ui/base/Interface").default | import("sap/ui/core/Control").default ): void; /** * Creates a Template for the given ID, DOM reference or a configuration object. * * If no parameter is defined, this function makes a lookup of DOM elements which are specifying a type * attribute. If the value of this type attribute matches a registered type then the content of this DOM * element will be used to create a new `Template` instance. * * If you want to lookup all kind of existing and known templates and parse them directly you can simply * call: * ```javascript * * sap.ui.template(); * ``` * * * To parse a concrete DOM element you can do so by using this function in the following way: * ```javascript * * sap.ui.template("theTemplateId"); * ``` * * * Or you can pass the reference to a DOM element and use this DOM element as a source for the template: * * ```javascript * * sap.ui.template(oDomRef); * ``` * * * The last option to use this function is to pass the information via a configuration object. This configuration * object can be used to pass a context for the templating framework when compiling the template: * ```javascript * * var oTemplateById = sap.ui.template({ * id: "theTemplateId", * context: { ... } * }); * * var oTemplateByDomRef = sap.ui.template({ * domref: oDomRef, * context: { ... } * }); * ``` * * * It can also be used to load a template from another file: * ```javascript * * var oTemplate = sap.ui.template({ * id: "myTemplate", * src: "myTemplate.tmpl" * }); * * var oTemplateWithContext = sap.ui.template({ * id: "myTemplate", * src: "myTemplate.tmpl", * context: { ... } * }); * ``` * * * @deprecated As of version 1.56. use an {@link sap.ui.core.mvc.XMLView XMLView} or {@link sap.ui.core.mvc.JSView JSView } * instead. * * @returns the created Template instance or in case of usage without parameters any array of templates * is returned */ function template( /** * the ID or the DOM reference to the template to lookup or a configuration object containing the src, type * and eventually the ID of the Template. */ oTemplate?: | string | Element | { /** * the ID of the Template / the ID of the DOM element containing the source of the Template */ id: string; /** * the DOM element containing the source of the Template */ domref: Element; /** * the type of the Template */ type?: string; /** * the context for the renderer/templating */ context?: object; /** * the URL to lookup the template (experimental!) */ src?: string; /** * the fully qualified name of the control to declare (experimental!) */ control: string; } ): | import("sap/ui/core/tmpl/Template").default | Array; /** * Defines or creates an instance of a template view. * * The behavior of this method depends on the signature of the call and on the current context. * * * - View Definition `sap.ui.templateview(sId, vView)`: Defines a view of the given name with the given * implementation. sId must be the views name, vView must be an object and can contain implementations for * any of the hooks provided by templateview * - View Instantiation `sap.ui.templateview(sId?, vView)`: Creates an instance of the view with the given * name (and id). * * Any other call signature will lead to a runtime error. If the id is omitted in the second variant, an * id will be created automatically. * * @deprecated As of version 1.56. use {@link sap.ui.core.mvc.XMLView} in combination with {@link topic:5ee619fc1370463ea674ee04b65ed83b XML Templating } * instead * * @returns the created TemplateView instance in the creation case, otherwise undefined */ function templateview( /** * id of the newly created view, only allowed for instance creation */ sId: string, /** * name or implementation of the view. */ vView: string | object ): import("sap/ui/core/mvc/TemplateView").default | undefined; /** * Defines or creates an instance of a template view. * * The behavior of this method depends on the signature of the call and on the current context. * * * - View Definition `sap.ui.templateview(sId, vView)`: Defines a view of the given name with the given * implementation. sId must be the views name, vView must be an object and can contain implementations for * any of the hooks provided by templateview * - View Instantiation `sap.ui.templateview(sId?, vView)`: Creates an instance of the view with the given * name (and id). * * Any other call signature will lead to a runtime error. If the id is omitted in the second variant, an * id will be created automatically. * * @deprecated As of version 1.56. use {@link sap.ui.core.mvc.XMLView} in combination with {@link topic:5ee619fc1370463ea674ee04b65ed83b XML Templating } * instead * * @returns the created TemplateView instance in the creation case, otherwise undefined */ function templateview( /** * name or implementation of the view. */ vView: string | object ): import("sap/ui/core/mvc/TemplateView").default | undefined; /** * Creates a view of the given type, name and with the given ID. * * @deprecated As of version 1.56. Use {@link sap.ui.core.mvc.View.extend View.extend} to define the view * class and {@link sap.ui.core.mvc.View.create View.create} to create view instances * * @returns the created View instance */ function view( /** * The ID of the newly created view, only allowed for instance creation. If no ID is given, an ID will be * generated. For view definition, skip this parameter and use `vView` as the first parameter. */ sId?: string, /** * The view name or view configuration object. */ vView?: | string | { /** * Specifies an ID for the view instance. If no ID is given, an ID will be generated. */ id?: object; /** * Corresponds to an XML module that can be loaded via the module system (vView.viewName + suffix ".view.xml"). */ viewName?: object; /** * The controller instance must be a valid controller implementation. The given controller instance overrides * the controller defined in the view definition. */ controller?: import("sap/ui/core/mvc/Controller").default; /** * Whether the view source is loaded asynchronously. In asynchronous mode, the view is returned empty, and * the view content is loaded asynchronously. */ async?: boolean; /** * Specifies what kind of view will be instantiated. All valid view types are listed in the enumeration * {@link sap.ui.core.mvc.ViewType}. */ type?: import("sap/ui/core/mvc/ViewType").default; /** * Holds application specific data. This data is available during the whole lifecycle of the view and the * controller, for example in the constructor and in the {@link sap.ui.core.mvc.Controller.onInit onInit } * hook. */ viewData?: object; /** * Holds a map from the specified preprocessor type (e.g. "xml") to an array of preprocessor configurations. * Each configuration consists of a `preprocessor` property (optional when registered as on-demand preprocessor) * and may contain further preprocessor-specific settings. */ preprocessors?: Map; } ): import("sap/ui/core/mvc/View").default; /** * Loads and instantiates an XML-based fragment. * * To instantiate a fragment that is already defined separately, call: * ```javascript * * sap.ui.xmlfragment(sId?, sFragmentName, oController?); * ``` * * * Advanced usage: * ```javascript * * sap.ui.xmlfragment(oFragmentConfig, oController?); * ``` * In addition to an `id`, the `oFragmentConfig` object can have either a `fragmentName` or a `fragmentContent` * property, but not both. * * @deprecated As of version 1.58. Refer to {@link topic:04129b2798c447368f4c8922c3c33cd7 Instantiation of Fragments}. * * @returns the instantiated root control(s) from the fragment content */ function xmlfragment( /** * ID of the created fragment which will be used as prefix to all contained control IDs. If the first argument * is not an ID, it must be either the fragment name (`sFragmentName`) or a configuration object (`oFragmentConfig`) * as specified below */ vId: | string | { /** * ID of the created fragment which will be used as prefix to all contained control IDs */ id?: string; /** * definition of the fragment content as an XML string that will be used instead of loading the content * from a separate `.fragment.xml` file. When this property is given, any given fragment name is ignored */ fragmentContent?: string; /** * resource name of the fragment module in dot notation without the `.fragment.xml` suffix from the file * name */ fragmentName?: string; }, /** * resource name of the fragment module as specified by `vId.fragmentName` or, in the advanced usage case, * an optional `oController` */ vFragment: string | import("sap/ui/core/mvc/Controller").default | object, /** * controller object to be used for methods or event handlers. Can be either the controller of an enclosing * view, a new controller instance, or a simple object with the necessary methods attached. Note that a * fragment has no runtime representation besides its contained controls. Therefore, there is no API to * retrieve the controller from the return value. Note also that fragments may require a controller to be * given and certain methods to be available */ oController?: import("sap/ui/core/mvc/Controller").default | object ): | import("sap/ui/core/Control").default | Array; /** * Loads and instantiates an XML-based fragment. * * To instantiate a fragment that is already defined separately, call: * ```javascript * * sap.ui.xmlfragment(sId?, sFragmentName, oController?); * ``` * * * Advanced usage: * ```javascript * * sap.ui.xmlfragment(oFragmentConfig, oController?); * ``` * In addition to an `id`, the `oFragmentConfig` object can have either a `fragmentName` or a `fragmentContent` * property, but not both. * * @deprecated As of version 1.58. Refer to {@link topic:04129b2798c447368f4c8922c3c33cd7 Instantiation of Fragments}. * * @returns the instantiated root control(s) from the fragment content */ function xmlfragment( /** * resource name of the fragment module as specified by `vId.fragmentName` or, in the advanced usage case, * an optional `oController` */ vFragment: string | import("sap/ui/core/mvc/Controller").default | object, /** * controller object to be used for methods or event handlers. Can be either the controller of an enclosing * view, a new controller instance, or a simple object with the necessary methods attached. Note that a * fragment has no runtime representation besides its contained controls. Therefore, there is no API to * retrieve the controller from the return value. Note also that fragments may require a controller to be * given and certain methods to be available */ oController?: import("sap/ui/core/mvc/Controller").default | object ): | import("sap/ui/core/Control").default | Array; /** * Instantiates an XMLView of the given name and with the given ID. * * The `vView` can either be the name of the module that contains the view definition or it can be a configuration * object with properties `viewName`, `viewContent` and a `controller` property (more properties are described * in the parameters section below). * * If a `viewName` is given, it behaves the same as when `vView` is a string: the named resource will be * loaded and parsed as XML. Alternatively, an already loaded view definition can be provided as `viewContent`, * either as XML string or as an already parsed XML document. Exactly one of `viewName` and `viewContent` * must be given, if none or both are given, an error will be reported. The `controller` property is optional * and can hold a controller instance. When given, it overrides the controller class defined in the view * definition. * * When property `async` is set to true, the view definition and the controller class (and its dependencies) * will be loaded asynchronously. Any controls used in the view might be loaded sync or async, depending * on the processingMode. Even when the view definition is provided as string or XML Document, controller * or controls might be loaded asynchronously. In any case a view instance will be returned synchronously * by this factory API, but its content (control tree) might appear only later. Also see {@link sap.ui.core.mvc.View#loaded}. * * **Note**: If an XML document is given, it might be modified during view construction. * * **Note**: On root level, you can only define content for the default aggregation, e.g. without adding * the `` tag. If you want to specify content for another aggregation of a view like `dependents`, * place it in a child control's dependents aggregation or add it by using {@link sap.ui.core.mvc.XMLView#addDependent}. * * **Note**: If you enable caching, you need to take care of the invalidation via keys. Automatic invalidation * takes only place if the UI5 version or the component descriptor (manifest.json) change. This is still * an experimental feature and may experience slight changes of the invalidation parameters or the cache * key format. * * Like with any other control, `sId` is optional and an ID will be created automatically. * * @deprecated As of version 1.56. Use {@link sap.ui.core.mvc.XMLView.create XMLView.create} to create view * instances * * @returns the created XMLView instance */ function xmlview( /** * ID of the newly created view */ sId: string, /** * Name of the view or a view configuration object as described above */ vView: | string | { /** * Name of the view resource in module name notation (without suffix) */ viewName?: string; /** * XML string or XML document that defines the view */ viewContent?: string | Document; /** * whether the view source is loaded asynchronously */ async?: boolean; /** * Cache configuration, only for `async` views; caching gets active when this object is provided with vView.cache.keys * array; keys are used to store data in the cache and for invalidation of the cache */ cache?: { /** * Array with strings or Promises resolving with strings */ keys?: Array>; }; /** * Preprocessors configuration, see {@link sap.ui.core.mvc.View} */ preprocessors?: object; /** * Controller instance to be used for this view */ controller?: import("sap/ui/core/mvc/Controller").default; } ): import("sap/ui/core/mvc/XMLView").default; /** * Instantiates an XMLView of the given name and with the given ID. * * The `vView` can either be the name of the module that contains the view definition or it can be a configuration * object with properties `viewName`, `viewContent` and a `controller` property (more properties are described * in the parameters section below). * * If a `viewName` is given, it behaves the same as when `vView` is a string: the named resource will be * loaded and parsed as XML. Alternatively, an already loaded view definition can be provided as `viewContent`, * either as XML string or as an already parsed XML document. Exactly one of `viewName` and `viewContent` * must be given, if none or both are given, an error will be reported. The `controller` property is optional * and can hold a controller instance. When given, it overrides the controller class defined in the view * definition. * * When property `async` is set to true, the view definition and the controller class (and its dependencies) * will be loaded asynchronously. Any controls used in the view might be loaded sync or async, depending * on the processingMode. Even when the view definition is provided as string or XML Document, controller * or controls might be loaded asynchronously. In any case a view instance will be returned synchronously * by this factory API, but its content (control tree) might appear only later. Also see {@link sap.ui.core.mvc.View#loaded}. * * **Note**: If an XML document is given, it might be modified during view construction. * * **Note**: On root level, you can only define content for the default aggregation, e.g. without adding * the `` tag. If you want to specify content for another aggregation of a view like `dependents`, * place it in a child control's dependents aggregation or add it by using {@link sap.ui.core.mvc.XMLView#addDependent}. * * **Note**: If you enable caching, you need to take care of the invalidation via keys. Automatic invalidation * takes only place if the UI5 version or the component descriptor (manifest.json) change. This is still * an experimental feature and may experience slight changes of the invalidation parameters or the cache * key format. * * Like with any other control, `sId` is optional and an ID will be created automatically. * * @deprecated As of version 1.56. Use {@link sap.ui.core.mvc.XMLView.create XMLView.create} to create view * instances * * @returns the created XMLView instance */ function xmlview( /** * Name of the view or a view configuration object as described above */ vView: | string | { /** * Name of the view resource in module name notation (without suffix) */ viewName?: string; /** * XML string or XML document that defines the view */ viewContent?: string | Document; /** * whether the view source is loaded asynchronously */ async?: boolean; /** * Cache configuration, only for `async` views; caching gets active when this object is provided with vView.cache.keys * array; keys are used to store data in the cache and for invalidation of the cache */ cache?: { /** * Array with strings or Promises resolving with strings */ keys?: Array>; }; /** * Preprocessors configuration, see {@link sap.ui.core.mvc.View} */ preprocessors?: object; /** * Controller instance to be used for this view */ controller?: import("sap/ui/core/mvc/Controller").default; } ): import("sap/ui/core/mvc/XMLView").default; /** * Provides access to UI5 loader configuration. * * The configuration is used by {@link sap.ui.require} and {@link sap.ui.define}. */ namespace loader { /** * Sets the configuration for the UI5 loader. The configuration can be updated multiple times. Later changes * do not impact modules that have been loaded before. * * If no parameter is given, a partial copy of UI5 loader configuration in use is returned. * * The configuration options are aligned with the "Common Config" draft of the AMD spec (https://github.com/amdjs/amdjs-api/blob/master/CommonConfig.md). * * The following code shows an example of what a UI5 loader configuration might look like: * ```javascript * * * sap.ui.loader.config({ * * // location from where to load all modules by default * baseUrl: '../../resources/', * * paths: { * // load modules whose ID equals to or starts with 'my/module' from example.com * 'my/module': 'https://example.com/resources/my/module' * }, * * map: { * // if any module requires 'sinon', load module 'sap/ui/thirdparty/sinon-4' * '*': { * 'sinon': 'sap/ui/thirdparty/sinon-4' * }, * // but if a module whose ID equals to or starts with 'app' requires 'sinon' * // then load a legacy version instead * "app": { * 'sinon': 'sap/ui/legacy/sinon' * } * }, * * // define two bundles that consists of JS modules only * bundles: { * bundle1: ['module1', 'module2'], * bundle2: ['moduleX', 'moduleY'] * }, * * // define a bundle that also contains non-JS resources * bundlesUI5: { * 'all.js': ['Component.js', 'manifest.json', * 'App.controller.js', 'App.view.xml'] * }, * * // activate real async loading and module definitions * // (will become obsolete in 2.0 contexts as async will be the only mode there) * async: true, * * // provide dependency and export metadata for non-UI5 modules * shim: { * 'sap/ui/thirdparty/blanket': { * amd: true, * exports: 'blanket' * } * } * * }); * * ``` * * * @since 1.56.0 * * @returns UI5 loader configuration in use. */ function config( /** * The provided configuration gets merged with the UI5 loader configuration in use. If `cfg` is omitted * or `undefined`, a copy of the current configuration gets returned, containing at least the properties * `amd` and `async`. */ cfg?: { /** * Default location to load modules from. If none of the configured `paths` prefixes matches a module ID, * the module will be loaded from the concatenation of the `baseUrl` and the module ID. * * If the `baseUrl` itself is a relative URL, it is evaluated relative to `document.baseURI`. */ baseUrl?: string; /** * A map of resource locations keyed by a corresponding module ID prefix. When a module is to be loaded, * the longest key in `paths` is searched that is a prefix of the module ID. The module will be loaded from * the concatenation of the corresponding value in `paths` and the remainder of the module ID (after the * prefix). If no entry in `paths` matches, then the module will be loaded from the `baseUrl`. * * The prefixes (keys) must not contain relative segments (./ or ../), a trailing slash will be removed, * and only full name segment matches are considered a match (prefix 'sap/m' does not match a module ID * 'sap/main'). * * **Note**: In contrast to the "Common Config" of the AMD spec, the paths (values in the map) are interpreted * relative to `document.baseURI`, not relative to `cfg.baseUrl`. */ paths?: Record; /** * A map of maps that defines how to map module IDs to other module IDs (inner maps) in the context of a * specific set of modules (keys of outer map). * * Each key of the outer map represents a module ID prefix that describes the context for which its value * (inner map) has to be used. The special key `*` describes the default context which applies for any module. * Only the most specific matching context will be taken into account. * * Each inner map maps a module ID or module ID prefix to another module ID or module ID prefix. Again, * only the most specific match is taken into account and only one mapping is evaluated (the evaluation * of the mappings is not done recursively). * * Matches are always complete matches, a prefix 'a/b/c' does not match the module ID 'a/b/com'. */ map?: Record>; /** * Defines additional metadata for modules for which the normal behavior of the AMD APIs is not sufficient. * * A typical example are scripts that don't use `define` or `sap.ui.define`, but export to a global name. * With the `exports` property, one or more export names can be specified, and the loader can retrieve the * exported value after executing the corresponding module. If such a module has dependencies, they can * be specified in the `deps` array and are loaded and executed before executing the module. * * The `amd` flag of a shim is a ui5loader-specific extension of the standard AMD shims. If set, the ui5loader * hides a currently active AMD loader before executing the module and restores it afterwards. Otherwise, * it might miss the export of third party modules that check for an AMD loader and register with it instead * of exporting to a global name. A future version of the ui5loader might ignore this flag when it acts * as an AMD loader by itself. * * **Note:** The ui5loader does not support the `init` option described by the "Common Config" section of * the AMD spec. */ shim?: Record< string, { amd: boolean; deps: string[]; exports: string | string[]; } >; /** * A map of arrays that each define the modules contained in a bundle. * * Each key of the map represents the module ID of a bundle file. The array value represents the set of * JavaScript modules (their module IDs) that are contained in the bundle. * * When a module is required that has not been loaded yet, and for which a containing bundle is known, that * bundle will be required first. Only then the original module will be required again and usually be taken * from the just loaded bundle. * * A bundle will be loaded asynchronously only when the loader is in asynchronous mode and when the request * for the contained module originates from an asynchronous API. In all other cases, the bundle has to be * loaded synchronously to fulfill API contracts. * * **Note:** The loader only supports one containing bundle per module. If a module is declared to be part * of multiple bundles, only the last one will be taken into account. * * This configuration option is basically provided to be compatible with requireJS or SystemJS configuration. */ bundles?: Record; /** * A map of arrays that each define the resources contained in a bundle. * * This is similar to `bundles`, but all strings are unified resource names including a file type extension, * not only module IDs. This allows to represent more than just JavaScript modules. * * Each key of the map represents the resource name (in unified resource name syntax) of a bundle file. * The array value represents the set of resources (also in unified resource name syntax) that are contained * in the bundle. The array can contain JavaScript as well as other textual resource types (e.g. *.xml or * *.json resources). * * When a module is required that has not been loaded yet, and for which a containing bundle is known, that * bundle will be required first. Only then the original module will be required again and usually be taken * from the just loaded bundle. * * A bundle will be loaded asynchronously only when the loader is in asynchronous mode and when the request * for the contained module originates from an asynchronous API. In all other cases, the bundle has to be * loaded synchronously to fulfill API contracts. * * **Note:** The loader only supports one containing bundle per module. If a module is declared to be part * of multiple bundles, only the last one will be taken into account. * * **Note:** Although non-JS resources can be declared to be part of a bundle, only requests for JavaScript * modules will currently trigger the loading of a bundle. */ bundlesUI5?: Record; /** * When set to true, `sap.ui.require` loads modules asynchronously via script tags and `sap.ui.define` executes * asynchronously. To enable this feature, it is recommended to set the attribute `data-sap-ui-async="true"` * on the application bootstrap tag. * * **Note:** Switching back from async to sync is not supported and trying to do so will throw an `Error` * * In the next major version of UI5, this option will become obsolete as async will be the only mode. */ async?: boolean; /** * When set to true, the ui5loader will overwrite the global properties `define` and `require` with its * own implementations. Any previously active AMD loader will be remembered internally and can be restored * by setting `amd` to false again. * * **Note:** Switching to the `amd` mode, the ui5loader will set `async` to true implicitly for activating * asynchronous loading. Once the loading behaviour has been defined to be asynchronous, it can not be changed * to synchronous behaviour again, also not via setting `amd` to false. */ amd?: boolean; } ): | { amd: boolean; async: boolean; noConflict: boolean; } | undefined; } /** * The SAPUI5 Data Binding API. * * The default binding mode for model implementations (if not implemented otherwise) is two-way and the * supported binding modes by the model are one-way, two-way and one-time. The default binding mode can * be changed by the application for each model instance. A model implementation should specify its supported * binding modes and set the default binding mode accordingly (e.g. if the model supports only one-way binding * the default binding mode should also be set to one-way). * * The default size limit for models is 100. The size limit determines the number of entries used for the * list bindings. */ namespace model { /** * Analytical Adapter for ODataModels */ namespace analytics { /** * If called on an instance of an (v1/v2) ODataModel it will enrich it with analytics capabilities. * * @deprecated As of version 1.138.0. will be replaced by OData V4 data aggregation, see {@link topic:7d914317c0b64c23824bf932cc8a4ae1 Extension for Data Aggregation} * @ui5-protected Do not call from applications (only from related classes in the framework) */ function ODataModelAdapter(): void; } } namespace component { /** * Load a component without instantiating it. * * Provides support for loading components asynchronously by setting `oConfig.async` to true. In that case, * the method returns a JavaScript 6 Promise that will be fulfilled with the component class after loading. * * Using `async = true` doesn't necessarily mean that no more synchronous loading occurs. Both the framework * as well as component implementations might still execute synchronous requests. The contract for `async * = true` just allows to use async calls. * * When a manifest.json is referenced in oConfig this manifest is not used for the derived instances of * the Component class. The manifest/manifest url must be provided for every instance explicitly. * * Since 1.27.0, when asynchronous loading is used, additional `asyncHints` can be provided. This parameter * is only used internally by the UI5 framework and compatibility cannot be guaranteed. The parameter must * not be used in productive code, except in code delivered by the UI5 teams. * * * - `oConfig.asyncHints.components : string[]`a list of components needed by the current component and * its subcomponents The framework will try to preload these components (their Component-preload.js) asynchronously, * errors will be ignored. Please note that the framework has no knowledge about whether a Component provides * a preload file or whether it is bundled in some library preload. If Components are listed in the hints * section, they will be preloaded. * - `oConfig.asyncHints.libs : string[]`libraries needed by the Component and its subcomponents. The * framework will asynchronously load those libraries, if they're not loaded yet. * - `oConfig.asyncHints.preloadBundles : string[]`a list of additional preload bundles The framework * will try to load these bundles asynchronously before requiring the Component, errors will be ignored. * The named modules must only represent preload bundles. If they are normal modules, their dependencies * will be loaded with the normal synchronous request mechanism and performance might degrade. `oConfig.asyncHints.preloadOnly * : boolean (default: false)` whether only the preloads should be done, but not the loading of the Component * controller class itself. * * If Components and/or libraries are listed in the hints section, all the corresponding preload files will * be requested in parallel. The constructor class will only be required after all of them are rejected * or resolved. Instead of specifying just the name of a component or library in the hints, an object might * be given that contains a mandatory `name` property and, optionally, an `url` that will be used for a * `registerModulePath` and/or a `lazy` property. When `lazy` is set to a truthy value, only a necessary * `registerModulePath` will be executed, but the corresponding component or lib won't be preloaded. For * preload bundles, also an object might be given instead of a simple name, but there only the `url` property * is supported, not the `lazy` property. * * Note: so far, only the requests for the preload files (library and/or component) are executed asynchronously. * If a preload is deactivated by configuration (e.g. debug mode), then remaining requests still might be * synchronous. * * @since 1.16.3 * @deprecated As of version 1.56. use {@link sap.ui.core.Component.load} * * @returns Constructor of the component class or a Promise that will be fulfilled with the same */ function load( /** * Configuration object describing the Component to be loaded. See {@link sap.ui.component} for more information. */ oConfig: object ): Function | Promise; } namespace require { /** * Calculates a URL from the provided resource name. * * The calculation takes any configured ID mappings or resource paths into account (see {@link sap.ui.loader.config config options map and paths}. * It also supports relative segments such as `./` and `../` within the path, but not at its beginning. * If relative navigation would cross the root namespace (e.g. `sap.ui.require.toUrl("../")`) or when the * resource name starts with a slash or with a relative segment, an error is thrown. * * **Note:** `toUrl` does not resolve the returned URL; whether it is an absolute URL or a relative URL * depends on the configured `baseUrl` and `paths`. * See: * https://github.com/amdjs/amdjs-api/wiki/require#requiretourlstring- * * * @returns Path to the resource, e.g. `'/home/app/data.json'` */ function toUrl( /** * Name of a resource e.g. `'app/data.json'` */ sName: string ): string; } } interface IUI5DefineDependencyNames { "jquery.sap.act": undefined; "jquery.sap.events": undefined; "jquery.sap.global": undefined; "jquery.sap.history": undefined; "jquery.sap.keycodes": undefined; "jquery.sap.mobile": undefined; "jquery.sap.properties": undefined; "jquery.sap.resources": undefined; "jquery.sap.script": undefined; "jquery.sap.storage": undefined; "jquery.sap.trace": undefined; "sap/base/assert": undefined; "sap/base/config": undefined; "sap/base/Event": undefined; "sap/base/Eventing": undefined; "sap/base/future": undefined; "sap/base/i18n/date/CalendarType": undefined; "sap/base/i18n/date/CalendarWeekNumbering": undefined; "sap/base/i18n/Formatting": undefined; "sap/base/i18n/LanguageTag": undefined; "sap/base/i18n/Localization": undefined; "sap/base/i18n/ResourceBundle": undefined; "sap/base/Log": undefined; "sap/base/security/encodeCSS": undefined; "sap/base/security/encodeJS": undefined; "sap/base/security/encodeURL": undefined; "sap/base/security/encodeURLParameters": undefined; "sap/base/security/encodeXML": undefined; "sap/base/security/URLListValidator": undefined; "sap/base/security/URLWhitelist": undefined; "sap/base/strings/camelize": undefined; "sap/base/strings/capitalize": undefined; "sap/base/strings/escapeRegExp": undefined; "sap/base/strings/formatMessage": undefined; "sap/base/strings/hyphenate": undefined; "sap/base/strings/whitespaceReplacer": undefined; "sap/base/util/array/diff": undefined; "sap/base/util/array/uniqueSort": undefined; "sap/base/util/clamp": undefined; "sap/base/util/deepClone": undefined; "sap/base/util/deepEqual": undefined; "sap/base/util/deepExtend": undefined; "sap/base/util/Deferred": undefined; "sap/base/util/defineCoupledProperty": undefined; "sap/base/util/defineLazyProperty": undefined; "sap/base/util/each": undefined; "sap/base/util/extend": undefined; "sap/base/util/fetch": undefined; "sap/base/util/includes": undefined; "sap/base/util/isEmptyObject": undefined; "sap/base/util/isPlainObject": undefined; "sap/base/util/JSTokenizer": undefined; "sap/base/util/LoaderExtensions": undefined; "sap/base/util/merge": undefined; "sap/base/util/mixedFetch": undefined; "sap/base/util/now": undefined; "sap/base/util/ObjectPath": undefined; "sap/base/util/Properties": undefined; "sap/base/util/resolveReference": undefined; "sap/base/util/syncFetch": undefined; "sap/base/util/uid": undefined; "sap/base/util/UriParameters": undefined; "sap/base/util/values": undefined; "sap/base/util/Version": undefined; "sap/ui/app/Application": undefined; "sap/ui/app/MockServer": undefined; "sap/ui/base/BindingInfo": undefined; "sap/ui/base/DataType": undefined; "sap/ui/base/DesignTime": undefined; "sap/ui/base/Event": undefined; "sap/ui/base/EventProvider": undefined; "sap/ui/base/Interface": undefined; "sap/ui/base/ManagedObject": undefined; "sap/ui/base/ManagedObjectMetadata": undefined; "sap/ui/base/ManagedObjectObserver": undefined; "sap/ui/base/Metadata": undefined; "sap/ui/base/Object": undefined; "sap/ui/base/ObjectPool": undefined; "sap/ui/base/SyncPromise": undefined; "sap/ui/core/_UrlResolver": undefined; "sap/ui/core/AnimationMode": undefined; "sap/ui/core/AppCacheBuster": undefined; "sap/ui/core/BusyIndicator": undefined; "sap/ui/core/BusyIndicatorUtils": undefined; "sap/ui/core/cache/CacheManager": undefined; "sap/ui/core/cache/LRUPersistentCache": undefined; "sap/ui/core/CalendarType": undefined; "sap/ui/core/CommandExecution": undefined; "sap/ui/core/Component": undefined; "sap/ui/core/ComponentContainer": undefined; "sap/ui/core/ComponentHooks": undefined; "sap/ui/core/ComponentMetadata": undefined; "sap/ui/core/ComponentRegistry": undefined; "sap/ui/core/ComponentSupport": undefined; "sap/ui/core/Configuration": undefined; "sap/ui/core/Control": undefined; "sap/ui/core/ControlBehavior": undefined; "sap/ui/core/Core": undefined; "sap/ui/core/CustomData": undefined; "sap/ui/core/date/CalendarUtils": undefined; "sap/ui/core/date/CalendarWeekNumbering": undefined; "sap/ui/core/date/UI5Date": undefined; "sap/ui/core/date/UniversalDate": undefined; "sap/ui/core/date/UniversalDateUtils": undefined; "sap/ui/core/DeclarativeSupport": undefined; "sap/ui/core/delegate/ItemNavigation": undefined; "sap/ui/core/delegate/ScrollEnablement": undefined; "sap/ui/core/dnd/DragAndDrop": undefined; "sap/ui/core/dnd/DragDropBase": undefined; "sap/ui/core/dnd/DragDropInfo": undefined; "sap/ui/core/dnd/DragInfo": undefined; "sap/ui/core/dnd/DropInfo": undefined; "sap/ui/core/Element": undefined; "sap/ui/core/ElementHooks": undefined; "sap/ui/core/ElementMetadata": undefined; "sap/ui/core/ElementRegistry": undefined; "sap/ui/core/EnabledPropagator": undefined; "sap/ui/core/EventBus": undefined; "sap/ui/core/ExtensionPoint": undefined; "sap/ui/core/fieldhelp/FieldHelp": undefined; "sap/ui/core/fieldhelp/FieldHelpCustomData": undefined; "sap/ui/core/fieldhelp/FieldHelpUtil": undefined; "sap/ui/core/format/DateFormat": undefined; "sap/ui/core/format/DateFormatTimezoneDisplay": undefined; "sap/ui/core/format/FileSizeFormat": undefined; "sap/ui/core/format/ListFormat": undefined; "sap/ui/core/format/NumberFormat": undefined; "sap/ui/core/format/TimezoneUtil": undefined; "sap/ui/core/Fragment": undefined; "sap/ui/core/getCompatibilityVersion": undefined; "sap/ui/core/History": undefined; "sap/ui/core/HTML": undefined; "sap/ui/core/hyphenation/Hyphenation": undefined; "sap/ui/core/Icon": undefined; "sap/ui/core/IconPool": undefined; "sap/ui/core/IndicationColorSupport": undefined; "sap/ui/core/IntervalTrigger": undefined; "sap/ui/core/InvisibleMessage": undefined; "sap/ui/core/InvisibleRenderer": undefined; "sap/ui/core/InvisibleText": undefined; "sap/ui/core/Item": undefined; "sap/ui/core/LabelEnablement": undefined; "sap/ui/core/LayoutData": undefined; "sap/ui/core/Lib": undefined; "sap/ui/core/library": undefined; "sap/ui/core/ListItem": undefined; "sap/ui/core/LocalBusyIndicator": undefined; "sap/ui/core/Locale": undefined; "sap/ui/core/LocaleData": undefined; "sap/ui/core/Manifest": undefined; "sap/ui/core/Message": undefined; "sap/ui/core/message/ControlMessageProcessor": undefined; "sap/ui/core/message/Message": undefined; "sap/ui/core/message/MessageManager": undefined; "sap/ui/core/message/MessageParser": undefined; "sap/ui/core/message/MessageProcessor": undefined; "sap/ui/core/message/MessageType": undefined; "sap/ui/core/Messaging": undefined; "sap/ui/core/mvc/Controller": undefined; "sap/ui/core/mvc/ControllerExtension": undefined; "sap/ui/core/mvc/ControllerExtensionProvider": undefined; "sap/ui/core/mvc/HTMLView": undefined; "sap/ui/core/mvc/JSONView": undefined; "sap/ui/core/mvc/JSView": undefined; "sap/ui/core/mvc/OverrideExecution": undefined; "sap/ui/core/mvc/TemplateView": undefined; "sap/ui/core/mvc/View": undefined; "sap/ui/core/mvc/ViewType": undefined; "sap/ui/core/mvc/XMLView": undefined; "sap/ui/core/Patcher": undefined; "sap/ui/core/Placeholder": undefined; "sap/ui/core/Popup": undefined; "sap/ui/core/postmessage/Bus": undefined; "sap/ui/core/Renderer": undefined; "sap/ui/core/Rendering": undefined; "sap/ui/core/RenderManager": undefined; "sap/ui/core/ResizeHandler": undefined; "sap/ui/core/routing/HashChanger": undefined; "sap/ui/core/routing/HashChangerBase": undefined; "sap/ui/core/routing/History": undefined; "sap/ui/core/routing/Route": undefined; "sap/ui/core/routing/Router": undefined; "sap/ui/core/routing/RouterHashChanger": undefined; "sap/ui/core/routing/Target": undefined; "sap/ui/core/routing/Targets": undefined; "sap/ui/core/routing/Views": undefined; "sap/ui/core/ScrollBar": undefined; "sap/ui/core/search/OpenSearchProvider": undefined; "sap/ui/core/search/SearchProvider": undefined; "sap/ui/core/SeparatorItem": undefined; "sap/ui/core/service/Service": undefined; "sap/ui/core/service/ServiceFactory": undefined; "sap/ui/core/StaticArea": undefined; "sap/ui/core/support/Hotkeys": undefined; "sap/ui/core/support/Plugin": undefined; "sap/ui/core/support/RuleEngineOpaExtension": undefined; "sap/ui/core/support/usage/EventBroadcaster": undefined; "sap/ui/core/Supportability": undefined; "sap/ui/core/syncStyleClass": undefined; "sap/ui/core/Theming": undefined; "sap/ui/core/theming/Parameters": undefined; "sap/ui/core/theming/ThemeHelper": undefined; "sap/ui/core/theming/ThemeManager": undefined; "sap/ui/core/Title": undefined; "sap/ui/core/tmpl/DOMAttribute": undefined; "sap/ui/core/tmpl/DOMElement": undefined; "sap/ui/core/tmpl/HandlebarsTemplate": undefined; "sap/ui/core/tmpl/Template": undefined; "sap/ui/core/tmpl/TemplateControl": undefined; "sap/ui/core/TooltipBase": undefined; "sap/ui/core/UIArea": undefined; "sap/ui/core/UIAreaRegistry": undefined; "sap/ui/core/UIComponent": undefined; "sap/ui/core/util/Export": undefined; "sap/ui/core/util/ExportCell": undefined; "sap/ui/core/util/ExportColumn": undefined; "sap/ui/core/util/ExportRow": undefined; "sap/ui/core/util/ExportType": undefined; "sap/ui/core/util/ExportTypeCSV": undefined; "sap/ui/core/util/File": undefined; "sap/ui/core/util/MockServer": undefined; "sap/ui/core/util/PasteHelper": undefined; "sap/ui/core/util/reflection/BaseTreeModifier": undefined; "sap/ui/core/util/reflection/JsControlTreeModifier": undefined; "sap/ui/core/util/reflection/XmlTreeModifier": undefined; "sap/ui/core/util/serializer/delegate/Delegate": undefined; "sap/ui/core/util/serializer/delegate/HTML": undefined; "sap/ui/core/util/serializer/delegate/XML": undefined; "sap/ui/core/util/serializer/HTMLViewSerializer": undefined; "sap/ui/core/util/serializer/Serializer": undefined; "sap/ui/core/util/serializer/ViewSerializer": undefined; "sap/ui/core/util/serializer/XMLViewSerializer": undefined; "sap/ui/core/util/XMLPreprocessor": undefined; "sap/ui/core/ValueStateSupport": undefined; "sap/ui/core/VariantLayoutData": undefined; "sap/ui/core/webc/WebComponent": undefined; "sap/ui/core/webc/WebComponentMetadata": undefined; "sap/ui/core/ws/ReadyState": undefined; "sap/ui/core/ws/SapPcpWebSocket": undefined; "sap/ui/core/ws/WebSocket": undefined; "sap/ui/core/XMLComposite": undefined; "sap/ui/Device": undefined; "sap/ui/dom/containsOrEquals": undefined; "sap/ui/dom/denormalizeScrollBeginRTL": undefined; "sap/ui/dom/denormalizeScrollLeftRTL": undefined; "sap/ui/dom/detectTextSelection": undefined; "sap/ui/dom/getOwnerWindow": undefined; "sap/ui/dom/getScrollbarSize": undefined; "sap/ui/dom/includeScript": undefined; "sap/ui/dom/includeStylesheet": undefined; "sap/ui/dom/isElementCovered": undefined; "sap/ui/dom/isHidden": undefined; "sap/ui/dom/jquery/Aria": undefined; "sap/ui/dom/jquery/control": undefined; "sap/ui/dom/jquery/cursorPos": undefined; "sap/ui/dom/jquery/Focusable": undefined; "sap/ui/dom/jquery/getSelectedText": undefined; "sap/ui/dom/jquery/hasTabIndex": undefined; "sap/ui/dom/jquery/parentByAttribute": undefined; "sap/ui/dom/jquery/rect": undefined; "sap/ui/dom/jquery/rectContains": undefined; "sap/ui/dom/jquery/scrollLeftRTL": undefined; "sap/ui/dom/jquery/scrollRightRTL": undefined; "sap/ui/dom/jquery/Selection": undefined; "sap/ui/dom/jquery/Selectors": undefined; "sap/ui/dom/jquery/selectText": undefined; "sap/ui/dom/jquery/zIndex": undefined; "sap/ui/dom/units/Rem": undefined; "sap/ui/events/checkMouseEnterOrLeave": undefined; "sap/ui/events/ControlEvents": undefined; "sap/ui/events/F6Navigation": undefined; "sap/ui/events/isMouseEventDelayed": undefined; "sap/ui/events/isSpecialKey": undefined; "sap/ui/events/jquery/EventExtension": undefined; "sap/ui/events/jquery/EventSimulation": undefined; "sap/ui/events/KeyCodes": undefined; "sap/ui/events/PseudoEvents": undefined; "sap/ui/events/TouchToMouseMapping": undefined; "sap/ui/model/analytics/AnalyticalBinding": undefined; "sap/ui/model/analytics/AnalyticalTreeBindingAdapter": undefined; "sap/ui/model/analytics/BatchResponseCollector": undefined; "sap/ui/model/analytics/odata4analytics": undefined; "sap/ui/model/base/ManagedObjectModel": undefined; "sap/ui/model/Binding": undefined; "sap/ui/model/BindingMode": undefined; "sap/ui/model/ChangeReason": undefined; "sap/ui/model/ClientContextBinding": undefined; "sap/ui/model/ClientListBinding": undefined; "sap/ui/model/ClientModel": undefined; "sap/ui/model/ClientPropertyBinding": undefined; "sap/ui/model/ClientTreeBinding": undefined; "sap/ui/model/ClientTreeBindingAdapter": undefined; "sap/ui/model/CompositeBinding": undefined; "sap/ui/model/CompositeDataState": undefined; "sap/ui/model/CompositeType": undefined; "sap/ui/model/Context": undefined; "sap/ui/model/ContextBinding": undefined; "sap/ui/model/DataState": undefined; "sap/ui/model/Filter": undefined; "sap/ui/model/FilterOperator": undefined; "sap/ui/model/FilterProcessor": undefined; "sap/ui/model/FilterType": undefined; "sap/ui/model/FormatException": undefined; "sap/ui/model/json/JSONListBinding": undefined; "sap/ui/model/json/JSONModel": undefined; "sap/ui/model/json/JSONPropertyBinding": undefined; "sap/ui/model/json/JSONTreeBinding": undefined; "sap/ui/model/ListBinding": undefined; "sap/ui/model/message/MessageModel": undefined; "sap/ui/model/MetaModel": undefined; "sap/ui/model/Model": undefined; "sap/ui/model/odata/AnnotationHelper": undefined; "sap/ui/model/odata/CountMode": undefined; "sap/ui/model/odata/Filter": undefined; "sap/ui/model/odata/MessageScope": undefined; "sap/ui/model/odata/ODataAnnotations": undefined; "sap/ui/model/odata/ODataContextBinding": undefined; "sap/ui/model/odata/ODataExpressionAddons": undefined; "sap/ui/model/odata/ODataListBinding": undefined; "sap/ui/model/odata/ODataMessageParser": undefined; "sap/ui/model/odata/ODataMetadata": undefined; "sap/ui/model/odata/ODataMetaModel": undefined; "sap/ui/model/odata/ODataModel": undefined; "sap/ui/model/odata/ODataPropertyBinding": undefined; "sap/ui/model/odata/ODataUtils": undefined; "sap/ui/model/odata/OperationMode": undefined; "sap/ui/model/odata/type/Boolean": undefined; "sap/ui/model/odata/type/Byte": undefined; "sap/ui/model/odata/type/Currency": undefined; "sap/ui/model/odata/type/Date": undefined; "sap/ui/model/odata/type/DateTime": undefined; "sap/ui/model/odata/type/DateTimeBase": undefined; "sap/ui/model/odata/type/DateTimeOffset": undefined; "sap/ui/model/odata/type/DateTimeWithTimezone": undefined; "sap/ui/model/odata/type/Decimal": undefined; "sap/ui/model/odata/type/Double": undefined; "sap/ui/model/odata/type/Guid": undefined; "sap/ui/model/odata/type/Int": undefined; "sap/ui/model/odata/type/Int16": undefined; "sap/ui/model/odata/type/Int32": undefined; "sap/ui/model/odata/type/Int64": undefined; "sap/ui/model/odata/type/ODataType": undefined; "sap/ui/model/odata/type/Raw": undefined; "sap/ui/model/odata/type/SByte": undefined; "sap/ui/model/odata/type/Single": undefined; "sap/ui/model/odata/type/Stream": undefined; "sap/ui/model/odata/type/String": undefined; "sap/ui/model/odata/type/Time": undefined; "sap/ui/model/odata/type/TimeOfDay": undefined; "sap/ui/model/odata/type/Unit": undefined; "sap/ui/model/odata/UpdateMethod": undefined; "sap/ui/model/odata/v2/BatchMode": undefined; "sap/ui/model/odata/v2/Context": undefined; "sap/ui/model/odata/v2/ODataAnnotations": undefined; "sap/ui/model/odata/v2/ODataContextBinding": undefined; "sap/ui/model/odata/v2/ODataListBinding": undefined; "sap/ui/model/odata/v2/ODataModel": undefined; "sap/ui/model/odata/v2/ODataTreeBinding": undefined; "sap/ui/model/odata/v4/AnnotationHelper": undefined; "sap/ui/model/odata/v4/Context": undefined; "sap/ui/model/odata/v4/ODataContextBinding": undefined; "sap/ui/model/odata/v4/ODataListBinding": undefined; "sap/ui/model/odata/v4/ODataMetaModel": undefined; "sap/ui/model/odata/v4/ODataModel": undefined; "sap/ui/model/odata/v4/ODataPropertyBinding": undefined; "sap/ui/model/odata/v4/ODataUtils": undefined; "sap/ui/model/odata/v4/SubmitMode": undefined; "sap/ui/model/odata/v4/ts": undefined; "sap/ui/model/odata/v4/ValueListType": undefined; "sap/ui/model/ParseException": undefined; "sap/ui/model/PropertyBinding": undefined; "sap/ui/model/resource/ResourceModel": undefined; "sap/ui/model/SelectionModel": undefined; "sap/ui/model/SimpleType": undefined; "sap/ui/model/Sorter": undefined; "sap/ui/model/StaticBinding": undefined; "sap/ui/model/TreeAutoExpandMode": undefined; "sap/ui/model/TreeBinding": undefined; "sap/ui/model/TreeBindingAdapter": undefined; "sap/ui/model/TreeBindingCompatibilityAdapter": undefined; "sap/ui/model/TreeBindingUtils": undefined; "sap/ui/model/Type": undefined; "sap/ui/model/type/Boolean": undefined; "sap/ui/model/type/Currency": undefined; "sap/ui/model/type/Date": undefined; "sap/ui/model/type/DateInterval": undefined; "sap/ui/model/type/DateTime": undefined; "sap/ui/model/type/DateTimeInterval": undefined; "sap/ui/model/type/FileSize": undefined; "sap/ui/model/type/Float": undefined; "sap/ui/model/type/Integer": undefined; "sap/ui/model/type/String": undefined; "sap/ui/model/type/Time": undefined; "sap/ui/model/type/TimeInterval": undefined; "sap/ui/model/type/Unit": undefined; "sap/ui/model/ValidateException": undefined; "sap/ui/model/xml/XMLModel": undefined; "sap/ui/model/xml/XMLTreeBinding": undefined; "sap/ui/performance/Measurement": undefined; "sap/ui/performance/trace/FESR": undefined; "sap/ui/performance/trace/FESRHelper": undefined; "sap/ui/performance/trace/initTraces": undefined; "sap/ui/performance/trace/Interaction": undefined; "sap/ui/performance/XHRInterceptor": undefined; "sap/ui/security/FrameOptions": undefined; "sap/ui/security/Security": undefined; "sap/ui/test/actions/Action": undefined; "sap/ui/test/actions/Drag": undefined; "sap/ui/test/actions/Drop": undefined; "sap/ui/test/actions/EnterText": undefined; "sap/ui/test/actions/Press": undefined; "sap/ui/test/actions/Scroll": undefined; "sap/ui/test/generic/GenericTestCollection": undefined; "sap/ui/test/generic/Utils": undefined; "sap/ui/test/gherkin/dataTableUtils": undefined; "sap/ui/test/gherkin/opa5TestHarness": undefined; "sap/ui/test/gherkin/qUnitTestHarness": undefined; "sap/ui/test/gherkin/StepDefinitions": undefined; "sap/ui/test/matchers/AggregationContainsPropertyEqual": undefined; "sap/ui/test/matchers/AggregationEmpty": undefined; "sap/ui/test/matchers/AggregationFilled": undefined; "sap/ui/test/matchers/AggregationLengthEquals": undefined; "sap/ui/test/matchers/Ancestor": undefined; "sap/ui/test/matchers/BindingPath": undefined; "sap/ui/test/matchers/Descendant": undefined; "sap/ui/test/matchers/I18NText": undefined; "sap/ui/test/matchers/Interactable": undefined; "sap/ui/test/matchers/LabelFor": undefined; "sap/ui/test/matchers/Matcher": undefined; "sap/ui/test/matchers/Properties": undefined; "sap/ui/test/matchers/PropertyStrictEquals": undefined; "sap/ui/test/matchers/Sibling": undefined; "sap/ui/test/Opa": undefined; "sap/ui/test/Opa5": undefined; "sap/ui/test/OpaBuilder": undefined; "sap/ui/test/OpaExtension": undefined; "sap/ui/test/OpaPlugin": undefined; "sap/ui/test/opaQunit": undefined; "sap/ui/test/PageObjectFactory": undefined; "sap/ui/test/RecordReplay": undefined; "sap/ui/test/starter/config": undefined; "sap/ui/test/utils/nextUIUpdate": undefined; "sap/ui/test/utils/waitForThemeApplied": undefined; "sap/ui/thirdparty/jquery": undefined; "sap/ui/util/_URL": undefined; "sap/ui/util/ActivityDetection": undefined; "sap/ui/util/defaultLinkTypes": undefined; "sap/ui/util/isCrossOriginURL": undefined; "sap/ui/util/Mobile": undefined; "sap/ui/util/openWindow": undefined; "sap/ui/util/Storage": undefined; "sap/ui/util/XMLHelper": undefined; "sap/ui/VersionInfo": undefined; "ui5loader-autoconfig": undefined; } type ClassInfo = T & Partial & ThisType; }