@ui5/webcomponents-base 0.0.0-4e00e5559 → 0.0.0-4e88b8243
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/.npsrc.json +3 -0
- package/CHANGELOG.md +2286 -0
- package/README.md +50 -10
- package/cypress/specs/Accessor.cy.ts +79 -0
- package/cypress/specs/Boot.cy.ts +19 -0
- package/cypress/specs/ConfigurationChange.cy.ts +41 -0
- package/cypress/specs/ConfigurationScript.cy.ts +116 -0
- package/cypress/specs/ConfigurationURL.cy.ts +182 -0
- package/cypress/specs/CustomMount.cy.ts +34 -0
- package/cypress/specs/CustomTheme.cy.ts +36 -0
- package/cypress/specs/EventProvider.cy.ts +59 -0
- package/cypress/specs/SystemDOMElements.cy.ts +8 -0
- package/cypress/specs/Theming.cy.ts +74 -0
- package/cypress/specs/UI5ElementInvalidation.cy.ts +207 -0
- package/cypress/specs/UI5ElementLifecycle.cy.ts +82 -0
- package/cypress/specs/UI5ElementListenForChildPropChanges.cy.ts +62 -0
- package/cypress/specs/UI5ElementMetadataExt.cy.ts +42 -0
- package/cypress/specs/UI5ElementPropertyValidation.cy.ts +16 -0
- package/cypress/specs/UI5ElementPropsAndAttrs.cy.ts +113 -0
- package/cypress/specs/UI5ElementShadowDOM.cy.ts +30 -0
- package/cypress/specs/UI5ElementSlots.cy.ts +116 -0
- package/cypress/specs/WithComplexTemplate.cy.ts +32 -0
- package/cypress/tsconfig.json +20 -0
- package/cypress.config.js +3 -0
- package/dist/.tsbuildinfobuild +1 -0
- package/dist/AssetRegistry.d.ts +5 -0
- package/dist/AssetRegistry.js +6 -9
- package/dist/AssetRegistry.js.map +1 -0
- package/dist/Boot.d.ts +10 -0
- package/dist/Boot.js +75 -0
- package/dist/Boot.js.map +1 -0
- package/dist/CustomElementsRegistry.d.ts +5 -0
- package/dist/CustomElementsRegistry.js +78 -0
- package/dist/CustomElementsRegistry.js.map +1 -0
- package/dist/CustomElementsScope.d.ts +7 -0
- package/dist/CustomElementsScope.js +11 -0
- 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 +23 -0
- package/dist/DOMObserver.js.map +1 -0
- package/dist/Device.d.ts +27 -0
- package/dist/Device.js +163 -815
- package/dist/Device.js.map +1 -0
- package/dist/EventProvider.d.ts +25 -0
- package/dist/EventProvider.js +67 -70
- package/dist/EventProvider.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +18 -0
- package/dist/FeaturesRegistry.js +41 -7
- package/dist/FeaturesRegistry.js.map +1 -0
- package/dist/FontFace.d.ts +2 -0
- package/dist/FontFace.js +26 -69
- package/dist/FontFace.js.map +1 -0
- package/dist/IgnoreCustomElements.d.ts +25 -0
- package/dist/IgnoreCustomElements.js +37 -0
- package/dist/IgnoreCustomElements.js.map +1 -0
- package/dist/InitialConfiguration.d.ts +34 -0
- package/dist/InitialConfiguration.js +152 -104
- package/dist/InitialConfiguration.js.map +1 -0
- package/dist/Keys.d.ts +64 -0
- package/dist/Keys.js +182 -157
- package/dist/Keys.js.map +1 -0
- package/dist/Location.d.ts +11 -0
- package/dist/Location.js +49 -0
- package/dist/Location.js.map +1 -0
- package/dist/ManagedStyles.d.ts +7 -0
- package/dist/ManagedStyles.js +69 -0
- package/dist/ManagedStyles.js.map +1 -0
- package/dist/MediaRange.d.ts +31 -0
- package/dist/MediaRange.js +88 -0
- package/dist/MediaRange.js.map +1 -0
- package/dist/PropertiesFileFormat.d.ts +8 -0
- package/dist/PropertiesFileFormat.js +85 -0
- package/dist/PropertiesFileFormat.js.map +1 -0
- package/dist/Render.d.ts +47 -0
- package/dist/Render.js +143 -0
- package/dist/Render.js.map +1 -0
- package/dist/RenderQueue.d.ts +19 -0
- package/dist/RenderQueue.js +53 -39
- package/dist/RenderQueue.js.map +1 -0
- package/dist/Runtimes.d.ts +27 -0
- package/dist/Runtimes.js +97 -0
- package/dist/Runtimes.js.map +1 -0
- package/dist/SystemCSSVars.d.ts +2 -0
- package/dist/SystemCSSVars.js +9 -0
- package/dist/SystemCSSVars.js.map +1 -0
- package/dist/Theming.d.ts +3 -0
- package/dist/Theming.js +3 -2
- package/dist/Theming.js.map +1 -0
- package/dist/UI5Element.d.ts +414 -0
- package/dist/UI5Element.js +1105 -883
- package/dist/UI5Element.js.map +1 -0
- package/dist/UI5ElementMetadata.d.ts +164 -0
- package/dist/UI5ElementMetadata.js +244 -164
- 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/asset-registries/Icons.d.ts +39 -0
- package/dist/asset-registries/Icons.js +136 -24
- package/dist/asset-registries/Icons.js.map +1 -0
- package/dist/asset-registries/Illustrations.d.ts +19 -0
- package/dist/asset-registries/Illustrations.js +77 -0
- package/dist/asset-registries/Illustrations.js.map +1 -0
- package/dist/asset-registries/LocaleData.d.ts +7 -0
- package/dist/asset-registries/LocaleData.js +125 -114
- package/dist/asset-registries/LocaleData.js.map +1 -0
- package/dist/asset-registries/Themes.d.ts +9 -0
- package/dist/asset-registries/Themes.js +57 -77
- package/dist/asset-registries/Themes.js.map +1 -0
- package/dist/asset-registries/i18n.d.ts +23 -0
- package/dist/asset-registries/i18n.js +83 -60
- 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/config/AnimationMode.d.ts +14 -0
- package/dist/config/AnimationMode.js +28 -10
- package/dist/config/AnimationMode.js.map +1 -0
- package/dist/config/CalendarType.d.ts +15 -0
- package/dist/config/CalendarType.js +36 -14
- package/dist/config/CalendarType.js.map +1 -0
- package/dist/config/ConfigurationReset.d.ts +4 -0
- package/dist/config/ConfigurationReset.js +11 -0
- package/dist/config/ConfigurationReset.js.map +1 -0
- package/dist/config/Fonts.d.ts +16 -0
- package/dist/config/Fonts.js +30 -0
- package/dist/config/Fonts.js.map +1 -0
- package/dist/config/FormatSettings.d.ts +15 -0
- package/dist/config/FormatSettings.js +19 -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 +74 -10
- package/dist/config/Language.js.map +1 -0
- package/dist/config/NoConflict.d.ts +20 -0
- package/dist/config/NoConflict.js +45 -41
- package/dist/config/NoConflict.js.map +1 -0
- package/dist/config/Theme.d.ts +39 -0
- package/dist/config/Theme.js +75 -22
- package/dist/config/Theme.js.map +1 -0
- package/dist/config/ThemeRoot.d.ts +27 -0
- package/dist/config/ThemeRoot.js +61 -0
- package/dist/config/ThemeRoot.js.map +1 -0
- package/dist/config/Timezone.d.ts +17 -0
- package/dist/config/Timezone.js +34 -0
- package/dist/config/Timezone.js.map +1 -0
- package/dist/config/Tooltips.d.ts +19 -0
- package/dist/config/Tooltips.js +29 -0
- package/dist/config/Tooltips.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/converters/DOMReference.d.ts +5 -0
- package/dist/converters/DOMReference.js +13 -0
- package/dist/converters/DOMReference.js.map +1 -0
- package/dist/css/BusyIndicator.css +80 -0
- package/dist/css/FontFace.css +96 -0
- package/dist/css/OverrideFontFace.css +32 -0
- package/dist/css/SystemCSSVars.css +9 -0
- package/dist/decorators/bound.d.ts +1 -0
- package/dist/decorators/bound.js +34 -0
- package/dist/decorators/bound.js.map +1 -0
- package/dist/decorators/customElement.d.ts +62 -0
- package/dist/decorators/customElement.js +48 -0
- package/dist/decorators/customElement.js.map +1 -0
- package/dist/decorators/event-strict.d.ts +15 -0
- package/dist/decorators/event-strict.js +26 -0
- package/dist/decorators/event-strict.js.map +1 -0
- package/dist/decorators/event.d.ts +16 -0
- package/dist/decorators/event.js +27 -0
- package/dist/decorators/event.js.map +1 -0
- package/dist/decorators/i18n.d.ts +17 -0
- package/dist/decorators/i18n.js +26 -0
- package/dist/decorators/i18n.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/query.d.ts +25 -0
- package/dist/decorators/query.js +32 -0
- package/dist/decorators/query.js.map +1 -0
- package/dist/decorators/queryAll.d.ts +27 -0
- package/dist/decorators/queryAll.js +34 -0
- package/dist/decorators/queryAll.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/decorators.d.ts +8 -0
- package/dist/decorators.js +9 -0
- package/dist/decorators.js.map +1 -0
- package/dist/delegate/ItemNavigation.d.ts +114 -0
- package/dist/delegate/ItemNavigation.js +311 -274
- package/dist/delegate/ItemNavigation.js.map +1 -0
- package/dist/delegate/ResizeHandler.d.ts +23 -0
- package/dist/delegate/ResizeHandler.js +82 -63
- package/dist/delegate/ResizeHandler.js.map +1 -0
- package/dist/delegate/ScrollEnablement.d.ts +49 -0
- package/dist/delegate/ScrollEnablement.js +159 -120
- package/dist/delegate/ScrollEnablement.js.map +1 -0
- package/dist/features/F6Navigation.d.ts +19 -0
- package/dist/features/F6Navigation.js +170 -0
- package/dist/features/F6Navigation.js.map +1 -0
- package/dist/features/InputElementsFormSupport.d.ts +15 -0
- package/dist/features/InputElementsFormSupport.js +39 -0
- package/dist/features/InputElementsFormSupport.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 +34 -0
- package/dist/features/OpenUI5Support.js +140 -87
- package/dist/features/OpenUI5Support.js.map +1 -0
- package/dist/features/patchPatcher.d.ts +11 -0
- package/dist/features/patchPatcher.js +11 -0
- package/dist/features/patchPatcher.js.map +1 -0
- package/dist/features/patchPopup.d.ts +15 -0
- package/dist/features/patchPopup.js +61 -0
- package/dist/features/patchPopup.js.map +1 -0
- package/dist/generated/AssetParameters.d.ts +6 -0
- package/dist/generated/AssetParameters.js +4 -9
- package/dist/generated/AssetParameters.js.map +1 -0
- package/dist/generated/VersionInfo.d.ts +10 -0
- package/dist/generated/VersionInfo.js +11 -0
- package/dist/generated/VersionInfo.js.map +1 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +2 -0
- package/dist/generated/css/BusyIndicator.css.js +2 -0
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +2 -0
- package/dist/generated/css/FontFace.css.js +2 -0
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/OverrideFontFace.css.d.ts +2 -0
- package/dist/generated/css/OverrideFontFace.css.js +2 -0
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +2 -0
- package/dist/generated/css/SystemCSSVars.css.js +2 -0
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/getSharedResource.d.ts +11 -0
- package/dist/getSharedResource.js +40 -0
- package/dist/getSharedResource.js.map +1 -0
- package/dist/global.d.ts +40 -0
- package/dist/i18nBundle.d.ts +41 -0
- package/dist/i18nBundle.js +71 -28
- package/dist/i18nBundle.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/jsx-dev-runtime.d.ts +4 -0
- package/dist/jsx-dev-runtime.js +43 -0
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.d.ts +50 -0
- package/dist/jsx-runtime.js +27 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/jsx-utils.d.ts +3 -0
- package/dist/jsx-utils.js +39 -0
- package/dist/jsx-utils.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 +9 -0
- package/dist/locale/RTLAwareRegistry.js.map +1 -0
- package/dist/locale/applyDirection.d.ts +11 -0
- package/dist/locale/applyDirection.js +18 -0
- package/dist/locale/applyDirection.js.map +1 -0
- package/dist/locale/directionChange.d.ts +15 -0
- package/dist/locale/directionChange.js +24 -0
- package/dist/locale/directionChange.js.map +1 -0
- package/dist/locale/getEffectiveDir.d.ts +2 -0
- package/dist/locale/getEffectiveDir.js +8 -0
- package/dist/locale/getEffectiveDir.js.map +1 -0
- package/dist/locale/getLocale.d.ts +7 -0
- package/dist/locale/getLocale.js +28 -21
- package/dist/locale/getLocale.js.map +1 -0
- package/dist/locale/languageChange.d.ts +5 -0
- package/dist/locale/languageChange.js +14 -0
- 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/JsxRenderer.d.ts +3 -0
- package/dist/renderer/JsxRenderer.js +16 -0
- package/dist/renderer/JsxRenderer.js.map +1 -0
- package/dist/renderer/LitRenderer.d.ts +14 -0
- package/dist/renderer/LitRenderer.js +33 -12
- package/dist/renderer/LitRenderer.js.map +1 -0
- package/dist/renderer/directives/style-map.d.ts +13 -0
- package/dist/renderer/directives/style-map.js +72 -0
- package/dist/renderer/directives/style-map.js.map +1 -0
- package/dist/renderer/executeTemplate.d.ts +12 -0
- package/dist/renderer/executeTemplate.js +12 -0
- package/dist/renderer/executeTemplate.js.map +1 -0
- package/dist/sap/base/Log.js +750 -0
- package/dist/sap/base/assert.js +34 -0
- package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
- package/dist/sap/base/security/URLListValidator.js +406 -0
- package/dist/sap/base/security/encodeCSS.js +40 -0
- package/dist/sap/base/security/encodeXML.js +53 -0
- package/dist/sap/base/security/sanitizeHTML.js +38 -0
- package/dist/sap/base/strings/toHex.js +33 -0
- package/dist/sap/base/util/now.js +28 -0
- package/dist/sap/base/util/uid.js +27 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3600 -0
- package/dist/ssr-dom-shim.d.ts +1 -0
- package/dist/ssr-dom-shim.js +12 -0
- package/dist/ssr-dom-shim.js.map +1 -0
- package/dist/ssr-dom.d.ts +1 -0
- package/dist/ssr-dom.js +3 -0
- package/dist/ssr-dom.js.map +1 -0
- package/dist/theming/CustomStyle.d.ts +6 -0
- package/dist/theming/CustomStyle.js +46 -17
- package/dist/theming/CustomStyle.js.map +1 -0
- package/dist/theming/ThemeLoaded.d.ts +5 -0
- package/dist/theming/ThemeLoaded.js +14 -0
- 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 +64 -69
- package/dist/theming/applyTheme.js.map +1 -0
- package/dist/theming/getConstructableStyle.d.ts +9 -0
- package/dist/theming/getConstructableStyle.js +15 -15
- package/dist/theming/getConstructableStyle.js.map +1 -0
- package/dist/theming/getEffectiveStyle.d.ts +3 -0
- package/dist/theming/getEffectiveStyle.js +23 -13
- package/dist/theming/getEffectiveStyle.js.map +1 -0
- package/dist/theming/getStylesString.d.ts +3 -0
- package/dist/theming/getStylesString.js +9 -0
- package/dist/theming/getStylesString.js.map +1 -0
- package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
- package/dist/theming/getThemeDesignerTheme.js +74 -60
- package/dist/theming/getThemeDesignerTheme.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/thirdparty/preact/jsx.d.ts +2616 -0
- package/dist/thirdparty/preact/jsxRuntime.module.d.ts +62 -0
- package/dist/thirdparty/preact/jsxRuntime.module.js +2 -0
- package/dist/thirdparty/preact/preact.module.d.ts +398 -0
- package/dist/thirdparty/preact/preact.module.js +2 -0
- package/dist/types/AnimationMode.d.ts +24 -0
- package/dist/types/AnimationMode.js +25 -6
- package/dist/types/AnimationMode.js.map +1 -0
- package/dist/types/CalendarType.d.ts +28 -0
- package/dist/types/CalendarType.js +26 -18
- package/dist/types/CalendarType.js.map +1 -0
- package/dist/types/InvisibleMessageMode.d.ts +20 -0
- package/dist/types/InvisibleMessageMode.js +20 -0
- package/dist/types/InvisibleMessageMode.js.map +1 -0
- package/dist/types/ItemNavigationBehavior.d.ts +18 -0
- package/dist/types/ItemNavigationBehavior.js +16 -17
- package/dist/types/ItemNavigationBehavior.js.map +1 -0
- package/dist/types/MovePlacement.d.ts +20 -0
- package/dist/types/MovePlacement.js +22 -0
- package/dist/types/MovePlacement.js.map +1 -0
- package/dist/types/NavigationMode.d.ts +24 -0
- package/dist/types/NavigationMode.js +25 -5
- package/dist/types/NavigationMode.js.map +1 -0
- package/dist/types/Orientation.d.ts +16 -0
- package/dist/types/Orientation.js +18 -0
- package/dist/types/Orientation.js.map +1 -0
- package/dist/types/ValueState.d.ts +28 -0
- package/dist/types/ValueState.js +27 -19
- package/dist/types/ValueState.js.map +1 -0
- package/dist/types.d.ts +41 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/updateShadowRoot.d.ts +7 -0
- package/dist/updateShadowRoot.js +17 -0
- package/dist/updateShadowRoot.js.map +1 -0
- package/dist/util/AccessibilityTextsHelper.d.ts +17 -0
- package/dist/util/AccessibilityTextsHelper.js +199 -0
- package/dist/util/AccessibilityTextsHelper.js.map +1 -0
- package/dist/util/Caret.d.ts +7 -0
- package/dist/util/Caret.js +23 -0
- package/dist/util/Caret.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +31 -0
- package/dist/util/ColorConversion.js +352 -0
- 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 +70 -56
- package/dist/util/FocusableElements.js.map +1 -0
- package/dist/util/HTMLSanitizer.d.ts +3 -0
- package/dist/util/HTMLSanitizer.js +6 -0
- package/dist/util/HTMLSanitizer.js.map +1 -0
- package/dist/util/InvisibleMessage.d.ts +10 -0
- package/dist/util/InvisibleMessage.js +56 -0
- package/dist/util/InvisibleMessage.js.map +1 -0
- package/dist/util/PopupUtils.d.ts +5 -0
- package/dist/util/PopupUtils.js +60 -0
- package/dist/util/PopupUtils.js.map +1 -0
- package/dist/util/SelectionAssistant.d.ts +12 -0
- package/dist/util/SelectionAssistant.js +79 -0
- package/dist/util/SelectionAssistant.js.map +1 -0
- package/dist/util/SlotsHelper.d.ts +9 -0
- package/dist/util/SlotsHelper.js +30 -0
- package/dist/util/SlotsHelper.js.map +1 -0
- package/dist/util/StringHelper.d.ts +5 -0
- package/dist/util/StringHelper.js +32 -21
- package/dist/util/StringHelper.js.map +1 -0
- package/dist/util/TabbableElements.d.ts +17 -0
- package/dist/util/TabbableElements.js +46 -39
- package/dist/util/TabbableElements.js.map +1 -0
- package/dist/util/arraysAreEqual.d.ts +2 -0
- package/dist/util/arraysAreEqual.js +13 -0
- package/dist/util/arraysAreEqual.js.map +1 -0
- package/dist/util/clamp.d.ts +9 -0
- package/dist/util/clamp.js +13 -0
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/createLinkInHead.d.ts +7 -0
- package/dist/util/createLinkInHead.js +21 -0
- package/dist/util/createLinkInHead.js.map +1 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.js +15 -0
- package/dist/util/debounce.js.map +1 -0
- package/dist/util/detectNavigatorLanguage.d.ts +2 -0
- package/dist/util/detectNavigatorLanguage.js +13 -11
- package/dist/util/detectNavigatorLanguage.js.map +1 -0
- package/dist/util/dragAndDrop/DragRegistry.d.ts +33 -0
- package/dist/util/dragAndDrop/DragRegistry.js +66 -0
- package/dist/util/dragAndDrop/DragRegistry.js.map +1 -0
- package/dist/util/dragAndDrop/findClosestPosition.d.ts +11 -0
- package/dist/util/dragAndDrop/findClosestPosition.js +102 -0
- package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -0
- package/dist/util/dragAndDrop/handleDragOver.d.ts +16 -0
- package/dist/util/dragAndDrop/handleDragOver.js +42 -0
- package/dist/util/dragAndDrop/handleDragOver.js.map +1 -0
- package/dist/util/dragAndDrop/handleDrop.d.ts +5 -0
- package/dist/util/dragAndDrop/handleDrop.js +22 -0
- package/dist/util/dragAndDrop/handleDrop.js.map +1 -0
- package/dist/util/dragAndDrop/longDragOverHandler.d.ts +2 -0
- package/dist/util/dragAndDrop/longDragOverHandler.js +25 -0
- package/dist/util/dragAndDrop/longDragOverHandler.js.map +1 -0
- package/dist/util/escapeRegex.d.ts +8 -0
- package/dist/util/escapeRegex.js +11 -0
- package/dist/util/escapeRegex.js.map +1 -0
- package/dist/util/fixSafariActiveState.d.ts +2 -0
- package/dist/util/fixSafariActiveState.js +11 -0
- package/dist/util/fixSafariActiveState.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 +41 -0
- package/dist/util/generateHighlightedMarkup.js.map +1 -0
- package/dist/util/getActiveElement.d.ts +2 -0
- package/dist/util/getActiveElement.js +9 -0
- package/dist/util/getActiveElement.js.map +1 -0
- package/dist/util/getClassCopy.d.ts +438 -0
- package/dist/util/getClassCopy.js +10 -0
- package/dist/util/getClassCopy.js.map +1 -0
- package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
- package/dist/util/getDesigntimePropertyAsArray.js +5 -3
- package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
- package/dist/util/getEffectiveContentDensity.d.ts +2 -0
- package/dist/util/getEffectiveContentDensity.js +4 -0
- package/dist/util/getEffectiveContentDensity.js.map +1 -0
- package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
- package/dist/util/getEffectiveScrollbarStyle.js +34 -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 +19 -0
- package/dist/util/getSingletonElementInstance.js.map +1 -0
- package/dist/util/hash2str.d.ts +1 -0
- package/dist/util/hash2str.js +14 -0
- package/dist/util/hash2str.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 +12 -0
- 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 +20 -12
- package/dist/util/isValidPropertyName.js.map +1 -0
- package/dist/util/toLowercaseEnumValue.d.ts +3 -0
- package/dist/util/toLowercaseEnumValue.js +4 -0
- package/dist/util/toLowercaseEnumValue.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 +49 -0
- package/dist/validateThemeRoot.js.map +1 -0
- package/index.js +206 -2
- package/package-scripts.cjs +74 -0
- package/package.json +43 -13
- package/src/css/BusyIndicator.css +80 -0
- package/src/css/FontFace.css +96 -0
- package/src/css/OverrideFontFace.css +32 -0
- package/src/css/SystemCSSVars.css +9 -0
- package/src/thirdparty/preact/jsxRuntime.module.js +2 -0
- package/src/thirdparty/preact/preact.module.js +2 -0
- package/src/thirdparty/preact/version.txt +1 -0
- package/tsconfig.json +20 -0
- package/.eslintignore +0 -11
- package/bundle.es5.js +0 -28
- package/bundle.esm.js +0 -49
- package/config/.eslintrc.js +0 -3
- package/config/rollup.config.js +0 -1
- package/config/wdio.conf.js +0 -1
- package/dist/RenderScheduler.js +0 -165
- package/dist/SVGIconRegistry.js +0 -60
- package/dist/StaticArea.js +0 -41
- package/dist/StaticAreaItem.js +0 -105
- package/dist/animations/config.js +0 -5
- package/dist/boot.js +0 -32
- package/dist/compatibility/DOMObserver.js +0 -62
- package/dist/compatibility/patchNodeValue.js +0 -24
- package/dist/compatibility/whenPolyfillLoaded.js +0 -26
- package/dist/config/RTL.js +0 -31
- package/dist/delegate/CustomResize.js +0 -78
- package/dist/delegate/NativeResize.js +0 -44
- package/dist/features/browsersupport/Edge.js +0 -6
- package/dist/features/browsersupport/IE11.js +0 -41
- package/dist/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/dist/renderer/ifDefined.js +0 -21
- package/dist/resources/bundle.es5.js +0 -212
- package/dist/resources/bundle.es5.js.map +0 -1
- package/dist/resources/bundle.esm.js +0 -129
- package/dist/resources/bundle.esm.js.map +0 -1
- package/dist/test-resources/assets/Themes.js +0 -13
- 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 -37
- package/dist/test-resources/elements/WithStaticArea.js +0 -76
- package/dist/test-resources/pages/AllTestElements.html +0 -42
- package/dist/test-resources/pages/Configuration.html +0 -20
- package/dist/test-resources/pages/ConfigurationScript.html +0 -36
- package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -25
- package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -61
- package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -45
- package/dist/test-resources/specs/CustomTheme.spec.js +0 -25
- package/dist/test-resources/specs/StaticArea.spec.js +0 -34
- package/dist/test-resources/specs/Theming.spec.js +0 -31
- package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -258
- package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -93
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -101
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -40
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -12
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -65
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -22
- package/dist/test-resources/specs/UI5ElementSlots.js +0 -34
- package/dist/theming/CSSVarsPonyfill.js +0 -24
- package/dist/theming/adaptCSSForIE.js +0 -90
- package/dist/theming/createComponentStyleTag.js +0 -49
- package/dist/theming/createThemePropertiesStyleTag.js +0 -20
- package/dist/thirdparty/Array.from.js +0 -16
- package/dist/thirdparty/Array.prototype.fill.js +0 -44
- package/dist/thirdparty/Array.prototype.find.js +0 -46
- package/dist/thirdparty/Array.prototype.includes.js +0 -51
- package/dist/thirdparty/Element.prototype.closest.js +0 -11
- package/dist/thirdparty/Element.prototype.matches.js +0 -6
- package/dist/thirdparty/Map.prototype.keys.js +0 -9
- package/dist/thirdparty/Number.isInteger.js +0 -5
- package/dist/thirdparty/Number.isNaN.js +0 -1
- package/dist/thirdparty/Number.parseInt.js +0 -1
- package/dist/thirdparty/Object.assign.js +0 -31
- package/dist/thirdparty/Object.entries.js +0 -11
- package/dist/thirdparty/Symbol.js +0 -2
- package/dist/thirdparty/WeakSet.js +0 -27
- package/dist/thirdparty/es6-string-methods.js +0 -182
- package/dist/thirdparty/events-polyfills.js +0 -89
- package/dist/thirdparty/fetch.js +0 -1
- package/dist/thirdparty/template.js +0 -600
- package/dist/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/dist/types/CSSSize.js +0 -9
- package/dist/types/DataType.js +0 -25
- package/dist/types/Integer.js +0 -9
- package/dist/types/PopupState.js +0 -37
- package/dist/util/createStyleInHead.js +0 -18
- 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 -13
- package/dist/util/isNodeTabbable.js +0 -28
- package/dist/webcomponentsjs/LICENSE.md +0 -19
- package/dist/webcomponentsjs/README.md +0 -229
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
- package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
- package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
- package/lib/generate-asset-parameters/index.js +0 -22
- package/package-scripts.js +0 -47
- package/src/AssetRegistry.js +0 -9
- package/src/Device.js +0 -823
- package/src/EventProvider.js +0 -73
- package/src/FeaturesRegistry.js +0 -11
- package/src/FontFace.js +0 -73
- package/src/InitialConfiguration.js +0 -131
- package/src/Keys.js +0 -161
- package/src/RenderQueue.js +0 -42
- package/src/RenderScheduler.js +0 -165
- package/src/SVGIconRegistry.js +0 -60
- package/src/StaticArea.js +0 -41
- package/src/StaticAreaItem.js +0 -105
- package/src/Theming.js +0 -3
- package/src/UI5Element.js +0 -898
- package/src/UI5ElementMetadata.js +0 -173
- 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 -24
- package/src/asset-registries/LocaleData.js +0 -125
- package/src/asset-registries/Themes.js +0 -87
- package/src/asset-registries/i18n.js +0 -79
- package/src/boot.js +0 -32
- package/src/compatibility/DOMObserver.js +0 -62
- package/src/compatibility/patchNodeValue.js +0 -24
- package/src/compatibility/whenPolyfillLoaded.js +0 -26
- package/src/config/AnimationMode.js +0 -13
- package/src/config/CalendarType.js +0 -18
- package/src/config/FormatSettings.js +0 -13
- package/src/config/Language.js +0 -12
- package/src/config/NoConflict.js +0 -51
- package/src/config/RTL.js +0 -31
- package/src/config/Theme.js +0 -28
- package/src/delegate/CustomResize.js +0 -78
- package/src/delegate/ItemNavigation.js +0 -278
- package/src/delegate/NativeResize.js +0 -44
- package/src/delegate/ResizeHandler.js +0 -66
- package/src/delegate/ScrollEnablement.js +0 -126
- package/src/features/OpenUI5Support.js +0 -90
- package/src/features/browsersupport/Edge.js +0 -6
- package/src/features/browsersupport/IE11.js +0 -41
- package/src/features/browsersupport/IE11WithWebComponentsPolyfill.js +0 -5
- package/src/i18nBundle.js +0 -33
- package/src/locale/Locale.js +0 -91
- package/src/locale/getLocale.js +0 -31
- package/src/locale/nextFallbackLocale.js +0 -28
- package/src/locale/normalizeLocale.js +0 -54
- package/src/renderer/LitRenderer.js +0 -15
- package/src/renderer/ifDefined.js +0 -21
- package/src/theming/CSSVarsPonyfill.js +0 -24
- package/src/theming/CustomStyle.js +0 -19
- package/src/theming/adaptCSSForIE.js +0 -90
- package/src/theming/applyTheme.js +0 -81
- package/src/theming/createComponentStyleTag.js +0 -49
- package/src/theming/createThemePropertiesStyleTag.js +0 -20
- package/src/theming/getConstructableStyle.js +0 -25
- package/src/theming/getEffectiveStyle.js +0 -15
- package/src/theming/getThemeDesignerTheme.js +0 -67
- package/src/thirdparty/Array.from.js +0 -16
- package/src/thirdparty/Array.prototype.fill.js +0 -44
- package/src/thirdparty/Array.prototype.find.js +0 -46
- package/src/thirdparty/Array.prototype.includes.js +0 -51
- package/src/thirdparty/Element.prototype.closest.js +0 -11
- package/src/thirdparty/Element.prototype.matches.js +0 -6
- package/src/thirdparty/Map.prototype.keys.js +0 -9
- package/src/thirdparty/Number.isInteger.js +0 -5
- package/src/thirdparty/Number.isNaN.js +0 -1
- package/src/thirdparty/Number.parseInt.js +0 -1
- package/src/thirdparty/Object.assign.js +0 -31
- package/src/thirdparty/Object.entries.js +0 -11
- package/src/thirdparty/Symbol.js +0 -2
- package/src/thirdparty/WeakSet.js +0 -27
- package/src/thirdparty/_merge.js +0 -32
- package/src/thirdparty/es6-string-methods.js +0 -182
- package/src/thirdparty/events-polyfills.js +0 -89
- package/src/thirdparty/fetch.js +0 -1
- package/src/thirdparty/isPlainObject.js +0 -18
- package/src/thirdparty/merge.js +0 -10
- package/src/thirdparty/template.js +0 -600
- package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/src/types/AnimationMode.js +0 -7
- package/src/types/CSSSize.js +0 -9
- package/src/types/CalendarType.js +0 -22
- package/src/types/DataType.js +0 -25
- package/src/types/Integer.js +0 -9
- package/src/types/ItemNavigationBehavior.js +0 -21
- package/src/types/NavigationMode.js +0 -6
- package/src/types/PopupState.js +0 -37
- package/src/types/ValueState.js +0 -22
- package/src/util/FetchHelper.js +0 -31
- package/src/util/FocusableElements.js +0 -60
- package/src/util/StringHelper.js +0 -26
- package/src/util/TabbableElements.js +0 -43
- package/src/util/createStyleInHead.js +0 -18
- package/src/util/detectNavigatorLanguage.js +0 -13
- package/src/util/findNodeOwner.js +0 -35
- package/src/util/formatMessage.js +0 -23
- package/src/util/getDesigntimePropertyAsArray.js +0 -4
- package/src/util/isDescendantOf.js +0 -15
- package/src/util/isNodeClickable.js +0 -19
- package/src/util/isNodeHidden.js +0 -13
- package/src/util/isNodeTabbable.js +0 -28
- package/src/util/isValidPropertyName.js +0 -20
- package/src/util/whenDOMReady.js +0 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSharedResource.js","sourceRoot":"","sources":["../src/getSharedResource.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAEhF,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAChD,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,4DAA4D;IAC5F,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,GAAmB,EAAE;IACvD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,2BAA2B,CAAC,mCAAmC,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACtG,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CAAI,SAAiB,EAAE,YAAe,EAAK,EAAE;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,0BAA0B,EAAyB,CAAC;IAElE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,OAAY,CAAC;AACrB,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import getSingletonElementInstance from \"./util/getSingletonElementInstance.js\";\n\nconst getMetaDomEl = () => {\n\tconst el = document.createElement(\"meta\");\n\tel.setAttribute(\"name\", \"ui5-shared-resources\");\n\tel.setAttribute(\"content\", \"\"); // attribute \"content\" should be present when \"name\" is set.\n\treturn el;\n};\n\nconst getSharedResourcesInstance = (): Element | null => {\n\tif (typeof document === \"undefined\") {\n\t\treturn null;\n\t}\n\treturn getSingletonElementInstance(`meta[name=\"ui5-shared-resources\"]`, document.head, getMetaDomEl);\n};\n\n/**\n * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.\n * The data will be accessed via a singleton \"ui5-shared-resources\" HTML element in the \"body\" element of the page.\n *\n * @public\n * @param namespace Unique ID of the resource, may contain \".\" to denote hierarchy\n * @param initialValue Object or primitive that will be used as an initial value if the resource does not exist\n * @returns {*}\n */\nconst getSharedResource = <T>(namespace: string, initialValue: T): T => {\n\tconst parts = namespace.split(\".\");\n\tlet current = getSharedResourcesInstance() as Record<string, any>;\n\n\tif (!current) {\n\t\treturn initialValue;\n\t}\n\n\tfor (let i = 0; i < parts.length; i++) {\n\t\tconst part = parts[i];\n\t\tconst lastPart = i === parts.length - 1;\n\t\tif (!Object.prototype.hasOwnProperty.call(current, part)) {\n\t\t\tcurrent[part] = lastPart ? initialValue : {};\n\t\t}\n\t\tcurrent = current[part];\n\t}\n\n\treturn current as T;\n};\n\nexport default getSharedResource;\n"]}
|
package/dist/global.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
|
|
3
|
+
declare global {
|
|
4
|
+
|
|
5
|
+
type VersionInfo = {
|
|
6
|
+
version: string,
|
|
7
|
+
major: number,
|
|
8
|
+
minor: number,
|
|
9
|
+
patch: number,
|
|
10
|
+
suffix: string,
|
|
11
|
+
isNext: boolean,
|
|
12
|
+
buildTime: number,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface Window {
|
|
16
|
+
sap: any;
|
|
17
|
+
chrome: any;
|
|
18
|
+
v8: any;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module "*generated/AssetParameters.js" {
|
|
22
|
+
const DEFAULT_THEME: string;
|
|
23
|
+
const SUPPORTED_THEMES: Array<string>;
|
|
24
|
+
const DEFAULT_LANGUAGE: string;
|
|
25
|
+
const DEFAULT_LOCALE: string;
|
|
26
|
+
const SUPPORTED_LOCALES: Array<string>;
|
|
27
|
+
export {
|
|
28
|
+
DEFAULT_THEME,
|
|
29
|
+
SUPPORTED_THEMES,
|
|
30
|
+
DEFAULT_LANGUAGE,
|
|
31
|
+
DEFAULT_LOCALE,
|
|
32
|
+
SUPPORTED_LOCALES,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
module "*generated/VersionInfo.js" {
|
|
37
|
+
const content: VersionInfo;
|
|
38
|
+
export default content;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { registerI18nLoader } from "./asset-registries/i18n.js";
|
|
2
|
+
type I18nText = {
|
|
3
|
+
key: string;
|
|
4
|
+
defaultText: string;
|
|
5
|
+
};
|
|
6
|
+
type I18nBundleGetter = (packageName: string) => Promise<I18nBundle>;
|
|
7
|
+
/**
|
|
8
|
+
* @class
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
declare class I18nBundle {
|
|
12
|
+
packageName: string;
|
|
13
|
+
constructor(packageName: string);
|
|
14
|
+
/**
|
|
15
|
+
* Returns a text in the currently loaded language
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
* @param textObj key/defaultText pair or just the key
|
|
19
|
+
* @param params Values for the placeholders
|
|
20
|
+
*/
|
|
21
|
+
getText(textObj: I18nText | string, ...params: Array<number | string>): string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Fetches and returns the I18nBundle instance for the given package.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
* @param packageName
|
|
28
|
+
*/
|
|
29
|
+
declare const getI18nBundle: (packageName: string) => Promise<I18nBundle>;
|
|
30
|
+
/**
|
|
31
|
+
* Allows developers to provide a custom getI18nBundle implementation
|
|
32
|
+
* If this function is called, the custom implementation will be used for all components and will completely
|
|
33
|
+
* replace the default implementation.
|
|
34
|
+
*
|
|
35
|
+
* @public
|
|
36
|
+
* @param customGet the function to use instead of the standard getI18nBundle implementation
|
|
37
|
+
*/
|
|
38
|
+
declare const registerCustomI18nBundleGetter: (customGet: I18nBundleGetter) => void;
|
|
39
|
+
export default I18nBundle;
|
|
40
|
+
export { registerI18nLoader, getI18nBundle, registerCustomI18nBundleGetter, };
|
|
41
|
+
export type { I18nText, };
|
package/dist/i18nBundle.js
CHANGED
|
@@ -1,33 +1,76 @@
|
|
|
1
|
-
import { fetchI18nBundle, getI18nBundleData } from "./asset-registries/i18n.js";
|
|
1
|
+
import { registerI18nLoader, fetchI18nBundle, getI18nBundleData } from "./asset-registries/i18n.js";
|
|
2
2
|
import formatMessage from "./util/formatMessage.js";
|
|
3
|
-
|
|
4
3
|
const I18nBundleInstances = new Map();
|
|
5
|
-
|
|
4
|
+
let customGetI18nBundle;
|
|
5
|
+
/**
|
|
6
|
+
* @class
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
6
9
|
class I18nBundle {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
constructor(packageName) {
|
|
11
|
+
this.packageName = packageName;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Returns a text in the currently loaded language
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
* @param textObj key/defaultText pair or just the key
|
|
18
|
+
* @param params Values for the placeholders
|
|
19
|
+
*/
|
|
20
|
+
getText(textObj, ...params) {
|
|
21
|
+
if (typeof textObj === "string") {
|
|
22
|
+
textObj = { key: textObj, defaultText: textObj };
|
|
23
|
+
}
|
|
24
|
+
if (!textObj || !textObj.key) {
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
27
|
+
const bundle = getI18nBundleData(this.packageName);
|
|
28
|
+
if (bundle && !bundle[textObj.key]) {
|
|
29
|
+
// eslint-disable-next-line no-console
|
|
30
|
+
console.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`);
|
|
31
|
+
}
|
|
32
|
+
const messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);
|
|
33
|
+
return formatMessage(messageText, params);
|
|
34
|
+
}
|
|
21
35
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Returns the I18nBundle instance for the given package synchronously.
|
|
38
|
+
*
|
|
39
|
+
* @public
|
|
40
|
+
* @param packageName
|
|
41
|
+
*/
|
|
42
|
+
const getI18nBundleSync = (packageName) => {
|
|
43
|
+
if (I18nBundleInstances.has(packageName)) {
|
|
44
|
+
return I18nBundleInstances.get(packageName);
|
|
45
|
+
}
|
|
46
|
+
const i18nBundle = new I18nBundle(packageName);
|
|
47
|
+
I18nBundleInstances.set(packageName, i18nBundle);
|
|
48
|
+
return i18nBundle;
|
|
31
49
|
};
|
|
32
|
-
|
|
33
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Fetches and returns the I18nBundle instance for the given package.
|
|
52
|
+
*
|
|
53
|
+
* @public
|
|
54
|
+
* @param packageName
|
|
55
|
+
*/
|
|
56
|
+
const getI18nBundle = async (packageName) => {
|
|
57
|
+
if (customGetI18nBundle) {
|
|
58
|
+
return customGetI18nBundle(packageName);
|
|
59
|
+
}
|
|
60
|
+
await fetchI18nBundle(packageName);
|
|
61
|
+
return getI18nBundleSync(packageName);
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Allows developers to provide a custom getI18nBundle implementation
|
|
65
|
+
* If this function is called, the custom implementation will be used for all components and will completely
|
|
66
|
+
* replace the default implementation.
|
|
67
|
+
*
|
|
68
|
+
* @public
|
|
69
|
+
* @param customGet the function to use instead of the standard getI18nBundle implementation
|
|
70
|
+
*/
|
|
71
|
+
const registerCustomI18nBundleGetter = (customGet) => {
|
|
72
|
+
customGetI18nBundle = customGet;
|
|
73
|
+
};
|
|
74
|
+
export default I18nBundle;
|
|
75
|
+
export { registerI18nLoader, getI18nBundle, registerCustomI18nBundleGetter, };
|
|
76
|
+
//# sourceMappingURL=i18nBundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18nBundle.js","sourceRoot":"","sources":["../src/i18nBundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAsB,CAAC;AAE1D,IAAI,mBAAqC,CAAC;AAS1C;;;GAGG;AACH,MAAM,UAAU;IAGf,YAAY,WAAmB;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,OAA0B,EAAE,GAAG,MAA8B;QACpE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,GAAG,8DAA8D,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAE/G,OAAO,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAc,EAAE;IAC7D,IAAI,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,OAAO,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/C,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,WAAmB,EAAuB,EAAE;IACxE,IAAI,mBAAmB,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,8BAA8B,GAAG,CAAC,SAA2B,EAAQ,EAAE;IAC5E,mBAAmB,GAAG,SAAS,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC;AAE1B,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,8BAA8B,GAC9B,CAAC","sourcesContent":["import { registerI18nLoader, fetchI18nBundle, getI18nBundleData } from \"./asset-registries/i18n.js\";\nimport formatMessage from \"./util/formatMessage.js\";\n\nconst I18nBundleInstances = new Map<string, I18nBundle>();\n\nlet customGetI18nBundle: I18nBundleGetter;\n\ntype I18nText = {\n\tkey: string,\n\tdefaultText: string,\n};\n\ntype I18nBundleGetter = (packageName: string) => Promise<I18nBundle>;\n\n/**\n * @class\n * @public\n */\nclass I18nBundle {\n\tpackageName: string;\n\n\tconstructor(packageName: string) {\n\t\tthis.packageName = packageName;\n\t}\n\n\t/**\n\t * Returns a text in the currently loaded language\n\t *\n\t * @public\n\t * @param textObj key/defaultText pair or just the key\n\t * @param params Values for the placeholders\n\t */\n\tgetText(textObj: I18nText | string, ...params: Array<number | string>): string {\n\t\tif (typeof textObj === \"string\") {\n\t\t\ttextObj = { key: textObj, defaultText: textObj };\n\t\t}\n\n\t\tif (!textObj || !textObj.key) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst bundle = getI18nBundleData(this.packageName);\n\t\tif (bundle && !bundle[textObj.key]) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`Key ${textObj.key} not found in the i18n bundle, the default text will be used`);\n\t\t}\n\t\tconst messageText = bundle && bundle[textObj.key] ? bundle[textObj.key] : (textObj.defaultText || textObj.key);\n\n\t\treturn formatMessage(messageText, params);\n\t}\n}\n\n/**\n * Returns the I18nBundle instance for the given package synchronously.\n *\n * @public\n * @param packageName\n */\nconst getI18nBundleSync = (packageName: string): I18nBundle => {\n\tif (I18nBundleInstances.has(packageName)) {\n\t\treturn I18nBundleInstances.get(packageName)!;\n\t}\n\n\tconst i18nBundle = new I18nBundle(packageName);\n\tI18nBundleInstances.set(packageName, i18nBundle);\n\treturn i18nBundle;\n};\n\n/**\n * Fetches and returns the I18nBundle instance for the given package.\n *\n * @public\n * @param packageName\n */\nconst getI18nBundle = async (packageName: string): Promise<I18nBundle> => {\n\tif (customGetI18nBundle) {\n\t\treturn customGetI18nBundle(packageName);\n\t}\n\n\tawait fetchI18nBundle(packageName);\n\treturn getI18nBundleSync(packageName);\n};\n\n/**\n * Allows developers to provide a custom getI18nBundle implementation\n * If this function is called, the custom implementation will be used for all components and will completely\n * replace the default implementation.\n *\n * @public\n * @param customGet the function to use instead of the standard getI18nBundle implementation\n */\nconst registerCustomI18nBundleGetter = (customGet: I18nBundleGetter): void => {\n\tcustomGetI18nBundle = customGet;\n};\n\nexport default I18nBundle;\n\nexport {\n\tregisterI18nLoader,\n\tgetI18nBundle,\n\tregisterCustomI18nBundleGetter,\n};\n\nexport type {\n\tI18nText,\n};\n"]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { JSX } from "./jsx-runtime.d.ts";
|
|
2
|
+
|
|
3
|
+
export type UI5CustomEvent<T extends UI5Element, N extends keyof T["eventDetails"]> = CustomEvent<T["eventDetails"][N]>;
|
|
4
|
+
export type JsxTemplateResult = JSX.Element | void;
|
|
5
|
+
export type JsxTemplate = () => JsxTemplateResult;
|
|
6
|
+
|
|
7
|
+
export type * from "./types.d.ts";
|
|
8
|
+
export type * from "./jsx-runtime.d.ts";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type VNode } from "./jsx-runtime.js";
|
|
2
|
+
import type UI5Element from "./UI5Element.js";
|
|
3
|
+
export declare function Fragment(props: Record<string, any>, context?: any): import("./thirdparty/preact/preact.module.js").ComponentChildren;
|
|
4
|
+
export declare function jsxDEV(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// eslint-disable-next-line import/extensions
|
|
2
|
+
import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "./thirdparty/preact/jsxRuntime.module.js";
|
|
3
|
+
import { options } from "./thirdparty/preact/preact.module.js";
|
|
4
|
+
import { isUI5ElementClass, preprocess } from "./jsx-utils.js";
|
|
5
|
+
import { kebabToCamelCase } from "./util/StringHelper.js";
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
7
|
+
const old = options.vnode;
|
|
8
|
+
options.vnode = vnode => {
|
|
9
|
+
const props = vnode.props;
|
|
10
|
+
if (props !== null && typeof props === "object") {
|
|
11
|
+
if (props.class && typeof props.class === "object") {
|
|
12
|
+
// props.class = classObjToStr(props.class as Record<string, boolean>);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
old && old(vnode);
|
|
16
|
+
};
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
18
|
+
function isBoundOrArrow(func) {
|
|
19
|
+
// TODO improve => detection after func params
|
|
20
|
+
return func.name.startsWith("bound ") || func.toString().includes("=>");
|
|
21
|
+
}
|
|
22
|
+
function checkAttributeUsage(type, props) {
|
|
23
|
+
if (!isUI5ElementClass(type)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const tag = type.getMetadata().getTag();
|
|
27
|
+
const componentAttributes = type.getMetadata().getAttributesList();
|
|
28
|
+
Object.keys(props).forEach(prop => {
|
|
29
|
+
if (prop.includes("-") && componentAttributes.includes(prop)) {
|
|
30
|
+
// eslint-disable-next-line no-console
|
|
31
|
+
console.warn(`Avoid attribute usage in favour of properties ['${prop}' --> '${kebabToCamelCase(prop)}'] for tag [${tag}]. Check stack trace to find out which template causes this. Attributes are not type-checked and boolean conversion is manual and error-prone.`);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export function Fragment(props, context) {
|
|
36
|
+
return _Fragment(props, context);
|
|
37
|
+
}
|
|
38
|
+
export function jsxDEV(type, props, key) {
|
|
39
|
+
const tag = preprocess(type, props, key);
|
|
40
|
+
checkAttributeUsage(type, props);
|
|
41
|
+
return _jsxDEV(tag, props, key);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=jsx-dev-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,6DAA6D;AAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;AAE1B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE;IACvB,MAAM,KAAK,GAAwB,KAAK,CAAC,KAAK,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpD,uEAAuE;QACxE,CAAC;IACF,CAAC;IACD,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,wDAAwD;AACxD,SAAS,cAAc,CAAC,IAAc;IACrC,8CAA8C;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgC,EAAE,KAA0B;IACxF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO;IACR,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;IACxC,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,mDAAmD,IAAI,UAAU,gBAAgB,CAAC,IAAI,CAAC,eAAe,GAAG,gJAAgJ,CAAC,CAAC;QACzQ,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAA0B,EAAE,OAAa;IACjE,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAgC,EAAE,KAA0B,EAAE,GAAW;IAC/F,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEzC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEjC,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAe,CAAC;AAC/C,CAAC","sourcesContent":["// eslint-disable-next-line import/extensions\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"./thirdparty/preact/jsxRuntime.module.js\";\nimport { options } from \"./thirdparty/preact/preact.module.js\";\nimport { type VNode } from \"./jsx-runtime.js\";\nimport type UI5Element from \"./UI5Element.js\";\nimport { isUI5ElementClass, preprocess } from \"./jsx-utils.js\";\nimport { kebabToCamelCase } from \"./util/StringHelper.js\";\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst old = options.vnode;\n\noptions.vnode = vnode => {\n\tconst props: Record<string, any> = vnode.props;\n\tif (props !== null && typeof props === \"object\") {\n\t\tif (props.class && typeof props.class === \"object\") {\n\t\t\t// props.class = classObjToStr(props.class as Record<string, boolean>);\n\t\t}\n\t}\n\told && old(vnode);\n};\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isBoundOrArrow(func: Function): boolean {\n\t// TODO improve => detection after func params\n\treturn func.name.startsWith(\"bound \") || func.toString().includes(\"=>\");\n}\n\nfunction checkAttributeUsage(type: string | typeof UI5Element, props: Record<string, any>) {\n\tif (!isUI5ElementClass(type)) {\n\t\treturn;\n\t}\n\n\tconst tag = type.getMetadata().getTag();\n\tconst componentAttributes = type.getMetadata().getAttributesList();\n\tObject.keys(props).forEach(prop => {\n\t\tif (prop.includes(\"-\") && componentAttributes.includes(prop)) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`Avoid attribute usage in favour of properties ['${prop}' --> '${kebabToCamelCase(prop)}'] for tag [${tag}]. Check stack trace to find out which template causes this. Attributes are not type-checked and boolean conversion is manual and error-prone.`);\n\t\t}\n\t});\n}\n\nexport function Fragment(props: Record<string, any>, context?: any) {\n\treturn _Fragment(props, context);\n}\n\nexport function jsxDEV(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any> {\n\tconst tag = preprocess(type, props, key);\n\n\tcheckAttributeUsage(type, props);\n\n\treturn _jsxDEV(tag, props, key) as VNode<any>;\n}\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { JSX as _JSX } from "./thirdparty/preact/jsxRuntime.module.d.ts";
|
|
2
|
+
import { type VNode as _VNode } from "./thirdparty/preact/preact.module.js";
|
|
3
|
+
import type UI5Element from "./UI5Element.js";
|
|
4
|
+
import { jsxDEV } from "./jsx-dev-runtime.js";
|
|
5
|
+
declare namespace JSX {
|
|
6
|
+
type JSXWithClassObj = {
|
|
7
|
+
[K in keyof _JSX.IntrinsicElements]: Omit<_JSX.IntrinsicElements[K], "class"> & {
|
|
8
|
+
class?: object | string | undefined;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
type AllHTMLAttributesWithClassObj<T extends EventTarget> = Omit<_JSX.AllHTMLAttributes<T>, "class"> & {
|
|
12
|
+
class?: object | string | undefined;
|
|
13
|
+
};
|
|
14
|
+
type HTMLAttributesWithClassObj<T extends EventTarget> = Omit<_JSX.HTMLAttributes<T>, "class"> & {
|
|
15
|
+
class?: object | string | undefined;
|
|
16
|
+
};
|
|
17
|
+
interface IntrinsicElements extends JSXWithClassObj {
|
|
18
|
+
}
|
|
19
|
+
type ElementClass = UI5Element;
|
|
20
|
+
interface Element extends VNode<any> {
|
|
21
|
+
}
|
|
22
|
+
interface ElementAttributesProperty<T extends EventTarget> {
|
|
23
|
+
_jsxProps: HTMLAttributes<T>;
|
|
24
|
+
}
|
|
25
|
+
interface AllHTMLAttributes<T extends EventTarget> extends AllHTMLAttributesWithClassObj<T> {
|
|
26
|
+
}
|
|
27
|
+
interface HTMLAttributes<T extends EventTarget> extends HTMLAttributesWithClassObj<T> {
|
|
28
|
+
}
|
|
29
|
+
interface DOMAttributes<T extends EventTarget> extends _JSX.DOMAttributes<T> {
|
|
30
|
+
}
|
|
31
|
+
interface SVGAttributes extends _JSX.SVGAttributes {
|
|
32
|
+
}
|
|
33
|
+
type AriaRole = _JSX.AriaRole;
|
|
34
|
+
type MouseEventHandler<T extends EventTarget> = _JSX.MouseEventHandler<T>;
|
|
35
|
+
type TargetedMouseEvent<Target extends EventTarget> = _JSX.TargetedMouseEvent<Target>;
|
|
36
|
+
type TargetedInputEvent<Target extends EventTarget> = _JSX.TargetedInputEvent<Target>;
|
|
37
|
+
}
|
|
38
|
+
export declare function Fragment(props: Record<string, any>, context?: any): import("./thirdparty/preact/preact.module.js").ComponentChildren;
|
|
39
|
+
export declare function jsx(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any>;
|
|
40
|
+
export declare function jsxs(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any>;
|
|
41
|
+
export { type jsxDEV };
|
|
42
|
+
export type ComponentChild = VNode<any> | object | string | number | bigint | boolean | null | undefined;
|
|
43
|
+
export type ComponentChildren = ComponentChild[] | ComponentChild;
|
|
44
|
+
export type VNode<T = {}> = Omit<_VNode<T>, "type" | "props"> & {
|
|
45
|
+
type: string | typeof UI5Element;
|
|
46
|
+
props: T & {
|
|
47
|
+
children: ComponentChildren;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export { JSX };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// eslint-disable-next-line import/extensions
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "./thirdparty/preact/jsxRuntime.module.js";
|
|
3
|
+
import { options } from "./thirdparty/preact/preact.module.js";
|
|
4
|
+
import { preprocess } from "./jsx-utils.js";
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
6
|
+
const old = options.vnode;
|
|
7
|
+
options.vnode = vnode => {
|
|
8
|
+
const props = vnode.props;
|
|
9
|
+
if (props !== null && typeof props === "object") {
|
|
10
|
+
if (props.class && typeof props.class === "object") {
|
|
11
|
+
// props.class = classObjToStr(props.class as Record<string, boolean>);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
old && old(vnode);
|
|
15
|
+
};
|
|
16
|
+
export function Fragment(props, context) {
|
|
17
|
+
return _Fragment(props, context);
|
|
18
|
+
}
|
|
19
|
+
export function jsx(type, props, key) {
|
|
20
|
+
const tag = preprocess(type, props, key);
|
|
21
|
+
return _jsx(tag, props, key);
|
|
22
|
+
}
|
|
23
|
+
export function jsxs(type, props, key) {
|
|
24
|
+
const tag = preprocess(type, props, key);
|
|
25
|
+
return _jsxs(tag, props, key);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=jsx-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAE7G,OAAO,EAAE,OAAO,EAAwB,MAAM,sCAAsC,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAwB5C,6DAA6D;AAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;AAE1B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE;IACvB,MAAM,KAAK,GAAwB,KAAK,CAAC,KAAK,CAAC;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpD,uEAAuE;QACxE,CAAC;IACF,CAAC;IACD,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,KAA0B,EAAE,OAAa;IACjE,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AACD,MAAM,UAAU,GAAG,CAAC,IAAgC,EAAE,KAA0B,EAAE,GAAW;IAC5F,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEzC,OAAO,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAe,CAAC;AAC5C,CAAC;AACD,MAAM,UAAU,IAAI,CAAC,IAAgC,EAAE,KAA0B,EAAE,GAAW;IAC7F,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEzC,OAAO,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAe,CAAC;AAC7C,CAAC","sourcesContent":["// eslint-disable-next-line import/extensions\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"./thirdparty/preact/jsxRuntime.module.js\";\nimport type { JSX as _JSX } from \"./thirdparty/preact/jsxRuntime.module.d.ts\";\nimport { options, type VNode as _VNode } from \"./thirdparty/preact/preact.module.js\";\nimport type UI5Element from \"./UI5Element.js\";\nimport { preprocess } from \"./jsx-utils.js\";\nimport { jsxDEV } from \"./jsx-dev-runtime.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\ndeclare namespace JSX {\n\ttype JSXWithClassObj = { [K in keyof _JSX.IntrinsicElements]: Omit<_JSX.IntrinsicElements[K], \"class\"> & { class?: object | string | undefined } };\n\ttype AllHTMLAttributesWithClassObj<T extends EventTarget> = Omit<_JSX.AllHTMLAttributes<T>, \"class\"> & { class?: object | string | undefined }\n\ttype HTMLAttributesWithClassObj<T extends EventTarget> = Omit<_JSX.HTMLAttributes<T>, \"class\"> & { class?: object | string | undefined }\n export interface IntrinsicElements extends JSXWithClassObj {}\n export type ElementClass = UI5Element;\n\texport interface Element extends VNode<any> {}\n export interface ElementAttributesProperty<T extends EventTarget> {\n\t\t_jsxProps: HTMLAttributes<T>;\n\t}\n\texport interface AllHTMLAttributes<T extends EventTarget> extends AllHTMLAttributesWithClassObj<T> {}\n\texport interface HTMLAttributes<T extends EventTarget> extends HTMLAttributesWithClassObj<T> {}\n\texport interface DOMAttributes<T extends EventTarget> extends _JSX.DOMAttributes<T> {}\n\texport interface SVGAttributes extends _JSX.SVGAttributes {}\n\texport type AriaRole = _JSX.AriaRole;\n\texport type MouseEventHandler<T extends EventTarget> = _JSX.MouseEventHandler<T>;\n\texport type TargetedMouseEvent<Target extends EventTarget> = _JSX.TargetedMouseEvent<Target>;\n\texport type TargetedInputEvent<Target extends EventTarget> = _JSX.TargetedInputEvent<Target>;\n}\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst old = options.vnode;\n\noptions.vnode = vnode => {\n\tconst props: Record<string, any> = vnode.props;\n\tif (props !== null && typeof props === \"object\") {\n\t\tif (props.class && typeof props.class === \"object\") {\n\t\t\t// props.class = classObjToStr(props.class as Record<string, boolean>);\n\t\t}\n\t}\n\told && old(vnode);\n};\n\nexport function Fragment(props: Record<string, any>, context?: any) {\n\treturn _Fragment(props, context);\n}\nexport function jsx(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any> {\n\tconst tag = preprocess(type, props, key);\n\n\treturn _jsx(tag, props, key) as VNode<any>;\n}\nexport function jsxs(type: string | typeof UI5Element, props: Record<string, any>, key: string): VNode<any> {\n\tconst tag = preprocess(type, props, key);\n\n\treturn _jsxs(tag, props, key) as VNode<any>;\n}\nexport { type jsxDEV };\n\nexport type ComponentChild =\n\t| VNode<any>\n\t| object\n\t| string\n\t| number\n\t| bigint\n\t| boolean\n\t| null\n\t| undefined;\nexport type ComponentChildren = ComponentChild[] | ComponentChild;\n\nexport type VNode<T = {}> = Omit<_VNode<T>, \"type\" | \"props\"> & { type: string | typeof UI5Element, props: T & { children: ComponentChildren } };\n\nexport { JSX };\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import hash2str from "./util/hash2str.js";
|
|
2
|
+
import { pascalToKebabCase } from "./util/StringHelper.js";
|
|
3
|
+
function convertEventScoping(type, props, key) {
|
|
4
|
+
const events = type.getMetadata().getEvents();
|
|
5
|
+
Object.keys(props).forEach(prop => {
|
|
6
|
+
if (prop.startsWith("on")) {
|
|
7
|
+
// Exteract the kebab-case event: onChange - change, onSelectionChange - selection-change, etc.
|
|
8
|
+
const pascalEvent = prop.slice("on".length);
|
|
9
|
+
const kebabCaseEvent = pascalToKebabCase(pascalEvent);
|
|
10
|
+
// Attach for the "ui5-" preffixed event
|
|
11
|
+
if (kebabCaseEvent in events) {
|
|
12
|
+
if ((prop !== "onClick")) {
|
|
13
|
+
props[`onui5-${kebabCaseEvent}`] = props[prop];
|
|
14
|
+
// TODO keep native events for now, find a way to mark them for runtime
|
|
15
|
+
delete props[prop];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function isUI5ElementClass(type) {
|
|
22
|
+
return typeof type === "function" && "getMetadata" in type;
|
|
23
|
+
}
|
|
24
|
+
export function preprocess(type, props, key) {
|
|
25
|
+
let tag;
|
|
26
|
+
if (isUI5ElementClass(type)) {
|
|
27
|
+
tag = type.getMetadata().getTag();
|
|
28
|
+
convertEventScoping(type, props, key);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
tag = type;
|
|
32
|
+
}
|
|
33
|
+
// convert class object to string
|
|
34
|
+
if (typeof props.class === "object") {
|
|
35
|
+
props.class = hash2str(props.class);
|
|
36
|
+
}
|
|
37
|
+
return tag;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=jsx-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-utils.js","sourceRoot":"","sources":["../src/jsx-utils.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,SAAS,mBAAmB,CAAC,IAAuB,EAAE,KAA0B,EAAE,GAAW;IAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC;IAE9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACjC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,+FAA+F;YAC/F,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEtD,wCAAwC;YACxC,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;oBAC1B,KAAK,CAAC,SAAS,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/C,uEAAuE;oBACvE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAgC;IACjE,OAAO,OAAO,IAAI,KAAK,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAgC,EAAE,KAA0B,EAAE,GAAW;IACnG,IAAI,GAAW,CAAC;IAChB,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;QAClC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,IAAI,CAAC;IACZ,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC","sourcesContent":["import type UI5Element from \"./UI5Element.js\";\nimport hash2str from \"./util/hash2str.js\";\nimport { pascalToKebabCase } from \"./util/StringHelper.js\";\n\nfunction convertEventScoping(type: typeof UI5Element, props: Record<string, any>, key: string) {\n\tconst events = type.getMetadata().getEvents();\n\n\tObject.keys(props).forEach(prop => {\n\t\tif (prop.startsWith(\"on\")) {\n\t\t\t// Exteract the kebab-case event: onChange - change, onSelectionChange - selection-change, etc.\n\t\t\tconst pascalEvent = prop.slice(\"on\".length);\n\t\t\tconst kebabCaseEvent = pascalToKebabCase(pascalEvent);\n\n\t\t\t// Attach for the \"ui5-\" preffixed event\n\t\t\tif (kebabCaseEvent in events) {\n\t\t\t\tif ((prop !== \"onClick\")) {\n\t\t\t\t\tprops[`onui5-${kebabCaseEvent}`] = props[prop];\n\t\t\t\t\t// TODO keep native events for now, find a way to mark them for runtime\n\t\t\t\t\tdelete props[prop];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n\nexport function isUI5ElementClass(type: string | typeof UI5Element): type is typeof UI5Element {\n\treturn typeof type === \"function\" && \"getMetadata\" in type;\n}\n\nexport function preprocess(type: string | typeof UI5Element, props: Record<string, any>, key: string) {\n\tlet tag: string;\n\tif (isUI5ElementClass(type)) {\n\t\ttag = type.getMetadata().getTag();\n\t\tconvertEventScoping(type, props, key);\n\t} else {\n\t\ttag = type;\n\t}\n\n\t// convert class object to string\n\tif (typeof props.class === \"object\") {\n\t\tprops.class = hash2str(props.class);\n\t}\n\n\treturn tag;\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
declare class Locale {
|
|
2
|
+
sLocaleId: string;
|
|
3
|
+
sLanguage: string;
|
|
4
|
+
sScript: string;
|
|
5
|
+
sRegion: string;
|
|
6
|
+
sVariant: string | null;
|
|
7
|
+
sExtension: string | null;
|
|
8
|
+
sPrivateUse: string | null;
|
|
9
|
+
constructor(sLocaleId: string);
|
|
10
|
+
getLanguage(): string;
|
|
11
|
+
getScript(): string;
|
|
12
|
+
getRegion(): string;
|
|
13
|
+
getVariant(): string | null;
|
|
14
|
+
getVariantSubtags(): string[];
|
|
15
|
+
getExtension(): string | null;
|
|
16
|
+
getExtensionSubtags(): string[];
|
|
17
|
+
getPrivateUse(): string | null;
|
|
18
|
+
getPrivateUseSubtags(): string[];
|
|
19
|
+
hasPrivateUseSubtag(sSubtag: string): boolean;
|
|
20
|
+
toString(): string;
|
|
21
|
+
}
|
|
22
|
+
export default Locale;
|
package/dist/locale/Locale.js
CHANGED
|
@@ -1,91 +1,79 @@
|
|
|
1
|
+
import { DEFAULT_LANGUAGE } from "../generated/AssetParameters.js";
|
|
1
2
|
const rLocale = /^((?:[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;
|
|
2
|
-
|
|
3
3
|
class Locale {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
if (this.sVariant) {
|
|
79
|
-
r.push(this.sVariant);
|
|
80
|
-
}
|
|
81
|
-
if (this.sExtension) {
|
|
82
|
-
r.push(this.sExtension);
|
|
83
|
-
}
|
|
84
|
-
if (this.sPrivateUse) {
|
|
85
|
-
r.push(this.sPrivateUse);
|
|
86
|
-
}
|
|
87
|
-
return r.join("-");
|
|
88
|
-
}
|
|
4
|
+
constructor(sLocaleId) {
|
|
5
|
+
const aResult = rLocale.exec(sLocaleId.replace(/_/g, "-"));
|
|
6
|
+
if (aResult === null) {
|
|
7
|
+
throw new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);
|
|
8
|
+
}
|
|
9
|
+
this.sLocaleId = sLocaleId;
|
|
10
|
+
this.sLanguage = aResult[1] || DEFAULT_LANGUAGE;
|
|
11
|
+
this.sScript = aResult[2] || "";
|
|
12
|
+
this.sRegion = aResult[3] || "";
|
|
13
|
+
this.sVariant = (aResult[4] && aResult[4].slice(1)) || null;
|
|
14
|
+
this.sExtension = (aResult[5] && aResult[5].slice(1)) || null;
|
|
15
|
+
this.sPrivateUse = aResult[6] || null;
|
|
16
|
+
if (this.sLanguage) {
|
|
17
|
+
this.sLanguage = this.sLanguage.toLowerCase();
|
|
18
|
+
}
|
|
19
|
+
if (this.sScript) {
|
|
20
|
+
this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {
|
|
21
|
+
return s.toUpperCase();
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (this.sRegion) {
|
|
25
|
+
this.sRegion = this.sRegion.toUpperCase();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
getLanguage() {
|
|
29
|
+
return this.sLanguage;
|
|
30
|
+
}
|
|
31
|
+
getScript() {
|
|
32
|
+
return this.sScript;
|
|
33
|
+
}
|
|
34
|
+
getRegion() {
|
|
35
|
+
return this.sRegion;
|
|
36
|
+
}
|
|
37
|
+
getVariant() {
|
|
38
|
+
return this.sVariant;
|
|
39
|
+
}
|
|
40
|
+
getVariantSubtags() {
|
|
41
|
+
return this.sVariant ? this.sVariant.split("-") : [];
|
|
42
|
+
}
|
|
43
|
+
getExtension() {
|
|
44
|
+
return this.sExtension;
|
|
45
|
+
}
|
|
46
|
+
getExtensionSubtags() {
|
|
47
|
+
return this.sExtension ? this.sExtension.slice(2).split("-") : [];
|
|
48
|
+
}
|
|
49
|
+
getPrivateUse() {
|
|
50
|
+
return this.sPrivateUse;
|
|
51
|
+
}
|
|
52
|
+
getPrivateUseSubtags() {
|
|
53
|
+
return this.sPrivateUse ? this.sPrivateUse.slice(2).split("-") : [];
|
|
54
|
+
}
|
|
55
|
+
hasPrivateUseSubtag(sSubtag) {
|
|
56
|
+
return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
|
|
57
|
+
}
|
|
58
|
+
toString() {
|
|
59
|
+
const r = [this.sLanguage];
|
|
60
|
+
if (this.sScript) {
|
|
61
|
+
r.push(this.sScript);
|
|
62
|
+
}
|
|
63
|
+
if (this.sRegion) {
|
|
64
|
+
r.push(this.sRegion);
|
|
65
|
+
}
|
|
66
|
+
if (this.sVariant) {
|
|
67
|
+
r.push(this.sVariant);
|
|
68
|
+
}
|
|
69
|
+
if (this.sExtension) {
|
|
70
|
+
r.push(this.sExtension);
|
|
71
|
+
}
|
|
72
|
+
if (this.sPrivateUse) {
|
|
73
|
+
r.push(this.sPrivateUse);
|
|
74
|
+
}
|
|
75
|
+
return r.join("-");
|
|
76
|
+
}
|
|
89
77
|
}
|
|
90
|
-
|
|
91
78
|
export default Locale;
|
|
79
|
+
//# sourceMappingURL=Locale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Locale.js","sourceRoot":"","sources":["../../src/locale/Locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,OAAO,GAAG,4MAA4M,CAAC;AAE7N,MAAM,MAAM;IASX,YAAY,SAAiB;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,6BAA6B,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gBAC/D,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,UAAU;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,mBAAmB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,oBAAoB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,mBAAmB,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ;QACP,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACD;AAED,eAAe,MAAM,CAAC","sourcesContent":["import { DEFAULT_LANGUAGE } from \"../generated/AssetParameters.js\";\n\nconst rLocale = /^((?:[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;\n\nclass Locale {\n\tsLocaleId: string;\n\tsLanguage: string;\n\tsScript: string;\n\tsRegion: string;\n\tsVariant: string | null;\n\tsExtension: string | null;\n\tsPrivateUse: string | null;\n\n\tconstructor(sLocaleId: string) {\n\t\tconst aResult = rLocale.exec(sLocaleId.replace(/_/g, \"-\"));\n\t\tif (aResult === null) {\n\t\t\tthrow new Error(`The given language ${sLocaleId} does not adhere to BCP-47.`);\n\t\t}\n\t\tthis.sLocaleId = sLocaleId;\n\t\tthis.sLanguage = aResult[1] || DEFAULT_LANGUAGE;\n\t\tthis.sScript = aResult[2] || \"\";\n\t\tthis.sRegion = aResult[3] || \"\";\n\t\tthis.sVariant = (aResult[4] && aResult[4].slice(1)) || null;\n\t\tthis.sExtension = (aResult[5] && aResult[5].slice(1)) || null;\n\t\tthis.sPrivateUse = aResult[6] || null;\n\t\tif (this.sLanguage) {\n\t\t\tthis.sLanguage = this.sLanguage.toLowerCase();\n\t\t}\n\t\tif (this.sScript) {\n\t\t\tthis.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, s => {\n\t\t\t\treturn s.toUpperCase();\n\t\t\t});\n\t\t}\n\t\tif (this.sRegion) {\n\t\t\tthis.sRegion = this.sRegion.toUpperCase();\n\t\t}\n\t}\n\n\tgetLanguage() {\n\t\treturn this.sLanguage;\n\t}\n\n\tgetScript() {\n\t\treturn this.sScript;\n\t}\n\n\tgetRegion() {\n\t\treturn this.sRegion;\n\t}\n\n\tgetVariant() {\n\t\treturn this.sVariant;\n\t}\n\n\tgetVariantSubtags() {\n\t\treturn this.sVariant ? this.sVariant.split(\"-\") : [];\n\t}\n\n\tgetExtension() {\n\t\treturn this.sExtension;\n\t}\n\n\tgetExtensionSubtags() {\n\t\treturn this.sExtension ? this.sExtension.slice(2).split(\"-\") : [];\n\t}\n\n\tgetPrivateUse() {\n\t\treturn this.sPrivateUse;\n\t}\n\n\tgetPrivateUseSubtags() {\n\t\treturn this.sPrivateUse ? this.sPrivateUse.slice(2).split(\"-\") : [];\n\t}\n\n\thasPrivateUseSubtag(sSubtag: string) {\n\t\treturn this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;\n\t}\n\n\ttoString() {\n\t\tconst r = [this.sLanguage];\n\n\t\tif (this.sScript) {\n\t\t\tr.push(this.sScript);\n\t\t}\n\t\tif (this.sRegion) {\n\t\t\tr.push(this.sRegion);\n\t\t}\n\t\tif (this.sVariant) {\n\t\t\tr.push(this.sVariant);\n\t\t}\n\t\tif (this.sExtension) {\n\t\t\tr.push(this.sExtension);\n\t\t}\n\t\tif (this.sPrivateUse) {\n\t\t\tr.push(this.sPrivateUse);\n\t\t}\n\t\treturn r.join(\"-\");\n\t}\n}\n\nexport default Locale;\n"]}
|