@ui5/webcomponents-base 0.0.0-11d529e8a → 0.0.0-16e630735

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 (615) hide show
  1. package/.eslintignore +8 -5
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +558 -0
  4. package/README.md +29 -8
  5. package/bundle.esm.js +18 -13
  6. package/config/wdio.conf.cjs +400 -0
  7. package/{src/AssetRegistry.js → dist/AssetRegistry.d.ts} +1 -7
  8. package/dist/AssetRegistry.js +2 -7
  9. package/dist/AssetRegistry.js.map +1 -0
  10. package/dist/Boot.d.ts +9 -0
  11. package/dist/Boot.js +56 -28
  12. package/dist/Boot.js.map +1 -0
  13. package/dist/CSP.d.ts +30 -0
  14. package/dist/CSP.js +51 -0
  15. package/dist/CSP.js.map +1 -0
  16. package/dist/CustomElementsRegistry.d.ts +5 -0
  17. package/dist/CustomElementsRegistry.js +69 -30
  18. package/dist/CustomElementsRegistry.js.map +1 -0
  19. package/dist/CustomElementsScope.d.ts +7 -0
  20. package/dist/CustomElementsScope.js +11 -108
  21. package/dist/CustomElementsScope.js.map +1 -0
  22. package/dist/CustomElementsScopeUtils.d.ts +55 -0
  23. package/{src/CustomElementsScope.js → dist/CustomElementsScopeUtils.js} +34 -52
  24. package/dist/CustomElementsScopeUtils.js.map +1 -0
  25. package/dist/DOMObserver.d.ts +11 -0
  26. package/dist/DOMObserver.js +12 -54
  27. package/dist/DOMObserver.js.map +1 -0
  28. package/dist/Device.d.ts +12 -0
  29. package/dist/Device.js +150 -86
  30. package/dist/Device.js.map +1 -0
  31. package/dist/EventProvider.d.ts +25 -0
  32. package/dist/EventProvider.js +67 -82
  33. package/dist/EventProvider.js.map +1 -0
  34. package/dist/FeaturesRegistry.d.ts +3 -0
  35. package/dist/FeaturesRegistry.js +5 -7
  36. package/dist/FeaturesRegistry.js.map +1 -0
  37. package/dist/FontFace.d.ts +2 -0
  38. package/dist/FontFace.js +17 -110
  39. package/dist/FontFace.js.map +1 -0
  40. package/dist/InitialConfiguration.d.ts +27 -0
  41. package/dist/InitialConfiguration.js +120 -119
  42. package/dist/InitialConfiguration.js.map +1 -0
  43. package/dist/Keys.d.ts +57 -0
  44. package/dist/Keys.js +174 -244
  45. package/dist/Keys.js.map +1 -0
  46. package/dist/ManagedStyles.d.ts +8 -0
  47. package/dist/ManagedStyles.js +77 -0
  48. package/dist/ManagedStyles.js.map +1 -0
  49. package/dist/MarkedEvents.d.ts +9 -0
  50. package/dist/MarkedEvents.js +15 -0
  51. package/dist/MarkedEvents.js.map +1 -0
  52. package/dist/MediaRange.d.ts +37 -0
  53. package/dist/MediaRange.js +54 -65
  54. package/dist/MediaRange.js.map +1 -0
  55. package/dist/PropertiesFileFormat.d.ts +8 -0
  56. package/dist/PropertiesFileFormat.js +72 -82
  57. package/dist/PropertiesFileFormat.js.map +1 -0
  58. package/dist/Render.d.ts +47 -0
  59. package/dist/Render.js +82 -112
  60. package/dist/Render.js.map +1 -0
  61. package/dist/RenderQueue.d.ts +19 -0
  62. package/dist/RenderQueue.js +52 -62
  63. package/dist/RenderQueue.js.map +1 -0
  64. package/dist/Runtimes.d.ts +27 -0
  65. package/dist/Runtimes.js +86 -0
  66. package/dist/Runtimes.js.map +1 -0
  67. package/dist/StaticArea.d.ts +3 -0
  68. package/dist/StaticArea.js +5 -1
  69. package/dist/StaticArea.js.map +1 -0
  70. package/dist/StaticAreaItem.d.ts +36 -0
  71. package/dist/StaticAreaItem.js +85 -93
  72. package/dist/StaticAreaItem.js.map +1 -0
  73. package/dist/SystemCSSVars.d.ts +2 -0
  74. package/dist/SystemCSSVars.js +6 -28
  75. package/dist/SystemCSSVars.js.map +1 -0
  76. package/{src/Theming.js → dist/Theming.d.ts} +0 -1
  77. package/dist/Theming.js +1 -1
  78. package/dist/Theming.js.map +1 -0
  79. package/dist/UI5Element.d.ts +378 -0
  80. package/dist/UI5Element.js +918 -989
  81. package/dist/UI5Element.js.map +1 -0
  82. package/dist/UI5ElementMetadata.d.ts +150 -0
  83. package/dist/UI5ElementMetadata.js +278 -298
  84. package/dist/UI5ElementMetadata.js.map +1 -0
  85. package/dist/animations/AnimationQueue.d.ts +8 -0
  86. package/dist/animations/AnimationQueue.js +31 -38
  87. package/dist/animations/AnimationQueue.js.map +1 -0
  88. package/dist/animations/animate.d.ts +14 -0
  89. package/dist/animations/animate.js +46 -51
  90. package/dist/animations/animate.js.map +1 -0
  91. package/dist/animations/scroll.d.ts +5 -0
  92. package/dist/animations/scroll.js +18 -27
  93. package/dist/animations/scroll.js.map +1 -0
  94. package/dist/animations/slideDown.d.ts +5 -0
  95. package/dist/animations/slideDown.js +53 -78
  96. package/dist/animations/slideDown.js.map +1 -0
  97. package/dist/animations/slideUp.d.ts +5 -0
  98. package/dist/animations/slideUp.js +49 -70
  99. package/dist/animations/slideUp.js.map +1 -0
  100. package/dist/api.json +1 -0
  101. package/dist/asset-registries/Icons.d.ts +38 -0
  102. package/dist/asset-registries/Icons.js +109 -112
  103. package/dist/asset-registries/Icons.js.map +1 -0
  104. package/dist/asset-registries/Illustrations.d.ts +17 -0
  105. package/dist/asset-registries/Illustrations.js +41 -25
  106. package/dist/asset-registries/Illustrations.js.map +1 -0
  107. package/dist/asset-registries/LocaleData.d.ts +7 -0
  108. package/dist/asset-registries/LocaleData.js +104 -118
  109. package/dist/asset-registries/LocaleData.js.map +1 -0
  110. package/dist/asset-registries/Themes.d.ts +11 -0
  111. package/dist/asset-registries/Themes.js +40 -66
  112. package/dist/asset-registries/Themes.js.map +1 -0
  113. package/dist/asset-registries/i18n.d.ts +23 -0
  114. package/dist/asset-registries/i18n.js +61 -81
  115. package/dist/asset-registries/i18n.js.map +1 -0
  116. package/dist/assets/Boot.34b7cea0.css +1 -0
  117. package/dist/assets/Boot.36045cec.js +9 -0
  118. package/dist/assets/bundle.esm.0c6464c8.js +50 -0
  119. package/dist/assets-meta/IconCollectionsAlias.d.ts +31 -0
  120. package/dist/assets-meta/IconCollectionsAlias.js +38 -0
  121. package/dist/assets-meta/IconCollectionsAlias.js.map +1 -0
  122. package/dist/config/AnimationMode.d.ts +14 -0
  123. package/dist/config/AnimationMode.js +21 -18
  124. package/dist/config/AnimationMode.js.map +1 -0
  125. package/dist/config/CalendarType.d.ts +8 -0
  126. package/dist/config/CalendarType.js +13 -12
  127. package/dist/config/CalendarType.js.map +1 -0
  128. package/dist/config/FormatSettings.d.ts +15 -0
  129. package/dist/config/FormatSettings.js +15 -9
  130. package/dist/config/FormatSettings.js.map +1 -0
  131. package/dist/config/Icons.d.ts +55 -0
  132. package/dist/config/Icons.js +103 -0
  133. package/dist/config/Icons.js.map +1 -0
  134. package/dist/config/Language.d.ts +40 -0
  135. package/dist/config/Language.js +43 -43
  136. package/dist/config/Language.js.map +1 -0
  137. package/dist/config/NoConflict.d.ts +20 -0
  138. package/dist/config/NoConflict.js +41 -41
  139. package/dist/config/NoConflict.js.map +1 -0
  140. package/dist/config/RTL.d.ts +7 -0
  141. package/dist/config/RTL.js +26 -20
  142. package/dist/config/RTL.js.map +1 -0
  143. package/dist/config/Theme.d.ts +38 -0
  144. package/dist/config/Theme.js +64 -22
  145. package/dist/config/Theme.js.map +1 -0
  146. package/dist/config/ThemeRoots.d.ts +4 -0
  147. package/dist/config/ThemeRoots.js +28 -0
  148. package/dist/config/ThemeRoots.js.map +1 -0
  149. package/dist/config/Timezone.d.ts +17 -0
  150. package/dist/config/Timezone.js +30 -0
  151. package/dist/config/Timezone.js.map +1 -0
  152. package/dist/css/BusyIndicator.css +80 -0
  153. package/dist/css/FontFace.css +66 -0
  154. package/dist/css/OverrideFontFace.css +32 -0
  155. package/dist/css/SystemCSSVars.css +17 -0
  156. package/dist/decorators/customElement.d.ts +23 -0
  157. package/dist/decorators/customElement.js +37 -0
  158. package/dist/decorators/customElement.js.map +1 -0
  159. package/dist/decorators/event.d.ts +10 -0
  160. package/dist/decorators/event.js +24 -0
  161. package/dist/decorators/event.js.map +1 -0
  162. package/dist/decorators/property.d.ts +9 -0
  163. package/dist/decorators/property.js +24 -0
  164. package/dist/decorators/property.js.map +1 -0
  165. package/dist/decorators/slot.d.ts +9 -0
  166. package/dist/decorators/slot.js +37 -0
  167. package/dist/decorators/slot.js.map +1 -0
  168. package/dist/delegate/ItemNavigation.d.ts +113 -0
  169. package/dist/delegate/ItemNavigation.js +277 -312
  170. package/dist/delegate/ItemNavigation.js.map +1 -0
  171. package/dist/delegate/ResizeHandler.d.ts +25 -0
  172. package/dist/delegate/ResizeHandler.js +72 -91
  173. package/dist/delegate/ResizeHandler.js.map +1 -0
  174. package/dist/delegate/ScrollEnablement.d.ts +49 -0
  175. package/dist/delegate/ScrollEnablement.js +157 -180
  176. package/dist/delegate/ScrollEnablement.js.map +1 -0
  177. package/dist/features/F6Navigation.d.ts +19 -0
  178. package/dist/features/F6Navigation.js +151 -0
  179. package/dist/features/F6Navigation.js.map +1 -0
  180. package/dist/features/LegacyDateFormats.d.ts +18 -0
  181. package/dist/features/LegacyDateFormats.js +20 -0
  182. package/dist/features/LegacyDateFormats.js.map +1 -0
  183. package/dist/features/OpenUI5Element.d.ts +9 -0
  184. package/dist/features/OpenUI5Element.js +5 -0
  185. package/dist/features/OpenUI5Element.js.map +1 -0
  186. package/dist/features/OpenUI5Enablement.d.ts +11 -0
  187. package/dist/features/OpenUI5Enablement.js +96 -0
  188. package/dist/features/OpenUI5Enablement.js.map +1 -0
  189. package/dist/features/OpenUI5Support.d.ts +26 -0
  190. package/dist/features/OpenUI5Support.js +93 -119
  191. package/dist/features/OpenUI5Support.js.map +1 -0
  192. package/dist/generated/AssetParameters.js +3 -1
  193. package/dist/generated/VersionInfo.js +10 -0
  194. package/dist/generated/css/BusyIndicator.css.d.ts +3 -0
  195. package/dist/generated/css/BusyIndicator.css.js +7 -0
  196. package/dist/generated/css/BusyIndicator.css.js.map +1 -0
  197. package/dist/generated/css/FontFace.css.d.ts +3 -0
  198. package/dist/generated/css/FontFace.css.js +7 -0
  199. package/dist/generated/css/FontFace.css.js.map +1 -0
  200. package/dist/generated/css/OverrideFontFace.css.d.ts +3 -0
  201. package/dist/generated/css/OverrideFontFace.css.js +7 -0
  202. package/dist/generated/css/OverrideFontFace.css.js.map +1 -0
  203. package/dist/generated/css/SystemCSSVars.css.d.ts +3 -0
  204. package/dist/generated/css/SystemCSSVars.css.js +7 -0
  205. package/dist/generated/css/SystemCSSVars.css.js.map +1 -0
  206. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +11 -0
  207. package/dist/getSharedResource.d.ts +11 -0
  208. package/dist/getSharedResource.js +22 -18
  209. package/dist/getSharedResource.js.map +1 -0
  210. package/dist/global.d.ts +40 -0
  211. package/dist/i18nBundle.d.ts +43 -0
  212. package/dist/i18nBundle.js +67 -45
  213. package/dist/i18nBundle.js.map +1 -0
  214. package/dist/locale/Locale.d.ts +22 -0
  215. package/dist/locale/Locale.js +75 -87
  216. package/dist/locale/Locale.js.map +1 -0
  217. package/dist/locale/RTLAwareRegistry.d.ts +4 -0
  218. package/dist/locale/RTLAwareRegistry.js +6 -11
  219. package/dist/locale/RTLAwareRegistry.js.map +1 -0
  220. package/dist/locale/applyDirection.d.ts +10 -0
  221. package/dist/locale/applyDirection.js +7 -7
  222. package/dist/locale/applyDirection.js.map +1 -0
  223. package/dist/locale/directionChange.d.ts +15 -0
  224. package/dist/locale/directionChange.js +7 -15
  225. package/dist/locale/directionChange.js.map +1 -0
  226. package/dist/locale/getEffectiveDir.d.ts +2 -0
  227. package/dist/locale/getEffectiveDir.js +20 -24
  228. package/dist/locale/getEffectiveDir.js.map +1 -0
  229. package/dist/locale/getLocale.d.ts +7 -0
  230. package/dist/locale/getLocale.js +26 -29
  231. package/dist/locale/getLocale.js.map +1 -0
  232. package/dist/locale/languageChange.d.ts +5 -0
  233. package/dist/locale/languageChange.js +8 -16
  234. package/dist/locale/languageChange.js.map +1 -0
  235. package/dist/locale/nextFallbackLocale.d.ts +8 -0
  236. package/dist/locale/nextFallbackLocale.js +15 -19
  237. package/dist/locale/nextFallbackLocale.js.map +1 -0
  238. package/dist/locale/normalizeLocale.d.ts +7 -0
  239. package/dist/locale/normalizeLocale.js +34 -41
  240. package/dist/locale/normalizeLocale.js.map +1 -0
  241. package/dist/renderer/LitRenderer.d.ts +14 -0
  242. package/dist/renderer/LitRenderer.js +32 -23
  243. package/dist/renderer/LitRenderer.js.map +1 -0
  244. package/dist/renderer/directives/style-map.js +72 -0
  245. package/dist/renderer/executeTemplate.d.ts +13 -0
  246. package/dist/renderer/executeTemplate.js +20 -7
  247. package/dist/renderer/executeTemplate.js.map +1 -0
  248. package/dist/sap/base/Log.js +28 -29
  249. package/dist/sap/base/assert.js +5 -6
  250. package/dist/sap/base/security/URLListValidator.js +13 -2
  251. package/dist/sap/base/security/encodeCSS.js +14 -0
  252. package/dist/sap/base/security/encodeXML.js +23 -0
  253. package/dist/sap/base/strings/toHex.js +8 -0
  254. package/dist/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  255. package/dist/theming/CustomStyle.d.ts +6 -0
  256. package/dist/theming/CustomStyle.js +39 -31
  257. package/dist/theming/CustomStyle.js.map +1 -0
  258. package/dist/theming/ThemeLoaded.d.ts +5 -0
  259. package/dist/theming/ThemeLoaded.js +8 -16
  260. package/dist/theming/ThemeLoaded.js.map +1 -0
  261. package/dist/theming/ThemeRegistered.d.ts +4 -0
  262. package/dist/theming/ThemeRegistered.js +11 -0
  263. package/dist/theming/ThemeRegistered.js.map +1 -0
  264. package/dist/theming/applyTheme.d.ts +2 -0
  265. package/dist/theming/applyTheme.js +62 -65
  266. package/dist/theming/applyTheme.js.map +1 -0
  267. package/dist/theming/getConstructableStyle.d.ts +9 -0
  268. package/dist/theming/getConstructableStyle.js +12 -17
  269. package/dist/theming/getConstructableStyle.js.map +1 -0
  270. package/dist/theming/getEffectiveLinksHrefs.d.ts +3 -0
  271. package/dist/theming/getEffectiveLinksHrefs.js +17 -0
  272. package/dist/theming/getEffectiveLinksHrefs.js.map +1 -0
  273. package/dist/theming/getEffectiveStyle.d.ts +3 -0
  274. package/dist/theming/getEffectiveStyle.js +25 -23
  275. package/dist/theming/getEffectiveStyle.js.map +1 -0
  276. package/dist/theming/getStylesString.d.ts +3 -0
  277. package/dist/theming/getStylesString.js +9 -11
  278. package/dist/theming/getStylesString.js.map +1 -0
  279. package/dist/theming/getThemeDesignerTheme.d.ts +7 -0
  280. package/dist/theming/getThemeDesignerTheme.js +73 -60
  281. package/dist/theming/getThemeDesignerTheme.js.map +1 -0
  282. package/dist/theming/preloadLinks.d.ts +3 -0
  283. package/dist/theming/preloadLinks.js +19 -0
  284. package/dist/theming/preloadLinks.js.map +1 -0
  285. package/dist/thirdparty/_merge.d.ts +2 -0
  286. package/dist/thirdparty/_merge.js +7 -4
  287. package/dist/thirdparty/_merge.js.map +1 -0
  288. package/dist/thirdparty/isPlainObject.d.ts +2 -0
  289. package/dist/thirdparty/isPlainObject.js +11 -10
  290. package/dist/thirdparty/isPlainObject.js.map +1 -0
  291. package/dist/thirdparty/merge.d.ts +2 -0
  292. package/dist/thirdparty/merge.js +4 -8
  293. package/dist/thirdparty/merge.js.map +1 -0
  294. package/dist/types/AnimationMode.d.ts +32 -0
  295. package/dist/types/AnimationMode.js +33 -6
  296. package/dist/types/AnimationMode.js.map +1 -0
  297. package/dist/types/CSSColor.d.ts +15 -0
  298. package/dist/types/CSSColor.js +14 -5
  299. package/dist/types/CSSColor.js.map +1 -0
  300. package/dist/types/CalendarType.d.ts +37 -0
  301. package/dist/types/CalendarType.js +35 -18
  302. package/dist/types/CalendarType.js.map +1 -0
  303. package/dist/types/DOMReference.d.ts +17 -0
  304. package/dist/types/DOMReference.js +25 -0
  305. package/dist/types/DOMReference.js.map +1 -0
  306. package/dist/types/DataType.d.ts +25 -0
  307. package/dist/types/DataType.js +33 -26
  308. package/dist/types/DataType.js.map +1 -0
  309. package/dist/types/Float.d.ts +17 -0
  310. package/dist/types/Float.js +17 -10
  311. package/dist/types/Float.js.map +1 -0
  312. package/dist/types/Integer.d.ts +17 -0
  313. package/dist/types/Integer.js +17 -9
  314. package/dist/types/Integer.js.map +1 -0
  315. package/dist/types/InvisibleMessageMode.d.ts +25 -0
  316. package/dist/types/InvisibleMessageMode.js +20 -23
  317. package/dist/types/InvisibleMessageMode.js.map +1 -0
  318. package/dist/types/ItemNavigationBehavior.d.ts +24 -0
  319. package/dist/types/ItemNavigationBehavior.js +22 -12
  320. package/dist/types/ItemNavigationBehavior.js.map +1 -0
  321. package/dist/types/NavigationMode.d.ts +32 -0
  322. package/dist/types/NavigationMode.js +33 -6
  323. package/dist/types/NavigationMode.js.map +1 -0
  324. package/dist/types/ValueState.d.ts +42 -0
  325. package/dist/types/ValueState.js +41 -19
  326. package/dist/types/ValueState.js.map +1 -0
  327. package/dist/types.d.ts +18 -0
  328. package/dist/types.js +2 -0
  329. package/dist/types.js.map +1 -0
  330. package/dist/updateShadowRoot.d.ts +8 -0
  331. package/dist/updateShadowRoot.js +27 -15
  332. package/dist/updateShadowRoot.js.map +1 -0
  333. package/dist/util/AriaLabelHelper.d.ts +15 -0
  334. package/dist/util/AriaLabelHelper.js +166 -36
  335. package/dist/util/AriaLabelHelper.js.map +1 -0
  336. package/dist/util/Caret.d.ts +7 -0
  337. package/dist/util/Caret.js +16 -38
  338. package/dist/util/Caret.js.map +1 -0
  339. package/dist/util/ColorConversion.d.ts +30 -0
  340. package/dist/util/ColorConversion.js +315 -348
  341. package/dist/util/ColorConversion.js.map +1 -0
  342. package/dist/util/FetchHelper.d.ts +3 -0
  343. package/dist/util/FetchHelper.js +19 -25
  344. package/dist/util/FetchHelper.js.map +1 -0
  345. package/dist/util/FocusableElements.d.ts +4 -0
  346. package/dist/util/FocusableElements.js +67 -72
  347. package/dist/util/FocusableElements.js.map +1 -0
  348. package/{src/util/HTMLSanitizer.js → dist/util/HTMLSanitizer.d.ts} +1 -5
  349. package/dist/util/HTMLSanitizer.js +4 -5
  350. package/dist/util/HTMLSanitizer.js.map +1 -0
  351. package/dist/util/InvisibleMessage.d.ts +10 -0
  352. package/dist/util/InvisibleMessage.js +42 -44
  353. package/dist/util/InvisibleMessage.js.map +1 -0
  354. package/dist/util/PopupUtils.d.ts +7 -0
  355. package/dist/util/PopupUtils.js +58 -77
  356. package/dist/util/PopupUtils.js.map +1 -0
  357. package/dist/util/SlotsHelper.d.ts +9 -0
  358. package/dist/util/SlotsHelper.js +22 -35
  359. package/dist/util/SlotsHelper.js.map +1 -0
  360. package/dist/util/StringHelper.d.ts +3 -0
  361. package/dist/util/StringHelper.js +17 -20
  362. package/dist/util/StringHelper.js.map +1 -0
  363. package/dist/util/TabbableElements.d.ts +17 -0
  364. package/dist/util/TabbableElements.js +53 -43
  365. package/dist/util/TabbableElements.js.map +1 -0
  366. package/dist/util/arraysAreEqual.d.ts +2 -0
  367. package/dist/util/arraysAreEqual.js +10 -12
  368. package/dist/util/arraysAreEqual.js.map +1 -0
  369. package/{src/util/clamp.js → dist/util/clamp.d.ts} +1 -4
  370. package/dist/util/clamp.js +2 -2
  371. package/dist/util/clamp.js.map +1 -0
  372. package/dist/util/createLinkInHead.d.ts +7 -0
  373. package/dist/util/createLinkInHead.js +21 -0
  374. package/dist/util/createLinkInHead.js.map +1 -0
  375. package/dist/util/createStyleInHead.d.ts +8 -0
  376. package/dist/util/createStyleInHead.js +10 -10
  377. package/dist/util/createStyleInHead.js.map +1 -0
  378. package/dist/util/debounce.d.ts +2 -0
  379. package/dist/util/debounce.js +6 -8
  380. package/dist/util/debounce.js.map +1 -0
  381. package/dist/util/detectNavigatorLanguage.d.ts +2 -0
  382. package/dist/util/detectNavigatorLanguage.js +7 -10
  383. package/dist/util/detectNavigatorLanguage.js.map +1 -0
  384. package/dist/util/escapeRegex.d.ts +8 -0
  385. package/dist/util/escapeRegex.js +11 -0
  386. package/dist/util/escapeRegex.js.map +1 -0
  387. package/dist/util/formatMessage.d.ts +2 -0
  388. package/dist/util/formatMessage.js +15 -19
  389. package/dist/util/formatMessage.js.map +1 -0
  390. package/dist/util/generateHighlightedMarkup.d.ts +9 -0
  391. package/dist/util/generateHighlightedMarkup.js +41 -0
  392. package/dist/util/generateHighlightedMarkup.js.map +1 -0
  393. package/dist/util/getActiveElement.d.ts +2 -0
  394. package/dist/util/getActiveElement.js +6 -8
  395. package/dist/util/getActiveElement.js.map +1 -0
  396. package/dist/util/getClassCopy.d.ts +398 -0
  397. package/dist/util/getClassCopy.js +7 -7
  398. package/dist/util/getClassCopy.js.map +1 -0
  399. package/dist/util/getDesigntimePropertyAsArray.d.ts +2 -0
  400. package/dist/util/getDesigntimePropertyAsArray.js +4 -3
  401. package/dist/util/getDesigntimePropertyAsArray.js.map +1 -0
  402. package/dist/util/getEffectiveContentDensity.d.ts +2 -0
  403. package/dist/util/getEffectiveContentDensity.js +2 -3
  404. package/dist/util/getEffectiveContentDensity.js.map +1 -0
  405. package/dist/util/getEffectiveScrollbarStyle.d.ts +2 -0
  406. package/dist/util/getEffectiveScrollbarStyle.js +4 -0
  407. package/dist/util/getEffectiveScrollbarStyle.js.map +1 -0
  408. package/dist/util/getFastNavigationGroups.d.ts +2 -0
  409. package/dist/util/getFastNavigationGroups.js +51 -0
  410. package/dist/util/getFastNavigationGroups.js.map +1 -0
  411. package/{src/util/getFileExtension.js → dist/util/getFileExtension.d.ts} +3 -12
  412. package/dist/util/getFileExtension.js +9 -11
  413. package/dist/util/getFileExtension.js.map +1 -0
  414. package/dist/util/getNormalizedTarget.d.ts +7 -0
  415. package/dist/util/getNormalizedTarget.js +14 -0
  416. package/dist/util/getNormalizedTarget.js.map +1 -0
  417. package/dist/util/getSingletonElementInstance.d.ts +2 -0
  418. package/dist/util/getSingletonElementInstance.js +7 -10
  419. package/dist/util/getSingletonElementInstance.js.map +1 -0
  420. package/dist/util/isElementClickable.d.ts +2 -0
  421. package/dist/util/isElementClickable.js +16 -0
  422. package/dist/util/isElementClickable.js.map +1 -0
  423. package/dist/util/isElementHidden.d.ts +2 -0
  424. package/dist/util/isElementHidden.js +8 -0
  425. package/dist/util/isElementHidden.js.map +1 -0
  426. package/dist/util/isElementInView.d.ts +6 -0
  427. package/dist/util/isElementInView.js +6 -9
  428. package/dist/util/isElementInView.js.map +1 -0
  429. package/dist/util/isElementTabbable.d.ts +9 -0
  430. package/dist/util/isElementTabbable.js +30 -0
  431. package/dist/util/isElementTabbable.js.map +1 -0
  432. package/dist/util/isValidPropertyName.d.ts +8 -0
  433. package/dist/util/isValidPropertyName.js +16 -17
  434. package/dist/util/isValidPropertyName.js.map +1 -0
  435. package/dist/util/whenDOMReady.d.ts +2 -0
  436. package/dist/util/whenDOMReady.js +11 -10
  437. package/dist/util/whenDOMReady.js.map +1 -0
  438. package/dist/util/willShowContent.d.ts +2 -0
  439. package/dist/util/willShowContent.js +7 -0
  440. package/dist/util/willShowContent.js.map +1 -0
  441. package/dist/validateThemeRoot.d.ts +2 -0
  442. package/dist/validateThemeRoot.js +48 -0
  443. package/dist/validateThemeRoot.js.map +1 -0
  444. package/index.js +227 -1
  445. package/lib/generate-asset-parameters/index.js +11 -6
  446. package/lib/generate-styles/index.js +31 -0
  447. package/lib/generate-version-info/index.js +32 -0
  448. package/package-scripts.cjs +71 -0
  449. package/package.json +11 -11
  450. package/src/css/BusyIndicator.css +80 -0
  451. package/src/css/FontFace.css +66 -0
  452. package/src/css/OverrideFontFace.css +32 -0
  453. package/src/css/SystemCSSVars.css +17 -0
  454. package/src/renderer/directives/style-map.js +72 -0
  455. package/tsconfig.json +14 -0
  456. package/used-modules.txt +4 -1
  457. package/config/rollup.config.js +0 -1
  458. package/config/wdio.conf.js +0 -1
  459. package/dist/RenderScheduler.js +0 -44
  460. package/dist/animations/config.js +0 -5
  461. package/dist/isLegacyBrowser.js +0 -3
  462. package/dist/resources/bundle.esm.js +0 -37
  463. package/dist/resources/bundle.esm.js.map +0 -1
  464. package/dist/test-resources/assets/Themes.js +0 -17
  465. package/dist/test-resources/elements/Child.js +0 -35
  466. package/dist/test-resources/elements/Generic.js +0 -84
  467. package/dist/test-resources/elements/GenericExt.js +0 -26
  468. package/dist/test-resources/elements/NoShadowDOM.js +0 -13
  469. package/dist/test-resources/elements/Parent.js +0 -41
  470. package/dist/test-resources/elements/WithStaticArea.js +0 -77
  471. package/dist/test-resources/pages/AllTestElements.html +0 -42
  472. package/dist/test-resources/pages/Configuration.html +0 -18
  473. package/dist/test-resources/pages/ConfigurationScript.html +0 -34
  474. package/dist/test-resources/pages/assets/messagebundle_de.properties +0 -1
  475. package/dist/test-resources/pages/assets/messagebundle_en.properties +0 -1
  476. package/dist/test-resources/pages/assets/messagebundle_es.properties +0 -1
  477. package/dist/test-resources/pages/assets/messagebundle_fr.properties +0 -1
  478. package/dist/test-resources/pages/i18n.html +0 -35
  479. package/dist/test-resources/specs/ConfigurationChange.spec.js +0 -27
  480. package/dist/test-resources/specs/ConfigurationScript.spec.js +0 -63
  481. package/dist/test-resources/specs/ConfigurationURL.spec.js +0 -93
  482. package/dist/test-resources/specs/CustomTheme.spec.js +0 -27
  483. package/dist/test-resources/specs/EventProvider.spec.js +0 -63
  484. package/dist/test-resources/specs/StaticArea.spec.js +0 -78
  485. package/dist/test-resources/specs/Theming.spec.js +0 -33
  486. package/dist/test-resources/specs/UI5ElementInvalidation.js +0 -242
  487. package/dist/test-resources/specs/UI5ElementLifecycle.js +0 -98
  488. package/dist/test-resources/specs/UI5ElementListenForChildPropChanges.spec.js +0 -75
  489. package/dist/test-resources/specs/UI5ElementMetadataExt.js +0 -42
  490. package/dist/test-resources/specs/UI5ElementPropertyValidation.js +0 -14
  491. package/dist/test-resources/specs/UI5ElementPropsAndAttrs.spec.js +0 -67
  492. package/dist/test-resources/specs/UI5ElementShadowDOM.js +0 -24
  493. package/dist/test-resources/specs/UI5ElementSlots.js +0 -36
  494. package/dist/theming/createThemePropertiesStyleTag.js +0 -20
  495. package/dist/types/CSSSize.js +0 -9
  496. package/dist/types/PopupState.js +0 -37
  497. package/dist/util/encodeCSS.js +0 -24
  498. package/dist/util/findNodeOwner.js +0 -35
  499. package/dist/util/isDescendantOf.js +0 -15
  500. package/dist/util/isNodeClickable.js +0 -19
  501. package/dist/util/isNodeHidden.js +0 -9
  502. package/dist/util/isNodeTabbable.js +0 -28
  503. package/dist/util/setToArray.js +0 -10
  504. package/hash.txt +0 -1
  505. package/package-scripts.js +0 -62
  506. package/src/Boot.js +0 -43
  507. package/src/CustomElementsRegistry.js +0 -39
  508. package/src/DOMObserver.js +0 -65
  509. package/src/Device.js +0 -102
  510. package/src/EventProvider.js +0 -85
  511. package/src/FeaturesRegistry.js +0 -11
  512. package/src/FontFace.js +0 -118
  513. package/src/InitialConfiguration.js +0 -155
  514. package/src/Keys.js +0 -248
  515. package/src/MediaRange.js +0 -109
  516. package/src/PropertiesFileFormat.js +0 -95
  517. package/src/Render.js +0 -173
  518. package/src/RenderQueue.js +0 -66
  519. package/src/RenderScheduler.js +0 -44
  520. package/src/StaticArea.js +0 -3
  521. package/src/StaticAreaItem.js +0 -107
  522. package/src/SystemCSSVars.js +0 -31
  523. package/src/UI5Element.js +0 -1026
  524. package/src/UI5ElementMetadata.js +0 -311
  525. package/src/animations/AnimationQueue.js +0 -42
  526. package/src/animations/animate.js +0 -53
  527. package/src/animations/config.js +0 -5
  528. package/src/animations/scroll.js +0 -28
  529. package/src/animations/slideDown.js +0 -79
  530. package/src/animations/slideUp.js +0 -71
  531. package/src/asset-registries/Icons.js +0 -128
  532. package/src/asset-registries/Illustrations.js +0 -30
  533. package/src/asset-registries/LocaleData.js +0 -150
  534. package/src/asset-registries/Themes.js +0 -78
  535. package/src/asset-registries/i18n.js +0 -121
  536. package/src/config/AnimationMode.js +0 -23
  537. package/src/config/CalendarType.js +0 -18
  538. package/src/config/FormatSettings.js +0 -13
  539. package/src/config/Language.js +0 -68
  540. package/src/config/NoConflict.js +0 -51
  541. package/src/config/RTL.js +0 -31
  542. package/src/config/Theme.js +0 -28
  543. package/src/delegate/ItemNavigation.js +0 -351
  544. package/src/delegate/ResizeHandler.js +0 -106
  545. package/src/delegate/ScrollEnablement.js +0 -188
  546. package/src/features/OpenUI5Support.js +0 -125
  547. package/src/getSharedResource.js +0 -30
  548. package/src/i18nBundle.js +0 -56
  549. package/src/isLegacyBrowser.js +0 -3
  550. package/src/locale/Locale.js +0 -91
  551. package/src/locale/RTLAwareRegistry.js +0 -14
  552. package/src/locale/applyDirection.js +0 -17
  553. package/src/locale/directionChange.js +0 -32
  554. package/src/locale/getEffectiveDir.js +0 -28
  555. package/src/locale/getLocale.js +0 -41
  556. package/src/locale/languageChange.js +0 -22
  557. package/src/locale/nextFallbackLocale.js +0 -28
  558. package/src/locale/normalizeLocale.js +0 -54
  559. package/src/renderer/LitRenderer.js +0 -32
  560. package/src/renderer/executeTemplate.js +0 -17
  561. package/src/theming/CustomStyle.js +0 -40
  562. package/src/theming/ThemeLoaded.js +0 -22
  563. package/src/theming/applyTheme.js +0 -78
  564. package/src/theming/createThemePropertiesStyleTag.js +0 -20
  565. package/src/theming/getConstructableStyle.js +0 -30
  566. package/src/theming/getEffectiveStyle.js +0 -30
  567. package/src/theming/getStylesString.js +0 -13
  568. package/src/theming/getThemeDesignerTheme.js +0 -67
  569. package/src/thirdparty/_merge.js +0 -32
  570. package/src/thirdparty/isPlainObject.js +0 -18
  571. package/src/thirdparty/merge.js +0 -10
  572. package/src/types/AnimationMode.js +0 -7
  573. package/src/types/CSSColor.js +0 -9
  574. package/src/types/CSSSize.js +0 -9
  575. package/src/types/CalendarType.js +0 -22
  576. package/src/types/DataType.js +0 -37
  577. package/src/types/Float.js +0 -14
  578. package/src/types/Integer.js +0 -13
  579. package/src/types/InvisibleMessageMode.js +0 -30
  580. package/src/types/ItemNavigationBehavior.js +0 -16
  581. package/src/types/NavigationMode.js +0 -7
  582. package/src/types/PopupState.js +0 -37
  583. package/src/types/ValueState.js +0 -22
  584. package/src/updateShadowRoot.js +0 -26
  585. package/src/util/AriaLabelHelper.js +0 -41
  586. package/src/util/Caret.js +0 -45
  587. package/src/util/ColorConversion.js +0 -370
  588. package/src/util/FetchHelper.js +0 -31
  589. package/src/util/FocusableElements.js +0 -77
  590. package/src/util/InvisibleMessage.js +0 -58
  591. package/src/util/PopupUtils.js +0 -93
  592. package/src/util/SlotsHelper.js +0 -43
  593. package/src/util/StringHelper.js +0 -26
  594. package/src/util/TabbableElements.js +0 -47
  595. package/src/util/arraysAreEqual.js +0 -15
  596. package/src/util/createStyleInHead.js +0 -18
  597. package/src/util/debounce.js +0 -17
  598. package/src/util/detectNavigatorLanguage.js +0 -13
  599. package/src/util/encodeCSS.js +0 -24
  600. package/src/util/findNodeOwner.js +0 -35
  601. package/src/util/formatMessage.js +0 -23
  602. package/src/util/getActiveElement.js +0 -11
  603. package/src/util/getClassCopy.js +0 -10
  604. package/src/util/getDesigntimePropertyAsArray.js +0 -4
  605. package/src/util/getEffectiveContentDensity.js +0 -5
  606. package/src/util/getSingletonElementInstance.js +0 -13
  607. package/src/util/isDescendantOf.js +0 -15
  608. package/src/util/isElementInView.js +0 -15
  609. package/src/util/isNodeClickable.js +0 -19
  610. package/src/util/isNodeHidden.js +0 -9
  611. package/src/util/isNodeTabbable.js +0 -28
  612. package/src/util/isValidPropertyName.js +0 -29
  613. package/src/util/setToArray.js +0 -10
  614. package/src/util/whenDOMReady.js +0 -13
  615. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenUI5Element.js","sourceRoot":"","sources":["../../src/features/OpenUI5Element.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,MAAM,cAAe,SAAQ,UAAU;CAMtC;AAED,eAAe,cAAc,CAAC","sourcesContent":["import UI5Element from \"../UI5Element.js\";\n\nclass OpenUI5Element extends UI5Element {\n\t__isBusy?: boolean;\n\tisOpenUI5Component?: boolean;\n\t__suppressFocusIn?: () => void;\n\t__suppressFocusBack?: (e: KeyboardEvent) => void;\n\t__redirectFocus?: boolean;\n}\n\nexport default OpenUI5Element;\n"]}
@@ -0,0 +1,11 @@
1
+ import { TemplateResult } from "lit-html";
2
+ import type UI5Element from "../UI5Element.js";
3
+ import type OpenUI5Element from "./OpenUI5Element.js";
4
+ declare class OpenUI5Enablement {
5
+ static wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult): TemplateResult<1 | 2>;
6
+ static enrichBusyIndicatorSettings(klass: typeof UI5Element): void;
7
+ static enrichBusyIndicatorMetadata(klass: typeof UI5Element): void;
8
+ static enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype): void;
9
+ static getBusyIndicatorStyles(): import("../types.js").StyleData;
10
+ }
11
+ export default OpenUI5Enablement;
@@ -0,0 +1,96 @@
1
+ import { registerFeature } from "../FeaturesRegistry.js";
2
+ import BusyIndicatorStyles from "../generated/css/BusyIndicator.css.js";
3
+ import merge from "../thirdparty/merge.js";
4
+ import { isTabPrevious, } from "../Keys.js";
5
+ const busyIndicatorMetadata = {
6
+ properties: {
7
+ __isBusy: {
8
+ type: Boolean,
9
+ },
10
+ },
11
+ };
12
+ class OpenUI5Enablement {
13
+ static wrapTemplateResultInBusyMarkup(html, host, templateResult) {
14
+ if (host.isOpenUI5Component && host.__isBusy) {
15
+ templateResult = html `
16
+ <div class="busy-indicator-wrapper">
17
+ <span tabindex="0" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>
18
+ ${templateResult}
19
+ <div class="busy-indicator-overlay"></div>
20
+ <div busy-indicator
21
+ class="busy-indicator-busy-area"
22
+ tabindex="0"
23
+ role="progressbar"
24
+ @keydown=${host.__suppressFocusBack}
25
+ aria-valuemin="0"
26
+ aria-valuemax="100"
27
+ aria-valuetext="Busy">
28
+ <div>
29
+ <div class="busy-indicator-circle circle-animation-0"></div>
30
+ <div class="busy-indicator-circle circle-animation-1"></div>
31
+ <div class="busy-indicator-circle circle-animation-2"></div>
32
+ </div>
33
+ </div>
34
+ </div>`;
35
+ }
36
+ return templateResult;
37
+ }
38
+ static enrichBusyIndicatorSettings(klass) {
39
+ OpenUI5Enablement.enrichBusyIndicatorMetadata(klass);
40
+ OpenUI5Enablement.enrichBusyIndicatorMethods(klass.prototype);
41
+ }
42
+ static enrichBusyIndicatorMetadata(klass) {
43
+ klass.metadata = merge(klass.metadata, busyIndicatorMetadata);
44
+ }
45
+ static enrichBusyIndicatorMethods(UI5ElementPrototype) {
46
+ Object.defineProperties(UI5ElementPrototype, {
47
+ "__redirectFocus": { value: true, writable: true },
48
+ "__suppressFocusBack": {
49
+ get() {
50
+ return {
51
+ handleEvent: (e) => {
52
+ if (isTabPrevious(e)) {
53
+ const beforeElem = this.shadowRoot.querySelector("[busy-indicator-before-span]");
54
+ this.__redirectFocus = false;
55
+ beforeElem.focus();
56
+ this.__redirectFocus = true;
57
+ }
58
+ },
59
+ capture: true,
60
+ passive: false,
61
+ };
62
+ },
63
+ },
64
+ "isOpenUI5Component": { get: () => { return true; } },
65
+ });
66
+ UI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {
67
+ const busyIndicator = this.shadowRoot?.querySelector("[busy-indicator]");
68
+ if (busyIndicator && this.__redirectFocus) {
69
+ busyIndicator.focus();
70
+ }
71
+ };
72
+ UI5ElementPrototype.getDomRef = function getDomRef() {
73
+ // If a component set _getRealDomRef to its children, use the return value of this function
74
+ if (typeof this._getRealDomRef === "function") {
75
+ return this._getRealDomRef();
76
+ }
77
+ if (!this.shadowRoot || this.shadowRoot.children.length === 0) {
78
+ return;
79
+ }
80
+ const children = [...this.shadowRoot.children].filter(child => !["link", "style"].includes(child.localName));
81
+ if (children.length !== 1) {
82
+ console.warn(`The shadow DOM for ${this.constructor.getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`); // eslint-disable-line
83
+ }
84
+ if (this.__isBusy) {
85
+ return children[0].querySelector(".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)");
86
+ }
87
+ return children[0];
88
+ };
89
+ }
90
+ static getBusyIndicatorStyles() {
91
+ return BusyIndicatorStyles;
92
+ }
93
+ }
94
+ registerFeature("OpenUI5Enablement", OpenUI5Enablement);
95
+ export default OpenUI5Enablement;
96
+ //# sourceMappingURL=OpenUI5Enablement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenUI5Enablement.js","sourceRoot":"","sources":["../../src/features/OpenUI5Enablement.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult } from \"lit-html\";\nimport { registerFeature } from \"../FeaturesRegistry.js\";\nimport BusyIndicatorStyles from \"../generated/css/BusyIndicator.css.js\";\nimport merge from \"../thirdparty/merge.js\";\nimport {\n\tisTabPrevious,\n} from \"../Keys.js\";\n\nimport type UI5Element from \"../UI5Element.js\";\nimport type OpenUI5Element from \"./OpenUI5Element.js\";\n\nconst busyIndicatorMetadata = {\n\tproperties: {\n\t\t__isBusy: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n};\n\nclass OpenUI5Enablement {\n\tstatic wrapTemplateResultInBusyMarkup(html: (strings: TemplateStringsArray, ...values: Array<unknown>) => TemplateResult, host: OpenUI5Element, templateResult: TemplateResult) {\n\t\tif (host.isOpenUI5Component && host.__isBusy) {\n\t\t\ttemplateResult = html`\n\t\t\t<div class=\"busy-indicator-wrapper\">\n\t\t\t\t<span tabindex=\"0\" busy-indicator-before-span @focusin=${host.__suppressFocusIn}></span>\n\t\t\t\t${templateResult}\n\t\t\t\t<div class=\"busy-indicator-overlay\"></div>\n\t\t\t\t<div busy-indicator\n\t\t\t\t\tclass=\"busy-indicator-busy-area\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\t@keydown=${host.__suppressFocusBack}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax=\"100\"\n\t\t\t\t\taria-valuetext=\"Busy\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-0\"></div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-1\"></div>\n\t\t\t\t\t\t<div class=\"busy-indicator-circle circle-animation-2\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>`;\n\t\t}\n\n\t\treturn templateResult;\n\t}\n\n\tstatic enrichBusyIndicatorSettings(klass: typeof UI5Element) {\n\t\tOpenUI5Enablement.enrichBusyIndicatorMetadata(klass);\n\t\tOpenUI5Enablement.enrichBusyIndicatorMethods(klass.prototype);\n\t}\n\n\tstatic enrichBusyIndicatorMetadata(klass: typeof UI5Element) {\n\t\tklass.metadata = merge(klass.metadata, busyIndicatorMetadata);\n\t}\n\n\tstatic enrichBusyIndicatorMethods(UI5ElementPrototype: typeof OpenUI5Element.prototype) {\n\t\tObject.defineProperties(UI5ElementPrototype, {\n\t\t\t\"__redirectFocus\": { value: true, writable: true },\n\t\t\t\"__suppressFocusBack\": {\n\t\t\t\tget() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\thandleEvent: (e: KeyboardEvent) => {\n\t\t\t\t\t\t\tif (isTabPrevious(e)) {\n\t\t\t\t\t\t\t\tconst beforeElem = this.shadowRoot.querySelector(\"[busy-indicator-before-span]\");\n\t\t\t\t\t\t\t\tthis.__redirectFocus = false;\n\t\t\t\t\t\t\t\tbeforeElem.focus();\n\t\t\t\t\t\t\t\tthis.__redirectFocus = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcapture: true,\n\t\t\t\t\t\tpassive: false,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"isOpenUI5Component\": { get: () => { return true; } },\n\t\t});\n\n\t\tUI5ElementPrototype.__suppressFocusIn = function handleFocusIn() {\n\t\t\tconst busyIndicator = this.shadowRoot?.querySelector(\"[busy-indicator]\") as HTMLElement;\n\t\t\tif (busyIndicator && this.__redirectFocus) {\n\t\t\t\tbusyIndicator.focus();\n\t\t\t}\n\t\t};\n\n\t\tUI5ElementPrototype.getDomRef = function getDomRef() {\n\t\t\t// If a component set _getRealDomRef to its children, use the return value of this function\n\t\t\tif (typeof this._getRealDomRef === \"function\") {\n\t\t\t\treturn this._getRealDomRef();\n\t\t\t}\n\n\t\t\tif (!this.shadowRoot || this.shadowRoot.children.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst children = [...this.shadowRoot.children].filter(child => ![\"link\", \"style\"].includes(child.localName));\n\n\t\t\tif (children.length !== 1) {\n\t\t\t\tconsole.warn(`The shadow DOM for ${(this.constructor as typeof UI5Element).getMetadata().getTag()} does not have a top level element, the getDomRef() method might not work as expected`); // eslint-disable-line\n\t\t\t}\n\n\t\t\tif (this.__isBusy) {\n\t\t\t\treturn children[0].querySelector(\".busy-indicator-wrapper > :not([busy-indicator-before-span]):not(.busy-indicator-overlay):not(.busy-indicator-busy-area)\") as HTMLElement;\n\t\t\t}\n\n\t\t\treturn children[0] as HTMLElement;\n\t\t};\n\t}\n\n\tstatic getBusyIndicatorStyles() {\n\t\treturn BusyIndicatorStyles;\n\t}\n}\n\nregisterFeature(\"OpenUI5Enablement\", OpenUI5Enablement);\n\nexport default OpenUI5Enablement;\n"]}
@@ -0,0 +1,26 @@
1
+ import { CLDRData } from "../asset-registries/LocaleData.js";
2
+ import type { LegacyDateCalendarCustomizing } from "../features/LegacyDateFormats.js";
3
+ declare class OpenUI5Support {
4
+ static isLoaded(): boolean;
5
+ static init(): Promise<void>;
6
+ static getConfigurationSettingsObject(): {
7
+ animationMode: string;
8
+ language: string;
9
+ theme: string;
10
+ themeRoot: string;
11
+ rtl: string;
12
+ timezone: string;
13
+ calendarType: string;
14
+ formatSettings: {
15
+ firstDayOfWeek: any;
16
+ legacyDateCalendarCustomizing: LegacyDateCalendarCustomizing;
17
+ };
18
+ } | undefined;
19
+ static getLocaleDataObject(): CLDRData | undefined;
20
+ static _listenForThemeChange(): void;
21
+ static attachListeners(): void;
22
+ static cssVariablesLoaded(): boolean | undefined;
23
+ static getNextZIndex(): number | undefined;
24
+ static setInitialZIndex(): void;
25
+ }
26
+ export default OpenUI5Support;
@@ -1,125 +1,99 @@
1
1
  import { registerFeature } from "../FeaturesRegistry.js";
2
2
  import { setTheme } from "../config/Theme.js";
3
3
  import { getCurrentZIndex } from "../util/PopupUtils.js";
4
-
5
4
  const getCore = () => {
6
- const sap = window.sap;
7
- const core = sap && sap.ui && typeof sap.ui.getCore === "function" && sap.ui.getCore();
8
- return core;
5
+ return window.sap?.ui?.getCore?.();
9
6
  };
10
-
11
- const isLoaded = () => {
12
- return !!getCore();
13
- };
14
-
15
- const init = () => {
16
- const core = getCore();
17
- if (!core) {
18
- return Promise.resolve();
19
- }
20
-
21
- return new Promise(resolve => {
22
- core.attachInit(() => {
23
- window.sap.ui.require(["sap/ui/core/LocaleData", "sap/ui/core/Popup"], (LocaleData, Popup) => {
24
- Popup.setInitialZIndex(getCurrentZIndex());
25
- resolve();
26
- });
27
- });
28
- });
29
- };
30
-
31
- const getConfigurationSettingsObject = () => {
32
- const core = getCore();
33
- if (!core) {
34
- return;
35
- }
36
-
37
- const config = core.getConfiguration();
38
- const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
39
-
40
- return {
41
- animationMode: config.getAnimationMode(),
42
- language: config.getLanguage(),
43
- theme: config.getTheme(),
44
- rtl: config.getRTL(),
45
- calendarType: config.getCalendarType(),
46
- formatSettings: {
47
- firstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,
48
- },
49
- };
50
- };
51
-
52
- const getLocaleDataObject = () => {
53
- const core = getCore();
54
- if (!core) {
55
- return;
56
- }
57
-
58
- const config = core.getConfiguration();
59
- const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
60
- return LocaleData.getInstance(config.getLocale())._get();
61
- };
62
-
63
- const listenForThemeChange = () => {
64
- const core = getCore();
65
- const config = core.getConfiguration();
66
- core.attachThemeChanged(async () => {
67
- await setTheme(config.getTheme());
68
- });
69
- };
70
-
71
- const attachListeners = () => {
72
- const core = getCore();
73
- if (!core) {
74
- return;
75
- }
76
-
77
- listenForThemeChange();
78
- };
79
-
80
- const cssVariablesLoaded = () => {
81
- const core = getCore();
82
- if (!core) {
83
- return;
84
- }
85
-
86
- const link = [...document.head.children].find(el => el.id === "sap-ui-theme-sap.ui.core"); // more reliable than querySelector early
87
- if (!link) {
88
- return;
89
- }
90
-
91
- return !!link.href.match(/\/css(-|_)variables\.css/);
92
- };
93
-
94
- const getNextZIndex = () => {
95
- const core = getCore();
96
- if (!core) {
97
- return;
98
- }
99
-
100
- const Popup = window.sap.ui.require("sap/ui/core/Popup");
101
- return Popup.getNextZIndex();
102
- };
103
-
104
- const setInitialZIndex = () => {
105
- const core = getCore();
106
- if (!core) {
107
- return;
108
- }
109
-
110
- const Popup = window.sap.ui.require("sap/ui/core/Popup");
111
- Popup.setInitialZIndex(getCurrentZIndex());
112
- };
113
-
114
- const OpenUI5Support = {
115
- isLoaded,
116
- init,
117
- getConfigurationSettingsObject,
118
- getLocaleDataObject,
119
- attachListeners,
120
- cssVariablesLoaded,
121
- getNextZIndex,
122
- setInitialZIndex,
123
- };
124
-
7
+ class OpenUI5Support {
8
+ static isLoaded() {
9
+ return !!getCore();
10
+ }
11
+ static init() {
12
+ const core = getCore();
13
+ if (!core) {
14
+ return Promise.resolve();
15
+ }
16
+ return new Promise(resolve => {
17
+ core.attachInit(() => {
18
+ window.sap.ui.require(["sap/ui/core/LocaleData", "sap/ui/core/Popup"], (LocaleData, Popup) => {
19
+ Popup.setInitialZIndex(getCurrentZIndex());
20
+ resolve();
21
+ });
22
+ });
23
+ });
24
+ }
25
+ static getConfigurationSettingsObject() {
26
+ const core = getCore();
27
+ if (!core) {
28
+ return;
29
+ }
30
+ const config = core.getConfiguration();
31
+ const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
32
+ return {
33
+ animationMode: config.getAnimationMode(),
34
+ language: config.getLanguage(),
35
+ theme: config.getTheme(),
36
+ themeRoot: config.getThemeRoot(),
37
+ rtl: config.getRTL(),
38
+ timezone: config.getTimezone(),
39
+ calendarType: config.getCalendarType(),
40
+ formatSettings: {
41
+ firstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,
42
+ legacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),
43
+ },
44
+ };
45
+ }
46
+ static getLocaleDataObject() {
47
+ const core = getCore();
48
+ if (!core) {
49
+ return;
50
+ }
51
+ const config = core.getConfiguration();
52
+ const LocaleData = window.sap.ui.require("sap/ui/core/LocaleData");
53
+ return LocaleData.getInstance(config.getLocale())._get();
54
+ }
55
+ static _listenForThemeChange() {
56
+ const core = getCore();
57
+ const config = core.getConfiguration();
58
+ core.attachThemeChanged(async () => {
59
+ await setTheme(config.getTheme());
60
+ });
61
+ }
62
+ static attachListeners() {
63
+ const core = getCore();
64
+ if (!core) {
65
+ return;
66
+ }
67
+ OpenUI5Support._listenForThemeChange();
68
+ }
69
+ static cssVariablesLoaded() {
70
+ const core = getCore();
71
+ if (!core) {
72
+ return;
73
+ }
74
+ const link = [...document.head.children].find(el => el.id === "sap-ui-theme-sap.ui.core"); // more reliable than querySelector early
75
+ if (!link) {
76
+ return;
77
+ }
78
+ return !!link.href.match(/\/css(-|_)variables\.css/);
79
+ }
80
+ static getNextZIndex() {
81
+ const core = getCore();
82
+ if (!core) {
83
+ return;
84
+ }
85
+ const Popup = window.sap.ui.require("sap/ui/core/Popup");
86
+ return Popup.getNextZIndex();
87
+ }
88
+ static setInitialZIndex() {
89
+ const core = getCore();
90
+ if (!core) {
91
+ return;
92
+ }
93
+ const Popup = window.sap.ui.require("sap/ui/core/Popup");
94
+ Popup.setInitialZIndex(getCurrentZIndex());
95
+ }
96
+ }
125
97
  registerFeature("OpenUI5Support", OpenUI5Support);
98
+ export default OpenUI5Support;
99
+ //# sourceMappingURL=OpenUI5Support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenUI5Support.js","sourceRoot":"","sources":["../../src/features/OpenUI5Support.ts"],"names":[],"mappings":"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","sourcesContent":["import { registerFeature } from \"../FeaturesRegistry.js\";\nimport { setTheme } from \"../config/Theme.js\";\nimport { getCurrentZIndex } from \"../util/PopupUtils.js\";\nimport { CLDRData } from \"../asset-registries/LocaleData.js\";\nimport type { LegacyDateCalendarCustomizing } from \"../features/LegacyDateFormats.js\";\n\ntype OpenUI5Popup = {\n\tsetInitialZIndex: (zIndex: number) => void,\n\tgetNextZIndex: () => number,\n};\n\ntype OpenUI5Core = {\n\tattachInit: (callback: () => void) => void,\n\tattachThemeChanged: (callback: () => Promise<void>) => void,\n\tgetConfiguration: () => OpenUI5CoreConfiguration,\n};\n\ntype OpenUI5CoreConfiguration = {\n\tgetAnimationMode: () => string,\n\tgetLanguage: () => string,\n\tgetTheme: () => string,\n\tgetThemeRoot: () => string,\n\tgetRTL: () => string,\n\tgetTimezone: () => string,\n\tgetCalendarType: () => string,\n\tgetLocale: () => string,\n\tgetFormatSettings: () => {\n\t\tgetLegacyDateCalendarCustomizing: () => LegacyDateCalendarCustomizing;\n\t}\n};\n\ntype LocaleData = {\n\tgetInstance: (locale: string) => Locale,\n}\n\ntype Locale = {\n\tgetFirstDayOfWeek: () => number,\n\t_get: () => CLDRData,\n};\n\nconst getCore = () => {\n\treturn window.sap?.ui?.getCore?.() as OpenUI5Core;\n};\n\nclass OpenUI5Support {\n\tstatic isLoaded() {\n\t\treturn !!getCore();\n\t}\n\n\tstatic init() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\treturn new Promise<void>(resolve => {\n\t\t\tcore.attachInit(() => {\n\t\t\t\twindow.sap.ui.require([\"sap/ui/core/LocaleData\", \"sap/ui/core/Popup\"], (LocaleData: LocaleData, Popup: OpenUI5Popup) => {\n\t\t\t\t\tPopup.setInitialZIndex(getCurrentZIndex());\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tstatic getConfigurationSettingsObject() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst config = core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\");\n\n\t\treturn {\n\t\t\tanimationMode: config.getAnimationMode(),\n\t\t\tlanguage: config.getLanguage(),\n\t\t\ttheme: config.getTheme(),\n\t\t\tthemeRoot: config.getThemeRoot(),\n\t\t\trtl: config.getRTL(),\n\t\t\ttimezone: config.getTimezone(),\n\t\t\tcalendarType: config.getCalendarType(),\n\t\t\tformatSettings: {\n\t\t\t\tfirstDayOfWeek: LocaleData ? LocaleData.getInstance(config.getLocale()).getFirstDayOfWeek() : undefined,\n\t\t\t\tlegacyDateCalendarCustomizing: config.getFormatSettings().getLegacyDateCalendarCustomizing(),\n\t\t\t},\n\t\t};\n\t}\n\n\tstatic getLocaleDataObject() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst config = core.getConfiguration();\n\t\tconst LocaleData = window.sap.ui.require(\"sap/ui/core/LocaleData\") as LocaleData;\n\t\treturn LocaleData.getInstance(config.getLocale())._get();\n\t}\n\n\tstatic _listenForThemeChange() {\n\t\tconst core = getCore();\n\t\tconst config = core.getConfiguration();\n\t\tcore.attachThemeChanged(async () => {\n\t\t\tawait setTheme(config.getTheme());\n\t\t});\n\t}\n\n\tstatic attachListeners() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tOpenUI5Support._listenForThemeChange();\n\t}\n\n\tstatic cssVariablesLoaded() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst link = [...document.head.children].find(el => el.id === \"sap-ui-theme-sap.ui.core\") as HTMLLinkElement; // more reliable than querySelector early\n\t\tif (!link) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn !!link.href.match(/\\/css(-|_)variables\\.css/);\n\t}\n\n\tstatic getNextZIndex() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst Popup = window.sap.ui.require(\"sap/ui/core/Popup\") as OpenUI5Popup;\n\t\treturn Popup.getNextZIndex();\n\t}\n\n\tstatic setInitialZIndex() {\n\t\tconst core = getCore();\n\t\tif (!core) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst Popup = window.sap.ui.require(\"sap/ui/core/Popup\") as OpenUI5Popup;\n\t\tPopup.setInitialZIndex(getCurrentZIndex());\n\t}\n}\n\nregisterFeature(\"OpenUI5Support\", OpenUI5Support);\n\nexport default OpenUI5Support;\n"]}
@@ -1,12 +1,14 @@
1
- const assetParameters = {"themes":{"default":"sap_fiori_3","all":["sap_fiori_3","sap_fiori_3_dark","sap_belize","sap_belize_hcb","sap_belize_hcw","sap_fiori_3_hcb","sap_fiori_3_hcw","sap_horizon"]},"languages":{"default":"en","all":["ar","bg","ca","cs","cy","da","de","el","en","en_GB","en_US_sappsd","en_US_saprigi","en_US_saptrc","es","es_MX","et","fi","fr","fr_CA","hi","hr","hu","in","it","iw","ja","kk","ko","lt","lv","ms","nl","no","pl","pt_PT","pt","ro","ru","sh","sk","sl","sv","th","tr","uk","vi","zh_CN","zh_TW"]},"locales":{"default":"en","all":["ar","ar_EG","ar_SA","bg","ca","cs","da","de","de_AT","de_CH","el","el_CY","en","en_AU","en_GB","en_HK","en_IE","en_IN","en_NZ","en_PG","en_SG","en_ZA","es","es_AR","es_BO","es_CL","es_CO","es_MX","es_PE","es_UY","es_VE","et","fa","fi","fr","fr_BE","fr_CA","fr_CH","fr_LU","he","hi","hr","hu","id","it","it_CH","ja","kk","ko","lt","lv","ms","nb","nl","nl_BE","pl","pt","pt_PT","ro","ru","ru_UA","sk","sl","sr","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]}};
1
+ const assetParameters = {"themes":{"default":"sap_fiori_3","all":["sap_fiori_3","sap_fiori_3_dark","sap_belize","sap_belize_hcb","sap_belize_hcw","sap_fiori_3_hcb","sap_fiori_3_hcw","sap_horizon","sap_horizon_dark","sap_horizon_hcb","sap_horizon_hcw","sap_horizon_exp"]},"languages":{"default":"en","all":["ar","bg","ca","cs","cy","da","de","el","en","en_GB","en_US_sappsd","en_US_saprigi","en_US_saptrc","es","es_MX","et","fi","fr","fr_CA","hi","hr","hu","in","it","iw","ja","kk","ko","lt","lv","ms","nl","no","pl","pt_PT","pt","ro","ru","sh","sk","sl","sv","th","tr","uk","vi","zh_CN","zh_TW"]},"locales":{"default":"en","all":["ar","ar_EG","ar_SA","bg","ca","cs","da","de","de_AT","de_CH","el","el_CY","en","en_AU","en_GB","en_HK","en_IE","en_IN","en_NZ","en_PG","en_SG","en_ZA","es","es_AR","es_BO","es_CL","es_CO","es_MX","es_PE","es_UY","es_VE","et","fa","fi","fr","fr_BE","fr_CA","fr_CH","fr_LU","he","hi","hr","hu","id","it","it_CH","ja","kk","ko","lt","lv","ms","nb","nl","nl_BE","pl","pt","pt_PT","ro","ru","ru_UA","sk","sl","sr","sr_Latn","sv","th","tr","uk","vi","zh_CN","zh_HK","zh_SG","zh_TW"]}};
2
2
 
3
3
  const DEFAULT_THEME = assetParameters.themes.default;
4
+ const SUPPORTED_THEMES = assetParameters.themes.all;
4
5
  const DEFAULT_LANGUAGE = assetParameters.languages.default;
5
6
  const DEFAULT_LOCALE = assetParameters.locales.default;
6
7
  const SUPPORTED_LOCALES = assetParameters.locales.all;
7
8
 
8
9
  export {
9
10
  DEFAULT_THEME,
11
+ SUPPORTED_THEMES,
10
12
  DEFAULT_LANGUAGE,
11
13
  DEFAULT_LOCALE,
12
14
  SUPPORTED_LOCALES,
@@ -0,0 +1,10 @@
1
+ const VersionInfo = {
2
+ version: "0.0.0-16e630735",
3
+ major: 0,
4
+ minor: 0,
5
+ patch: 0,
6
+ suffix: "-16e630735",
7
+ isNext: true,
8
+ buildTime: 1683028036,
9
+ };
10
+ export default VersionInfo;
@@ -0,0 +1,3 @@
1
+ import type { StyleData } from "../../types.js";
2
+ declare const styleData: StyleData;
3
+ export default styleData;
@@ -0,0 +1,7 @@
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","sourcesContent":["import type { StyleData } from \"../../types.js\";\n\nconst styleData: StyleData = {\n\tpackageName: \"@ui5/webcomponents-base\",\n\tfileName: \"BusyIndicator.css\",\n\tcontent: `.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)}}`,\n};\n\nexport default styleData;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { StyleData } from "../../types.js";
2
+ declare const styleData: StyleData;
3
+ export default styleData;
@@ -0,0 +1,7 @@
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","sourcesContent":["import type { StyleData } from \"../../types.js\";\n\nconst styleData: StyleData = {\n\tpackageName: \"@ui5/webcomponents-base\",\n\tfileName: \"FontFace.css\",\n\tcontent: `@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\")}`,\n};\n\nexport default styleData;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { StyleData } from "../../types.js";
2
+ declare const styleData: StyleData;
3
+ export default styleData;
@@ -0,0 +1,7 @@
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","sourcesContent":["import type { StyleData } from \"../../types.js\";\n\nconst styleData: StyleData = {\n\tpackageName: \"@ui5/webcomponents-base\",\n\tfileName: \"OverrideFontFace.css\",\n\tcontent: `@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')}`,\n};\n\nexport default styleData;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { StyleData } from "../../types.js";
2
+ declare const styleData: StyleData;
3
+ export default styleData;
@@ -0,0 +1,7 @@
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","sourcesContent":["import type { StyleData } from \"../../types.js\";\n\nconst styleData: StyleData = {\n\tpackageName: \"@ui5/webcomponents-base\",\n\tfileName: \"SystemCSSVars.css\",\n\tcontent: `: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}`,\n};\n\nexport default styleData;\n"]}
@@ -0,0 +1,11 @@
1
+ /* eslint no-unused-vars: 0 */
2
+ import { html, svg, repeat, classMap, styleMap, ifDefined, unsafeHTML, scopeTag } from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
+
4
+ const block0 = (context, tags, suffix) => html`<div>Root text: ${ifDefined(context.text)}${ repeat(context.items, (item, index) => item._id || index, (item, index) => block1(item, index, context, tags, suffix)) } Root text: ${ifDefined(context.text)}</div>`;
5
+ const block1 = (item, index, context, tags, suffix) => html`<h3>Item-${index}</h3>${ item.text ? block2(item, index, context, tags, suffix) : undefined }<ul>${ repeat(item.words, (item, index) => item._id || index, (item, index) => block3(item, index, context, tags, suffix)) }</ul>${ item.text ? block4(item, index, context, tags, suffix) : undefined }`;
6
+ const block2 = (item, index, context, tags, suffix) => html`<div class="before-each-content--start--${index}">Root text: ${ifDefined(context.text)}, Item text: ${ifDefined(item.text)}</div>`;
7
+ const block3 = (item, index, context, tags, suffix) => html`<li><h3>Word-${index}</h3><div class="nested-each-content--${index}--0">Root Text: ${ifDefined(context.text)}, Word text: ${ifDefined(item.text)}</div><div class="nested-each-content--${index}--1">Root Text: ${ifDefined(context.text)}, Word text: ${ifDefined(item.text)}</div></li>`;
8
+ const block4 = (item, index, context, tags, suffix) => html`<div class="after-each-content--end--${index}">Root text: ${ifDefined(context.text)}, Item text: ${ifDefined(item.text)}</div>`;
9
+
10
+
11
+ export default block0;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.
3
+ * The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "body" element of the page.
4
+ *
5
+ * @public
6
+ * @param namespace Unique ID of the resource, may contain "." to denote hierarchy
7
+ * @param initialValue Object or primitive that will be used as an initial value if the resource does not exist
8
+ * @returns {*}
9
+ */
10
+ declare const getSharedResource: <T>(namespace: string, initialValue: T) => T;
11
+ export default getSharedResource;
@@ -1,10 +1,13 @@
1
1
  import getSingletonElementInstance from "./util/getSingletonElementInstance.js";
2
-
3
- const getSharedResourcesInstance = () => getSingletonElementInstance("ui5-shared-resources", document.head);
4
-
2
+ const getSharedResourcesInstance = () => {
3
+ if (typeof document === "undefined") {
4
+ return null;
5
+ }
6
+ return getSingletonElementInstance("ui5-shared-resources");
7
+ };
5
8
  /**
6
9
  * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.
7
- * The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "head" element of the page.
10
+ * The data will be accessed via a singleton "ui5-shared-resources" HTML element in the "body" element of the page.
8
11
  *
9
12
  * @public
10
13
  * @param namespace Unique ID of the resource, may contain "." to denote hierarchy
@@ -12,19 +15,20 @@ const getSharedResourcesInstance = () => getSingletonElementInstance("ui5-shared
12
15
  * @returns {*}
13
16
  */
14
17
  const getSharedResource = (namespace, initialValue) => {
15
- const parts = namespace.split(".");
16
- let current = getSharedResourcesInstance();
17
-
18
- for (let i = 0; i < parts.length; i++) {
19
- const part = parts[i];
20
- const lastPart = i === parts.length - 1;
21
- if (!Object.prototype.hasOwnProperty.call(current, part)) {
22
- current[part] = lastPart ? initialValue : {};
23
- }
24
- current = current[part];
25
- }
26
-
27
- return current;
18
+ const parts = namespace.split(".");
19
+ let current = getSharedResourcesInstance();
20
+ if (!current) {
21
+ return initialValue;
22
+ }
23
+ for (let i = 0; i < parts.length; i++) {
24
+ const part = parts[i];
25
+ const lastPart = i === parts.length - 1;
26
+ if (!Object.prototype.hasOwnProperty.call(current, part)) {
27
+ current[part] = lastPart ? initialValue : {};
28
+ }
29
+ current = current[part];
30
+ }
31
+ return current;
28
32
  };
29
-
30
33
  export default getSharedResource;
34
+ //# sourceMappingURL=getSharedResource.js.map
@@ -0,0 +1 @@
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,CAAuC,CAAC;AAClG,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","sourcesContent":["import getSingletonElementInstance from \"./util/getSingletonElementInstance.js\";\n\nconst getSharedResourcesInstance = (): Record<string, unknown> | null => {\n\tif (typeof document === \"undefined\") {\n\t\treturn null;\n\t}\n\treturn getSingletonElementInstance(\"ui5-shared-resources\") as unknown as Record<string, unknown>;\n};\n\n/**\n * Use this method to initialize/get resources that you would like to be shared among UI5 Web Components runtime instances.\n * The data will be accessed via a singleton \"ui5-shared-resources\" HTML element in the \"body\" element of the page.\n *\n * @public\n * @param namespace Unique ID of the resource, may contain \".\" to denote hierarchy\n * @param initialValue Object or primitive that will be used as an initial value if the resource does not exist\n * @returns {*}\n */\nconst getSharedResource = <T>(namespace: string, initialValue: T): T => {\n\tconst parts = namespace.split(\".\");\n\tlet current = getSharedResourcesInstance() as Record<string, any>;\n\n\tif (!current) {\n\t\treturn initialValue;\n\t}\n\n\tfor (let i = 0; i < parts.length; i++) {\n\t\tconst part = parts[i];\n\t\tconst lastPart = i === parts.length - 1;\n\t\tif (!Object.prototype.hasOwnProperty.call(current, part)) {\n\t\t\tcurrent[part] = lastPart ? initialValue : {};\n\t\t}\n\t\tcurrent = current[part];\n\t}\n\n\treturn current as T;\n};\n\nexport default getSharedResource;\n"]}