@ui5/webcomponents-base 0.0.0-96e98c995 → 0.0.0-974b11d82
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 +1 -0
- package/CHANGELOG.md +53 -0
- package/bundle.esm.js +3 -1
- package/dist/Boot.js +4 -0
- package/dist/Boot.js.map +1 -1
- package/dist/Device.js +109 -34
- package/dist/Device.js.map +1 -1
- package/dist/InitialConfiguration.js +1 -1
- package/dist/InitialConfiguration.js.map +1 -1
- package/dist/UI5Element.d.ts +19 -8
- package/dist/UI5Element.js +3 -2
- package/dist/UI5Element.js.map +1 -1
- package/dist/api.json +1 -1
- package/dist/asset-registries/Icons.d.ts +1 -1
- package/dist/asset-registries/Icons.js +21 -21
- package/dist/asset-registries/Icons.js.map +1 -1
- package/dist/asset-registries/Illustrations.d.ts +1 -1
- package/dist/asset-registries/Themes.d.ts +1 -0
- package/dist/assets/bundle.esm.ea2cc5c5.js +60 -0
- package/dist/assets-meta/IconCollectionsAlias.d.ts +24 -10
- package/dist/assets-meta/IconCollectionsAlias.js +29 -9
- package/dist/assets-meta/IconCollectionsAlias.js.map +1 -1
- package/dist/config/FormatSettings.d.ts +5 -1
- package/dist/config/FormatSettings.js +5 -1
- package/dist/config/FormatSettings.js.map +1 -1
- package/dist/config/Icons.d.ts +43 -18
- package/dist/config/Icons.js +80 -25
- package/dist/config/Icons.js.map +1 -1
- package/dist/config/RTL.js +3 -0
- package/dist/config/RTL.js.map +1 -1
- package/dist/decorators/customElement.d.ts +17 -2
- package/dist/decorators/customElement.js +17 -2
- package/dist/decorators/customElement.js.map +1 -1
- package/dist/delegate/ResizeHandler.d.ts +2 -1
- package/dist/delegate/ResizeHandler.js +3 -1
- package/dist/delegate/ResizeHandler.js.map +1 -1
- package/dist/features/F6Navigation.d.ts +3 -0
- package/dist/features/F6Navigation.js +77 -38
- package/dist/features/F6Navigation.js.map +1 -1
- package/dist/features/LegacyDateFormats.d.ts +18 -0
- package/dist/features/LegacyDateFormats.js +20 -0
- package/dist/features/LegacyDateFormats.js.map +1 -0
- package/dist/features/OpenUI5Support.d.ts +2 -0
- package/dist/features/OpenUI5Support.js +1 -0
- package/dist/features/OpenUI5Support.js.map +1 -1
- package/dist/generated/VersionInfo.js +3 -3
- package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
- package/dist/generated/css/BusyIndicator.css.js +7 -5
- package/dist/generated/css/BusyIndicator.css.js.map +1 -0
- package/dist/generated/css/FontFace.css.d.ts +3 -0
- package/dist/generated/css/FontFace.css.js +7 -5
- package/dist/generated/css/FontFace.css.js.map +1 -0
- package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
- package/dist/generated/css/OverrideFontFace.css.js +7 -5
- package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
- package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
- package/dist/generated/css/SystemCSSVars.css.js +7 -5
- package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
- package/dist/getSharedResource.js +9 -1
- package/dist/getSharedResource.js.map +1 -1
- package/dist/global.d.ts +0 -6
- package/dist/renderer/LitRenderer.d.ts +3 -3
- package/dist/renderer/LitRenderer.js.map +1 -1
- package/dist/theming/CustomStyle.js +7 -5
- package/dist/theming/CustomStyle.js.map +1 -1
- package/dist/theming/getStylesString.d.ts +1 -1
- package/dist/updateShadowRoot.js +4 -0
- package/dist/updateShadowRoot.js.map +1 -1
- package/dist/util/AriaLabelHelper.d.ts +10 -1
- package/dist/util/AriaLabelHelper.js +135 -8
- package/dist/util/AriaLabelHelper.js.map +1 -1
- package/dist/util/FocusableElements.js +11 -2
- package/dist/util/FocusableElements.js.map +1 -1
- package/dist/util/getClassCopy.d.ts +8 -9
- package/lib/generate-styles/index.js +10 -5
- package/package-scripts.js +8 -4
- package/package.json +2 -2
- package/src/Boot.ts +4 -0
- package/src/Device.ts +113 -34
- package/src/InitialConfiguration.ts +1 -1
- package/src/UI5Element.ts +28 -8
- package/src/asset-registries/Icons.ts +26 -27
- package/src/asset-registries/Illustrations.ts +1 -1
- package/src/asset-registries/Themes.ts +5 -0
- package/src/assets-meta/IconCollectionsAlias.ts +32 -9
- package/src/config/FormatSettings.ts +16 -2
- package/src/config/Icons.ts +92 -25
- package/src/config/RTL.ts +4 -0
- package/src/decorators/customElement.ts +42 -2
- package/src/delegate/ResizeHandler.ts +7 -2
- package/src/features/F6Navigation.ts +98 -44
- package/src/features/LegacyDateFormats.ts +40 -0
- package/src/features/OpenUI5Support.ts +5 -0
- package/src/generated/css/BusyIndicator.css.ts +9 -0
- package/src/generated/css/FontFace.css.ts +9 -0
- package/src/generated/css/OverrideFontFace.css.ts +9 -0
- package/src/generated/css/SystemCSSVars.css.ts +9 -0
- package/src/getSharedResource.ts +10 -1
- package/src/global.d.ts +0 -6
- package/src/renderer/LitRenderer.ts +2 -2
- package/src/theming/CustomStyle.ts +7 -5
- package/src/theming/getEffectiveLinksHrefs.ts +1 -1
- package/src/theming/getStylesString.ts +1 -1
- package/src/updateShadowRoot.ts +5 -0
- package/src/util/AriaLabelHelper.ts +167 -12
- package/src/util/FocusableElements.ts +12 -2
- package/dist/assets/bundle.esm.ba5d36d4.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenUI5Support.js","sourceRoot":"","sources":["../../src/features/OpenUI5Support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenUI5Support.js","sourceRoot":"","sources":["../../src/features/OpenUI5Support.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const VersionInfo = {
|
|
2
|
-
version: "0.0.0-
|
|
2
|
+
version: "0.0.0-974b11d82",
|
|
3
3
|
major: 0,
|
|
4
4
|
minor: 0,
|
|
5
5
|
patch: 0,
|
|
6
|
-
suffix: "-
|
|
6
|
+
suffix: "-974b11d82",
|
|
7
7
|
isNext: true,
|
|
8
|
-
buildTime:
|
|
8
|
+
buildTime: 1677687114,
|
|
9
9
|
};
|
|
10
10
|
export default VersionInfo;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
1
|
+
const styleData = {
|
|
2
|
+
packageName: "@ui5/webcomponents-base",
|
|
3
|
+
fileName: "BusyIndicator.css",
|
|
4
|
+
content: `.busy-indicator-wrapper{position:relative;height:100%;width:100%}.busy-indicator-overlay{display:var(--ui5_web_components_busy_indicator_display);position:absolute;inset:0;background:var(--ui5_web_components_busy_indicator_background-color);z-index:99}.busy-indicator-busy-area{display:var(--ui5_web_components_busy_indicator_display);position:absolute;z-index:99;inset:0;justify-content:center;align-items:center;background-color:inherit;flex-direction:column;color:var(--_ui5_busy_indicator_color)}:host([__is-busy]) .busy-indicator-wrapper>:not(.busy-indicator-busy-area):not(.busy-indicator-overlay):not([busy-indicator-before-span]){--ui5_web_components_busy_indicator_display:none}.busy-indicator-busy-area:focus{outline:var(--_ui5_busy_indicator_focus_outline);outline-offset:-.125rem}.busy-indicator-circle{width:1rem;height:1rem;display:inline-block;background-color:currentColor;border-radius:50%}.circle-animation-0{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11)}.circle-animation-1{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.2s}.circle-animation-2{animation:grow 1.6s infinite cubic-bezier(.32,.06,.85,1.11);animation-delay:.4s}.sapUiLocalBusy{--ui5_web_components_busy_indicator_display:none}.busy-indicator-wrapper [ui5-busy-indicator]{display:none}@keyframes grow{0%,100%,50%{-webkit-transform:scale(.5);-moz-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}25%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}`,
|
|
5
|
+
};
|
|
6
|
+
export default styleData;
|
|
7
|
+
//# sourceMappingURL=BusyIndicator.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BusyIndicator.css.js","sourceRoot":"","sources":["../../../src/generated/css/BusyIndicator.css.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAc;IAC5B,WAAW,EAAE,yBAAyB;IACtC,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,+/CAA+/C;CACxgD,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
1
|
+
const styleData = {
|
|
2
|
+
packageName: "@ui5/webcomponents-base",
|
|
3
|
+
fileName: "FontFace.css",
|
|
4
|
+
content: `@font-face{font-family:"72";font-style:normal;font-weight:400;src:local("72"),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:400;src:local('72-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Regular-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72";font-style:normal;font-weight:700;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72full";font-style:normal;font-weight:700;src:local('72-Bold-full'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Bold';font-style:normal;src:local('72-Bold'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Boldfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Bold-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Light';font-style:normal;src:local('72-Light'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:'72-Lightfull';font-style:normal;src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_fiori_3/fonts/72-Light-full.woff2?ui5-webcomponents) format("woff2")}@font-face{font-family:"72Black";font-style:bold;font-weight:900;src:local('72Black'),url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Black.woff2?ui5-webcomponents) format("woff2")}`,
|
|
5
|
+
};
|
|
6
|
+
export default styleData;
|
|
7
|
+
//# sourceMappingURL=FontFace.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FontFace.css.js","sourceRoot":"","sources":["../../../src/generated/css/FontFace.css.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAc;IAC5B,WAAW,EAAE,yBAAyB;IACtC,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,8yDAA8yD;CACvzD,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
1
|
+
const styleData = {
|
|
2
|
+
packageName: "@ui5/webcomponents-base",
|
|
3
|
+
fileName: "OverrideFontFace.css",
|
|
4
|
+
content: `@font-face{font-family:'72override';unicode-range:U+0102-0103,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EB7,U+1EB8-1EC7,U+1EC8-1ECB,U+1ECC-1EE3,U+1EE4-1EF1,U+1EF4-1EF7;src:local('Arial'),local('Helvetica'),local('sans-serif')}`,
|
|
5
|
+
};
|
|
6
|
+
export default styleData;
|
|
7
|
+
//# sourceMappingURL=OverrideFontFace.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverrideFontFace.css.js","sourceRoot":"","sources":["../../../src/generated/css/OverrideFontFace.css.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAc;IAC5B,WAAW,EAAE,yBAAyB;IACtC,QAAQ,EAAE,sBAAsB;IAChC,OAAO,EAAE,0NAA0N;CACnO,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
1
|
+
const styleData = {
|
|
2
|
+
packageName: "@ui5/webcomponents-base",
|
|
3
|
+
fileName: "SystemCSSVars.css",
|
|
4
|
+
content: `:root{--_ui5_content_density:cozy}.sapUiSizeCompact,.ui5-content-density-compact,[data-ui5-compact-size]{--_ui5_content_density:compact}[dir=rtl]{--_ui5_dir:rtl}[dir=ltr]{--_ui5_dir:ltr}`,
|
|
5
|
+
};
|
|
6
|
+
export default styleData;
|
|
7
|
+
//# sourceMappingURL=SystemCSSVars.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SystemCSSVars.css.js","sourceRoot":"","sources":["../../../src/generated/css/SystemCSSVars.css.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAc;IAC5B,WAAW,EAAE,yBAAyB;IACtC,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,4LAA4L;CACrM,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import getSingletonElementInstance from "./util/getSingletonElementInstance.js";
|
|
2
|
-
const getSharedResourcesInstance = () =>
|
|
2
|
+
const getSharedResourcesInstance = () => {
|
|
3
|
+
if (typeof document === "undefined") {
|
|
4
|
+
return null;
|
|
5
|
+
}
|
|
6
|
+
return getSingletonElementInstance("ui5-shared-resources", document.head);
|
|
7
|
+
};
|
|
3
8
|
/**
|
|
4
9
|
* Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.
|
|
5
10
|
* The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "head" element of the page.
|
|
@@ -12,6 +17,9 @@ const getSharedResourcesInstance = () => getSingletonElementInstance("ui5-shared
|
|
|
12
17
|
const getSharedResource = (namespace, initialValue) => {
|
|
13
18
|
const parts = namespace.split(".");
|
|
14
19
|
let current = getSharedResourcesInstance();
|
|
20
|
+
if (!current) {
|
|
21
|
+
return initialValue;
|
|
22
|
+
}
|
|
15
23
|
for (let i = 0; i < parts.length; i++) {
|
|
16
24
|
const part = parts[i];
|
|
17
25
|
const lastPart = i === parts.length - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSharedResource.js","sourceRoot":"","sources":["../src/getSharedResource.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAEhF,MAAM,0BAA0B,GAAG,
|
|
1
|
+
{"version":3,"file":"getSharedResource.js","sourceRoot":"","sources":["../src/getSharedResource.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,uCAAuC,CAAC;AAEhF,MAAM,0BAA0B,GAAG,GAAmC,EAAE;IACvE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACpC,OAAO,IAAI,CAAC;KACZ;IACD,OAAO,2BAA2B,CAAC,sBAAsB,EAAE,QAAQ,CAAC,IAAI,CAAuC,CAAC;AACjH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CAAI,SAAiB,EAAE,YAAe,EAAK,EAAE;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,OAAO,GAAG,0BAA0B,EAAyB,CAAC;IAElE,IAAI,CAAC,OAAO,EAAE;QACb,OAAO,YAAY,CAAC;KACpB;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACzD,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACxB;IAED,OAAO,OAAY,CAAC;AACrB,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
package/dist/global.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { StyleData } from "./types.js";
|
|
2
|
-
|
|
3
1
|
export {};
|
|
4
2
|
|
|
5
3
|
declare global {
|
|
@@ -19,10 +17,6 @@ declare global {
|
|
|
19
17
|
chrome: any;
|
|
20
18
|
v8: any;
|
|
21
19
|
}
|
|
22
|
-
module "*.css.js" {
|
|
23
|
-
const content: StyleData;
|
|
24
|
-
export default content;
|
|
25
|
-
}
|
|
26
20
|
|
|
27
21
|
module "*generated/AssetParameters.js" {
|
|
28
22
|
const DEFAULT_THEME: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { TemplateResult
|
|
2
|
-
import {
|
|
1
|
+
import { TemplateResult } from "lit-html";
|
|
2
|
+
import type { Renderer } from "../UI5Element.js";
|
|
3
3
|
declare const effectiveHtml: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult<1 | 2>;
|
|
4
4
|
declare const effectiveSvg: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult<1 | 2>;
|
|
5
|
-
declare const litRender:
|
|
5
|
+
declare const litRender: Renderer;
|
|
6
6
|
declare const scopeTag: (tag: string, tags: Array<string>, suffix: string) => object | undefined;
|
|
7
7
|
export { effectiveHtml as html, effectiveSvg as svg, };
|
|
8
8
|
export { scopeTag };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LitRenderer.js","sourceRoot":"","sources":["../../src/renderer/LitRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,IAAI,EACJ,GAAG,
|
|
1
|
+
{"version":3,"file":"LitRenderer.js","sourceRoot":"","sources":["../../src/renderer/LitRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,IAAI,EACJ,GAAG,GAEH,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAOpD,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,cAAsC,EAAE,SAAyC,EAAE,kBAAsD,EAAE,aAAsB,EAAE,OAAwB,EAAE,EAAE;IAC3N,MAAM,iBAAiB,GAAG,UAAU,CAA2B,mBAAmB,CAAC,CAAC;IACpF,IAAI,iBAAiB,IAAI,CAAC,aAAa,EAAE;QACxC,cAAc,GAAG,iBAAiB,CAAC,8BAA8B,CAAC,aAAa,EAAE,OAAO,CAAC,IAAkB,EAAE,cAAgC,CAAC,CAAC;KAC/I;IAED,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;QAC3C,cAAc,GAAG,aAAa,CAAA,UAAU,kBAAkB,WAAW,cAAc,EAAE,CAAC;KACtF;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE;QAC1E,cAAc,GAAG,aAAa,CAAA,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAA,gDAAgD,IAAI,IAAI,CAAC,GAAG,cAAc,EAAE,CAAC;KAC1J;IACD,MAAM,CAAC,cAAgC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9D,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;QACd,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;KACrF;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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { reRenderAllUI5Elements } from "../Render.js";
|
|
2
2
|
import getSharedResource from "../getSharedResource.js";
|
|
3
3
|
import EventProvider from "../EventProvider.js";
|
|
4
|
-
const
|
|
4
|
+
const getEventProvider = () => getSharedResource("CustomStyle.eventProvider", new EventProvider());
|
|
5
5
|
const CUSTOM_CSS_CHANGE = "CustomCSSChange";
|
|
6
6
|
const attachCustomCSSChange = (listener) => {
|
|
7
|
-
|
|
7
|
+
getEventProvider().attachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
8
8
|
};
|
|
9
9
|
const detachCustomCSSChange = (listener) => {
|
|
10
|
-
|
|
10
|
+
getEventProvider().detachEvent(CUSTOM_CSS_CHANGE, listener);
|
|
11
11
|
};
|
|
12
12
|
const fireCustomCSSChange = (tag) => {
|
|
13
|
-
return
|
|
13
|
+
return getEventProvider().fireEvent(CUSTOM_CSS_CHANGE, tag);
|
|
14
14
|
};
|
|
15
|
-
const
|
|
15
|
+
const getCustomCSSFor = () => getSharedResource("CustomStyle.customCSSFor", {});
|
|
16
16
|
// Listen to the eventProvider, in case other copies of this CustomStyle module fire this
|
|
17
17
|
// event, and this copy would therefore need to reRender the ui5 webcomponents; but
|
|
18
18
|
// don't reRender if it was this copy that fired the event to begin with.
|
|
@@ -23,6 +23,7 @@ attachCustomCSSChange((tag) => {
|
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
const addCustomCSS = (tag, css) => {
|
|
26
|
+
const customCSSFor = getCustomCSSFor();
|
|
26
27
|
if (!customCSSFor[tag]) {
|
|
27
28
|
customCSSFor[tag] = [];
|
|
28
29
|
}
|
|
@@ -40,6 +41,7 @@ const addCustomCSS = (tag, css) => {
|
|
|
40
41
|
return reRenderAllUI5Elements({ tag });
|
|
41
42
|
};
|
|
42
43
|
const getCustomCSS = (tag) => {
|
|
44
|
+
const customCSSFor = getCustomCSSFor();
|
|
43
45
|
return customCSSFor[tag] ? customCSSFor[tag].join("") : "";
|
|
44
46
|
};
|
|
45
47
|
export { addCustomCSS, getCustomCSS, attachCustomCSSChange, detachCustomCSSChange, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomStyle.js","sourceRoot":"","sources":["../../src/theming/CustomStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,
|
|
1
|
+
{"version":3,"file":"CustomStyle.js","sourceRoot":"","sources":["../../src/theming/CustomStyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAIhD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,2BAA2B,EAAE,IAAI,aAAa,EAAgB,CAAC,CAAC;AACjH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,gBAAgB,EAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,gBAAgB,EAAE,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,OAAO,gBAAgB,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAgC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAE/G,yFAAyF;AACzF,mFAAmF;AACnF,yEAAyE;AACzE,IAAI,YAAqB,CAAC;AAC1B,qBAAqB,CAAC,CAAC,GAAW,EAAE,EAAE;IACrC,IAAI,CAAC,YAAY,EAAE;QAClB,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KAChC;AACF,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;IACjD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;QACvB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;KACvB;IACD,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,YAAY,GAAG,IAAI,CAAC;IACpB,IAAI;QACH,mFAAmF;QACnF,wGAAwG;QACxG,iEAAiE;QACjE,mBAAmB,CAAC,GAAG,CAAC,CAAC;KACzB;YAAS;QACT,YAAY,GAAG,KAAK,CAAC;KACrB;IAED,OAAO,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACpC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC,CAAC;AAEF,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,GACrB,CAAC"}
|
package/dist/updateShadowRoot.js
CHANGED
|
@@ -28,6 +28,10 @@ const updateShadowRoot = (element, forStaticArea = false) => {
|
|
|
28
28
|
else { // FF, Safari
|
|
29
29
|
styleStrOrHrefsArr = getEffectiveStyle(ctor, forStaticArea);
|
|
30
30
|
}
|
|
31
|
+
if (ctor.renderer) {
|
|
32
|
+
ctor.renderer(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
31
35
|
ctor.render(renderResult, shadowRoot, styleStrOrHrefsArr, forStaticArea, { host: element });
|
|
32
36
|
};
|
|
33
37
|
export default updateShadowRoot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateShadowRoot.js","sourceRoot":"","sources":["../src/updateShadowRoot.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,OAAmB,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACvE,IAAI,kBAAkB,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAgC,CAAC;IACtD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,cAAe,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3F,MAAM,YAAY,GAAG,eAAe,CAAC,QAAS,EAAE,OAAO,CAAC,CAAC,CAAC,kDAAkD;IAE5G,IAAI,CAAC,UAAU,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC,sBAAsB;QACzE,OAAO;KACP;IAED,IAAI,cAAc,EAAE,EAAE;QACrB,kBAAkB,GAAG,sBAAsB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KACjE;SAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,EAAE,SAAS;QAClD,UAAU,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KAC3E;SAAM,EAAE,aAAa;QACrB,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"updateShadowRoot.js","sourceRoot":"","sources":["../src/updateShadowRoot.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,OAAmB,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE;IACvE,IAAI,kBAAkB,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAgC,CAAC;IACtD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,cAAe,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3F,MAAM,YAAY,GAAG,eAAe,CAAC,QAAS,EAAE,OAAO,CAAC,CAAC,CAAC,kDAAkD;IAE5G,IAAI,CAAC,UAAU,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC,sBAAsB;QACzE,OAAO;KACP;IAED,IAAI,cAAc,EAAE,EAAE;QACrB,kBAAkB,GAAG,sBAAsB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KACjE;SAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,EAAE,SAAS;QAClD,UAAU,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KAC3E;SAAM,EAAE,aAAa;QACrB,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KAC5D;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE;QAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9F,OAAO;KACP;IAED,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
import UI5Element from "../UI5Element.js";
|
|
2
|
+
type MutationCallback = () => void;
|
|
1
3
|
declare const getEffectiveAriaLabelText: (el: HTMLElement) => string | undefined;
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
|
|
7
|
+
*/
|
|
8
|
+
declare const getAllAccessibleNameRefTexts: (el: HTMLElement) => string;
|
|
2
9
|
/**
|
|
3
10
|
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related "label for" texts
|
|
4
11
|
*/
|
|
5
12
|
declare const getAssociatedLabelForTexts: (el: HTMLElement) => string | undefined;
|
|
6
|
-
|
|
13
|
+
declare const registerUI5Element: (el: UI5Element, callback: MutationCallback) => void;
|
|
14
|
+
declare const deregisterUI5Element: (el: UI5Element) => void;
|
|
15
|
+
export { getEffectiveAriaLabelText, getAssociatedLabelForTexts, registerUI5Element, deregisterUI5Element, getAllAccessibleNameRefTexts, };
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
const associatedElements = new WeakMap();
|
|
2
|
+
const registeredElements = new WeakMap();
|
|
3
|
+
const observerOptions = {
|
|
4
|
+
attributes: true,
|
|
5
|
+
childList: true,
|
|
6
|
+
characterData: true,
|
|
7
|
+
subtree: true,
|
|
8
|
+
};
|
|
1
9
|
const getEffectiveAriaLabelText = (el) => {
|
|
2
10
|
const accessibleEl = el;
|
|
3
11
|
if (!accessibleEl.accessibleNameRef) {
|
|
@@ -6,31 +14,59 @@ const getEffectiveAriaLabelText = (el) => {
|
|
|
6
14
|
}
|
|
7
15
|
return undefined;
|
|
8
16
|
}
|
|
9
|
-
return
|
|
17
|
+
return getAllAccessibleNameRefTexts(el);
|
|
10
18
|
};
|
|
11
19
|
/**
|
|
12
20
|
*
|
|
13
21
|
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related texts
|
|
14
22
|
*/
|
|
15
|
-
const
|
|
16
|
-
const ids = el.accessibleNameRef
|
|
23
|
+
const getAllAccessibleNameRefTexts = (el) => {
|
|
24
|
+
const ids = el.accessibleNameRef?.split(" ") ?? [];
|
|
17
25
|
const owner = el.getRootNode();
|
|
18
26
|
let result = "";
|
|
19
27
|
ids.forEach((elementId, index) => {
|
|
20
28
|
const element = owner.querySelector(`[id='${elementId}']`);
|
|
21
|
-
|
|
22
|
-
if (
|
|
23
|
-
result +=
|
|
29
|
+
const text = `${element && element.textContent ? element.textContent : ""}`;
|
|
30
|
+
if (text) {
|
|
31
|
+
result += text;
|
|
32
|
+
if (index < ids.length - 1) {
|
|
33
|
+
result += " ";
|
|
34
|
+
}
|
|
24
35
|
}
|
|
25
36
|
});
|
|
26
37
|
return result;
|
|
27
38
|
};
|
|
39
|
+
const _getAllAssociatedElementsFromDOM = (el) => {
|
|
40
|
+
const set = new Set();
|
|
41
|
+
// adding labels with attribute for matching the el.id
|
|
42
|
+
const labelsForAssociated = _getAssociatedLabels(el);
|
|
43
|
+
labelsForAssociated.forEach(itm => {
|
|
44
|
+
set.add(itm);
|
|
45
|
+
});
|
|
46
|
+
// adding other elements that id is the same as accessibleNameRef value
|
|
47
|
+
const value = el["accessibleNameRef"];
|
|
48
|
+
const ids = value?.split(" ") ?? [];
|
|
49
|
+
ids.forEach(id => {
|
|
50
|
+
const refEl = _getReferencedElementById(el, id);
|
|
51
|
+
if (refEl) {
|
|
52
|
+
set.add(refEl);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return Array.from(set);
|
|
56
|
+
};
|
|
57
|
+
const _getAssociatedLabels = (el) => {
|
|
58
|
+
const labels = el.getRootNode().querySelectorAll(`[for="${el.id}"]`);
|
|
59
|
+
return Array.from(labels);
|
|
60
|
+
};
|
|
61
|
+
const _getReferencedElementById = (el, elementId) => {
|
|
62
|
+
return el.getRootNode().querySelector(`[id='${elementId}']`);
|
|
63
|
+
};
|
|
28
64
|
/**
|
|
29
65
|
* @param {HTMLElement} el Defines the HTMLElement, for which you need to get all related "label for" texts
|
|
30
66
|
*/
|
|
31
67
|
const getAssociatedLabelForTexts = (el) => {
|
|
32
68
|
const results = [];
|
|
33
|
-
const labels =
|
|
69
|
+
const labels = _getAssociatedLabels(el);
|
|
34
70
|
labels.forEach((label) => {
|
|
35
71
|
const labelText = label.textContent;
|
|
36
72
|
labelText && results.push(labelText);
|
|
@@ -40,5 +76,96 @@ const getAssociatedLabelForTexts = (el) => {
|
|
|
40
76
|
}
|
|
41
77
|
return undefined;
|
|
42
78
|
};
|
|
43
|
-
|
|
79
|
+
const _createInvalidationCallback = (el) => {
|
|
80
|
+
const invalidationCallback = (changeInfo) => {
|
|
81
|
+
if (!(changeInfo && changeInfo.type === "property" && changeInfo.name === "accessibleNameRef")) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const registeredElement = registeredElements.get(el);
|
|
85
|
+
if (!registeredElement) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const oldAssociatedElements = registeredElement.observedElements;
|
|
89
|
+
const newAssociatedElements = _getAllAssociatedElementsFromDOM(el);
|
|
90
|
+
oldAssociatedElements.forEach(oldElement => {
|
|
91
|
+
if (!newAssociatedElements.includes(oldElement)) {
|
|
92
|
+
_removeObservedElementFromRegisteredElement(registeredElement, oldElement);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
newAssociatedElements.forEach(newElement => {
|
|
96
|
+
if (!oldAssociatedElements.includes(newElement)) {
|
|
97
|
+
_addObservedElementToRegisteredElement(registeredElement, newElement);
|
|
98
|
+
registeredElement.observedElements.push(newElement);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
registeredElement?.callback();
|
|
102
|
+
};
|
|
103
|
+
return invalidationCallback;
|
|
104
|
+
};
|
|
105
|
+
const registerUI5Element = (el, callback) => {
|
|
106
|
+
if (registeredElements.has(el)) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const allAssociatedElements = _getAllAssociatedElementsFromDOM(el);
|
|
110
|
+
const invalidationCallback = _createInvalidationCallback(el);
|
|
111
|
+
const registeredElement = {
|
|
112
|
+
host: el,
|
|
113
|
+
observedElements: allAssociatedElements,
|
|
114
|
+
callback,
|
|
115
|
+
invalidationCallback,
|
|
116
|
+
};
|
|
117
|
+
registeredElements.set(el, registeredElement);
|
|
118
|
+
el.attachInvalidate(invalidationCallback);
|
|
119
|
+
allAssociatedElements.forEach((element) => {
|
|
120
|
+
_addObservedElementToRegisteredElement(registeredElement, element);
|
|
121
|
+
});
|
|
122
|
+
callback();
|
|
123
|
+
};
|
|
124
|
+
const _addObservedElementToRegisteredElement = (registeredElement, element) => {
|
|
125
|
+
let associatedElement = associatedElements.get(element);
|
|
126
|
+
if (!associatedElement) {
|
|
127
|
+
associatedElement = { observer: null, callbacks: [] };
|
|
128
|
+
const observer = new MutationObserver(() => {
|
|
129
|
+
const callbacks = associatedElement.callbacks;
|
|
130
|
+
callbacks.forEach(callback => {
|
|
131
|
+
callback();
|
|
132
|
+
});
|
|
133
|
+
const domEl = document.getElementById(element.id);
|
|
134
|
+
// if no longer should be observed from this registeredElement, remove it
|
|
135
|
+
if (!(registeredElement.host.id === element.getAttribute("for") || domEl)) {
|
|
136
|
+
_removeObservedElementFromRegisteredElement(registeredElement, element);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
associatedElement.observer = observer;
|
|
140
|
+
observer.observe(element, observerOptions);
|
|
141
|
+
associatedElements.set(element, associatedElement);
|
|
142
|
+
}
|
|
143
|
+
if (!associatedElement.callbacks.includes(registeredElement.callback)) {
|
|
144
|
+
associatedElement.callbacks.push(registeredElement.callback);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const _removeObservedElementFromRegisteredElement = (registeredElement, element) => {
|
|
148
|
+
const associatedElement = associatedElements.get(element);
|
|
149
|
+
if (associatedElement) {
|
|
150
|
+
associatedElement.callbacks = associatedElement.callbacks.filter(itm => itm !== registeredElement.callback);
|
|
151
|
+
if (!associatedElement.callbacks.length) {
|
|
152
|
+
associatedElement.observer?.disconnect();
|
|
153
|
+
associatedElements.delete(element);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
registeredElement.observedElements = registeredElement.observedElements.filter(itm => itm !== element);
|
|
157
|
+
};
|
|
158
|
+
const deregisterUI5Element = (el) => {
|
|
159
|
+
const registeredElement = registeredElements.get(el);
|
|
160
|
+
if (!registeredElement) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const oldObservedElements = [...registeredElement.observedElements];
|
|
164
|
+
oldObservedElements.forEach(observedElement => {
|
|
165
|
+
_removeObservedElementFromRegisteredElement(registeredElement, observedElement);
|
|
166
|
+
});
|
|
167
|
+
el.detachInvalidate(registeredElement.invalidationCallback);
|
|
168
|
+
registeredElements.delete(el);
|
|
169
|
+
};
|
|
170
|
+
export { getEffectiveAriaLabelText, getAssociatedLabelForTexts, registerUI5Element, deregisterUI5Element, getAllAccessibleNameRefTexts, };
|
|
44
171
|
//# sourceMappingURL=AriaLabelHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AriaLabelHelper.js","sourceRoot":"","sources":["../../src/util/AriaLabelHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AriaLabelHelper.js","sourceRoot":"","sources":["../../src/util/AriaLabelHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,12 +21,15 @@ const isElemFocusable = (el) => {
|
|
|
21
21
|
};
|
|
22
22
|
const findFocusableElement = async (container, forward, startFromContainer) => {
|
|
23
23
|
let child;
|
|
24
|
+
let assignedElements;
|
|
25
|
+
let currentIndex = -1;
|
|
24
26
|
if (container.shadowRoot) {
|
|
25
27
|
child = forward ? container.shadowRoot.firstChild : container.shadowRoot.lastChild;
|
|
26
28
|
}
|
|
27
29
|
else if (container instanceof HTMLSlotElement && container.assignedNodes()) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
assignedElements = container.assignedNodes();
|
|
31
|
+
currentIndex = forward ? 0 : assignedElements.length - 1;
|
|
32
|
+
child = assignedElements[currentIndex];
|
|
30
33
|
}
|
|
31
34
|
else if (startFromContainer) {
|
|
32
35
|
child = container;
|
|
@@ -54,6 +57,12 @@ const findFocusableElement = async (container, forward, startFromContainer) => {
|
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
child = forward ? originalChild.nextSibling : originalChild.previousSibling;
|
|
60
|
+
// If the child element is not part of the currently assigned element,
|
|
61
|
+
// we have to check the next element assigned to the slot or continue with the next sibling of the slot,
|
|
62
|
+
// otherwise, the nextSibling is the next element inside the light DOM
|
|
63
|
+
if (assignedElements && !assignedElements[currentIndex].contains(child)) {
|
|
64
|
+
child = assignedElements[++currentIndex];
|
|
65
|
+
}
|
|
57
66
|
}
|
|
58
67
|
/* eslint-enable no-await-in-loop */
|
|
59
68
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocusableElements.js","sourceRoot":"","sources":["../../src/util/FocusableElements.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,MAAM,WAAW,GAAG,CAAC,EAAe,EAAE,EAAE;IACvC,OAAO,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,KAAK,EAAE,SAAsB,EAAE,kBAA4B,EAA2B,EAAE;IACxH,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;QAC7C,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EAAE,SAAsB,EAAE,kBAA4B,EAA2B,EAAE;IACvH,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;QAC7C,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAe,EAAE,EAAE;IAC3C,OAAO,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAAE,SAAsB,EAAE,OAAgB,EAAE,kBAA4B,EAA2B,EAAE;IACtI,IAAI,KAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"FocusableElements.js","sourceRoot":"","sources":["../../src/util/FocusableElements.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,10 +60,10 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
60
60
|
getDomRef(): HTMLElement | undefined;
|
|
61
61
|
getFocusDomRef(): HTMLElement | undefined;
|
|
62
62
|
getFocusDomRefAsync(): Promise<HTMLElement | undefined>;
|
|
63
|
-
focus(): Promise<void>;
|
|
63
|
+
focus(focusOptions?: FocusOptions | undefined): Promise<void>;
|
|
64
64
|
fireEvent<T>(name: string, data?: T | undefined, cancelable?: boolean, bubbles?: boolean): boolean;
|
|
65
65
|
_fireEvent<T_1>(name: string, data?: T_1 | undefined, cancelable?: boolean, bubbles?: boolean): boolean;
|
|
66
|
-
getSlottedNodes(slotName: string):
|
|
66
|
+
getSlottedNodes<T_2 = Node>(slotName: string): T_2[];
|
|
67
67
|
readonly effectiveDir: string | undefined;
|
|
68
68
|
readonly isUI5Element: boolean;
|
|
69
69
|
readonly classes: import("../types.js").ClassMap;
|
|
@@ -174,21 +174,21 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
174
174
|
readonly parentNode: ParentNode | null;
|
|
175
175
|
readonly previousSibling: ChildNode | null;
|
|
176
176
|
textContent: string | null;
|
|
177
|
-
appendChild<
|
|
177
|
+
appendChild<T_3 extends Node>(node: T_3): T_3;
|
|
178
178
|
cloneNode(deep?: boolean | undefined): Node;
|
|
179
179
|
compareDocumentPosition(other: Node): number;
|
|
180
180
|
contains(other: Node | null): boolean;
|
|
181
181
|
getRootNode(options?: GetRootNodeOptions | undefined): Node;
|
|
182
182
|
hasChildNodes(): boolean;
|
|
183
|
-
insertBefore<
|
|
183
|
+
insertBefore<T_4 extends Node>(node: T_4, child: Node | null): T_4;
|
|
184
184
|
isDefaultNamespace(namespace: string | null): boolean;
|
|
185
185
|
isEqualNode(otherNode: Node | null): boolean;
|
|
186
186
|
isSameNode(otherNode: Node | null): boolean;
|
|
187
187
|
lookupNamespaceURI(prefix: string | null): string | null;
|
|
188
188
|
lookupPrefix(namespace: string | null): string | null;
|
|
189
189
|
normalize(): void;
|
|
190
|
-
removeChild<
|
|
191
|
-
replaceChild<
|
|
190
|
+
removeChild<T_5 extends Node>(child: T_5): T_5;
|
|
191
|
+
replaceChild<T_6 extends Node>(node: Node, child: T_6): T_6;
|
|
192
192
|
readonly ATTRIBUTE_NODE: number;
|
|
193
193
|
readonly CDATA_SECTION_NODE: number;
|
|
194
194
|
readonly COMMENT_NODE: number;
|
|
@@ -379,9 +379,8 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
|
|
|
379
379
|
template?: import("../renderer/executeTemplate.js").TemplateFunction | undefined;
|
|
380
380
|
staticAreaTemplate?: import("../renderer/executeTemplate.js").TemplateFunction | undefined;
|
|
381
381
|
_metadata: import("../UI5ElementMetadata.js").default;
|
|
382
|
-
render: (
|
|
383
|
-
|
|
384
|
-
}) => void;
|
|
382
|
+
render: import("../UI5Element.js").Renderer;
|
|
383
|
+
renderer?: import("../UI5Element.js").Renderer | undefined;
|
|
385
384
|
readonly observedAttributes: string[];
|
|
386
385
|
_needsShadowDOM(): boolean;
|
|
387
386
|
_needsStaticArea(): boolean;
|