@ui5/webcomponents-base 0.0.0-306572ffa → 0.0.0-3236d56be
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +3 -0
- package/CHANGELOG.md +308 -0
- package/README.md +26 -2
- package/bundle.esm.js +13 -11
- package/dist/AssetRegistry.js +8 -7
- package/dist/Boot.js +59 -0
- package/dist/CSP.js +59 -0
- package/dist/CustomElementsRegistry.js +60 -4
- package/dist/CustomElementsScope.js +20 -98
- package/dist/CustomElementsScopeUtils.js +108 -0
- package/dist/DOMObserver.js +65 -0
- package/dist/Device.js +71 -773
- package/dist/EventProvider.js +30 -26
- package/dist/FeaturesRegistry.js +4 -1
- package/dist/FontFace.js +19 -62
- package/dist/InitialConfiguration.js +43 -8
- package/dist/Keys.js +107 -0
- package/dist/ManagedStyles.js +83 -0
- package/dist/MediaRange.js +109 -0
- package/{src/util/parseProperties.js → dist/PropertiesFileFormat.js} +6 -0
- package/dist/Render.js +175 -0
- package/dist/RenderScheduler.js +16 -138
- package/dist/Runtimes.js +107 -0
- package/dist/StaticArea.js +1 -29
- package/dist/StaticAreaItem.js +58 -65
- package/dist/SystemCSSVars.js +4 -25
- package/dist/Theming.js +2 -1
- package/dist/UI5Element.js +319 -364
- package/dist/UI5ElementMetadata.js +132 -17
- package/dist/asset-registries/Icons.js +117 -13
- package/dist/asset-registries/Illustrations.js +30 -0
- package/dist/asset-registries/LocaleData.js +105 -66
- package/dist/asset-registries/Themes.js +23 -32
- package/dist/asset-registries/i18n.js +62 -48
- package/dist/assets-meta/IconCollectionsAlias.js +18 -0
- package/dist/config/Icons.js +52 -0
- package/dist/config/Language.js +33 -6
- package/dist/config/Theme.js +25 -0
- package/dist/css/BusyIndicator.css +76 -0
- package/dist/css/FontFace.css +75 -0
- package/dist/css/OverrideFontFace.css +32 -0
- package/dist/css/SystemCSSVars.css +17 -0
- package/dist/delegate/ItemNavigation.js +239 -170
- package/dist/delegate/ResizeHandler.js +78 -37
- package/dist/delegate/ScrollEnablement.js +49 -20
- package/dist/features/F6Navigation.js +108 -0
- package/dist/features/OpenUI5Enablement.js +119 -0
- package/dist/features/OpenUI5Support.js +41 -6
- package/dist/generated/AssetParameters.js +1 -1
- package/dist/generated/VersionInfo.js +10 -0
- package/dist/generated/css/BusyIndicator.css.js +5 -0
- package/dist/generated/css/FontFace.css.js +5 -0
- package/dist/generated/css/OverrideFontFace.css.js +5 -0
- package/dist/generated/css/SystemCSSVars.css.js +5 -0
- package/dist/i18nBundle.js +38 -4
- package/dist/isLegacyBrowser.js +3 -0
- package/dist/locale/applyDirection.js +6 -4
- package/dist/locale/directionChange.js +32 -0
- package/dist/locale/getEffectiveDir.js +28 -0
- package/dist/locale/getLocale.js +12 -2
- package/dist/locale/languageChange.js +1 -1
- package/dist/renderer/LitRenderer.js +39 -18
- package/dist/renderer/directives/style-map.js +72 -0
- package/dist/renderer/executeTemplate.js +19 -2
- package/dist/resources/bundle.esm.js +15 -112
- package/dist/resources/bundle.esm.js.map +1 -1
- package/dist/sap/base/Log.js +241 -0
- package/dist/sap/base/assert.js +8 -0
- package/dist/sap/base/security/URLListValidator.js +148 -0
- package/dist/sap/base/security/encodeCSS.js +14 -0
- package/dist/sap/base/security/encodeXML.js +23 -0
- package/dist/sap/base/security/sanitizeHTML.js +16 -0
- package/dist/sap/base/strings/toHex.js +8 -0
- package/dist/sap/base/util/now.js +7 -0
- package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +3585 -0
- package/dist/test-resources/assets/Themes.js +8 -8
- package/dist/test-resources/elements/Parent.js +6 -2
- package/dist/test-resources/elements/WithStaticArea.js +2 -1
- package/dist/test-resources/pages/AllTestElements.html +3 -3
- package/dist/test-resources/pages/Configuration.html +0 -2
- package/dist/test-resources/pages/ConfigurationScript.html +0 -2
- package/dist/test-resources/pages/i18n.html +2 -9
- package/dist/test-resources/specs/ConfigurationChange.spec.js +10 -8
- package/dist/test-resources/specs/ConfigurationScript.spec.js +25 -23
- package/dist/test-resources/specs/ConfigurationURL.spec.js +65 -17
- package/dist/test-resources/specs/CustomTheme.spec.js +9 -7
- package/dist/test-resources/specs/EventProvider.spec.js +63 -0
- package/dist/test-resources/specs/StaticArea.spec.js +56 -12
- package/dist/test-resources/specs/Theming.spec.js +12 -10
- package/dist/test-resources/specs/UI5ElementInvalidation.js +54 -70
- package/dist/test-resources/specs/UI5ElementLifecycle.js +17 -15
- package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +25 -51
- package/dist/test-resources/specs/UI5ElementMetadataExt.js +9 -7
- package/dist/test-resources/specs/UI5ElementPropertyValidation.js +7 -5
- package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +37 -35
- package/dist/test-resources/specs/UI5ElementShadowDOM.js +10 -8
- package/dist/test-resources/specs/UI5ElementSlots.js +10 -8
- package/dist/theming/CustomStyle.js +25 -5
- package/dist/theming/ThemeLoaded.js +22 -0
- package/dist/theming/applyTheme.js +13 -15
- package/dist/theming/getConstructableStyle.js +7 -6
- package/dist/theming/getEffectiveLinksHrefs.js +27 -0
- package/dist/theming/getEffectiveStyle.js +24 -8
- package/dist/theming/getStylesString.js +4 -2
- package/dist/theming/getThemeDesignerTheme.js +25 -5
- package/dist/theming/preloadLinks.js +23 -0
- package/dist/types/CSSColor.js +9 -0
- package/dist/types/CalendarType.js +1 -1
- package/dist/types/DataType.js +13 -1
- package/dist/types/Float.js +4 -0
- package/dist/types/Integer.js +4 -0
- package/dist/types/InvisibleMessageMode.js +30 -0
- package/dist/types/ItemNavigationBehavior.js +2 -7
- package/dist/types/PopupState.js +1 -1
- package/dist/types/ValueState.js +1 -1
- package/dist/updateShadowRoot.js +30 -0
- package/dist/util/AriaLabelHelper.js +41 -0
- package/dist/util/Caret.js +45 -0
- package/dist/util/ColorConversion.js +370 -0
- package/dist/util/FocusableElements.js +22 -9
- package/dist/util/HTMLSanitizer.js +7 -0
- package/dist/util/InvisibleMessage.js +60 -0
- package/dist/util/PopupUtils.js +93 -0
- package/dist/util/SlotsHelper.js +43 -0
- package/dist/util/TabbableElements.js +5 -1
- package/dist/util/arraysAreEqual.js +15 -0
- package/dist/util/clamp.js +12 -0
- package/dist/util/createLinkInHead.js +19 -0
- package/dist/util/debounce.js +17 -0
- package/dist/util/escapeRegex.js +10 -0
- package/dist/util/generateHighlightedMarkup.js +42 -0
- package/dist/util/getActiveElement.js +11 -0
- package/dist/util/getClassCopy.js +10 -0
- package/dist/util/getEffectiveContentDensity.js +5 -0
- package/dist/util/getNormalizedTarget.js +16 -0
- package/dist/util/isElementInView.js +15 -0
- package/dist/util/isNodeHidden.js +1 -1
- package/dist/util/isNodeTabbable.js +4 -4
- package/dist/util/isValidPropertyName.js +4 -2
- package/index.js +1 -1
- package/lib/generate-asset-parameters/index.js +8 -5
- package/lib/generate-styles/index.js +26 -0
- package/lib/generate-version-info/index.js +32 -0
- package/package-scripts.js +30 -19
- package/package.json +19 -13
- package/src/AssetRegistry.js +8 -7
- package/src/Boot.js +59 -0
- package/src/CSP.js +59 -0
- package/src/CustomElementsRegistry.js +60 -4
- package/src/CustomElementsScope.js +20 -98
- package/src/CustomElementsScopeUtils.js +108 -0
- package/src/DOMObserver.js +65 -0
- package/src/Device.js +71 -773
- package/src/EventProvider.js +30 -26
- package/src/FeaturesRegistry.js +4 -1
- package/src/FontFace.js +19 -62
- package/src/InitialConfiguration.js +43 -8
- package/src/Keys.js +107 -0
- package/src/ManagedStyles.js +83 -0
- package/src/MediaRange.js +109 -0
- package/{dist/util/parseProperties.js → src/PropertiesFileFormat.js} +6 -0
- package/src/Render.js +175 -0
- package/src/RenderScheduler.js +16 -138
- package/src/Runtimes.js +107 -0
- package/src/StaticArea.js +1 -29
- package/src/StaticAreaItem.js +58 -65
- package/src/SystemCSSVars.js +4 -25
- package/src/Theming.js +2 -1
- package/src/UI5Element.js +319 -364
- package/src/UI5ElementMetadata.js +132 -17
- package/src/asset-registries/Icons.js +117 -13
- package/src/asset-registries/Illustrations.js +30 -0
- package/src/asset-registries/LocaleData.js +105 -66
- package/src/asset-registries/Themes.js +23 -32
- package/src/asset-registries/i18n.js +62 -48
- package/src/assets-meta/IconCollectionsAlias.js +18 -0
- package/src/config/Icons.js +52 -0
- package/src/config/Language.js +33 -6
- package/src/config/Theme.js +25 -0
- package/src/css/BusyIndicator.css +76 -0
- package/src/css/FontFace.css +75 -0
- package/src/css/OverrideFontFace.css +32 -0
- package/src/css/SystemCSSVars.css +17 -0
- package/src/delegate/ItemNavigation.js +239 -170
- package/src/delegate/ResizeHandler.js +78 -37
- package/src/delegate/ScrollEnablement.js +49 -20
- package/src/features/F6Navigation.js +108 -0
- package/src/features/OpenUI5Enablement.js +119 -0
- package/src/features/OpenUI5Support.js +41 -6
- package/src/i18nBundle.js +38 -4
- package/src/isLegacyBrowser.js +3 -0
- package/src/locale/applyDirection.js +6 -4
- package/src/locale/directionChange.js +32 -0
- package/src/locale/getEffectiveDir.js +28 -0
- package/src/locale/getLocale.js +12 -2
- package/src/locale/languageChange.js +1 -1
- package/src/renderer/LitRenderer.js +39 -18
- package/src/renderer/directives/style-map.js +72 -0
- package/src/renderer/executeTemplate.js +19 -2
- package/src/theming/CustomStyle.js +25 -5
- package/src/theming/ThemeLoaded.js +22 -0
- package/src/theming/applyTheme.js +13 -15
- package/src/theming/getConstructableStyle.js +7 -6
- package/src/theming/getEffectiveLinksHrefs.js +27 -0
- package/src/theming/getEffectiveStyle.js +24 -8
- package/src/theming/getStylesString.js +4 -2
- package/src/theming/getThemeDesignerTheme.js +25 -5
- package/src/theming/preloadLinks.js +23 -0
- package/src/types/CSSColor.js +9 -0
- package/src/types/CalendarType.js +1 -1
- package/src/types/DataType.js +13 -1
- package/src/types/Float.js +4 -0
- package/src/types/Integer.js +4 -0
- package/src/types/InvisibleMessageMode.js +30 -0
- package/src/types/ItemNavigationBehavior.js +2 -7
- package/src/types/PopupState.js +1 -1
- package/src/types/ValueState.js +1 -1
- package/src/updateShadowRoot.js +30 -0
- package/src/util/AriaLabelHelper.js +41 -0
- package/src/util/Caret.js +45 -0
- package/src/util/ColorConversion.js +370 -0
- package/src/util/FocusableElements.js +22 -9
- package/src/util/HTMLSanitizer.js +7 -0
- package/src/util/InvisibleMessage.js +60 -0
- package/src/util/PopupUtils.js +93 -0
- package/src/util/SlotsHelper.js +43 -0
- package/src/util/TabbableElements.js +5 -1
- package/src/util/arraysAreEqual.js +15 -0
- package/src/util/clamp.js +12 -0
- package/src/util/createLinkInHead.js +19 -0
- package/src/util/debounce.js +17 -0
- package/src/util/escapeRegex.js +10 -0
- package/src/util/generateHighlightedMarkup.js +42 -0
- package/src/util/getActiveElement.js +11 -0
- package/src/util/getClassCopy.js +10 -0
- package/src/util/getEffectiveContentDensity.js +5 -0
- package/src/util/getNormalizedTarget.js +16 -0
- package/src/util/isElementInView.js +15 -0
- package/src/util/isNodeHidden.js +1 -1
- package/src/util/isNodeTabbable.js +4 -4
- package/src/util/isValidPropertyName.js +4 -2
- package/used-modules.txt +10 -0
- package/bundle.es5.js +0 -28
- package/dist/SVGIconRegistry.js +0 -62
- package/dist/boot.js +0 -34
- package/dist/compatibility/DOMObserver.js +0 -62
- package/dist/compatibility/patchNodeValue.js +0 -24
- package/dist/compatibility/whenPolyfillLoaded.js +0 -26
- package/dist/delegate/CustomResize.js +0 -78
- package/dist/delegate/NativeResize.js +0 -44
- package/dist/features/PropertiesFormatSupport.js +0 -8
- 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/renderer/scopeHTML.js +0 -32
- package/dist/resources/bundle.es5.js +0 -212
- package/dist/resources/bundle.es5.js.map +0 -1
- package/dist/theming/CSSVarsPonyfill.js +0 -24
- package/dist/theming/adaptCSSForIE.js +0 -95
- package/dist/theming/createComponentStyleTag.js +0 -55
- 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/util/getEffectiveAriaLabelText.js +0 -28
- package/dist/util/isSlot.js +0 -3
- 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/src/SVGIconRegistry.js +0 -62
- package/src/boot.js +0 -34
- package/src/compatibility/DOMObserver.js +0 -62
- package/src/compatibility/patchNodeValue.js +0 -24
- package/src/compatibility/whenPolyfillLoaded.js +0 -26
- package/src/delegate/CustomResize.js +0 -78
- package/src/delegate/NativeResize.js +0 -44
- package/src/features/PropertiesFormatSupport.js +0 -8
- 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/renderer/ifDefined.js +0 -21
- package/src/renderer/scopeHTML.js +0 -32
- package/src/theming/CSSVarsPonyfill.js +0 -24
- package/src/theming/adaptCSSForIE.js +0 -95
- package/src/theming/createComponentStyleTag.js +0 -55
- package/src/theming/createThemePropertiesStyleTag.js +0 -20
- 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/es6-string-methods.js +0 -182
- package/src/thirdparty/events-polyfills.js +0 -89
- package/src/thirdparty/fetch.js +0 -1
- package/src/thirdparty/template.js +0 -600
- package/src/thirdparty/webcomponents-sd-ce-pf.js +0 -318
- package/src/util/getEffectiveAriaLabelText.js +0 -28
- package/src/util/isSlot.js +0 -3
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import getSharedResource from "../getSharedResource.js";
|
|
2
|
+
import { getFeature } from "../FeaturesRegistry.js";
|
|
3
|
+
import getActiveElement from "./getActiveElement.js";
|
|
4
|
+
|
|
5
|
+
const PopupUtilsData = getSharedResource("PopupUtilsData", {});
|
|
6
|
+
PopupUtilsData.currentZIndex = PopupUtilsData.currentZIndex || 100;
|
|
7
|
+
|
|
8
|
+
const getFocusedElement = () => {
|
|
9
|
+
const element = getActiveElement();
|
|
10
|
+
return (element && typeof element.focus === "function") ? element : null;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const isFocusedElementWithinNode = node => {
|
|
14
|
+
const fe = getFocusedElement();
|
|
15
|
+
|
|
16
|
+
if (fe) {
|
|
17
|
+
return isNodeContainedWithin(node, fe);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return false;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const isNodeContainedWithin = (parent, child) => {
|
|
24
|
+
let currentNode = parent;
|
|
25
|
+
|
|
26
|
+
if (currentNode.shadowRoot) {
|
|
27
|
+
currentNode = Array.from(currentNode.shadowRoot.children).find(n => n.localName !== "style");
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (currentNode === child) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const childNodes = currentNode.localName === "slot" ? currentNode.assignedNodes() : currentNode.children;
|
|
35
|
+
|
|
36
|
+
if (childNodes) {
|
|
37
|
+
return Array.from(childNodes).some(n => isNodeContainedWithin(n, child));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const isPointInRect = (x, y, rect) => {
|
|
42
|
+
return x >= rect.left && x <= rect.right
|
|
43
|
+
&& y >= rect.top && y <= rect.bottom;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const isClickInRect = (event, rect) => {
|
|
47
|
+
let x;
|
|
48
|
+
let y;
|
|
49
|
+
|
|
50
|
+
if (event.touches) {
|
|
51
|
+
const touch = event.touches[0];
|
|
52
|
+
x = touch.clientX;
|
|
53
|
+
y = touch.clientY;
|
|
54
|
+
} else {
|
|
55
|
+
x = event.clientX;
|
|
56
|
+
y = event.clientY;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return isPointInRect(x, y, rect);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const getClosedPopupParent = el => {
|
|
63
|
+
const parent = el.parentElement || (el.getRootNode && el.getRootNode().host);
|
|
64
|
+
|
|
65
|
+
if (parent && ((parent.showAt && parent.isUI5Element) || (parent.open && parent.isUI5Element) || parent === document.documentElement)) {
|
|
66
|
+
return parent;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return getClosedPopupParent(parent);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const getNextZIndex = () => {
|
|
73
|
+
const OpenUI5Support = getFeature("OpenUI5Support");
|
|
74
|
+
if (OpenUI5Support && OpenUI5Support.isLoaded()) { // use OpenUI5 for getting z-index values, if loaded
|
|
75
|
+
return OpenUI5Support.getNextZIndex();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
PopupUtilsData.currentZIndex += 2;
|
|
79
|
+
return PopupUtilsData.currentZIndex;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const getCurrentZIndex = () => {
|
|
83
|
+
return PopupUtilsData.currentZIndex;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
getFocusedElement,
|
|
88
|
+
isClickInRect,
|
|
89
|
+
getClosedPopupParent,
|
|
90
|
+
getNextZIndex,
|
|
91
|
+
getCurrentZIndex,
|
|
92
|
+
isFocusedElementWithinNode,
|
|
93
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines the slot to which a node should be assigned
|
|
3
|
+
* @param node Text node or HTML element
|
|
4
|
+
* @returns {string}
|
|
5
|
+
*/
|
|
6
|
+
const getSlotName = node => {
|
|
7
|
+
// Text nodes can only go to the default slot
|
|
8
|
+
if (!(node instanceof HTMLElement)) {
|
|
9
|
+
return "default";
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// Discover the slot based on the real slot name (f.e. footer => footer, or content-32 => content)
|
|
13
|
+
const slot = node.getAttribute("slot");
|
|
14
|
+
if (slot) {
|
|
15
|
+
const match = slot.match(/^(.+?)-\d+$/);
|
|
16
|
+
return match ? match[1] : slot;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Use default slot as a fallback
|
|
20
|
+
return "default";
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const isSlot = el => el && el instanceof HTMLElement && el.localName === "slot";
|
|
24
|
+
|
|
25
|
+
const getSlottedElements = el => {
|
|
26
|
+
if (isSlot(el)) {
|
|
27
|
+
return el.assignedNodes({ flatten: true }).filter(item => item instanceof HTMLElement);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return [el];
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const getSlottedElementsList = elList => {
|
|
34
|
+
const reducer = (acc, curr) => acc.concat(getSlottedElements(curr));
|
|
35
|
+
return elList.reduce(reducer, []);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
getSlotName,
|
|
40
|
+
isSlot,
|
|
41
|
+
getSlottedElements,
|
|
42
|
+
getSlottedElementsList,
|
|
43
|
+
};
|
|
@@ -17,7 +17,7 @@ const getTabbables = (nodes, tabbables) => {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
Array.from(nodes).forEach(currentNode => {
|
|
20
|
-
if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE) {
|
|
20
|
+
if (currentNode.nodeType === Node.TEXT_NODE || currentNode.nodeType === Node.COMMENT_NODE || currentNode.hasAttribute("data-sap-no-tab-ref")) {
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
|
|
@@ -27,6 +27,10 @@ const getTabbables = (nodes, tabbables) => {
|
|
|
27
27
|
currentNode = Array.from(children).find(node => node.tagName !== "STYLE");
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
if (!currentNode) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
30
34
|
if (isNodeTabbable(currentNode)) {
|
|
31
35
|
tabbablesNodes.push(currentNode);
|
|
32
36
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const arraysAreEqual = (arr1, arr2) => {
|
|
2
|
+
if (arr1.length !== arr2.length) {
|
|
3
|
+
return false;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
7
|
+
if (arr1[i] !== arr2[i]) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return true;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default arraysAreEqual;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a value clamped between an upper bound 'max' and lower bound 'min'.
|
|
3
|
+
* @param {number} val value
|
|
4
|
+
* @param {number} min lower bound
|
|
5
|
+
* @param {number} max upper bound
|
|
6
|
+
* @returns {number}
|
|
7
|
+
*/
|
|
8
|
+
const clamp = (val, min, max) => {
|
|
9
|
+
return Math.min(Math.max(val, min), max);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default clamp;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a <link> tag in the <head> tag
|
|
3
|
+
* @param href - the CSS
|
|
4
|
+
* @param attributes - optional attributes to add to the tag
|
|
5
|
+
* @returns {HTMLElement}
|
|
6
|
+
*/
|
|
7
|
+
const createLinkInHead = (href, attributes = {}) => {
|
|
8
|
+
const link = document.createElement("link");
|
|
9
|
+
link.type = "text/css";
|
|
10
|
+
link.rel = "stylesheet";
|
|
11
|
+
|
|
12
|
+
Object.entries(attributes).forEach(pair => link.setAttribute(...pair));
|
|
13
|
+
|
|
14
|
+
link.href = href;
|
|
15
|
+
document.head.appendChild(link);
|
|
16
|
+
return link;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default createLinkInHead;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delays function execution by given threshold.
|
|
3
|
+
* @param fn {Function}
|
|
4
|
+
* @param delay {Integer}
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
let debounceInterval = null;
|
|
8
|
+
|
|
9
|
+
const debounce = (fn, delay) => {
|
|
10
|
+
clearTimeout(debounceInterval);
|
|
11
|
+
debounceInterval = setTimeout(() => {
|
|
12
|
+
debounceInterval = null;
|
|
13
|
+
fn();
|
|
14
|
+
}, delay);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default debounce;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escape a regular expression text so that it can be used in a regular expression.
|
|
3
|
+
* @param {string} text The string to be interpreted literally
|
|
4
|
+
* @returns Regular expression string to pass to regex
|
|
5
|
+
*/
|
|
6
|
+
function escapeRegex(text) {
|
|
7
|
+
return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export default escapeRegex;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import escapeRegex from "./escapeRegex.js";
|
|
2
|
+
import encodeXML from "../sap/base/security/encodeXML.js";
|
|
3
|
+
|
|
4
|
+
// utility to replace all occurances of a string
|
|
5
|
+
function replaceAll(text, find, replace, caseInsensitive) {
|
|
6
|
+
return text.replace(new RegExp(escapeRegex(find), `${caseInsensitive ? "i" : ""}g`), replace);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Generate markup for a raw string where a particular text is wrapped with some tag, by default `<b>` (bold) tag.
|
|
11
|
+
* All inputs to this function are considered literal text, and special characters will always be escaped.
|
|
12
|
+
* @param {string} text The text to add highlighting to
|
|
13
|
+
* @param {string} textToHighlight The text which should be highlighted
|
|
14
|
+
* @return {string} the markup HTML which contains all occurrances of the input text surrounded with a `<b>` tag.
|
|
15
|
+
*/
|
|
16
|
+
function generateHighlightedMarkup(text, textToHighlight) {
|
|
17
|
+
if (!text || !textToHighlight) {
|
|
18
|
+
return text;
|
|
19
|
+
}
|
|
20
|
+
// a token is some string that does not appear in either of the input strings
|
|
21
|
+
// repeat the token until it does not appear in the string
|
|
22
|
+
const makeToken = t => {
|
|
23
|
+
const [s, e] = t.split("");
|
|
24
|
+
while (text.indexOf(t) >= 0 || textToHighlight.indexOf(t) >= 0) {
|
|
25
|
+
t = `${s}${t}${e}`;
|
|
26
|
+
}
|
|
27
|
+
return t;
|
|
28
|
+
};
|
|
29
|
+
// It doesn't matter what characters are used as long as all 4 of them are unique
|
|
30
|
+
// And also that encodeXML will not change these characters
|
|
31
|
+
const openToken = makeToken("12");
|
|
32
|
+
const closeToken = makeToken("34");
|
|
33
|
+
// wrap every occurance of the textToHighlight using the open/close tokens (instead of markup at this point)
|
|
34
|
+
let result = encodeXML(replaceAll(text, textToHighlight, match => `${openToken}${match}${closeToken}`, true));
|
|
35
|
+
// now replace the open and close tokens with the markup that we expect
|
|
36
|
+
[[openToken, "<b>"], [closeToken, "</b>"]].forEach(([find, replace]) => {
|
|
37
|
+
result = replaceAll(result, find, replace);
|
|
38
|
+
});
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export default generateHighlightedMarkup;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const getActiveElement = () => {
|
|
2
|
+
let element = document.activeElement;
|
|
3
|
+
|
|
4
|
+
while (element && element.shadowRoot && element.shadowRoot.activeElement) {
|
|
5
|
+
element = element.shadowRoot.activeElement;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
return element;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default getActiveElement;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the normalized event target in cases when it has shadow root.
|
|
3
|
+
* @param {Object} target The original event target
|
|
4
|
+
* @returns {Object} The normalized target
|
|
5
|
+
*/
|
|
6
|
+
const getNormalizedTarget = target => {
|
|
7
|
+
let element = target;
|
|
8
|
+
|
|
9
|
+
if (target.shadowRoot && target.shadowRoot.activeElement) {
|
|
10
|
+
element = target.shadowRoot.activeElement;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return element;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default getNormalizedTarget;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines if the element is within the viewport.
|
|
3
|
+
* @param el {HTMLElement}
|
|
4
|
+
*/
|
|
5
|
+
const isElementInView = el => {
|
|
6
|
+
const rect = el.getBoundingClientRect();
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
rect.top >= 0 && rect.left >= 0
|
|
10
|
+
&& rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)
|
|
11
|
+
&& rect.right <= (window.innerWidth || document.documentElement.clientWidth)
|
|
12
|
+
);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default isElementInView;
|
|
@@ -3,7 +3,7 @@ const isNodeHidden = node => {
|
|
|
3
3
|
return false;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
return (node.offsetWidth <= 0 && node.offsetHeight <= 0) || node.style.visibility === "hidden";
|
|
6
|
+
return (node.offsetWidth <= 0 && node.offsetHeight <= 0) || (node.style && node.style.visibility === "hidden");
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
export default isNodeHidden;
|
|
@@ -15,14 +15,14 @@ const isNodeTabbable = node => {
|
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
|
|
19
|
-
return !node.disabled;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
18
|
const tabIndex = node.getAttribute("tabindex");
|
|
23
19
|
if (tabIndex !== null && tabIndex !== undefined) {
|
|
24
20
|
return parseInt(tabIndex) >= 0;
|
|
25
21
|
}
|
|
22
|
+
|
|
23
|
+
if (nodeName === "a" || /input|select|textarea|button|object/.test(nodeName)) {
|
|
24
|
+
return !node.disabled;
|
|
25
|
+
}
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export default isNodeTabbable;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// Note: disabled is present in IE so we explicitly allow it here.
|
|
2
2
|
// Others, such as title/hidden, we explicitly override, so valid too
|
|
3
|
-
const
|
|
3
|
+
const allowList = [
|
|
4
4
|
"disabled",
|
|
5
5
|
"title",
|
|
6
6
|
"hidden",
|
|
7
|
+
"role",
|
|
8
|
+
"draggable",
|
|
7
9
|
];
|
|
8
10
|
|
|
9
11
|
/**
|
|
@@ -13,7 +15,7 @@ const whitelist = [
|
|
|
13
15
|
* @returns {boolean}
|
|
14
16
|
*/
|
|
15
17
|
const isValidPropertyName = name => {
|
|
16
|
-
if (
|
|
18
|
+
if (allowList.includes(name) || name.startsWith("aria")) {
|
|
17
19
|
return true;
|
|
18
20
|
}
|
|
19
21
|
const classes = [
|
package/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
const path = require('path');
|
|
3
|
-
const mkdirp = require('mkdirp');
|
|
1
|
+
const fs = require('fs').promises;
|
|
4
2
|
const assets = require('@ui5/webcomponents-tools/assets-meta.js');
|
|
5
3
|
|
|
6
4
|
const fileContent = `const assetParameters = ${JSON.stringify(assets)};
|
|
@@ -17,6 +15,11 @@ export {
|
|
|
17
15
|
SUPPORTED_LOCALES,
|
|
18
16
|
};`;
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
fs.
|
|
18
|
+
const generate = async () => {
|
|
19
|
+
await fs.mkdir("dist/generated/", { recursive: true });
|
|
20
|
+
return fs.writeFile("dist/generated/AssetParameters.js", fileContent);
|
|
21
|
+
}
|
|
22
22
|
|
|
23
|
+
generate().then(() => {
|
|
24
|
+
console.log("Assets parameters generated.");
|
|
25
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const fs = require('fs').promises;
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const CleanCSS = require('clean-css');
|
|
4
|
+
|
|
5
|
+
const generate = async () => {
|
|
6
|
+
await fs.mkdir("dist/generated/css/");
|
|
7
|
+
|
|
8
|
+
const files = (await fs.readdir("src/css/")).filter(file => file.endsWith(".css"));
|
|
9
|
+
const filesPromises = files.map(async file => {
|
|
10
|
+
let content = await fs.readFile(path.join("src/css/", file));
|
|
11
|
+
const res = new CleanCSS().minify(`${content}`);
|
|
12
|
+
content = `export default {
|
|
13
|
+
packageName: "@ui5/webcomponents-base",
|
|
14
|
+
fileName: "${file}",
|
|
15
|
+
content: \`${res.styles}\`
|
|
16
|
+
};`;
|
|
17
|
+
|
|
18
|
+
return fs.writeFile(path.join("dist/generated/css/", `${file}.js`), content);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return Promise.all(filesPromises);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
generate().then(() => {
|
|
25
|
+
console.log("Styles files generated.");
|
|
26
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const fs = require('fs').promises;
|
|
2
|
+
|
|
3
|
+
const generate = async () => {
|
|
4
|
+
const version = JSON.parse(await fs.readFile("package.json")).version;
|
|
5
|
+
|
|
6
|
+
// Parse version
|
|
7
|
+
const matches = version.match(/^([0-9]+)\.([0-9]+)\.([0-9]+)(.*)$/);
|
|
8
|
+
if (!matches) {
|
|
9
|
+
throw new Error("Unsupported version format");
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const isNext = version.match(/[a-f0-9]{9}$/);
|
|
13
|
+
const buildTime = Math.floor(new Date().getTime() / 1000);
|
|
14
|
+
|
|
15
|
+
const fileContent = `const VersionInfo = {
|
|
16
|
+
version: "${version}",
|
|
17
|
+
major: ${matches[1]},
|
|
18
|
+
minor: ${matches[2]},
|
|
19
|
+
patch: ${matches[3]},
|
|
20
|
+
suffix: "${matches[4]}",
|
|
21
|
+
isNext: ${isNext ? "true" : "false"},
|
|
22
|
+
buildTime: ${buildTime},
|
|
23
|
+
};
|
|
24
|
+
export default VersionInfo;`;
|
|
25
|
+
|
|
26
|
+
await fs.mkdir("dist/generated/", { recursive: true });
|
|
27
|
+
await fs.writeFile("dist/generated/VersionInfo.js", fileContent);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
generate().then(() => {
|
|
31
|
+
console.log("Version info file generated.");
|
|
32
|
+
});
|
package/package-scripts.js
CHANGED
|
@@ -1,39 +1,50 @@
|
|
|
1
|
-
const path = require("path");
|
|
2
1
|
const resolve = require("resolve");
|
|
3
2
|
|
|
4
|
-
const serveConfig = `../tools/components-package/serve.json`;
|
|
5
|
-
const port = `9191`;
|
|
6
|
-
|
|
7
3
|
const assetParametersScript = resolve.sync("@ui5/webcomponents-base/lib/generate-asset-parameters/index.js");
|
|
4
|
+
const stylesScript = resolve.sync("@ui5/webcomponents-base/lib/generate-styles/index.js");
|
|
5
|
+
const versionScript = resolve.sync("@ui5/webcomponents-base/lib/generate-version-info/index.js");
|
|
6
|
+
const serve = resolve.sync("@ui5/webcomponents-tools/lib/serve/index.js");
|
|
7
|
+
const copyUsedModules = resolve.sync("@ui5/webcomponents-tools/lib/copy-list/index.js");
|
|
8
|
+
const esmAbsToRel = resolve.sync("@ui5/webcomponents-tools/lib/esm-abs-to-rel/index.js");
|
|
8
9
|
|
|
9
10
|
const scripts = {
|
|
10
|
-
clean: "rimraf dist",
|
|
11
|
+
clean: "rimraf dist && rimraf .port",
|
|
11
12
|
lint: "eslint . --config config/.eslintrc.js",
|
|
12
|
-
prepare: "nps clean copy generateAssetParameters",
|
|
13
|
+
prepare: "nps clean integrate copy generateAssetParameters generateVersionInfo generateStyles",
|
|
14
|
+
integrate: {
|
|
15
|
+
default: "nps integrate.copy-used-modules integrate.replace-amd integrate.amd-to-es6 integrate.esm-abs-to-rel integrate.third-party",
|
|
16
|
+
"copy-used-modules": `node "${copyUsedModules}" ./used-modules.txt dist/`,
|
|
17
|
+
"replace-amd": "replace-in-file sap.ui.define define dist/**/*.js",
|
|
18
|
+
"amd-to-es6": "amdtoes6 --src=dist/ --replace --glob=**/*.js",
|
|
19
|
+
"esm-abs-to-rel": `node "${esmAbsToRel}" dist/ dist/`,
|
|
20
|
+
"third-party": {
|
|
21
|
+
default: "nps integrate.third-party.copy integrate.third-party.fix",
|
|
22
|
+
copy: "mkdirp dist/sap/ui/thirdparty/ && copy-and-watch ../../node_modules/@openui5/sap.ui.core/src/sap/ui/thirdparty/caja-html-sanitizer.js dist/sap/ui/thirdparty/",
|
|
23
|
+
fix: "replace-in-file 240 xA0 dist/sap/ui/thirdparty/caja-html-sanitizer.js"
|
|
24
|
+
},
|
|
25
|
+
},
|
|
13
26
|
build: {
|
|
14
|
-
default:
|
|
15
|
-
bundle: "rollup --config config/rollup.config.js
|
|
27
|
+
default: `nps lint prepare build.bundle`,
|
|
28
|
+
bundle: "rollup --config config/rollup.config.js",
|
|
16
29
|
},
|
|
17
30
|
copy: {
|
|
18
|
-
default: "nps copy.src copy.test
|
|
19
|
-
src:
|
|
20
|
-
test:
|
|
21
|
-
"webcomponents-polyfill": "copy-and-watch \"../../node_modules/@webcomponents/webcomponentsjs/**/*.*\" dist/webcomponentsjs/",
|
|
31
|
+
default: "nps copy.src copy.test",
|
|
32
|
+
src: `copy-and-watch "src/**/*.{js,css}" dist/`,
|
|
33
|
+
test: `copy-and-watch "test/**/*.*" dist/test-resources`,
|
|
22
34
|
},
|
|
23
35
|
generateAssetParameters: `node "${assetParametersScript}"`,
|
|
36
|
+
generateVersionInfo: `node "${versionScript}"`,
|
|
37
|
+
generateStyles: `node "${stylesScript}"`,
|
|
24
38
|
watch: {
|
|
25
|
-
default: 'concurrently "nps watch.test" "nps watch.src" "nps watch.bundle"',
|
|
39
|
+
default: 'concurrently "nps watch.test" "nps watch.src" "nps watch.bundle" "nps watch.styles"',
|
|
26
40
|
src: 'nps "copy.src --watch --skip-initial-copy"',
|
|
27
41
|
test: 'nps "copy.test --watch --skip-initial-copy"',
|
|
28
|
-
bundle: "rollup --config config/rollup.config.js -w --environment
|
|
42
|
+
bundle: "rollup --config config/rollup.config.js -w --environment DEV",
|
|
43
|
+
styles: 'chokidar "src/css/*.css" -c "nps generateStyles"'
|
|
29
44
|
},
|
|
30
45
|
dev: 'concurrently "nps serve" "nps watch"',
|
|
31
46
|
start: "nps prepare dev",
|
|
32
|
-
serve: {
|
|
33
|
-
default: "nps serve.prepare serve.run",
|
|
34
|
-
prepare: `copy-and-watch "${serveConfig}" dist/`,
|
|
35
|
-
run: `serve --no-clipboard -l ${port} dist`,
|
|
36
|
-
},
|
|
47
|
+
serve: `node "${serve}" --dir="dist/" --port=9191 --packageName="@ui5/webcomponents-base"`,
|
|
37
48
|
test: {
|
|
38
49
|
// --success first - report the exit code of the test run (first command to finish), as serve is always terminated and has a non-0 exit code
|
|
39
50
|
default: 'concurrently "nps serve" "nps test.run" --kill-others --success first',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui5/webcomponents-base",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-3236d56be",
|
|
4
4
|
"description": "UI5 Web Components: webcomponents.base",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -15,6 +15,13 @@
|
|
|
15
15
|
"url": "https://github.com/SAP/ui5-webcomponents.git",
|
|
16
16
|
"directory": "packages/base"
|
|
17
17
|
},
|
|
18
|
+
"exports": {
|
|
19
|
+
".": "./index.js",
|
|
20
|
+
"./dist/*": "./dist/*",
|
|
21
|
+
"./package.json": "./package.json",
|
|
22
|
+
"./bundle.esm.js": "./bundle.esm.js",
|
|
23
|
+
"./*": "./dist/*"
|
|
24
|
+
},
|
|
18
25
|
"scripts": {
|
|
19
26
|
"clean": "nps clean",
|
|
20
27
|
"lint": "nps lint",
|
|
@@ -24,19 +31,18 @@
|
|
|
24
31
|
"prepublishOnly": "npm run clean && npm run build"
|
|
25
32
|
},
|
|
26
33
|
"dependencies": {
|
|
27
|
-
"
|
|
28
|
-
"lit-html": "^1.0.0",
|
|
29
|
-
"regenerator-runtime": "0.12.1",
|
|
30
|
-
"url-search-params-polyfill": "^5.0.0"
|
|
34
|
+
"lit-html": "^2.0.1"
|
|
31
35
|
},
|
|
32
36
|
"devDependencies": {
|
|
33
|
-
"@
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
37
|
+
"@buxlabs/amd-to-es6": "0.16.1",
|
|
38
|
+
"@openui5/sap.ui.core": "1.101.0",
|
|
39
|
+
"@ui5/webcomponents-tools": "0.0.0-3236d56be",
|
|
40
|
+
"chromedriver": "100.0.0",
|
|
41
|
+
"clean-css": "^5.2.2",
|
|
42
|
+
"copy-and-watch": "^0.1.5",
|
|
43
|
+
"cross-env": "^7.0.3",
|
|
44
|
+
"eslint": "^7.22.0",
|
|
45
|
+
"mkdirp": "^1.0.4",
|
|
46
|
+
"resolve": "^1.20.0"
|
|
41
47
|
}
|
|
42
48
|
}
|
package/src/AssetRegistry.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { registerI18nLoader } from "./asset-registries/i18n.js";
|
|
2
|
+
import { registerLocaleDataLoader } from "./asset-registries/LocaleData.js";
|
|
3
|
+
import { registerThemePropertiesLoader } from "./asset-registries/Themes.js";
|
|
4
|
+
import { registerIconLoader } from "./asset-registries/Icons.js";
|
|
4
5
|
|
|
5
6
|
export {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
registerI18nLoader,
|
|
8
|
+
registerLocaleDataLoader,
|
|
9
|
+
registerThemePropertiesLoader,
|
|
10
|
+
registerIconLoader,
|
|
10
11
|
};
|