@ui5/webcomponents-base 2.9.0-rc.0 → 2.9.0-rc.2

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.
@@ -107,6 +107,21 @@
107
107
  "declarations": [],
108
108
  "exports": []
109
109
  },
110
+ {
111
+ "kind": "javascript-module",
112
+ "path": "dist/converters/DOMReference.js",
113
+ "declarations": [],
114
+ "exports": [
115
+ {
116
+ "kind": "js",
117
+ "name": "default",
118
+ "declaration": {
119
+ "name": "DOMReferenceConverter",
120
+ "module": "dist/converters/DOMReference.js"
121
+ }
122
+ }
123
+ ]
124
+ },
110
125
  {
111
126
  "kind": "javascript-module",
112
127
  "path": "dist/config/AnimationMode.js",
@@ -179,21 +194,6 @@
179
194
  "declarations": [],
180
195
  "exports": []
181
196
  },
182
- {
183
- "kind": "javascript-module",
184
- "path": "dist/converters/DOMReference.js",
185
- "declarations": [],
186
- "exports": [
187
- {
188
- "kind": "js",
189
- "name": "default",
190
- "declaration": {
191
- "name": "DOMReferenceConverter",
192
- "module": "dist/converters/DOMReference.js"
193
- }
194
- }
195
- ]
196
- },
197
197
  {
198
198
  "kind": "javascript-module",
199
199
  "path": "dist/decorators/bound.js",
@@ -2718,6 +2718,21 @@
2718
2718
  }
2719
2719
  ]
2720
2720
  },
2721
+ {
2722
+ "kind": "javascript-module",
2723
+ "path": "dist/index.js",
2724
+ "declarations": [],
2725
+ "exports": [
2726
+ {
2727
+ "kind": "js",
2728
+ "name": "default",
2729
+ "declaration": {
2730
+ "name": "UI5Element",
2731
+ "module": "dist/index.js"
2732
+ }
2733
+ }
2734
+ ]
2735
+ },
2721
2736
  {
2722
2737
  "kind": "javascript-module",
2723
2738
  "path": "dist/jsx-dev-runtime.js",
@@ -107,6 +107,21 @@
107
107
  "declarations": [],
108
108
  "exports": []
109
109
  },
110
+ {
111
+ "kind": "javascript-module",
112
+ "path": "dist/converters/DOMReference.js",
113
+ "declarations": [],
114
+ "exports": [
115
+ {
116
+ "kind": "js",
117
+ "name": "default",
118
+ "declaration": {
119
+ "name": "DOMReferenceConverter",
120
+ "module": "dist/converters/DOMReference.js"
121
+ }
122
+ }
123
+ ]
124
+ },
110
125
  {
111
126
  "kind": "javascript-module",
112
127
  "path": "dist/config/AnimationMode.js",
@@ -179,21 +194,6 @@
179
194
  "declarations": [],
180
195
  "exports": []
181
196
  },
182
- {
183
- "kind": "javascript-module",
184
- "path": "dist/converters/DOMReference.js",
185
- "declarations": [],
186
- "exports": [
187
- {
188
- "kind": "js",
189
- "name": "default",
190
- "declaration": {
191
- "name": "DOMReferenceConverter",
192
- "module": "dist/converters/DOMReference.js"
193
- }
194
- }
195
- ]
196
- },
197
197
  {
198
198
  "kind": "javascript-module",
199
199
  "path": "dist/decorators/bound.js",
@@ -2415,6 +2415,21 @@
2415
2415
  }
2416
2416
  ]
2417
2417
  },
2418
+ {
2419
+ "kind": "javascript-module",
2420
+ "path": "dist/index.js",
2421
+ "declarations": [],
2422
+ "exports": [
2423
+ {
2424
+ "kind": "js",
2425
+ "name": "default",
2426
+ "declaration": {
2427
+ "name": "UI5Element",
2428
+ "module": "dist/index.js"
2429
+ }
2430
+ }
2431
+ ]
2432
+ },
2418
2433
  {
2419
2434
  "kind": "javascript-module",
2420
2435
  "path": "dist/jsx-dev-runtime.js",
@@ -1,11 +1,11 @@
1
1
  const VersionInfo = {
2
- version: "2.9.0-rc.0",
2
+ version: "2.9.0-rc.2",
3
3
  major: 2,
4
4
  minor: 9,
5
5
  patch: 0,
6
- suffix: "-rc.0",
6
+ suffix: "-rc.2",
7
7
  isNext: false,
8
- buildTime: 1741853330,
8
+ buildTime: 1743062927,
9
9
  };
10
10
  export default VersionInfo;
11
11
  //# sourceMappingURL=VersionInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/generated/VersionInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"2.9.0-rc.0\",\n\tmajor: 2,\n\tminor: 9,\n\tpatch: 0,\n\tsuffix: \"-rc.0\",\n\tisNext: false,\n\tbuildTime: 1741853330,\n};\nexport default VersionInfo;"]}
1
+ {"version":3,"file":"VersionInfo.js","sourceRoot":"","sources":["../../src/generated/VersionInfo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAU;CACrB,CAAC;AACF,eAAe,WAAW,CAAC","sourcesContent":["const VersionInfo = {\n\tversion: \"2.9.0-rc.2\",\n\tmajor: 2,\n\tminor: 9,\n\tpatch: 0,\n\tsuffix: \"-rc.2\",\n\tisNext: false,\n\tbuildTime: 1743062927,\n};\nexport default VersionInfo;"]}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,48 @@
1
1
  import type { JSX } from "./jsx-runtime.d.ts";
2
-
3
- // type b = Parameters<JSX.IntrinsicElements["li"]["onClick"]>[0];
4
-
5
- type TargetedCustomEvent<D, T> = Omit<CustomEvent<D>, "currentTarget"> & { currentTarget: T };
6
- // export type UI5NativeEvent<T extends keyof HTMLElementTagNameMap, N> = Parameters<JSX.IntrinsicElements[T][N]>[0];
2
+ import scroll from "./animations/scroll.js";
3
+ import slideDown from "./animations/slideDown.js";
4
+ import slideUp from "./animations/slideUp.js";
5
+ import { getAnimationMode, setAnimationMode } from "./config/AnimationMode.js";
6
+ import { getCalendarType } from "./config/CalendarType.js";
7
+ import { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from "./config/FormatSettings.js";
8
+ import { setDefaultIconCollection, getDefaultIconCollection } from "./config/Icons.js";
9
+ import { RegisteredIconCollection } from "./asset-registries/util/IconCollectionsByTheme.js";
10
+ import getEffectiveIconCollection from "./asset-registries/util/getIconCollectionByTheme.js";
11
+ import { getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage } from "./config/Language.js";
12
+ import { getNoConflict, setNoConflict } from "./config/NoConflict.js";
13
+ import { getTheme, setTheme, getDefaultTheme } from "./config/Theme.js";
14
+ import customElement from "./decorators/customElement.js";
15
+ import event from "./decorators/event.js";
16
+ import property from "./decorators/property.js";
17
+ import slot from "./decorators/slot.js";
18
+ import ItemNavigation from "./delegate/ItemNavigation.js";
19
+ import ResizeHandler from "./delegate/ResizeHandler.js";
20
+ import ScrollEnablement from "./delegate/ScrollEnablement.js";
21
+ import applyDirection from "./locale/applyDirection.js";
22
+ import { attachDirectionChange, detachDirectionChange } from "./locale/directionChange.js";
23
+ import getEffectiveDir from "./locale/getEffectiveDir.js";
24
+ import { attachLanguageChange, detachLanguageChange } from "./locale/languageChange.js";
25
+ import { URLListValidator, sanitizeHTML } from "./util/HTMLSanitizer.js";
26
+ import { registerI18nLoader } from "./asset-registries/i18n.js";
27
+ import { registerLocaleDataLoader } from "./asset-registries/LocaleData.js";
28
+ import { registerThemePropertiesLoader } from "./asset-registries/Themes.js";
29
+ import { registerIconLoader } from "./asset-registries/Icons.js";
30
+ import { attachBoot } from "./Boot.js";
31
+ import { setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, getEffectiveScopingSuffixForTag } from "./CustomElementsScope.js";
32
+ import { supportsTouch, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid } from "./Device.js";
33
+ import EventProvider from "./EventProvider.js";
34
+ import I18nBundle, { getI18nBundle, registerCustomI18nBundleGetter } from "./i18nBundle.js";
35
+ import MediaRange from "./MediaRange.js";
36
+ import { renderDeferred, renderImmediately, cancelRender, renderFinished } from "./Render.js";
37
+ import { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from "./Theming.js";
38
+ import UI5Element from "./UI5Element.js";
39
+ export default UI5Element;
40
+ export { scroll, slideDown, slideUp, getAnimationMode, setAnimationMode, getCalendarType, getFirstDayOfWeek, getLegacyDateCalendarCustomizing, setDefaultIconCollection, getDefaultIconCollection, getEffectiveIconCollection, RegisteredIconCollection, getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage, getNoConflict, setNoConflict, getTheme, setTheme, getDefaultTheme, customElement, event, property, slot, ItemNavigation, ResizeHandler, ScrollEnablement, applyDirection, attachDirectionChange, detachDirectionChange, getEffectiveDir, attachLanguageChange, detachLanguageChange, URLListValidator, sanitizeHTML, registerI18nLoader, registerLocaleDataLoader, registerThemePropertiesLoader, registerIconLoader, attachBoot, setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, getEffectiveScopingSuffixForTag, supportsTouch, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid, EventProvider, I18nBundle, getI18nBundle, registerCustomI18nBundleGetter, MediaRange, renderDeferred, renderImmediately, cancelRender, renderFinished, addCustomCSS, attachThemeLoaded, detachThemeLoaded, UI5Element, };
41
+ type TargetedCustomEvent<D, T> = Omit<CustomEvent<D>, "currentTarget"> & {
42
+ currentTarget: T;
43
+ };
7
44
  export type UI5CustomEvent<T extends UI5Element, N extends keyof T["eventDetails"]> = TargetedCustomEvent<T["eventDetails"][N], T>;
8
45
  export type JsxTemplateResult = JSX.Element | void;
9
46
  export type JsxTemplate = () => JsxTemplateResult;
10
-
11
47
  export type * from "./types.d.ts";
12
48
  export type * from "./jsx-runtime.d.ts";
package/dist/index.js ADDED
@@ -0,0 +1,88 @@
1
+ // animations/
2
+ import scroll from "./animations/scroll.js";
3
+ import slideDown from "./animations/slideDown.js";
4
+ import slideUp from "./animations/slideUp.js";
5
+ // config/
6
+ import { getAnimationMode, setAnimationMode } from "./config/AnimationMode.js";
7
+ import { getCalendarType } from "./config/CalendarType.js";
8
+ import { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from "./config/FormatSettings.js";
9
+ import { setDefaultIconCollection, getDefaultIconCollection, } from "./config/Icons.js";
10
+ import { RegisteredIconCollection } from "./asset-registries/util/IconCollectionsByTheme.js";
11
+ import getEffectiveIconCollection from "./asset-registries/util/getIconCollectionByTheme.js";
12
+ import { getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage, } from "./config/Language.js";
13
+ import { getNoConflict, setNoConflict } from "./config/NoConflict.js";
14
+ import { getTheme, setTheme, getDefaultTheme, } from "./config/Theme.js";
15
+ // decorators/
16
+ import customElement from "./decorators/customElement.js";
17
+ import event from "./decorators/event.js";
18
+ import property from "./decorators/property.js";
19
+ import slot from "./decorators/slot.js";
20
+ // delegate/
21
+ import ItemNavigation from "./delegate/ItemNavigation.js";
22
+ import ResizeHandler from "./delegate/ResizeHandler.js";
23
+ import ScrollEnablement from "./delegate/ScrollEnablement.js";
24
+ // locale/
25
+ import applyDirection from "./locale/applyDirection.js";
26
+ import { attachDirectionChange, detachDirectionChange } from "./locale/directionChange.js";
27
+ import getEffectiveDir from "./locale/getEffectiveDir.js";
28
+ import { attachLanguageChange, detachLanguageChange } from "./locale/languageChange.js";
29
+ // util/
30
+ import { URLListValidator, sanitizeHTML } from "./util/HTMLSanitizer.js";
31
+ // Assets.ts
32
+ import { registerI18nLoader } from "./asset-registries/i18n.js";
33
+ import { registerLocaleDataLoader } from "./asset-registries/LocaleData.js";
34
+ import { registerThemePropertiesLoader } from "./asset-registries/Themes.js";
35
+ import { registerIconLoader } from "./asset-registries/Icons.js";
36
+ // Boot.ts
37
+ import { attachBoot } from "./Boot.js";
38
+ // CustomElementsScope.ts
39
+ import { setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, getEffectiveScopingSuffixForTag, } from "./CustomElementsScope.js";
40
+ // Device.ts
41
+ import { supportsTouch, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid, } from "./Device.js";
42
+ // EventProvider.ts
43
+ import EventProvider from "./EventProvider.js";
44
+ // i18nBundle.ts
45
+ import I18nBundle, { getI18nBundle, registerCustomI18nBundleGetter } from "./i18nBundle.js";
46
+ // MediaRange.ts
47
+ import MediaRange from "./MediaRange.js";
48
+ // Render.ts
49
+ import { renderDeferred, renderImmediately, cancelRender, renderFinished, } from "./Render.js";
50
+ // Theming.ts
51
+ import { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from "./Theming.js";
52
+ // UI5Element.ts
53
+ import UI5Element from "./UI5Element.js";
54
+ export default UI5Element;
55
+ export {
56
+ // animations/
57
+ scroll, slideDown, slideUp,
58
+ // config/
59
+ getAnimationMode, setAnimationMode, getCalendarType, getFirstDayOfWeek, getLegacyDateCalendarCustomizing, setDefaultIconCollection, getDefaultIconCollection, getEffectiveIconCollection, RegisteredIconCollection, getLanguage, setLanguage, getDefaultLanguage, setFetchDefaultLanguage, getFetchDefaultLanguage, getNoConflict, setNoConflict, getTheme, setTheme, getDefaultTheme,
60
+ // decorators/
61
+ customElement, event, property, slot,
62
+ // delegate/
63
+ ItemNavigation, ResizeHandler, ScrollEnablement,
64
+ // locale/
65
+ applyDirection, attachDirectionChange, detachDirectionChange, getEffectiveDir, attachLanguageChange, detachLanguageChange,
66
+ // util/
67
+ URLListValidator, sanitizeHTML,
68
+ // Assets.ts
69
+ registerI18nLoader, registerLocaleDataLoader, registerThemePropertiesLoader, registerIconLoader,
70
+ // Boot.ts
71
+ attachBoot,
72
+ // CustomElementsScope.ts
73
+ setCustomElementsScopingSuffix, getCustomElementsScopingSuffix, setCustomElementsScopingRules, getCustomElementsScopingRules, getEffectiveScopingSuffixForTag,
74
+ // Device.ts
75
+ supportsTouch, isSafari, isChrome, isFirefox, isPhone, isTablet, isDesktop, isCombi, isIOS, isAndroid,
76
+ // EventProvider.ts
77
+ EventProvider,
78
+ // i18nBundle.ts
79
+ I18nBundle, getI18nBundle, registerCustomI18nBundleGetter,
80
+ // MediaRange.ts
81
+ MediaRange,
82
+ // Render.ts
83
+ renderDeferred, renderImmediately, cancelRender, renderFinished,
84
+ // Theming.ts
85
+ addCustomCSS, attachThemeLoaded, detachThemeLoaded,
86
+ // UI5Element.ts
87
+ UI5Element, };
88
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from \"./jsx-runtime.d.ts\";\n\n// animations/\nimport scroll from \"./animations/scroll.js\";\nimport slideDown from \"./animations/slideDown.js\";\nimport slideUp from \"./animations/slideUp.js\";\n\n// config/\nimport { getAnimationMode, setAnimationMode } from \"./config/AnimationMode.js\";\nimport { getCalendarType } from \"./config/CalendarType.js\";\nimport { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from \"./config/FormatSettings.js\";\nimport {\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n} from \"./config/Icons.js\";\nimport { RegisteredIconCollection } from \"./asset-registries/util/IconCollectionsByTheme.js\";\nimport getEffectiveIconCollection from \"./asset-registries/util/getIconCollectionByTheme.js\";\nimport {\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n} from \"./config/Language.js\";\nimport { getNoConflict, setNoConflict } from \"./config/NoConflict.js\";\nimport {\n\tgetTheme,\n\tsetTheme,\n\tgetDefaultTheme,\n} from \"./config/Theme.js\";\n\n// decorators/\nimport customElement from \"./decorators/customElement.js\";\nimport event from \"./decorators/event.js\";\nimport property from \"./decorators/property.js\";\nimport slot from \"./decorators/slot.js\";\n\n// delegate/\nimport ItemNavigation from \"./delegate/ItemNavigation.js\";\nimport ResizeHandler from \"./delegate/ResizeHandler.js\";\nimport ScrollEnablement from \"./delegate/ScrollEnablement.js\";\n\n// locale/\nimport applyDirection from \"./locale/applyDirection.js\";\nimport { attachDirectionChange, detachDirectionChange } from \"./locale/directionChange.js\";\nimport getEffectiveDir from \"./locale/getEffectiveDir.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"./locale/languageChange.js\";\n\n// util/\nimport { URLListValidator, sanitizeHTML } from \"./util/HTMLSanitizer.js\";\n\n// Assets.ts\nimport { registerI18nLoader } from \"./asset-registries/i18n.js\";\nimport { registerLocaleDataLoader } from \"./asset-registries/LocaleData.js\";\nimport { registerThemePropertiesLoader } from \"./asset-registries/Themes.js\";\nimport { registerIconLoader } from \"./asset-registries/Icons.js\";\n\n// Boot.ts\nimport { attachBoot } from \"./Boot.js\";\n\n// CustomElementsScope.ts\nimport {\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tgetEffectiveScopingSuffixForTag,\n} from \"./CustomElementsScope.js\";\n\n// Device.ts\nimport {\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n} from \"./Device.js\";\n\n// EventProvider.ts\nimport EventProvider from \"./EventProvider.js\";\n\n// i18nBundle.ts\nimport I18nBundle, { getI18nBundle, registerCustomI18nBundleGetter } from \"./i18nBundle.js\";\n\n// MediaRange.ts\nimport MediaRange from \"./MediaRange.js\";\n\n// Render.ts\nimport {\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n} from \"./Render.js\";\n\n// Theming.ts\nimport { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from \"./Theming.js\";\n\n// UI5Element.ts\nimport UI5Element from \"./UI5Element.js\";\n\nexport default UI5Element;\nexport {\n\t// animations/\n\tscroll,\n\tslideDown,\n\tslideUp,\n\n\t// config/\n\tgetAnimationMode,\n\tsetAnimationMode,\n\tgetCalendarType,\n\tgetFirstDayOfWeek,\n\tgetLegacyDateCalendarCustomizing,\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n\tgetEffectiveIconCollection,\n\tRegisteredIconCollection,\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n\tgetNoConflict,\n\tsetNoConflict,\n\tgetTheme,\n\tsetTheme,\n\tgetDefaultTheme,\n\n\t// decorators/\n\tcustomElement,\n\tevent,\n\tproperty,\n\tslot,\n\n\t// delegate/\n\tItemNavigation,\n\tResizeHandler,\n\tScrollEnablement,\n\n\t// locale/\n\tapplyDirection,\n\tattachDirectionChange,\n\tdetachDirectionChange,\n\tgetEffectiveDir,\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\n\t// util/\n\tURLListValidator,\n\tsanitizeHTML,\n\n\t// Assets.ts\n\tregisterI18nLoader,\n\tregisterLocaleDataLoader,\n\tregisterThemePropertiesLoader,\n\tregisterIconLoader,\n\n\t// Boot.ts\n\tattachBoot,\n\n\t// CustomElementsScope.ts\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tgetEffectiveScopingSuffixForTag,\n\n\t// Device.ts\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n\n\t// EventProvider.ts\n\tEventProvider,\n\n\t// i18nBundle.ts\n\tI18nBundle,\n\tgetI18nBundle,\n\tregisterCustomI18nBundleGetter,\n\n\t// MediaRange.ts\n\tMediaRange,\n\n\t// Render.ts\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n\n\t// Theming.ts\n\taddCustomCSS,\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\n\t// UI5Element.ts\n\tUI5Element,\n};\n\ntype TargetedCustomEvent<D, T> = Omit<CustomEvent<D>, \"currentTarget\"> & { currentTarget: T };\n// export type UI5NativeEvent<T extends keyof HTMLElementTagNameMap, N> = Parameters<JSX.IntrinsicElements[T][N]>[0];\nexport type UI5CustomEvent<T extends UI5Element, N extends keyof T[\"eventDetails\"]> = TargetedCustomEvent<T[\"eventDetails\"][N], T>;\nexport type JsxTemplateResult = JSX.Element | void;\nexport type JsxTemplate = () => JsxTemplateResult;\n\nexport type * from \"./types.d.ts\";\nexport type * from \"./jsx-runtime.d.ts\";\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";const e={version:"2.9.0-rc.0",major:2,minor:9,patch:0,suffix:"-rc.0",isNext:!1,buildTime:1741853330};export default e;
1
+ "use strict";const e={version:"2.9.0-rc.2",major:2,minor:9,patch:0,suffix:"-rc.2",isNext:!1,buildTime:1743062927};export default e;
2
2
  //# sourceMappingURL=VersionInfo.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/generated/VersionInfo.ts"],
4
- "sourcesContent": ["const VersionInfo = {\n\tversion: \"2.9.0-rc.0\",\n\tmajor: 2,\n\tminor: 9,\n\tpatch: 0,\n\tsuffix: \"-rc.0\",\n\tisNext: false,\n\tbuildTime: 1741853330,\n};\nexport default VersionInfo;"],
4
+ "sourcesContent": ["const VersionInfo = {\n\tversion: \"2.9.0-rc.2\",\n\tmajor: 2,\n\tminor: 9,\n\tpatch: 0,\n\tsuffix: \"-rc.2\",\n\tisNext: false,\n\tbuildTime: 1743062927,\n};\nexport default VersionInfo;"],
5
5
  "mappings": "aAAA,MAAMA,EAAc,CACnB,QAAS,aACT,MAAO,EACP,MAAO,EACP,MAAO,EACP,OAAQ,QACR,OAAQ,GACR,UAAW,UACZ,EACA,eAAeA",
6
6
  "names": ["VersionInfo"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";import t from"./animations/scroll.js";import o from"./animations/slideDown.js";import r from"./animations/slideUp.js";import{getAnimationMode as m,setAnimationMode as i}from"./config/AnimationMode.js";import{getCalendarType as n}from"./config/CalendarType.js";import{getFirstDayOfWeek as a,getLegacyDateCalendarCustomizing as p}from"./config/FormatSettings.js";import{setDefaultIconCollection as s,getDefaultIconCollection as f}from"./config/Icons.js";import{RegisteredIconCollection as g}from"./asset-registries/util/IconCollectionsByTheme.js";import l from"./asset-registries/util/getIconCollectionByTheme.js";import{getLanguage as d,setLanguage as u,getDefaultLanguage as c,setFetchDefaultLanguage as C,getFetchDefaultLanguage as T}from"./config/Language.js";import{getNoConflict as h,setNoConflict as D}from"./config/NoConflict.js";import{getTheme as x,setTheme as L,getDefaultTheme as E}from"./config/Theme.js";import y from"./decorators/customElement.js";import I from"./decorators/event.js";import S from"./decorators/property.js";import v from"./decorators/slot.js";import R from"./delegate/ItemNavigation.js";import F from"./delegate/ResizeHandler.js";import J from"./delegate/ScrollEnablement.js";import N from"./locale/applyDirection.js";import{attachDirectionChange as U,detachDirectionChange as B}from"./locale/directionChange.js";import M from"./locale/getEffectiveDir.js";import{attachLanguageChange as b,detachLanguageChange as k}from"./locale/languageChange.js";import{URLListValidator as z,sanitizeHTML as A}from"./util/HTMLSanitizer.js";import{registerI18nLoader as O}from"./asset-registries/i18n.js";import{registerLocaleDataLoader as P}from"./asset-registries/LocaleData.js";import{registerThemePropertiesLoader as j}from"./asset-registries/Themes.js";import{registerIconLoader as H}from"./asset-registries/Icons.js";import{attachBoot as X}from"./Boot.js";import{setCustomElementsScopingSuffix as w,getCustomElementsScopingSuffix as G,setCustomElementsScopingRules as V,getCustomElementsScopingRules as W,getEffectiveScopingSuffixForTag as q}from"./CustomElementsScope.js";import{supportsTouch as K,isSafari as Q,isChrome as Y,isFirefox as Z,isPhone as _,isTablet as $,isDesktop as ee,isCombi as te,isIOS as oe,isAndroid as re}from"./Device.js";import me from"./EventProvider.js";import ie,{getI18nBundle as ne,registerCustomI18nBundleGetter as ae}from"./i18nBundle.js";import pe from"./MediaRange.js";import{renderDeferred as se,renderImmediately as fe,cancelRender as ge,renderFinished as le}from"./Render.js";import{addCustomCSS as de,attachThemeLoaded as ue,detachThemeLoaded as ce}from"./Theming.js";import e from"./UI5Element.js";export default e;export{t as scroll,o as slideDown,r as slideUp,m as getAnimationMode,i as setAnimationMode,n as getCalendarType,a as getFirstDayOfWeek,p as getLegacyDateCalendarCustomizing,s as setDefaultIconCollection,f as getDefaultIconCollection,l as getEffectiveIconCollection,g as RegisteredIconCollection,d as getLanguage,u as setLanguage,c as getDefaultLanguage,C as setFetchDefaultLanguage,T as getFetchDefaultLanguage,h as getNoConflict,D as setNoConflict,x as getTheme,L as setTheme,E as getDefaultTheme,y as customElement,I as event,S as property,v as slot,R as ItemNavigation,F as ResizeHandler,J as ScrollEnablement,N as applyDirection,U as attachDirectionChange,B as detachDirectionChange,M as getEffectiveDir,b as attachLanguageChange,k as detachLanguageChange,z as URLListValidator,A as sanitizeHTML,O as registerI18nLoader,P as registerLocaleDataLoader,j as registerThemePropertiesLoader,H as registerIconLoader,X as attachBoot,w as setCustomElementsScopingSuffix,G as getCustomElementsScopingSuffix,V as setCustomElementsScopingRules,W as getCustomElementsScopingRules,q as getEffectiveScopingSuffixForTag,K as supportsTouch,Q as isSafari,Y as isChrome,Z as isFirefox,_ as isPhone,$ as isTablet,ee as isDesktop,te as isCombi,oe as isIOS,re as isAndroid,me as EventProvider,ie as I18nBundle,ne as getI18nBundle,ae as registerCustomI18nBundleGetter,pe as MediaRange,se as renderDeferred,fe as renderImmediately,ge as cancelRender,le as renderFinished,de as addCustomCSS,ue as attachThemeLoaded,ce as detachThemeLoaded,e as UI5Element};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["import type { JSX } from \"./jsx-runtime.d.ts\";\n\n// animations/\nimport scroll from \"./animations/scroll.js\";\nimport slideDown from \"./animations/slideDown.js\";\nimport slideUp from \"./animations/slideUp.js\";\n\n// config/\nimport { getAnimationMode, setAnimationMode } from \"./config/AnimationMode.js\";\nimport { getCalendarType } from \"./config/CalendarType.js\";\nimport { getFirstDayOfWeek, getLegacyDateCalendarCustomizing } from \"./config/FormatSettings.js\";\nimport {\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n} from \"./config/Icons.js\";\nimport { RegisteredIconCollection } from \"./asset-registries/util/IconCollectionsByTheme.js\";\nimport getEffectiveIconCollection from \"./asset-registries/util/getIconCollectionByTheme.js\";\nimport {\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n} from \"./config/Language.js\";\nimport { getNoConflict, setNoConflict } from \"./config/NoConflict.js\";\nimport {\n\tgetTheme,\n\tsetTheme,\n\tgetDefaultTheme,\n} from \"./config/Theme.js\";\n\n// decorators/\nimport customElement from \"./decorators/customElement.js\";\nimport event from \"./decorators/event.js\";\nimport property from \"./decorators/property.js\";\nimport slot from \"./decorators/slot.js\";\n\n// delegate/\nimport ItemNavigation from \"./delegate/ItemNavigation.js\";\nimport ResizeHandler from \"./delegate/ResizeHandler.js\";\nimport ScrollEnablement from \"./delegate/ScrollEnablement.js\";\n\n// locale/\nimport applyDirection from \"./locale/applyDirection.js\";\nimport { attachDirectionChange, detachDirectionChange } from \"./locale/directionChange.js\";\nimport getEffectiveDir from \"./locale/getEffectiveDir.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"./locale/languageChange.js\";\n\n// util/\nimport { URLListValidator, sanitizeHTML } from \"./util/HTMLSanitizer.js\";\n\n// Assets.ts\nimport { registerI18nLoader } from \"./asset-registries/i18n.js\";\nimport { registerLocaleDataLoader } from \"./asset-registries/LocaleData.js\";\nimport { registerThemePropertiesLoader } from \"./asset-registries/Themes.js\";\nimport { registerIconLoader } from \"./asset-registries/Icons.js\";\n\n// Boot.ts\nimport { attachBoot } from \"./Boot.js\";\n\n// CustomElementsScope.ts\nimport {\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tgetEffectiveScopingSuffixForTag,\n} from \"./CustomElementsScope.js\";\n\n// Device.ts\nimport {\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n} from \"./Device.js\";\n\n// EventProvider.ts\nimport EventProvider from \"./EventProvider.js\";\n\n// i18nBundle.ts\nimport I18nBundle, { getI18nBundle, registerCustomI18nBundleGetter } from \"./i18nBundle.js\";\n\n// MediaRange.ts\nimport MediaRange from \"./MediaRange.js\";\n\n// Render.ts\nimport {\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n} from \"./Render.js\";\n\n// Theming.ts\nimport { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from \"./Theming.js\";\n\n// UI5Element.ts\nimport UI5Element from \"./UI5Element.js\";\n\nexport default UI5Element;\nexport {\n\t// animations/\n\tscroll,\n\tslideDown,\n\tslideUp,\n\n\t// config/\n\tgetAnimationMode,\n\tsetAnimationMode,\n\tgetCalendarType,\n\tgetFirstDayOfWeek,\n\tgetLegacyDateCalendarCustomizing,\n\tsetDefaultIconCollection,\n\tgetDefaultIconCollection,\n\tgetEffectiveIconCollection,\n\tRegisteredIconCollection,\n\tgetLanguage,\n\tsetLanguage,\n\tgetDefaultLanguage,\n\tsetFetchDefaultLanguage,\n\tgetFetchDefaultLanguage,\n\tgetNoConflict,\n\tsetNoConflict,\n\tgetTheme,\n\tsetTheme,\n\tgetDefaultTheme,\n\n\t// decorators/\n\tcustomElement,\n\tevent,\n\tproperty,\n\tslot,\n\n\t// delegate/\n\tItemNavigation,\n\tResizeHandler,\n\tScrollEnablement,\n\n\t// locale/\n\tapplyDirection,\n\tattachDirectionChange,\n\tdetachDirectionChange,\n\tgetEffectiveDir,\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\n\t// util/\n\tURLListValidator,\n\tsanitizeHTML,\n\n\t// Assets.ts\n\tregisterI18nLoader,\n\tregisterLocaleDataLoader,\n\tregisterThemePropertiesLoader,\n\tregisterIconLoader,\n\n\t// Boot.ts\n\tattachBoot,\n\n\t// CustomElementsScope.ts\n\tsetCustomElementsScopingSuffix,\n\tgetCustomElementsScopingSuffix,\n\tsetCustomElementsScopingRules,\n\tgetCustomElementsScopingRules,\n\tgetEffectiveScopingSuffixForTag,\n\n\t// Device.ts\n\tsupportsTouch,\n\tisSafari,\n\tisChrome,\n\tisFirefox,\n\tisPhone,\n\tisTablet,\n\tisDesktop,\n\tisCombi,\n\tisIOS,\n\tisAndroid,\n\n\t// EventProvider.ts\n\tEventProvider,\n\n\t// i18nBundle.ts\n\tI18nBundle,\n\tgetI18nBundle,\n\tregisterCustomI18nBundleGetter,\n\n\t// MediaRange.ts\n\tMediaRange,\n\n\t// Render.ts\n\trenderDeferred,\n\trenderImmediately,\n\tcancelRender,\n\trenderFinished,\n\n\t// Theming.ts\n\taddCustomCSS,\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\n\t// UI5Element.ts\n\tUI5Element,\n};\n\ntype TargetedCustomEvent<D, T> = Omit<CustomEvent<D>, \"currentTarget\"> & { currentTarget: T };\n// export type UI5NativeEvent<T extends keyof HTMLElementTagNameMap, N> = Parameters<JSX.IntrinsicElements[T][N]>[0];\nexport type UI5CustomEvent<T extends UI5Element, N extends keyof T[\"eventDetails\"]> = TargetedCustomEvent<T[\"eventDetails\"][N], T>;\nexport type JsxTemplateResult = JSX.Element | void;\nexport type JsxTemplate = () => JsxTemplateResult;\n\nexport type * from \"./types.d.ts\";\nexport type * from \"./jsx-runtime.d.ts\";\n"],
5
+ "mappings": "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",
6
+ "names": ["scroll", "slideDown", "slideUp", "getAnimationMode", "setAnimationMode", "getCalendarType", "getFirstDayOfWeek", "getLegacyDateCalendarCustomizing", "setDefaultIconCollection", "getDefaultIconCollection", "RegisteredIconCollection", "getEffectiveIconCollection", "getLanguage", "setLanguage", "getDefaultLanguage", "setFetchDefaultLanguage", "getFetchDefaultLanguage", "getNoConflict", "setNoConflict", "getTheme", "setTheme", "getDefaultTheme", "customElement", "event", "property", "slot", "ItemNavigation", "ResizeHandler", "ScrollEnablement", "applyDirection", "attachDirectionChange", "detachDirectionChange", "getEffectiveDir", "attachLanguageChange", "detachLanguageChange", "URLListValidator", "sanitizeHTML", "registerI18nLoader", "registerLocaleDataLoader", "registerThemePropertiesLoader", "registerIconLoader", "attachBoot", "setCustomElementsScopingSuffix", "getCustomElementsScopingSuffix", "setCustomElementsScopingRules", "getCustomElementsScopingRules", "getEffectiveScopingSuffixForTag", "supportsTouch", "isSafari", "isChrome", "isFirefox", "isPhone", "isTablet", "isDesktop", "isCombi", "isIOS", "isAndroid", "EventProvider", "I18nBundle", "getI18nBundle", "registerCustomI18nBundleGetter", "MediaRange", "renderDeferred", "renderImmediately", "cancelRender", "renderFinished", "addCustomCSS", "attachThemeLoaded", "detachThemeLoaded", "UI5Element"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";export{Fragment}from"./preact.module.d.ts";import{JSXInternal as n}from"./jsx.d.ts";export{n as JSX};
1
+ "use strict";export{Fragment}from"./preact.module.js";import{JSXInternal as n}from"./jsx.js";export{n as JSX};
2
2
  //# sourceMappingURL=jsxRuntime.module.d.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/thirdparty/preact/jsxRuntime.module.d.ts"],
4
- "sourcesContent": ["// Intentionally not using a relative path to take advantage of\n// the TS version resolution mechanism\nexport { Fragment } from './preact.module.d.ts';\nimport {\n\tComponentType,\n\tComponentChild,\n\tComponentChildren,\n\tVNode,\n\tAttributes\n} from './preact.module.d.ts';\nimport { JSXInternal } from './jsx.d.ts';\n\nexport function jsx(\n\ttype: string,\n\tprops: JSXInternal.HTMLAttributes &\n\t\tJSXInternal.SVGAttributes &\n\t\tRecord<string, any> & { children?: ComponentChild },\n\tkey?: string\n): VNode<any>;\nexport function jsx<P>(\n\ttype: ComponentType<P>,\n\tprops: Attributes & P & { children?: ComponentChild },\n\tkey?: string\n): VNode<any>;\n\nexport function jsxs(\n\ttype: string,\n\tprops: JSXInternal.HTMLAttributes &\n\t\tJSXInternal.SVGAttributes &\n\t\tRecord<string, any> & { children?: ComponentChild[] },\n\tkey?: string\n): VNode<any>;\nexport function jsxs<P>(\n\ttype: ComponentType<P>,\n\tprops: Attributes & P & { children?: ComponentChild[] },\n\tkey?: string\n): VNode<any>;\n\nexport function jsxDEV(\n\ttype: string,\n\tprops: JSXInternal.HTMLAttributes &\n\t\tJSXInternal.SVGAttributes &\n\t\tRecord<string, any> & { children?: ComponentChildren },\n\tkey?: string\n): VNode<any>;\nexport function jsxDEV<P>(\n\ttype: ComponentType<P>,\n\tprops: Attributes & P & { children?: ComponentChildren },\n\tkey?: string\n): VNode<any>;\n\n// These are not expected to be used manually, but by a JSX transform\nexport function jsxTemplate(\n\ttemplate: string[],\n\t...expressions: any[]\n): VNode<any>;\nexport function jsxAttr(name: string, value: any): string | null;\nexport function jsxEscape<T>(\n\tvalue: T\n): string | null | VNode<any> | Array<string | null | VNode>;\n\nexport { JSXInternal as JSX };\n"],
5
- "mappings": "aAEA,OAAS,aAAgB,uBAQzB,OAAS,eAAAA,MAAmB,aAmD5B,OAASA,KAAe",
4
+ "sourcesContent": ["// Intentionally not using a relative path to take advantage of\n// the TS version resolution mechanism\nexport { Fragment } from './preact.module.js';\nimport {\n\tComponentType,\n\tComponentChild,\n\tComponentChildren,\n\tVNode,\n\tAttributes\n} from './preact.module.js';\nimport { JSXInternal } from './jsx.js';\n\nexport function jsx(\n\ttype: string,\n\tprops: JSXInternal.HTMLAttributes &\n\t\tJSXInternal.SVGAttributes &\n\t\tRecord<string, any> & { children?: ComponentChild },\n\tkey?: string\n): VNode<any>;\nexport function jsx<P>(\n\ttype: ComponentType<P>,\n\tprops: Attributes & P & { children?: ComponentChild },\n\tkey?: string\n): VNode<any>;\n\nexport function jsxs(\n\ttype: string,\n\tprops: JSXInternal.HTMLAttributes &\n\t\tJSXInternal.SVGAttributes &\n\t\tRecord<string, any> & { children?: ComponentChild[] },\n\tkey?: string\n): VNode<any>;\nexport function jsxs<P>(\n\ttype: ComponentType<P>,\n\tprops: Attributes & P & { children?: ComponentChild[] },\n\tkey?: string\n): VNode<any>;\n\nexport function jsxDEV(\n\ttype: string,\n\tprops: JSXInternal.HTMLAttributes &\n\t\tJSXInternal.SVGAttributes &\n\t\tRecord<string, any> & { children?: ComponentChildren },\n\tkey?: string\n): VNode<any>;\nexport function jsxDEV<P>(\n\ttype: ComponentType<P>,\n\tprops: Attributes & P & { children?: ComponentChildren },\n\tkey?: string\n): VNode<any>;\n\n// These are not expected to be used manually, but by a JSX transform\nexport function jsxTemplate(\n\ttemplate: string[],\n\t...expressions: any[]\n): VNode<any>;\nexport function jsxAttr(name: string, value: any): string | null;\nexport function jsxEscape<T>(\n\tvalue: T\n): string | null | VNode<any> | Array<string | null | VNode>;\n\nexport { JSXInternal as JSX };\n"],
5
+ "mappings": "aAEA,OAAS,aAAgB,qBAQzB,OAAS,eAAAA,MAAmB,WAmD5B,OAASA,KAAe",
6
6
  "names": ["JSXInternal"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";import i from"./isElementHidden.js";import f from"./isElementClickable.js";import{instanceOfUI5Element as r}from"../UI5Element.js";import{isSafari as c}from"../Device.js";const E=e=>e.hasAttribute("data-ui5-focus-trap"),d=e=>{const l=getComputedStyle(e);return e.scrollHeight>e.clientHeight&&["scroll","auto"].indexOf(l.overflowY)>=0||e.scrollWidth>e.clientWidth&&["scroll","auto"].indexOf(l.overflowX)>=0},H=async(e,l)=>!e||i(e)?null:m(e,!0,l),T=async(e,l)=>!e||i(e)?null:m(e,!1,l),b=e=>e.hasAttribute("data-ui5-focus-redirect")||!i(e),m=async(e,l,a)=>{let t,n,s=-1;e.shadowRoot?t=l?e.shadowRoot.firstChild:e.shadowRoot.lastChild:e instanceof HTMLSlotElement&&e.assignedNodes()?(n=e.assignedNodes(),s=l?0:n.length-1,t=n[s]):a?t=e:t=l?e.firstElementChild:e.lastElementChild;let o;for(;t;){const u=t;if(!i(u)){if(r(t)&&(t=await t.getFocusDomRefAsync()),!t||i(t))return null;if(t.nodeType===1&&b(t)&&!E(t)){if(f(t)||(o=await m(t,l),!c()&&!o&&d(t)))return t&&typeof t.focus=="function"?t:null;if(o)return o&&typeof o.focus=="function"?o:null}}t=l?u.nextSibling:u.previousSibling,n&&!n[s].contains(t)&&(s=l?s+1:s-1,t=n[s])}return null};export{H as getFirstFocusableElement,T as getLastFocusableElement};
1
+ "use strict";import o from"./isElementHidden.js";import f from"./isElementClickable.js";import{instanceOfUI5Element as a}from"../UI5Element.js";import{isSafari as c}from"../Device.js";const E=e=>e.hasAttribute("data-ui5-focus-trap"),d=e=>{const l=getComputedStyle(e);return e.scrollHeight>e.clientHeight&&["scroll","auto"].indexOf(l.overflowY)>=0||e.scrollWidth>e.clientWidth&&["scroll","auto"].indexOf(l.overflowX)>=0},b=async(e,l)=>!e||o(e)?null:m(e,!0,l),H=async(e,l)=>!e||o(e)?null:m(e,!1,l),T=e=>e.hasAttribute("data-ui5-focus-redirect")||!o(e),L=e=>{if(a(e)){const l=e.getAttribute("tabindex");if(l!==null&&parseInt(l)<0)return!0}return!1},m=async(e,l,r)=>{let t,s,n=-1;e.shadowRoot?t=l?e.shadowRoot.firstChild:e.shadowRoot.lastChild:e instanceof HTMLSlotElement&&e.assignedNodes()?(s=e.assignedNodes(),n=l?0:s.length-1,t=s[n]):r?t=e:t=l?e.firstElementChild:e.lastElementChild;let i;for(;t;){const u=t;if(!o(u)&&!L(u)){if(a(t)&&(await t._waitForDomRef(),t=t.getDomRef()),!t||o(t))return null;if(t.nodeType===1&&T(t)&&!E(t)){if(f(t)||(i=await m(t,l),!c()&&!i&&d(t)))return t&&typeof t.focus=="function"?t:null;if(i)return i&&typeof i.focus=="function"?i:null}}t=l?u.nextSibling:u.previousSibling,s&&!s[n].contains(t)&&(n=l?n+1:n-1,t=s[n])}return null};export{b as getFirstFocusableElement,H as getLastFocusableElement};
2
2
  //# sourceMappingURL=FocusableElements.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/FocusableElements.ts"],
4
- "sourcesContent": ["import isElementHidden from \"./isElementHidden.js\";\nimport isElementClickable from \"./isElementClickable.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\nimport { isSafari } from \"../Device.js\";\n\ntype FocusableElementPromise = Promise<HTMLElement | null>;\n\nconst isFocusTrap = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-trap\");\n};\n\nconst isScrollable = (el: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(el);\n\n\treturn (el.scrollHeight > el.clientHeight && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowY) >= 0)\n\t\t|| (el.scrollWidth > el.clientWidth && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowX) >= 0);\n};\n\nconst getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, true, startFromContainer);\n};\n\nconst getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, false, startFromContainer);\n};\n\nconst isElemFocusable = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-redirect\") || !isElementHidden(el);\n};\n\nconst findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {\n\tlet child: HTMLElement | undefined;\n\tlet assignedElements;\n\tlet currentIndex = -1;\n\n\tif (container.shadowRoot) {\n\t\tchild = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tcurrentIndex = forward ? 0 : assignedElements.length - 1;\n\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;\n\t}\n\n\tlet focusableDescendant;\n\n\t/* eslint-disable no-await-in-loop */\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement | undefined = child;\n\n\t\tif (!isElementHidden(originalChild)) {\n\t\t\tif (instanceOfUI5Element(child)) {\n\t\t\t\tchild = await child.getFocusDomRefAsync();\n\t\t\t}\n\n\t\t\tif (!child || isElementHidden(child)) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {\n\t\t\t\tif (isElementClickable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tfocusableDescendant = await findFocusableElement(child, forward);\n\n\t\t\t\t// check if it is a keyboard focusable scroll container\n\t\t\t\tif (!isSafari() && !focusableDescendant && isScrollable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tif (focusableDescendant) {\n\t\t\t\t\treturn (focusableDescendant && typeof focusableDescendant.focus === \"function\") ? focusableDescendant : null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tchild = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;\n\n\t\t// If the child element is not part of the currently assigned element,\n\t\t// we have to check the next/previous element assigned to the slot or continue with the next/previous sibling of the slot,\n\t\t// otherwise, the nextSibling/previousSibling is the next element inside the light DOM\n\t\tif (assignedElements && !assignedElements[currentIndex].contains(child)) {\n\t\t\tcurrentIndex = forward ? currentIndex + 1 : currentIndex - 1;\n\n\t\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t\t}\n\t}\n\n\t/* eslint-enable no-await-in-loop */\n\n\treturn null;\n};\n\nexport {\n\tgetFirstFocusableElement,\n\tgetLastFocusableElement,\n};\n"],
5
- "mappings": "aAAA,OAAOA,MAAqB,uBAC5B,OAAOC,MAAwB,0BAC/B,OAAS,wBAAAC,MAA4B,mBACrC,OAAS,YAAAC,MAAgB,eAIzB,MAAMC,EAAeC,GACbA,EAAG,aAAa,qBAAqB,EAGvCC,EAAgBD,GAAoB,CACzC,MAAME,EAAgB,iBAAiBF,CAAE,EAEzC,OAAQA,EAAG,aAAeA,EAAG,cAAgB,CAAC,SAAU,MAAM,EAAE,QAAQE,EAAc,SAAS,GAAK,GAC/FF,EAAG,YAAcA,EAAG,aAAe,CAAC,SAAU,MAAM,EAAE,QAAQE,EAAc,SAAS,GAAK,CAChG,EAEMC,EAA2B,MAAOC,EAAwBC,IAC3D,CAACD,GAAaT,EAAgBS,CAAS,EACnC,KAGDE,EAAqBF,EAAW,GAAMC,CAAkB,EAG1DE,EAA0B,MAAOH,EAAwBC,IAC1D,CAACD,GAAaT,EAAgBS,CAAS,EACnC,KAGDE,EAAqBF,EAAW,GAAOC,CAAkB,EAG3DG,EAAmBR,GACjBA,EAAG,aAAa,yBAAyB,GAAK,CAACL,EAAgBK,CAAE,EAGnEM,EAAuB,MAAOF,EAAwBK,EAAkBJ,IAA0D,CACvI,IAAIK,EACAC,EACAC,EAAe,GAEfR,EAAU,WACbM,EAAQD,EAAUL,EAAU,WAAW,WAA4BA,EAAU,WAAW,UAC9EA,aAAqB,iBAAmBA,EAAU,cAAc,GAC1EO,EAAmBP,EAAU,cAAc,EAC3CQ,EAAeH,EAAU,EAAIE,EAAiB,OAAS,EACvDD,EAAQC,EAAiBC,CAAY,GAC3BP,EACVK,EAAQN,EAERM,EAAQD,EAAUL,EAAU,kBAAmCA,EAAU,iBAG1E,IAAIS,EAIJ,KAAOH,GAAO,CACb,MAAMI,EAAyCJ,EAE/C,GAAI,CAACf,EAAgBmB,CAAa,EAAG,CAKpC,GAJIjB,EAAqBa,CAAK,IAC7BA,EAAQ,MAAMA,EAAM,oBAAoB,GAGrC,CAACA,GAASf,EAAgBe,CAAK,EAClC,OAAO,KAGR,GAAIA,EAAM,WAAa,GAAKF,EAAgBE,CAAK,GAAK,CAACX,EAAYW,CAAK,EAAG,CAQ1E,GAPId,EAAmBc,CAAK,IAI5BG,EAAsB,MAAMP,EAAqBI,EAAOD,CAAO,EAG3D,CAACX,EAAS,GAAK,CAACe,GAAuBZ,EAAaS,CAAK,GAC5D,OAAQA,GAAS,OAAOA,EAAM,OAAU,WAAcA,EAAQ,KAG/D,GAAIG,EACH,OAAQA,GAAuB,OAAOA,EAAoB,OAAU,WAAcA,EAAsB,IAE1G,CACD,CAEAH,EAAQD,EAAUK,EAAc,YAA6BA,EAAc,gBAKvEH,GAAoB,CAACA,EAAiBC,CAAY,EAAE,SAASF,CAAK,IACrEE,EAAeH,EAAUG,EAAe,EAAIA,EAAe,EAE3DF,EAAQC,EAAiBC,CAAY,EAEvC,CAIA,OAAO,IACR,EAEA,OACCT,KAAA,yBACAI,KAAA",
6
- "names": ["isElementHidden", "isElementClickable", "instanceOfUI5Element", "isSafari", "isFocusTrap", "el", "isScrollable", "computedStyle", "getFirstFocusableElement", "container", "startFromContainer", "findFocusableElement", "getLastFocusableElement", "isElemFocusable", "forward", "child", "assignedElements", "currentIndex", "focusableDescendant", "originalChild"]
4
+ "sourcesContent": ["import isElementHidden from \"./isElementHidden.js\";\nimport isElementClickable from \"./isElementClickable.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\nimport { isSafari } from \"../Device.js\";\n\ntype FocusableElementPromise = Promise<HTMLElement | null>;\n\nconst isFocusTrap = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-trap\");\n};\n\nconst isScrollable = (el: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(el);\n\n\treturn (el.scrollHeight > el.clientHeight && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowY) >= 0)\n\t\t|| (el.scrollWidth > el.clientWidth && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowX) >= 0);\n};\n\nconst getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, true, startFromContainer);\n};\n\nconst getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, false, startFromContainer);\n};\n\nconst isElemFocusable = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-redirect\") || !isElementHidden(el);\n};\n\nconst isUI5ElementWithNegativeTabIndex = (el: HTMLElement) => {\n\tif (instanceOfUI5Element(el)) {\n\t\tconst tabIndex = el.getAttribute(\"tabindex\");\n\t\tif (tabIndex !== null && parseInt(tabIndex) < 0) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nconst findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {\n\tlet child: HTMLElement | undefined;\n\tlet assignedElements;\n\tlet currentIndex = -1;\n\n\tif (container.shadowRoot) {\n\t\tchild = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tcurrentIndex = forward ? 0 : assignedElements.length - 1;\n\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;\n\t}\n\n\tlet focusableDescendant;\n\n\t/* eslint-disable no-await-in-loop */\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement | undefined = child;\n\n\t\tif (!isElementHidden(originalChild) && !isUI5ElementWithNegativeTabIndex(originalChild)) {\n\t\t\tif (instanceOfUI5Element(child)) {\n\t\t\t\t// getDomRef is used because some components mark their focusable ref in an inner\n\t\t\t\t// html but there might also be focusable targets outside of it\n\t\t\t\t// as an example - TreeItemBase\n\t\t\t\t// div - root of the component returned by getDomRef()\n\t\t\t\t// \tli.ui5-li-tree - returned by getFocusDomRef() and may not be focusable (ItemNavigation manages tabindex)\n\t\t\t\t// \tul.subtree - may still contain focusable targets (sub nodes of the tree item)\n\t\t\t\tawait child._waitForDomRef();\n\t\t\t\tchild = child.getDomRef();\n\t\t\t}\n\n\t\t\tif (!child || isElementHidden(child)) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {\n\t\t\t\tif (isElementClickable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tfocusableDescendant = await findFocusableElement(child, forward);\n\n\t\t\t\t// check if it is a keyboard focusable scroll container\n\t\t\t\tif (!isSafari() && !focusableDescendant && isScrollable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tif (focusableDescendant) {\n\t\t\t\t\treturn (focusableDescendant && typeof focusableDescendant.focus === \"function\") ? focusableDescendant : null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tchild = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;\n\n\t\t// If the child element is not part of the currently assigned element,\n\t\t// we have to check the next/previous element assigned to the slot or continue with the next/previous sibling of the slot,\n\t\t// otherwise, the nextSibling/previousSibling is the next element inside the light DOM\n\t\tif (assignedElements && !assignedElements[currentIndex].contains(child)) {\n\t\t\tcurrentIndex = forward ? currentIndex + 1 : currentIndex - 1;\n\n\t\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t\t}\n\t}\n\n\t/* eslint-enable no-await-in-loop */\n\n\treturn null;\n};\n\nexport {\n\tgetFirstFocusableElement,\n\tgetLastFocusableElement,\n};\n"],
5
+ "mappings": "aAAA,OAAOA,MAAqB,uBAC5B,OAAOC,MAAwB,0BAC/B,OAAS,wBAAAC,MAA4B,mBACrC,OAAS,YAAAC,MAAgB,eAIzB,MAAMC,EAAeC,GACbA,EAAG,aAAa,qBAAqB,EAGvCC,EAAgBD,GAAoB,CACzC,MAAME,EAAgB,iBAAiBF,CAAE,EAEzC,OAAQA,EAAG,aAAeA,EAAG,cAAgB,CAAC,SAAU,MAAM,EAAE,QAAQE,EAAc,SAAS,GAAK,GAC/FF,EAAG,YAAcA,EAAG,aAAe,CAAC,SAAU,MAAM,EAAE,QAAQE,EAAc,SAAS,GAAK,CAChG,EAEMC,EAA2B,MAAOC,EAAwBC,IAC3D,CAACD,GAAaT,EAAgBS,CAAS,EACnC,KAGDE,EAAqBF,EAAW,GAAMC,CAAkB,EAG1DE,EAA0B,MAAOH,EAAwBC,IAC1D,CAACD,GAAaT,EAAgBS,CAAS,EACnC,KAGDE,EAAqBF,EAAW,GAAOC,CAAkB,EAG3DG,EAAmBR,GACjBA,EAAG,aAAa,yBAAyB,GAAK,CAACL,EAAgBK,CAAE,EAGnES,EAAoCT,GAAoB,CAC7D,GAAIH,EAAqBG,CAAE,EAAG,CAC7B,MAAMU,EAAWV,EAAG,aAAa,UAAU,EAC3C,GAAIU,IAAa,MAAQ,SAASA,CAAQ,EAAI,EAC7C,MAAO,EAET,CAEA,MAAO,EACR,EAEMJ,EAAuB,MAAOF,EAAwBO,EAAkBN,IAA0D,CACvI,IAAIO,EACAC,EACAC,EAAe,GAEfV,EAAU,WACbQ,EAAQD,EAAUP,EAAU,WAAW,WAA4BA,EAAU,WAAW,UAC9EA,aAAqB,iBAAmBA,EAAU,cAAc,GAC1ES,EAAmBT,EAAU,cAAc,EAC3CU,EAAeH,EAAU,EAAIE,EAAiB,OAAS,EACvDD,EAAQC,EAAiBC,CAAY,GAC3BT,EACVO,EAAQR,EAERQ,EAAQD,EAAUP,EAAU,kBAAmCA,EAAU,iBAG1E,IAAIW,EAIJ,KAAOH,GAAO,CACb,MAAMI,EAAyCJ,EAE/C,GAAI,CAACjB,EAAgBqB,CAAa,GAAK,CAACP,EAAiCO,CAAa,EAAG,CAYxF,GAXInB,EAAqBe,CAAK,IAO7B,MAAMA,EAAM,eAAe,EAC3BA,EAAQA,EAAM,UAAU,GAGrB,CAACA,GAASjB,EAAgBiB,CAAK,EAClC,OAAO,KAGR,GAAIA,EAAM,WAAa,GAAKJ,EAAgBI,CAAK,GAAK,CAACb,EAAYa,CAAK,EAAG,CAQ1E,GAPIhB,EAAmBgB,CAAK,IAI5BG,EAAsB,MAAMT,EAAqBM,EAAOD,CAAO,EAG3D,CAACb,EAAS,GAAK,CAACiB,GAAuBd,EAAaW,CAAK,GAC5D,OAAQA,GAAS,OAAOA,EAAM,OAAU,WAAcA,EAAQ,KAG/D,GAAIG,EACH,OAAQA,GAAuB,OAAOA,EAAoB,OAAU,WAAcA,EAAsB,IAE1G,CACD,CAEAH,EAAQD,EAAUK,EAAc,YAA6BA,EAAc,gBAKvEH,GAAoB,CAACA,EAAiBC,CAAY,EAAE,SAASF,CAAK,IACrEE,EAAeH,EAAUG,EAAe,EAAIA,EAAe,EAE3DF,EAAQC,EAAiBC,CAAY,EAEvC,CAIA,OAAO,IACR,EAEA,OACCX,KAAA,yBACAI,KAAA",
6
+ "names": ["isElementHidden", "isElementClickable", "instanceOfUI5Element", "isSafari", "isFocusTrap", "el", "isScrollable", "computedStyle", "getFirstFocusableElement", "container", "startFromContainer", "findFocusableElement", "getLastFocusableElement", "isElemFocusable", "isUI5ElementWithNegativeTabIndex", "tabIndex", "forward", "child", "assignedElements", "currentIndex", "focusableDescendant", "originalChild"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/HTMLSanitizer.ts"],
4
- "sourcesContent": ["// @ts-ignore\nimport sanitizeHTML from \"../sap/base/security/sanitizeHTML.js\";\n// @ts-ignore\nimport URLListValidator from \"../sap/base/security/URLListValidator.js\";\n\nexport {\n\tURLListValidator,\n\tsanitizeHTML,\n};\n"],
4
+ "sourcesContent": ["/** @ts-expect-error */\nimport sanitizeHTML from \"../sap/base/security/sanitizeHTML.js\";\n/** @ts-expect-error */\nimport URLListValidator from \"../sap/base/security/URLListValidator.js\";\n\nexport {\n\tURLListValidator,\n\tsanitizeHTML,\n};\n"],
5
5
  "mappings": "aACA,OAAOA,MAAkB,uCAEzB,OAAOC,MAAsB,2CAE7B,OACCA,KAAA,iBACAD,KAAA",
6
6
  "names": ["sanitizeHTML", "URLListValidator"]
7
7
  }
@@ -9,7 +9,7 @@ import {
9
9
  FunctionComponent,
10
10
  PreactDOMAttributes,
11
11
  VNode
12
- } from './preact.module.d.ts';
12
+ } from './preact.module.js';
13
13
 
14
14
  type Defaultize<Props, Defaults> =
15
15
  // Distribute over unions
@@ -1,14 +1,14 @@
1
1
  // Intentionally not using a relative path to take advantage of
2
2
  // the TS version resolution mechanism
3
- export { Fragment } from './preact.module.d.ts';
3
+ export { Fragment } from './preact.module.js';
4
4
  import {
5
5
  ComponentType,
6
6
  ComponentChild,
7
7
  ComponentChildren,
8
8
  VNode,
9
9
  Attributes
10
- } from './preact.module.d.ts';
11
- import { JSXInternal } from './jsx.d.ts';
10
+ } from './preact.module.js';
11
+ import { JSXInternal } from './jsx.js';
12
12
 
13
13
  export function jsx(
14
14
  type: string,
@@ -25,6 +25,15 @@ const getLastFocusableElement = async (container, startFromContainer) => {
25
25
  const isElemFocusable = (el) => {
26
26
  return el.hasAttribute("data-ui5-focus-redirect") || !isElementHidden(el);
27
27
  };
28
+ const isUI5ElementWithNegativeTabIndex = (el) => {
29
+ if (instanceOfUI5Element(el)) {
30
+ const tabIndex = el.getAttribute("tabindex");
31
+ if (tabIndex !== null && parseInt(tabIndex) < 0) {
32
+ return true;
33
+ }
34
+ }
35
+ return false;
36
+ };
28
37
  const findFocusableElement = async (container, forward, startFromContainer) => {
29
38
  let child;
30
39
  let assignedElements;
@@ -47,9 +56,16 @@ const findFocusableElement = async (container, forward, startFromContainer) => {
47
56
  /* eslint-disable no-await-in-loop */
48
57
  while (child) {
49
58
  const originalChild = child;
50
- if (!isElementHidden(originalChild)) {
59
+ if (!isElementHidden(originalChild) && !isUI5ElementWithNegativeTabIndex(originalChild)) {
51
60
  if (instanceOfUI5Element(child)) {
52
- child = await child.getFocusDomRefAsync();
61
+ // getDomRef is used because some components mark their focusable ref in an inner
62
+ // html but there might also be focusable targets outside of it
63
+ // as an example - TreeItemBase
64
+ // div - root of the component returned by getDomRef()
65
+ // li.ui5-li-tree - returned by getFocusDomRef() and may not be focusable (ItemNavigation manages tabindex)
66
+ // ul.subtree - may still contain focusable targets (sub nodes of the tree item)
67
+ await child._waitForDomRef();
68
+ child = child.getDomRef();
53
69
  }
54
70
  if (!child || isElementHidden(child)) {
55
71
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"FocusableElements.js","sourceRoot":"","sources":["../../src/util/FocusableElements.ts"],"names":[],"mappings":"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","sourcesContent":["import isElementHidden from \"./isElementHidden.js\";\nimport isElementClickable from \"./isElementClickable.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\nimport { isSafari } from \"../Device.js\";\n\ntype FocusableElementPromise = Promise<HTMLElement | null>;\n\nconst isFocusTrap = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-trap\");\n};\n\nconst isScrollable = (el: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(el);\n\n\treturn (el.scrollHeight > el.clientHeight && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowY) >= 0)\n\t\t|| (el.scrollWidth > el.clientWidth && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowX) >= 0);\n};\n\nconst getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, true, startFromContainer);\n};\n\nconst getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, false, startFromContainer);\n};\n\nconst isElemFocusable = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-redirect\") || !isElementHidden(el);\n};\n\nconst findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {\n\tlet child: HTMLElement | undefined;\n\tlet assignedElements;\n\tlet currentIndex = -1;\n\n\tif (container.shadowRoot) {\n\t\tchild = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tcurrentIndex = forward ? 0 : assignedElements.length - 1;\n\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;\n\t}\n\n\tlet focusableDescendant;\n\n\t/* eslint-disable no-await-in-loop */\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement | undefined = child;\n\n\t\tif (!isElementHidden(originalChild)) {\n\t\t\tif (instanceOfUI5Element(child)) {\n\t\t\t\tchild = await child.getFocusDomRefAsync();\n\t\t\t}\n\n\t\t\tif (!child || isElementHidden(child)) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {\n\t\t\t\tif (isElementClickable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tfocusableDescendant = await findFocusableElement(child, forward);\n\n\t\t\t\t// check if it is a keyboard focusable scroll container\n\t\t\t\tif (!isSafari() && !focusableDescendant && isScrollable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tif (focusableDescendant) {\n\t\t\t\t\treturn (focusableDescendant && typeof focusableDescendant.focus === \"function\") ? focusableDescendant : null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tchild = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;\n\n\t\t// If the child element is not part of the currently assigned element,\n\t\t// we have to check the next/previous element assigned to the slot or continue with the next/previous sibling of the slot,\n\t\t// otherwise, the nextSibling/previousSibling is the next element inside the light DOM\n\t\tif (assignedElements && !assignedElements[currentIndex].contains(child)) {\n\t\t\tcurrentIndex = forward ? currentIndex + 1 : currentIndex - 1;\n\n\t\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t\t}\n\t}\n\n\t/* eslint-enable no-await-in-loop */\n\n\treturn null;\n};\n\nexport {\n\tgetFirstFocusableElement,\n\tgetLastFocusableElement,\n};\n"]}
1
+ {"version":3,"file":"FocusableElements.js","sourceRoot":"","sources":["../../src/util/FocusableElements.ts"],"names":[],"mappings":"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","sourcesContent":["import isElementHidden from \"./isElementHidden.js\";\nimport isElementClickable from \"./isElementClickable.js\";\nimport { instanceOfUI5Element } from \"../UI5Element.js\";\nimport { isSafari } from \"../Device.js\";\n\ntype FocusableElementPromise = Promise<HTMLElement | null>;\n\nconst isFocusTrap = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-trap\");\n};\n\nconst isScrollable = (el: HTMLElement) => {\n\tconst computedStyle = getComputedStyle(el);\n\n\treturn (el.scrollHeight > el.clientHeight && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowY) >= 0)\n\t\t|| (el.scrollWidth > el.clientWidth && [\"scroll\", \"auto\"].indexOf(computedStyle.overflowX) >= 0);\n};\n\nconst getFirstFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, true, startFromContainer);\n};\n\nconst getLastFocusableElement = async (container: HTMLElement, startFromContainer?: boolean): FocusableElementPromise => {\n\tif (!container || isElementHidden(container)) {\n\t\treturn null;\n\t}\n\n\treturn findFocusableElement(container, false, startFromContainer);\n};\n\nconst isElemFocusable = (el: HTMLElement) => {\n\treturn el.hasAttribute(\"data-ui5-focus-redirect\") || !isElementHidden(el);\n};\n\nconst isUI5ElementWithNegativeTabIndex = (el: HTMLElement) => {\n\tif (instanceOfUI5Element(el)) {\n\t\tconst tabIndex = el.getAttribute(\"tabindex\");\n\t\tif (tabIndex !== null && parseInt(tabIndex) < 0) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\nconst findFocusableElement = async (container: HTMLElement, forward: boolean, startFromContainer?: boolean): FocusableElementPromise => {\n\tlet child: HTMLElement | undefined;\n\tlet assignedElements;\n\tlet currentIndex = -1;\n\n\tif (container.shadowRoot) {\n\t\tchild = forward ? container.shadowRoot.firstChild as HTMLElement : container.shadowRoot.lastChild as HTMLElement;\n\t} else if (container instanceof HTMLSlotElement && container.assignedNodes()) {\n\t\tassignedElements = container.assignedNodes();\n\t\tcurrentIndex = forward ? 0 : assignedElements.length - 1;\n\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t} else if (startFromContainer) {\n\t\tchild = container;\n\t} else {\n\t\tchild = forward ? container.firstElementChild as HTMLElement : container.lastElementChild as HTMLElement;\n\t}\n\n\tlet focusableDescendant;\n\n\t/* eslint-disable no-await-in-loop */\n\n\twhile (child) {\n\t\tconst originalChild: HTMLElement | undefined = child;\n\n\t\tif (!isElementHidden(originalChild) && !isUI5ElementWithNegativeTabIndex(originalChild)) {\n\t\t\tif (instanceOfUI5Element(child)) {\n\t\t\t\t// getDomRef is used because some components mark their focusable ref in an inner\n\t\t\t\t// html but there might also be focusable targets outside of it\n\t\t\t\t// as an example - TreeItemBase\n\t\t\t\t// div - root of the component returned by getDomRef()\n\t\t\t\t// \tli.ui5-li-tree - returned by getFocusDomRef() and may not be focusable (ItemNavigation manages tabindex)\n\t\t\t\t// \tul.subtree - may still contain focusable targets (sub nodes of the tree item)\n\t\t\t\tawait child._waitForDomRef();\n\t\t\t\tchild = child.getDomRef();\n\t\t\t}\n\n\t\t\tif (!child || isElementHidden(child)) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif (child.nodeType === 1 && isElemFocusable(child) && !isFocusTrap(child)) {\n\t\t\t\tif (isElementClickable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tfocusableDescendant = await findFocusableElement(child, forward);\n\n\t\t\t\t// check if it is a keyboard focusable scroll container\n\t\t\t\tif (!isSafari() && !focusableDescendant && isScrollable(child)) {\n\t\t\t\t\treturn (child && typeof child.focus === \"function\") ? child : null;\n\t\t\t\t}\n\n\t\t\t\tif (focusableDescendant) {\n\t\t\t\t\treturn (focusableDescendant && typeof focusableDescendant.focus === \"function\") ? focusableDescendant : null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tchild = forward ? originalChild.nextSibling as HTMLElement : originalChild.previousSibling as HTMLElement;\n\n\t\t// If the child element is not part of the currently assigned element,\n\t\t// we have to check the next/previous element assigned to the slot or continue with the next/previous sibling of the slot,\n\t\t// otherwise, the nextSibling/previousSibling is the next element inside the light DOM\n\t\tif (assignedElements && !assignedElements[currentIndex].contains(child)) {\n\t\t\tcurrentIndex = forward ? currentIndex + 1 : currentIndex - 1;\n\n\t\t\tchild = assignedElements[currentIndex] as HTMLElement;\n\t\t}\n\t}\n\n\t/* eslint-enable no-await-in-loop */\n\n\treturn null;\n};\n\nexport {\n\tgetFirstFocusableElement,\n\tgetLastFocusableElement,\n};\n"]}
@@ -1,3 +1,5 @@
1
+ /** @ts-expect-error */
1
2
  import sanitizeHTML from "../sap/base/security/sanitizeHTML.js";
3
+ /** @ts-expect-error */
2
4
  import URLListValidator from "../sap/base/security/URLListValidator.js";
3
5
  export { URLListValidator, sanitizeHTML, };
@@ -1,6 +1,6 @@
1
- // @ts-ignore
1
+ /** @ts-expect-error */
2
2
  import sanitizeHTML from "../sap/base/security/sanitizeHTML.js";
3
- // @ts-ignore
3
+ /** @ts-expect-error */
4
4
  import URLListValidator from "../sap/base/security/URLListValidator.js";
5
5
  export { URLListValidator, sanitizeHTML, };
6
6
  //# sourceMappingURL=HTMLSanitizer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLSanitizer.js","sourceRoot":"","sources":["../../src/util/HTMLSanitizer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAChE,aAAa;AACb,OAAO,gBAAgB,MAAM,0CAA0C,CAAC;AAExE,OAAO,EACN,gBAAgB,EAChB,YAAY,GACZ,CAAC","sourcesContent":["// @ts-ignore\nimport sanitizeHTML from \"../sap/base/security/sanitizeHTML.js\";\n// @ts-ignore\nimport URLListValidator from \"../sap/base/security/URLListValidator.js\";\n\nexport {\n\tURLListValidator,\n\tsanitizeHTML,\n};\n"]}
1
+ {"version":3,"file":"HTMLSanitizer.js","sourceRoot":"","sources":["../../src/util/HTMLSanitizer.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,OAAO,YAAY,MAAM,sCAAsC,CAAC;AAChE,uBAAuB;AACvB,OAAO,gBAAgB,MAAM,0CAA0C,CAAC;AAExE,OAAO,EACN,gBAAgB,EAChB,YAAY,GACZ,CAAC","sourcesContent":["/** @ts-expect-error */\nimport sanitizeHTML from \"../sap/base/security/sanitizeHTML.js\";\n/** @ts-expect-error */\nimport URLListValidator from \"../sap/base/security/URLListValidator.js\";\n\nexport {\n\tURLListValidator,\n\tsanitizeHTML,\n};\n"]}