@ui5/webcomponents-base 1.14.6 → 1.14.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -1
- package/CHANGELOG.md +11 -0
- package/dist/api.json +1 -1
- package/dist/assets/{Boot.57dedc27.js → Boot.25013294.js} +1 -1
- package/dist/assets/{bundle.esm.24edb8f2.js → bundle.esm.61c10c47.js} +1 -1
- package/dist/assets/test/pages/{Boot.html.5de755f9.js → Boot.html.29147b96.js} +1 -1
- package/dist/assets/test/pages/{i18n.html.e9f0b287.js → i18n.html.bed8aab6.js} +1 -1
- package/dist/assets/test/pages/{i18n_texts.html.493ba52c.js → i18n_texts.html.b0894397.js} +1 -1
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/sap/base/Log.js +698 -188
- package/dist/sap/base/assert.js +28 -1
- package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
- package/dist/sap/base/security/URLListValidator.js +253 -6
- package/dist/sap/base/security/encodeCSS.js +34 -8
- package/dist/sap/base/security/encodeXML.js +47 -17
- package/dist/sap/base/security/sanitizeHTML.js +35 -13
- package/dist/sap/base/strings/toHex.js +27 -2
- package/dist/sap/base/util/now.js +24 -3
- package/dist/sap/base/util/uid.js +27 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
- package/dist/test/pages/AllTestElements.html +2 -2
- package/dist/test/pages/Boot.html +2 -2
- package/dist/test/pages/Configuration.html +2 -2
- package/dist/test/pages/ConfigurationScript.html +2 -2
- package/dist/test/pages/WithComplexTemplate.html +2 -2
- package/dist/test/pages/i18n.html +3 -3
- package/dist/test/pages/i18n_texts.html +3 -3
- package/package-scripts.cjs +3 -5
- package/package.json +4 -5
- package/used-modules.txt +4 -0
package/.eslintignore
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.14.7](https://github.com/SAP/ui5-webcomponents/compare/v1.14.6...v1.14.7) (2024-01-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **framework:** update openi5/core to 1.120.3 ([#8122](https://github.com/SAP/ui5-webcomponents/issues/8122)) ([727ef13](https://github.com/SAP/ui5-webcomponents/commit/727ef13ab0aed2dc93b9dc185e2341e55992ebc1))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [1.14.6](https://github.com/SAP/ui5-webcomponents/compare/v1.14.5...v1.14.6) (2023-11-22)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @ui5/webcomponents-base
|
package/dist/api.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema-ref":"http://schemas.sap.com/sapui5/designtime/api.json/1.0","version":"1.62","symbols":[{"kind":"class","name":"I18nBundle","basename":"I18nBundle","resource":"i18nBundle.js","module":"i18nBundle","visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"getText","visibility":"public","returnValue":{"type":"string"},"parameters":[{"name":"textObj","type":"Object|String","optional":false,"description":"key/defaultText pair or just the key"},{"name":"params","type":"undefined","optional":false,"description":"Values for the placeholders"}],"description":"Returns a text in the currently loaded language"}]},{"kind":"class","name":"ItemNavigation","basename":"ItemNavigation","resource":"delegate/ItemNavigation.js","module":"delegate/ItemNavigation","visibility":"public","description":"The ItemNavigation class manages the calculations to determine the correct \"tabindex\" for a group of related items inside a root component. Important: ItemNavigation only does the calculations and does not change \"tabindex\" directly, this is a responsibility of the developer.\n\nThe keys that trigger ItemNavigation are: - Up/down - Left/right - Home/End\n\nUsage: 1) Use the \"getItemsCallback\" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.\n\nEach item passed to ItemNavigation via \"getItemsCallback\" must be: - A) either a UI5Element with a \"_tabIndex\" property - B) or an Object with \"id\" and \"_tabIndex\" properties which represents a part of the root component's shadow DOM. The \"id\" must be a valid ID within the shadow root of the component ItemNavigation operates on. This object must not be a DOM object because, as said, ItemNavigation will not set \"tabindex\" on it. It must be a representation of a DOM object only and the developer has the responsibility to update the \"tabindex\" in the component's DOM. - C) a combination of the above\n\nWhenever the user navigates with the keyboard, ItemNavigation will modify the \"_tabIndex\" properties of the items. It is the items' responsibilities to re-render themselves and apply the correct value of \"tabindex\" (i.e. to map the \"_tabIndex\" ItemNavigation set to them to the \"tabindex\" property). If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their \"_tabIndex\" property. If the items are Objects with \"id\" and \"_tabIndex\" however, it is the developer's responsibility to apply these and the easiest way is to have the root component invalidated by ItemNavigation. To do so, set the \"affectedPropertiesNames\" constructor property to point to one or more of the root component's properties that need refreshing when \"_tabIndex\" is changed deeply.\n\n2) Call the \"setCurrentItem\" method of ItemNavigation whenever you want to change the current item. This is most commonly required if the user for example clicks on an item and thus selects it directly. Pass as the only argument to \"setCurrentItem\" the item that becomes current (must be one of the items, returned by \"getItemsCallback\").","constructor":{"visibility":"public","parameters":[{"name":"rootWebComponent","type":"undefined","optional":false,"description":"the component to operate on (component that slots or contains within its shadow root the items the user navigates among)"},{"name":"options","type":"ItemNavigationOptions","optional":false,"description":"Object with configuration options: - currentIndex: the index of the item that will be initially selected (from which navigation will begin) - navigationMode (Auto|Horizontal|Vertical): whether the items are displayed horizontally (Horizontal), vertically (Vertical) or as a matrix (Auto) meaning the user can navigate in both directions (up/down and left/right) - rowSize: tells how many items per row there are when the items are not rendered as a flat list but rather as a matrix. Relevant for navigationMode=Auto - skipItemsSize: tells how many items upon PAGE_UP and PAGE_DOWN should be skipped to applying the focus on the next item - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items Static means that nothing happens if the user tries to navigate beyond the first/last item. Cycling means that when the user navigates beyond the last item they go to the first and vice versa. - getItemsCallback: function that, when called, returns an array with all items the user can navigate among - affectedPropertiesNames: a list of metadata properties on the root component which, upon user navigation, will be reassigned by address thus causing the root component to invalidate"}]},"methods":[{"name":"setCurrentItem","visibility":"public","parameters":[{"name":"current","type":"undefined","optional":false,"description":"the new selected item"}],"description":"Call this method to set a new \"current\" (selected) item in the item navigation Note: the item passed to this function must be one of the items, returned by the getItemsCallback function"},{"name":"setRowSize","visibility":"public","parameters":[{"name":"newRowSize","type":"undefined","optional":false}],"description":"Call this method to dynamically change the row size"}]},{"kind":"namespace","name":"MediaRange.RANGESETS","basename":"RANGESETS","resource":"MediaRange.js","module":"MediaRange","export":"RANGESETS","static":true,"visibility":"public","description":"Enumeration containing the names and settings of predefined screen width media query range sets.","properties":[{"name":"RANGE_4STEPS","visibility":"public","static":true,"type":"undefined","description":"A 4-step range set (S-M-L-XL).\n\nThe ranges of this set are: <ul> <li><code>\"S\"</code>: For screens smaller than 600 pixels.</li> <li><code>\"M\"</code>: For screens greater than or equal to 600 pixels and smaller than 1024 pixels.</li> <li><code>\"L\"</code>: For screens greater than or equal to 1024 pixels and smaller than 1440 pixels.</li> <li><code>\"XL\"</code>: For screens greater than or equal to 1440 pixels.</li> </ul>"}],"slots":[]},{"kind":"class","name":"ResizeHandler","basename":"ResizeHandler","resource":"delegate/ResizeHandler.js","module":"delegate/ResizeHandler","visibility":"public","description":"Allows to register/deregister resize observers for a DOM element","constructor":{"visibility":"public"},"methods":[{"name":"deregister","visibility":"public","static":true,"parameters":[{"name":"element","type":"*","optional":false,"description":"UI5 Web Component or DOM Element to be unobserved"},{"name":"callback","type":"*","optional":false,"description":"Callback to be removed"}]},{"name":"register","visibility":"public","static":true,"parameters":[{"name":"element","type":"*","optional":false,"description":"UI5 Web Component or DOM Element to be observed"},{"name":"callback","type":"*","optional":false,"description":"Callback to be executed"}]}]},{"kind":"enum","name":"sap.ui.webc.base.types.AnimationMode","basename":"AnimationMode","resource":"types/AnimationMode.js","module":"types/AnimationMode","static":true,"visibility":"public","description":"Different types of AnimationMode.","properties":[{"name":"Basic","visibility":"public","type":"Basic"},{"name":"Full","visibility":"public","type":"Full"},{"name":"Minimal","visibility":"public","type":"Minimal"},{"name":"None","visibility":"public","type":"None"}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.CalendarType","basename":"CalendarType","resource":"types/CalendarType.js","module":"types/CalendarType","static":true,"visibility":"public","description":"Different calendar types.","properties":[{"name":"Buddhist","visibility":"public","type":"Buddhist"},{"name":"Gregorian","visibility":"public","type":"Gregorian"},{"name":"Islamic","visibility":"public","type":"Islamic"},{"name":"Japanese","visibility":"public","type":"Japanese"},{"name":"Persian","visibility":"public","type":"Persian"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.types.CSSColor","basename":"CSSColor","resource":"types/CSSColor.js","module":"types/CSSColor","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"CSSColor data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.DataType","basename":"DataType","resource":"types/DataType.js","module":"types/DataType","static":true,"visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"isValid","visibility":"public","static":true,"returnValue":{"type":"Boolean"},"description":"Checks if the value is valid for its data type."}]},{"kind":"class","name":"sap.ui.webc.base.types.DOMReference","basename":"DOMReference","resource":"types/DOMReference.js","module":"types/DOMReference","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"DOM Element reference or ID. <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.Float","basename":"Float","resource":"types/Float.js","module":"types/Float","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"Float data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.Integer","basename":"Integer","resource":"types/Integer.js","module":"types/Integer","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"Integer data type.","constructor":{"visibility":"public"}},{"kind":"enum","name":"sap.ui.webc.base.types.InvisibleMessageMode","basename":"InvisibleMessageMode","resource":"types/InvisibleMessageMode.js","module":"types/InvisibleMessageMode","static":true,"visibility":"public","description":"Enumeration for different mode behaviors of the InvisibleMessage.","properties":[{"name":"Assertive","visibility":"public","type":"Assertive","description":"Indicates that updates to the region have the highest priority and should be presented to the user immediately."},{"name":"Polite","visibility":"public","type":"Polite","description":"Indicates that updates to the region should be presented at the next graceful opportunity, such as at the end of reading the current sentence, or when the user pauses typing."}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.ItemNavigationBehavior","basename":"ItemNavigationBehavior","resource":"types/ItemNavigationBehavior.js","module":"types/ItemNavigationBehavior","static":true,"visibility":"public","description":"Different behavior for ItemNavigation.","properties":[{"name":"Cyclic","visibility":"public","type":"Cyclic","description":"Cycling behavior: navigating past the last item continues with the first and vice versa."},{"name":"Static","visibility":"public","type":"Static","description":"Static behavior: navigations stops at the first or last item."}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.NavigationMode","basename":"NavigationMode","resource":"types/NavigationMode.js","module":"types/NavigationMode","static":true,"visibility":"public","description":"Different navigation modes for ItemNavigation.","properties":[{"name":"Auto","visibility":"public","type":"Auto"},{"name":"Horizontal","visibility":"public","type":"Horizontal"},{"name":"Paging","visibility":"public","type":"Paging"},{"name":"Vertical","visibility":"public","type":"Vertical"}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.ValueState","basename":"ValueState","resource":"types/ValueState.js","module":"types/ValueState","static":true,"visibility":"public","description":"Different types of ValueStates.","properties":[{"name":"Error","visibility":"public","type":"Error"},{"name":"Information","visibility":"public","type":"Information"},{"name":"None","visibility":"public","type":"None"},{"name":"Success","visibility":"public","type":"Success"},{"name":"Warning","visibility":"public","type":"Warning"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.UI5Element","basename":"UI5Element","resource":"UI5Element.js","module":"UI5Element","static":true,"visibility":"public","extends":"HTMLElement","constructor":{"visibility":"public"},"properties":[{"name":"_id","visibility":"protected","type":"undefined","description":"Returns a unique ID for this UI5 Element","deprecated":{"text":"- This property is not guaranteed in future releases"}},{"name":"dependencies","visibility":"protected","static":true,"type":"undefined","description":"Returns an array with the dependencies for this UI5 Web Component, which could be: - composed components (used in its shadow root or static area item) - slotted components that the component may need to communicate with"},{"name":"effectiveDir","visibility":"public","type":"undefined","description":"Determines whether the component should be rendered in RTL mode or not. Returns: \"rtl\", \"ltr\" or undefined"},{"name":"isUI5Element","visibility":"public","type":"undefined","description":"Used to duck-type UI5 elements without using instanceof"},{"name":"metadata","visibility":"protected","static":true,"type":"undefined","description":"Returns the metadata object for this UI5 Web Component Class"},{"name":"staticAreaStyles","visibility":"protected","static":true,"type":"undefined","description":"Returns the Static Area CSS for this UI5 Web Component Class"},{"name":"styles","visibility":"protected","static":true,"type":"undefined","description":"Returns the CSS for this UI5 Web Component Class"}],"slots":[],"methods":[{"name":"_render","visibility":"protected","description":"Do not call this method directly, only intended to be called by js"},{"name":"attachInvalidate","visibility":"public","parameters":[{"name":"callback","type":"InvalidationInfo","optional":false}],"description":"Attach a callback that will be executed whenever the component is invalidated"},{"name":"define","visibility":"public","static":true,"returnValue":{"type":"Promise.<UI5Element>"},"description":"Registers a UI5 Web Component in the browser window object"},{"name":"detachInvalidate","visibility":"public","parameters":[{"name":"callback","type":"InvalidationInfo","optional":false}],"description":"Detach the callback that is executed whenever the component is invalidated"},{"name":"fireEvent","visibility":"public","returnValue":{"type":"boolean","description":"false, if the event was cancelled (preventDefault called), true otherwise"},"parameters":[{"name":"name","type":"undefined","optional":false,"description":"name of the event"},{"name":"data","type":"undefined","optional":false,"description":"additional data for the event"},{"name":"cancelable","type":"undefined","optional":false,"defaultValue":false,"description":"true, if the user can call preventDefault on the event object"},{"name":"bubbles","type":"undefined","optional":false,"defaultValue":true,"description":"true, if the event bubbles"}]},{"name":"focus","visibility":"public","parameters":[{"name":"focusOptions","type":"FocusOptions","optional":false,"description":"additional options for the focus"}],"description":"Set the focus to the element, returned by \"getFocusDomRef()\" (marked by \"data-sap-focus-ref\")"},{"name":"getDomRef","visibility":"public","description":"Returns the DOM Element inside the Shadow Root that corresponds to the opening tag in the UI5 Web Component's template *Note:* For logical (abstract) elements (items, options, etc...), returns the part of the parent's DOM that represents this option Use this method instead of \"this.shadowRoot\" to read the Shadow DOM, if ever necessary"},{"name":"getFocusDomRef","visibility":"public","description":"Returns the DOM Element marked with \"data-sap-focus-ref\" inside the template. This is the element that will receive the focus by default."},{"name":"getFocusDomRefAsync","visibility":"public","description":"Waits for dom ref and then returns the DOM Element marked with \"data-sap-focus-ref\" inside the template. This is the element that will receive the focus by default."},{"name":"getMetadata","visibility":"public","static":true,"returnValue":{"type":"UI5ElementMetadata"},"description":"Returns an instance of UI5ElementMetadata.js representing this UI5 Web Component's full metadata (its and its parents') Note: not to be confused with the \"get metadata()\" method, which returns an object for this class's metadata only"},{"name":"getSlottedNodes","visibility":"public","description":"Returns the actual children, associated with a slot. Useful when there are transitive slots in nested component scenarios and you don't want to get a list of the slots, but rather of their content."},{"name":"getStaticAreaItemDomRef","visibility":"public"},{"name":"getUniqueDependencies","visibility":"public","static":true,"description":"Returns a list of the unique dependencies for this UI5 Web Component"},{"name":"onAfterRendering","visibility":"public","description":"Called every time after the component renders."},{"name":"onBeforeRendering","visibility":"public","description":"Called every time before the component renders."},{"name":"onDefine","visibility":"protected","static":true,"returnValue":{"type":"Promise.<void>"},"description":"Hook that will be called upon custom element definition"},{"name":"onEnterDOM","visibility":"public","description":"Called on connectedCallback - added to the DOM."},{"name":"onExitDOM","visibility":"public","description":"Called on disconnectedCallback - removed from the DOM."},{"name":"onInvalidation","visibility":"public","parameters":[{"name":"changeInfo","type":"undefined","optional":false,"description":"An object with information about the change that caused invalidation. The object can have the following properties: - type: (property|slot) tells what caused the invalidation 1) property: a property value was changed either directly or as a result of changing the corresponding attribute 2) slot: a slotted node(nodes) changed in one of several ways (see \"reason\")\n\n- name: the name of the property or slot that caused the invalidation\n\n- reason: (children|textcontent|childchange|slotchange) relevant only for type=\"slot\" only and tells exactly what changed in the slot 1) children: immediate children (HTML elements or text nodes) were added, removed or reordered in the slot 2) textcontent: text nodes in the slot changed value (or nested text nodes were added or changed value). Can only trigger for slots of \"type: Node\" 3) slotchange: a slot element, slotted inside that slot had its \"slotchange\" event listener called. This practically means that transitively slotted children changed. Can only trigger if the child of a slot is a slot element itself. 4) childchange: indicates that a UI5Element child in that slot was invalidated and in turn invalidated the component. Can only trigger for slots with \"invalidateOnChildChange\" metadata descriptor\n\n- newValue: the new value of the property (for type=\"property\" only)\n\n- oldValue: the old value of the property (for type=\"property\" only)\n\n- child the child that was changed (for type=\"slot\" and reason=\"childchange\" only)"}],"description":"A callback that is executed each time an already rendered component is invalidated (scheduled for re-rendering)"}]},{"kind":"class","name":"UI5ElementMetadata","basename":"UI5ElementMetadata","resource":"UI5ElementMetadata.js","module":"UI5ElementMetadata","export":"","visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"getAttributesList","visibility":"public","returnValue":{"type":"string[]"},"description":"Returns an array with the attributes of the UI5 Element (in kebab-case)"},{"name":"getEvents","visibility":"public","description":"Returns an object with key-value pairs of events and their metadata definitions"},{"name":"getProperties","visibility":"public","description":"Returns an object with key-value pairs of properties and their metadata definitions"},{"name":"getPropertiesList","visibility":"public","returnValue":{"type":"string[]"},"description":"Returns an array with the properties of the UI5 Element (in camelCase)"},{"name":"getPureTag","visibility":"public","description":"Returns the tag of the UI5 Element without the scope"},{"name":"getSlots","visibility":"public","description":"Returns an object with key-value pairs of slots and their metadata definitions"},{"name":"getTag","visibility":"public","description":"Returns the tag of the UI5 Element"},{"name":"hasAttribute","visibility":"public","returnValue":{"type":"boolean"},"parameters":[{"name":"propName","type":"undefined","optional":false}],"description":"Determines whether a property should have an attribute counterpart"},{"name":"hasIndividualSlots","visibility":"public","description":"Determines whether this UI5 Element supports any slots with \"individualSlots: true\""},{"name":"hasSlots","visibility":"public","description":"Determines whether this UI5 Element supports any slots"},{"name":"slotsAreManaged","visibility":"public","description":"Determines whether this UI5 Element needs to invalidate if children are added/removed/changed"},{"name":"supportsF6FastNavigation","visibility":"public","description":"Determines whether this control supports F6 fast navigation"},{"name":"validatePropertyValue","visibility":"public","static":true,"description":"Validates the property's value and returns it if correct or returns the default value if not. <b>Note:</b> Only intended for use by UI5Element.js"}]}]}
|
|
1
|
+
{"$schema-ref":"http://schemas.sap.com/sapui5/designtime/api.json/1.0","version":"1.62","symbols":[{"kind":"class","name":"I18nBundle","basename":"I18nBundle","resource":"i18nBundle.js","module":"i18nBundle","visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"getText","visibility":"public","returnValue":{"type":"string"},"parameters":[{"name":"textObj","type":"Object|String","optional":false,"description":"key/defaultText pair or just the key"},{"name":"params","type":"undefined","optional":false,"description":"Values for the placeholders"}],"description":"Returns a text in the currently loaded language"}]},{"kind":"class","name":"ItemNavigation","basename":"ItemNavigation","resource":"delegate/ItemNavigation.js","module":"delegate/ItemNavigation","visibility":"public","description":"The ItemNavigation class manages the calculations to determine the correct \"tabindex\" for a group of related items inside a root component. Important: ItemNavigation only does the calculations and does not change \"tabindex\" directly, this is a responsibility of the developer.\n\nThe keys that trigger ItemNavigation are: - Up/down - Left/right - Home/End\n\nUsage: 1) Use the \"getItemsCallback\" constructor property to pass a callback to ItemNavigation, which, whenever called, will return the list of items to navigate among.\n\nEach item passed to ItemNavigation via \"getItemsCallback\" must be: - A) either a UI5Element with a \"_tabIndex\" property - B) or an Object with \"id\" and \"_tabIndex\" properties which represents a part of the root component's shadow DOM. The \"id\" must be a valid ID within the shadow root of the component ItemNavigation operates on. This object must not be a DOM object because, as said, ItemNavigation will not set \"tabindex\" on it. It must be a representation of a DOM object only and the developer has the responsibility to update the \"tabindex\" in the component's DOM. - C) a combination of the above\n\nWhenever the user navigates with the keyboard, ItemNavigation will modify the \"_tabIndex\" properties of the items. It is the items' responsibilities to re-render themselves and apply the correct value of \"tabindex\" (i.e. to map the \"_tabIndex\" ItemNavigation set to them to the \"tabindex\" property). If the items of the ItemNavigation are UI5Elements themselves, this can happen naturally since they will be invalidated by their \"_tabIndex\" property. If the items are Objects with \"id\" and \"_tabIndex\" however, it is the developer's responsibility to apply these and the easiest way is to have the root component invalidated by ItemNavigation. To do so, set the \"affectedPropertiesNames\" constructor property to point to one or more of the root component's properties that need refreshing when \"_tabIndex\" is changed deeply.\n\n2) Call the \"setCurrentItem\" method of ItemNavigation whenever you want to change the current item. This is most commonly required if the user for example clicks on an item and thus selects it directly. Pass as the only argument to \"setCurrentItem\" the item that becomes current (must be one of the items, returned by \"getItemsCallback\").","constructor":{"visibility":"public","parameters":[{"name":"rootWebComponent","type":"undefined","optional":false,"description":"the component to operate on (component that slots or contains within its shadow root the items the user navigates among)"},{"name":"options","type":"ItemNavigationOptions","optional":false,"description":"Object with configuration options: - currentIndex: the index of the item that will be initially selected (from which navigation will begin) - navigationMode (Auto|Horizontal|Vertical): whether the items are displayed horizontally (Horizontal), vertically (Vertical) or as a matrix (Auto) meaning the user can navigate in both directions (up/down and left/right) - rowSize: tells how many items per row there are when the items are not rendered as a flat list but rather as a matrix. Relevant for navigationMode=Auto - skipItemsSize: tells how many items upon PAGE_UP and PAGE_DOWN should be skipped to applying the focus on the next item - behavior (Static|Cycling): tells what to do when trying to navigate beyond the first and last items Static means that nothing happens if the user tries to navigate beyond the first/last item. Cycling means that when the user navigates beyond the last item they go to the first and vice versa. - getItemsCallback: function that, when called, returns an array with all items the user can navigate among - affectedPropertiesNames: a list of metadata properties on the root component which, upon user navigation, will be reassigned by address thus causing the root component to invalidate"}]},"methods":[{"name":"setCurrentItem","visibility":"public","parameters":[{"name":"current","type":"undefined","optional":false,"description":"the new selected item"}],"description":"Call this method to set a new \"current\" (selected) item in the item navigation Note: the item passed to this function must be one of the items, returned by the getItemsCallback function"},{"name":"setRowSize","visibility":"public","parameters":[{"name":"newRowSize","type":"undefined","optional":false}],"description":"Call this method to dynamically change the row size"}]},{"kind":"namespace","name":"MediaRange.RANGESETS","basename":"RANGESETS","resource":"MediaRange.js","module":"MediaRange","export":"RANGESETS","static":true,"visibility":"public","description":"Enumeration containing the names and settings of predefined screen width media query range sets.","properties":[{"name":"RANGE_4STEPS","visibility":"public","static":true,"type":"undefined","description":"A 4-step range set (S-M-L-XL).\n\nThe ranges of this set are: <ul> <li><code>\"S\"</code>: For screens smaller than 600 pixels.</li> <li><code>\"M\"</code>: For screens greater than or equal to 600 pixels and smaller than 1024 pixels.</li> <li><code>\"L\"</code>: For screens greater than or equal to 1024 pixels and smaller than 1440 pixels.</li> <li><code>\"XL\"</code>: For screens greater than or equal to 1440 pixels.</li> </ul>"}],"slots":[]},{"kind":"namespace","name":"module:sap/base/Log","basename":"module:sap/base/Log","resource":"sap/base/Log.js","module":"sap/base/Log","export":"","visibility":"public","since":"1.58","description":"A Logging API for JavaScript.\n\nProvides 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.\n\nBy 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}.\n\nAll logging methods allow to specify a <b>component</b>. 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 <code>sComponent</code> 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.\n\n{@link module:sap/base/Log.getLogEntries} returns an array of the currently collected log entries.\n\nFurthermore, 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).","methods":[{"name":"addLogListener","visibility":"public","static":true,"parameters":[{"name":"oListener","type":"module:sap/base/Log.Listener","optional":false,"description":"The new listener object that should be informed"}],"description":"Allows to add a new listener that will be notified for new log entries.\n\nThe given object must provide method <code>onLogEntry</code> and can also be informed about <code>onDetachFromLog</code>, <code>onAttachToLog</code> and <code>onDiscardLogEntries</code>."},{"name":"debug","visibility":"public","static":true,"parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged with the stack."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new debug-level entry in the log with the given message, details and calling component."},{"name":"error","visibility":"public","static":true,"parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged together with its stacktrace."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new error-level entry in the log with the given message, details and calling component."},{"name":"fatal","visibility":"public","static":true,"parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged together with its stacktrace."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new fatal-level entry in the log with the given message, details and calling component."},{"name":"getLevel","visibility":"public","static":true,"returnValue":{"type":"module:sap/base/Log.Level","description":"The log level for the given component or the default log level"},"parameters":[{"name":"sComponent","type":"string","optional":true,"description":"Name of the component to retrieve the log level for"}],"description":"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."},{"name":"getLogEntries","visibility":"public","static":true,"returnValue":{"type":"module:sap/base/Log.Entry[]","description":"an array containing the recorded log entries"},"description":"Returns the logged entries recorded so far as an array.\n\nLog entries are plain JavaScript objects with the following properties <ul> <li>timestamp {number} point in time when the entry was created <li>level {module:sap/base/Log.Level} LogLevel level of the entry <li>message {string} message text of the entry </ul> The default amount of stored log entries is limited to 3000 entries."},{"name":"getLogEntriesLimit","visibility":"restricted","static":true,"returnValue":{"type":"int|Infinity","description":"The maximum amount of stored log entries or Infinity if no limit is set"},"description":"Returns the maximum amount of stored log entries."},{"name":"getLogger","visibility":"public","static":true,"returnValue":{"type":"module:sap/base/Log.Logger","description":"A logger with a specified component"},"parameters":[{"name":"sComponent","type":"string","optional":false,"description":"Name of the component which should be logged"},{"name":"iDefaultLogLevel","type":"module:sap/base/Log.Level","optional":true,"description":"The default log level"}],"description":"Returns a dedicated logger for a component.\n\nThe logger comes with the same API as the <code>sap/base/Log</code> module: <ul> <li><code>#fatal</code> - see: {@link module:sap/base/Log.fatal} <li><code>#error</code> - see: {@link module:sap/base/Log.error} <li><code>#warning</code> - see: {@link module:sap/base/Log.warning} <li><code>#info</code> - see: {@link module:sap/base/Log.info} <li><code>#debug</code> - see: {@link module:sap/base/Log.debug} <li><code>#trace</code> - see: {@link module:sap/base/Log.trace} <li><code>#setLevel</code> - see: {@link module:sap/base/Log.setLevel} <li><code>#getLevel</code> - see: {@link module:sap/base/Log.getLevel} <li><code>#isLoggable</code> - see: {@link module:sap/base/Log.isLoggable} </ul>"},{"name":"info","visibility":"public","static":true,"parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged with the stack."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new info-level entry in the log with the given message, details and calling component."},{"name":"isLoggable","visibility":"public","static":true,"returnValue":{"type":"boolean","description":"Whether logging is enabled or not"},"parameters":[{"name":"iLevel","type":"module:sap/base/Log.Level","optional":true,"defaultValue":"Level.DEBUG","description":"The log level in question"},{"name":"sComponent","type":"string","optional":true,"description":"Name of the component to check the log level for"}],"description":"Checks whether logging is enabled for the given log level, depending on the currently effective log level for the given component.\n\nIf no component is given, the default component of this logger will be taken into account."},{"name":"logSupportInfo","visibility":"restricted","static":true,"parameters":[{"name":"bEnabled","type":"boolean","optional":false,"description":"true if the support information should be logged"}],"description":"Enables or disables whether additional support information is logged in a trace. If enabled, logging methods like error, warning, info and debug are calling the additional optional callback parameter fnSupportInfo and store the returned object in the log entry property supportInfo."},{"name":"removeLogListener","visibility":"public","static":true,"parameters":[{"name":"oListener","type":"module:sap/base/Log.Listener","optional":false,"description":"The listener object that should be removed"}],"description":"Allows to remove a registered LogListener."},{"name":"setLevel","visibility":"public","static":true,"parameters":[{"name":"iLogLevel","type":"module:sap/base/Log.Level","optional":false,"description":"The new log level"},{"name":"sComponent","type":"string","optional":true,"description":"The log component to set the log level for"}],"description":"Defines the maximum <code>sap/base/Log.Level</code> 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.\n\n<b>Note</b>: Setting a global default log level has no impact on already defined component log levels. They always override the global default log level."},{"name":"setLogEntriesLimit","visibility":"restricted","static":true,"parameters":[{"name":"iLimit","type":"int|Infinity","optional":false,"description":"The maximum amount of stored log entries or Infinity for unlimited entries"}],"description":"Sets the limit of stored log entries\n\nIf the new limit is lower than the current limit, the overlap of old log entries will be discarded. If the limit is reached the amount of stored messages will be reduced by 30 percent."},{"name":"trace","visibility":"public","static":true,"parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged with the stack."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new trace-level entry in the log with the given message, details and calling component."},{"name":"warning","visibility":"public","static":true,"parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged together with its stacktrace."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new warning-level entry in the log with the given message, details and calling component."}]},{"kind":"typedef","name":"module:sap/base/Log.Entry","basename":"Entry","resource":"sap/base/Log.js","module":"sap/base/Log","export":"Entry","static":true,"visibility":"public","properties":[{"name":"timestamp","type":"float","readonly":"undefined","visibility":"public","description":"The number of milliseconds since the epoch"},{"name":"time","type":"string","readonly":"undefined","visibility":"public","description":"Time string in format HH:mm:ss:mmmnnn"},{"name":"date","type":"string","readonly":"undefined","visibility":"public","description":"Date string in format yyyy-MM-dd"},{"name":"level","type":"module:sap/base/Log.Level","readonly":"undefined","visibility":"public","description":"The level of the log entry, see {@link module:sap/base/Log.Level}"},{"name":"message","type":"string","readonly":"undefined","visibility":"public","description":"The message of the log entry"},{"name":"details","type":"string","readonly":"undefined","visibility":"public","description":"The detailed information of the log entry"},{"name":"component","type":"string","readonly":"undefined","visibility":"public","description":"The component that creates the log entry"},{"name":"supportInfo","type":"function","readonly":"undefined","visibility":"public","description":"Callback that returns an additional support object to be logged in support mode."}]},{"kind":"enum","name":"module:sap/base/Log.Level","basename":"Level","resource":"sap/base/Log.js","module":"sap/base/Log","export":"Level","static":true,"visibility":"public","description":"Enumeration of the configurable log levels that a Logger should persist to the log.\n\nOnly 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.","properties":[{"name":"ALL","visibility":"public","static":true,"type":"int","description":"Trace level to log everything."},{"name":"DEBUG","visibility":"public","static":true,"type":"int","description":"Debug level. Use this for logging information necessary for debugging"},{"name":"ERROR","visibility":"public","static":true,"type":"int","description":"Error level. Use this for logging of erroneous but still recoverable situations"},{"name":"FATAL","visibility":"public","static":true,"type":"int","description":"Fatal level. Use this for logging unrecoverable situations"},{"name":"INFO","visibility":"public","static":true,"type":"int","description":"Info level. Use this for logging information of purely informative nature"},{"name":"NONE","visibility":"public","static":true,"type":"int","description":"Do not log anything"},{"name":"TRACE","visibility":"public","static":true,"type":"int","description":"Trace level. Use this for tracing the program flow."},{"name":"WARNING","visibility":"public","static":true,"type":"int","description":"Warning level. Use this for logging unwanted but foreseen situations"}],"slots":[]},{"kind":"interface","name":"module:sap/base/Log.Listener","basename":"Listener","resource":"sap/base/Log.js","module":"sap/base/Log","export":"Listener","static":true,"visibility":"public","description":"Interface to be implemented by a log listener.\n\nTypically, a listener will at least implement the {@link #.onLogEntry} method, but in general, all methods are optional.","methods":[{"name":"onAttachToLog?","visibility":"public","static":true,"parameters":[{"name":"oLog","type":"module:sap/base/Log","optional":false,"description":"The Log instance where the listener is attached"}],"description":"The function that is called once the Listener is attached"},{"name":"onDetachFromLog?","visibility":"public","static":true,"parameters":[{"name":"oLog","type":"module:sap/base/Log","optional":false,"description":"The Log instance where the listener is detached"}],"description":"The function that is called once the Listener is detached"},{"name":"onDiscardLogEntries?","visibility":"public","static":true,"parameters":[{"name":"aDiscardedEntries","type":"module:sap/base/Log.Entry[]","optional":false,"description":"The discarded log entries"}],"description":"The function that is called once log entries are discarded due to the exceed of total log entry amount"},{"name":"onLogEntry?","visibility":"public","static":true,"parameters":[{"name":"oLogEntry","type":"module:sap/base/Log.Entry","optional":false,"description":"The newly created log entry"}],"description":"The function that is called when a new log entry is created"}]},{"kind":"interface","name":"module:sap/base/Log.Logger","basename":"Logger","resource":"sap/base/Log.js","module":"sap/base/Log","export":"Logger","static":true,"visibility":"public","description":"The logger comes with a subset of the API of the <code>sap/base/Log</code> module: <ul> <li><code>#fatal</code> - see: {@link module:sap/base/Log.fatal} <li><code>#error</code> - see: {@link module:sap/base/Log.error} <li><code>#warning</code> - see: {@link module:sap/base/Log.warning} <li><code>#info</code> - see: {@link module:sap/base/Log.info} <li><code>#debug</code> - see: {@link module:sap/base/Log.debug} <li><code>#trace</code> - see: {@link module:sap/base/Log.trace} <li><code>#setLevel</code> - see: {@link module:sap/base/Log.setLevel} <li><code>#getLevel</code> - see: {@link module:sap/base/Log.getLevel} <li><code>#isLoggable</code> - see: {@link module:sap/base/Log.isLoggable} </ul>","methods":[{"name":"debug","visibility":"public","parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged with the stack."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new debug-level entry in the log with the given message, details and calling component."},{"name":"error","visibility":"public","parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged together with its stacktrace."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new error-level entry in the log with the given message, details and calling component."},{"name":"fatal","visibility":"public","parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged together with its stacktrace."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new fatal-level entry in the log with the given message, details and calling component."},{"name":"getLevel","visibility":"public","returnValue":{"type":"module:sap/base/Log.Level","description":"The log level for the given component or the default log level"},"parameters":[{"name":"sComponent","type":"string","optional":true,"description":"Name of the component to retrieve the log level for"}],"description":"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."},{"name":"info","visibility":"public","parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged with the stack."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new info-level entry in the log with the given message, details and calling component."},{"name":"isLoggable","visibility":"public","returnValue":{"type":"boolean","description":"Whether logging is enabled or not"},"parameters":[{"name":"iLevel","type":"module:sap/base/Log.Level","optional":true,"defaultValue":"Level.DEBUG","description":"The log level in question"},{"name":"sComponent","type":"string","optional":true,"description":"Name of the component to check the log level for"}],"description":"Checks whether logging is enabled for the given log level, depending on the currently effective log level for the given component.\n\nIf no component is given, the default component of this logger will be taken into account."},{"name":"setLevel","visibility":"public","parameters":[{"name":"iLogLevel","type":"module:sap/base/Log.Level","optional":false,"description":"The new log level"},{"name":"sComponent","type":"string","optional":true,"description":"The log component to set the log level for"}],"description":"Defines the maximum <code>sap/base/Log.Level</code> 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.\n\n<b>Note</b>: Setting a global default log level has no impact on already defined component log levels. They always override the global default log level."},{"name":"trace","visibility":"public","parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged with the stack."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new trace-level entry in the log with the given message, details and calling component."},{"name":"warning","visibility":"public","parameters":[{"name":"sMessage","type":"string","optional":false,"description":"Message text to display"},{"name":"vDetails","type":"string|Error","optional":true,"defaultValue":"''","description":"Optional details about the message, might be omitted. Can be an Error object which will be logged together with its stacktrace."},{"name":"sComponent","type":"string","optional":true,"defaultValue":"''","description":"Name of the component that produced the log entry"},{"name":"fnSupportInfo","type":"function","optional":true,"description":"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 with <code>logSupportInfo(true)</code>. 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."}],"description":"Creates a new warning-level entry in the log with the given message, details and calling component."}]},{"kind":"function","name":"module:sap/base/security/encodeCSS","basename":"module:sap/base/security/encodeCSS","resource":"sap/base/security/encodeCSS.js","module":"sap/base/security/encodeCSS","export":"","visibility":"public","since":"1.58","description":"Encode the string for inclusion into CSS string literals or identifiers.","returnValue":{"type":"string","description":"The encoded string"},"parameters":[{"name":"sString","type":"string","optional":false,"description":"The string to be escaped"}]},{"kind":"function","name":"module:sap/base/security/encodeXML","basename":"module:sap/base/security/encodeXML","resource":"sap/base/security/encodeXML.js","module":"sap/base/security/encodeXML","export":"","visibility":"public","since":"1.58","description":"Encode the string for inclusion into XML content/attribute.","returnValue":{"type":"string","description":"The encoded string"},"parameters":[{"name":"sString","type":"string","optional":false,"description":"The string to be escaped"}]},{"kind":"namespace","name":"module:sap/base/security/URLListValidator","basename":"module:sap/base/security/URLListValidator","resource":"sap/base/security/URLListValidator.js","module":"sap/base/security/URLListValidator","export":"","visibility":"public","since":"1.85","description":"Registry to manage allowed URLs and validate against them.","methods":[{"name":"add","visibility":"public","static":true,"parameters":[{"name":"protocol","type":"string","optional":true,"description":"The protocol of the URL, can be falsy to allow all protocols for an entry e.g. \"\", \"http\", \"mailto\""},{"name":"host","type":"string","optional":true,"description":"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\""},{"name":"port","type":"string","optional":true,"description":"The port of the URL, can be falsy to allow all ports, e.g. \"\", \"8080\""},{"name":"path","type":"string","optional":true,"description":"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\""}],"description":"Adds an allowed entry.\n\nNote: Adding the first entry to the list of allowed entries will disallow all URLs but the ones matching the newly added entry.\n\n<b>Note</b>: 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."},{"name":"clear","visibility":"public","static":true,"description":"Clears the allowed entries for URL validation. This makes all URLs allowed."},{"name":"entries","visibility":"public","static":true,"returnValue":{"type":"module:sap/base/security/URLListValidator.Entry[]","description":"The allowed entries"},"description":"Gets the list of allowed entries."},{"name":"validate","visibility":"public","static":true,"returnValue":{"type":"boolean","description":"true if valid, false if not valid"},"parameters":[{"name":"sUrl","type":"string","optional":false,"description":"URL to be validated"}],"description":"Validates a URL. Check if it's not a script or other security issue.\n\n<b>Note</b>: It is strongly recommended to validate only absolute 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 cannot automatically resolve URLs relative to <code>document.baseURI</code>, but callers should do so. In that case, and when the allow list is not empty, an entry for the origin of <code>document.baseURI</code> must be added to the allow list.\n\n<h3>Details</h3> Splits the given URL into components and checks for allowed characters according to RFC 3986:\n\n<pre>\nauthority = [ userinfo \"@\" ] host [ \":\" port ]\nuserinfo = *( unreserved / pct-encoded / sub-delims / \":\" )\nhost = IP-literal / IPv4address / reg-name\n\nIP-literal = \"[\" ( IPv6address / IPvFuture ) \"]\"\nIPvFuture = \"v\" 1*HEXDIG \".\" 1*( unreserved / sub-delims / \":\" )\nIPv6address = 6( h16 \":\" ) ls32\n / \"::\" 5( h16 \":\" ) ls32\n / [ h16 ] \"::\" 4( h16 \":\" ) ls32\n / [ *1( h16 \":\" ) h16 ] \"::\" 3( h16 \":\" ) ls32\n / [ *2( h16 \":\" ) h16 ] \"::\" 2( h16 \":\" ) ls32\n / [ *3( h16 \":\" ) h16 ] \"::\" h16 \":\" ls32\n / [ *4( h16 \":\" ) h16 ] \"::\" ls32\n / [ *5( h16 \":\" ) h16 ] \"::\" h16\n / [ *6( h16 \":\" ) h16 ] \"::\"\nls32 = ( h16 \":\" h16 ) / IPv4address\n ; least-significant 32 bits of address\nh16 = 1*4HEXDIG\n ; 16 bits of address represented in hexadecimal\n\nIPv4address = dec-octet \".\" dec-octet \".\" dec-octet \".\" dec-octet\ndec-octet = DIGIT ; 0-9\n / %x31-39 DIGIT ; 10-99\n / \"1\" 2DIGIT ; 100-199\n / \"2\" %x30-34 DIGIT ; 200-249\n / \"25\" %x30-35 ; 250-255\n\nreg-name = *( unreserved / pct-encoded / sub-delims )\n\npct-encoded = \"%\" HEXDIG HEXDIG\nreserved = gen-delims / sub-delims\ngen-delims = \":\" / \"/\" / \"?\" / \"#\" / \"[\" / \"]\" / \"@\"\nsub-delims = \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\"\n / \"*\" / \"+\" / \",\" / \";\" / \"=\"\nunreserved = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\npchar = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\n\npath = path-abempty ; begins with \"/\" or is empty\n / path-absolute ; begins with \"/\" but not \"//\"\n / path-noscheme ; begins with a non-colon segment\n / path-rootless ; begins with a segment\n / path-empty ; zero characters\n\npath-abempty = *( \"/\" segment )\npath-absolute = \"/\" [ segment-nz *( \"/\" segment ) ]\npath-noscheme = segment-nz-nc *( \"/\" segment )\npath-rootless = segment-nz *( \"/\" segment )\npath-empty = 0<pchar>\nsegment = *pchar\nsegment-nz = 1*pchar\nsegment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / \"@\" )\n ; non-zero-length segment without any colon \":\"\n\nquery = *( pchar / \"/\" / \"?\" )\n\nfragment = *( pchar / \"/\" / \"?\" )\n</pre>\n\nFor the hostname component, we are checking for valid DNS hostnames according to RFC 952 / RFC 1123:\n\n<pre>\nhname = name *(\".\" name)\nname = let-or-digit ( *( let-or-digit-or-hyphen ) let-or-digit )\n</pre>\n\nWhen the URI uses the protocol 'mailto:', the address part is additionally checked against the most commonly used parts of RFC 6068:\n\n<pre>\nmailtoURI = \"mailto:\" [ to ] [ hfields ]\nto = addr-spec *(\",\" addr-spec )\nhfields = \"?\" hfield *( \"&\" hfield )\nhfield = hfname \"=\" hfvalue\nhfname = *qchar\nhfvalue = *qchar\naddr-spec = local-part \"@\" domain\nlocal-part = dot-atom-text // not accepted: quoted-string\ndomain = dot-atom-text // not accepted: \"[\" *dtext-no-obs \"]\"\ndtext-no-obs = %d33-90 / ; Printable US-ASCII\n %d94-126 ; characters not including\n ; \"[\", \"]\", or \"\\\"\nqchar = unreserved / pct-encoded / some-delims\nsome-delims = \"!\" / \"$\" / \"'\" / \"(\" / \")\" / \"*\"\n / \"+\" / \",\" / \";\" / \":\" / \"@\"\n\nNote:\nA number of characters that can appear in <addr-spec> MUST be\npercent-encoded. These are the characters that cannot appear in\na URI according to [STD66] as well as \"%\" (because it is used for\npercent-encoding) and all the characters in gen-delims except \"@\"\nand \":\" (i.e., \"/\", \"?\", \"#\", \"[\", and \"]\"). Of the characters\nin sub-delims, at least the following also have to be percent-\nencoded: \"&\", \";\", and \"=\". Care has to be taken both when\nencoding as well as when decoding to make sure these operations\nare applied only once.\n\n</pre>\n\nWhen 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."}]},{"kind":"typedef","name":"module:sap/base/security/URLListValidator.Entry","basename":"Entry","resource":"sap/base/security/URLListValidator.js","module":"sap/base/security/URLListValidator","export":"Entry","static":true,"visibility":"public","description":"Entry object of the URLListValidator.","properties":[{"name":"protocol","type":"string","readonly":"undefined","visibility":"public","description":"The protocol of the URL, can be falsy to allow all protocols for an entry e.g. \"\", \"http\", \"mailto\""},{"name":"host","type":"string","readonly":"undefined","visibility":"public","description":"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\""},{"name":"port","type":"string","readonly":"undefined","visibility":"public","description":"The port of the URL, can be falsy to allow all ports, e.g. \"\", \"8080\""},{"name":"path","type":"string","readonly":"undefined","visibility":"public","description":"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\""}]},{"kind":"function","name":"module:sap/base/util/uid","basename":"module:sap/base/util/uid","resource":"sap/base/util/uid.js","module":"sap/base/util/uid","export":"","visibility":"public","since":"1.58","description":"Creates and returns a pseudo-unique ID.\n\nNo means for detection of overlap with already present or future UIDs.","returnValue":{"type":"string","description":"A pseudo-unique id."}},{"kind":"class","name":"ResizeHandler","basename":"ResizeHandler","resource":"delegate/ResizeHandler.js","module":"delegate/ResizeHandler","visibility":"public","description":"Allows to register/deregister resize observers for a DOM element","constructor":{"visibility":"public"},"methods":[{"name":"deregister","visibility":"public","static":true,"parameters":[{"name":"element","type":"*","optional":false,"description":"UI5 Web Component or DOM Element to be unobserved"},{"name":"callback","type":"*","optional":false,"description":"Callback to be removed"}]},{"name":"register","visibility":"public","static":true,"parameters":[{"name":"element","type":"*","optional":false,"description":"UI5 Web Component or DOM Element to be observed"},{"name":"callback","type":"*","optional":false,"description":"Callback to be executed"}]}]},{"kind":"enum","name":"sap.ui.webc.base.types.AnimationMode","basename":"AnimationMode","resource":"types/AnimationMode.js","module":"types/AnimationMode","static":true,"visibility":"public","description":"Different types of AnimationMode.","properties":[{"name":"Basic","visibility":"public","type":"Basic"},{"name":"Full","visibility":"public","type":"Full"},{"name":"Minimal","visibility":"public","type":"Minimal"},{"name":"None","visibility":"public","type":"None"}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.CalendarType","basename":"CalendarType","resource":"types/CalendarType.js","module":"types/CalendarType","static":true,"visibility":"public","description":"Different calendar types.","properties":[{"name":"Buddhist","visibility":"public","type":"Buddhist"},{"name":"Gregorian","visibility":"public","type":"Gregorian"},{"name":"Islamic","visibility":"public","type":"Islamic"},{"name":"Japanese","visibility":"public","type":"Japanese"},{"name":"Persian","visibility":"public","type":"Persian"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.types.CSSColor","basename":"CSSColor","resource":"types/CSSColor.js","module":"types/CSSColor","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"CSSColor data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.DataType","basename":"DataType","resource":"types/DataType.js","module":"types/DataType","static":true,"visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"isValid","visibility":"public","static":true,"returnValue":{"type":"Boolean"},"description":"Checks if the value is valid for its data type."}]},{"kind":"class","name":"sap.ui.webc.base.types.DOMReference","basename":"DOMReference","resource":"types/DOMReference.js","module":"types/DOMReference","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"DOM Element reference or ID. <b>Note:</b> If an ID is passed, it is expected to be part of the same <code>document</code> element as the consuming component.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.Float","basename":"Float","resource":"types/Float.js","module":"types/Float","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"Float data type.","constructor":{"visibility":"public"}},{"kind":"class","name":"sap.ui.webc.base.types.Integer","basename":"Integer","resource":"types/Integer.js","module":"types/Integer","static":true,"visibility":"public","extends":"sap.ui.webc.base.types.DataType","description":"Integer data type.","constructor":{"visibility":"public"}},{"kind":"enum","name":"sap.ui.webc.base.types.InvisibleMessageMode","basename":"InvisibleMessageMode","resource":"types/InvisibleMessageMode.js","module":"types/InvisibleMessageMode","static":true,"visibility":"public","description":"Enumeration for different mode behaviors of the InvisibleMessage.","properties":[{"name":"Assertive","visibility":"public","type":"Assertive","description":"Indicates that updates to the region have the highest priority and should be presented to the user immediately."},{"name":"Polite","visibility":"public","type":"Polite","description":"Indicates that updates to the region should be presented at the next graceful opportunity, such as at the end of reading the current sentence, or when the user pauses typing."}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.ItemNavigationBehavior","basename":"ItemNavigationBehavior","resource":"types/ItemNavigationBehavior.js","module":"types/ItemNavigationBehavior","static":true,"visibility":"public","description":"Different behavior for ItemNavigation.","properties":[{"name":"Cyclic","visibility":"public","type":"Cyclic","description":"Cycling behavior: navigating past the last item continues with the first and vice versa."},{"name":"Static","visibility":"public","type":"Static","description":"Static behavior: navigations stops at the first or last item."}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.NavigationMode","basename":"NavigationMode","resource":"types/NavigationMode.js","module":"types/NavigationMode","static":true,"visibility":"public","description":"Different navigation modes for ItemNavigation.","properties":[{"name":"Auto","visibility":"public","type":"Auto"},{"name":"Horizontal","visibility":"public","type":"Horizontal"},{"name":"Paging","visibility":"public","type":"Paging"},{"name":"Vertical","visibility":"public","type":"Vertical"}],"slots":[]},{"kind":"enum","name":"sap.ui.webc.base.types.ValueState","basename":"ValueState","resource":"types/ValueState.js","module":"types/ValueState","static":true,"visibility":"public","description":"Different types of ValueStates.","properties":[{"name":"Error","visibility":"public","type":"Error"},{"name":"Information","visibility":"public","type":"Information"},{"name":"None","visibility":"public","type":"None"},{"name":"Success","visibility":"public","type":"Success"},{"name":"Warning","visibility":"public","type":"Warning"}],"slots":[]},{"kind":"class","name":"sap.ui.webc.base.UI5Element","basename":"UI5Element","resource":"UI5Element.js","module":"UI5Element","static":true,"visibility":"public","extends":"HTMLElement","constructor":{"visibility":"public"},"properties":[{"name":"_id","visibility":"protected","type":"undefined","description":"Returns a unique ID for this UI5 Element","deprecated":{"text":"- This property is not guaranteed in future releases"}},{"name":"dependencies","visibility":"protected","static":true,"type":"undefined","description":"Returns an array with the dependencies for this UI5 Web Component, which could be: - composed components (used in its shadow root or static area item) - slotted components that the component may need to communicate with"},{"name":"effectiveDir","visibility":"public","type":"undefined","description":"Determines whether the component should be rendered in RTL mode or not. Returns: \"rtl\", \"ltr\" or undefined"},{"name":"isUI5Element","visibility":"public","type":"undefined","description":"Used to duck-type UI5 elements without using instanceof"},{"name":"metadata","visibility":"protected","static":true,"type":"undefined","description":"Returns the metadata object for this UI5 Web Component Class"},{"name":"staticAreaStyles","visibility":"protected","static":true,"type":"undefined","description":"Returns the Static Area CSS for this UI5 Web Component Class"},{"name":"styles","visibility":"protected","static":true,"type":"undefined","description":"Returns the CSS for this UI5 Web Component Class"}],"slots":[],"methods":[{"name":"_render","visibility":"protected","description":"Do not call this method directly, only intended to be called by js"},{"name":"attachInvalidate","visibility":"public","parameters":[{"name":"callback","type":"InvalidationInfo","optional":false}],"description":"Attach a callback that will be executed whenever the component is invalidated"},{"name":"define","visibility":"public","static":true,"returnValue":{"type":"Promise.<UI5Element>"},"description":"Registers a UI5 Web Component in the browser window object"},{"name":"detachInvalidate","visibility":"public","parameters":[{"name":"callback","type":"InvalidationInfo","optional":false}],"description":"Detach the callback that is executed whenever the component is invalidated"},{"name":"fireEvent","visibility":"public","returnValue":{"type":"boolean","description":"false, if the event was cancelled (preventDefault called), true otherwise"},"parameters":[{"name":"name","type":"undefined","optional":false,"description":"name of the event"},{"name":"data","type":"undefined","optional":false,"description":"additional data for the event"},{"name":"cancelable","type":"undefined","optional":false,"defaultValue":false,"description":"true, if the user can call preventDefault on the event object"},{"name":"bubbles","type":"undefined","optional":false,"defaultValue":true,"description":"true, if the event bubbles"}]},{"name":"focus","visibility":"public","parameters":[{"name":"focusOptions","type":"FocusOptions","optional":false,"description":"additional options for the focus"}],"description":"Set the focus to the element, returned by \"getFocusDomRef()\" (marked by \"data-sap-focus-ref\")"},{"name":"getDomRef","visibility":"public","description":"Returns the DOM Element inside the Shadow Root that corresponds to the opening tag in the UI5 Web Component's template *Note:* For logical (abstract) elements (items, options, etc...), returns the part of the parent's DOM that represents this option Use this method instead of \"this.shadowRoot\" to read the Shadow DOM, if ever necessary"},{"name":"getFocusDomRef","visibility":"public","description":"Returns the DOM Element marked with \"data-sap-focus-ref\" inside the template. This is the element that will receive the focus by default."},{"name":"getFocusDomRefAsync","visibility":"public","description":"Waits for dom ref and then returns the DOM Element marked with \"data-sap-focus-ref\" inside the template. This is the element that will receive the focus by default."},{"name":"getMetadata","visibility":"public","static":true,"returnValue":{"type":"UI5ElementMetadata"},"description":"Returns an instance of UI5ElementMetadata.js representing this UI5 Web Component's full metadata (its and its parents') Note: not to be confused with the \"get metadata()\" method, which returns an object for this class's metadata only"},{"name":"getSlottedNodes","visibility":"public","description":"Returns the actual children, associated with a slot. Useful when there are transitive slots in nested component scenarios and you don't want to get a list of the slots, but rather of their content."},{"name":"getStaticAreaItemDomRef","visibility":"public"},{"name":"getUniqueDependencies","visibility":"public","static":true,"description":"Returns a list of the unique dependencies for this UI5 Web Component"},{"name":"onAfterRendering","visibility":"public","description":"Called every time after the component renders."},{"name":"onBeforeRendering","visibility":"public","description":"Called every time before the component renders."},{"name":"onDefine","visibility":"protected","static":true,"returnValue":{"type":"Promise.<void>"},"description":"Hook that will be called upon custom element definition"},{"name":"onEnterDOM","visibility":"public","description":"Called on connectedCallback - added to the DOM."},{"name":"onExitDOM","visibility":"public","description":"Called on disconnectedCallback - removed from the DOM."},{"name":"onInvalidation","visibility":"public","parameters":[{"name":"changeInfo","type":"undefined","optional":false,"description":"An object with information about the change that caused invalidation. The object can have the following properties: - type: (property|slot) tells what caused the invalidation 1) property: a property value was changed either directly or as a result of changing the corresponding attribute 2) slot: a slotted node(nodes) changed in one of several ways (see \"reason\")\n\n- name: the name of the property or slot that caused the invalidation\n\n- reason: (children|textcontent|childchange|slotchange) relevant only for type=\"slot\" only and tells exactly what changed in the slot 1) children: immediate children (HTML elements or text nodes) were added, removed or reordered in the slot 2) textcontent: text nodes in the slot changed value (or nested text nodes were added or changed value). Can only trigger for slots of \"type: Node\" 3) slotchange: a slot element, slotted inside that slot had its \"slotchange\" event listener called. This practically means that transitively slotted children changed. Can only trigger if the child of a slot is a slot element itself. 4) childchange: indicates that a UI5Element child in that slot was invalidated and in turn invalidated the component. Can only trigger for slots with \"invalidateOnChildChange\" metadata descriptor\n\n- newValue: the new value of the property (for type=\"property\" only)\n\n- oldValue: the old value of the property (for type=\"property\" only)\n\n- child the child that was changed (for type=\"slot\" and reason=\"childchange\" only)"}],"description":"A callback that is executed each time an already rendered component is invalidated (scheduled for re-rendering)"}]},{"kind":"class","name":"UI5ElementMetadata","basename":"UI5ElementMetadata","resource":"UI5ElementMetadata.js","module":"UI5ElementMetadata","export":"","visibility":"public","constructor":{"visibility":"public"},"methods":[{"name":"getAttributesList","visibility":"public","returnValue":{"type":"string[]"},"description":"Returns an array with the attributes of the UI5 Element (in kebab-case)"},{"name":"getEvents","visibility":"public","description":"Returns an object with key-value pairs of events and their metadata definitions"},{"name":"getProperties","visibility":"public","description":"Returns an object with key-value pairs of properties and their metadata definitions"},{"name":"getPropertiesList","visibility":"public","returnValue":{"type":"string[]"},"description":"Returns an array with the properties of the UI5 Element (in camelCase)"},{"name":"getPureTag","visibility":"public","description":"Returns the tag of the UI5 Element without the scope"},{"name":"getSlots","visibility":"public","description":"Returns an object with key-value pairs of slots and their metadata definitions"},{"name":"getTag","visibility":"public","description":"Returns the tag of the UI5 Element"},{"name":"hasAttribute","visibility":"public","returnValue":{"type":"boolean"},"parameters":[{"name":"propName","type":"undefined","optional":false}],"description":"Determines whether a property should have an attribute counterpart"},{"name":"hasIndividualSlots","visibility":"public","description":"Determines whether this UI5 Element supports any slots with \"individualSlots: true\""},{"name":"hasSlots","visibility":"public","description":"Determines whether this UI5 Element supports any slots"},{"name":"slotsAreManaged","visibility":"public","description":"Determines whether this UI5 Element needs to invalidate if children are added/removed/changed"},{"name":"supportsF6FastNavigation","visibility":"public","description":"Determines whether this control supports F6 fast navigation"},{"name":"validatePropertyValue","visibility":"public","static":true,"description":"Validates the property's value and returns it if correct or returns the default value if not. <b>Note:</b> Only intended for use by UI5Element.js"}]}]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerpolicy&&(o.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?o.credentials="include":r.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();const v={themes:{default:"sap_fiori_3",all:["sap_fiori_3","sap_fiori_3_dark","sap_belize","sap_belize_hcb","sap_belize_hcw","sap_fiori_3_hcb","sap_fiori_3_hcw","sap_horizon","sap_horizon_dark","sap_horizon_hcb","sap_horizon_hcw","sap_horizon_exp"]},languages:{default:"en",all:["ar","bg","ca","cs","cy","da","de","el","en","en_GB","en_US_sappsd","en_US_saprigi","en_US_saptrc","es","es_MX","et","fi","fr","fr_CA","hi","hr","hu","in","it","iw","ja","kk","ko","lt","lv","ms","nl","no","pl","pt_PT","pt","ro","ru","sh","sk","sl","sv","th","tr","uk","vi","zh_CN","zh_TW"]},locales:{default:"en",all:["ar","ar_EG","ar_SA","bg","ca","cs","da","de","de_AT","de_CH","el","el_CY","en","en_AU","en_GB","en_HK","en_IE","en_IN","en_NZ","en_PG","en_SG","en_ZA","es","es_AR","es_BO","es_CL","es_CO","es_MX","es_PE","es_UY","es_VE","et","fa","fi","fr","fr_BE","fr_CA","fr_CH","fr_LU","he","hi","hr","hu","id","it","it_CH","ja","kk","ko","lt","lv","ms","nb","nl","nl_BE","pl","pt","pt_PT","ro","ru","ru_UA","sk","sl","sr","sr_Latn","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]}},I=v.themes.default,ot=v.themes.all,F=v.languages.default,u=v.locales.default,le=v.locales.all,at=()=>{const e=navigator.languages,t=()=>navigator.language;return e&&e[0]||t()||F};var $e={},Ce=$e.hasOwnProperty,it=$e.toString,Re=Ce.toString,ct=Re.call(Object),fe=function(e){var t,n;return!e||it.call(e)!=="[object Object]"?!1:(t=Object.getPrototypeOf(e),t?(n=Ce.call(t,"constructor")&&t.constructor,typeof n=="function"&&Re.call(n)===ct):!0)},ut=Object.create(null),Oe=function(e,t,n,s){var r,o,a,c,$,p,f=arguments[2]||{},W=3,st=arguments.length,ue=arguments[0]||!1,rt=arguments[1]?void 0:ut;for(typeof f!="object"&&typeof f!="function"&&(f={});W<st;W++)if(($=arguments[W])!=null)for(c in $)r=f[c],a=$[c],!(c==="__proto__"||f===a)&&(ue&&a&&(fe(a)||(o=Array.isArray(a)))?(o?(o=!1,p=r&&Array.isArray(r)?r:[]):p=r&&fe(r)?r:{},f[c]=Oe(ue,arguments[1],p,a)):a!==rt&&(f[c]=a));return f};const Ue=function(e,t){return Oe(!0,!1,...arguments)},Ie=new Map,Zn=(e,t)=>{Ie.set(e,t)},w=e=>Ie.get(e),lt=e=>{const t=document.querySelector(`META[name="${e}"]`);return t&&t.getAttribute("content")},ft=e=>{const t=lt("sap-allowedThemeOrigins");return t&&t.split(",").some(n=>n==="*"||e===n.trim())},dt=(e,t)=>{const n=new URL(e).pathname;return new URL(n,t).toString()},Me=e=>{let t;try{if(e.startsWith(".")||e.startsWith("/"))t=new URL(e,window.location.href).toString();else{const n=new URL(e),s=n.origin;s&&ft(s)?t=n.toString():t=dt(n.toString(),window.location.href)}return t.endsWith("/")||(t=`${t}/`),`${t}UI5/`}catch{}};var Q;(function(e){e.Full="full",e.Basic="basic",e.Minimal="minimal",e.None="none"})(Q||(Q={}));const ht=Q;let de=!1,i={animationMode:ht.Full,theme:I,themeRoot:void 0,rtl:void 0,language:void 0,timezone:void 0,calendarType:void 0,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const Hn=()=>(l(),i.animationMode),pt=()=>(l(),i.theme),gt=()=>(l(),i.themeRoot),qn=()=>(l(),i.rtl),mt=()=>(l(),i.language),yt=()=>(l(),i.fetchDefaultLanguage),Gn=()=>(l(),i.noConflict),Kn=()=>(l(),i.calendarType),Jn=()=>(l(),i.formatSettings),M=new Map;M.set("true",!0);M.set("false",!1);const wt=()=>{const e=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let t;if(e){try{t=JSON.parse(e.innerHTML)}catch{console.warn("Incorrect data-sap-ui-config format. Please use JSON")}t&&(i=Ue(i,t))}},St=()=>{const e=new URLSearchParams(window.location.search);e.forEach((t,n)=>{const s=n.split("sap-").length;s===0||s===n.split("sap-ui-").length||he(n,t,"sap")}),e.forEach((t,n)=>{!n.startsWith("sap-ui")||he(n,t,"sap-ui")})},_t=e=>{const t=e.split("@")[1];return Me(t)},Tt=(e,t)=>e==="theme"&&t.includes("@")?t.split("@")[0]:t,he=(e,t,n)=>{const s=t.toLowerCase(),r=e.split(`${n}-`)[1];M.has(t)&&(t=M.get(s)),r==="theme"?(i.theme=Tt(r,t),t&&t.includes("@")&&(i.themeRoot=_t(t))):i[r]=t},bt=()=>{const e=w("OpenUI5Support");if(!e||!e.isLoaded())return;const t=e.getConfigurationSettingsObject();i=Ue(i,t)},l=()=>{typeof document>"u"||de||(wt(),St(),bt(),de=!0)};class L{constructor(){this._eventRegistry=new Map}attachEvent(t,n){const s=this._eventRegistry,r=s.get(t);if(!Array.isArray(r)){s.set(t,[n]);return}r.includes(n)||r.push(n)}detachEvent(t,n){const s=this._eventRegistry,r=s.get(t);if(!r)return;const o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&s.delete(t)}fireEvent(t,n){const r=this._eventRegistry.get(t);return r?r.map(o=>o.call(this,n)):[]}fireEventAsync(t,n){return Promise.all(this.fireEvent(t,n))}isHandlerAttached(t,n){const r=this._eventRegistry.get(t);return r?r.includes(n):!1}hasListeners(t){return!!this._eventRegistry.get(t)}}const ke=new L,De="languageChange",Be=e=>{ke.attachEvent(De,e)},At=e=>ke.fireEventAsync(De,e),pe=10;class vt{constructor(){this.list=[],this.lookup=new Set}add(t){this.lookup.has(t)||(this.list.push(t),this.lookup.add(t))}remove(t){!this.lookup.has(t)||(this.list=this.list.filter(n=>n!==t),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return this.list.length===0}isAdded(t){return this.lookup.has(t)}process(t){let n;const s=new Map;for(n=this.shift();n;){const r=s.get(n)||0;if(r>pe)throw new Error(`Web component processed too many times this task, max allowed is: ${pe}`);t(n),s.set(n,r+1),n=this.shift()}}}const Lt=(e,t=document.body,n)=>{let s=document.querySelector(e);return s||(s=n?n():document.createElement(e),t.insertBefore(s,t.firstChild))},Et=()=>{const e=document.createElement("meta");return e.setAttribute("name","ui5-shared-resources"),e.setAttribute("content",""),e},Pt=()=>typeof document>"u"?null:Lt('meta[name="ui5-shared-resources"]',document.head,Et),j=(e,t)=>{const n=e.split(".");let s=Pt();if(!s)return t;for(let r=0;r<n.length;r++){const o=n[r],a=r===n.length-1;Object.prototype.hasOwnProperty.call(s,o)||(s[o]=a?t:{}),s=s[o]}return s},$t={version:"1.14.
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerpolicy&&(o.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?o.credentials="include":r.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();const v={themes:{default:"sap_fiori_3",all:["sap_fiori_3","sap_fiori_3_dark","sap_belize","sap_belize_hcb","sap_belize_hcw","sap_fiori_3_hcb","sap_fiori_3_hcw","sap_horizon","sap_horizon_dark","sap_horizon_hcb","sap_horizon_hcw","sap_horizon_exp"]},languages:{default:"en",all:["ar","bg","ca","cs","cy","da","de","el","en","en_GB","en_US_sappsd","en_US_saprigi","en_US_saptrc","es","es_MX","et","fi","fr","fr_CA","hi","hr","hu","in","it","iw","ja","kk","ko","lt","lv","ms","nl","no","pl","pt_PT","pt","ro","ru","sh","sk","sl","sv","th","tr","uk","vi","zh_CN","zh_TW"]},locales:{default:"en",all:["ar","ar_EG","ar_SA","bg","ca","cs","da","de","de_AT","de_CH","el","el_CY","en","en_AU","en_GB","en_HK","en_IE","en_IN","en_NZ","en_PG","en_SG","en_ZA","es","es_AR","es_BO","es_CL","es_CO","es_MX","es_PE","es_UY","es_VE","et","fa","fi","fr","fr_BE","fr_CA","fr_CH","fr_LU","he","hi","hr","hu","id","it","it_CH","ja","kk","ko","lt","lv","ms","nb","nl","nl_BE","pl","pt","pt_PT","ro","ru","ru_UA","sk","sl","sr","sr_Latn","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]}},I=v.themes.default,ot=v.themes.all,F=v.languages.default,u=v.locales.default,le=v.locales.all,at=()=>{const e=navigator.languages,t=()=>navigator.language;return e&&e[0]||t()||F};var $e={},Ce=$e.hasOwnProperty,it=$e.toString,Re=Ce.toString,ct=Re.call(Object),fe=function(e){var t,n;return!e||it.call(e)!=="[object Object]"?!1:(t=Object.getPrototypeOf(e),t?(n=Ce.call(t,"constructor")&&t.constructor,typeof n=="function"&&Re.call(n)===ct):!0)},ut=Object.create(null),Oe=function(e,t,n,s){var r,o,a,c,$,p,f=arguments[2]||{},W=3,st=arguments.length,ue=arguments[0]||!1,rt=arguments[1]?void 0:ut;for(typeof f!="object"&&typeof f!="function"&&(f={});W<st;W++)if(($=arguments[W])!=null)for(c in $)r=f[c],a=$[c],!(c==="__proto__"||f===a)&&(ue&&a&&(fe(a)||(o=Array.isArray(a)))?(o?(o=!1,p=r&&Array.isArray(r)?r:[]):p=r&&fe(r)?r:{},f[c]=Oe(ue,arguments[1],p,a)):a!==rt&&(f[c]=a));return f};const Ue=function(e,t){return Oe(!0,!1,...arguments)},Ie=new Map,Zn=(e,t)=>{Ie.set(e,t)},w=e=>Ie.get(e),lt=e=>{const t=document.querySelector(`META[name="${e}"]`);return t&&t.getAttribute("content")},ft=e=>{const t=lt("sap-allowedThemeOrigins");return t&&t.split(",").some(n=>n==="*"||e===n.trim())},dt=(e,t)=>{const n=new URL(e).pathname;return new URL(n,t).toString()},Me=e=>{let t;try{if(e.startsWith(".")||e.startsWith("/"))t=new URL(e,window.location.href).toString();else{const n=new URL(e),s=n.origin;s&&ft(s)?t=n.toString():t=dt(n.toString(),window.location.href)}return t.endsWith("/")||(t=`${t}/`),`${t}UI5/`}catch{}};var Q;(function(e){e.Full="full",e.Basic="basic",e.Minimal="minimal",e.None="none"})(Q||(Q={}));const ht=Q;let de=!1,i={animationMode:ht.Full,theme:I,themeRoot:void 0,rtl:void 0,language:void 0,timezone:void 0,calendarType:void 0,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const Hn=()=>(l(),i.animationMode),pt=()=>(l(),i.theme),gt=()=>(l(),i.themeRoot),qn=()=>(l(),i.rtl),mt=()=>(l(),i.language),yt=()=>(l(),i.fetchDefaultLanguage),Gn=()=>(l(),i.noConflict),Kn=()=>(l(),i.calendarType),Jn=()=>(l(),i.formatSettings),M=new Map;M.set("true",!0);M.set("false",!1);const wt=()=>{const e=document.querySelector("[data-ui5-config]")||document.querySelector("[data-id='sap-ui-config']");let t;if(e){try{t=JSON.parse(e.innerHTML)}catch{console.warn("Incorrect data-sap-ui-config format. Please use JSON")}t&&(i=Ue(i,t))}},St=()=>{const e=new URLSearchParams(window.location.search);e.forEach((t,n)=>{const s=n.split("sap-").length;s===0||s===n.split("sap-ui-").length||he(n,t,"sap")}),e.forEach((t,n)=>{!n.startsWith("sap-ui")||he(n,t,"sap-ui")})},_t=e=>{const t=e.split("@")[1];return Me(t)},Tt=(e,t)=>e==="theme"&&t.includes("@")?t.split("@")[0]:t,he=(e,t,n)=>{const s=t.toLowerCase(),r=e.split(`${n}-`)[1];M.has(t)&&(t=M.get(s)),r==="theme"?(i.theme=Tt(r,t),t&&t.includes("@")&&(i.themeRoot=_t(t))):i[r]=t},bt=()=>{const e=w("OpenUI5Support");if(!e||!e.isLoaded())return;const t=e.getConfigurationSettingsObject();i=Ue(i,t)},l=()=>{typeof document>"u"||de||(wt(),St(),bt(),de=!0)};class L{constructor(){this._eventRegistry=new Map}attachEvent(t,n){const s=this._eventRegistry,r=s.get(t);if(!Array.isArray(r)){s.set(t,[n]);return}r.includes(n)||r.push(n)}detachEvent(t,n){const s=this._eventRegistry,r=s.get(t);if(!r)return;const o=r.indexOf(n);o!==-1&&r.splice(o,1),r.length===0&&s.delete(t)}fireEvent(t,n){const r=this._eventRegistry.get(t);return r?r.map(o=>o.call(this,n)):[]}fireEventAsync(t,n){return Promise.all(this.fireEvent(t,n))}isHandlerAttached(t,n){const r=this._eventRegistry.get(t);return r?r.includes(n):!1}hasListeners(t){return!!this._eventRegistry.get(t)}}const ke=new L,De="languageChange",Be=e=>{ke.attachEvent(De,e)},At=e=>ke.fireEventAsync(De,e),pe=10;class vt{constructor(){this.list=[],this.lookup=new Set}add(t){this.lookup.has(t)||(this.list.push(t),this.lookup.add(t))}remove(t){!this.lookup.has(t)||(this.list=this.list.filter(n=>n!==t),this.lookup.delete(t))}shift(){const t=this.list.shift();if(t)return this.lookup.delete(t),t}isEmpty(){return this.list.length===0}isAdded(t){return this.lookup.has(t)}process(t){let n;const s=new Map;for(n=this.shift();n;){const r=s.get(n)||0;if(r>pe)throw new Error(`Web component processed too many times this task, max allowed is: ${pe}`);t(n),s.set(n,r+1),n=this.shift()}}}const Lt=(e,t=document.body,n)=>{let s=document.querySelector(e);return s||(s=n?n():document.createElement(e),t.insertBefore(s,t.firstChild))},Et=()=>{const e=document.createElement("meta");return e.setAttribute("name","ui5-shared-resources"),e.setAttribute("content",""),e},Pt=()=>typeof document>"u"?null:Lt('meta[name="ui5-shared-resources"]',document.head,Et),j=(e,t)=>{const n=e.split(".");let s=Pt();if(!s)return t;for(let r=0;r<n.length;r++){const o=n[r],a=r===n.length-1;Object.prototype.hasOwnProperty.call(s,o)||(s[o]=a?t:{}),s=s[o]}return s},$t={version:"1.14.7",major:1,minor:14,patch:7,suffix:"",isNext:!1,buildTime:1706171276};let O,Ct="";const Z=new Map,b=j("Runtimes",[]),Rt=()=>{if(O===void 0){O=b.length;const e=$t;b.push({...e,alias:Ct,description:`Runtime ${O} - ver ${e.version}`})}},E=()=>O,Ot=(e,t)=>{const n=`${e},${t}`;if(Z.has(n))return Z.get(n);const s=b[e],r=b[t];if(!s||!r)throw new Error("Invalid runtime index supplied");if(s.isNext||r.isNext)return s.buildTime-r.buildTime;const o=s.major-r.major;if(o)return o;const a=s.minor-r.minor;if(a)return a;const c=s.patch-r.patch;if(c)return c;const p=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(s.suffix,r.suffix);return Z.set(n,p),p},Ut=()=>b,xe=j("Tags",new Map),se=new Set;let h=new Map,H;const Fe=-1,Xn=e=>{se.add(e),xe.set(e,E())},Yn=e=>se.has(e),It=()=>[...se.values()],Qn=e=>{let t=xe.get(e);t===void 0&&(t=Fe),h.has(t)||h.set(t,new Set),h.get(t).add(e),H||(H=setTimeout(()=>{Mt(),h=new Map,H=void 0},1e3))},Mt=()=>{const e=Ut(),t=E(),n=e[t];let s="Multiple UI5 Web Components instances detected.";e.length>1&&(s=`${s}
|
|
2
2
|
Loading order (versions before 1.1.0 not listed): ${e.map(r=>`
|
|
3
3
|
${r.description}`).join("")}`),[...h.keys()].forEach(r=>{let o,a;r===Fe?(o=1,a={description:"Older unknown runtime"}):(o=Ot(t,r),a=e[r]);let c;o>0?c="an older":o<0?c="a newer":c="the same",s=`${s}
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as me,g as _e,a as gt,r as Ft,s as Ut,b as jt,E as J,c as X,d as ye,e as zt,h as ve,i as mt,j as Wt,k as Ae,l as $e,m as we,n as Ce,o as Se,p as be,q as Ee,t as Te,u as Me,v as xe,w as De,x as C,y as Ie,z as Le,A as qt,B as Pe,C as Ne,D as Re,F as Oe,_ as He,G as ke}from"./Boot.57dedc27.js";const Be=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,Ve=(s,t)=>(t=t||[],s.replace(Be,(e,n,i,r,o)=>{if(n)return"'";if(i)return i.replace(/''/g,"'");if(r){const c=typeof r=="string"?parseInt(r):r;return String(t[c])}throw new Error(`[i18n]: pattern syntax error at pos ${o}`)})),Q=new Map;class Fe{constructor(t){this.packageName=t}getText(t,...e){if(typeof t=="string"&&(t={key:t,defaultText:t}),!t||!t.key)return"";const n=_e(this.packageName);n&&!n[t.key]&&console.warn(`Key ${t.key} not found in the i18n bundle, the default text will be used`);const i=n&&n[t.key]?n[t.key]:t.defaultText||t.key;return Ve(i,e)}}const Ue=s=>{if(Q.has(s))return Q.get(s);const t=new Fe(s);return Q.set(s,t),t},je=async s=>(await me(s),Ue(s)),ze=gt("PopupUtilsData",{currentZIndex:100}),$t=()=>ze.currentZIndex,A=()=>{var s,t,e;return(e=(t=(s=window.sap)==null?void 0:s.ui)==null?void 0:t.getCore)==null?void 0:e.call(t)};class _t{static isLoaded(){return!!A()}static init(){const t=A();return t?new Promise(e=>{const n=["sap/ui/core/Popup","sap/ui/core/LocaleData"],i=window.sap.ui.version||"";window.sap.ui.require(["sap/base/util/Version"],r=>{r(i).compareTo("1.116.0")>=0&&n.push("sap/ui/core/Theming"),t.attachInit(()=>{window.sap.ui.require(n,o=>{o.setInitialZIndex($t()),e()})})})}):Promise.resolve()}static getConfigurationSettingsObject(){const t=A();if(!t)return;const e=t.getConfiguration(),n=window.sap.ui.require("sap/ui/core/LocaleData"),i=window.sap.ui.require("sap/ui/core/Theming");return{animationMode:e.getAnimationMode(),language:e.getLanguage(),theme:e.getTheme(),themeRoot:e.getThemeRoot?e.getThemeRoot():i.getThemeRoot(),rtl:e.getRTL(),timezone:e.getTimezone(),calendarType:e.getCalendarType(),formatSettings:{firstDayOfWeek:n?n.getInstance(e.getLocale()).getFirstDayOfWeek():void 0,legacyDateCalendarCustomizing:e.getFormatSettings().getLegacyDateCalendarCustomizing()}}}static getLocaleDataObject(){const t=A();if(!t)return;const e=t.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(e.getLocale())._get()}static _listenForThemeChange(){const t=A(),e=t.getConfiguration();t.attachThemeChanged(async()=>{await Ut(e.getTheme())})}static attachListeners(){!A()||_t._listenForThemeChange()}static cssVariablesLoaded(){if(!A())return;const e=[...document.head.children].find(n=>n.id==="sap-ui-theme-sap.ui.core");if(!!e)return!!e.href.match(/\/css(-|_)variables\.css/)}static getNextZIndex(){return A()?window.sap.ui.require("sap/ui/core/Popup").getNextZIndex():void 0}static setInitialZIndex(){if(!A())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex($t())}}Ft("OpenUI5Support",_t);const tt=new Map,et=new Map,wt=s=>{if(!tt.has(s)){const t=We(s.split("-"));tt.set(s,t)}return tt.get(s)},Zt=s=>{if(!et.has(s)){const t=s.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();et.set(s,t)}return et.get(s)},We=s=>s.map((t,e)=>e===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(""),qe=s=>{if(!(s instanceof HTMLElement))return"default";const t=s.getAttribute("slot");if(t){const e=t.match(/^(.+?)-\d+$/);return e?e[1]:t}return"default"},Gt=s=>s instanceof HTMLSlotElement?s.assignedNodes({flatten:!0}).filter(t=>t instanceof HTMLElement):[s],Ze=s=>s.reduce((t,e)=>t.concat(Gt(e)),[]);let Ge,Ct={include:[/^ui5-/],exclude:[]};const st=new Map,Kt=()=>Ge,ut=s=>{if(!st.has(s)){const t=Ct.include.some(e=>s.match(e))&&!Ct.exclude.some(e=>s.match(e));st.set(s,t)}return st.get(s)},Jt=s=>{if(ut(s))return Kt()};class Ke{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},e=this.slotsAreManaged(),n=this.getProperties();for(const i in n){const r=n[i].type,o=n[i].defaultValue;r===Boolean?(t[i]=!1,o!==void 0&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):n[i].multiple?t[i]=[]:r===Object?t[i]="defaultValue"in n[i]?n[i].defaultValue:{}:r===String?t[i]="defaultValue"in n[i]?n[i].defaultValue:"":t[i]=o}if(e){const i=this.getSlots();for(const[r,o]of Object.entries(i)){const c=o.propertyName||r;t[c]=[]}}return this._initialState=t,t}static validatePropertyValue(t,e){return e.multiple&&t?t.map(i=>St(i,e)):St(t,e)}static validateSlotValue(t,e){return Je(t,e)}getPureTag(){return this.metadata.tag||""}getTag(){const t=this.metadata.tag;if(!t)return"";const e=Jt(t);return e?`${t}-${e}`:t}hasAttribute(t){const e=this.getProperties()[t];return e.type!==Object&&!e.noAttribute&&!e.multiple}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute.bind(this)).map(Zt)}canSlotText(){const t=this.getSlots().default;return t&&t.type===Node}hasSlots(){return!!Object.entries(this.getSlots()).length}hasIndividualSlots(){return this.slotsAreManaged()&&Object.values(this.getSlots()).some(t=>t.individualSlots)}slotsAreManaged(){return!!this.metadata.managedSlots}supportsF6FastNavigation(){return!!this.metadata.fastNavigation}getProperties(){return this.metadata.properties||(this.metadata.properties={}),this.metadata.properties}getEvents(){return this.metadata.events||(this.metadata.events={}),this.metadata.events}getSlots(){return this.metadata.slots||(this.metadata.slots={}),this.metadata.slots}isLanguageAware(){return!!this.metadata.languageAware}isThemeAware(){return!!this.metadata.themeAware}shouldInvalidateOnChildChange(t,e,n){const i=this.getSlots()[t].invalidateOnChildChange;if(i===void 0)return!1;if(typeof i=="boolean")return i;if(typeof i=="object"){if(e==="property"){if(i.properties===void 0)return!1;if(typeof i.properties=="boolean")return i.properties;if(Array.isArray(i.properties))return i.properties.includes(n);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if(e==="slot"){if(i.slots===void 0)return!1;if(typeof i.slots=="boolean")return i.slots;if(Array.isArray(i.slots))return i.slots.includes(n);throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected")}}throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected")}}const St=(s,t)=>{const e=t.type;let n=t.validator;return e&&e.isDataTypeClass&&(n=e),n?n.isValid(s)?s:t.defaultValue:!e||e===String?typeof s=="string"||typeof s>"u"||s===null?s:s.toString():e===Boolean?typeof s=="boolean"?s:!1:e===Object?typeof s=="object"?s:t.defaultValue:s in e?s:t.defaultValue},Je=(s,t)=>(s&&Gt(s).forEach(e=>{if(!(e instanceof t.type))throw new Error(`The element is not of type ${t.type.toString()}`)}),s);class Xe extends HTMLElement{}customElements.get("ui5-static-area")||customElements.define("ui5-static-area",Xe);const Ye=()=>gt("CustomStyle.eventProvider",new J),Qe="CustomCSSChange",yt=s=>{Ye().attachEvent(Qe,s)},ts=()=>gt("CustomStyle.customCSSFor",{});yt(s=>{jt({tag:s})});const es=s=>{const t=ts();return t[s]?t[s].join(""):""},ss=10,nt=s=>Array.isArray(s)?s.filter(t=>!!t).flat(ss).map(t=>typeof t=="string"?t:t.content).join(" "):typeof s=="string"?s:s.content,W=new Map;yt(s=>{W.delete(`${s}_normal`)});const Xt=(s,t=!1)=>{const e=s.getMetadata().getTag(),n=`${e}_${t?"static":"normal"}`,i=X("OpenUI5Enablement");if(!W.has(n)){let r,o="";if(i&&(o=nt(i.getBusyIndicatorStyles())),t)r=nt(s.staticAreaStyles);else{const c=es(e)||"";r=`${nt(s.styles)} ${c}`}r=`${r} ${o}`,W.set(n,r)}return W.get(n)},q=new Map;yt(s=>{q.delete(`${s}_normal`)});const ns=(s,t=!1)=>{const n=`${s.getMetadata().getTag()}_${t?"static":"normal"}`;if(!q.has(n)){const i=Xt(s,t),r=new CSSStyleSheet;r.replaceSync(i),q.set(n,[r])}return q.get(n)},ht=(s,t=!1)=>{let e;const n=s.constructor,i=t?s.staticAreaItem.shadowRoot:s.shadowRoot;let r;if(t?r=s.renderStatic():r=s.render(),!i){console.warn("There is no shadow root to update");return}if(document.adoptedStyleSheets?i.adoptedStyleSheets=ns(n,t):e=Xt(n,t),n.renderer){n.renderer(r,i,e,t,{host:s});return}n.render(r,i,e,t,{host:s})},is="--_ui5_content_density",rs=s=>getComputedStyle(s).getPropertyValue(is),os=s=>{const t=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(s);return t&&t[2]?t[2].split(/,/):null},as={iw:"he",ji:"yi",in:"id",sh:"sr"},ls=os("$cldr-rtl-locales:ar,fa,he$")||[],cs=s=>(s=s&&as[s]||s,ls.indexOf(s)>=0),Yt=()=>{if(typeof document>"u")return!1;const s=ye();return s!==void 0?!!s:cs(zt()||ve())},ds="--_ui5_dir",Qt=s=>{const t=window.document,e=["ltr","rtl"],n=getComputedStyle(s).getPropertyValue(ds);return e.includes(n)?n:e.includes(s.dir)?s.dir:e.includes(t.documentElement.dir)?t.documentElement.dir:e.includes(t.body.dir)?t.body.dir:Yt()?"rtl":void 0},z="ui5-static-area-item",us="data-sap-ui-integration-popup-content";class O extends HTMLElement{constructor(){super(),this._rendered=!1,this.attachShadow({mode:"open"})}setOwnerElement(t){this.ownerElement=t,this.classList.add(this.ownerElement._id),this.ownerElement.hasAttribute("data-ui5-static-stable")&&this.setAttribute("data-ui5-stable",this.ownerElement.getAttribute("data-ui5-static-stable"))}update(){this._rendered&&(this.updateAdditionalProperties(),ht(this.ownerElement,!0))}updateAdditionalProperties(){this._updateAdditionalAttrs(),this._updateContentDensity(),this._updateDirection()}_updateContentDensity(){rs(this.ownerElement)==="compact"?(this.classList.add("sapUiSizeCompact"),this.classList.add("ui5-content-density-compact")):(this.classList.remove("sapUiSizeCompact"),this.classList.remove("ui5-content-density-compact"))}_updateDirection(){if(this.ownerElement){const t=Qt(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}}_updateAdditionalAttrs(){this.setAttribute(`_ui5rt${mt()}`,""),this.setAttribute("_ui5host",""),this.setAttribute(z,""),this.setAttribute(us,"")}async getDomRef(){return this.updateAdditionalProperties(),this._rendered||(this._rendered=!0,ht(this.ownerElement,!0)),await Wt(),this.shadowRoot}static getTag(){const t=Jt(z);return t?`${z}-${t}`:z}static createInstance(){return customElements.get(O.getTag())||customElements.define(O.getTag(),O),document.createElement(this.getTag())}}const hs=[],ps=s=>hs.some(t=>s.startsWith(t)),pt=new WeakMap,fs=(s,t,e)=>{const n=new MutationObserver(t);pt.set(s,n),n.observe(s,e)},gs=s=>{const t=pt.get(s);t&&(t.disconnect(),pt.delete(s))},ms=["value-changed","click"];let Z;const _s=s=>ms.includes(s),ys=s=>{const t=vt();return!(typeof t!="boolean"&&t.events&&t.events.includes&&t.events.includes(s))},vt=()=>(Z===void 0&&(Z=Ae()),Z),vs=s=>{Z=s},As=s=>{const t=vt();return _s(s)?!1:t===!0?!0:!ys(s)},$s=["disabled","title","hidden","role","draggable"],bt=s=>$s.includes(s)||s.startsWith("aria")?!0:![HTMLElement,Element,Node].some(e=>e.prototype.hasOwnProperty(s)),Et=(s,t)=>{if(s.length!==t.length)return!1;for(let e=0;e<s.length;e++)if(s[e]!==t[e])return!1;return!0},Tt=(s,t)=>{const e=ws(t),n=Kt();return s.call(t,t,e,n)},ws=s=>{const t=s.constructor,e=t.getMetadata().getPureTag(),n=t.getUniqueDependencies().map(i=>i.getMetadata().getPureTag()).filter(ut);return ut(e)&&n.push(e),n};let Cs=0;const Mt=new Map,it=new Map;function L(s){this._suppressInvalidation||(this.onInvalidation(s),this._changedState.push(s),De(this),this._eventProvider.fireEvent("invalidate",{...s,target:this}))}class w extends HTMLElement{constructor(){super();const t=this.constructor;this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new J;let e;this._domRefReadyPromise=new Promise(n=>{e=n}),this._domRefReadyPromise._deferredResolve=e,this._doNotSyncAttributes=new Set,this._state={...t.getMetadata().getInitialState()},this._upgradeAllProperties(),t._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id=`ui5wc_${++Cs}`),this.__id}render(){const t=this.constructor.template;return Tt(t,this)}renderStatic(){const t=this.constructor.staticAreaTemplate;return Tt(t,this)}async connectedCallback(){const t=this.constructor;this.setAttribute(`_ui5rt${mt()}`,""),this.setAttribute("_ui5host",""),this.setAttribute(t.getMetadata().getPureTag(),""),t.getMetadata().supportsF6FastNavigation()&&this.setAttribute("data-sap-ui-fastnavgroup","true");const e=t.getMetadata().slotsAreManaged();this._inDOM=!0,e&&(this._startObservingDOMChildren(),await this._processChildren()),this._inDOM&&($e(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,this.onEnterDOM())}disconnectedCallback(){const e=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,e&&this._stopObservingDOMChildren(),this._fullyConnected&&(this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),we(this)}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}_startObservingDOMChildren(){const t=this.constructor;if(!t.getMetadata().hasSlots())return;const n=t.getMetadata().canSlotText(),i={childList:!0,subtree:n,characterData:n};fs(this,this._processChildren.bind(this),i)}_stopObservingDOMChildren(){gs(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor,e=t.getMetadata().getSlots(),n=t.getMetadata().canSlotText(),i=Array.from(n?this.childNodes:this.children),r=new Map,o=new Map;for(const[d,u]of Object.entries(e)){const h=u.propertyName||d;o.set(h,d),r.set(h,[...this._state[h]]),this._clearSlot(d,u)}const c=new Map,a=new Map,l=i.map(async(d,u)=>{const h=qe(d),f=e[h];if(f===void 0){if(h!=="default"){const g=Object.keys(e).join(", ");console.warn(`Unknown slotName: ${h}, ignoring`,d,`Valid values are: ${g}`)}return}if(f.individualSlots){const g=(c.get(h)||0)+1;c.set(h,g),d._individualSlot=`${h}-${g}`}if(d instanceof HTMLElement){const g=d.localName;if(g.includes("-")&&!ps(g)){if(!window.customElements.get(g)){const fe=window.customElements.whenDefined(g);let j=Mt.get(g);j||(j=new Promise(ge=>setTimeout(ge,1e3)),Mt.set(g,j)),await Promise.race([fe,j])}window.customElements.upgrade(d)}}if(d=t.getMetadata().constructor.validateSlotValue(d,f),xt(d)&&f.invalidateOnChildChange){const g=this._getChildChangeListener(h);g&&d.attachInvalidate.call(d,g)}d instanceof HTMLSlotElement&&this._attachSlotChange(d,h);const m=f.propertyName||h;a.has(m)?a.get(m).push({child:d,idx:u}):a.set(m,[{child:d,idx:u}])});await Promise.all(l),a.forEach((d,u)=>{this._state[u]=d.sort((h,f)=>h.idx-f.idx).map(h=>h.child)});let p=!1;for(const[d,u]of Object.entries(e)){const h=u.propertyName||d;Et(r.get(h),this._state[h])||(L.call(this,{type:"slot",name:o.get(h),reason:"children"}),p=!0)}p||L.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const n=e.propertyName||t;this._state[n].forEach(r=>{if(xt(r)){const o=this._getChildChangeListener(t);o&&r.detachInvalidate.call(r,o)}r instanceof HTMLSlotElement&&this._detachSlotChange(r,t)}),this._state[n]=[]}attachInvalidate(t){this._eventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._eventProvider.detachEvent("invalidate",t)}_onChildChange(t,e){!this.constructor.getMetadata().shouldInvalidateOnChildChange(t,e.type,e.name)||L.call(this,{type:"slot",name:t,reason:"childchange",child:e.target})}attributeChangedCallback(t,e,n){let i;if(this._doNotSyncAttributes.has(t))return;const r=this.constructor.getMetadata().getProperties(),o=t.replace(/^ui5-/,""),c=wt(o);if(r.hasOwnProperty(c)){const a=r[c],l=a.type;let p=a.validator;l&&l.isDataTypeClass&&(p=l),p?i=p.attributeToProperty(n):l===Boolean?i=n!==null:i=n,this[c]=i}}_updateAttribute(t,e){const n=this.constructor;if(!n.getMetadata().hasAttribute(t))return;const r=n.getMetadata().getProperties()[t],o=r.type;let c=r.validator;const a=Zt(t),l=this.getAttribute(a);if(o&&o.isDataTypeClass&&(c=o),c){const p=c.propertyToAttribute(e);p===null?(this._doNotSyncAttributes.add(a),this.removeAttribute(a),this._doNotSyncAttributes.delete(a)):this.setAttribute(a,p)}else o===Boolean?e===!0&&l===null?this.setAttribute(a,""):e===!1&&l!==null&&this.removeAttribute(a):typeof e!="object"&&l!==e&&this.setAttribute(a,e)}_upgradeProperty(t){if(this.hasOwnProperty(t)){const e=this[t];delete this[t],this[t]=e}}_upgradeAllProperties(){this.constructor.getMetadata().getPropertiesList().forEach(this._upgradeProperty.bind(this))}_getChildChangeListener(t){return this._childChangeListeners.has(t)||this._childChangeListeners.set(t,this._onChildChange.bind(this,t)),this._childChangeListeners.get(t)}_getSlotChangeListener(t){return this._slotChangeListeners.has(t)||this._slotChangeListeners.set(t,this._onSlotChange.bind(this,t)),this._slotChangeListeners.get(t)}_attachSlotChange(t,e){const n=this._getSlotChangeListener(e);n&&t.addEventListener("slotchange",n)}_detachSlotChange(t,e){t.removeEventListener("slotchange",this._getSlotChangeListener(e))}_onSlotChange(t){L.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor,e=t.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],t._needsShadowDOM()&&ht(this),this.staticAreaItem&&this.staticAreaItem.update(),e&&this._assignIndividualSlotsToChildren(),this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach(e=>{e._individualSlot&&e.setAttribute("slot",e._individualSlot)})}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(typeof this._getRealDomRef=="function")return this._getRealDomRef();if(!this.shadowRoot||this.shadowRoot.children.length===0)return;const t=[...this.shadowRoot.children].filter(e=>!["link","style"].includes(e.localName));return t.length!==1&&console.warn(`The shadow DOM for ${this.constructor.getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`),t[0]}getFocusDomRef(){const t=this.getDomRef();if(t)return t.querySelector("[data-sap-focus-ref]")||t}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(t){await this._waitForDomRef();const e=this.getFocusDomRef();e&&typeof e.focus=="function"&&e.focus(t)}fireEvent(t,e,n=!1,i=!0){const r=this._fireEvent(t,e,n,i),o=wt(t);return o!==t?r&&this._fireEvent(o,e,n):r}_fireEvent(t,e,n=!1,i=!0){const r=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:i,cancelable:n}),o=this.dispatchEvent(r);if(As(t))return o;const c=new CustomEvent(t,{detail:e,composed:!1,bubbles:i,cancelable:n});return this.dispatchEvent(c)&&o}getSlottedNodes(t){return Ze(this[t])}get effectiveDir(){return Ce(this.constructor),Qt(this)}get isUI5Element(){return!0}get classes(){return{}}static get observedAttributes(){return this.getMetadata().getAttributesList()}static _needsShadowDOM(){return!!this.template||Object.prototype.hasOwnProperty.call(this.prototype,"render")}static _needsStaticArea(){return!!this.staticAreaTemplate||Object.prototype.hasOwnProperty.call(this.prototype,"renderStatic")}getStaticAreaItemDomRef(){if(!this.constructor._needsStaticArea())throw new Error("This component does not use the static area");return this.staticAreaItem||(this.staticAreaItem=O.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||Se("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,e=this.getMetadata().slotsAreManaged(),n=this.getMetadata().getProperties();for(const[i,r]of Object.entries(n)){if(bt(i)||console.warn(`"${i}" is not a valid property name. Use a name that does not collide with DOM APIs`),r.type===Boolean&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All booleans are false by default.`);if(r.type===Array)throw new Error(`Wrong type for property "${i}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(r.type===Object&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All properties of type "Object" are empty objects by default.`);if(r.multiple&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,i,{get(){if(this._state[i]!==void 0)return this._state[i];const o=r.defaultValue;return r.type===Boolean?!1:r.type===String?o:r.multiple?[]:o},set(o){let c;o=this.constructor.getMetadata().constructor.validatePropertyValue(o,r);const p=r.type;let d=r.validator;const u=this._state[i];p&&p.isDataTypeClass&&(d=p),d?c=!d.valuesAreEqual(u,o):Array.isArray(u)&&Array.isArray(o)&&r.multiple&&r.compareValues?c=!Et(u,o):c=u!==o,c&&(this._state[i]=o,L.call(this,{type:"property",name:i,newValue:o,oldValue:u}),this._updateAttribute(i,o))}})}if(e){const i=this.getMetadata().getSlots();for(const[r,o]of Object.entries(i)){bt(r)||console.warn(`"${r}" is not a valid property name. Use a name that does not collide with DOM APIs`);const c=o.propertyName||r;Object.defineProperty(t,c,{get(){return this._state[c]!==void 0?this._state[c]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!it.has(this)){const t=this.dependencies.filter((e,n,i)=>i.indexOf(e)===n);it.set(this,t)}return it.get(this)||[]}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map(t=>t.define()))}static async onDefine(){return Promise.resolve()}static async define(){await be(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),e=Ee(t),n=customElements.get(t);return n&&!e?Te(t):n||(this._generateAccessors(),Me(t),window.customElements.define(t,this)),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const t=[this.metadata];let e=this;for(;e!==w;)e=Object.getPrototypeOf(e),t.unshift(e.metadata);const n=xe({},...t);return this._metadata=new Ke(n),this._metadata}}w.metadata={};const xt=s=>"isUI5Element"in s;/**
|
|
1
|
+
import{f as me,g as _e,a as gt,r as Ft,s as Ut,b as jt,E as J,c as X,d as ye,e as zt,h as ve,i as mt,j as Wt,k as Ae,l as $e,m as we,n as Ce,o as Se,p as be,q as Ee,t as Te,u as Me,v as xe,w as De,x as C,y as Ie,z as Le,A as qt,B as Pe,C as Ne,D as Re,F as Oe,_ as He,G as ke}from"./Boot.25013294.js";const Be=/('')|'([^']+(?:''[^']*)*)(?:'|$)|\{([0-9]+(?:\s*,[^{}]*)?)\}|[{}]/g,Ve=(s,t)=>(t=t||[],s.replace(Be,(e,n,i,r,o)=>{if(n)return"'";if(i)return i.replace(/''/g,"'");if(r){const c=typeof r=="string"?parseInt(r):r;return String(t[c])}throw new Error(`[i18n]: pattern syntax error at pos ${o}`)})),Q=new Map;class Fe{constructor(t){this.packageName=t}getText(t,...e){if(typeof t=="string"&&(t={key:t,defaultText:t}),!t||!t.key)return"";const n=_e(this.packageName);n&&!n[t.key]&&console.warn(`Key ${t.key} not found in the i18n bundle, the default text will be used`);const i=n&&n[t.key]?n[t.key]:t.defaultText||t.key;return Ve(i,e)}}const Ue=s=>{if(Q.has(s))return Q.get(s);const t=new Fe(s);return Q.set(s,t),t},je=async s=>(await me(s),Ue(s)),ze=gt("PopupUtilsData",{currentZIndex:100}),$t=()=>ze.currentZIndex,A=()=>{var s,t,e;return(e=(t=(s=window.sap)==null?void 0:s.ui)==null?void 0:t.getCore)==null?void 0:e.call(t)};class _t{static isLoaded(){return!!A()}static init(){const t=A();return t?new Promise(e=>{const n=["sap/ui/core/Popup","sap/ui/core/LocaleData"],i=window.sap.ui.version||"";window.sap.ui.require(["sap/base/util/Version"],r=>{r(i).compareTo("1.116.0")>=0&&n.push("sap/ui/core/Theming"),t.attachInit(()=>{window.sap.ui.require(n,o=>{o.setInitialZIndex($t()),e()})})})}):Promise.resolve()}static getConfigurationSettingsObject(){const t=A();if(!t)return;const e=t.getConfiguration(),n=window.sap.ui.require("sap/ui/core/LocaleData"),i=window.sap.ui.require("sap/ui/core/Theming");return{animationMode:e.getAnimationMode(),language:e.getLanguage(),theme:e.getTheme(),themeRoot:e.getThemeRoot?e.getThemeRoot():i.getThemeRoot(),rtl:e.getRTL(),timezone:e.getTimezone(),calendarType:e.getCalendarType(),formatSettings:{firstDayOfWeek:n?n.getInstance(e.getLocale()).getFirstDayOfWeek():void 0,legacyDateCalendarCustomizing:e.getFormatSettings().getLegacyDateCalendarCustomizing()}}}static getLocaleDataObject(){const t=A();if(!t)return;const e=t.getConfiguration();return window.sap.ui.require("sap/ui/core/LocaleData").getInstance(e.getLocale())._get()}static _listenForThemeChange(){const t=A(),e=t.getConfiguration();t.attachThemeChanged(async()=>{await Ut(e.getTheme())})}static attachListeners(){!A()||_t._listenForThemeChange()}static cssVariablesLoaded(){if(!A())return;const e=[...document.head.children].find(n=>n.id==="sap-ui-theme-sap.ui.core");if(!!e)return!!e.href.match(/\/css(-|_)variables\.css/)}static getNextZIndex(){return A()?window.sap.ui.require("sap/ui/core/Popup").getNextZIndex():void 0}static setInitialZIndex(){if(!A())return;window.sap.ui.require("sap/ui/core/Popup").setInitialZIndex($t())}}Ft("OpenUI5Support",_t);const tt=new Map,et=new Map,wt=s=>{if(!tt.has(s)){const t=We(s.split("-"));tt.set(s,t)}return tt.get(s)},Zt=s=>{if(!et.has(s)){const t=s.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();et.set(s,t)}return et.get(s)},We=s=>s.map((t,e)=>e===0?t.toLowerCase():t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(""),qe=s=>{if(!(s instanceof HTMLElement))return"default";const t=s.getAttribute("slot");if(t){const e=t.match(/^(.+?)-\d+$/);return e?e[1]:t}return"default"},Gt=s=>s instanceof HTMLSlotElement?s.assignedNodes({flatten:!0}).filter(t=>t instanceof HTMLElement):[s],Ze=s=>s.reduce((t,e)=>t.concat(Gt(e)),[]);let Ge,Ct={include:[/^ui5-/],exclude:[]};const st=new Map,Kt=()=>Ge,ut=s=>{if(!st.has(s)){const t=Ct.include.some(e=>s.match(e))&&!Ct.exclude.some(e=>s.match(e));st.set(s,t)}return st.get(s)},Jt=s=>{if(ut(s))return Kt()};class Ke{constructor(t){this.metadata=t}getInitialState(){if(Object.prototype.hasOwnProperty.call(this,"_initialState"))return this._initialState;const t={},e=this.slotsAreManaged(),n=this.getProperties();for(const i in n){const r=n[i].type,o=n[i].defaultValue;r===Boolean?(t[i]=!1,o!==void 0&&console.warn("The 'defaultValue' metadata key is ignored for all booleans properties, they would be initialized with 'false' by default")):n[i].multiple?t[i]=[]:r===Object?t[i]="defaultValue"in n[i]?n[i].defaultValue:{}:r===String?t[i]="defaultValue"in n[i]?n[i].defaultValue:"":t[i]=o}if(e){const i=this.getSlots();for(const[r,o]of Object.entries(i)){const c=o.propertyName||r;t[c]=[]}}return this._initialState=t,t}static validatePropertyValue(t,e){return e.multiple&&t?t.map(i=>St(i,e)):St(t,e)}static validateSlotValue(t,e){return Je(t,e)}getPureTag(){return this.metadata.tag||""}getTag(){const t=this.metadata.tag;if(!t)return"";const e=Jt(t);return e?`${t}-${e}`:t}hasAttribute(t){const e=this.getProperties()[t];return e.type!==Object&&!e.noAttribute&&!e.multiple}getPropertiesList(){return Object.keys(this.getProperties())}getAttributesList(){return this.getPropertiesList().filter(this.hasAttribute.bind(this)).map(Zt)}canSlotText(){const t=this.getSlots().default;return t&&t.type===Node}hasSlots(){return!!Object.entries(this.getSlots()).length}hasIndividualSlots(){return this.slotsAreManaged()&&Object.values(this.getSlots()).some(t=>t.individualSlots)}slotsAreManaged(){return!!this.metadata.managedSlots}supportsF6FastNavigation(){return!!this.metadata.fastNavigation}getProperties(){return this.metadata.properties||(this.metadata.properties={}),this.metadata.properties}getEvents(){return this.metadata.events||(this.metadata.events={}),this.metadata.events}getSlots(){return this.metadata.slots||(this.metadata.slots={}),this.metadata.slots}isLanguageAware(){return!!this.metadata.languageAware}isThemeAware(){return!!this.metadata.themeAware}shouldInvalidateOnChildChange(t,e,n){const i=this.getSlots()[t].invalidateOnChildChange;if(i===void 0)return!1;if(typeof i=="boolean")return i;if(typeof i=="object"){if(e==="property"){if(i.properties===void 0)return!1;if(typeof i.properties=="boolean")return i.properties;if(Array.isArray(i.properties))return i.properties.includes(n);throw new Error("Wrong format for invalidateOnChildChange.properties: boolean or array is expected")}if(e==="slot"){if(i.slots===void 0)return!1;if(typeof i.slots=="boolean")return i.slots;if(Array.isArray(i.slots))return i.slots.includes(n);throw new Error("Wrong format for invalidateOnChildChange.slots: boolean or array is expected")}}throw new Error("Wrong format for invalidateOnChildChange: boolean or object is expected")}}const St=(s,t)=>{const e=t.type;let n=t.validator;return e&&e.isDataTypeClass&&(n=e),n?n.isValid(s)?s:t.defaultValue:!e||e===String?typeof s=="string"||typeof s>"u"||s===null?s:s.toString():e===Boolean?typeof s=="boolean"?s:!1:e===Object?typeof s=="object"?s:t.defaultValue:s in e?s:t.defaultValue},Je=(s,t)=>(s&&Gt(s).forEach(e=>{if(!(e instanceof t.type))throw new Error(`The element is not of type ${t.type.toString()}`)}),s);class Xe extends HTMLElement{}customElements.get("ui5-static-area")||customElements.define("ui5-static-area",Xe);const Ye=()=>gt("CustomStyle.eventProvider",new J),Qe="CustomCSSChange",yt=s=>{Ye().attachEvent(Qe,s)},ts=()=>gt("CustomStyle.customCSSFor",{});yt(s=>{jt({tag:s})});const es=s=>{const t=ts();return t[s]?t[s].join(""):""},ss=10,nt=s=>Array.isArray(s)?s.filter(t=>!!t).flat(ss).map(t=>typeof t=="string"?t:t.content).join(" "):typeof s=="string"?s:s.content,W=new Map;yt(s=>{W.delete(`${s}_normal`)});const Xt=(s,t=!1)=>{const e=s.getMetadata().getTag(),n=`${e}_${t?"static":"normal"}`,i=X("OpenUI5Enablement");if(!W.has(n)){let r,o="";if(i&&(o=nt(i.getBusyIndicatorStyles())),t)r=nt(s.staticAreaStyles);else{const c=es(e)||"";r=`${nt(s.styles)} ${c}`}r=`${r} ${o}`,W.set(n,r)}return W.get(n)},q=new Map;yt(s=>{q.delete(`${s}_normal`)});const ns=(s,t=!1)=>{const n=`${s.getMetadata().getTag()}_${t?"static":"normal"}`;if(!q.has(n)){const i=Xt(s,t),r=new CSSStyleSheet;r.replaceSync(i),q.set(n,[r])}return q.get(n)},ht=(s,t=!1)=>{let e;const n=s.constructor,i=t?s.staticAreaItem.shadowRoot:s.shadowRoot;let r;if(t?r=s.renderStatic():r=s.render(),!i){console.warn("There is no shadow root to update");return}if(document.adoptedStyleSheets?i.adoptedStyleSheets=ns(n,t):e=Xt(n,t),n.renderer){n.renderer(r,i,e,t,{host:s});return}n.render(r,i,e,t,{host:s})},is="--_ui5_content_density",rs=s=>getComputedStyle(s).getPropertyValue(is),os=s=>{const t=/\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(s);return t&&t[2]?t[2].split(/,/):null},as={iw:"he",ji:"yi",in:"id",sh:"sr"},ls=os("$cldr-rtl-locales:ar,fa,he$")||[],cs=s=>(s=s&&as[s]||s,ls.indexOf(s)>=0),Yt=()=>{if(typeof document>"u")return!1;const s=ye();return s!==void 0?!!s:cs(zt()||ve())},ds="--_ui5_dir",Qt=s=>{const t=window.document,e=["ltr","rtl"],n=getComputedStyle(s).getPropertyValue(ds);return e.includes(n)?n:e.includes(s.dir)?s.dir:e.includes(t.documentElement.dir)?t.documentElement.dir:e.includes(t.body.dir)?t.body.dir:Yt()?"rtl":void 0},z="ui5-static-area-item",us="data-sap-ui-integration-popup-content";class O extends HTMLElement{constructor(){super(),this._rendered=!1,this.attachShadow({mode:"open"})}setOwnerElement(t){this.ownerElement=t,this.classList.add(this.ownerElement._id),this.ownerElement.hasAttribute("data-ui5-static-stable")&&this.setAttribute("data-ui5-stable",this.ownerElement.getAttribute("data-ui5-static-stable"))}update(){this._rendered&&(this.updateAdditionalProperties(),ht(this.ownerElement,!0))}updateAdditionalProperties(){this._updateAdditionalAttrs(),this._updateContentDensity(),this._updateDirection()}_updateContentDensity(){rs(this.ownerElement)==="compact"?(this.classList.add("sapUiSizeCompact"),this.classList.add("ui5-content-density-compact")):(this.classList.remove("sapUiSizeCompact"),this.classList.remove("ui5-content-density-compact"))}_updateDirection(){if(this.ownerElement){const t=Qt(this.ownerElement);t?this.setAttribute("dir",t):this.removeAttribute("dir")}}_updateAdditionalAttrs(){this.setAttribute(`_ui5rt${mt()}`,""),this.setAttribute("_ui5host",""),this.setAttribute(z,""),this.setAttribute(us,"")}async getDomRef(){return this.updateAdditionalProperties(),this._rendered||(this._rendered=!0,ht(this.ownerElement,!0)),await Wt(),this.shadowRoot}static getTag(){const t=Jt(z);return t?`${z}-${t}`:z}static createInstance(){return customElements.get(O.getTag())||customElements.define(O.getTag(),O),document.createElement(this.getTag())}}const hs=[],ps=s=>hs.some(t=>s.startsWith(t)),pt=new WeakMap,fs=(s,t,e)=>{const n=new MutationObserver(t);pt.set(s,n),n.observe(s,e)},gs=s=>{const t=pt.get(s);t&&(t.disconnect(),pt.delete(s))},ms=["value-changed","click"];let Z;const _s=s=>ms.includes(s),ys=s=>{const t=vt();return!(typeof t!="boolean"&&t.events&&t.events.includes&&t.events.includes(s))},vt=()=>(Z===void 0&&(Z=Ae()),Z),vs=s=>{Z=s},As=s=>{const t=vt();return _s(s)?!1:t===!0?!0:!ys(s)},$s=["disabled","title","hidden","role","draggable"],bt=s=>$s.includes(s)||s.startsWith("aria")?!0:![HTMLElement,Element,Node].some(e=>e.prototype.hasOwnProperty(s)),Et=(s,t)=>{if(s.length!==t.length)return!1;for(let e=0;e<s.length;e++)if(s[e]!==t[e])return!1;return!0},Tt=(s,t)=>{const e=ws(t),n=Kt();return s.call(t,t,e,n)},ws=s=>{const t=s.constructor,e=t.getMetadata().getPureTag(),n=t.getUniqueDependencies().map(i=>i.getMetadata().getPureTag()).filter(ut);return ut(e)&&n.push(e),n};let Cs=0;const Mt=new Map,it=new Map;function L(s){this._suppressInvalidation||(this.onInvalidation(s),this._changedState.push(s),De(this),this._eventProvider.fireEvent("invalidate",{...s,target:this}))}class w extends HTMLElement{constructor(){super();const t=this.constructor;this._changedState=[],this._suppressInvalidation=!0,this._inDOM=!1,this._fullyConnected=!1,this._childChangeListeners=new Map,this._slotChangeListeners=new Map,this._eventProvider=new J;let e;this._domRefReadyPromise=new Promise(n=>{e=n}),this._domRefReadyPromise._deferredResolve=e,this._doNotSyncAttributes=new Set,this._state={...t.getMetadata().getInitialState()},this._upgradeAllProperties(),t._needsShadowDOM()&&this.attachShadow({mode:"open"})}get _id(){return this.__id||(this.__id=`ui5wc_${++Cs}`),this.__id}render(){const t=this.constructor.template;return Tt(t,this)}renderStatic(){const t=this.constructor.staticAreaTemplate;return Tt(t,this)}async connectedCallback(){const t=this.constructor;this.setAttribute(`_ui5rt${mt()}`,""),this.setAttribute("_ui5host",""),this.setAttribute(t.getMetadata().getPureTag(),""),t.getMetadata().supportsF6FastNavigation()&&this.setAttribute("data-sap-ui-fastnavgroup","true");const e=t.getMetadata().slotsAreManaged();this._inDOM=!0,e&&(this._startObservingDOMChildren(),await this._processChildren()),this._inDOM&&($e(this),this._domRefReadyPromise._deferredResolve(),this._fullyConnected=!0,this.onEnterDOM())}disconnectedCallback(){const e=this.constructor.getMetadata().slotsAreManaged();this._inDOM=!1,e&&this._stopObservingDOMChildren(),this._fullyConnected&&(this.onExitDOM(),this._fullyConnected=!1),this.staticAreaItem&&this.staticAreaItem.parentElement&&this.staticAreaItem.parentElement.removeChild(this.staticAreaItem),we(this)}onBeforeRendering(){}onAfterRendering(){}onEnterDOM(){}onExitDOM(){}_startObservingDOMChildren(){const t=this.constructor;if(!t.getMetadata().hasSlots())return;const n=t.getMetadata().canSlotText(),i={childList:!0,subtree:n,characterData:n};fs(this,this._processChildren.bind(this),i)}_stopObservingDOMChildren(){gs(this)}async _processChildren(){this.constructor.getMetadata().hasSlots()&&await this._updateSlots()}async _updateSlots(){const t=this.constructor,e=t.getMetadata().getSlots(),n=t.getMetadata().canSlotText(),i=Array.from(n?this.childNodes:this.children),r=new Map,o=new Map;for(const[d,u]of Object.entries(e)){const h=u.propertyName||d;o.set(h,d),r.set(h,[...this._state[h]]),this._clearSlot(d,u)}const c=new Map,a=new Map,l=i.map(async(d,u)=>{const h=qe(d),f=e[h];if(f===void 0){if(h!=="default"){const g=Object.keys(e).join(", ");console.warn(`Unknown slotName: ${h}, ignoring`,d,`Valid values are: ${g}`)}return}if(f.individualSlots){const g=(c.get(h)||0)+1;c.set(h,g),d._individualSlot=`${h}-${g}`}if(d instanceof HTMLElement){const g=d.localName;if(g.includes("-")&&!ps(g)){if(!window.customElements.get(g)){const fe=window.customElements.whenDefined(g);let j=Mt.get(g);j||(j=new Promise(ge=>setTimeout(ge,1e3)),Mt.set(g,j)),await Promise.race([fe,j])}window.customElements.upgrade(d)}}if(d=t.getMetadata().constructor.validateSlotValue(d,f),xt(d)&&f.invalidateOnChildChange){const g=this._getChildChangeListener(h);g&&d.attachInvalidate.call(d,g)}d instanceof HTMLSlotElement&&this._attachSlotChange(d,h);const m=f.propertyName||h;a.has(m)?a.get(m).push({child:d,idx:u}):a.set(m,[{child:d,idx:u}])});await Promise.all(l),a.forEach((d,u)=>{this._state[u]=d.sort((h,f)=>h.idx-f.idx).map(h=>h.child)});let p=!1;for(const[d,u]of Object.entries(e)){const h=u.propertyName||d;Et(r.get(h),this._state[h])||(L.call(this,{type:"slot",name:o.get(h),reason:"children"}),p=!0)}p||L.call(this,{type:"slot",name:"default",reason:"textcontent"})}_clearSlot(t,e){const n=e.propertyName||t;this._state[n].forEach(r=>{if(xt(r)){const o=this._getChildChangeListener(t);o&&r.detachInvalidate.call(r,o)}r instanceof HTMLSlotElement&&this._detachSlotChange(r,t)}),this._state[n]=[]}attachInvalidate(t){this._eventProvider.attachEvent("invalidate",t)}detachInvalidate(t){this._eventProvider.detachEvent("invalidate",t)}_onChildChange(t,e){!this.constructor.getMetadata().shouldInvalidateOnChildChange(t,e.type,e.name)||L.call(this,{type:"slot",name:t,reason:"childchange",child:e.target})}attributeChangedCallback(t,e,n){let i;if(this._doNotSyncAttributes.has(t))return;const r=this.constructor.getMetadata().getProperties(),o=t.replace(/^ui5-/,""),c=wt(o);if(r.hasOwnProperty(c)){const a=r[c],l=a.type;let p=a.validator;l&&l.isDataTypeClass&&(p=l),p?i=p.attributeToProperty(n):l===Boolean?i=n!==null:i=n,this[c]=i}}_updateAttribute(t,e){const n=this.constructor;if(!n.getMetadata().hasAttribute(t))return;const r=n.getMetadata().getProperties()[t],o=r.type;let c=r.validator;const a=Zt(t),l=this.getAttribute(a);if(o&&o.isDataTypeClass&&(c=o),c){const p=c.propertyToAttribute(e);p===null?(this._doNotSyncAttributes.add(a),this.removeAttribute(a),this._doNotSyncAttributes.delete(a)):this.setAttribute(a,p)}else o===Boolean?e===!0&&l===null?this.setAttribute(a,""):e===!1&&l!==null&&this.removeAttribute(a):typeof e!="object"&&l!==e&&this.setAttribute(a,e)}_upgradeProperty(t){if(this.hasOwnProperty(t)){const e=this[t];delete this[t],this[t]=e}}_upgradeAllProperties(){this.constructor.getMetadata().getPropertiesList().forEach(this._upgradeProperty.bind(this))}_getChildChangeListener(t){return this._childChangeListeners.has(t)||this._childChangeListeners.set(t,this._onChildChange.bind(this,t)),this._childChangeListeners.get(t)}_getSlotChangeListener(t){return this._slotChangeListeners.has(t)||this._slotChangeListeners.set(t,this._onSlotChange.bind(this,t)),this._slotChangeListeners.get(t)}_attachSlotChange(t,e){const n=this._getSlotChangeListener(e);n&&t.addEventListener("slotchange",n)}_detachSlotChange(t,e){t.removeEventListener("slotchange",this._getSlotChangeListener(e))}_onSlotChange(t){L.call(this,{type:"slot",name:t,reason:"slotchange"})}onInvalidation(t){}_render(){const t=this.constructor,e=t.getMetadata().hasIndividualSlots();this._suppressInvalidation=!0,this.onBeforeRendering(),this._onComponentStateFinalized&&this._onComponentStateFinalized(),this._suppressInvalidation=!1,this._changedState=[],t._needsShadowDOM()&&ht(this),this.staticAreaItem&&this.staticAreaItem.update(),e&&this._assignIndividualSlotsToChildren(),this.onAfterRendering()}_assignIndividualSlotsToChildren(){Array.from(this.children).forEach(e=>{e._individualSlot&&e.setAttribute("slot",e._individualSlot)})}_waitForDomRef(){return this._domRefReadyPromise}getDomRef(){if(typeof this._getRealDomRef=="function")return this._getRealDomRef();if(!this.shadowRoot||this.shadowRoot.children.length===0)return;const t=[...this.shadowRoot.children].filter(e=>!["link","style"].includes(e.localName));return t.length!==1&&console.warn(`The shadow DOM for ${this.constructor.getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`),t[0]}getFocusDomRef(){const t=this.getDomRef();if(t)return t.querySelector("[data-sap-focus-ref]")||t}async getFocusDomRefAsync(){return await this._waitForDomRef(),this.getFocusDomRef()}async focus(t){await this._waitForDomRef();const e=this.getFocusDomRef();e&&typeof e.focus=="function"&&e.focus(t)}fireEvent(t,e,n=!1,i=!0){const r=this._fireEvent(t,e,n,i),o=wt(t);return o!==t?r&&this._fireEvent(o,e,n):r}_fireEvent(t,e,n=!1,i=!0){const r=new CustomEvent(`ui5-${t}`,{detail:e,composed:!1,bubbles:i,cancelable:n}),o=this.dispatchEvent(r);if(As(t))return o;const c=new CustomEvent(t,{detail:e,composed:!1,bubbles:i,cancelable:n});return this.dispatchEvent(c)&&o}getSlottedNodes(t){return Ze(this[t])}get effectiveDir(){return Ce(this.constructor),Qt(this)}get isUI5Element(){return!0}get classes(){return{}}static get observedAttributes(){return this.getMetadata().getAttributesList()}static _needsShadowDOM(){return!!this.template||Object.prototype.hasOwnProperty.call(this.prototype,"render")}static _needsStaticArea(){return!!this.staticAreaTemplate||Object.prototype.hasOwnProperty.call(this.prototype,"renderStatic")}getStaticAreaItemDomRef(){if(!this.constructor._needsStaticArea())throw new Error("This component does not use the static area");return this.staticAreaItem||(this.staticAreaItem=O.createInstance(),this.staticAreaItem.setOwnerElement(this)),this.staticAreaItem.parentElement||Se("ui5-static-area").appendChild(this.staticAreaItem),this.staticAreaItem.getDomRef()}static _generateAccessors(){const t=this.prototype,e=this.getMetadata().slotsAreManaged(),n=this.getMetadata().getProperties();for(const[i,r]of Object.entries(n)){if(bt(i)||console.warn(`"${i}" is not a valid property name. Use a name that does not collide with DOM APIs`),r.type===Boolean&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All booleans are false by default.`);if(r.type===Array)throw new Error(`Wrong type for property "${i}". Properties cannot be of type Array - use "multiple: true" and set "type" to the single value type, such as "String", "Object", etc...`);if(r.type===Object&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All properties of type "Object" are empty objects by default.`);if(r.multiple&&r.defaultValue)throw new Error(`Cannot set a default value for property "${i}". All multiple properties are empty arrays by default.`);Object.defineProperty(t,i,{get(){if(this._state[i]!==void 0)return this._state[i];const o=r.defaultValue;return r.type===Boolean?!1:r.type===String?o:r.multiple?[]:o},set(o){let c;o=this.constructor.getMetadata().constructor.validatePropertyValue(o,r);const p=r.type;let d=r.validator;const u=this._state[i];p&&p.isDataTypeClass&&(d=p),d?c=!d.valuesAreEqual(u,o):Array.isArray(u)&&Array.isArray(o)&&r.multiple&&r.compareValues?c=!Et(u,o):c=u!==o,c&&(this._state[i]=o,L.call(this,{type:"property",name:i,newValue:o,oldValue:u}),this._updateAttribute(i,o))}})}if(e){const i=this.getMetadata().getSlots();for(const[r,o]of Object.entries(i)){bt(r)||console.warn(`"${r}" is not a valid property name. Use a name that does not collide with DOM APIs`);const c=o.propertyName||r;Object.defineProperty(t,c,{get(){return this._state[c]!==void 0?this._state[c]:[]},set(){throw new Error("Cannot set slot content directly, use the DOM APIs (appendChild, removeChild, etc...)")}})}}}static get styles(){return""}static get staticAreaStyles(){return""}static get dependencies(){return[]}static getUniqueDependencies(){if(!it.has(this)){const t=this.dependencies.filter((e,n,i)=>i.indexOf(e)===n);it.set(this,t)}return it.get(this)||[]}static whenDependenciesDefined(){return Promise.all(this.getUniqueDependencies().map(t=>t.define()))}static async onDefine(){return Promise.resolve()}static async define(){await be(),await Promise.all([this.whenDependenciesDefined(),this.onDefine()]);const t=this.getMetadata().getTag(),e=Ee(t),n=customElements.get(t);return n&&!e?Te(t):n||(this._generateAccessors(),Me(t),window.customElements.define(t,this)),this}static getMetadata(){if(this.hasOwnProperty("_metadata"))return this._metadata;const t=[this.metadata];let e=this;for(;e!==w;)e=Object.getPrototypeOf(e),t.unshift(e.metadata);const n=xe({},...t);return this._metadata=new Ke(n),this._metadata}}w.metadata={};const xt=s=>"isUI5Element"in s;/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2017 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e,p as o,x as t}from"../../Boot.
|
|
1
|
+
import{H as e,p as o,x as t}from"../../Boot.25013294.js";e(()=>{console.log("Listener1: after framework booted!")});o();const s={registerThemeProps:async()=>{t("@ui5/webcomponents-theming","sap_fiori_3",()=>({content:":root{ --customCol: #fff; --customBg: #000; }",packageName:"",fileName:""}))}};window["sap-ui-webcomponents-bundle"]=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../Boot.
|
|
1
|
+
import"../../Boot.25013294.js";import"../../bundle.esm.61c10c47.js";const s=async()=>{["de","es","fr","en"].forEach(e=>window["sap-ui-webcomponents-bundle"].registerI18nLoader("myApp",e,()=>`./assets/messagebundle_${e}.properties`));const n=(await window["sap-ui-webcomponents-bundle"].getI18nBundle("myApp")).getText("PLEASE_WAIT");console.log("Please wait in the current language is: ",n)};s();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../Boot.
|
|
1
|
+
import"../../Boot.25013294.js";import"../../bundle.esm.61c10c47.js";const a=async()=>{window["sap-ui-webcomponents-bundle"].configuration.setLanguage("fr");const s=["test_1","test_2","test_3","test_4","test_5","test_6","test_7","test_8","test_9"];window["sap-ui-webcomponents-bundle"].registerI18nLoader("myApp","fr",async e=>{const t=await(await fetch(`./assets/messagebundle_${e}.properties`)).text();return window["sap-ui-webcomponents-bundle"].parseProperties(t)});const r=await window["sap-ui-webcomponents-bundle"].getI18nBundle("myApp");s.forEach(e=>{const t=r.getText(e.toUpperCase(),"test"),n=document.getElementById(`${e}_text`);n.innerText=t}),s.forEach(e=>{const t=document.getElementById(`${e}_text`),n=document.getElementById(`${e}_result`);if(t.innerText!==n.innerText){const o=n.parentElement;o.style.textDecoration="underline",o.style.color="red"}})};a();
|