@ui5/webcomponents-base 0.0.0-96e98c995 → 0.0.0-97cba4b0b

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.
Files changed (161) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +83 -0
  3. package/bundle.esm.js +3 -1
  4. package/dist/Boot.d.ts +4 -3
  5. package/dist/Boot.js +17 -4
  6. package/dist/Boot.js.map +1 -1
  7. package/dist/Device.js +109 -34
  8. package/dist/Device.js.map +1 -1
  9. package/dist/InitialConfiguration.js +1 -1
  10. package/dist/InitialConfiguration.js.map +1 -1
  11. package/dist/UI5Element.d.ts +20 -15
  12. package/dist/UI5Element.js +10 -22
  13. package/dist/UI5Element.js.map +1 -1
  14. package/dist/api.json +1 -1
  15. package/dist/asset-registries/Icons.d.ts +1 -1
  16. package/dist/asset-registries/Icons.js +21 -21
  17. package/dist/asset-registries/Icons.js.map +1 -1
  18. package/dist/asset-registries/Illustrations.d.ts +1 -1
  19. package/dist/asset-registries/Themes.d.ts +1 -0
  20. package/dist/assets/Boot.1c716721.js +9 -0
  21. package/dist/assets/Boot.6335ce08.css +1 -0
  22. package/dist/assets/bundle.esm.2f0ab67f.js +52 -0
  23. package/dist/assets-meta/IconCollectionsAlias.d.ts +24 -10
  24. package/dist/assets-meta/IconCollectionsAlias.js +29 -9
  25. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -1
  26. package/dist/config/FormatSettings.d.ts +5 -1
  27. package/dist/config/FormatSettings.js +5 -1
  28. package/dist/config/FormatSettings.js.map +1 -1
  29. package/dist/config/Icons.d.ts +43 -18
  30. package/dist/config/Icons.js +80 -25
  31. package/dist/config/Icons.js.map +1 -1
  32. package/dist/config/RTL.js +3 -0
  33. package/dist/config/RTL.js.map +1 -1
  34. package/dist/decorators/customElement.d.ts +17 -2
  35. package/dist/decorators/customElement.js +20 -5
  36. package/dist/decorators/customElement.js.map +1 -1
  37. package/dist/decorators/event.js +6 -6
  38. package/dist/decorators/event.js.map +1 -1
  39. package/dist/decorators/property.js +6 -6
  40. package/dist/decorators/property.js.map +1 -1
  41. package/dist/decorators/slot.js +7 -7
  42. package/dist/decorators/slot.js.map +1 -1
  43. package/dist/delegate/ResizeHandler.d.ts +2 -1
  44. package/dist/delegate/ResizeHandler.js +3 -1
  45. package/dist/delegate/ResizeHandler.js.map +1 -1
  46. package/dist/features/F6Navigation.d.ts +3 -0
  47. package/dist/features/F6Navigation.js +77 -38
  48. package/dist/features/F6Navigation.js.map +1 -1
  49. package/dist/features/LegacyDateFormats.d.ts +18 -0
  50. package/dist/features/LegacyDateFormats.js +20 -0
  51. package/dist/features/LegacyDateFormats.js.map +1 -0
  52. package/dist/features/OpenUI5Support.d.ts +2 -0
  53. package/dist/features/OpenUI5Support.js +1 -0
  54. package/dist/features/OpenUI5Support.js.map +1 -1
  55. package/dist/generated/VersionInfo.js +3 -3
  56. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  57. package/dist/generated/css/BusyIndicator.css.js +7 -5
  58. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  59. package/dist/generated/css/FontFace.css.d.ts +3 -0
  60. package/dist/generated/css/FontFace.css.js +7 -5
  61. package/dist/generated/css/FontFace.css.js.map +1 -0
  62. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  63. package/dist/generated/css/OverrideFontFace.css.js +7 -5
  64. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  65. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  66. package/dist/generated/css/SystemCSSVars.css.js +7 -5
  67. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  68. package/dist/getSharedResource.js +9 -1
  69. package/dist/getSharedResource.js.map +1 -1
  70. package/dist/global.d.ts +0 -6
  71. package/dist/renderer/LitRenderer.d.ts +3 -3
  72. package/dist/renderer/LitRenderer.js.map +1 -1
  73. package/dist/theming/CustomStyle.js +7 -5
  74. package/dist/theming/CustomStyle.js.map +1 -1
  75. package/dist/theming/getStylesString.d.ts +1 -1
  76. package/dist/types/AnimationMode.d.ts +1 -1
  77. package/dist/types/AnimationMode.js +1 -1
  78. package/dist/types/CSSColor.d.ts +0 -1
  79. package/dist/types/CSSColor.js +0 -1
  80. package/dist/types/CSSColor.js.map +1 -1
  81. package/dist/types/CalendarType.d.ts +1 -1
  82. package/dist/types/CalendarType.js +1 -1
  83. package/dist/types/Float.d.ts +0 -1
  84. package/dist/types/Float.js +0 -1
  85. package/dist/types/Float.js.map +1 -1
  86. package/dist/types/Integer.d.ts +0 -1
  87. package/dist/types/Integer.js +0 -1
  88. package/dist/types/Integer.js.map +1 -1
  89. package/dist/types/InvisibleMessageMode.d.ts +1 -1
  90. package/dist/types/InvisibleMessageMode.js +1 -1
  91. package/dist/types/ItemNavigationBehavior.d.ts +1 -1
  92. package/dist/types/ItemNavigationBehavior.js +1 -1
  93. package/dist/types/NavigationMode.d.ts +1 -1
  94. package/dist/types/NavigationMode.js +1 -1
  95. package/dist/types/ValueState.d.ts +1 -1
  96. package/dist/types/ValueState.js +1 -1
  97. package/dist/updateShadowRoot.js +4 -0
  98. package/dist/updateShadowRoot.js.map +1 -1
  99. package/dist/util/AriaLabelHelper.d.ts +10 -1
  100. package/dist/util/AriaLabelHelper.js +135 -8
  101. package/dist/util/AriaLabelHelper.js.map +1 -1
  102. package/dist/util/FocusableElements.js +11 -2
  103. package/dist/util/FocusableElements.js.map +1 -1
  104. package/dist/util/getClassCopy.d.ts +8 -10
  105. package/lib/generate-styles/index.js +10 -5
  106. package/package-scripts.js +8 -4
  107. package/package.json +2 -2
  108. package/src/Boot.ts +20 -5
  109. package/src/Device.ts +113 -34
  110. package/src/InitialConfiguration.ts +1 -1
  111. package/src/UI5Element.ts +31 -27
  112. package/src/asset-registries/Icons.ts +26 -27
  113. package/src/asset-registries/Illustrations.ts +1 -1
  114. package/src/asset-registries/Themes.ts +5 -0
  115. package/src/assets-meta/IconCollectionsAlias.ts +32 -9
  116. package/src/config/FormatSettings.ts +16 -2
  117. package/src/config/Icons.ts +92 -25
  118. package/src/config/RTL.ts +4 -0
  119. package/src/decorators/customElement.ts +45 -5
  120. package/src/decorators/event.ts +6 -6
  121. package/src/decorators/property.ts +6 -6
  122. package/src/decorators/slot.ts +7 -7
  123. package/src/delegate/ResizeHandler.ts +7 -2
  124. package/src/features/F6Navigation.ts +98 -44
  125. package/src/features/LegacyDateFormats.ts +40 -0
  126. package/src/features/OpenUI5Support.ts +5 -0
  127. package/src/generated/css/BusyIndicator.css.ts +9 -0
  128. package/src/generated/css/FontFace.css.ts +9 -0
  129. package/src/generated/css/OverrideFontFace.css.ts +9 -0
  130. package/src/generated/css/SystemCSSVars.css.ts +9 -0
  131. package/src/getSharedResource.ts +10 -1
  132. package/src/global.d.ts +0 -6
  133. package/src/renderer/LitRenderer.ts +2 -2
  134. package/src/theming/CustomStyle.ts +7 -5
  135. package/src/theming/getEffectiveLinksHrefs.ts +1 -1
  136. package/src/theming/getStylesString.ts +1 -1
  137. package/src/types/AnimationMode.ts +1 -1
  138. package/src/types/CSSColor.ts +0 -1
  139. package/src/types/CalendarType.ts +1 -1
  140. package/src/types/Float.ts +0 -1
  141. package/src/types/Integer.ts +0 -1
  142. package/src/types/InvisibleMessageMode.ts +1 -1
  143. package/src/types/ItemNavigationBehavior.ts +1 -1
  144. package/src/types/NavigationMode.ts +1 -1
  145. package/src/types/ValueState.ts +1 -1
  146. package/src/updateShadowRoot.ts +5 -0
  147. package/src/util/AriaLabelHelper.ts +167 -12
  148. package/src/util/FocusableElements.ts +12 -2
  149. package/dist/assets/bundle.esm.ba5d36d4.js +0 -56
  150. package/dist/decorators/fastNavigation.d.ts +0 -7
  151. package/dist/decorators/fastNavigation.js +0 -13
  152. package/dist/decorators/fastNavigation.js.map +0 -1
  153. package/dist/decorators/languageAware.d.ts +0 -7
  154. package/dist/decorators/languageAware.js +0 -13
  155. package/dist/decorators/languageAware.js.map +0 -1
  156. package/dist/decorators/themeAware.d.ts +0 -7
  157. package/dist/decorators/themeAware.js +0 -13
  158. package/dist/decorators/themeAware.js.map +0 -1
  159. package/src/decorators/fastNavigation.ts +0 -14
  160. package/src/decorators/languageAware.ts +0 -14
  161. package/src/decorators/themeAware.ts +0 -14
@@ -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 eventProvider = getSharedResource("CustomStyle.eventProvider", new EventProvider());
4
+ const getEventProvider = () => getSharedResource("CustomStyle.eventProvider", new EventProvider());
5
5
  const CUSTOM_CSS_CHANGE = "CustomCSSChange";
6
6
  const attachCustomCSSChange = (listener) => {
7
- eventProvider.attachEvent(CUSTOM_CSS_CHANGE, listener);
7
+ getEventProvider().attachEvent(CUSTOM_CSS_CHANGE, listener);
8
8
  };
9
9
  const detachCustomCSSChange = (listener) => {
10
- eventProvider.detachEvent(CUSTOM_CSS_CHANGE, listener);
10
+ getEventProvider().detachEvent(CUSTOM_CSS_CHANGE, listener);
11
11
  };
12
12
  const fireCustomCSSChange = (tag) => {
13
- return eventProvider.fireEvent(CUSTOM_CSS_CHANGE, tag);
13
+ return getEventProvider().fireEvent(CUSTOM_CSS_CHANGE, tag);
14
14
  };
15
- const customCSSFor = getSharedResource("CustomStyle.customCSSFor", {});
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,aAAa,GAAG,iBAAiB,CAAC,2BAA2B,EAAE,IAAI,aAAa,EAAgB,CAAC,CAAC;AACxG,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAAE,EAAE;IACnE,aAAa,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,OAAO,aAAa,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,iBAAiB,CAAgC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAEtG,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,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,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"}
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"}
@@ -1,3 +1,3 @@
1
- import { ComponentStylesData } from "../types.js";
1
+ import type { ComponentStylesData } from "../types.js";
2
2
  declare const getStylesString: (styles: ComponentStylesData) => string;
3
3
  export default getStylesString;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different types of AnimationMode.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different types of AnimationMode.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -8,7 +8,6 @@ import DataType from "./DataType.js";
8
8
  * @author SAP SE
9
9
  * @alias sap.ui.webc.base.types.CSSColor
10
10
  * @public
11
- * @enum {string}
12
11
  */
13
12
  declare class CSSColor extends DataType {
14
13
  static isValid(value: string): boolean;
@@ -8,7 +8,6 @@ import DataType from "./DataType.js";
8
8
  * @author SAP SE
9
9
  * @alias sap.ui.webc.base.types.CSSColor
10
10
  * @public
11
- * @enum {string}
12
11
  */
13
12
  class CSSColor extends DataType {
14
13
  static isValid(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"CSSColor.js","sourceRoot":"","sources":["../../src/types/CSSColor.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;;;;;;GAUG;AACH,MAAM,QAAS,SAAQ,QAAQ;IAC9B,MAAM,CAAU,OAAO,CAAC,KAAa;QACpC,OAAO,8/DAA8/D,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,sBAAsB;IAC3iE,CAAC;CACD;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"CSSColor.js","sourceRoot":"","sources":["../../src/types/CSSColor.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;;;;;GASG;AACH,MAAM,QAAS,SAAQ,QAAQ;IAC9B,MAAM,CAAU,OAAO,CAAC,KAAa;QACpC,OAAO,8/DAA8/D,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,sBAAsB;IAC3iE,CAAC;CACD;AAED,eAAe,QAAQ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different calendar types.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different calendar types.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -9,7 +9,6 @@ import DataType from "./DataType.js";
9
9
  * @author SAP SE
10
10
  * @alias sap.ui.webc.base.types.Float
11
11
  * @public
12
- * @enum {number}
13
12
  */
14
13
  declare class Float extends DataType {
15
14
  static isValid(value: any): boolean;
@@ -8,7 +8,6 @@ import DataType from "./DataType.js";
8
8
  * @author SAP SE
9
9
  * @alias sap.ui.webc.base.types.Float
10
10
  * @public
11
- * @enum {number}
12
11
  */
13
12
  class Float extends DataType {
14
13
  static isValid(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"Float.js","sourceRoot":"","sources":["../../src/types/Float.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;;;;;;GAUG;AACH,MAAM,KAAM,SAAQ,QAAQ;IAC3B,MAAM,CAAU,OAAO,CAAC,KAAU;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;IAChC,CAAC;IAED,MAAM,CAAU,mBAAmB,CAAC,cAAsB;QACzD,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;CACD;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Float.js","sourceRoot":"","sources":["../../src/types/Float.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;;;;;GASG;AACH,MAAM,KAAM,SAAQ,QAAQ;IAC3B,MAAM,CAAU,OAAO,CAAC,KAAU;QACjC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;IAChC,CAAC;IAED,MAAM,CAAU,mBAAmB,CAAC,cAAsB;QACzD,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;CACD;AAED,eAAe,KAAK,CAAC"}
@@ -9,7 +9,6 @@ import DataType from "./DataType.js";
9
9
  * @author SAP SE
10
10
  * @alias sap.ui.webc.base.types.Integer
11
11
  * @public
12
- * @enum {number}
13
12
  */
14
13
  declare class Integer extends DataType {
15
14
  static isValid(value: any): boolean;
@@ -8,7 +8,6 @@ import DataType from "./DataType.js";
8
8
  * @author SAP SE
9
9
  * @alias sap.ui.webc.base.types.Integer
10
10
  * @public
11
- * @enum {number}
12
11
  */
13
12
  class Integer extends DataType {
14
13
  static isValid(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"Integer.js","sourceRoot":"","sources":["../../src/types/Integer.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;;;;;;GAUG;AACH,MAAM,OAAQ,SAAQ,QAAQ;IAC7B,MAAM,CAAU,OAAO,CAAC,KAAU;QACjC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAU,mBAAmB,CAAC,cAAsB;QACzD,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;CACD;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Integer.js","sourceRoot":"","sources":["../../src/types/Integer.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;;;;;GASG;AACH,MAAM,OAAQ,SAAQ,QAAQ;IAC7B,MAAM,CAAU,OAAO,CAAC,KAAU;QACjC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAU,mBAAmB,CAAC,cAAsB;QACzD,OAAO,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;CACD;AAED,eAAe,OAAO,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Enumeration for different mode behaviors of the InvisibleMessage.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Enumeration for different mode behaviors of the InvisibleMessage.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different behavior for ItemNavigation.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different behavior for ItemNavigation.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different navigation modes for ItemNavigation.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different navigation modes for ItemNavigation.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different types of ValueStates.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Different types of ValueStates.
3
3
  *
4
- * @class
4
+ * @readonly
5
5
  * @enum {string}
6
6
  * @public
7
7
  * @author SAP SE
@@ -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
- export { getEffectiveAriaLabelText, getAssociatedLabelForTexts, };
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 _getAriaLabelledByTexts(el);
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 _getAriaLabelledByTexts = (el) => {
16
- const ids = el.accessibleNameRef.split(" ");
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
- result += `${element && element.textContent ? element.textContent : ""}`;
22
- if (index < ids.length - 1) {
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 = el.getRootNode().querySelectorAll(`[ui5-label][for="${el.id}"],label[for="${el.id}"]`);
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
- export { getEffectiveAriaLabelText, getAssociatedLabelForTexts, };
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":"AAKA,MAAM,yBAAyB,GAAG,CAAC,EAAe,EAAE,EAAE;IACrD,MAAM,YAAY,GAAG,EAAuB,CAAC;IAE7C,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;QACpC,IAAI,YAAY,CAAC,cAAc,EAAE;YAChC,OAAO,YAAY,CAAC,cAAc,CAAC;SACnC;QAED,OAAO,SAAS,CAAC;KACjB;IAED,OAAO,uBAAuB,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,EAAe,EAAE,EAAE;IACnD,MAAM,GAAG,GAAI,EAAwB,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,EAAiB,CAAC;IAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,GAAG,CAAC,OAAO,CAAC,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,SAAS,IAAI,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAEzE,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,GAAG,CAAC;SACd;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,EAAe,EAAE,EAAE;IACtD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,MAAM,GAAI,EAAE,CAAC,WAAW,EAAkB,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAEvH,MAAM,CAAC,OAAO,CAAC,CAAC,KAAW,EAAE,EAAE;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC;QACpC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,EAAE;QACnB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;IAED,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,EACN,yBAAyB,EACzB,0BAA0B,GAC1B,CAAC"}
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
- const assignedElements = container.assignedNodes();
29
- child = forward ? assignedElements[0] : assignedElements[assignedElements.length - 1];
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;IAEnC,IAAI,SAAS,CAAC,UAAU,EAAE;QACzB,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAwB,CAAC;KACjH;SAAM,IAAI,SAAS,YAAY,eAAe,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE;QAC7E,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QACnD,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAgB,CAAC;KACpH;SAAM,IAAI,kBAAkB,EAAE;QAC9B,KAAK,GAAG,SAAS,CAAC;KAClB;SAAM;QACN,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAgC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAA+B,CAAC;KACzG;IAED,IAAI,mBAAmB,CAAC;IAExB,qCAAqC;IAErC,OAAO,KAAK,EAAE;QACb,MAAM,aAAa,GAA4B,KAAK,CAAC;QAErD,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAChC,KAAK,GAAG,MAAM,KAAK,CAAC,mBAAmB,EAAE,CAAC;SAC1C;QAED,IAAI,CAAC,KAAK,EAAE;YACX,OAAO,IAAI,CAAC;SACZ;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC1E,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;aACnE;YAED,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACjE,IAAI,mBAAmB,EAAE;gBACxB,OAAO,CAAC,mBAAmB,IAAI,OAAO,mBAAmB,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;aAC7G;SACD;QAED,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,WAA0B,CAAC,CAAC,CAAC,aAAa,CAAC,eAA8B,CAAC;KAC1G;IAED,oCAAoC;IAEpC,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,OAAO,EACN,wBAAwB,EACxB,uBAAuB,GACvB,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): Node[];
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<T_2 extends Node>(node: T_2): T_2;
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<T_3 extends Node>(node: T_3, child: Node | null): T_3;
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<T_4 extends Node>(child: T_4): T_4;
191
- replaceChild<T_5 extends Node>(node: Node, child: T_5): T_5;
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: (templateFunctionResult: object, container: HTMLElement | DocumentFragment, styleStrOrHrefsArr: string | string[] | undefined, forStaticArea: boolean, options: {
383
- host: HTMLElement;
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;
@@ -395,6 +394,5 @@ declare const getClassCopy: (klass: typeof UI5Element, constructorCallback: () =
395
394
  onDefine(): Promise<void>;
396
395
  define(): Promise<typeof UI5Element>;
397
396
  getMetadata(): import("../UI5ElementMetadata.js").default;
398
- decoratorMetadata: import("../UI5ElementMetadata.js").Metadata;
399
397
  };
400
398
  export default getClassCopy;
@@ -3,19 +3,24 @@ const path = require('path');
3
3
  const CleanCSS = require('clean-css');
4
4
 
5
5
  const generate = async () => {
6
- await fs.mkdir("dist/generated/css/", {recursive: true});
6
+ await fs.mkdir("src/generated/css/", {recursive: true});
7
7
 
8
8
  const files = (await fs.readdir("src/css/")).filter(file => file.endsWith(".css"));
9
9
  const filesPromises = files.map(async file => {
10
10
  let content = await fs.readFile(path.join("src/css/", file));
11
11
  const res = new CleanCSS().minify(`${content}`);
12
- content = `export default {
12
+ content = `import type { StyleData } from "../../types.js";
13
+
14
+ const styleData: StyleData = {
13
15
  packageName: "@ui5/webcomponents-base",
14
16
  fileName: "${file}",
15
- content: \`${res.styles}\`
16
- };`;
17
+ content: \`${res.styles}\`,
18
+ };
19
+
20
+ export default styleData;
21
+ `;
17
22
 
18
- return fs.writeFile(path.join("dist/generated/css/", `${file}.js`), content);
23
+ return fs.writeFile(path.join("src/generated/css/", `${file}.ts`), content);
19
24
  });
20
25
 
21
26
  return Promise.all(filesPromises);