@ui5/webcomponents-base 0.0.0-c638668a1 → 0.0.0-c6c04c609
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +6 -5
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +833 -0
- package/README.md +33 -6
- package/bundle.esm.js +20 -11
- package/config/wdio.conf.cjs +400 -0
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +3 -8
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +9 -0
- package/dist/Boot.js +55 -45
- package/dist/Boot.js.map +1 -0
- package/{src/CSP.js → dist/CSP.d.ts} +8 -37
- package/dist/CSP.js +16 -24
- package/dist/CSP.js.map +1 -0
- package/dist/CustomElementsRegistry.d.ts +5 -0
- package/dist/CustomElementsRegistry.js +66 -83
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +11 -108
- package/dist/CustomElementsScope.js.map +1 -0
- package/dist/CustomElementsScopeUtils.d.ts +62 -0
- package/dist/CustomElementsScopeUtils.js +102 -0
- package/dist/CustomElementsScopeUtils.js.map +1 -0
- package/dist/DOMObserver.d.ts +11 -0
- package/dist/DOMObserver.js +12 -54
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +13 -0
- package/dist/Device.js +155 -96
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -82
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +3 -0
- package/dist/FeaturesRegistry.js +5 -10
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +14 -19
- package/dist/FontFace.js.map +1 -0
- package/dist/IgnoreCustomElements.d.ts +27 -0
- package/dist/IgnoreCustomElements.js +39 -0
- package/dist/IgnoreCustomElements.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +28 -0
- package/dist/InitialConfiguration.js +126 -131
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +61 -0
- package/dist/Keys.js +178 -267
- package/dist/Keys.js.map +1 -0
- package/dist/ManagedStyles.d.ts +9 -0
- package/dist/ManagedStyles.js +140 -70
- package/dist/ManagedStyles.js.map +1 -0
- package/dist/MarkedEvents.d.ts +9 -0
- package/dist/MarkedEvents.js +15 -0
- package/dist/MarkedEvents.js.map +1 -0
- package/dist/MediaRange.d.ts +37 -0
- package/dist/MediaRange.js +54 -65
- package/dist/MediaRange.js.map +1 -0
- package/dist/PropertiesFileFormat.d.ts +8 -0
- package/dist/PropertiesFileFormat.js +72 -82
- package/dist/PropertiesFileFormat.js.map +1 -0
- package/dist/Render.d.ts +47 -0
- package/dist/Render.js +81 -113
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +52 -62
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +49 -70
- package/dist/Runtimes.js.map +1 -0
- package/dist/StaticArea.d.ts +3 -0
- package/dist/StaticArea.js +5 -1
- package/dist/StaticArea.js.map +1 -0
- package/dist/StaticAreaItem.d.ts +37 -0
- package/dist/StaticAreaItem.js +88 -87
- package/dist/StaticAreaItem.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +4 -5
- package/dist/SystemCSSVars.js.map +1 -0
- package/{src/Theming.js → dist/Theming.d.ts} +0 -1
- package/dist/Theming.js +1 -1
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +394 -0
- package/dist/UI5Element.js +944 -985
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +150 -0
- package/dist/UI5ElementMetadata.js +278 -314
- package/dist/UI5ElementMetadata.js.map +1 -0
- package/dist/animations/AnimationQueue.d.ts +8 -0
- package/dist/animations/AnimationQueue.js +31 -38
- package/dist/animations/AnimationQueue.js.map +1 -0
- package/dist/animations/animate.d.ts +14 -0
- package/dist/animations/animate.js +46 -51
- package/dist/animations/animate.js.map +1 -0
- package/dist/animations/scroll.d.ts +5 -0
- package/dist/animations/scroll.js +18 -27
- package/dist/animations/scroll.js.map +1 -0
- package/dist/animations/slideDown.d.ts +5 -0
- package/dist/animations/slideDown.js +53 -78
- package/dist/animations/slideDown.js.map +1 -0
- package/dist/animations/slideUp.d.ts +5 -0
- package/dist/animations/slideUp.js +49 -70
- package/dist/animations/slideUp.js.map +1 -0
- package/dist/api.json +1 -0
- package/dist/asset-registries/Icons.d.ts +39 -0
- package/dist/asset-registries/Icons.js +120 -123
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +18 -0
- package/dist/asset-registries/Illustrations.js +80 -25
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +104 -127
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +12 -0
- package/dist/asset-registries/Themes.js +57 -67
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +61 -81
- package/dist/asset-registries/i18n.js.map +1 -0
- package/dist/asset-registries/util/IconCollectionsAlias.d.ts +30 -0
- package/dist/asset-registries/util/IconCollectionsAlias.js +37 -0
- package/dist/asset-registries/util/IconCollectionsAlias.js.map +1 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.d.ts +20 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js +42 -0
- package/dist/asset-registries/util/IconCollectionsByTheme.js.map +1 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.d.ts +13 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js +29 -0
- package/dist/asset-registries/util/getIconCollectionByTheme.js.map +1 -0
- package/dist/assets/Boot-34b7cea0.css +1 -0
- package/dist/assets/Boot-442448c1.js +9 -0
- package/dist/assets/bundle.esm-21077c57.js +50 -0
- package/dist/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +21 -18
- package/dist/config/AnimationMode.js.map +1 -0
- package/dist/config/CalendarType.d.ts +15 -0
- package/dist/config/CalendarType.js +31 -14
- package/dist/config/CalendarType.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +15 -0
- package/dist/config/FormatSettings.js +15 -9
- package/dist/config/FormatSettings.js.map +1 -0
- package/dist/config/Icons.d.ts +40 -0
- package/dist/config/Icons.js +44 -0
- package/dist/config/Icons.js.map +1 -0
- package/dist/config/Language.d.ts +40 -0
- package/dist/config/Language.js +43 -43
- package/dist/config/Language.js.map +1 -0
- package/dist/config/NoConflict.d.ts +20 -0
- package/dist/config/NoConflict.js +41 -41
- package/dist/config/NoConflict.js.map +1 -0
- package/dist/config/RTL.d.ts +7 -0
- package/dist/config/RTL.js +26 -20
- package/dist/config/RTL.js.map +1 -0
- package/dist/config/Theme.d.ts +38 -0
- package/dist/config/Theme.js +57 -29
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoot.d.ts +29 -0
- package/dist/config/ThemeRoot.js +59 -0
- package/dist/config/ThemeRoot.js.map +1 -0
- package/dist/config/Timezone.d.ts +17 -0
- package/dist/config/Timezone.js +30 -0
- package/dist/config/Timezone.js.map +1 -0
- package/dist/connectToComponent.d.ts +9 -0
- package/dist/connectToComponent.js +59 -0
- package/dist/connectToComponent.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +54 -15
- package/dist/decorators/customElement.d.ts +23 -0
- package/dist/decorators/customElement.js +37 -0
- package/dist/decorators/customElement.js.map +1 -0
- package/dist/decorators/event.d.ts +10 -0
- package/dist/decorators/event.js +24 -0
- package/dist/decorators/event.js.map +1 -0
- package/dist/decorators/property.d.ts +9 -0
- package/dist/decorators/property.js +24 -0
- package/dist/decorators/property.js.map +1 -0
- package/dist/decorators/slot.d.ts +9 -0
- package/dist/decorators/slot.js +37 -0
- package/dist/decorators/slot.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +114 -0
- package/dist/delegate/ItemNavigation.js +276 -312
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +25 -0
- package/dist/delegate/ResizeHandler.js +72 -91
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +49 -0
- package/dist/delegate/ScrollEnablement.js +157 -180
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +19 -0
- package/dist/features/F6Navigation.js +145 -100
- package/dist/features/F6Navigation.js.map +1 -0
- package/dist/features/LegacyDateFormats.d.ts +18 -0
- package/dist/features/LegacyDateFormats.js +20 -0
- package/dist/features/LegacyDateFormats.js.map +1 -0
- package/dist/features/OpenUI5Element.d.ts +9 -0
- package/dist/features/OpenUI5Element.js +5 -0
- package/dist/features/OpenUI5Element.js.map +1 -0
- package/dist/features/OpenUI5Enablement.d.ts +11 -0
- package/dist/features/OpenUI5Enablement.js +96 -0
- package/dist/features/OpenUI5Enablement.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +36 -0
- package/dist/features/OpenUI5Support.js +151 -121
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/generated/AssetParameters.js +3 -1
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
- package/dist/generated/css/BusyIndicator.css.js +7 -0
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +3 -0
- package/dist/generated/css/FontFace.css.js +7 -5
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
- package/dist/generated/css/OverrideFontFace.css.js +7 -5
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
- package/dist/generated/css/SystemCSSVars.css.js +7 -5
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +9 -0
- package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +1 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +28 -18
- package/dist/getSharedResource.js.map +1 -0
- package/dist/global.d.ts +40 -0
- package/dist/i18nBundle.d.ts +43 -0
- package/dist/i18nBundle.js +57 -64
- package/dist/i18nBundle.js.map +1 -0
- package/dist/locale/Locale.d.ts +22 -0
- package/dist/locale/Locale.js +75 -87
- package/dist/locale/Locale.js.map +1 -0
- package/dist/locale/RTLAwareRegistry.d.ts +4 -0
- package/dist/locale/RTLAwareRegistry.js +6 -11
- package/dist/locale/RTLAwareRegistry.js.map +1 -0
- package/dist/locale/applyDirection.d.ts +10 -0
- package/dist/locale/applyDirection.js +7 -7
- package/dist/locale/applyDirection.js.map +1 -0
- package/dist/locale/directionChange.d.ts +15 -0
- package/dist/locale/directionChange.js +7 -15
- package/dist/locale/directionChange.js.map +1 -0
- package/dist/locale/getEffectiveDir.d.ts +2 -0
- package/dist/locale/getEffectiveDir.js +20 -24
- package/dist/locale/getEffectiveDir.js.map +1 -0
- package/dist/locale/getLocale.d.ts +7 -0
- package/dist/locale/getLocale.js +26 -29
- package/dist/locale/getLocale.js.map +1 -0
- package/dist/locale/languageChange.d.ts +5 -0
- package/dist/locale/languageChange.js +8 -16
- package/dist/locale/languageChange.js.map +1 -0
- package/dist/locale/nextFallbackLocale.d.ts +8 -0
- package/dist/locale/nextFallbackLocale.js +15 -19
- package/dist/locale/nextFallbackLocale.js.map +1 -0
- package/dist/locale/normalizeLocale.d.ts +7 -0
- package/dist/locale/normalizeLocale.js +34 -41
- package/dist/locale/normalizeLocale.js.map +1 -0
- package/dist/renderer/LitRenderer.d.ts +14 -0
- package/dist/renderer/LitRenderer.js +31 -24
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +13 -0
- package/dist/renderer/executeTemplate.js +20 -7
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +28 -29
- package/dist/sap/base/assert.js +5 -6
- package/dist/sap/base/security/URLListValidator.js +13 -2
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +112 -97
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +33 -45
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +8 -16
- package/dist/theming/ThemeLoaded.js.map +1 -0
- package/dist/theming/ThemeRegistered.d.ts +4 -0
- package/dist/theming/ThemeRegistered.js +11 -0
- package/dist/theming/ThemeRegistered.js.map +1 -0
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +61 -64
- package/dist/theming/applyTheme.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +9 -0
- package/dist/theming/getConstructableStyle.js +12 -17
- package/dist/theming/getConstructableStyle.js.map +1 -0
- package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
- package/dist/theming/getEffectiveLinksHrefs.js +13 -16
- package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +25 -23
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +9 -13
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +72 -79
- package/dist/theming/getThemeDesignerTheme.js.map +1 -0
- package/dist/theming/preloadLinks.d.ts +3 -0
- package/dist/theming/preloadLinks.js +13 -17
- package/dist/theming/preloadLinks.js.map +1 -0
- package/dist/thirdparty/_merge.d.ts +2 -0
- package/dist/thirdparty/_merge.js +7 -4
- package/dist/thirdparty/_merge.js.map +1 -0
- package/dist/thirdparty/isPlainObject.d.ts +2 -0
- package/dist/thirdparty/isPlainObject.js +11 -10
- package/dist/thirdparty/isPlainObject.js.map +1 -0
- package/dist/thirdparty/merge.d.ts +2 -0
- package/dist/thirdparty/merge.js +4 -8
- package/dist/thirdparty/merge.js.map +1 -0
- package/dist/types/AnimationMode.d.ts +32 -0
- package/dist/types/AnimationMode.js +33 -6
- package/dist/types/AnimationMode.js.map +1 -0
- package/dist/types/CSSColor.d.ts +15 -0
- package/dist/types/CSSColor.js +14 -5
- package/dist/types/CSSColor.js.map +1 -0
- package/dist/types/CSSSize.d.ts +15 -0
- package/dist/types/CSSSize.js +14 -5
- package/dist/types/CSSSize.js.map +1 -0
- package/dist/types/CalendarType.d.ts +37 -0
- package/dist/types/CalendarType.js +35 -18
- package/dist/types/CalendarType.js.map +1 -0
- package/dist/types/DOMReference.d.ts +17 -0
- package/dist/types/DOMReference.js +25 -0
- package/dist/types/DOMReference.js.map +1 -0
- package/dist/types/DataType.d.ts +25 -0
- package/dist/types/DataType.js +33 -26
- package/dist/types/DataType.js.map +1 -0
- package/dist/types/Float.d.ts +17 -0
- package/dist/types/Float.js +17 -10
- package/dist/types/Float.js.map +1 -0
- package/dist/types/Integer.d.ts +17 -0
- package/dist/types/Integer.js +17 -9
- package/dist/types/Integer.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +25 -0
- package/dist/types/InvisibleMessageMode.js +20 -23
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +24 -0
- package/dist/types/ItemNavigationBehavior.js +22 -12
- package/dist/types/ItemNavigationBehavior.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +32 -0
- package/dist/types/NavigationMode.js +33 -6
- package/dist/types/NavigationMode.js.map +1 -0
- package/dist/types/ValueState.d.ts +42 -0
- package/dist/types/ValueState.js +41 -19
- package/dist/types/ValueState.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/updateShadowRoot.d.ts +8 -0
- package/dist/updateShadowRoot.js +30 -18
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AriaLabelHelper.d.ts +15 -0
- package/dist/util/AriaLabelHelper.js +166 -36
- package/dist/util/AriaLabelHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +16 -38
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +30 -0
- package/dist/util/ColorConversion.js +321 -348
- package/dist/util/ColorConversion.js.map +1 -0
- package/dist/util/FetchHelper.d.ts +3 -0
- package/dist/util/FetchHelper.js +19 -25
- package/dist/util/FetchHelper.js.map +1 -0
- package/dist/util/FocusableElements.d.ts +4 -0
- package/dist/util/FocusableElements.js +64 -71
- package/dist/util/FocusableElements.js.map +1 -0
- package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
- package/dist/util/HTMLSanitizer.js +4 -5
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +42 -44
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +7 -0
- package/dist/util/PopupUtils.js +58 -77
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +22 -35
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +3 -0
- package/dist/util/StringHelper.js +17 -20
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +17 -0
- package/dist/util/TabbableElements.js +53 -43
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +10 -12
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
- package/dist/util/clamp.js +2 -2
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +7 -0
- package/dist/util/createLinkInHead.js +14 -12
- package/dist/util/createLinkInHead.js.map +1 -0
- package/dist/util/createStyleInHead.d.ts +8 -0
- package/dist/util/createStyleInHead.js +10 -10
- package/dist/util/createStyleInHead.js.map +1 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.js +6 -8
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +7 -10
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +8 -7
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/formatMessage.d.ts +2 -0
- package/dist/util/formatMessage.js +15 -19
- package/dist/util/formatMessage.js.map +1 -0
- package/dist/util/generateHighlightedMarkup.d.ts +9 -0
- package/dist/util/generateHighlightedMarkup.js +26 -27
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +6 -8
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +402 -0
- package/dist/util/getClassCopy.js +7 -7
- package/dist/util/getClassCopy.js.map +1 -0
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
- package/dist/util/getDesigntimePropertyAsArray.js +4 -3
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
- package/dist/util/getEffectiveContentDensity.d.ts +2 -0
- package/dist/util/getEffectiveContentDensity.js +2 -3
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +4 -0
- package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/util/getFastNavigationGroups.d.ts +2 -0
- package/dist/util/getFastNavigationGroups.js +51 -0
- package/dist/util/getFastNavigationGroups.js.map +1 -0
- package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
- package/dist/util/getFileExtension.js +9 -11
- package/dist/util/getFileExtension.js.map +1 -0
- package/dist/util/getNormalizedTarget.d.ts +7 -0
- package/dist/util/getNormalizedTarget.js +14 -0
- package/dist/util/getNormalizedTarget.js.map +1 -0
- package/dist/util/getSingletonElementInstance.d.ts +11 -0
- package/dist/util/getSingletonElementInstance.js +17 -11
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/isElementClickable.d.ts +2 -0
- package/dist/util/isElementClickable.js +16 -0
- package/dist/util/isElementClickable.js.map +1 -0
- package/dist/util/isElementHidden.d.ts +2 -0
- package/dist/util/isElementHidden.js +8 -0
- package/dist/util/isElementHidden.js.map +1 -0
- package/dist/util/isElementInView.d.ts +6 -0
- package/dist/util/isElementInView.js +6 -9
- package/dist/util/isElementInView.js.map +1 -0
- package/dist/util/isElementTabbable.d.ts +9 -0
- package/dist/util/isElementTabbable.js +30 -0
- package/dist/util/isElementTabbable.js.map +1 -0
- package/dist/util/isValidPropertyName.d.ts +8 -0
- package/dist/util/isValidPropertyName.js +16 -17
- package/dist/util/isValidPropertyName.js.map +1 -0
- package/dist/util/whenDOMReady.d.ts +2 -0
- package/dist/util/whenDOMReady.js +11 -10
- package/dist/util/whenDOMReady.js.map +1 -0
- package/dist/util/willShowContent.d.ts +2 -0
- package/dist/util/willShowContent.js +7 -0
- package/dist/util/willShowContent.js.map +1 -0
- package/dist/validateThemeRoot.d.ts +2 -0
- package/dist/validateThemeRoot.js +48 -0
- package/dist/validateThemeRoot.js.map +1 -0
- package/index.js +227 -1
- package/lib/generate-asset-parameters/index.js +11 -5
- package/lib/generate-styles/index.js +26 -13
- package/lib/generate-version-info/index.js +18 -13
- package/package-scripts.cjs +71 -0
- package/package.json +8 -6
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +54 -15
- package/tsconfig.json +14 -0
- package/config/rollup.config.js +0 -1
- package/config/wdio.conf.js +0 -1
- package/dist/RenderScheduler.js +0 -44
- package/dist/animations/config.js +0 -5
- package/dist/assets-meta/IconCollectionsAlias.js +0 -18
- package/dist/isLegacyBrowser.js +0 -3
- package/dist/resources/bundle.esm.js +0 -37
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -17
- package/dist/test-resources/elements/Child.js +0 -35
- package/dist/test-resources/elements/Generic.js +0 -84
- package/dist/test-resources/elements/GenericExt.js +0 -26
- package/dist/test-resources/elements/NoShadowDOM.js +0 -13
- package/dist/test-resources/elements/Parent.js +0 -41
- package/dist/test-resources/elements/WithStaticArea.js +0 -77
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -18
- package/dist/test-resources/pages/ConfigurationScript.html +0 -34
- package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
- package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
- package/dist/test-resources/pages/i18n.html +0 -33
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
- package/dist/test-resources/specs/EventProvider.spec.js +0 -63
- package/dist/test-resources/specs/StaticArea.spec.js +0 -78
- package/dist/test-resources/specs/Theming.spec.js +0 -33
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
- package/dist/types/PopupState.js +0 -37
- package/dist/util/findNodeOwner.js +0 -35
- package/dist/util/isDescendantOf.js +0 -15
- package/dist/util/isNodeClickable.js +0 -19
- package/dist/util/isNodeHidden.js +0 -9
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/util/setToArray.js +0 -10
- package/hash.txt +0 -1
- package/package-scripts.js +0 -67
- package/src/AssetRegistry.js +0 -11
- package/src/Boot.js +0 -61
- package/src/CustomElementsRegistry.js +0 -95
- package/src/CustomElementsScope.js +0 -108
- package/src/DOMObserver.js +0 -65
- package/src/Device.js +0 -116
- package/src/EventProvider.js +0 -85
- package/src/FeaturesRegistry.js +0 -14
- package/src/FontFace.js +0 -30
- package/src/InitialConfiguration.js +0 -166
- package/src/Keys.js +0 -271
- package/src/ManagedStyles.js +0 -83
- package/src/MediaRange.js +0 -109
- package/src/PropertiesFileFormat.js +0 -95
- package/src/Render.js +0 -175
- package/src/RenderQueue.js +0 -66
- package/src/RenderScheduler.js +0 -44
- package/src/Runtimes.js +0 -107
- package/src/StaticArea.js +0 -3
- package/src/StaticAreaItem.js +0 -101
- package/src/SystemCSSVars.js +0 -10
- package/src/UI5Element.js +0 -1023
- package/src/UI5ElementMetadata.js +0 -327
- package/src/animations/AnimationQueue.js +0 -42
- package/src/animations/animate.js +0 -53
- package/src/animations/config.js +0 -5
- package/src/animations/scroll.js +0 -28
- package/src/animations/slideDown.js +0 -79
- package/src/animations/slideUp.js +0 -71
- package/src/asset-registries/Icons.js +0 -139
- package/src/asset-registries/Illustrations.js +0 -30
- package/src/asset-registries/LocaleData.js +0 -159
- package/src/asset-registries/Themes.js +0 -78
- package/src/asset-registries/i18n.js +0 -121
- package/src/assets-meta/IconCollectionsAlias.js +0 -18
- package/src/config/AnimationMode.js +0 -23
- package/src/config/CalendarType.js +0 -18
- package/src/config/FormatSettings.js +0 -13
- package/src/config/Language.js +0 -68
- package/src/config/NoConflict.js +0 -51
- package/src/config/RTL.js +0 -31
- package/src/config/Theme.js +0 -42
- package/src/delegate/ItemNavigation.js +0 -351
- package/src/delegate/ResizeHandler.js +0 -106
- package/src/delegate/ScrollEnablement.js +0 -188
- package/src/features/F6Navigation.js +0 -106
- package/src/features/OpenUI5Support.js +0 -125
- package/src/getSharedResource.js +0 -30
- package/src/i18nBundle.js +0 -86
- package/src/isLegacyBrowser.js +0 -3
- package/src/locale/Locale.js +0 -91
- package/src/locale/RTLAwareRegistry.js +0 -14
- package/src/locale/applyDirection.js +0 -17
- package/src/locale/directionChange.js +0 -32
- package/src/locale/getEffectiveDir.js +0 -28
- package/src/locale/getLocale.js +0 -41
- package/src/locale/languageChange.js +0 -22
- package/src/locale/nextFallbackLocale.js +0 -28
- package/src/locale/normalizeLocale.js +0 -54
- package/src/renderer/LitRenderer.js +0 -34
- package/src/renderer/executeTemplate.js +0 -17
- package/src/theming/CustomStyle.js +0 -60
- package/src/theming/ThemeLoaded.js +0 -22
- package/src/theming/applyTheme.js +0 -79
- package/src/theming/getConstructableStyle.js +0 -30
- package/src/theming/getEffectiveLinksHrefs.js +0 -20
- package/src/theming/getEffectiveStyle.js +0 -30
- package/src/theming/getStylesString.js +0 -15
- package/src/theming/getThemeDesignerTheme.js +0 -87
- package/src/theming/preloadLinks.js +0 -23
- package/src/thirdparty/_merge.js +0 -32
- package/src/thirdparty/isPlainObject.js +0 -18
- package/src/thirdparty/merge.js +0 -10
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSColor.js +0 -9
- package/src/types/CSSSize.js +0 -9
- package/src/types/CalendarType.js +0 -22
- package/src/types/DataType.js +0 -37
- package/src/types/Float.js +0 -14
- package/src/types/Integer.js +0 -13
- package/src/types/InvisibleMessageMode.js +0 -30
- package/src/types/ItemNavigationBehavior.js +0 -16
- package/src/types/NavigationMode.js +0 -7
- package/src/types/PopupState.js +0 -37
- package/src/types/ValueState.js +0 -22
- package/src/updateShadowRoot.js +0 -30
- package/src/util/AriaLabelHelper.js +0 -41
- package/src/util/Caret.js +0 -45
- package/src/util/ColorConversion.js +0 -370
- package/src/util/FetchHelper.js +0 -31
- package/src/util/FocusableElements.js +0 -79
- package/src/util/InvisibleMessage.js +0 -58
- package/src/util/PopupUtils.js +0 -93
- package/src/util/SlotsHelper.js +0 -43
- package/src/util/StringHelper.js +0 -26
- package/src/util/TabbableElements.js +0 -47
- package/src/util/arraysAreEqual.js +0 -15
- package/src/util/createLinkInHead.js +0 -19
- package/src/util/createStyleInHead.js +0 -18
- package/src/util/debounce.js +0 -17
- package/src/util/detectNavigatorLanguage.js +0 -13
- package/src/util/escapeRegex.js +0 -10
- package/src/util/findNodeOwner.js +0 -35
- package/src/util/formatMessage.js +0 -23
- package/src/util/generateHighlightedMarkup.js +0 -42
- package/src/util/getActiveElement.js +0 -11
- package/src/util/getClassCopy.js +0 -10
- package/src/util/getDesigntimePropertyAsArray.js +0 -4
- package/src/util/getEffectiveContentDensity.js +0 -5
- package/src/util/getSingletonElementInstance.js +0 -13
- package/src/util/isDescendantOf.js +0 -15
- package/src/util/isElementInView.js +0 -15
- package/src/util/isNodeClickable.js +0 -19
- package/src/util/isNodeHidden.js +0 -9
- package/src/util/isNodeTabbable.js +0 -28
- package/src/util/isValidPropertyName.js +0 -29
- package/src/util/setToArray.js +0 -10
- package/src/util/whenDOMReady.js +0 -13
- /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
|
@@ -4,68 +4,53 @@ import normalizeLocale from "../locale/normalizeLocale.js";
|
|
|
4
4
|
import nextFallbackLocale from "../locale/nextFallbackLocale.js";
|
|
5
5
|
import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
|
|
6
6
|
import { getFetchDefaultLanguage } from "../config/Language.js";
|
|
7
|
-
|
|
8
7
|
// contains package names for which the warning has been shown
|
|
9
8
|
const warningShown = new Set();
|
|
10
9
|
const reportedErrors = new Set();
|
|
11
|
-
|
|
12
10
|
const bundleData = new Map();
|
|
13
11
|
const bundlePromises = new Map();
|
|
14
12
|
const loaders = new Map();
|
|
15
|
-
|
|
16
13
|
/**
|
|
14
|
+
* Registers i18n loader function for given package and locale.
|
|
17
15
|
*
|
|
16
|
+
* @public
|
|
18
17
|
* @param {string} packageName for which package this loader can fetch data
|
|
18
|
+
* @param {string} localeId locale that this loader can handle
|
|
19
19
|
* @param {function} loader async function that will be passed a localeId and should return a JSON object
|
|
20
|
-
* @param {Array} localeIds Array of locale IDs that this loader can handle
|
|
21
20
|
*/
|
|
22
21
|
const registerI18nLoader = (packageName, localeId, loader) => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
// register loader by key
|
|
23
|
+
const bundleKey = `${packageName}/${localeId}`;
|
|
24
|
+
loaders.set(bundleKey, loader);
|
|
26
25
|
};
|
|
27
|
-
|
|
28
26
|
const _setI18nBundleData = (packageName, data) => {
|
|
29
|
-
|
|
27
|
+
bundleData.set(packageName, data);
|
|
30
28
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return bundleData.get(packageName);
|
|
29
|
+
const getI18nBundleData = (packageName) => {
|
|
30
|
+
return bundleData.get(packageName);
|
|
34
31
|
};
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @public
|
|
38
|
-
* @deprecated
|
|
39
|
-
*/
|
|
40
|
-
const registerI18nBundle = (_packageName, _bundle) => {
|
|
41
|
-
throw new Error("This method has been removed. Use `registerI18nLoader` instead.");
|
|
42
|
-
};
|
|
43
|
-
|
|
44
32
|
const _hasLoader = (packageName, localeId) => {
|
|
45
|
-
|
|
46
|
-
|
|
33
|
+
const bundleKey = `${packageName}/${localeId}`;
|
|
34
|
+
return loaders.has(bundleKey);
|
|
47
35
|
};
|
|
48
|
-
|
|
49
36
|
// load bundle over the network once
|
|
50
37
|
const _loadMessageBundleOnce = (packageName, localeId) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
38
|
+
const bundleKey = `${packageName}/${localeId}`;
|
|
39
|
+
const loadMessageBundle = loaders.get(bundleKey);
|
|
40
|
+
if (loadMessageBundle && !bundlePromises.get(bundleKey)) {
|
|
41
|
+
bundlePromises.set(bundleKey, loadMessageBundle(localeId));
|
|
42
|
+
}
|
|
43
|
+
return bundlePromises.get(bundleKey); // Investigate if i18n loader exists and this won't return undefined.
|
|
44
|
+
};
|
|
45
|
+
const _showAssetsWarningOnce = (packageName) => {
|
|
46
|
+
if (!warningShown.has(packageName)) {
|
|
47
|
+
console.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */ ` Add \`import "${packageName}/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.`); /* eslint-disable-line */
|
|
48
|
+
warningShown.add(packageName);
|
|
49
|
+
}
|
|
59
50
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (!warningShown.has(packageName)) {
|
|
63
|
-
console.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */
|
|
64
|
-
` Add \`import "${packageName}/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.`); /* eslint-disable-line */
|
|
65
|
-
warningShown.add(packageName);
|
|
66
|
-
}
|
|
51
|
+
const useFallbackBundle = (packageName, localeId) => {
|
|
52
|
+
return localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId);
|
|
67
53
|
};
|
|
68
|
-
|
|
69
54
|
/**
|
|
70
55
|
* This method preforms the asynchronous task of fetching the actual text resources. It will fetch
|
|
71
56
|
* each text resource over the network once (even for multiple calls to the same method).
|
|
@@ -75,47 +60,42 @@ const _showAssetsWarningOnce = packageName => {
|
|
|
75
60
|
* @param {packageName} packageName the NPM package name
|
|
76
61
|
* @public
|
|
77
62
|
*/
|
|
78
|
-
const fetchI18nBundle = async packageName => {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
63
|
+
const fetchI18nBundle = async (packageName) => {
|
|
64
|
+
const language = getLocale().getLanguage();
|
|
65
|
+
const region = getLocale().getRegion();
|
|
66
|
+
let localeId = language + (region ? `-${region}` : ``);
|
|
67
|
+
if (useFallbackBundle(packageName, localeId)) {
|
|
68
|
+
localeId = normalizeLocale(localeId);
|
|
69
|
+
while (useFallbackBundle(packageName, localeId)) {
|
|
70
|
+
localeId = nextFallbackLocale(localeId);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// use default language unless configured to always fetch it from the network
|
|
74
|
+
const fetchDefaultLanguage = getFetchDefaultLanguage();
|
|
75
|
+
if (localeId === DEFAULT_LANGUAGE && !fetchDefaultLanguage) {
|
|
76
|
+
_setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (!_hasLoader(packageName, localeId)) {
|
|
80
|
+
_showAssetsWarningOnce(packageName);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const data = await _loadMessageBundleOnce(packageName, localeId);
|
|
85
|
+
_setI18nBundleData(packageName, data);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
const e = error;
|
|
89
|
+
if (!reportedErrors.has(e.message)) {
|
|
90
|
+
reportedErrors.add(e.message);
|
|
91
|
+
console.error(e.message); /* eslint-disable-line */
|
|
92
|
+
}
|
|
93
|
+
}
|
|
108
94
|
};
|
|
109
|
-
|
|
110
95
|
// When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles
|
|
111
|
-
attachLanguageChange(() => {
|
|
112
|
-
|
|
113
|
-
|
|
96
|
+
attachLanguageChange((lang /* eslint-disable-line */) => {
|
|
97
|
+
const allPackages = [...bundleData.keys()];
|
|
98
|
+
return Promise.all(allPackages.map(fetchI18nBundle));
|
|
114
99
|
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
registerI18nLoader,
|
|
118
|
-
fetchI18nBundle,
|
|
119
|
-
registerI18nBundle,
|
|
120
|
-
getI18nBundleData,
|
|
121
|
-
};
|
|
100
|
+
export { registerI18nLoader, fetchI18nBundle, getI18nBundleData, };
|
|
101
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/asset-registries/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAKhE,8DAA8D;AAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;AAC/B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;AAEjC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;AACtD,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;AAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,MAAkB,EAAE,EAAE;IACxF,yBAAyB;IACzB,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,IAAqB,EAAE,EAAE;IACzE,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,EAAE;IACjD,OAAO,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,EAAE;IAC5D,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,oCAAoC;AACpC,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,EAAE;IACxE,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;IAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,iBAAiB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACxD,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC3D;IAED,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC,qEAAqE;AAC7G,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,EAAE;IACtD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,6EAA6E,EAAE,yBAAyB,CACnI,kBAAkB,WAAW,4KAA4K,CAAC,CAAC,CAAC,yBAAyB;QACtO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC9B;AACF,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,EAAE;IACnE,OAAO,QAAQ,KAAK,gBAAgB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;IACrD,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;IACvC,IAAI,QAAQ,GAAG,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvD,IAAI,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE;QAC7C,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE;YAChD,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SACxC;KACD;IAED,6EAA6E;IAC7E,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,IAAI,QAAQ,KAAK,gBAAgB,IAAI,CAAC,oBAAoB,EAAE;QAC3D,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,2EAA2E;QAClH,OAAO;KACP;IAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE;QACvC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO;KACP;IAED,IAAI;QACH,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjE,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KACtC;IAAC,OAAO,KAAc,EAAE;QACxB,MAAM,CAAC,GAAG,KAAc,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;YACnC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;SACnD;KACD;AACF,CAAC,CAAC;AAEF,8GAA8G;AAC9G,oBAAoB,CAAC,CAAC,IAAY,CAAC,yBAAyB,EAAE,EAAE;IAC/D,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,OAAO,EACN,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GACjB,CAAC","sourcesContent":["import getLocale from \"../locale/getLocale.js\";\nimport { attachLanguageChange } from \"../locale/languageChange.js\";\nimport normalizeLocale from \"../locale/normalizeLocale.js\";\nimport nextFallbackLocale from \"../locale/nextFallbackLocale.js\";\nimport { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\nimport { getFetchDefaultLanguage } from \"../config/Language.js\";\n\ntype I18nLoader = (localeId: string) => Promise<I18nData>;\ntype I18nData = Record<string, string>;\n\n// contains package names for which the warning has been shown\nconst warningShown = new Set();\nconst reportedErrors = new Set();\n\nconst bundleData = new Map<string, I18nData | null>();\nconst bundlePromises = new Map<string, Promise<I18nData>>();\nconst loaders = new Map<string, I18nLoader>();\n\n/**\n * Registers i18n loader function for given package and locale.\n *\n * @public\n * @param {string} packageName for which package this loader can fetch data\n * @param {string} localeId locale that this loader can handle\n * @param {function} loader async function that will be passed a localeId and should return a JSON object\n */\nconst registerI18nLoader = (packageName: string, localeId: string, loader: I18nLoader) => {\n\t// register loader by key\n\tconst bundleKey = `${packageName}/${localeId}`;\n\tloaders.set(bundleKey, loader);\n};\n\nconst _setI18nBundleData = (packageName: string, data: I18nData | null) => {\n\tbundleData.set(packageName, data);\n};\n\nconst getI18nBundleData = (packageName: string) => {\n\treturn bundleData.get(packageName);\n};\n\nconst _hasLoader = (packageName: string, localeId: string) => {\n\tconst bundleKey = `${packageName}/${localeId}`;\n\treturn loaders.has(bundleKey);\n};\n\n// load bundle over the network once\nconst _loadMessageBundleOnce = (packageName: string, localeId: string) => {\n\tconst bundleKey = `${packageName}/${localeId}`;\n\tconst loadMessageBundle = loaders.get(bundleKey);\n\n\tif (loadMessageBundle && !bundlePromises.get(bundleKey)) {\n\t\tbundlePromises.set(bundleKey, loadMessageBundle(localeId));\n\t}\n\n\treturn bundlePromises.get(bundleKey)!; // Investigate if i18n loader exists and this won't return undefined.\n};\n\nconst _showAssetsWarningOnce = (packageName: string) => {\n\tif (!warningShown.has(packageName)) {\n\t\tconsole.warn(`[${packageName}]: Message bundle assets are not configured. Falling back to English texts.`, /* eslint-disable-line */\n\t\t\t` Add \\`import \"${packageName}/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.`); /* eslint-disable-line */\n\t\twarningShown.add(packageName);\n\t}\n};\n\nconst useFallbackBundle = (packageName: string, localeId: string) => {\n\treturn localeId !== DEFAULT_LANGUAGE && !_hasLoader(packageName, localeId);\n};\n\n/**\n * This method preforms the asynchronous task of fetching the actual text resources. It will fetch\n * each text resource over the network once (even for multiple calls to the same method).\n * It should be fully finished before the i18nBundle class is created in the webcomponents.\n * This method uses the bundle URLs that are populated by the <code>registerI18nBundle</code> method.\n * To simplify the usage, the synchronization of both methods happens internally for the same <code>bundleId</code>\n * @param {packageName} packageName the NPM package name\n * @public\n */\nconst fetchI18nBundle = async (packageName: string) => {\n\tconst language = getLocale().getLanguage();\n\tconst region = getLocale().getRegion();\n\tlet localeId = language + (region ? `-${region}` : ``);\n\n\tif (useFallbackBundle(packageName, localeId)) {\n\t\tlocaleId = normalizeLocale(localeId);\n\n\t\twhile (useFallbackBundle(packageName, localeId)) {\n\t\t\tlocaleId = nextFallbackLocale(localeId);\n\t\t}\n\t}\n\n\t// use default language unless configured to always fetch it from the network\n\tconst fetchDefaultLanguage = getFetchDefaultLanguage();\n\tif (localeId === DEFAULT_LANGUAGE && !fetchDefaultLanguage) {\n\t\t_setI18nBundleData(packageName, null); // reset for the default language (if data was set for a previous language)\n\t\treturn;\n\t}\n\n\tif (!_hasLoader(packageName, localeId)) {\n\t\t_showAssetsWarningOnce(packageName);\n\t\treturn;\n\t}\n\n\ttry {\n\t\tconst data = await _loadMessageBundleOnce(packageName, localeId);\n\t\t_setI18nBundleData(packageName, data);\n\t} catch (error: unknown) {\n\t\tconst e = error as Error;\n\t\tif (!reportedErrors.has(e.message)) {\n\t\t\treportedErrors.add(e.message);\n\t\t\tconsole.error(e.message); /* eslint-disable-line */\n\t\t}\n\t}\n};\n\n// When the language changes dynamically (the user calls setLanguage), re-fetch all previously fetched bundles\nattachLanguageChange((lang: string /* eslint-disable-line */) => {\n\tconst allPackages = [...bundleData.keys()];\n\treturn Promise.all(allPackages.map(fetchI18nBundle));\n});\n\nexport {\n\tregisterI18nLoader,\n\tfetchI18nBundle,\n\tgetI18nBundleData,\n};\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported icon collection aliases.
|
|
3
|
+
*
|
|
4
|
+
* Users might specify a collection, using both the key and the value in the following key-value pairs,
|
|
5
|
+
* e.g the following pairs are completely exchangeable:
|
|
6
|
+
*
|
|
7
|
+
* - "SAP-icons/accept" and "SAP-icons-v4/accept"
|
|
8
|
+
* - "horizon/accept" and "SAP-icons-v5/accept"
|
|
9
|
+
* - "SAP-icons-TNT/actor" and "tnt/actor"
|
|
10
|
+
* - "BusinessSuiteInAppSymbols/3d" and "business-suite/3d"
|
|
11
|
+
*/
|
|
12
|
+
declare enum IconCollectionsAlias {
|
|
13
|
+
"SAP-icons" = "SAP-icons-v4",
|
|
14
|
+
"horizon" = "SAP-icons-v5",
|
|
15
|
+
"SAP-icons-TNT" = "tnt",
|
|
16
|
+
"BusinessSuiteInAppSymbols" = "business-suite"
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Returns the collection name for a given alias:
|
|
20
|
+
*
|
|
21
|
+
* - "SAP-icons-TNT"resolves to "tnt"
|
|
22
|
+
* - "BusinessSuiteInAppSymbols" resolves to "business-suite"
|
|
23
|
+
* - "horizon" resolves to "SAP-icons-v5"
|
|
24
|
+
*
|
|
25
|
+
* @param { string } collectionName
|
|
26
|
+
* @return { string } the normalized collection name
|
|
27
|
+
*/
|
|
28
|
+
declare const getIconCollectionByAlias: (collectionName: string) => string;
|
|
29
|
+
export default IconCollectionsAlias;
|
|
30
|
+
export { getIconCollectionByAlias, };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported icon collection aliases.
|
|
3
|
+
*
|
|
4
|
+
* Users might specify a collection, using both the key and the value in the following key-value pairs,
|
|
5
|
+
* e.g the following pairs are completely exchangeable:
|
|
6
|
+
*
|
|
7
|
+
* - "SAP-icons/accept" and "SAP-icons-v4/accept"
|
|
8
|
+
* - "horizon/accept" and "SAP-icons-v5/accept"
|
|
9
|
+
* - "SAP-icons-TNT/actor" and "tnt/actor"
|
|
10
|
+
* - "BusinessSuiteInAppSymbols/3d" and "business-suite/3d"
|
|
11
|
+
*/
|
|
12
|
+
var IconCollectionsAlias;
|
|
13
|
+
(function (IconCollectionsAlias) {
|
|
14
|
+
IconCollectionsAlias["SAP-icons"] = "SAP-icons-v4";
|
|
15
|
+
IconCollectionsAlias["horizon"] = "SAP-icons-v5";
|
|
16
|
+
IconCollectionsAlias["SAP-icons-TNT"] = "tnt";
|
|
17
|
+
IconCollectionsAlias["BusinessSuiteInAppSymbols"] = "business-suite";
|
|
18
|
+
})(IconCollectionsAlias || (IconCollectionsAlias = {}));
|
|
19
|
+
/**
|
|
20
|
+
* Returns the collection name for a given alias:
|
|
21
|
+
*
|
|
22
|
+
* - "SAP-icons-TNT"resolves to "tnt"
|
|
23
|
+
* - "BusinessSuiteInAppSymbols" resolves to "business-suite"
|
|
24
|
+
* - "horizon" resolves to "SAP-icons-v5"
|
|
25
|
+
*
|
|
26
|
+
* @param { string } collectionName
|
|
27
|
+
* @return { string } the normalized collection name
|
|
28
|
+
*/
|
|
29
|
+
const getIconCollectionByAlias = (collectionName) => {
|
|
30
|
+
if (IconCollectionsAlias[collectionName]) {
|
|
31
|
+
return IconCollectionsAlias[collectionName];
|
|
32
|
+
}
|
|
33
|
+
return collectionName;
|
|
34
|
+
};
|
|
35
|
+
export default IconCollectionsAlias;
|
|
36
|
+
export { getIconCollectionByAlias, };
|
|
37
|
+
//# sourceMappingURL=IconCollectionsAlias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconCollectionsAlias.js","sourceRoot":"","sources":["../../../src/asset-registries/util/IconCollectionsAlias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,IAAK,oBAKJ;AALD,WAAK,oBAAoB;IACxB,kDAA4B,CAAA;IAC5B,gDAA0B,CAAA;IAC1B,6CAAuB,CAAA;IACvB,oEAA8C,CAAA;AAC/C,CAAC,EALI,oBAAoB,KAApB,oBAAoB,QAKxB;AAED;;;;;;;;;GASG;AACH,MAAM,wBAAwB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC3D,IAAI,oBAAoB,CAAC,cAAmD,CAAC,EAAE;QAC9E,OAAO,oBAAoB,CAAC,cAAmD,CAAC,CAAC;KACjF;IAED,OAAO,cAAc,CAAC;AACvB,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC;AACpC,OAAO,EACN,wBAAwB,GACxB,CAAC","sourcesContent":["/**\n * Supported icon collection aliases.\n *\n * Users might specify a collection, using both the key and the value in the following key-value pairs,\n * e.g the following pairs are completely exchangeable:\n *\n * - \"SAP-icons/accept\" and \"SAP-icons-v4/accept\"\n * - \"horizon/accept\" and \"SAP-icons-v5/accept\"\n * - \"SAP-icons-TNT/actor\" and \"tnt/actor\"\n * - \"BusinessSuiteInAppSymbols/3d\" and \"business-suite/3d\"\n */\nenum IconCollectionsAlias {\n\t\"SAP-icons\" = \"SAP-icons-v4\",\n\t\"horizon\" = \"SAP-icons-v5\",\n\t\"SAP-icons-TNT\" = \"tnt\",\n\t\"BusinessSuiteInAppSymbols\" = \"business-suite\",\n}\n\n/**\n * Returns the collection name for a given alias:\n *\n * - \"SAP-icons-TNT\"resolves to \"tnt\"\n * - \"BusinessSuiteInAppSymbols\" resolves to \"business-suite\"\n * - \"horizon\" resolves to \"SAP-icons-v5\"\n *\n * @param { string } collectionName\n * @return { string } the normalized collection name\n */\nconst getIconCollectionByAlias = (collectionName: string) => {\n\tif (IconCollectionsAlias[collectionName as keyof typeof IconCollectionsAlias]) {\n\t\treturn IconCollectionsAlias[collectionName as keyof typeof IconCollectionsAlias];\n\t}\n\n\treturn collectionName;\n};\n\nexport default IconCollectionsAlias;\nexport {\n\tgetIconCollectionByAlias,\n};\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare enum RegisteredIconCollection {
|
|
2
|
+
SAPIconsV4 = "SAP-icons-v4",
|
|
3
|
+
SAPIconsV5 = "SAP-icons-v5",
|
|
4
|
+
SAPIconsTNTV2 = "tnt-v2",
|
|
5
|
+
SAPIconsTNTV3 = "tnt-v3",
|
|
6
|
+
SAPBSIconsV1 = "business-suite-v1",
|
|
7
|
+
SAPBSIconsV2 = "business-suite-v2"
|
|
8
|
+
}
|
|
9
|
+
type ThemeToCollectionMap = {
|
|
10
|
+
[x: string]: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Registers collection version per theme.
|
|
14
|
+
* </b>For exmaple:</b> registerIconCollectionForTheme("my-custom-icons", {"sap_horizon": "my-custom-icons-v5"})
|
|
15
|
+
* @param { string } collectionName
|
|
16
|
+
* @param { ThemeToCollectionMap } themeCollectionMap
|
|
17
|
+
*/
|
|
18
|
+
declare const registerIconCollectionForTheme: (collectionName: string, themeCollectionMap: ThemeToCollectionMap) => void;
|
|
19
|
+
declare const getIconCollectionForTheme: (collectionName: string) => string;
|
|
20
|
+
export { registerIconCollectionForTheme, getIconCollectionForTheme, RegisteredIconCollection, };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isLegacyThemeFamily } from "../../config/Theme.js";
|
|
2
|
+
var RegisteredIconCollection;
|
|
3
|
+
(function (RegisteredIconCollection) {
|
|
4
|
+
RegisteredIconCollection["SAPIconsV4"] = "SAP-icons-v4";
|
|
5
|
+
RegisteredIconCollection["SAPIconsV5"] = "SAP-icons-v5";
|
|
6
|
+
RegisteredIconCollection["SAPIconsTNTV2"] = "tnt-v2";
|
|
7
|
+
RegisteredIconCollection["SAPIconsTNTV3"] = "tnt-v3";
|
|
8
|
+
RegisteredIconCollection["SAPBSIconsV1"] = "business-suite-v1";
|
|
9
|
+
RegisteredIconCollection["SAPBSIconsV2"] = "business-suite-v2";
|
|
10
|
+
})(RegisteredIconCollection || (RegisteredIconCollection = {}));
|
|
11
|
+
const iconCollections = new Map();
|
|
12
|
+
iconCollections.set("SAP-icons", {
|
|
13
|
+
"legacy": RegisteredIconCollection.SAPIconsV4,
|
|
14
|
+
"sap_horizon": RegisteredIconCollection.SAPIconsV5,
|
|
15
|
+
});
|
|
16
|
+
iconCollections.set("tnt", {
|
|
17
|
+
"legacy": RegisteredIconCollection.SAPIconsTNTV2,
|
|
18
|
+
"sap_horizon": RegisteredIconCollection.SAPIconsTNTV3,
|
|
19
|
+
});
|
|
20
|
+
iconCollections.set("business-suite", {
|
|
21
|
+
"legacy": RegisteredIconCollection.SAPBSIconsV1,
|
|
22
|
+
"sap_horizon": RegisteredIconCollection.SAPBSIconsV2,
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Registers collection version per theme.
|
|
26
|
+
* </b>For exmaple:</b> registerIconCollectionForTheme("my-custom-icons", {"sap_horizon": "my-custom-icons-v5"})
|
|
27
|
+
* @param { string } collectionName
|
|
28
|
+
* @param { ThemeToCollectionMap } themeCollectionMap
|
|
29
|
+
*/
|
|
30
|
+
const registerIconCollectionForTheme = (collectionName, themeCollectionMap) => {
|
|
31
|
+
if (iconCollections.has(collectionName)) {
|
|
32
|
+
iconCollections.set(collectionName, { ...themeCollectionMap, ...iconCollections.get(collectionName) });
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
iconCollections.set(collectionName, themeCollectionMap);
|
|
36
|
+
};
|
|
37
|
+
const getIconCollectionForTheme = (collectionName) => {
|
|
38
|
+
const themeFamily = isLegacyThemeFamily() ? "legacy" : "sap_horizon";
|
|
39
|
+
return iconCollections.has(collectionName) ? iconCollections.get(collectionName)[themeFamily] : collectionName;
|
|
40
|
+
};
|
|
41
|
+
export { registerIconCollectionForTheme, getIconCollectionForTheme, RegisteredIconCollection, };
|
|
42
|
+
//# sourceMappingURL=IconCollectionsByTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconCollectionsByTheme.js","sourceRoot":"","sources":["../../../src/asset-registries/util/IconCollectionsByTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,IAAK,wBAOJ;AAPD,WAAK,wBAAwB;IAC5B,uDAA2B,CAAA;IAC3B,uDAA2B,CAAA;IAC3B,oDAAwB,CAAA;IACxB,oDAAwB,CAAA;IACxB,8DAAkC,CAAA;IAClC,8DAAkC,CAAA;AACnC,CAAC,EAPI,wBAAwB,KAAxB,wBAAwB,QAO5B;AAID,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;AAChE,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE;IAChC,QAAQ,EAAE,wBAAwB,CAAC,UAAU;IAC7C,aAAa,EAAE,wBAAwB,CAAC,UAAU;CAClD,CAAC,CAAC;AACH,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;IAC1B,QAAQ,EAAE,wBAAwB,CAAC,aAAa;IAChD,aAAa,EAAE,wBAAwB,CAAC,aAAa;CACrD,CAAC,CAAC;AACH,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE;IACrC,QAAQ,EAAE,wBAAwB,CAAC,YAAY;IAC/C,aAAa,EAAE,wBAAwB,CAAC,YAAY;CACpD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,8BAA8B,GAAG,CAAC,cAAsB,EAAE,kBAAwC,EAAE,EAAE;IAC3G,IAAI,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;QACxC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACvG,OAAO;KACP;IACD,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,cAAsB,EAAE,EAAE;IAC5D,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;IACrE,OAAO,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AACjH,CAAC,CAAC;AAEF,OAAO,EACN,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,GACxB,CAAC","sourcesContent":["import { isLegacyThemeFamily } from \"../../config/Theme.js\";\n\nenum RegisteredIconCollection {\n\tSAPIconsV4 = \"SAP-icons-v4\",\n\tSAPIconsV5 = \"SAP-icons-v5\",\n\tSAPIconsTNTV2 = \"tnt-v2\",\n\tSAPIconsTNTV3 = \"tnt-v3\",\n\tSAPBSIconsV1 = \"business-suite-v1\",\n\tSAPBSIconsV2 = \"business-suite-v2\",\n}\n\ntype ThemeToCollectionMap = {[x: string]: string; };\n\nconst iconCollections = new Map<string, ThemeToCollectionMap>();\niconCollections.set(\"SAP-icons\", {\n\t\"legacy\": RegisteredIconCollection.SAPIconsV4,\n\t\"sap_horizon\": RegisteredIconCollection.SAPIconsV5,\n});\niconCollections.set(\"tnt\", {\n\t\"legacy\": RegisteredIconCollection.SAPIconsTNTV2,\n\t\"sap_horizon\": RegisteredIconCollection.SAPIconsTNTV3,\n});\niconCollections.set(\"business-suite\", {\n\t\"legacy\": RegisteredIconCollection.SAPBSIconsV1,\n\t\"sap_horizon\": RegisteredIconCollection.SAPBSIconsV2,\n});\n\n/**\n * Registers collection version per theme.\n * </b>For exmaple:</b> registerIconCollectionForTheme(\"my-custom-icons\", {\"sap_horizon\": \"my-custom-icons-v5\"})\n * @param { string } collectionName\n * @param { ThemeToCollectionMap } themeCollectionMap\n */\nconst registerIconCollectionForTheme = (collectionName: string, themeCollectionMap: ThemeToCollectionMap) => {\n\tif (iconCollections.has(collectionName)) {\n\t\ticonCollections.set(collectionName, { ...themeCollectionMap, ...iconCollections.get(collectionName) });\n\t\treturn;\n\t}\n\ticonCollections.set(collectionName, themeCollectionMap);\n};\n\nconst getIconCollectionForTheme = (collectionName: string) => {\n\tconst themeFamily = isLegacyThemeFamily() ? \"legacy\" : \"sap_horizon\";\n\treturn iconCollections.has(collectionName) ? iconCollections.get(collectionName)![themeFamily] : collectionName;\n};\n\nexport {\n\tregisterIconCollectionForTheme,\n\tgetIconCollectionForTheme,\n\tRegisteredIconCollection,\n};\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IconCollection } from "../../config/Icons.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the effective theme dependant icon collection:
|
|
4
|
+
*
|
|
5
|
+
* - "no collection" resolves to "SAP-icons-v4" in "Quartz" and "Belize", and to "SAP-icons-v5" in "Horizon"
|
|
6
|
+
* - "tnt" (and its alias "SAP-icons-TNT") resolves to "tnt-v2" in "Quartz", "Belize", and resolves to "tnt-v3" in "Horizon"
|
|
7
|
+
* - "business-suite" (and its alias "BusinessSuiteInAppSymbols") resolves to "business-suite-v1" in "Quartz", "Belize", and resolves to "business-suite-v2" in "Horizon"
|
|
8
|
+
*
|
|
9
|
+
* @param { IconCollection } collectionName
|
|
10
|
+
* @returns { IconCollection } the effective collection name
|
|
11
|
+
*/
|
|
12
|
+
declare const getEffectiveIconCollection: (collectionName?: IconCollection) => IconCollection;
|
|
13
|
+
export default getEffectiveIconCollection;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getTheme } from "../../config/Theme.js";
|
|
2
|
+
import { getDefaultIconCollection } from "../../config/Icons.js";
|
|
3
|
+
import { getIconCollectionByAlias } from "./IconCollectionsAlias.js";
|
|
4
|
+
import { getIconCollectionForTheme } from "./IconCollectionsByTheme.js";
|
|
5
|
+
/**
|
|
6
|
+
* Returns the effective theme dependant icon collection:
|
|
7
|
+
*
|
|
8
|
+
* - "no collection" resolves to "SAP-icons-v4" in "Quartz" and "Belize", and to "SAP-icons-v5" in "Horizon"
|
|
9
|
+
* - "tnt" (and its alias "SAP-icons-TNT") resolves to "tnt-v2" in "Quartz", "Belize", and resolves to "tnt-v3" in "Horizon"
|
|
10
|
+
* - "business-suite" (and its alias "BusinessSuiteInAppSymbols") resolves to "business-suite-v1" in "Quartz", "Belize", and resolves to "business-suite-v2" in "Horizon"
|
|
11
|
+
*
|
|
12
|
+
* @param { IconCollection } collectionName
|
|
13
|
+
* @returns { IconCollection } the effective collection name
|
|
14
|
+
*/
|
|
15
|
+
const getEffectiveIconCollection = (collectionName) => {
|
|
16
|
+
const defaultIconCollection = getDefaultIconCollection(getTheme());
|
|
17
|
+
// no collection + default collection, configured via setDefaultIconCollection - return the configured icon collection.
|
|
18
|
+
if (!collectionName && defaultIconCollection) {
|
|
19
|
+
return getIconCollectionByAlias(defaultIconCollection);
|
|
20
|
+
}
|
|
21
|
+
// no collection - return "SAP-icons-v4" or "SAP-icons-v5".
|
|
22
|
+
if (!collectionName) {
|
|
23
|
+
return getIconCollectionForTheme("SAP-icons");
|
|
24
|
+
}
|
|
25
|
+
// has collection - return "SAP-icons-v4", "SAP-icons-v5", "tnt-v1", "tnt-v2", "business-suite-v1", "business-suite-v2", or custom ones.
|
|
26
|
+
return getIconCollectionForTheme(collectionName);
|
|
27
|
+
};
|
|
28
|
+
export default getEffectiveIconCollection;
|
|
29
|
+
//# sourceMappingURL=getIconCollectionByTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIconCollectionByTheme.js","sourceRoot":"","sources":["../../../src/asset-registries/util/getIconCollectionByTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,0BAA0B,GAAG,CAAC,cAA+B,EAAkB,EAAE;IACtF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnE,uHAAuH;IACvH,IAAI,CAAC,cAAc,IAAI,qBAAqB,EAAE;QAC7C,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;KACvD;IAED,4DAA4D;IAC5D,IAAI,CAAC,cAAc,EAAE;QACpB,OAAO,yBAAyB,CAAC,WAAW,CAAC,CAAC;KAC9C;IAED,wIAAwI;IACxI,OAAO,yBAAyB,CAAC,cAAc,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC","sourcesContent":["import { getTheme } from \"../../config/Theme.js\";\nimport type { IconCollection } from \"../../config/Icons.js\";\nimport { getDefaultIconCollection } from \"../../config/Icons.js\";\nimport { getIconCollectionByAlias } from \"./IconCollectionsAlias.js\";\nimport { getIconCollectionForTheme } from \"./IconCollectionsByTheme.js\";\n\n/**\n * Returns the effective theme dependant icon collection:\n *\n * - \"no collection\" resolves to \"SAP-icons-v4\" in \"Quartz\" and \"Belize\", and to \"SAP-icons-v5\" in \"Horizon\"\n * - \"tnt\" (and its alias \"SAP-icons-TNT\") resolves to \"tnt-v2\" in \"Quartz\", \"Belize\", and resolves to \"tnt-v3\" in \"Horizon\"\n * - \"business-suite\" (and its alias \"BusinessSuiteInAppSymbols\") resolves to \"business-suite-v1\" in \"Quartz\", \"Belize\", and resolves to \"business-suite-v2\" in \"Horizon\"\n *\n * @param { IconCollection } collectionName\n * @returns { IconCollection } the effective collection name\n */\nconst getEffectiveIconCollection = (collectionName?: IconCollection): IconCollection => {\n\tconst defaultIconCollection = getDefaultIconCollection(getTheme());\n\n\t// no collection + default collection, configured via setDefaultIconCollection - return the configured icon collection.\n\tif (!collectionName && defaultIconCollection) {\n\t\treturn getIconCollectionByAlias(defaultIconCollection);\n\t}\n\n\t// no collection - return \"SAP-icons-v4\" or \"SAP-icons-v5\".\n\tif (!collectionName) {\n\t\treturn getIconCollectionForTheme(\"SAP-icons\");\n\t}\n\n\t// has collection - return \"SAP-icons-v4\", \"SAP-icons-v5\", \"tnt-v1\", \"tnt-v2\", \"business-suite-v1\", \"business-suite-v2\", or custom ones.\n\treturn getIconCollectionForTheme(collectionName);\n};\n\nexport default getEffectiveIconCollection;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.content{color:var(--customCol);background-color:var(--customBg)}
|
|
@@ -0,0 +1,9 @@
|
|
|
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 R={themes:{default:"sap_horizon",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"]}},x=R.themes.default,gt=R.themes.all,j=R.languages.default,h=R.locales.default,ge=R.locales.all,mt=()=>{const e=navigator.languages,t=()=>navigator.language;return e&&e[0]||t()||j};var De={},ze=De.hasOwnProperty,yt=De.toString,Be=ze.toString,wt=Be.call(Object),me=function(e){var t,n;return!e||yt.call(e)!=="[object Object]"?!1:(t=Object.getPrototypeOf(e),t?(n=ze.call(t,"constructor")&&t.constructor,typeof n=="function"&&Be.call(n)===wt):!0)},St=Object.create(null),Fe=function(e,t,n,s){var r,o,a,i,f,w,g=arguments[2]||{},q=3,ht=arguments.length,pe=arguments[0]||!1,pt=arguments[1]?void 0:St;for(typeof g!="object"&&typeof g!="function"&&(g={});q<ht;q++)if((f=arguments[q])!=null)for(i in f)r=g[i],a=f[i],!(i==="__proto__"||g===a)&&(pe&&a&&(me(a)||(o=Array.isArray(a)))?(o?(o=!1,w=r&&Array.isArray(r)?r:[]):w=r&&me(r)?r:{},g[i]=Fe(pe,arguments[1],w,a)):a!==pt&&(g[i]=a));return g};const je=function(e,t){return Fe(!0,!1,...arguments)},Ve=new Map,ns=(e,t)=>{Ve.set(e,t)},b=e=>Ve.get(e),_t=e=>{const t=document.querySelector(`META[name="${e}"]`);return t&&t.getAttribute("content")},At=e=>{const t=_t("sap-allowedThemeOrigins");return t&&t.split(",").some(n=>n==="*"||e===n.trim())},bt=(e,t)=>{const n=new URL(e).pathname;return new URL(n,t).toString()},Ne=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&&At(s)?t=n.toString():t=bt(n.toString(),window.location.href)}return t.endsWith("/")||(t=`${t}/`),`${t}UI5/`}catch{}};var se;(function(e){e.Full="full",e.Basic="basic",e.Minimal="minimal",e.None="none"})(se||(se={}));const Tt=se;let ye=!1,u={animationMode:Tt.Full,theme:x,themeRoot:void 0,rtl:void 0,language:void 0,timezone:void 0,calendarType:void 0,secondaryCalendarType:void 0,noConflict:!1,formatSettings:{},fetchDefaultLanguage:!1};const ss=()=>(p(),u.animationMode),vt=()=>(p(),u.theme),Lt=()=>(p(),u.themeRoot),rs=()=>(p(),u.rtl),Et=()=>(p(),u.language),Pt=()=>(p(),u.fetchDefaultLanguage),os=()=>(p(),u.noConflict),as=()=>(p(),u.calendarType),is=()=>(p(),u.formatSettings),D=new Map;D.set("true",!0);D.set("false",!1);const Ct=()=>{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&&(u=je(u,t))}},Rt=()=>{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")})},$t=e=>{const t=e.split("@")[1];return Ne(t)},It=(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"?(u.theme=It(r,t),t&&t.includes("@")&&(u.themeRoot=$t(t))):u[r]=t},Ot=()=>{const e=b("OpenUI5Support");if(!e||!e.isOpenUI5Detected())return;const t=e.getConfigurationSettingsObject();u=je(u,t)},p=()=>{typeof document>"u"||ye||(Ct(),Rt(),Ot(),ye=!0)};class ${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 We=new $,Ze="languageChange",He=e=>{We.attachEvent(Ze,e)},Mt=e=>We.fireEventAsync(Ze,e),Se=10;class Ut{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>Se)throw new Error(`Web component processed too many times this task, max allowed is: ${Se}`);t(n),s.set(n,r+1),n=this.shift()}}}const kt=(e,t=document.body,n)=>{let s=document.querySelector(e);return s||(s=n?n():document.createElement(e),t.insertBefore(s,t.firstChild))},xt=()=>{const e=document.createElement("meta");return e.setAttribute("name","ui5-shared-resources"),e.setAttribute("content",""),e},Dt=()=>typeof document>"u"?null:kt('meta[name="ui5-shared-resources"]',document.head,xt),V=(e,t)=>{const n=e.split(".");let s=Dt();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},zt={version:"0.0.0-c6c04c609",major:0,minor:0,patch:0,suffix:"-c6c04c609",isNext:!0,buildTime:1700752478};let U,Bt="";const G=new Map,P=V("Runtimes",[]),Ft=()=>{if(U===void 0){U=P.length;const e=zt;P.push({...e,alias:Bt,description:`Runtime ${U} - ver ${e.version}`})}},v=()=>U,qe=(e,t)=>{const n=`${e},${t}`;if(G.has(n))return G.get(n);const s=P[e],r=P[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 i=s.patch-r.patch;if(i)return i;const w=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare(s.suffix,r.suffix);return G.set(n,w),w},jt=()=>P,Ge=V("Tags",new Map),ie=new Set;let y=new Map,K;const Ke=-1,cs=e=>{ie.add(e),Ge.set(e,v())},us=e=>ie.has(e),Vt=()=>[...ie.values()],ls=e=>{let t=Ge.get(e);t===void 0&&(t=Ke),y.has(t)||y.set(t,new Set),y.get(t).add(e),K||(K=setTimeout(()=>{Nt(),y=new Map,K=void 0},1e3))},Nt=()=>{const e=jt(),t=v(),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("")}`),[...y.keys()].forEach(r=>{let o,a;r===Ke?(o=1,a={description:"Older unknown runtime"}):(o=qe(t,r),a=e[r]);let i;o>0?i="an older":o<0?i="a newer":i="the same",s=`${s}
|
|
4
|
+
|
|
5
|
+
"${n.description}" failed to define ${y.get(r).size} tag(s) as they were defined by a runtime of ${i} version "${a.description}": ${[...y.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)},Je=new Set,fs=e=>{Je.add(e)},Wt=e=>Je.has(e),ce=new Set,Zt=new $,T=new Ut;let S,k,J,O;const Ht=async e=>{T.add(e),await Gt()},qt=e=>{Zt.fireEvent("beforeComponentRender",e),ce.add(e),e._render()},ds=e=>{T.remove(e),ce.delete(e)},Gt=async()=>{O||(O=new Promise(e=>{window.requestAnimationFrame(()=>{T.process(qt),O=null,e(),J||(J=setTimeout(()=>{J=void 0,T.isEmpty()&&Yt()},200))})})),await O},Kt=()=>S||(S=new Promise(e=>{k=e,window.requestAnimationFrame(()=>{T.isEmpty()&&(S=void 0,e())})}),S),Jt=()=>{const e=Vt().map(t=>customElements.whenDefined(t));return Promise.all(e)},Xt=async()=>{await Jt(),await Kt()},Yt=()=>{T.isEmpty()&&k&&(k(),k=void 0,S=void 0)},Xe=async e=>{ce.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)&&Ht(t)}),await Xt()};let L,re;const Qt=()=>(L===void 0&&(L=Et()),L),hs=async e=>{L!==e&&(L=e,await Mt(e),await Xe({languageAware:!0}))},en=e=>{re=e},tn=()=>(re===void 0&&en(Pt()),re),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;class Ye{constructor(t){const n=nn.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]||j,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 X=new Map,Qe=e=>(X.has(e)||X.set(e,new Ye(e)),X.get(e)),_e=e=>{try{if(e&&typeof e=="string")return Qe(e)}catch{}return new Ye(h)},oe=e=>{if(e)return _e(e);const t=Qt();return t?Qe(t):_e(mt())},sn=/^((?:[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,Ae=/(?:^|-)(saptrc|sappsd)(?:-|$)/i,rn={he:"iw",yi:"ji",nb:"no",sr:"sh"},on=e=>{let t;if(!e)return h;if(typeof e=="string"&&(t=sn.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=rn[n]||n,a&&(t=Ae.exec(a))||o&&(t=Ae.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 h},an=e=>{if(!e)return h;if(e==="zh_HK")return"zh_TW";const t=e.lastIndexOf("_");return t>=0?e.slice(0,t):e!==h?h:""},be=new Set,Te=new Set,ue=new Map,Y=new Map,le=new Map,ps=(e,t,n)=>{const s=`${e}/${t}`;le.set(s,n)},ve=(e,t)=>{ue.set(e,t)},gs=e=>ue.get(e),et=(e,t)=>{const n=`${e}/${t}`;return le.has(n)},cn=(e,t)=>{const n=`${e}/${t}`,s=le.get(n);return s&&!Y.get(n)&&Y.set(n,s(t)),Y.get(n)},un=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))},Le=(e,t)=>t!==j&&!et(e,t),ln=async e=>{const t=oe().getLanguage(),n=oe().getRegion();let s=t+(n?`-${n}`:"");if(Le(e,s))for(s=on(s);Le(e,s);)s=an(s);const r=tn();if(s===j&&!r){ve(e,null);return}if(!et(e,s)){un(e);return}try{const o=await cn(e,s);ve(e,o)}catch(o){const a=o;Te.has(a.message)||(Te.add(a.message),console.error(a.message))}};He(e=>{const t=[...ue.keys()];return Promise.all(t.map(ln))});const fn=new Map,z=new Map,Q=new Map,Ee=new Set;let Pe=!1;const dn={iw:"he",ji:"yi",in:"id"},Ce=e=>{Pe||(console.warn(`[LocaleData] Supported locale "${e}" not configured, import the "Assets.js" module from the webcomponents package you are using.`),Pe=!0)},hn=(e,t,n)=>{e=e&&dn[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 ge.includes(s)||(s=e,ge.includes(s))?z.has(s)?s:(Ce(s),h):h},Re=(e,t)=>{fn.set(e,t)},pn=e=>{if(!Q.get(e)){const t=z.get(e);if(!t)throw new Error(`CLDR data for locale ${e} is not loaded!`);Q.set(e,t(e))}return Q.get(e)},gn=async(e,t,n)=>{const s=hn(e,t,n),r=b("OpenUI5Support");if(r){const o=r.getLocaleDataObject();if(o){Re(s,o);return}}try{const o=await pn(s);Re(s,o)}catch(o){const a=o;Ee.has(a.message)||(Ee.add(a.message),console.error(a.message))}},mn=(e,t)=>{z.set(e,t)};mn("en",async()=>(await fetch("https://sdk.openui5.org/1.103.0/resources/sap/ui/core/cldr/en.json")).json());He(()=>{const e=oe();return gn(e.getLanguage(),e.getRegion(),e.getScript())});const yn=(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},wn=(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",c={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(c.userAgent)},get chrome(){return l?!1:!c.ie&&/(Chrome|CriOS)/.test(c.userAgent)},get firefox(){return l?!1:/Firefox/.test(c.userAgent)},get safari(){return l?!1:!c.ie&&!c.chrome&&/(Version|PhantomJS)\/(\d+\.\d+).*Safari/.test(c.userAgent)},get webkit(){return l?!1:!c.ie&&/webkit/.test(c.userAgent)},get windows(){return l?!1:navigator.platform.indexOf("Win")!==-1},get macOS(){return l?!1:!!navigator.userAgent.match(/Macintosh|Mac OS X/i)},get iOS(){return l?!1:!!navigator.platform.match(/iPhone|iPad|iPod/)||!!(c.userAgent.match(/Mac/)&&"ontouchend"in document)},get android(){return l?!1:!c.windows&&/Android/.test(c.userAgent)},get androidPhone(){return l?!1:c.android&&/(?=android)(?=.*mobile)/i.test(c.userAgent)},get ipad(){return l?!1:/ipad/i.test(c.userAgent)||/Macintosh/i.test(c.userAgent)&&"ontouchend"in document}},N=()=>c.safari,W=(e,t)=>t?`${e}|${t}`:e,$e=e=>e===void 0?!0:qe(v(),parseInt(e))===1,Z=(e,t,n="",s)=>{const r=typeof e=="string"?e:e.content,o=v();if(document.adoptedStyleSheets&&!N()){const a=new CSSStyleSheet;a.replaceSync(r),a._ui5StyleId=W(t,n),s&&(a._ui5RuntimeIndex=o,a._ui5Theme=s),document.adoptedStyleSheets=[...document.adoptedStyleSheets,a]}else{const a={};a[t]=n,s&&(a["data-ui5-runtime-index"]=o,a["data-ui5-theme"]=s),yn(r,a)}},Sn=(e,t,n="",s)=>{const r=typeof e=="string"?e:e.content,o=v();if(document.adoptedStyleSheets&&!N()){const a=document.adoptedStyleSheets.find(i=>i._ui5StyleId===W(t,n));if(!a)return;if(!s)a.replaceSync(r||"");else{const i=a._ui5RuntimeIndex;(a._ui5Theme!==s||$e(i))&&(a.replaceSync(r||""),a._ui5RuntimeIndex=String(o),a._ui5Theme=s)}}else{const a=document.querySelector(`head>style[${t}="${n}"]`);if(!a)return;if(!s)a.textContent=r||"";else{const i=a.getAttribute("data-ui5-runtime-index")||void 0;(a.getAttribute("data-ui5-theme")!==s||$e(i))&&(a.textContent=r||"",a.setAttribute("data-ui5-runtime-index",String(o)),a.setAttribute("data-ui5-theme",s))}}},H=(e,t="")=>{const n=document.querySelector(`head>style[${e}="${t}"]`);return document.adoptedStyleSheets&&!N()?!!n||!!document.adoptedStyleSheets.find(s=>s._ui5StyleId===W(e,t)):!!n},_n=(e,t="")=>{var n;if(document.adoptedStyleSheets&&!N())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)}},tt=(e,t,n="",s)=>{H(t,n)?Sn(e,t,n,s):Z(e,t,n,s)},An=(e,t)=>{if(e===void 0)return t;if(t===void 0)return e;const n=typeof t=="string"?t:t.content;return typeof e=="string"?`${e} ${n}`:{content:`${e.content} ${n}`,packageName:e.packageName,fileName:e.fileName}},nt=new $,st="themeRegistered",bn=e=>{nt.attachEvent(st,e)},Tn=e=>nt.fireEvent(st,e),Ie=new Map,rt=new Map,vn=new Map,ot=new Set,B=new Set,ms=(e,t,n)=>{rt.set(`${e}/${t}`,n),ot.add(e),B.add(t),Tn(t)},at=async(e,t,n)=>{const s=`${e}_${t}_${n||""}`,r=Ie.get(s);if(r!==void 0)return r;if(!B.has(t)){const f=[...B.values()].join(", ");return console.warn(`You have requested a non-registered theme ${t} - falling back to ${x}. Registered themes are: ${f}`),ee(e,x)}const[o,a]=await Promise.all([ee(e,t),n?ee(e,n,!0):void 0]),i=An(o,a);return i&&Ie.set(s,i),i},ee=async(e,t,n=!1)=>{const r=(n?vn:rt).get(`${e}/${t}`);if(!r){n||console.error(`Theme [${t}] not registered for package [${e}]`);return}let o;try{o=await r(t)}catch(i){console.error(e,i.message);return}return o._||o},it=()=>ot,Ln=e=>B.has(e);var F;(function(e){e["SAP-icons"]="SAP-icons-v4",e.horizon="SAP-icons-v5",e["SAP-icons-TNT"]="tnt",e.BusinessSuiteInAppSymbols="business-suite"})(F||(F={}));const ct=e=>F[e]?F[e]:e,_=new Set,En=()=>{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},Pn=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{_.has("decode")||(console.warn("Malformed theme metadata string, unable to decodeURIComponent"),_.add("decode"));return}try{return JSON.parse(n)}catch{_.has("parse")||(console.warn("Malformed theme metadata string, unable to parse JSON"),_.add("parse"))}}},Cn=e=>{let t,n;try{t=e.Path.match(/\.([^.]+)\.css_variables$/)[1],n=e.Extends[0]}catch{_.has("object")||(console.warn("Malformed theme metadata Object",e),_.add("object"));return}return{themeName:t,baseThemeName:n}},ae=()=>{const e=En();if(!e||e==="none")return;const t=Pn(e);if(t)return Cn(t)},Rn=new $,$n="themeLoaded",In=e=>Rn.fireEvent($n,e);let E;const ut=()=>(E===void 0&&(E=Lt()),E),ys=e=>{if(E!==e){if(E=e,!Ne(e)){console.warn(`The ${e} is not valid. Check the allowed origins as suggested in the "setThemeRoot" description.`);return}return lt(I())}},On=e=>`${ut()}Base/baseLib/${e}/css_variables.css`,lt=async e=>{const t=document.querySelector(`[sap-ui-webcomponents-theme="${e}"]`);t&&document.head.removeChild(t),await wn(On(e),{"sap-ui-webcomponents-theme":e})},C="@ui5/webcomponents-theming",Mn=()=>it().has(C),Un=async e=>{if(!Mn())return;const t=await at(C,e);t&&tt(t,"data-ui5-theme-properties",C,e)},kn=()=>{_n("data-ui5-theme-properties",C)},xn=async(e,t)=>{const s=[...it()].map(async r=>{if(r===C)return;const o=await at(r,e,t);o&&tt(o,`data-ui5-component-properties-${v()}`,r)});return Promise.all(s)},Dn=async e=>{var s;const t=ae();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(ut())return await lt(e),ae()},fe=async e=>{const t=await Dn(e);!t||e!==t.themeName?await Un(e):kn();const n=Ln(e)?e:t&&t.baseThemeName;await xn(n||x,t&&t.themeName===e?e:void 0),In(e)};let A;const I=()=>(A===void 0&&(A=vt()),A),ws=async e=>{A!==e&&(A=e,await fe(A),await Xe({themeAware:!0}))},zn=()=>{var t,n;const e=I();return Bn(e)?!e.startsWith("sap_horizon"):!((n=(t=ae())==null?void 0:t.baseThemeName)!=null&&n.startsWith("sap_horizon"))},Bn=e=>gt.includes(e);var m;(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"})(m||(m={}));const d=new Map;d.set("SAP-icons",{legacy:m.SAPIconsV4,sap_horizon:m.SAPIconsV5});d.set("tnt",{legacy:m.SAPIconsTNTV2,sap_horizon:m.SAPIconsTNTV3});d.set("business-suite",{legacy:m.SAPBSIconsV1,sap_horizon:m.SAPBSIconsV2});const Fn=(e,t)=>{if(d.has(e)){d.set(e,{...t,...d.get(e)});return}d.set(e,t)},Oe=e=>{const t=zn()?"legacy":"sap_horizon";return d.has(e)?d.get(e)[t]:e},jn=new Map,Vn=e=>jn.get(e),ft=e=>{const t=Vn(I());return!e&&t?ct(t):Oe(e||"SAP-icons")},Nn="legacy",Me=new Map,de=V("SVGIcons.registry",new Map),te=V("SVGIcons.promises",new Map),Ue="ICON_NOT_FOUND",Wn=async e=>{if(!te.has(e)){if(!Me.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=Me.get(e);te.set(e,t(e))}return te.get(e)},ke=e=>{Object.keys(e.data).forEach(t=>{const n=e.data[t];Zn(t,{pathData:n.path||n.paths,ltr:n.ltr,accData:n.acc,collection:e.collection,packageName:e.packageName})})},Zn=(e,t)=>{const n=`${t.collection}/${e}`;de.set(n,{pathData:t.pathData,ltr:t.ltr,accData:t.accData,packageName:t.packageName,customTemplate:t.customTemplate,viewBox:t.viewBox,collection:t.collection})},Hn=e=>{e.startsWith("sap-icon://")&&(e=e.replace("sap-icon://",""));let t;return[e,t]=e.split("/").reverse(),e=e.replace("icon-",""),t&&(t=ct(t)),{name:e,collection:t}},ne=async e=>{const{name:t,collection:n}=Hn(e);let s=Ue;try{s=await Wn(ft(n))}catch(o){console.error(o.message)}if(s===Ue)return s;const r=xe(n,t);return r||(Array.isArray(s)?s.forEach(o=>{ke(o),Fn(n,{[o.themeFamily||Nn]:o.collection})}):ke(s),xe(n,t))},xe=(e,t)=>{const n=`${ft(e)}/${t}`;return de.get(n)},Ss=async()=>(await ne("edit"),await ne("tnt/arrow"),await ne("business-suite/3d"),Array.from(de.keys())),qn=()=>new Promise(e=>{document.body?e():document.addEventListener("DOMContentLoaded",()=>{e()})}),Gn={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')}`},Kn={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')}"},Jn=()=>{const e=b("OpenUI5Support");(!e||!e.isOpenUI5Detected())&&Xn(),Yn()},Xn=()=>{H("data-ui5-font-face")||Z(Gn,"data-ui5-font-face")},Yn=()=>{H("data-ui5-font-face-override")||Z(Kn,"data-ui5-font-face-override")},Qn={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}"},es=()=>{H("data-ui5-system-css-vars")||Z(Qn,"data-ui5-system-css-vars")};let he=!1,M;const dt=new $,_s=e=>{if(!he){dt.attachEvent("boot",e);return}e()},As=async()=>{if(M!==void 0)return M;const e=async t=>{if(typeof document>"u"){t();return}bn(ts),Ft();const n=b("OpenUI5Support"),s=n?n.isOpenUI5Detected():!1,r=b("F6Navigation");n&&await n.init(),r&&!s&&r.init(),await qn(),await fe(I()),n&&n.attachListeners(),Jn(),es(),t(),he=!0,await dt.fireEventAsync("boot")};return M=new Promise(e),M},ts=e=>{const t=I();he&&e===t&&fe(t)};export{as as A,is as B,hs as C,I as D,$ as E,ut as F,ys as G,v as H,ps as I,Ss as _,_s as a,As as b,V as c,ns as d,Xe as e,ln as f,gs as g,b as h,N as i,rs as j,Qt as k,mt as l,Xt as m,os as n,qt as o,ds as p,fs as q,ms as r,ws as s,kt as t,us as u,ls as v,cs as w,je as x,Ht as y,ss as z};
|