@ui5/webcomponents-base 0.0.0-9261ac932 → 0.0.0-95afb1087
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/CHANGELOG.md +831 -0
- package/LICENSE.txt +201 -0
- package/README.md +7 -7
- package/cypress.config.js +1 -1
- package/dist/.tsbuildinfobuild +1 -1
- package/dist/Assets-fetch.d.ts +1 -0
- package/dist/Assets-fetch.js +3 -0
- package/dist/Assets-fetch.js.map +1 -0
- package/dist/Assets-node.d.ts +12 -0
- package/dist/Assets-node.js +14 -0
- package/dist/Assets-node.js.map +1 -0
- package/dist/Assets.d.ts +1 -0
- package/dist/Assets.js +3 -0
- package/dist/Assets.js.map +1 -0
- package/dist/Boot.js +2 -0
- package/dist/Boot.js.map +1 -1
- package/dist/CustomElementsRegistry.d.ts +2 -1
- package/dist/CustomElementsRegistry.js +5 -2
- package/dist/CustomElementsRegistry.js.map +1 -1
- package/dist/CustomElementsScopeUtils.d.ts +4 -2
- package/dist/CustomElementsScopeUtils.js +8 -1
- package/dist/CustomElementsScopeUtils.js.map +1 -1
- package/dist/DragAndDrop.d.ts +2 -0
- package/dist/DragAndDrop.js +5 -0
- package/dist/DragAndDrop.js.map +1 -0
- package/dist/FeaturesRegistry.d.ts +1 -13
- package/dist/FeaturesRegistry.js +1 -37
- package/dist/FeaturesRegistry.js.map +1 -1
- package/dist/FontFace.js +0 -8
- package/dist/FontFace.js.map +1 -1
- package/dist/InitialConfiguration.js +7 -0
- package/dist/InitialConfiguration.js.map +1 -1
- package/dist/Keys.d.ts +4 -1
- package/dist/Keys.js +4 -1
- package/dist/Keys.js.map +1 -1
- package/dist/ManagedStyles.d.ts +4 -6
- package/dist/ManagedStyles.js +6 -16
- package/dist/ManagedStyles.js.map +1 -1
- package/dist/ScrollbarStyles.d.ts +2 -0
- package/dist/ScrollbarStyles.js +9 -0
- package/dist/ScrollbarStyles.js.map +1 -0
- package/dist/UI5Element.d.ts +48 -17
- package/dist/UI5Element.js +65 -42
- package/dist/UI5Element.js.map +1 -1
- package/dist/UI5ElementMetadata.d.ts +4 -9
- package/dist/UI5ElementMetadata.js +0 -7
- package/dist/UI5ElementMetadata.js.map +1 -1
- package/dist/asset-registries/Icons.d.ts +42 -8
- package/dist/asset-registries/Icons.js +51 -8
- package/dist/asset-registries/Icons.js.map +1 -1
- package/dist/asset-registries/Illustrations.d.ts +133 -8
- package/dist/asset-registries/Illustrations.js +82 -1
- package/dist/asset-registries/Illustrations.js.map +1 -1
- package/dist/asset-registries/LocaleData.js +2 -1
- package/dist/asset-registries/LocaleData.js.map +1 -1
- package/dist/asset-registries/Themes.d.ts +3 -6
- package/dist/asset-registries/Themes.js +1 -2
- package/dist/asset-registries/Themes.js.map +1 -1
- package/dist/config/Language.d.ts +2 -1
- package/dist/config/Language.js +12 -1
- package/dist/config/Language.js.map +1 -1
- package/dist/config/Theme.js +1 -2
- package/dist/config/Theme.js.map +1 -1
- package/dist/config/ThemeRoot.d.ts +3 -1
- package/dist/config/ThemeRoot.js +3 -1
- package/dist/config/ThemeRoot.js.map +1 -1
- package/dist/css/MultipleDragGhost.css +17 -0
- package/dist/css/OpenUI5PopupStyles.css +5 -0
- package/dist/css/ScrollbarStyles.css +3 -0
- package/dist/custom-elements-internal.json +1797 -1736
- package/dist/custom-elements.json +1424 -1301
- 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 +38 -0
- package/dist/decorators/customElement.js +1 -4
- package/dist/decorators/customElement.js.map +1 -1
- 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 +1 -0
- package/dist/decorators/event.js +1 -0
- package/dist/decorators/event.js.map +1 -1
- package/dist/decorators/i18n.js +6 -0
- package/dist/decorators/i18n.js.map +1 -1
- package/dist/decorators.d.ts +4 -1
- package/dist/decorators.js +4 -1
- package/dist/decorators.js.map +1 -1
- package/dist/features/F6Navigation.d.ts +1 -0
- package/dist/features/F6Navigation.js +39 -12
- package/dist/features/F6Navigation.js.map +1 -1
- package/dist/features/OpenUI5Enablement.d.ts +1 -1
- package/dist/features/OpenUI5Support.d.ts +5 -0
- package/dist/features/OpenUI5Support.js +42 -29
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/features/insertOpenUI5PopupStyles.d.ts +2 -0
- package/dist/features/insertOpenUI5PopupStyles.js +9 -0
- package/dist/features/insertOpenUI5PopupStyles.js.map +1 -0
- package/dist/features/patchPopup.d.ts +17 -4
- package/dist/features/patchPopup.js +67 -8
- package/dist/features/patchPopup.js.map +1 -1
- package/dist/generated/AssetParameters.js +1 -1
- package/dist/generated/AssetParameters.js.map +1 -1
- package/dist/generated/VersionInfo.js +6 -6
- package/dist/generated/VersionInfo.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/generated/css/BusyIndicator.css.d.ts +2 -3
- package/dist/generated/css/BusyIndicator.css.js +1 -6
- package/dist/generated/css/BusyIndicator.css.js.map +1 -1
- package/dist/generated/css/FontFace.css.d.ts +2 -3
- package/dist/generated/css/FontFace.css.js +36 -6
- package/dist/generated/css/FontFace.css.js.map +1 -1
- package/dist/generated/css/MultipleDragGhost.css.d.ts +2 -0
- package/dist/generated/css/MultipleDragGhost.css.js +2 -0
- package/dist/generated/css/MultipleDragGhost.css.js.map +1 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.d.ts +2 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.js +2 -0
- package/dist/generated/css/OpenUI5PopupStyles.css.js.map +1 -0
- package/dist/generated/css/ScrollbarStyles.css.d.ts +2 -0
- package/dist/generated/css/ScrollbarStyles.css.js +2 -0
- package/dist/generated/css/ScrollbarStyles.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +2 -3
- package/dist/generated/css/SystemCSSVars.css.js +1 -6
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +3 -0
- package/dist/generated/i18n/i18n-defaults.js +3 -0
- package/dist/generated/i18n/i18n-defaults.js.map +1 -0
- package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
- package/dist/generated/json-imports/i18n-fetch.js +2 -0
- package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
- package/dist/generated/json-imports/i18n-node.d.ts +1 -0
- package/dist/generated/json-imports/i18n-node.js +2 -0
- package/dist/generated/json-imports/i18n-node.js.map +1 -0
- package/dist/generated/json-imports/i18n.d.ts +1 -0
- package/dist/generated/json-imports/i18n.js +2 -0
- package/dist/generated/json-imports/i18n.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.js +91 -0
- package/dist/index.js.map +1 -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 +51 -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 +48 -0
- package/dist/jsx-utils.js.map +1 -0
- package/dist/locale/nextFallbackLocale.js +6 -2
- package/dist/locale/nextFallbackLocale.js.map +1 -1
- package/dist/prod/Assets-fetch.js +2 -0
- package/dist/prod/Assets-fetch.js.map +7 -0
- package/dist/prod/Assets-node.js +2 -0
- package/dist/prod/Assets-node.js.map +7 -0
- package/dist/prod/Assets.js +2 -0
- package/dist/prod/Assets.js.map +7 -0
- package/dist/prod/Boot.js +1 -1
- package/dist/prod/Boot.js.map +3 -3
- package/dist/prod/CustomElementsRegistry.js +5 -5
- package/dist/prod/CustomElementsRegistry.js.map +3 -3
- package/dist/prod/CustomElementsScopeUtils.js +1 -1
- package/dist/prod/CustomElementsScopeUtils.js.map +3 -3
- package/dist/prod/DragAndDrop.js +2 -0
- package/dist/prod/DragAndDrop.js.map +7 -0
- package/dist/prod/FeaturesRegistry.js +1 -1
- package/dist/prod/FeaturesRegistry.js.map +3 -3
- package/dist/prod/FontFace.js +1 -1
- package/dist/prod/FontFace.js.map +3 -3
- package/dist/prod/InitialConfiguration.js +1 -1
- package/dist/prod/InitialConfiguration.js.map +2 -2
- package/dist/prod/Keys.js +1 -1
- package/dist/prod/Keys.js.map +3 -3
- package/dist/prod/ManagedStyles.js +1 -1
- package/dist/prod/ManagedStyles.js.map +3 -3
- package/dist/prod/ScrollbarStyles.js +2 -0
- package/dist/prod/ScrollbarStyles.js.map +7 -0
- package/dist/prod/UI5Element.js +1 -1
- package/dist/prod/UI5Element.js.map +3 -3
- package/dist/prod/UI5ElementMetadata.js +1 -1
- package/dist/prod/UI5ElementMetadata.js.map +2 -2
- package/dist/prod/asset-registries/Icons.js +1 -1
- package/dist/prod/asset-registries/Icons.js.map +3 -3
- package/dist/prod/asset-registries/Illustrations.js +1 -1
- package/dist/prod/asset-registries/Illustrations.js.map +3 -3
- package/dist/prod/asset-registries/LocaleData.js +1 -1
- package/dist/prod/asset-registries/LocaleData.js.map +2 -2
- package/dist/prod/asset-registries/Themes.js +1 -1
- package/dist/prod/asset-registries/Themes.js.map +2 -2
- package/dist/prod/config/Language.js +1 -1
- package/dist/prod/config/Language.js.map +3 -3
- package/dist/prod/config/Theme.js +1 -1
- package/dist/prod/config/Theme.js.map +3 -3
- package/dist/prod/config/ThemeRoot.js.map +2 -2
- package/dist/prod/decorators/bound.js +2 -0
- package/dist/prod/decorators/bound.js.map +7 -0
- package/dist/prod/decorators/customElement.js +1 -1
- package/dist/prod/decorators/customElement.js.map +3 -3
- package/dist/prod/decorators/event-strict.js +2 -0
- package/dist/prod/decorators/event-strict.js.map +7 -0
- package/dist/prod/decorators/event.js.map +2 -2
- package/dist/prod/decorators/i18n.js +1 -1
- package/dist/prod/decorators/i18n.js.map +2 -2
- package/dist/prod/decorators.js +1 -1
- package/dist/prod/decorators.js.map +3 -3
- package/dist/prod/features/F6Navigation.js +1 -1
- package/dist/prod/features/F6Navigation.js.map +3 -3
- package/dist/prod/features/OpenUI5Support.js +1 -1
- package/dist/prod/features/OpenUI5Support.js.map +3 -3
- package/dist/prod/features/insertOpenUI5PopupStyles.js +2 -0
- package/dist/prod/features/insertOpenUI5PopupStyles.js.map +7 -0
- package/dist/prod/features/patchPopup.js +1 -1
- package/dist/prod/features/patchPopup.js.map +3 -3
- package/dist/prod/generated/AssetParameters.js +1 -1
- package/dist/prod/generated/AssetParameters.js.map +2 -2
- package/dist/prod/generated/VersionInfo.js +1 -1
- package/dist/prod/generated/VersionInfo.js.map +2 -2
- package/dist/prod/generated/assets/i18n/messagebundle_en.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/prod/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/prod/generated/css/BusyIndicator.css.js +1 -1
- package/dist/prod/generated/css/BusyIndicator.css.js.map +3 -3
- package/dist/prod/generated/css/FontFace.css.js +36 -1
- package/dist/prod/generated/css/FontFace.css.js.map +3 -3
- package/dist/prod/generated/css/MultipleDragGhost.css.js +2 -0
- package/dist/prod/generated/css/MultipleDragGhost.css.js.map +7 -0
- package/dist/prod/generated/css/OpenUI5PopupStyles.css.js +2 -0
- package/dist/prod/generated/css/OpenUI5PopupStyles.css.js.map +7 -0
- package/dist/prod/generated/css/ScrollbarStyles.css.js +2 -0
- package/dist/prod/generated/css/ScrollbarStyles.css.js.map +7 -0
- package/dist/prod/generated/css/SystemCSSVars.css.js +1 -1
- package/dist/prod/generated/css/SystemCSSVars.css.js.map +3 -3
- package/dist/prod/generated/i18n/i18n-defaults.js +2 -0
- package/dist/prod/generated/i18n/i18n-defaults.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n-fetch.js +2 -0
- package/dist/prod/generated/json-imports/i18n-fetch.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n-node.js +2 -0
- package/dist/prod/generated/json-imports/i18n-node.js.map +7 -0
- package/dist/prod/generated/json-imports/i18n.js +2 -0
- package/dist/prod/generated/json-imports/i18n.js.map +7 -0
- package/dist/prod/index.js +2 -0
- package/dist/prod/index.js.map +7 -0
- package/dist/prod/jsx-dev-runtime.js +2 -0
- package/dist/prod/jsx-dev-runtime.js.map +7 -0
- package/dist/prod/jsx-runtime.js +2 -0
- package/dist/prod/jsx-runtime.js.map +7 -0
- package/dist/prod/jsx-utils.js +2 -0
- package/dist/prod/jsx-utils.js.map +7 -0
- package/dist/prod/locale/nextFallbackLocale.js +1 -1
- package/dist/prod/locale/nextFallbackLocale.js.map +3 -3
- package/dist/prod/renderer/JsxRenderer.js +2 -0
- package/dist/prod/renderer/JsxRenderer.js.map +7 -0
- package/dist/prod/renderer/LitRenderer.js +1 -1
- package/dist/prod/renderer/LitRenderer.js.map +3 -3
- package/dist/prod/renderer/executeTemplate.js +1 -1
- package/dist/prod/renderer/executeTemplate.js.map +3 -3
- package/dist/prod/ssr-dom-shim.js +1 -1
- package/dist/prod/ssr-dom-shim.js.map +3 -3
- package/dist/prod/theming/applyTheme.js +1 -1
- package/dist/prod/theming/applyTheme.js.map +3 -3
- package/dist/prod/theming/getStylesString.js +1 -1
- package/dist/prod/theming/getStylesString.js.map +2 -2
- package/dist/prod/theming/getThemeDesignerTheme.js +1 -1
- package/dist/prod/theming/getThemeDesignerTheme.js.map +3 -3
- package/dist/prod/thirdparty/preact/jsx.d.js +2 -0
- package/dist/prod/thirdparty/preact/jsx.d.js.map +7 -0
- package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js +2 -0
- package/dist/prod/thirdparty/preact/jsxRuntime.module.d.js.map +7 -0
- package/dist/prod/thirdparty/preact/jsxRuntime.module.js +1 -0
- package/dist/prod/thirdparty/preact/preact.module.d.js +2 -0
- package/dist/prod/thirdparty/preact/preact.module.d.js.map +7 -0
- package/dist/prod/thirdparty/preact/preact.module.js +1 -0
- package/dist/prod/types/SortOrder.js +2 -0
- package/dist/prod/types/SortOrder.js.map +7 -0
- package/dist/prod/updateShadowRoot.js +1 -1
- package/dist/prod/updateShadowRoot.js.map +3 -3
- package/dist/prod/util/AccessibilityTextsHelper.js +2 -0
- package/dist/prod/util/AccessibilityTextsHelper.js.map +7 -0
- package/dist/prod/util/ColorConversion.js +1 -1
- package/dist/prod/util/ColorConversion.js.map +3 -3
- package/dist/prod/util/FocusableElements.js +1 -1
- package/dist/prod/util/FocusableElements.js.map +3 -3
- package/dist/prod/util/HTMLSanitizer.js.map +1 -1
- package/dist/prod/util/SelectionAssistant.js +1 -1
- package/dist/prod/util/SelectionAssistant.js.map +3 -3
- package/dist/prod/util/StringHelper.js +1 -1
- package/dist/prod/util/StringHelper.js.map +3 -3
- package/dist/prod/util/TabbableElements.js +1 -1
- package/dist/prod/util/TabbableElements.js.map +2 -2
- package/dist/prod/util/dragAndDrop/DragRegistry.js +1 -1
- package/dist/prod/util/dragAndDrop/DragRegistry.js.map +3 -3
- package/dist/prod/util/dragAndDrop/findClosestPosition.js +1 -1
- package/dist/prod/util/dragAndDrop/findClosestPosition.js.map +3 -3
- package/dist/prod/util/dragAndDrop/handleDragOver.js +2 -0
- package/dist/prod/util/dragAndDrop/handleDragOver.js.map +7 -0
- package/dist/prod/util/dragAndDrop/handleDrop.js +2 -0
- package/dist/prod/util/dragAndDrop/handleDrop.js.map +7 -0
- package/dist/prod/util/getFastNavigationGroups.js +1 -1
- package/dist/prod/util/getFastNavigationGroups.js.map +2 -2
- package/dist/prod/util/getParentElement.js +1 -1
- package/dist/prod/util/getParentElement.js.map +3 -3
- package/dist/prod/util/hash2str.js +2 -0
- package/dist/prod/util/hash2str.js.map +7 -0
- package/dist/prod/util/isElementHidden.js +1 -1
- package/dist/prod/util/isElementHidden.js.map +3 -3
- package/dist/prod/util/isEventMarked.js +2 -0
- package/dist/prod/util/isEventMarked.js.map +7 -0
- package/dist/prod/util/throttle.js +2 -0
- package/dist/prod/util/throttle.js.map +7 -0
- package/dist/prod/util/toLowercaseEnumValue.js +2 -0
- package/dist/prod/util/toLowercaseEnumValue.js.map +7 -0
- package/dist/prod/util/valueStateNavigation.js +2 -0
- package/dist/prod/util/valueStateNavigation.js.map +7 -0
- package/dist/prod/validateThemeRoot.js +1 -1
- package/dist/prod/validateThemeRoot.js.map +2 -2
- package/dist/renderer/JsxRenderer.d.ts +3 -0
- package/dist/renderer/JsxRenderer.js +26 -0
- package/dist/renderer/JsxRenderer.js.map +1 -0
- package/dist/renderer/LitRenderer.js +4 -3
- package/dist/renderer/LitRenderer.js.map +1 -1
- package/dist/renderer/executeTemplate.d.ts +3 -12
- package/dist/renderer/executeTemplate.js +1 -20
- package/dist/renderer/executeTemplate.js.map +1 -1
- package/dist/ssr-dom-shim.js +52 -1
- package/dist/ssr-dom-shim.js.map +1 -1
- package/dist/theming/applyTheme.d.ts +2 -0
- package/dist/theming/applyTheme.js +21 -30
- package/dist/theming/applyTheme.js.map +1 -1
- package/dist/theming/getStylesString.js +2 -4
- package/dist/theming/getStylesString.js.map +1 -1
- package/dist/theming/getThemeDesignerTheme.js +2 -1
- package/dist/theming/getThemeDesignerTheme.js.map +1 -1
- 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 +1 -0
- package/dist/thirdparty/preact/preact.module.d.ts +398 -0
- package/dist/thirdparty/preact/preact.module.js +1 -0
- package/dist/types/SortOrder.d.ts +24 -0
- package/dist/types/SortOrder.js +26 -0
- package/dist/types/SortOrder.js.map +1 -0
- package/dist/types.d.ts +30 -27
- package/dist/types.js.map +1 -1
- package/dist/updateShadowRoot.js +1 -2
- package/dist/updateShadowRoot.js.map +1 -1
- package/dist/util/{AriaLabelHelper.d.ts → AccessibilityTextsHelper.d.ts} +3 -1
- package/dist/util/{AriaLabelHelper.js → AccessibilityTextsHelper.js} +36 -8
- package/dist/util/AccessibilityTextsHelper.js.map +1 -0
- package/dist/util/ColorConversion.d.ts +2 -1
- package/dist/util/ColorConversion.js +35 -23
- package/dist/util/ColorConversion.js.map +1 -1
- package/dist/util/FocusableElements.js +43 -15
- package/dist/util/FocusableElements.js.map +1 -1
- package/dist/util/HTMLSanitizer.d.ts +2 -0
- package/dist/util/HTMLSanitizer.js +2 -2
- package/dist/util/HTMLSanitizer.js.map +1 -1
- package/dist/util/SelectionAssistant.js +0 -8
- package/dist/util/SelectionAssistant.js.map +1 -1
- package/dist/util/StringHelper.d.ts +2 -1
- package/dist/util/StringHelper.js +4 -1
- package/dist/util/StringHelper.js.map +1 -1
- package/dist/util/TabbableElements.js +2 -2
- package/dist/util/TabbableElements.js.map +1 -1
- package/dist/util/dragAndDrop/DragRegistry.d.ts +35 -8
- package/dist/util/dragAndDrop/DragRegistry.js +42 -50
- package/dist/util/dragAndDrop/DragRegistry.js.map +1 -1
- package/dist/util/dragAndDrop/findClosestPosition.d.ts +2 -1
- package/dist/util/dragAndDrop/findClosestPosition.js +45 -41
- package/dist/util/dragAndDrop/findClosestPosition.js.map +1 -1
- 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/getClassCopy.d.ts +16 -5
- package/dist/util/getFastNavigationGroups.js +6 -1
- package/dist/util/getFastNavigationGroups.js.map +1 -1
- package/dist/util/getParentElement.d.ts +1 -1
- package/dist/util/getParentElement.js +2 -2
- package/dist/util/getParentElement.js.map +1 -1
- 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/isElementHidden.js +2 -1
- package/dist/util/isElementHidden.js.map +1 -1
- package/dist/util/isEventMarked.d.ts +2 -0
- package/dist/util/isEventMarked.js +6 -0
- package/dist/util/isEventMarked.js.map +1 -0
- package/dist/util/throttle.d.ts +2 -0
- package/dist/util/throttle.js +20 -0
- package/dist/util/throttle.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/valueStateNavigation.d.ts +8 -0
- package/dist/util/valueStateNavigation.js +40 -0
- package/dist/util/valueStateNavigation.js.map +1 -0
- package/dist/validateThemeRoot.js +6 -2
- package/dist/validateThemeRoot.js.map +1 -1
- package/dist/vscode.html-custom-data.json +1 -1
- package/package-scripts.cjs +65 -34
- package/package.json +38 -25
- package/src/css/MultipleDragGhost.css +17 -0
- package/src/css/OpenUI5PopupStyles.css +5 -0
- package/src/css/ScrollbarStyles.css +3 -0
- package/src/i18n/messagebundle.properties +5 -0
- package/src/i18n/messagebundle_en.properties +2 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
- package/src/thirdparty/preact/jsxRuntime.module.js +1 -0
- package/src/thirdparty/preact/preact.module.js +1 -0
- package/src/thirdparty/preact/version.txt +1 -0
- package/tsconfig.json +0 -1
- package/cypress/specs/Accessor.cy.ts +0 -79
- package/cypress/specs/Boot.cy.ts +0 -23
- package/cypress/specs/ConfigurationChange.cy.ts +0 -41
- package/cypress/specs/ConfigurationScript.cy.ts +0 -116
- package/cypress/specs/ConfigurationURL.cy.ts +0 -182
- package/cypress/specs/CustomMount.cy.ts +0 -34
- package/cypress/specs/CustomTheme.cy.ts +0 -36
- package/cypress/specs/EventProvider.cy.ts +0 -59
- package/cypress/specs/SystemDOMElements.cy.ts +0 -8
- package/cypress/specs/Theming.cy.ts +0 -74
- package/cypress/specs/UI5ElementInvalidation.cy.ts +0 -207
- package/cypress/specs/UI5ElementLifecycle.cy.ts +0 -82
- package/cypress/specs/UI5ElementListenForChildPropChanges.cy.ts +0 -62
- package/cypress/specs/UI5ElementMetadataExt.cy.ts +0 -42
- package/cypress/specs/UI5ElementPropertyValidation.cy.ts +0 -16
- package/cypress/specs/UI5ElementPropsAndAttrs.cy.ts +0 -113
- package/cypress/specs/UI5ElementShadowDOM.cy.ts +0 -30
- package/cypress/specs/UI5ElementSlots.cy.ts +0 -116
- package/cypress/specs/WithComplexTemplate.cy.ts +0 -32
- package/cypress/tsconfig.json +0 -20
- package/dist/MarkedEvents.d.ts +0 -9
- package/dist/MarkedEvents.js +0 -15
- package/dist/MarkedEvents.js.map +0 -1
- package/dist/css/FontFace.css +0 -96
- package/dist/css/OverrideFontFace.css +0 -32
- package/dist/generated/css/OverrideFontFace.css.d.ts +0 -3
- package/dist/generated/css/OverrideFontFace.css.js +0 -7
- package/dist/generated/css/OverrideFontFace.css.js.map +0 -1
- package/dist/prod/MarkedEvents.js +0 -2
- package/dist/prod/MarkedEvents.js.map +0 -7
- package/dist/prod/generated/css/OverrideFontFace.css.js +0 -2
- package/dist/prod/generated/css/OverrideFontFace.css.js.map +0 -7
- package/dist/prod/types/AriaHasPopup.js +0 -2
- package/dist/prod/types/AriaHasPopup.js.map +0 -7
- package/dist/prod/types/AriaLandmarkRole.js +0 -2
- package/dist/prod/types/AriaLandmarkRole.js.map +0 -7
- package/dist/prod/types/AriaRole.js +0 -2
- package/dist/prod/types/AriaRole.js.map +0 -7
- package/dist/prod/util/AriaLabelHelper.js +0 -2
- package/dist/prod/util/AriaLabelHelper.js.map +0 -7
- package/dist/prod/util/getEffectiveScrollbarStyle.js +0 -26
- package/dist/prod/util/getEffectiveScrollbarStyle.js.map +0 -7
- package/dist/prod/util/isElementContainingBlock.js +0 -2
- package/dist/prod/util/isElementContainingBlock.js.map +0 -7
- package/dist/types/AriaHasPopup.d.ts +0 -32
- package/dist/types/AriaHasPopup.js +0 -34
- package/dist/types/AriaHasPopup.js.map +0 -1
- package/dist/types/AriaLandmarkRole.d.ts +0 -79
- package/dist/types/AriaLandmarkRole.js +0 -81
- package/dist/types/AriaLandmarkRole.js.map +0 -1
- package/dist/types/AriaRole.d.ts +0 -27
- package/dist/types/AriaRole.js +0 -29
- package/dist/types/AriaRole.js.map +0 -1
- package/dist/util/AriaLabelHelper.js.map +0 -1
- package/dist/util/getEffectiveScrollbarStyle.d.ts +0 -2
- package/dist/util/getEffectiveScrollbarStyle.js +0 -34
- package/dist/util/getEffectiveScrollbarStyle.js.map +0 -1
- package/dist/util/isElementContainingBlock.d.ts +0 -2
- package/dist/util/isElementContainingBlock.js +0 -11
- package/dist/util/isElementContainingBlock.js.map +0 -1
- package/index.js +0 -214
- package/src/css/FontFace.css +0 -96
- package/src/css/OverrideFontFace.css +0 -32
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t
|
|
1
|
+
"use strict";const e=t=>t.parentElement?t.parentElement:t.parentNode.host;export default e;
|
|
2
2
|
//# sourceMappingURL=getParentElement.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/getParentElement.ts"],
|
|
4
|
-
"sourcesContent": ["const getParentElement = (
|
|
5
|
-
"mappings": "aAAA,MAAMA,EAAoBC,
|
|
6
|
-
"names": ["getParentElement", "
|
|
4
|
+
"sourcesContent": ["const getParentElement = (element: Element) : Element | null => {\n\treturn element.parentElement ? element.parentElement : (element.parentNode as ShadowRoot).host;\n};\n\nexport default getParentElement;\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAAoBC,GAClBA,EAAQ,cAAgBA,EAAQ,cAAiBA,EAAQ,WAA0B,KAG3F,eAAeD",
|
|
6
|
+
"names": ["getParentElement", "element"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/hash2str.ts"],
|
|
4
|
+
"sourcesContent": ["export default function hash2str(hash: Record<string, boolean>): string {\n\tlet str = \"\";\n\t// eslint-disable-next-line no-restricted-syntax\n\tfor (const prop in hash) {\n\t\tif (hash[prop]) {\n\t\t\tif (str) {\n\t\t\t\tstr += \" \";\n\t\t\t}\n\t\t\tstr += prop;\n\t\t}\n\t}\n\treturn str;\n}\n"],
|
|
5
|
+
"mappings": "aAAA,wBAAwBA,EAASC,EAAuC,CACvE,IAAIC,EAAM,GAEV,UAAWC,KAAQF,EACdA,EAAKE,CAAI,IACRD,IACHA,GAAO,KAERA,GAAOC,GAGT,OAAOD,CACR",
|
|
6
|
+
"names": ["hash2str", "hash", "str", "prop"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t
|
|
1
|
+
"use strict";const i=t=>{if(t.nodeName==="SLOT")return!1;const e=window.getComputedStyle(t);return e.display!=="contents"&&t.offsetWidth<=0&&t.offsetHeight<=0||e.visibility==="hidden"};export default i;
|
|
2
2
|
//# sourceMappingURL=isElementHidden.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/isElementHidden.ts"],
|
|
4
|
-
"sourcesContent": ["const isElementHidden = (el: HTMLElement) => {\n\tif (el.nodeName === \"SLOT\") {\n\t\treturn false;\n\t}\n\n\treturn (el.offsetWidth <= 0 && el.offsetHeight <= 0) || (
|
|
5
|
-
"mappings": "aAAA,MAAMA,EAAmBC,
|
|
6
|
-
"names": ["isElementHidden", "el"]
|
|
4
|
+
"sourcesContent": ["const isElementHidden = (el: HTMLElement) => {\n\tif (el.nodeName === \"SLOT\") {\n\t\treturn false;\n\t}\n\n\tconst computedStyle = window.getComputedStyle(el);\n\n\treturn (computedStyle.display !== \"contents\" && (el.offsetWidth <= 0 && el.offsetHeight <= 0)) || (computedStyle.visibility === \"hidden\");\n};\n\nexport default isElementHidden;\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAAmBC,GAAoB,CAC5C,GAAIA,EAAG,WAAa,OACnB,MAAO,GAGR,MAAMC,EAAgB,OAAO,iBAAiBD,CAAE,EAEhD,OAAQC,EAAc,UAAY,YAAeD,EAAG,aAAe,GAAKA,EAAG,cAAgB,GAAQC,EAAc,aAAe,QACjI,EAEA,eAAeF",
|
|
6
|
+
"names": ["isElementHidden", "el", "computedStyle"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/isEventMarked.ts"],
|
|
4
|
+
"sourcesContent": ["const defaultOpenUI5Key = \"handledByControl\";\n\nconst isEventMarked = (event: any, key: string = defaultOpenUI5Key) => {\n\treturn !!event[`_sapui_${key}`];\n};\n\nexport default isEventMarked;\n"],
|
|
5
|
+
"mappings": "aAAA,MAAMA,EAAoB,mBAEpBC,EAAgB,CAACC,EAAYC,EAAcH,IACzC,CAAC,CAACE,EAAM,UAAUC,CAAG,EAAE,EAG/B,eAAeF",
|
|
6
|
+
"names": ["defaultOpenUI5Key", "isEventMarked", "event", "key"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/throttle.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Timeout } from \"../types.js\";\n\nfunction throttle(func: () => void, delay: number): () => void {\n\tlet lastArgs: [] | null = null; // used to ensure an explicit last call after the delay\n\tlet throttleTimeout: Timeout | null = null;\n\n\treturn function throttled(...args) {\n\t\tif (throttleTimeout) {\n\t\t\tlastArgs = args;\n\t\t\treturn;\n\t\t}\n\n\t\tfunc(...args);\n\t\tthrottleTimeout = setTimeout(() => {\n\t\t\tif (lastArgs) {\n\t\t\t\tfunc(...lastArgs);\n\t\t\t\tlastArgs = null;\n\t\t\t}\n\t\t\tthrottleTimeout = null;\n\t\t}, delay);\n\t};\n}\n\nexport default throttle;\n"],
|
|
5
|
+
"mappings": "aAEA,SAASA,EAASC,EAAkBC,EAA2B,CAC9D,IAAIC,EAAsB,KACtBC,EAAkC,KAEtC,OAAO,YAAsBC,EAAM,CAClC,GAAID,EAAiB,CACpBD,EAAWE,EACX,MACD,CAEAJ,EAAK,GAAGI,CAAI,EACZD,EAAkB,WAAW,IAAM,CAC9BD,IACHF,EAAK,GAAGE,CAAQ,EAChBA,EAAW,MAEZC,EAAkB,IACnB,EAAGF,CAAK,CACT,CACD,CAEA,eAAeF",
|
|
6
|
+
"names": ["throttle", "func", "delay", "lastArgs", "throttleTimeout", "args"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/toLowercaseEnumValue.ts"],
|
|
4
|
+
"sourcesContent": ["type LowercaseEnum<T> = T extends string ? Lowercase<T> : never;\n\nexport default function toLowercaseEnumValue<T extends string>(value: T): LowercaseEnum<T> {\n\treturn value.toLowerCase() as LowercaseEnum<T>;\n}\n"],
|
|
5
|
+
"mappings": "aAEA,wBAAwBA,EAAuCC,EAA4B,CAC1F,OAAOA,EAAM,YAAY,CAC1B",
|
|
6
|
+
"names": ["toLowercaseEnumValue", "value"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";import{isDown as i,isUp as p,isTabNext as n,isTabPrevious as r,isEscape as s}from"../Keys.js";const f=(t,a,e,o)=>{n(t)&&(e!==a.length-1?(t.stopImmediatePropagation(),t.preventDefault(),a[e+1].focus()):(o.closeValueState(),o.focusInput())),r(t)&&(t.preventDefault(),t.stopImmediatePropagation(),e>0?a[e-1].focus():o.focusInput()),p(t)&&(t.preventDefault(),t.stopImmediatePropagation(),o.isPopoverOpen()&&o.focusInput()),i(t)&&(t.preventDefault(),t.stopImmediatePropagation(),o.navigateToItem()),s(t)&&(t.preventDefault(),t.stopImmediatePropagation())};export{f as attachListeners};
|
|
2
|
+
//# sourceMappingURL=valueStateNavigation.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/valueStateNavigation.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n\tisDown,\n\tisUp,\n\tisTabNext,\n\tisTabPrevious,\n\tisEscape,\n} from \"../Keys.js\";\n\ninterface ControlHandlers {\n\tcloseValueState: () => void;\n\tfocusInput: () => void;\n\tnavigateToItem: () => void;\n\tisPopoverOpen: () => boolean;\n}\n\nconst attachListeners = (e: KeyboardEvent, links: Array<HTMLElement>, index: number, handlers: ControlHandlers) => {\n\tif (isTabNext(e)) {\n\t\tif (index !== links.length - 1) {\n\t\t\te.stopImmediatePropagation();\n\t\t\te.preventDefault();\n\t\t\tlinks[index + 1].focus();\n\t\t} else {\n\t\t\thandlers.closeValueState();\n\t\t\thandlers.focusInput();\n\t\t}\n\t}\n\n\tif (isTabPrevious(e)) {\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t\tif (index > 0) {\n\t\t\tlinks[index - 1].focus();\n\t\t} else {\n\t\t\thandlers.focusInput();\n\t\t}\n\t}\n\n\tif (isUp(e)) {\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t\thandlers.isPopoverOpen() && handlers.focusInput();\n\t}\n\n\tif (isDown(e)) {\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t\thandlers.navigateToItem();\n\t}\n\n\tif (isEscape(e)) {\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t}\n};\n\nexport { attachListeners, ControlHandlers };\n"],
|
|
5
|
+
"mappings": "aAAA,OACC,UAAAA,EACA,QAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,YAAAC,MACM,aASP,MAAMC,EAAkB,CAACC,EAAkBC,EAA2BC,EAAeC,IAA8B,CAC9GP,EAAUI,CAAC,IACVE,IAAUD,EAAM,OAAS,GAC5BD,EAAE,yBAAyB,EAC3BA,EAAE,eAAe,EACjBC,EAAMC,EAAQ,CAAC,EAAE,MAAM,IAEvBC,EAAS,gBAAgB,EACzBA,EAAS,WAAW,IAIlBN,EAAcG,CAAC,IAClBA,EAAE,eAAe,EACjBA,EAAE,yBAAyB,EACvBE,EAAQ,EACXD,EAAMC,EAAQ,CAAC,EAAE,MAAM,EAEvBC,EAAS,WAAW,GAIlBR,EAAKK,CAAC,IACTA,EAAE,eAAe,EACjBA,EAAE,yBAAyB,EAC3BG,EAAS,cAAc,GAAKA,EAAS,WAAW,GAG7CT,EAAOM,CAAC,IACXA,EAAE,eAAe,EACjBA,EAAE,yBAAyB,EAC3BG,EAAS,eAAe,GAGrBL,EAASE,CAAC,IACbA,EAAE,eAAe,EACjBA,EAAE,yBAAyB,EAE7B,EAEA,OAASD,KAAA",
|
|
6
|
+
"names": ["isDown", "isUp", "isTabNext", "isTabPrevious", "isEscape", "attachListeners", "e", "links", "index", "handlers"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";import{getLocationHref as i}from"./Location.js";const
|
|
1
|
+
"use strict";import{getLocationHref as i}from"./Location.js";const s=e=>{const t=document.querySelector(`META[name="${e}"]`);return t&&t.getAttribute("content")},o=e=>{const t=s("sap-allowed-theme-origins")??s("sap-allowedThemeOrigins");return t?t.split(",").some(n=>n==="*"||e===n.trim()):!1},a=(e,t)=>{const n=new URL(e).pathname;return new URL(n,t).toString()},g=e=>{let t;try{if(e.startsWith(".")||e.startsWith("/"))t=new URL(e,i()).toString();else{const n=new URL(e),r=n.origin;r&&o(r)?t=n.toString():t=a(n.toString(),i())}return t.endsWith("/")||(t=`${t}/`),`${t}UI5/`}catch{}};export default g;
|
|
2
2
|
//# sourceMappingURL=validateThemeRoot.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/validateThemeRoot.ts"],
|
|
4
|
-
"sourcesContent": ["import { getLocationHref } from \"./Location.js\";\n\nconst getMetaTagValue = (metaTagName: string) => {\n\tconst metaTag = document.querySelector(`META[name=\"${metaTagName}\"]`),\n\t\tmetaTagContent = metaTag && metaTag.getAttribute(\"content\");\n\n\treturn metaTagContent;\n};\n\nconst validateThemeOrigin = (origin: string) => {\n\tconst allowedOrigins = getMetaTagValue(\"sap-allowedThemeOrigins\")
|
|
5
|
-
"mappings": "aAAA,OAAS,mBAAAA,MAAuB,gBAEhC,MAAMC,EAAmBC,GAAwB,CAChD,MAAMC,EAAU,SAAS,cAAc,cAAcD,CAAW,IAAI,EAGpE,OAFkBC,GAAWA,EAAQ,aAAa,SAAS,CAG5D,EAEMC,EAAuBC,GAAmB,CAC/C,MAAMC,EAAiBL,EAAgB,yBAAyB,
|
|
4
|
+
"sourcesContent": ["import { getLocationHref } from \"./Location.js\";\n\nconst getMetaTagValue = (metaTagName: string) => {\n\tconst metaTag = document.querySelector(`META[name=\"${metaTagName}\"]`),\n\t\tmetaTagContent = metaTag && metaTag.getAttribute(\"content\");\n\n\treturn metaTagContent;\n};\n\nconst validateThemeOrigin = (origin: string) => {\n\tconst allowedOrigins = getMetaTagValue(\"sap-allowed-theme-origins\") ?? getMetaTagValue(\"sap-allowedThemeOrigins\"); // Prioritize the new meta tag name\n\n\t// If no allowed origins are specified, block.\n\tif (!allowedOrigins) {\n\t\treturn false;\n\t}\n\n\treturn allowedOrigins.split(\",\").some(allowedOrigin => {\n\t\treturn allowedOrigin === \"*\" || origin === allowedOrigin.trim();\n\t});\n};\n\nconst buildCorrectUrl = (oldUrl: string, newOrigin: string) => {\n\tconst oldUrlPath = new URL(oldUrl).pathname;\n\n\treturn new URL(oldUrlPath, newOrigin).toString();\n};\n\nconst validateThemeRoot = (themeRoot: string) => {\n\tlet resultUrl;\n\n\ttry {\n\t\tif (themeRoot.startsWith(\".\") || themeRoot.startsWith(\"/\")) {\n\t\t\t// Handle relative url\n\t\t\t// new URL(\"/newExmPath\", \"http://example.com/exmPath\") => http://example.com/newExmPath\n\t\t\t// new URL(\"./newExmPath\", \"http://example.com/exmPath\") => http://example.com/exmPath/newExmPath\n\t\t\t// new URL(\"../newExmPath\", \"http://example.com/exmPath\") => http://example.com/newExmPath\n\t\t\tresultUrl = new URL(themeRoot, getLocationHref()).toString();\n\t\t} else {\n\t\t\tconst themeRootURL = new URL(themeRoot);\n\t\t\tconst origin = themeRootURL.origin;\n\n\t\t\tif (origin && validateThemeOrigin(origin)) {\n\t\t\t\t// If origin is allowed, use it\n\t\t\t\tresultUrl = themeRootURL.toString();\n\t\t\t} else {\n\t\t\t\t// If origin is not allow and the URL is not relative, we have to replace the origin\n\t\t\t\t// with current location\n\t\t\t\tresultUrl = buildCorrectUrl(themeRootURL.toString(), getLocationHref());\n\t\t\t}\n\t\t}\n\n\t\tif (!resultUrl.endsWith(\"/\")) {\n\t\t\tresultUrl = `${resultUrl}/`;\n\t\t}\n\n\t\treturn `${resultUrl}UI5/`;\n\t} catch (e) {\n\t\t// Catch if URL is not correct\n\t}\n};\n\nexport default validateThemeRoot;\n"],
|
|
5
|
+
"mappings": "aAAA,OAAS,mBAAAA,MAAuB,gBAEhC,MAAMC,EAAmBC,GAAwB,CAChD,MAAMC,EAAU,SAAS,cAAc,cAAcD,CAAW,IAAI,EAGpE,OAFkBC,GAAWA,EAAQ,aAAa,SAAS,CAG5D,EAEMC,EAAuBC,GAAmB,CAC/C,MAAMC,EAAiBL,EAAgB,2BAA2B,GAAKA,EAAgB,yBAAyB,EAGhH,OAAKK,EAIEA,EAAe,MAAM,GAAG,EAAE,KAAKC,GAC9BA,IAAkB,KAAOF,IAAWE,EAAc,KAAK,CAC9D,EALO,EAMT,EAEMC,EAAkB,CAACC,EAAgBC,IAAsB,CAC9D,MAAMC,EAAa,IAAI,IAAIF,CAAM,EAAE,SAEnC,OAAO,IAAI,IAAIE,EAAYD,CAAS,EAAE,SAAS,CAChD,EAEME,EAAqBC,GAAsB,CAChD,IAAIC,EAEJ,GAAI,CACH,GAAID,EAAU,WAAW,GAAG,GAAKA,EAAU,WAAW,GAAG,EAKxDC,EAAY,IAAI,IAAID,EAAWb,EAAgB,CAAC,EAAE,SAAS,MACrD,CACN,MAAMe,EAAe,IAAI,IAAIF,CAAS,EAChCR,EAASU,EAAa,OAExBV,GAAUD,EAAoBC,CAAM,EAEvCS,EAAYC,EAAa,SAAS,EAIlCD,EAAYN,EAAgBO,EAAa,SAAS,EAAGf,EAAgB,CAAC,CAExE,CAEA,OAAKc,EAAU,SAAS,GAAG,IAC1BA,EAAY,GAAGA,CAAS,KAGlB,GAAGA,CAAS,MACpB,MAAY,CAEZ,CACD,EAEA,eAAeF",
|
|
6
6
|
"names": ["getLocationHref", "getMetaTagValue", "metaTagName", "metaTag", "validateThemeOrigin", "origin", "allowedOrigins", "allowedOrigin", "buildCorrectUrl", "oldUrl", "newOrigin", "oldUrlPath", "validateThemeRoot", "themeRoot", "resultUrl", "themeRootURL"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { hydrate, render, createContext } from "../thirdparty/preact/preact.module.js";
|
|
2
|
+
import { jsx } from "../thirdparty/preact/jsxRuntime.module.js";
|
|
3
|
+
const instanceToContextMap = new WeakMap();
|
|
4
|
+
const jsxRenderer = (instance, container) => {
|
|
5
|
+
let ctx = instanceToContextMap.get(instance);
|
|
6
|
+
if (!ctx) {
|
|
7
|
+
// create a context holding the element that is being rendered
|
|
8
|
+
// this contect will be used when adding event listeners - they all will be bound to this element
|
|
9
|
+
ctx = createContext(instance);
|
|
10
|
+
instanceToContextMap.set(instance, ctx);
|
|
11
|
+
}
|
|
12
|
+
const templateResult = instance.render();
|
|
13
|
+
const vnode = jsx(ctx.Provider, { value: instance, children: templateResult });
|
|
14
|
+
if (instance.__shouldHydrate) {
|
|
15
|
+
// Remove all server-generated style elements for component styles
|
|
16
|
+
// to avoid conflicts or duplication with styles added through adopted style sheets.
|
|
17
|
+
instance.shadowRoot?.querySelectorAll("style").forEach(style => style.remove());
|
|
18
|
+
hydrate(vnode, container);
|
|
19
|
+
instance.__shouldHydrate = false;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
render(vnode, container);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export default jsxRenderer;
|
|
26
|
+
//# sourceMappingURL=JsxRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsxRenderer.js","sourceRoot":"","sources":["../../src/renderer/JsxRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,GAAG,EAAE,MAAM,2CAA2C,CAAC;AAIhE,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA4D,CAAC;AAErG,MAAM,WAAW,GAAa,CAAC,QAAoB,EAAE,SAAyC,EAAE,EAAE;IACjG,IAAI,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,8DAA8D;QAC9D,iGAAiG;QACjG,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9B,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAE/E,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC9B,kEAAkE;QAClE,oFAAoF;QACpF,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1B,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;IAClC,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1B,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { hydrate, render, createContext } from \"../thirdparty/preact/preact.module.js\";\nimport { jsx } from \"../thirdparty/preact/jsxRuntime.module.js\";\nimport type UI5Element from \"../UI5Element.js\";\nimport type { Renderer } from \"../UI5Element.js\";\n\nconst instanceToContextMap = new WeakMap<UI5Element, ReturnType<typeof createContext<UI5Element>>>();\n\nconst jsxRenderer: Renderer = (instance: UI5Element, container: HTMLElement | DocumentFragment) => {\n\tlet ctx = instanceToContextMap.get(instance);\n\tif (!ctx) {\n\t\t// create a context holding the element that is being rendered\n\t\t// this contect will be used when adding event listeners - they all will be bound to this element\n\t\tctx = createContext(instance);\n\t\tinstanceToContextMap.set(instance, ctx);\n\t}\n\n\tconst templateResult = instance.render();\n\tconst vnode = jsx(ctx.Provider, { value: instance, children: templateResult });\n\n\tif (instance.__shouldHydrate) {\n\t\t// Remove all server-generated style elements for component styles\n\t\t// to avoid conflicts or duplication with styles added through adopted style sheets.\n\t\tinstance.shadowRoot?.querySelectorAll(\"style\").forEach(style => style.remove());\n\t\thydrate(vnode, container);\n\t\tinstance.__shouldHydrate = false;\n\t} else {\n\t\trender(vnode, container);\n\t}\n};\n\nexport default jsxRenderer;\n"]}
|
|
@@ -10,12 +10,13 @@ const effectiveSvg = (strings, ...values) => {
|
|
|
10
10
|
const fn = litStatic ? litStatic.svg : svg;
|
|
11
11
|
return fn(strings, ...values);
|
|
12
12
|
};
|
|
13
|
-
const litRender = (
|
|
13
|
+
const litRender = (instance, container) => {
|
|
14
|
+
let templateResult = instance.render();
|
|
14
15
|
const openUI5Enablement = getFeature("OpenUI5Enablement");
|
|
15
16
|
if (openUI5Enablement) {
|
|
16
|
-
templateResult = openUI5Enablement.wrapTemplateResultInBusyMarkup(effectiveHtml,
|
|
17
|
+
templateResult = openUI5Enablement.wrapTemplateResultInBusyMarkup(effectiveHtml, instance, templateResult);
|
|
17
18
|
}
|
|
18
|
-
render(templateResult, container,
|
|
19
|
+
render(templateResult, container, { host: instance });
|
|
19
20
|
};
|
|
20
21
|
const scopeTag = (tag, tags, suffix) => {
|
|
21
22
|
const litStatic = getFeature("LitStatic");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LitRenderer.js","sourceRoot":"","sources":["../../src/renderer/LitRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,IAAI,EACJ,GAAG,GACH,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"LitRenderer.js","sourceRoot":"","sources":["../../src/renderer/LitRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,IAAI,EACJ,GAAG,GACH,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMpD,MAAM,aAAa,GAAG,CAAC,OAA6B,EAAE,GAAG,MAAsB,EAAE,EAAE;IAClF,MAAM,SAAS,GAAG,UAAU,CAAmB,WAAW,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAA6B,EAAE,GAAG,MAAsB,EAAE,EAAE;IACjF,MAAM,SAAS,GAAG,UAAU,CAAmB,WAAW,CAAC,CAAC;IAC5D,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,SAAS,GAAa,CAAC,QAAoB,EAAE,SAAyC,EAAE,EAAE;IAC/F,IAAI,cAAc,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IACvC,MAAM,iBAAiB,GAAG,UAAU,CAA2B,mBAAmB,CAAC,CAAC;IACpF,IAAI,iBAAiB,EAAE,CAAC;QACvB,cAAc,GAAG,iBAAiB,CAAC,8BAA8B,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAgC,CAAC,CAAC;IAC9H,CAAC;IAED,MAAM,CAAC,cAAgC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,IAAmB,EAAE,MAAc,EAAE,EAAE;IACrE,MAAM,SAAS,GAAG,UAAU,CAAmB,WAAW,CAAC,CAAC;IAC5D,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtF,CAAC;AACF,CAAC,CAAC;AAEF,OAAO,EACN,aAAa,IAAI,IAAI,EACrB,YAAY,IAAI,GAAG,GACnB,CAAC;AACF,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,oCAAoC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,eAAe,SAAS,CAAC","sourcesContent":["import {\n\trender,\n\thtml,\n\tsvg,\n} from \"lit-html\";\n\nimport type { TemplateResult } from \"lit-html\";\n\nimport { getFeature } from \"../FeaturesRegistry.js\";\nimport type { LitStatic } from \"../CustomElementsScope.js\";\nimport type OpenUI5Enablement from \"../features/OpenUI5Enablement.js\";\nimport type UI5Element from \"../UI5Element.js\";\nimport type { Renderer } from \"../UI5Element.js\";\n\nconst effectiveHtml = (strings: TemplateStringsArray, ...values: Array<unknown>) => {\n\tconst litStatic = getFeature<typeof LitStatic>(\"LitStatic\");\n\tconst fn = litStatic ? litStatic.html : html;\n\treturn fn(strings, ...values);\n};\n\nconst effectiveSvg = (strings: TemplateStringsArray, ...values: Array<unknown>) => {\n\tconst litStatic = getFeature<typeof LitStatic>(\"LitStatic\");\n\tconst fn = litStatic ? litStatic.svg : svg;\n\treturn fn(strings, ...values);\n};\n\nconst litRender: Renderer = (instance: UI5Element, container: HTMLElement | DocumentFragment) => {\n\tlet templateResult = instance.render();\n\tconst openUI5Enablement = getFeature<typeof OpenUI5Enablement>(\"OpenUI5Enablement\");\n\tif (openUI5Enablement) {\n\t\ttemplateResult = openUI5Enablement.wrapTemplateResultInBusyMarkup(effectiveHtml, instance, templateResult as TemplateResult);\n\t}\n\n\trender(templateResult as TemplateResult, container, { host: instance });\n};\n\nconst scopeTag = (tag: string, tags: Array<string>, suffix: string) => {\n\tconst litStatic = getFeature<typeof LitStatic>(\"LitStatic\");\n\tif (litStatic) {\n\t\treturn litStatic.unsafeStatic((tags || []).includes(tag) ? `${tag}-${suffix}` : tag);\n\t}\n};\n\nexport {\n\teffectiveHtml as html,\n\teffectiveSvg as svg,\n};\nexport { scopeTag };\nexport { repeat } from \"lit-html/directives/repeat.js\";\nexport { classMap } from \"lit-html/directives/class-map.js\";\n// @ts-ignore style-map is a JS file\nexport { styleMap } from \"./directives/style-map.js\";\nexport { ifDefined } from \"lit-html/directives/if-defined.js\";\nexport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nexport default litRender;\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type UI5Element from "../UI5Element.js";
|
|
2
|
-
type
|
|
3
|
-
type TemplateFunction = (component: UI5Element, tagsToScope: Array<string>, scope: string | undefined) => TemplateFunctionResult;
|
|
2
|
+
type TemplateFunction = () => object;
|
|
4
3
|
/**
|
|
5
4
|
* Runs a component's template with the component's current state, while also scoping HTML
|
|
6
5
|
*
|
|
@@ -8,14 +7,6 @@ type TemplateFunction = (component: UI5Element, tagsToScope: Array<string>, scop
|
|
|
8
7
|
* @param component - the component
|
|
9
8
|
* @public
|
|
10
9
|
*/
|
|
11
|
-
declare const executeTemplate: (template: TemplateFunction, component: UI5Element) =>
|
|
12
|
-
/**
|
|
13
|
-
* Returns all tags, used inside component's template subject to scoping.
|
|
14
|
-
* @param component - the component
|
|
15
|
-
* @returns {Array[]}
|
|
16
|
-
* @private
|
|
17
|
-
*/
|
|
18
|
-
declare const getTagsToScope: (component: UI5Element) => string[];
|
|
10
|
+
declare const executeTemplate: (template: TemplateFunction, component: UI5Element) => object;
|
|
19
11
|
export default executeTemplate;
|
|
20
|
-
export {
|
|
21
|
-
export type { TemplateFunction, TemplateFunctionResult };
|
|
12
|
+
export type { TemplateFunction };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../CustomElementsScopeUtils.js";
|
|
2
1
|
/**
|
|
3
2
|
* Runs a component's template with the component's current state, while also scoping HTML
|
|
4
3
|
*
|
|
@@ -7,25 +6,7 @@ import { getCustomElementsScopingSuffix, shouldScopeCustomElement } from "../Cus
|
|
|
7
6
|
* @public
|
|
8
7
|
*/
|
|
9
8
|
const executeTemplate = (template, component) => {
|
|
10
|
-
|
|
11
|
-
const scope = getCustomElementsScopingSuffix();
|
|
12
|
-
return template.call(component, component, tagsToScope, scope);
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Returns all tags, used inside component's template subject to scoping.
|
|
16
|
-
* @param component - the component
|
|
17
|
-
* @returns {Array[]}
|
|
18
|
-
* @private
|
|
19
|
-
*/
|
|
20
|
-
const getTagsToScope = (component) => {
|
|
21
|
-
const ctor = component.constructor;
|
|
22
|
-
const componentTag = ctor.getMetadata().getPureTag();
|
|
23
|
-
const tagsToScope = ctor.getUniqueDependencies().map((dep) => dep.getMetadata().getPureTag()).filter(shouldScopeCustomElement);
|
|
24
|
-
if (shouldScopeCustomElement(componentTag)) {
|
|
25
|
-
tagsToScope.push(componentTag);
|
|
26
|
-
}
|
|
27
|
-
return tagsToScope;
|
|
9
|
+
return template.call(component);
|
|
28
10
|
};
|
|
29
11
|
export default executeTemplate;
|
|
30
|
-
export { getTagsToScope };
|
|
31
12
|
//# sourceMappingURL=executeTemplate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeTemplate.js","sourceRoot":"","sources":["../../src/renderer/executeTemplate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executeTemplate.js","sourceRoot":"","sources":["../../src/renderer/executeTemplate.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,CAAC,QAA0B,EAAE,SAAqB,EAAE,EAAE;IAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import type UI5Element from \"../UI5Element.js\";\n\ntype TemplateFunction = () => object;\n\n/**\n * Runs a component's template with the component's current state, while also scoping HTML\n *\n * @param template - the template to execute\n * @param component - the component\n * @public\n */\nconst executeTemplate = (template: TemplateFunction, component: UI5Element) => {\n\treturn template.call(component);\n};\n\nexport default executeTemplate;\nexport type { TemplateFunction };\n"]}
|
package/dist/ssr-dom-shim.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable max-classes-per-file */
|
|
2
|
-
import { HTMLElement, Element, customElements } from "@lit-labs/ssr-dom-shim";
|
|
2
|
+
import { HTMLElement, Element, customElements, ElementInternals } from "@lit-labs/ssr-dom-shim";
|
|
3
3
|
globalThis.HTMLElement ??= HTMLElement;
|
|
4
4
|
globalThis.Element ??= Element;
|
|
5
5
|
globalThis.customElements ??= customElements;
|
|
@@ -9,4 +9,55 @@ globalThis.Node ??= NodeShim;
|
|
|
9
9
|
class FileListShim {
|
|
10
10
|
}
|
|
11
11
|
globalThis.FileList ??= FileListShim;
|
|
12
|
+
// ------- JS DOM shims -------
|
|
13
|
+
// Polyfill `adoptedStyleSheets` globally for both `Document` and `ShadowRoot`
|
|
14
|
+
const adoptedSheetsStore = new WeakMap();
|
|
15
|
+
if (globalThis.Document && !("adoptedStyleSheets" in Document.prototype)) {
|
|
16
|
+
Object.defineProperty(Document.prototype, "adoptedStyleSheets", {
|
|
17
|
+
get() {
|
|
18
|
+
return adoptedSheetsStore.get(this) || [];
|
|
19
|
+
},
|
|
20
|
+
set(sheets) {
|
|
21
|
+
adoptedSheetsStore.set(this, sheets);
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (globalThis.ShadowRoot && !("adoptedStyleSheets" in ShadowRoot.prototype)) {
|
|
26
|
+
Object.defineProperty(ShadowRoot.prototype, "adoptedStyleSheets", {
|
|
27
|
+
get() {
|
|
28
|
+
return adoptedSheetsStore.get(this) || [];
|
|
29
|
+
},
|
|
30
|
+
set(sheets) {
|
|
31
|
+
adoptedSheetsStore.set(this, sheets);
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
// Polyfill CSSStyleSheet to provide `replaceSync`
|
|
36
|
+
if (globalThis.CSSStyleSheet && !("replaceSync" in CSSStyleSheet.prototype)) {
|
|
37
|
+
Object.defineProperty(CSSStyleSheet.prototype, "replaceSync", {
|
|
38
|
+
value(cssText) {
|
|
39
|
+
this.cssText = cssText;
|
|
40
|
+
return cssText;
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// Empty resize observer
|
|
45
|
+
globalThis.ResizeObserver = class ResizeObserver {
|
|
46
|
+
observe() {
|
|
47
|
+
// do nothing
|
|
48
|
+
}
|
|
49
|
+
unobserve() {
|
|
50
|
+
// do nothing
|
|
51
|
+
}
|
|
52
|
+
disconnect() {
|
|
53
|
+
// do nothing
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
// empty showPopover & hidePopover method
|
|
57
|
+
globalThis.HTMLElement.prototype.showPopover = function () { };
|
|
58
|
+
globalThis.HTMLElement.prototype.hidePopover = function () { };
|
|
59
|
+
// ElementInternals
|
|
60
|
+
globalThis.HTMLElement.prototype.attachInternals = function () {
|
|
61
|
+
return new ElementInternals();
|
|
62
|
+
};
|
|
12
63
|
//# sourceMappingURL=ssr-dom-shim.js.map
|
package/dist/ssr-dom-shim.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-dom-shim.js","sourceRoot":"","sources":["../src/ssr-dom-shim.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ssr-dom-shim.js","sourceRoot":"","sources":["../src/ssr-dom-shim.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,UAAU,CAAC,WAAW,KAAK,WAAW,CAAC;AACvC,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC;AAC/B,UAAU,CAAC,cAAc,KAAK,cAAc,CAAC;AAE7C,MAAM,QAAQ;CAAG;AACjB,UAAU,CAAC,IAAI,KAAK,QAAiC,CAAC;AAEtD,MAAM,YAAY;CAAG;AACrB,UAAU,CAAC,QAAQ,KAAK,YAAyC,CAAC;AAElE,+BAA+B;AAE/B,8EAA8E;AAC9E,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAE,CAAC;AAEzC,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,oBAAoB,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;IACzE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE;QAC9D,GAAG;YACD,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,MAAuB;YACzB,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,oBAAoB,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;IAC7E,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,oBAAoB,EAAE;QAChE,GAAG;YACD,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,MAAuB;YACzB,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,kDAAkD;AAClD,IAAI,UAAU,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1E,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE;QAC5D,KAAK,CAAC,OAAe;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAEH,wBAAwB;AACxB,UAAU,CAAC,cAAc,GAAG,MAAM,cAAc;IAC5C,OAAO;QACL,aAAa;IACf,CAAC;IACD,SAAS;QACP,aAAa;IACf,CAAC;IACD,UAAU;QACR,aAAa;IACf,CAAC;CACJ,CAAC;AAEF,yCAAyC;AACzC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,cAAa,CAAC,CAAC;AAC9D,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,cAAa,CAAC,CAAC;AAE9D,oBAAoB;AACpB,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,GAAG;IAC/C,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAClC,CAAC,CAAA","sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { HTMLElement, Element, customElements, ElementInternals } from \"@lit-labs/ssr-dom-shim\";\n\nglobalThis.HTMLElement ??= HTMLElement;\nglobalThis.Element ??= Element;\nglobalThis.customElements ??= customElements;\n\nclass NodeShim {}\nglobalThis.Node ??= NodeShim as object as typeof Node;\n\nclass FileListShim {}\nglobalThis.FileList ??= FileListShim as object as typeof FileList;\n\n// ------- JS DOM shims -------\n\n// Polyfill `adoptedStyleSheets` globally for both `Document` and `ShadowRoot`\nconst adoptedSheetsStore = new WeakMap();\n\nif (globalThis.Document && !(\"adoptedStyleSheets\" in Document.prototype)) {\n Object.defineProperty(Document.prototype, \"adoptedStyleSheets\", {\n get() {\n return adoptedSheetsStore.get(this) || [];\n },\n set(sheets: CSSStyleSheet[]) {\n adoptedSheetsStore.set(this, sheets);\n },\n });\n}\n\nif (globalThis.ShadowRoot && !(\"adoptedStyleSheets\" in ShadowRoot.prototype)) {\n Object.defineProperty(ShadowRoot.prototype, \"adoptedStyleSheets\", {\n get() {\n return adoptedSheetsStore.get(this) || [];\n },\n set(sheets: CSSStyleSheet[]) {\n adoptedSheetsStore.set(this, sheets);\n },\n });\n}\n\n// Polyfill CSSStyleSheet to provide `replaceSync`\nif (globalThis.CSSStyleSheet && !(\"replaceSync\" in CSSStyleSheet.prototype)) {\n Object.defineProperty(CSSStyleSheet.prototype, \"replaceSync\", {\n value(cssText: string) {\n this.cssText = cssText;\n return cssText;\n },\n });\n }\n\n// Empty resize observer\nglobalThis.ResizeObserver = class ResizeObserver {\n observe() {\n // do nothing\n }\n unobserve() {\n // do nothing\n }\n disconnect() {\n // do nothing\n }\n};\n\n// empty showPopover & hidePopover method\nglobalThis.HTMLElement.prototype.showPopover = function () {};\nglobalThis.HTMLElement.prototype.hidePopover = function () {};\n\n// ElementInternals\nglobalThis.HTMLElement.prototype.attachInternals = function() {\n return new ElementInternals();\n}"]}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { getThemeProperties, getRegisteredPackages, isThemeRegistered } from "../asset-registries/Themes.js";
|
|
2
|
-
import {
|
|
2
|
+
import { createOrUpdateStyle } from "../ManagedStyles.js";
|
|
3
3
|
import getThemeDesignerTheme from "./getThemeDesignerTheme.js";
|
|
4
4
|
import { fireThemeLoaded } from "./ThemeLoaded.js";
|
|
5
|
-
import { getFeature } from "../FeaturesRegistry.js";
|
|
6
5
|
import { attachCustomThemeStylesToHead, getThemeRoot } from "../config/ThemeRoot.js";
|
|
7
6
|
import { DEFAULT_THEME } from "../generated/AssetParameters.js";
|
|
8
7
|
import { getCurrentRuntimeIndex } from "../Runtimes.js";
|
|
9
|
-
|
|
8
|
+
// eslint-disable-next-line
|
|
9
|
+
export let _lib = "ui5";
|
|
10
|
+
// eslint-disable-next-line
|
|
11
|
+
export let _package = "webcomponents-theming";
|
|
12
|
+
// eslint-disable-next-line
|
|
13
|
+
const BASE_THEME_PACKAGE = "@" + _lib + "/" + _package;
|
|
10
14
|
const isThemeBaseRegistered = () => {
|
|
11
15
|
const registeredPackages = getRegisteredPackages();
|
|
12
16
|
return registeredPackages.has(BASE_THEME_PACKAGE);
|
|
@@ -20,9 +24,6 @@ const loadThemeBase = async (theme) => {
|
|
|
20
24
|
createOrUpdateStyle(cssData, "data-ui5-theme-properties", BASE_THEME_PACKAGE, theme);
|
|
21
25
|
}
|
|
22
26
|
};
|
|
23
|
-
const deleteThemeBase = () => {
|
|
24
|
-
removeStyle("data-ui5-theme-properties", BASE_THEME_PACKAGE);
|
|
25
|
-
};
|
|
26
27
|
const loadComponentPackages = async (theme, externalThemeName) => {
|
|
27
28
|
const registeredPackages = getRegisteredPackages();
|
|
28
29
|
const packagesStylesPromises = [...registeredPackages].map(async (packageName) => {
|
|
@@ -37,39 +38,29 @@ const loadComponentPackages = async (theme, externalThemeName) => {
|
|
|
37
38
|
return Promise.all(packagesStylesPromises);
|
|
38
39
|
};
|
|
39
40
|
const detectExternalTheme = async (theme) => {
|
|
41
|
+
if (getThemeRoot()) {
|
|
42
|
+
await attachCustomThemeStylesToHead(theme);
|
|
43
|
+
}
|
|
40
44
|
// If theme designer theme is detected, use this
|
|
41
45
|
const extTheme = getThemeDesignerTheme();
|
|
42
46
|
if (extTheme) {
|
|
43
47
|
return extTheme;
|
|
44
48
|
}
|
|
45
|
-
// If OpenUI5Support is enabled, try to find out if it loaded variables
|
|
46
|
-
const openUI5Support = getFeature("OpenUI5Support");
|
|
47
|
-
if (openUI5Support && openUI5Support.isOpenUI5Detected()) {
|
|
48
|
-
const varsLoaded = openUI5Support.cssVariablesLoaded();
|
|
49
|
-
if (varsLoaded) {
|
|
50
|
-
return {
|
|
51
|
-
themeName: openUI5Support.getConfigurationSettingsObject()?.theme, // just themeName
|
|
52
|
-
baseThemeName: "", // baseThemeName is only relevant for custom themes
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else if (getThemeRoot()) {
|
|
57
|
-
await attachCustomThemeStylesToHead(theme);
|
|
58
|
-
return getThemeDesignerTheme();
|
|
59
|
-
}
|
|
60
49
|
};
|
|
61
50
|
const applyTheme = async (theme) => {
|
|
51
|
+
// Detect external theme if available (e.g., from theme designer or custom theme root)
|
|
62
52
|
const extTheme = await detectExternalTheme(theme);
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
else {
|
|
68
|
-
deleteThemeBase();
|
|
69
|
-
}
|
|
70
|
-
// Always load component packages properties. For non-registered themes, try with the base theme, if any
|
|
53
|
+
// Determine which theme to use for component packages:
|
|
54
|
+
// 1. If the requested theme is registered, use it directly
|
|
55
|
+
// 2. If external theme exists, use its base theme (e.g., "my_custom_theme" extends "sap_fiori_3")
|
|
56
|
+
// 3. Otherwise, fallback to the default theme
|
|
71
57
|
const packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;
|
|
72
|
-
|
|
58
|
+
const effectiveTheme = packagesTheme || DEFAULT_THEME;
|
|
59
|
+
// Load base theme properties
|
|
60
|
+
await loadThemeBase(effectiveTheme);
|
|
61
|
+
// Load component-specific theme properties
|
|
62
|
+
// Pass external theme name only if it matches the requested theme to avoid conflicts
|
|
63
|
+
await loadComponentPackages(effectiveTheme, extTheme && extTheme.themeName === theme ? theme : undefined);
|
|
73
64
|
fireThemeLoaded(theme);
|
|
74
65
|
};
|
|
75
66
|
export default applyTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyTheme.js","sourceRoot":"","sources":["../../src/theming/applyTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC7G,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"applyTheme.js","sourceRoot":"","sources":["../../src/theming/applyTheme.ts"],"names":[],"mappings":"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","sourcesContent":["import { getThemeProperties, getRegisteredPackages, isThemeRegistered } from \"../asset-registries/Themes.js\";\nimport { createOrUpdateStyle } from \"../ManagedStyles.js\";\nimport getThemeDesignerTheme from \"./getThemeDesignerTheme.js\";\nimport { fireThemeLoaded } from \"./ThemeLoaded.js\";\nimport { attachCustomThemeStylesToHead, getThemeRoot } from \"../config/ThemeRoot.js\";\nimport { DEFAULT_THEME } from \"../generated/AssetParameters.js\";\nimport { getCurrentRuntimeIndex } from \"../Runtimes.js\";\n\n// eslint-disable-next-line\nexport let _lib = \"ui5\";\n// eslint-disable-next-line\nexport let _package = \"webcomponents-theming\";\n// eslint-disable-next-line\nconst BASE_THEME_PACKAGE = \"@\" + _lib + \"/\" + _package;\n\nconst isThemeBaseRegistered = () => {\n\tconst registeredPackages = getRegisteredPackages();\n\treturn registeredPackages.has(BASE_THEME_PACKAGE);\n};\n\nconst loadThemeBase = async (theme: string) => {\n\tif (!isThemeBaseRegistered()) {\n\t\treturn;\n\t}\n\n\tconst cssData = await getThemeProperties(BASE_THEME_PACKAGE, theme);\n\tif (cssData) {\n\t\tcreateOrUpdateStyle(cssData, \"data-ui5-theme-properties\", BASE_THEME_PACKAGE, theme);\n\t}\n};\n\nconst loadComponentPackages = async (theme: string, externalThemeName?: string) => {\n\tconst registeredPackages = getRegisteredPackages();\n\n\tconst packagesStylesPromises = [...registeredPackages].map(async packageName => {\n\t\tif (packageName === BASE_THEME_PACKAGE) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst cssData = await getThemeProperties(packageName, theme, externalThemeName);\n\t\tif (cssData) {\n\t\t\tcreateOrUpdateStyle(cssData, `data-ui5-component-properties-${getCurrentRuntimeIndex()}`, packageName);\n\t\t}\n\t});\n\n\treturn Promise.all(packagesStylesPromises);\n};\n\nconst detectExternalTheme = async (theme: string) => {\n\tif (getThemeRoot()) {\n\t\tawait attachCustomThemeStylesToHead(theme);\n\t}\n\n\t// If theme designer theme is detected, use this\n\tconst extTheme = getThemeDesignerTheme();\n\tif (extTheme) {\n\t\treturn extTheme;\n\t}\n};\n\nconst applyTheme = async (theme: string) => {\n\t// Detect external theme if available (e.g., from theme designer or custom theme root)\n\tconst extTheme = await detectExternalTheme(theme);\n\n\t// Determine which theme to use for component packages:\n\t// 1. If the requested theme is registered, use it directly\n\t// 2. If external theme exists, use its base theme (e.g., \"my_custom_theme\" extends \"sap_fiori_3\")\n\t// 3. Otherwise, fallback to the default theme\n\tconst packagesTheme = isThemeRegistered(theme) ? theme : extTheme && extTheme.baseThemeName;\n\tconst effectiveTheme = packagesTheme || DEFAULT_THEME;\n\n\t// Load base theme properties\n\tawait loadThemeBase(effectiveTheme);\n\n\t// Load component-specific theme properties\n\t// Pass external theme name only if it matches the requested theme to avoid conflicts\n\tawait loadComponentPackages(effectiveTheme, extTheme && extTheme.themeName === theme ? theme : undefined);\n\n\tfireThemeLoaded(theme);\n};\n\nexport default applyTheme;\n"]}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
const MAX_DEPTH_INHERITED_CLASSES = 10; // TypeScript complains about Infinity and big numbers
|
|
2
2
|
const getStylesString = (styles) => {
|
|
3
3
|
if (Array.isArray(styles)) {
|
|
4
|
-
return styles.filter(style => !!style).flat(MAX_DEPTH_INHERITED_CLASSES).
|
|
5
|
-
return typeof style === "string" ? style : style.content;
|
|
6
|
-
}).join(" ");
|
|
4
|
+
return styles.filter(style => !!style).flat(MAX_DEPTH_INHERITED_CLASSES).join(" ");
|
|
7
5
|
}
|
|
8
|
-
return
|
|
6
|
+
return styles;
|
|
9
7
|
};
|
|
10
8
|
export default getStylesString;
|
|
11
9
|
//# sourceMappingURL=getStylesString.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStylesString.js","sourceRoot":"","sources":["../../src/theming/getStylesString.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG,EAAE,CAAC,CAAC,sDAAsD;AAE9F,MAAM,eAAe,GAAG,CAAC,MAA2B,EAAE,EAAE;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"getStylesString.js","sourceRoot":"","sources":["../../src/theming/getStylesString.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG,EAAE,CAAC,CAAC,sDAAsD;AAE9F,MAAM,eAAe,GAAG,CAAC,MAA2B,EAAE,EAAE;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvG,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import type { ComponentStylesData } from \"../types.js\";\n\nconst MAX_DEPTH_INHERITED_CLASSES = 10; // TypeScript complains about Infinity and big numbers\n\nconst getStylesString = (styles: ComponentStylesData) => {\n\tif (Array.isArray(styles)) {\n\t\treturn (styles.filter(style => !!style).flat(MAX_DEPTH_INHERITED_CLASSES) as Array<string>).join(\" \");\n\t}\n\n\treturn styles;\n};\n\nexport default getStylesString;\n"]}
|
|
@@ -51,7 +51,8 @@ const processThemeMetadata = (metadata) => {
|
|
|
51
51
|
let themeName;
|
|
52
52
|
let baseThemeName;
|
|
53
53
|
try {
|
|
54
|
-
|
|
54
|
+
const pathParts = metadata.Path.split(".");
|
|
55
|
+
themeName = pathParts.length === 4 ? pathParts[2] : getComputedStyle(document.body).getPropertyValue("--sapSapThemeId");
|
|
55
56
|
baseThemeName = metadata.Extends[0];
|
|
56
57
|
}
|
|
57
58
|
catch (ex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getThemeDesignerTheme.js","sourceRoot":"","sources":["../../src/theming/getThemeDesignerTheme.ts"],"names":[],"mappings":"AAUA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;AAEnC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC7B,qGAAqG;IACrG,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,gCAAgC,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;IACjI,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;IAC7C,CAAC;IAED,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,EAAsB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAE/C,+CAA+C;IAC/C,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;IAEpD,wFAAwF;IACxF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACrD,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE9B,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,cAAsB,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,8CAA8C,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5F,IAAI,CAAC;gBACJ,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC,sBAAsB;oBACrG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO;YACR,CAAC;QACF,CAAC;QACD,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAkB,CAAC;QAClD,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC,sBAAsB;gBAC7F,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,QAAuB,EAA+B,EAAE;IACrF,IAAI,SAAS,CAAC;IACd,IAAI,aAAa,CAAC;IAElB,IAAI,CAAC;QACJ,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"getThemeDesignerTheme.js","sourceRoot":"","sources":["../../src/theming/getThemeDesignerTheme.ts"],"names":[],"mappings":"AAUA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;AAEnC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC7B,qGAAqG;IACrG,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,gCAAgC,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;IACjI,IAAI,EAAE,EAAE,CAAC;QACR,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;IAC7C,CAAC;IAED,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,EAAsB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAE/C,+CAA+C;IAC/C,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;IAEpD,wFAAwF;IACxF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACrD,QAAQ,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE9B,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,cAAsB,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,8CAA8C,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5F,IAAI,CAAC;gBACJ,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC,sBAAsB;oBACrG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO;YACR,CAAC;QACF,CAAC;QACD,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAkB,CAAC;QAClD,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC,sBAAsB;gBAC7F,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,QAAuB,EAA+B,EAAE;IACrF,IAAI,SAAS,CAAC;IACd,IAAI,aAAa,CAAC;IAElB,IAAI,CAAC;QACJ,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,SAAS,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACxH,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB;YACjF,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QACD,OAAO;IACR,CAAC;IAED,OAAO;QACN,SAAS;QACT,aAAa;KACb,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAgC,EAAE;IAC/D,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAC1C,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAClD,OAAO;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAEpD,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC","sourcesContent":["type ThemeDescriptor = {\n\tthemeName: string,\n\tbaseThemeName?: string,\n};\n\ntype ThemeMetadata = {\n\tPath: string,\n\tExtends: Array<string>,\n};\n\nconst warnings = new Set<string>();\n\nconst getThemeMetadata = () => {\n\t// Check if the class was already applied, most commonly to the link/style tag with the CSS Variables\n\tlet el = document.querySelector(\".sapThemeMetaData-Base-baseLib\") || document.querySelector(\".sapThemeMetaData-UI5-sap-ui-core\");\n\tif (el) {\n\t\treturn getComputedStyle(el).backgroundImage;\n\t}\n\n\tel = document.createElement(\"span\");\n\t(el as HTMLSpanElement).style.display = \"none\";\n\n\t// Try with sapThemeMetaData-Base-baseLib first\n\tel.classList.add(\"sapThemeMetaData-Base-baseLib\");\n\tdocument.body.appendChild(el);\n\tlet metadata = getComputedStyle(el).backgroundImage;\n\n\t// Try with sapThemeMetaData-UI5-sap-ui-core only if the previous selector was not found\n\tif (metadata === \"none\") {\n\t\tel.classList.add(\"sapThemeMetaData-UI5-sap-ui-core\");\n\t\tmetadata = getComputedStyle(el).backgroundImage;\n\t}\n\n\tdocument.body.removeChild(el);\n\n\treturn metadata;\n};\n\nconst parseThemeMetadata = (metadataString: string) => {\n\tconst params = /\\([\"']?data:text\\/plain;utf-8,(.*?)['\"]?\\)$/i.exec(metadataString);\n\tif (params && params.length >= 2) {\n\t\tlet paramsString = params[1];\n\t\tparamsString = paramsString.replace(/\\\\\"/g, `\"`);\n\t\tif (paramsString.charAt(0) !== \"{\" && paramsString.charAt(paramsString.length - 1) !== \"}\") {\n\t\t\ttry {\n\t\t\t\tparamsString = decodeURIComponent(paramsString);\n\t\t\t} catch (ex) {\n\t\t\t\tif (!warnings.has(\"decode\")) {\n\t\t\t\t\tconsole.warn(\"Malformed theme metadata string, unable to decodeURIComponent\"); // eslint-disable-line\n\t\t\t\t\twarnings.add(\"decode\");\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\ttry {\n\t\t\treturn JSON.parse(paramsString) as ThemeMetadata;\n\t\t} catch (ex) {\n\t\t\tif (!warnings.has(\"parse\")) {\n\t\t\t\tconsole.warn(\"Malformed theme metadata string, unable to parse JSON\"); // eslint-disable-line\n\t\t\t\twarnings.add(\"parse\");\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst processThemeMetadata = (metadata: ThemeMetadata): ThemeDescriptor | undefined => {\n\tlet themeName;\n\tlet baseThemeName;\n\n\ttry {\n\t\tconst pathParts = metadata.Path.split(\".\");\n\t\tthemeName = pathParts.length === 4 ? pathParts[2] : getComputedStyle(document.body).getPropertyValue(\"--sapSapThemeId\");\n\t\tbaseThemeName = metadata.Extends[0];\n\t} catch (ex) {\n\t\tif (!warnings.has(\"object\")) {\n\t\t\tconsole.warn(\"Malformed theme metadata Object\", metadata); // eslint-disable-line\n\t\t\twarnings.add(\"object\");\n\t\t}\n\t\treturn;\n\t}\n\n\treturn {\n\t\tthemeName,\n\t\tbaseThemeName,\n\t};\n};\n\nconst getThemeDesignerTheme = (): ThemeDescriptor | undefined => {\n\tconst metadataString = getThemeMetadata();\n\tif (!metadataString || metadataString === \"none\") {\n\t\treturn;\n\t}\n\n\tconst metadata = parseThemeMetadata(metadataString);\n\n\tif (metadata) {\n\t\treturn processThemeMetadata(metadata);\n\t}\n};\n\nexport default getThemeDesignerTheme;\nexport type { ThemeDescriptor };\n"]}
|