@ui5/webcomponents-base 0.0.0-235d4ecde → 0.0.0-2514bd09f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/CHANGELOG.md +246 -0
  2. package/README.md +2 -1
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/AssetRegistry.d.ts +2 -2
  5. package/dist/AssetRegistry.js +2 -2
  6. package/dist/AssetRegistry.js.map +1 -1
  7. package/dist/CustomElementsScope.d.ts +2 -2
  8. package/dist/Device.d.ts +2 -1
  9. package/dist/Device.js +10 -1
  10. package/dist/Device.js.map +1 -1
  11. package/dist/InitialConfiguration.d.ts +2 -1
  12. package/dist/InitialConfiguration.js +6 -1
  13. package/dist/InitialConfiguration.js.map +1 -1
  14. package/dist/Keys.js +104 -105
  15. package/dist/Keys.js.map +1 -1
  16. package/dist/ManagedStyles.d.ts +5 -4
  17. package/dist/ManagedStyles.js +86 -11
  18. package/dist/ManagedStyles.js.map +1 -1
  19. package/dist/UI5Element.d.ts +16 -2
  20. package/dist/UI5Element.js +31 -12
  21. package/dist/UI5Element.js.map +1 -1
  22. package/dist/UI5ElementMetadata.d.ts +1 -0
  23. package/dist/UI5ElementMetadata.js +2 -2
  24. package/dist/UI5ElementMetadata.js.map +1 -1
  25. package/dist/asset-registries/Illustrations.js +8 -9
  26. package/dist/asset-registries/Illustrations.js.map +1 -1
  27. package/dist/asset-registries/Themes.d.ts +4 -3
  28. package/dist/asset-registries/Themes.js +26 -10
  29. package/dist/asset-registries/Themes.js.map +1 -1
  30. package/dist/asset-registries/i18n.js +2 -1
  31. package/dist/asset-registries/i18n.js.map +1 -1
  32. package/dist/config/CalendarType.d.ts +8 -1
  33. package/dist/config/CalendarType.js +18 -2
  34. package/dist/config/CalendarType.js.map +1 -1
  35. package/dist/config/Icons.d.ts +1 -1
  36. package/dist/config/Icons.js.map +1 -1
  37. package/dist/css/FontFace.css +13 -1
  38. package/dist/delegate/ItemNavigation.d.ts +1 -0
  39. package/dist/delegate/ItemNavigation.js +3 -4
  40. package/dist/delegate/ItemNavigation.js.map +1 -1
  41. package/dist/delegate/ScrollEnablement.js +2 -2
  42. package/dist/delegate/ScrollEnablement.js.map +1 -1
  43. package/dist/features/OpenUI5Enablement.d.ts +1 -1
  44. package/dist/features/OpenUI5Support.js +2 -1
  45. package/dist/features/OpenUI5Support.js.map +1 -1
  46. package/dist/generated/AssetParameters.d.ts +6 -0
  47. package/dist/generated/AssetParameters.js +3 -10
  48. package/dist/generated/AssetParameters.js.map +1 -0
  49. package/dist/generated/VersionInfo.d.ts +10 -0
  50. package/dist/generated/VersionInfo.js +9 -8
  51. package/dist/generated/VersionInfo.js.map +1 -0
  52. package/dist/generated/css/FontFace.css.js +1 -1
  53. package/dist/generated/css/FontFace.css.js.map +1 -1
  54. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +1 -1
  55. package/dist/renderer/LitRenderer.d.ts +2 -2
  56. package/dist/theming/applyTheme.js +4 -4
  57. package/dist/theming/applyTheme.js.map +1 -1
  58. package/dist/types/CSSSize.d.ts +15 -0
  59. package/dist/types/CSSSize.js +18 -0
  60. package/dist/types/CSSSize.js.map +1 -0
  61. package/dist/types/InvisibleMessageMode.d.ts +5 -4
  62. package/dist/types/InvisibleMessageMode.js +4 -5
  63. package/dist/types/InvisibleMessageMode.js.map +1 -1
  64. package/dist/util/ColorConversion.js +200 -195
  65. package/dist/util/ColorConversion.js.map +1 -1
  66. package/dist/util/InvisibleMessage.d.ts +1 -1
  67. package/dist/util/InvisibleMessage.js.map +1 -1
  68. package/dist/util/getClassCopy.d.ts +47 -31
  69. package/dist/util/getParentElement.d.ts +2 -0
  70. package/dist/util/getParentElement.js +5 -0
  71. package/dist/util/getParentElement.js.map +1 -0
  72. package/dist/util/isElementContainingBlock.d.ts +2 -0
  73. package/dist/util/isElementContainingBlock.js +11 -0
  74. package/dist/util/isElementContainingBlock.js.map +1 -0
  75. package/lib/generate-asset-parameters/index.js +2 -2
  76. package/lib/generate-version-info/index.js +2 -2
  77. package/package-scripts.cjs +6 -7
  78. package/package.json +7 -4
  79. package/src/css/FontFace.css +13 -1
  80. package/tsconfig.json +3 -0
  81. package/dist/api.json +0 -1
  82. package/dist/assets/Boot.34b7cea0.css +0 -1
  83. package/dist/assets/Boot.7b309c27.js +0 -9
  84. package/dist/assets/bundle.esm.cd5e6349.js +0 -50
@@ -1 +1 @@
1
- {"version":3,"file":"InvisibleMessage.js","sourceRoot":"","sources":["../../src/util/InvisibleMessage.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,IAAI,UAAuB,CAAC;AAC5B,IAAI,aAA0B,CAAC;AAE/B,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC/B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACxC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAC7B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;IACzB,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACjC,CAAC,CAAC;AAEF,UAAU,CAAC,GAAG,EAAE;IACf,IAAI,UAAU,IAAI,aAAa,EAAE;QAChC,OAAO;KACP;IAED,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACxD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9D,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/C,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAErD,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEtC,2BAA2B,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACvE,2BAA2B,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,IAA+B,EAAE,EAAE;IACrE,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAElF,oFAAoF;IACpF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAE3B,IAAI,IAAI,KAAK,oBAAoB,CAAC,SAAS,IAAI,IAAI,KAAK,oBAAoB,CAAC,MAAM,EAAE;QACpF,OAAO,CAAC,IAAI,CAAC,0IAA0I,CAAC,CAAC,CAAC,sBAAsB;KAChL;IAED,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE;QACf,iFAAiF;QACjF,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACtB;IACF,CAAC,EAAE,IAAI,CAAC,CAAC;AACV,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import InvisibleMessageMode from \"../types/InvisibleMessageMode.js\";\nimport getSingletonElementInstance from \"./getSingletonElementInstance.js\";\nimport { attachBoot } from \"../Boot.js\";\n\nlet politeSpan: HTMLElement;\nlet assertiveSpan: HTMLElement;\n\nconst setOutOfViewportStyles = (el: HTMLElement) => {\n\tel.style.position = \"absolute\";\n\tel.style.clip = \"rect(1px,1px,1px,1px)\";\n\tel.style.userSelect = \"none\";\n\tel.style.left = \"-1000px\";\n\tel.style.top = \"-1000px\";\n\tel.style.pointerEvents = \"none\";\n};\n\nattachBoot(() => {\n\tif (politeSpan && assertiveSpan) {\n\t\treturn;\n\t}\n\n\tpoliteSpan = document.createElement(\"span\");\n\tassertiveSpan = document.createElement(\"span\");\n\n\tpoliteSpan.classList.add(\"ui5-invisiblemessage-polite\");\n\tassertiveSpan.classList.add(\"ui5-invisiblemessage-assertive\");\n\n\tpoliteSpan.setAttribute(\"aria-live\", \"polite\");\n\tassertiveSpan.setAttribute(\"aria-live\", \"assertive\");\n\n\tpoliteSpan.setAttribute(\"role\", \"alert\");\n\tassertiveSpan.setAttribute(\"role\", \"alert\");\n\n\tsetOutOfViewportStyles(politeSpan);\n\tsetOutOfViewportStyles(assertiveSpan);\n\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(politeSpan);\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(assertiveSpan);\n});\n\n/**\n * Inserts the string into the respective span, depending on the mode provided.\n *\n * @param { string } message String to be announced by the screen reader.\n * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.\n * @public\n */\nconst announce = (message: string, mode: `${InvisibleMessageMode}`) => {\n\t// If no type is presented, fallback to polite announcement.\n\tconst span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;\n\n\t// Set textContent to empty string in order to trigger screen reader's announcement.\n\tspan.textContent = \"\";\n\tspan.textContent = message;\n\n\tif (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {\n\t\tconsole.warn(`You have entered an invalid mode. Valid values are: \"Polite\" and \"Assertive\". The framework will automatically set the mode to \"Polite\".`); // eslint-disable-line\n\t}\n\n\t// clear the span in order to avoid reading it out while in JAWS reading node\n\tsetTimeout(() => {\n\t\t// ensure that we clear the text node only if no announce is made in the meantime\n\t\tif (span.textContent === message) {\n\t\t\tspan.textContent = \"\";\n\t\t}\n\t}, 3000);\n};\n\nexport default announce;\n"]}
1
+ {"version":3,"file":"InvisibleMessage.js","sourceRoot":"","sources":["../../src/util/InvisibleMessage.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,IAAI,UAAuB,CAAC;AAC5B,IAAI,aAA0B,CAAC;AAE/B,MAAM,sBAAsB,GAAG,CAAC,EAAe,EAAE,EAAE;IAClD,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAC/B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACxC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IAC7B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;IACzB,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACjC,CAAC,CAAC;AAEF,UAAU,CAAC,GAAG,EAAE;IACf,IAAI,UAAU,IAAI,aAAa,EAAE;QAChC,OAAO;KACP;IAED,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE/C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACxD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9D,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/C,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAErD,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEtC,2BAA2B,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACvE,2BAA2B,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,IAA0B,EAAE,EAAE;IAChE,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;IAElF,oFAAoF;IACpF,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAE3B,IAAI,IAAI,KAAK,oBAAoB,CAAC,SAAS,IAAI,IAAI,KAAK,oBAAoB,CAAC,MAAM,EAAE;QACpF,OAAO,CAAC,IAAI,CAAC,0IAA0I,CAAC,CAAC,CAAC,sBAAsB;KAChL;IAED,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE;QACf,iFAAiF;QACjF,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACtB;IACF,CAAC,EAAE,IAAI,CAAC,CAAC;AACV,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC","sourcesContent":["import InvisibleMessageMode from \"../types/InvisibleMessageMode.js\";\nimport getSingletonElementInstance from \"./getSingletonElementInstance.js\";\nimport { attachBoot } from \"../Boot.js\";\n\nlet politeSpan: HTMLElement;\nlet assertiveSpan: HTMLElement;\n\nconst setOutOfViewportStyles = (el: HTMLElement) => {\n\tel.style.position = \"absolute\";\n\tel.style.clip = \"rect(1px,1px,1px,1px)\";\n\tel.style.userSelect = \"none\";\n\tel.style.left = \"-1000px\";\n\tel.style.top = \"-1000px\";\n\tel.style.pointerEvents = \"none\";\n};\n\nattachBoot(() => {\n\tif (politeSpan && assertiveSpan) {\n\t\treturn;\n\t}\n\n\tpoliteSpan = document.createElement(\"span\");\n\tassertiveSpan = document.createElement(\"span\");\n\n\tpoliteSpan.classList.add(\"ui5-invisiblemessage-polite\");\n\tassertiveSpan.classList.add(\"ui5-invisiblemessage-assertive\");\n\n\tpoliteSpan.setAttribute(\"aria-live\", \"polite\");\n\tassertiveSpan.setAttribute(\"aria-live\", \"assertive\");\n\n\tpoliteSpan.setAttribute(\"role\", \"alert\");\n\tassertiveSpan.setAttribute(\"role\", \"alert\");\n\n\tsetOutOfViewportStyles(politeSpan);\n\tsetOutOfViewportStyles(assertiveSpan);\n\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(politeSpan);\n\tgetSingletonElementInstance(\"ui5-static-area\").appendChild(assertiveSpan);\n});\n\n/**\n * Inserts the string into the respective span, depending on the mode provided.\n *\n * @param { string } message String to be announced by the screen reader.\n * @param { InvisibleMessageMode } mode The mode to be inserted in the aria-live attribute.\n * @public\n */\nconst announce = (message: string, mode: InvisibleMessageMode) => {\n\t// If no type is presented, fallback to polite announcement.\n\tconst span = mode === InvisibleMessageMode.Assertive ? assertiveSpan : politeSpan;\n\n\t// Set textContent to empty string in order to trigger screen reader's announcement.\n\tspan.textContent = \"\";\n\tspan.textContent = message;\n\n\tif (mode !== InvisibleMessageMode.Assertive && mode !== InvisibleMessageMode.Polite) {\n\t\tconsole.warn(`You have entered an invalid mode. Valid values are: \"Polite\" and \"Assertive\". The framework will automatically set the mode to \"Polite\".`); // eslint-disable-line\n\t}\n\n\t// clear the span in order to avoid reading it out while in JAWS reading node\n\tsetTimeout(() => {\n\t\t// ensure that we clear the text node only if no announce is made in the meantime\n\t\tif (span.textContent === message) {\n\t\t\tspan.textContent = \"\";\n\t\t}\n\t}, 3000);\n};\n\nexport default announce;\n"]}
@@ -4,9 +4,10 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
4
4
  __id?: string | undefined;
5
5
  _suppressInvalidation: boolean;
6
6
  _changedState: import("../UI5Element.js").ChangeInfo[];
7
- _eventProvider: import("../EventProvider.js").default<import("../UI5Element.js").ChangeInfo & {
7
+ _invalidationEventProvider: import("../EventProvider.js").default<import("../UI5Element.js").ChangeInfo & {
8
8
  target: UI5Element;
9
9
  }, void>;
10
+ _componentStateFinalizedEventProvider: import("../EventProvider.js").default<void, void>;
10
11
  _inDOM: boolean;
11
12
  _fullyConnected: boolean;
12
13
  _childChangeListeners: Map<string, (param: import("../UI5Element.js").ChangeInfo & {
@@ -18,7 +19,6 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
18
19
  };
19
20
  _doNotSyncAttributes: Set<string>;
20
21
  _state: import("../UI5ElementMetadata.js").State;
21
- _onComponentStateFinalized?: (() => void) | undefined;
22
22
  _getRealDomRef?: (() => HTMLElement) | undefined;
23
23
  staticAreaItem?: import("../StaticAreaItem.js").default | undefined;
24
24
  readonly _id: string;
@@ -66,6 +66,8 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
66
66
  fireEvent<T>(name: string, data?: T | undefined, cancelable?: boolean, bubbles?: boolean): boolean;
67
67
  _fireEvent<T_1>(name: string, data?: T_1 | undefined, cancelable?: boolean, bubbles?: boolean): boolean;
68
68
  getSlottedNodes<T_2 = Node>(slotName: string): T_2[];
69
+ attachComponentStateFinalized(callback: () => void): void;
70
+ detachComponentStateFinalized(callback: () => void): void;
69
71
  readonly effectiveDir: string | undefined;
70
72
  readonly isUI5Element: boolean;
71
73
  readonly classes: import("../types.js").ClassMap;
@@ -85,11 +87,15 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
85
87
  readonly offsetTop: number;
86
88
  readonly offsetWidth: number;
87
89
  outerText: string;
90
+ popover: string | null;
88
91
  spellcheck: boolean;
89
92
  title: string;
90
93
  translate: boolean;
91
94
  attachInternals(): ElementInternals;
92
95
  click(): void;
96
+ hidePopover(): void;
97
+ showPopover(): void;
98
+ togglePopover(force?: boolean | undefined): void;
93
99
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
94
100
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
95
101
  removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions | undefined): void;
@@ -118,9 +124,12 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
118
124
  slot: string;
119
125
  readonly tagName: string;
120
126
  attachShadow(init: ShadowRootInit): ShadowRoot;
127
+ checkVisibility(options?: CheckVisibilityOptions | undefined): boolean;
121
128
  closest<K_2 extends keyof HTMLElementTagNameMap>(selector: K_2): HTMLElementTagNameMap[K_2] | null;
122
129
  closest<K_3 extends keyof SVGElementTagNameMap>(selector: K_3): SVGElementTagNameMap[K_3] | null;
130
+ closest<K_4 extends keyof MathMLElementTagNameMap>(selector: K_4): MathMLElementTagNameMap[K_4] | null;
123
131
  closest<E extends Element = Element>(selectors: string): E | null;
132
+ computedStyleMap(): StylePropertyMapReadOnly;
124
133
  getAttribute(qualifiedName: string): string | null;
125
134
  getAttributeNS(namespace: string | null, localName: string): string | null;
126
135
  getAttributeNames(): string[];
@@ -129,11 +138,14 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
129
138
  getBoundingClientRect(): DOMRect;
130
139
  getClientRects(): DOMRectList;
131
140
  getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
132
- getElementsByTagName<K_4 extends keyof HTMLElementTagNameMap>(qualifiedName: K_4): HTMLCollectionOf<HTMLElementTagNameMap[K_4]>;
133
- getElementsByTagName<K_5 extends keyof SVGElementTagNameMap>(qualifiedName: K_5): HTMLCollectionOf<SVGElementTagNameMap[K_5]>;
141
+ getElementsByTagName<K_5 extends keyof HTMLElementTagNameMap>(qualifiedName: K_5): HTMLCollectionOf<HTMLElementTagNameMap[K_5]>;
142
+ getElementsByTagName<K_6 extends keyof SVGElementTagNameMap>(qualifiedName: K_6): HTMLCollectionOf<SVGElementTagNameMap[K_6]>;
143
+ getElementsByTagName<K_7 extends keyof MathMLElementTagNameMap>(qualifiedName: K_7): HTMLCollectionOf<MathMLElementTagNameMap[K_7]>;
144
+ getElementsByTagName<K_8 extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K_8): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K_8]>;
134
145
  getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
135
146
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
136
147
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
148
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf<MathMLElement>;
137
149
  getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;
138
150
  hasAttribute(qualifiedName: string): boolean;
139
151
  hasAttributeNS(namespace: string | null, localName: string): boolean;
@@ -191,24 +203,24 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
191
203
  normalize(): void;
192
204
  removeChild<T_5 extends Node>(child: T_5): T_5;
193
205
  replaceChild<T_6 extends Node>(node: Node, child: T_6): T_6;
194
- readonly ATTRIBUTE_NODE: number;
195
- readonly CDATA_SECTION_NODE: number;
196
- readonly COMMENT_NODE: number;
197
- readonly DOCUMENT_FRAGMENT_NODE: number;
198
- readonly DOCUMENT_NODE: number;
199
- readonly DOCUMENT_POSITION_CONTAINED_BY: number;
200
- readonly DOCUMENT_POSITION_CONTAINS: number;
201
- readonly DOCUMENT_POSITION_DISCONNECTED: number;
202
- readonly DOCUMENT_POSITION_FOLLOWING: number;
203
- readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
204
- readonly DOCUMENT_POSITION_PRECEDING: number;
205
- readonly DOCUMENT_TYPE_NODE: number;
206
- readonly ELEMENT_NODE: number;
207
- readonly ENTITY_NODE: number;
208
- readonly ENTITY_REFERENCE_NODE: number;
209
- readonly NOTATION_NODE: number;
210
- readonly PROCESSING_INSTRUCTION_NODE: number;
211
- readonly TEXT_NODE: number;
206
+ readonly ELEMENT_NODE: 1;
207
+ readonly ATTRIBUTE_NODE: 2;
208
+ readonly TEXT_NODE: 3;
209
+ readonly CDATA_SECTION_NODE: 4;
210
+ readonly ENTITY_REFERENCE_NODE: 5;
211
+ readonly ENTITY_NODE: 6;
212
+ readonly PROCESSING_INSTRUCTION_NODE: 7;
213
+ readonly COMMENT_NODE: 8;
214
+ readonly DOCUMENT_NODE: 9;
215
+ readonly DOCUMENT_TYPE_NODE: 10;
216
+ readonly DOCUMENT_FRAGMENT_NODE: 11;
217
+ readonly NOTATION_NODE: 12;
218
+ readonly DOCUMENT_POSITION_DISCONNECTED: 1;
219
+ readonly DOCUMENT_POSITION_PRECEDING: 2;
220
+ readonly DOCUMENT_POSITION_FOLLOWING: 4;
221
+ readonly DOCUMENT_POSITION_CONTAINS: 8;
222
+ readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
223
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
212
224
  dispatchEvent(event: Event): boolean;
213
225
  ariaAtomic: string | null;
214
226
  ariaAutoComplete: string | null;
@@ -216,7 +228,6 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
216
228
  ariaChecked: string | null;
217
229
  ariaColCount: string | null;
218
230
  ariaColIndex: string | null;
219
- ariaColIndexText: string | null;
220
231
  ariaColSpan: string | null;
221
232
  ariaCurrent: string | null;
222
233
  ariaDisabled: string | null;
@@ -240,7 +251,6 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
240
251
  ariaRoleDescription: string | null;
241
252
  ariaRowCount: string | null;
242
253
  ariaRowIndex: string | null;
243
- ariaRowIndexText: string | null;
244
254
  ariaRowSpan: string | null;
245
255
  ariaSelected: string | null;
246
256
  ariaSetSize: string | null;
@@ -265,17 +275,19 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
265
275
  readonly lastElementChild: Element | null;
266
276
  append(...nodes: (string | Node)[]): void;
267
277
  prepend(...nodes: (string | Node)[]): void;
268
- querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6] | null;
269
- querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7] | null;
278
+ querySelector<K_9 extends keyof HTMLElementTagNameMap>(selectors: K_9): HTMLElementTagNameMap[K_9] | null;
279
+ querySelector<K_10 extends keyof SVGElementTagNameMap>(selectors: K_10): SVGElementTagNameMap[K_10] | null;
280
+ querySelector<K_11 extends keyof MathMLElementTagNameMap>(selectors: K_11): MathMLElementTagNameMap[K_11] | null;
281
+ querySelector<K_12 extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K_12): HTMLElementDeprecatedTagNameMap[K_12] | null;
270
282
  querySelector<E_1 extends Element = Element>(selectors: string): E_1 | null;
271
- querySelectorAll<K_8 extends keyof HTMLElementTagNameMap>(selectors: K_8): NodeListOf<HTMLElementTagNameMap[K_8]>;
272
- querySelectorAll<K_9 extends keyof SVGElementTagNameMap>(selectors: K_9): NodeListOf<SVGElementTagNameMap[K_9]>;
283
+ querySelectorAll<K_13 extends keyof HTMLElementTagNameMap>(selectors: K_13): NodeListOf<HTMLElementTagNameMap[K_13]>;
284
+ querySelectorAll<K_14 extends keyof SVGElementTagNameMap>(selectors: K_14): NodeListOf<SVGElementTagNameMap[K_14]>;
285
+ querySelectorAll<K_15 extends keyof MathMLElementTagNameMap>(selectors: K_15): NodeListOf<MathMLElementTagNameMap[K_15]>;
286
+ querySelectorAll<K_16 extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K_16): NodeListOf<HTMLElementDeprecatedTagNameMap[K_16]>;
273
287
  querySelectorAll<E_2 extends Element = Element>(selectors: string): NodeListOf<E_2>;
274
288
  replaceChildren(...nodes: (string | Node)[]): void;
275
289
  readonly assignedSlot: HTMLSlotElement | null;
276
- oncopy: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
277
- oncut: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
278
- onpaste: ((this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any) | null;
290
+ readonly attributeStyleMap: StylePropertyMap;
279
291
  readonly style: CSSStyleDeclaration;
280
292
  contentEditable: string;
281
293
  enterKeyHint: string;
@@ -296,7 +308,9 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
296
308
  onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
297
309
  onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
298
310
  oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
311
+ oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
299
312
  oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
313
+ oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
300
314
  ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
301
315
  ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
302
316
  ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null;
@@ -329,6 +343,7 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
329
343
  onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
330
344
  onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
331
345
  onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;
346
+ onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
332
347
  onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null;
333
348
  onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
334
349
  onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -345,6 +360,7 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
345
360
  onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null;
346
361
  onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null;
347
362
  onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null;
363
+ onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
348
364
  onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null;
349
365
  onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null;
350
366
  onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null;
@@ -0,0 +1,2 @@
1
+ declare const getParentElement: (el: HTMLElement) => HTMLElement;
2
+ export default getParentElement;
@@ -0,0 +1,5 @@
1
+ const getParentElement = (el) => {
2
+ return (el.parentElement ? el.parentNode : el.parentNode.host);
3
+ };
4
+ export default getParentElement;
5
+ //# sourceMappingURL=getParentElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getParentElement.js","sourceRoot":"","sources":["../../src/util/getParentElement.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,CAAC,EAAe,EAAE,EAAE;IAC5C,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,CAAC,UAAyB,CAAC,IAAI,CAAgB,CAAC;AAC/F,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["const getParentElement = (el: HTMLElement) => {\n\treturn (el.parentElement ? el.parentNode : (el.parentNode as ShadowRoot).host) as HTMLElement;\n};\n\nexport default getParentElement;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const isElementContainingBlock: (el: HTMLElement) => boolean | "";
2
+ export default isElementContainingBlock;
@@ -0,0 +1,11 @@
1
+ const isElementContainingBlock = (el) => {
2
+ const computedStyle = getComputedStyle(el);
3
+ return ["size", "inline-size"].indexOf(computedStyle.containerType) > -1
4
+ || ["transform", "perspective"].indexOf(computedStyle.willChange) > -1
5
+ || ["layout", "paint", "strict", "content"].indexOf(computedStyle.contain) > -1
6
+ || (computedStyle.transform && computedStyle.transform !== "none")
7
+ || (computedStyle.perspective && computedStyle.perspective !== "none")
8
+ || (computedStyle.backdropFilter && computedStyle.backdropFilter !== "none");
9
+ };
10
+ export default isElementContainingBlock;
11
+ //# sourceMappingURL=isElementContainingBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isElementContainingBlock.js","sourceRoot":"","sources":["../../src/util/isElementContainingBlock.ts"],"names":[],"mappings":"AAAA,MAAM,wBAAwB,GAAG,CAAC,EAAe,EAAE,EAAE;IACpD,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;WACrE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;WACnE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;WAC5E,CAAC,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,KAAK,MAAM,CAAC;WAC/D,CAAC,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,KAAK,MAAM,CAAC;WACnE,CAAC,aAAa,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC","sourcesContent":["const isElementContainingBlock = (el: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(el);\n\n\treturn [\"size\", \"inline-size\"].indexOf(computedStyle.containerType) > -1\n\t|| [\"transform\", \"perspective\"].indexOf(computedStyle.willChange) > -1\n\t|| [\"layout\", \"paint\", \"strict\", \"content\"].indexOf(computedStyle.contain) > -1\n\t|| (computedStyle.transform && computedStyle.transform !== \"none\")\n\t|| (computedStyle.perspective && computedStyle.perspective !== \"none\")\n\t|| (computedStyle.backdropFilter && computedStyle.backdropFilter !== \"none\");\n};\n\nexport default isElementContainingBlock;\n"]}
@@ -18,8 +18,8 @@ export {
18
18
  };`;
19
19
 
20
20
  const generate = async () => {
21
- await fs.mkdir("dist/generated/", { recursive: true });
22
- return fs.writeFile("dist/generated/AssetParameters.js", fileContent);
21
+ await fs.mkdir("src/generated/", { recursive: true });
22
+ return fs.writeFile("src/generated/AssetParameters.ts", fileContent);
23
23
  }
24
24
 
25
25
  generate().then(() => {
@@ -23,8 +23,8 @@ const generate = async () => {
23
23
  };
24
24
  export default VersionInfo;`;
25
25
 
26
- await fs.mkdir("dist/generated/", { recursive: true });
27
- await fs.writeFile("dist/generated/VersionInfo.js", fileContent);
26
+ await fs.mkdir("src/generated/", { recursive: true });
27
+ await fs.writeFile("src/generated/VersionInfo.ts", fileContent);
28
28
  }
29
29
 
30
30
  generate().then(() => {
@@ -15,8 +15,9 @@ const viteConfig = `-c "${require.resolve("@ui5/webcomponents-tools/components-p
15
15
  const scripts = {
16
16
  clean: "rimraf jsdoc-dist && rimraf src/generated && rimraf dist && rimraf .port",
17
17
  lint: `eslint .`,
18
- prepare: "cross-env UI5_TS=true nps clean integrate copy generateAssetParameters generateVersionInfo generateStyles generateTemplates typescript generateAPI",
19
- typescript: "tsc",
18
+ generate: "cross-env UI5_TS=true nps clean integrate copy generateAssetParameters generateVersionInfo generateStyles generateTemplates",
19
+ prepare: "cross-env UI5_TS=true nps clean integrate copy generateAssetParameters generateVersionInfo generateStyles generateTemplates typescript",
20
+ typescript: "tsc -b",
20
21
  integrate: {
21
22
  default: "nps integrate.copy-used-modules integrate.replace-amd integrate.amd-to-es6 integrate.esm-abs-to-rel integrate.third-party",
22
23
  "copy-used-modules": `node "${copyUsedModules}" ./used-modules.txt dist/`,
@@ -30,7 +31,7 @@ const scripts = {
30
31
  },
31
32
  },
32
33
  build: {
33
- default: `nps prepare lint build.bundle`,
34
+ default: `nps prepare`,
34
35
  bundle: `vite build ${viteConfig}`,
35
36
  },
36
37
  copy: {
@@ -49,14 +50,12 @@ const scripts = {
49
50
  cleanup: "rimraf jsdoc-dist/"
50
51
  },
51
52
  watch: {
52
- default: 'concurrently "nps watch.src" "nps watch.styles" "nps watch.typescript"',
53
- withBundle: 'concurrently "nps watch.src" "nps watch.bundle" "nps watch.styles" "nps watch.typescript"',
53
+ default: 'concurrently "nps watch.src" "nps watch.styles"',
54
+ withBundle: 'concurrently "nps watch.src" "nps watch.bundle" "nps watch.styles"',
54
55
  src: 'nps "copy.src --watch --skip-initial-copy"',
55
- typescript: 'tsc --watch',
56
56
  bundle: `node ${LIB}/dev-server/dev-server.js ${viteConfig}`,
57
57
  styles: 'chokidar "src/css/*.css" -c "nps generateStyles"'
58
58
  },
59
- start: "nps prepare watch.withBundle",
60
59
  test: {
61
60
  default: 'concurrently "nps test.wdio" "nps test.ssr" "nps test.ssr2"',
62
61
  ssr: `mocha test/ssr`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/webcomponents-base",
3
- "version": "0.0.0-235d4ecde",
3
+ "version": "0.0.0-2514bd09f",
4
4
  "description": "UI5 Web Components: webcomponents.base",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -28,8 +28,11 @@
28
28
  "lint": "nps lint",
29
29
  "start": "nps start",
30
30
  "build": "nps build",
31
+ "generate": "nps generate",
32
+ "generateAPI": "nps generateAPI",
33
+ "bundle": "nps build.bundle",
31
34
  "test": "nps test",
32
- "prepublishOnly": "npm run clean && npm run build"
35
+ "prepublishOnly": "tsc"
33
36
  },
34
37
  "dependencies": {
35
38
  "lit-html": "^2.0.1"
@@ -37,8 +40,8 @@
37
40
  "devDependencies": {
38
41
  "@buxlabs/amd-to-es6": "0.16.1",
39
42
  "@openui5/sap.ui.core": "1.116.0",
40
- "@ui5/webcomponents-tools": "0.0.0-235d4ecde",
41
- "chromedriver": "116.0.0",
43
+ "@ui5/webcomponents-tools": "0.0.0-2514bd09f",
44
+ "chromedriver": "119.0.1",
42
45
  "clean-css": "^5.2.2",
43
46
  "copy-and-watch": "^0.1.5",
44
47
  "cross-env": "^7.0.3",
@@ -3,6 +3,7 @@
3
3
  font-style: normal;
4
4
  font-weight: 400;
5
5
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"), local("72");
6
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
6
7
  }
7
8
 
8
9
  @font-face {
@@ -10,7 +11,6 @@
10
11
  font-style: normal;
11
12
  font-weight: 400;
12
13
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"), local('72-full');
13
-
14
14
  }
15
15
 
16
16
  @font-face {
@@ -18,6 +18,7 @@
18
18
  font-style: normal;
19
19
  font-weight: 700;
20
20
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"), local('72-Bold');
21
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
21
22
  }
22
23
 
23
24
  @font-face {
@@ -31,6 +32,7 @@
31
32
  font-family: '72-Bold';
32
33
  font-style: normal;
33
34
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"), local('72-Bold');
35
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
34
36
  }
35
37
 
36
38
  @font-face {
@@ -43,6 +45,7 @@
43
45
  font-family: '72-Light';
44
46
  font-style: normal;
45
47
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Light.woff2?ui5-webcomponents) format("woff2"), local('72-Light');
48
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
46
49
  }
47
50
 
48
51
  @font-face {
@@ -54,6 +57,7 @@
54
57
  @font-face {
55
58
  font-family: '72Mono';
56
59
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Regular.woff2?ui5-webcomponents) format('woff2'), local('72Mono');
60
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
57
61
  }
58
62
 
59
63
  @font-face {
@@ -64,6 +68,7 @@
64
68
  @font-face {
65
69
  font-family: '72Mono-Bold';
66
70
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Bold.woff2?ui5-webcomponents) format('woff2'), local('72Mono-Bold');
71
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
67
72
  }
68
73
 
69
74
  @font-face {
@@ -76,9 +81,16 @@
76
81
  font-style: bold;
77
82
  font-weight: 900;
78
83
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2"), local('72Black');
84
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
85
+ }
86
+
87
+ @font-face {
88
+ font-family: '72Blackfull';
89
+ src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black-full.woff2?ui5-webcomponents) format('woff2');
79
90
  }
80
91
 
81
92
  @font-face {
82
93
  font-family: "72-SemiboldDuplex";
83
94
  src: url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-SemiboldDuplex.woff2?ui5-webcomponents) format("woff2"), local('72-SemiboldDuplex');
95
+ unicode-range: U+00, U+0D, U+20-7E, U+A0-FF, U+131, U+152-153, U+161, U+178, U+17D-17E, U+192, U+237, U+2C6, U+2DC, U+3BC, U+1E9E, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122;
84
96
  }
package/tsconfig.json CHANGED
@@ -10,5 +10,8 @@
10
10
  "inlineSources": true,
11
11
  "strict": true,
12
12
  "moduleResolution": "node",
13
+ "composite": true,
14
+ "rootDir": "src",
15
+ "tsBuildInfoFile": "dist/.tsbuildinfo",
13
16
  },
14
17
  }
package/dist/api.json DELETED
@@ -1 +0,0 @@
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 +0,0 @@
1
- .content{color:var(--customCol);background-color:var(--customBg)}
@@ -1,9 +0,0 @@
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 P={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","sap_horizon_dark_exp","sap_horizon_hcb_exp","sap_horizon_hcw_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"]}},k=P.themes.default,ht=P.themes.all,F=P.languages.default,d=P.locales.default,pe=P.locales.all,pt=()=>{const e=navigator.languages,t=()=>navigator.language;return e&&e[0]||t()||F};var ke={},De=ke.hasOwnProperty,gt=ke.toString,xe=De.toString,mt=xe.call(Object),ge=function(e){var t,n;return!e||gt.call(e)!=="[object Object]"?!1:(t=Object.getPrototypeOf(e),t?(n=De.call(t,"constructor")&&t.constructor,typeof n=="function"&&xe.call(n)===mt):!0)},wt=Object.create(null),ze=function(e,t,n,s){var r,o,a,u,R,w,p=arguments[2]||{},H=3,ft=arguments.length,he=arguments[0]||!1,dt=arguments[1]?void 0:wt;for(typeof p!="object"&&typeof p!="function"&&(p={});H<ft;H++)if((R=arguments[H])!=null)for(u in R)r=p[u],a=R[u],!(u==="__proto__"||p===a)&&(he&&a&&(ge(a)||(o=Array.isArray(a)))?(o?(o=!1,w=r&&Array.isArray(r)?r:[]):w=r&&ge(r)?r:{},p[u]=ze(he,arguments[1],w,a)):a!==dt&&(p[u]=a));return p};const Be=function(e,t){return ze(!0,!1,...arguments)},Fe=new Map,Qn=(e,t)=>{Fe.set(e,t)},b=e=>Fe.get(e),yt=e=>{const t=document.querySelector(`META[name="${e}"]`);return t&&t.getAttribute("content")},St=e=>{const t=yt("sap-allowedThemeOrigins");return t&&t.split(",").some(n=>n==="*"||e===n.trim())},_t=(e,t)=>{const n=new URL(e).pathname;return new URL(n,t).toString()},je=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&&St(s)?t=n.toString():t=_t(n.toString(),window.location.href)}return t.endsWith("/")||(t=`${t}/`),`${t}UI5/`}catch{}};var te;(function(e){e.Full="full",e.Basic="basic",e.Minimal="minimal",e.None="none"})(te||(te={}));const bt=te;let me=!1,c={animationMode:bt.Full,theme:k,themeRoot:void 0,rtl:void 0,language:void 0,timezone:void 0,calendarType:void 0,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const es=()=>(h(),c.animationMode),At=()=>(h(),c.theme),Tt=()=>(h(),c.themeRoot),ts=()=>(h(),c.rtl),vt=()=>(h(),c.language),Lt=()=>(h(),c.fetchDefaultLanguage),ns=()=>(h(),c.noConflict),ss=()=>(h(),c.calendarType),rs=()=>(h(),c.formatSettings),D=new Map;D.set("true",!0);D.set("false",!1);const Et=()=>{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&&(c=Be(c,t))}},Pt=()=>{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||we(n,t,"sap")}),e.forEach((t,n)=>{!n.startsWith("sap-ui")||we(n,t,"sap-ui")})},Ct=e=>{const t=e.split("@")[1];return je(t)},$t=(e,t)=>e==="theme"&&t.includes("@")?t.split("@")[0]:t,we=(e,t,n)=>{const s=t.toLowerCase(),r=e.split(`${n}-`)[1];D.has(t)&&(t=D.get(s)),r==="theme"?(c.theme=$t(r,t),t&&t.includes("@")&&(c.themeRoot=Ct(t))):c[r]=t},Rt=()=>{const e=b("OpenUI5Support");if(!e||!e.isOpenUI5Detected())return;const t=e.getConfigurationSettingsObject();c=Be(c,t)},h=()=>{typeof document>"u"||me||(Et(),Pt(),Rt(),me=!0)};class C{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 Ve=new C,We="languageChange",Ne=e=>{Ve.attachEvent(We,e)},Ot=e=>Ve.fireEventAsync(We,e),ye=10;class It{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>ye)throw new Error(`Web component processed too many times this task, max allowed is: ${ye}`);t(n),s.set(n,r+1),n=this.shift()}}}const Ut=(e,t=document.body,n)=>{let s=document.querySelector(e);return s||(s=n?n():document.createElement(e),t.insertBefore(s,t.firstChild))},Mt=()=>{const e=document.createElement("meta");return e.setAttribute("name","ui5-shared-resources"),e.setAttribute("content",""),e},kt=()=>typeof document>"u"?null:Ut('meta[name="ui5-shared-resources"]',document.head,Mt),j=(e,t)=>{const n=e.split(".");let s=kt();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},Dt={version:"0.0.0-235d4ecde",major:0,minor:0,patch:0,suffix:"-235d4ecde",isNext:!0,buildTime:1693397933};let U,xt="";const q=new Map,L=j("Runtimes",[]),zt=()=>{if(U===void 0){U=L.length;const e=Dt;L.push({...e,alias:xt,description:`Runtime ${U} - ver ${e.version}`})}},oe=()=>U,Bt=(e,t)=>{const n=`${e},${t}`;if(q.has(n))return q.get(n);const s=L[e],r=L[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 u=s.patch-r.patch;if(u)return u;const w=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(s.suffix,r.suffix);return q.set(n,w),w},Ft=()=>L,Ze=j("Tags",new Map),ae=new Set;let m=new Map,G;const He=-1,os=e=>{ae.add(e),Ze.set(e,oe())},as=e=>ae.has(e),jt=()=>[...ae.values()],is=e=>{let t=Ze.get(e);t===void 0&&(t=He),m.has(t)||m.set(t,new Set),m.get(t).add(e),G||(G=setTimeout(()=>{Vt(),m=new Map,G=void 0},1e3))},Vt=()=>{const e=Ft(),t=oe(),n=e[t];let s="Multiple UI5 Web Components instances detected.";e.length>1&&(s=`${s}
2
- Loading order (versions before 1.1.0 not listed): ${e.map(r=>`
3
- ${r.description}`).join("")}`),[...m.keys()].forEach(r=>{let o,a;r===He?(o=1,a={description:"Older unknown runtime"}):(o=Bt(t,r),a=e[r]);let u;o>0?u="an older":o<0?u="a newer":u="the same",s=`${s}
4
-
5
- "${n.description}" failed to define ${m.get(r).size} tag(s) as they were defined by a runtime of ${u} version "${a.description}": ${[...m.get(r)].sort().join(", ")}.`,o>0?s=`${s}
6
- WARNING! If your code uses features of the above web components, unavailable in ${a.description}, it might not work as expected!`:s=`${s}
7
- Since the above web components were defined by the same or newer version runtime, they should be compatible with your code.`}),s=`${s}
8
-
9
- To prevent other runtimes from defining tags that you use, consider using scoping or have third-party libraries use scoping: https://github.com/SAP/ui5-webcomponents/blob/main/docs/2-advanced/03-scoping.md.`,console.warn(s)},qe=new Set,cs=e=>{qe.add(e)},Wt=e=>qe.has(e),ie=new Set,Nt=new C,A=new It;let y,M,K,O;const Zt=async e=>{A.add(e),await qt()},Ht=e=>{Nt.fireEvent("beforeComponentRender",e),ie.add(e),e._render()},us=e=>{A.remove(e),ie.delete(e)},qt=async()=>{O||(O=new Promise(e=>{window.requestAnimationFrame(()=>{A.process(Ht),O=null,e(),K||(K=setTimeout(()=>{K=void 0,A.isEmpty()&&Xt()},200))})})),await O},Gt=()=>y||(y=new Promise(e=>{M=e,window.requestAnimationFrame(()=>{A.isEmpty()&&(y=void 0,e())})}),y),Kt=()=>{const e=jt().map(t=>customElements.whenDefined(t));return Promise.all(e)},Jt=async()=>{await Kt(),await Gt()},Xt=()=>{!A.isEmpty()||M&&(M(),M=void 0,y=void 0)},Ge=async e=>{ie.forEach(t=>{const n=t.constructor,s=n.getMetadata().getTag(),r=Wt(n),o=n.getMetadata().isLanguageAware(),a=n.getMetadata().isThemeAware();(!e||e.tag===s||e.rtlAware&&r||e.languageAware&&o||e.themeAware&&a)&&Zt(t)}),await Jt()};let T,ne;const Yt=()=>(T===void 0&&(T=vt()),T),ls=async e=>{T!==e&&(T=e,await Ot(e),await Ge({languageAware:!0}))},Qt=e=>{ne=e},en=()=>(ne===void 0&&Qt(Lt()),ne),tn=/^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;class Ke{constructor(t){const n=tn.exec(t.replace(/_/g,"-"));if(n===null)throw new Error(`The given language ${t} does not adhere to BCP-47.`);this.sLocaleId=t,this.sLanguage=n[1]||F,this.sScript=n[2]||"",this.sRegion=n[3]||"",this.sVariant=n[4]&&n[4].slice(1)||null,this.sExtension=n[5]&&n[5].slice(1)||null,this.sPrivateUse=n[6]||null,this.sLanguage&&(this.sLanguage=this.sLanguage.toLowerCase()),this.sScript&&(this.sScript=this.sScript.toLowerCase().replace(/^[a-z]/,s=>s.toUpperCase())),this.sRegion&&(this.sRegion=this.sRegion.toUpperCase())}getLanguage(){return this.sLanguage}getScript(){return this.sScript}getRegion(){return this.sRegion}getVariant(){return this.sVariant}getVariantSubtags(){return this.sVariant?this.sVariant.split("-"):[]}getExtension(){return this.sExtension}getExtensionSubtags(){return this.sExtension?this.sExtension.slice(2).split("-"):[]}getPrivateUse(){return this.sPrivateUse}getPrivateUseSubtags(){return this.sPrivateUse?this.sPrivateUse.slice(2).split("-"):[]}hasPrivateUseSubtag(t){return this.getPrivateUseSubtags().indexOf(t)>=0}toString(){const t=[this.sLanguage];return this.sScript&&t.push(this.sScript),this.sRegion&&t.push(this.sRegion),this.sVariant&&t.push(this.sVariant),this.sExtension&&t.push(this.sExtension),this.sPrivateUse&&t.push(this.sPrivateUse),t.join("-")}}const J=new Map,Je=e=>(J.has(e)||J.set(e,new Ke(e)),J.get(e)),Se=e=>{try{if(e&&typeof e=="string")return Je(e)}catch{}return new Ke(d)},se=e=>{if(e)return Se(e);const t=Yt();return t?Je(t):Se(pt())},nn=/^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i,_e=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,sn={he:"iw",yi:"ji",nb:"no",sr:"sh"},rn=e=>{let t;if(!e)return d;if(typeof e=="string"&&(t=nn.exec(e.replace(/_/g,"-")))){let n=t[1].toLowerCase(),s=t[3]?t[3].toUpperCase():void 0;const r=t[2]?t[2].toLowerCase():void 0,o=t[4]?t[4].slice(1):void 0,a=t[6];return n=sn[n]||n,a&&(t=_e.exec(a))||o&&(t=_e.exec(o))?`en_US_${t[1].toLowerCase()}`:(n==="zh"&&!s&&(r==="hans"?s="CN":r==="hant"&&(s="TW")),n+(s?"_"+s+(o?"_"+o.replace("-","_"):""):""))}return d},on=e=>{if(!e)return d;if(e==="zh_HK")return"zh_TW";const t=e.lastIndexOf("_");return t>=0?e.slice(0,t):e!==d?d:""},be=new Set,Ae=new Set,ce=new Map,X=new Map,ue=new Map,fs=(e,t,n)=>{const s=`${e}/${t}`;ue.set(s,n)},Te=(e,t)=>{ce.set(e,t)},ds=e=>ce.get(e),Xe=(e,t)=>{const n=`${e}/${t}`;return ue.has(n)},an=(e,t)=>{const n=`${e}/${t}`,s=ue.get(n);return s&&!X.get(n)&&X.set(n,s(t)),X.get(n)},cn=e=>{be.has(e)||(console.warn(`[${e}]: Message bundle assets are not configured. Falling back to English texts.`,` Add \`import "${e}/dist/Assets.js"\` in your bundle and make sure your build tool supports dynamic imports and JSON imports. See section "Assets" in the documentation for more information.`),be.add(e))},ve=(e,t)=>t!==F&&!Xe(e,t),un=async e=>{const t=se().getLanguage(),n=se().getRegion();let s=t+(n?`-${n}`:"");if(ve(e,s))for(s=rn(s);ve(e,s);)s=on(s);const r=en();if(s===F&&!r){Te(e,null);return}if(!Xe(e,s)){cn(e);return}try{const o=await an(e,s);Te(e,o)}catch(o){const a=o;Ae.has(a.message)||(Ae.add(a.message),console.error(a.message))}};Ne(e=>{const t=[...ce.keys()];return Promise.all(t.map(un))});const ln=new Map,x=new Map,Y=new Map,Le=new Set;let Ee=!1;const fn={iw:"he",ji:"yi",in:"id"},Pe=e=>{Ee||(console.warn(`[LocaleData] Supported locale "${e}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),Ee=!0)},dn=(e,t,n)=>{e=e&&fn[e]||e,e==="no"&&(e="nb"),e==="zh"&&!t&&(n==="Hans"?t="CN":n==="Hant"&&(t="TW")),(e==="sh"||e==="sr"&&n==="Latn")&&(e="sr",t="Latn");let s=`${e}_${t}`;return pe.includes(s)||(s=e,pe.includes(s))?x.has(s)?s:(Pe(s),d):d},Ce=(e,t)=>{ln.set(e,t)},hn=e=>{if(!Y.get(e)){const t=x.get(e);if(!t)throw new Error(`CLDR data for locale ${e} is not loaded!`);Y.set(e,t(e))}return Y.get(e)},pn=async(e,t,n)=>{const s=dn(e,t,n),r=b("OpenUI5Support");if(r){const o=r.getLocaleDataObject();if(o){Ce(s,o);return}}try{const o=await hn(s);Ce(s,o)}catch(o){const a=o;Le.has(a.message)||(Le.add(a.message),console.error(a.message))}},gn=(e,t)=>{x.set(e,t)};gn("en",async()=>(await fetch("https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json")).json());Ne(()=>{const e=se();return pn(e.getLanguage(),e.getRegion(),e.getScript())});const Ye=new C,Qe="themeRegistered",mn=e=>{Ye.attachEvent(Qe,e)},wn=e=>Ye.fireEvent(Qe,e),et=new Map,tt=new Map,nt=new Set,z=new Set,hs=(e,t,n)=>{tt.set(`${e}/${t}`,n),nt.add(e),z.add(t),wn(t)},st=async(e,t)=>{const n=et.get(`${e}_${t}`);if(n!==void 0)return n;if(!z.has(t)){const s=[...z.values()].join(", ");return console.warn(`You have requested a non-registered theme ${t} - falling back to ${k}. Registered themes are: ${s}`),$e(e,k)}return $e(e,t)},$e=async(e,t)=>{const n=tt.get(`${e}/${t}`);if(!n){console.error(`Theme [${t}] not registered for package [${e}]`);return}let s;try{s=await n(t)}catch(o){console.error(e,o.message);return}const r=s._||s;return et.set(`${e}_${t}`,r),r},rt=()=>nt,yn=e=>z.has(e);var B;(function(e){e["SAP-icons"]="SAP-icons-v4",e.horizon="SAP-icons-v5",e["SAP-icons-TNT"]="tnt",e.BusinessSuiteInAppSymbols="business-suite"})(B||(B={}));const ot=e=>B[e]?B[e]:e,Sn=(e,t)=>{const n=document.createElement("style");return n.type="text/css",t&&Object.entries(t).forEach(s=>n.setAttribute(...s)),n.textContent=e,document.head.appendChild(n),n},_n=(e,t)=>{const n=document.createElement("link");return n.type="text/css",n.rel="stylesheet",t&&Object.entries(t).forEach(s=>n.setAttribute(...s)),n.href=e,document.head.appendChild(n),new Promise(s=>{n.addEventListener("load",s),n.addEventListener("error",s)})},l=typeof document>"u",i={get userAgent(){return l?"":navigator.userAgent},get touch(){return l?!1:"ontouchstart"in window||navigator.maxTouchPoints>0},get ie(){return l?!1:/(msie|trident)/i.test(i.userAgent)},get chrome(){return l?!1:!i.ie&&/(Chrome|CriOS)/.test(i.userAgent)},get firefox(){return l?!1:/Firefox/.test(i.userAgent)},get safari(){return l?!1:!i.ie&&!i.chrome&&/(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(i.userAgent)},get webkit(){return l?!1:!i.ie&&/webkit/.test(i.userAgent)},get windows(){return l?!1:navigator.platform.indexOf("Win")!==-1},get iOS(){return l?!1:!!navigator.platform.match(/iPhone|iPad|iPod/)||!!(i.userAgent.match(/Mac/)&&"ontouchend"in document)},get android(){return l?!1:!i.windows&&/Android/.test(i.userAgent)},get androidPhone(){return l?!1:i.android&&/(?=android)(?=.*mobile)/i.test(i.userAgent)},get ipad(){return l?!1:/ipad/i.test(i.userAgent)||/Macintosh/i.test(i.userAgent)&&"ontouchend"in document}},V=()=>i.safari,W=(e,t)=>t?`${e}|${t}`:e,N=(e,t,n="")=>{const s=typeof e=="string"?e:e.content;if(document.adoptedStyleSheets&&!V()){const r=new CSSStyleSheet;r.replaceSync(s),r._ui5StyleId=W(t,n),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r]}else{const r={};r[t]=n,Sn(s,r)}},bn=(e,t,n="")=>{const s=typeof e=="string"?e:e.content;if(document.adoptedStyleSheets&&!V()){const r=document.adoptedStyleSheets.find(o=>o._ui5StyleId===W(t,n));r&&r.replaceSync(s||"")}else{const r=document.querySelector(`head>style[${t}="${n}"]`);r&&(r.textContent=s||"")}},Z=(e,t="")=>document.adoptedStyleSheets&&!V()?!!document.adoptedStyleSheets.find(n=>n._ui5StyleId===W(e,t)):!!document.querySelector(`head>style[${e}="${t}"]`),An=(e,t="")=>{var n;if(document.adoptedStyleSheets&&!V())document.adoptedStyleSheets=document.adoptedStyleSheets.filter(s=>s._ui5StyleId!==W(e,t));else{const s=document.querySelector(`head > style[${e}="${t}"]`);(n=s==null?void 0:s.parentElement)==null||n.removeChild(s)}},at=(e,t,n="")=>{Z(t,n)?bn(e,t,n):N(e,t,n)},S=new Set,Tn=()=>{let e=document.querySelector(".sapThemeMetaData-Base-baseLib")||document.querySelector(".sapThemeMetaData-UI5-sap-ui-core");if(e)return getComputedStyle(e).backgroundImage;e=document.createElement("span"),e.style.display="none",e.classList.add("sapThemeMetaData-Base-baseLib"),document.body.appendChild(e);let t=getComputedStyle(e).backgroundImage;return t==="none"&&(e.classList.add("sapThemeMetaData-UI5-sap-ui-core"),t=getComputedStyle(e).backgroundImage),document.body.removeChild(e),t},vn=e=>{const t=/\(["']?data:text\/plain;utf-8,(.*?)['"]?\)$/i.exec(e);if(t&&t.length>=2){let n=t[1];if(n=n.replace(/\\"/g,'"'),n.charAt(0)!=="{"&&n.charAt(n.length-1)!=="}")try{n=decodeURIComponent(n)}catch{S.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),S.add("decode"));return}try{return JSON.parse(n)}catch{S.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),S.add("parse"))}}},Ln=e=>{let t,n;try{t=e.Path.match(/\.([^.]+)\.css_variables$/)[1],n=e.Extends[0]}catch{S.has("object")||(console.warn("Malformed theme metadata Object",e),S.add("object"));return}return{themeName:t,baseThemeName:n}},re=()=>{const e=Tn();if(!e||e==="none")return;const t=vn(e);if(t)return Ln(t)},En=new C,Pn="themeLoaded",Cn=e=>En.fireEvent(Pn,e);let v;const it=()=>(v===void 0&&(v=Tt()),v),ps=e=>{if(v!==e){if(v=e,!je(e)){console.warn(`The ${e} is not valid. Check the allowed origins as suggested in the "setThemeRoot" description.`);return}return ct($())}},$n=e=>`${it()}Base/baseLib/${e}/css_variables.css`,ct=async e=>{const t=document.querySelector(`[sap-ui-webcomponents-theme="${e}"]`);t&&document.head.removeChild(t),await _n($n(e),{"sap-ui-webcomponents-theme":e})},E="@ui5/webcomponents-theming",Rn=()=>rt().has(E),On=async e=>{if(!Rn())return;const t=await st(E,e);t&&at(t,"data-ui5-theme-properties",E)},In=()=>{An("data-ui5-theme-properties",E)},Un=async e=>{const n=[...rt()].map(async s=>{if(s===E)return;const r=await st(s,e);r&&at(r,`data-ui5-component-properties-${oe()}`,s)});return Promise.all(n)},Mn=async e=>{var s;const t=re();if(t)return t;const n=b("OpenUI5Support");if(n&&n.isOpenUI5Detected()){if(n.cssVariablesLoaded())return{themeName:(s=n.getConfigurationSettingsObject())==null?void 0:s.theme,baseThemeName:""}}else if(it())return await ct(e),re()},le=async e=>{const t=await Mn(e);!t||e!==t.themeName?await On(e):In();const n=yn(e)?e:t&&t.baseThemeName;await Un(n||k),Cn(e)};let _;const $=()=>(_===void 0&&(_=At()),_),gs=async e=>{_!==e&&(_=e,await le(_),await Ge({themeAware:!0}))},kn=()=>{var t,n;const e=$();return Dn(e)?!e.startsWith("sap_horizon"):!((n=(t=re())==null?void 0:t.baseThemeName)!=null&&n.startsWith("sap_horizon"))},Dn=e=>ht.includes(e);var g;(function(e){e.SAPIconsV4="SAP-icons-v4",e.SAPIconsV5="SAP-icons-v5",e.SAPIconsTNTV2="tnt-v2",e.SAPIconsTNTV3="tnt-v3",e.SAPBSIconsV1="business-suite-v1",e.SAPBSIconsV2="business-suite-v2"})(g||(g={}));const f=new Map;f.set("SAP-icons",{legacy:g.SAPIconsV4,sap_horizon:g.SAPIconsV5});f.set("tnt",{legacy:g.SAPIconsTNTV2,sap_horizon:g.SAPIconsTNTV3});f.set("business-suite",{legacy:g.SAPBSIconsV1,sap_horizon:g.SAPBSIconsV2});const xn=(e,t)=>{if(f.has(e)){f.set(e,{...t,...f.get(e)});return}f.set(e,t)},Re=e=>{const t=kn()?"legacy":"sap_horizon";return f.has(e)?f.get(e)[t]:e},zn=new Map,Bn=e=>zn.get(e),ut=e=>{const t=Bn($());return!e&&t?ot(t):Re(e||"SAP-icons")},Fn="legacy",Oe=new Map,fe=j("SVGIcons.registry",new Map),Q=j("SVGIcons.promises",new Map),Ie="ICON_NOT_FOUND",jn=async e=>{if(!Q.has(e)){if(!Oe.has(e))throw new Error(`No loader registered for the ${e} icons collection. Probably you forgot to import the "AllIcons.js" module for the respective package.`);const t=Oe.get(e);Q.set(e,t(e))}return Q.get(e)},Ue=e=>{Object.keys(e.data).forEach(t=>{const n=e.data[t];Vn(t,{pathData:n.path||n.paths,ltr:n.ltr,accData:n.acc,collection:e.collection,packageName:e.packageName})})},Vn=(e,t)=>{const n=`${t.collection}/${e}`;fe.set(n,{pathData:t.pathData,ltr:t.ltr,accData:t.accData,packageName:t.packageName,customTemplate:t.customTemplate,viewBox:t.viewBox,collection:t.collection})},Wn=e=>{e.startsWith("sap-icon://")&&(e=e.replace("sap-icon://",""));let t;return[e,t]=e.split("/").reverse(),e=e.replace("icon-",""),t&&(t=ot(t)),{name:e,collection:t}},ee=async e=>{const{name:t,collection:n}=Wn(e);let s=Ie;try{s=await jn(ut(n))}catch(o){console.error(o.message)}if(s===Ie)return s;const r=Me(n,t);return r||(Array.isArray(s)?s.forEach(o=>{Ue(o),xn(n,{[o.themeFamily||Fn]:o.collection})}):Ue(s),Me(n,t))},Me=(e,t)=>{const n=`${ut(e)}/${t}`;return fe.get(n)},ms=async()=>(await ee("edit"),await ee("tnt/arrow"),await ee("business-suite/3d"),Array.from(fe.keys())),Nn=()=>new Promise(e=>{document.body?e():document.addEventListener("DOMContentLoaded",()=>{e()})}),Zn={packageName:"@ui5/webcomponents-base",fileName:"FontFace.css",content:`@font-face{font-family:"72";font-style:normal;font-weight:400;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2"),local("72")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2"),local('72-full')}@font-face{font-family:"72";font-style:normal;font-weight:700;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),local('72-Bold')}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Bold';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2"),local('72-Bold')}@font-face{font-family:'72-Boldfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Light';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Light.woff2?ui5-webcomponents) format("woff2"),local('72-Light')}@font-face{font-family:'72-Lightfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72Mono';src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Regular.woff2?ui5-webcomponents) format('woff2'),local('72Mono')}@font-face{font-family:'72Monofull';src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Regular-full.woff2?ui5-webcomponents) format('woff2')}@font-face{font-family:'72Mono-Bold';src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Bold.woff2?ui5-webcomponents) format('woff2'),local('72Mono-Bold')}@font-face{font-family:'72Mono-Boldfull';src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72Mono-Bold-full.woff2?ui5-webcomponents) format('woff2')}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2"),local('72Black')}@font-face{font-family:"72-SemiboldDuplex";src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-SemiboldDuplex.woff2?ui5-webcomponents) format("woff2"),local('72-SemiboldDuplex')}`},Hn={packageName:"@ui5/webcomponents-base",fileName:"OverrideFontFace.css",content:"@font-face{font-family:'72override';unicode-range:U+0102-0103,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EB7,U+1EB8-1EC7,U+1EC8-1ECB,U+1ECC-1EE3,U+1EE4-1EF1,U+1EF4-1EF7;src:local('Arial'),local('Helvetica'),local('sans-serif')}"},qn=()=>{const e=b("OpenUI5Support");(!e||!e.isOpenUI5Detected())&&Gn(),Kn()},Gn=()=>{Z("data-ui5-font-face")||N(Zn,"data-ui5-font-face")},Kn=()=>{Z("data-ui5-font-face-override")||N(Hn,"data-ui5-font-face-override")},Jn={packageName:"@ui5/webcomponents-base",fileName:"SystemCSSVars.css",content:":root{--_ui5_content_density:cozy}.sapUiSizeCompact,.ui5-content-density-compact,[data-ui5-compact-size]{--_ui5_content_density:compact}[dir=rtl]{--_ui5_dir:rtl}[dir=ltr]{--_ui5_dir:ltr}"},Xn=()=>{Z("data-ui5-system-css-vars")||N(Jn,"data-ui5-system-css-vars")};let de=!1,I;const lt=new C,ws=e=>{if(!de){lt.attachEvent("boot",e);return}e()},ys=async()=>{if(I!==void 0)return I;const e=async t=>{if(typeof document>"u"){t();return}mn(Yn),zt();const n=b("OpenUI5Support"),s=n?n.isOpenUI5Detected():!1,r=b("F6Navigation");n&&await n.init(),r&&!s&&r.init(),await Nn(),await le($()),n&&n.attachListeners(),qn(),Xn(),t(),de=!0,await lt.fireEventAsync("boot")};return I=new Promise(e),I},Yn=e=>{const t=$();de&&e===t&&le(t)};export{rs as A,ls as B,$ as C,it as D,C as E,ps as F,oe as G,fs as H,ws as I,ms as _,j as a,Ge as b,b as c,ts as d,Yt as e,un as f,ds as g,pt as h,V as i,Jt as j,ns as k,Ht as l,us as m,cs as n,Ut as o,ys as p,as as q,Qn as r,gs as s,is as t,os as u,Be as v,Zt as w,hs as x,es as y,ss as z};